Dss ds docs#732
Conversation
|
New warnings found with rstcheck: |
StaticRocket
left a comment
There was a problem hiding this comment.
Vale comments about passive voice and such
f7d3760 to
19a231c
Compare
|
Addressed code review feedback |
| DSS plus Deep Sleep | ||
| ******************* | ||
|
|
||
| DSS plus Deep Sleep is a low-power mode where the Display Subsystem (DSS) is on to display |
There was a problem hiding this comment.
Maybe "on" should be bolded or in uppercase to make sure the reader understands that it is being used to describe a state
| on-chip memory (a small FIFO buffer) instead of continuously fetching from DDR. This | ||
| significantly reduces memory bandwidth and power consumption during suspend. | ||
|
|
||
| The AM62L-DSS has a 20 KB FIFO buffer. For the self-refresh feature to work, your static |
| **Width × Height × 3 ≤ 20,480 bytes** | ||
|
|
||
| For example, a 50×50 RGB image requires 50 × 50 × 3 = 7,500 bytes, which fits comfortably | ||
| within the limit. If your frame is too large, self-refresh will not activate. |
|
|
||
| .. code-block:: console | ||
|
|
||
| root@am62lxx-evm:~# systemctl stop emptty.service |
There was a problem hiding this comment.
nit: I think you can just do systemctl stop emptty so its a little less to type :)
| Using both properties together enables DSS plus Deep Sleep mode: the display shows | ||
| a static frame from internal memory while the rest of the system suspends. |
There was a problem hiding this comment.
nit: if you wanted to, you could remove these lines since the last sentence of the previous paragraph says the same thing
19a231c to
842b96c
Compare
| [ 102.509008] PM: suspend exit | ||
| root@am62lxx-evm:~# | ||
|
|
||
| Resuming from DSS plus Deep Sleep |
There was a problem hiding this comment.
I think this needs to be named differently since it sounds like resuming from suspend will be described. Maybe rename to something like "Return DSS to Normal Operation"
There was a problem hiding this comment.
i think, we can rename to something else, i am not sure about "Normal operation" term as that can vary.
@devarsht , what can be a better alternative?
There was a problem hiding this comment.
For the naming of the low power mode ? I would avoid using DSS terminology since its a bit internal to TI.
How about more generic "Always On Display low power mode" this is more generic and intuitive terminology and is already being used in similar context in devices: https://en.wikipedia.org/wiki/Always-on_display
So with this it would be suspending to "Always On Display" low power mode. Resume from "always on display" low power mode.
This also looks better From GOGP Branding POV imho :)
There was a problem hiding this comment.
And yeah if you are asking for title then show it as 3 phases
Active Display -> System powered on and HMI Application launched
Low Power Display -> Static Logo with system on low power (inside this mention going to dss deep sleep mode )
Active Display -> Again HMI Application resumed back.
There was a problem hiding this comment.
@devarsht The section that the title refers to here is about how to allow the display to show dynamic content again after suspend/resume from DeepSleep + DSS where the display could only show a static image. So would the correct title here be like "Change static display to active display"?
There was a problem hiding this comment.
As per above comment, i think its okay to use active display term. i will change static to always on
|
|
||
| root@am62lxx-evm:~# modetest -M tidss -w 42:ALWAYS_ON_DISPLAY:1 # 42 is the ALWAYS_ON_DISPLAY CRTC property ID | ||
|
|
||
| Configure the system to use s2idle suspend mode, which allows the display to remain powered: |
There was a problem hiding this comment.
I think this can be a bit misleading.
Display remains powered on because of the always on property, s2idle uses that to select the right low power mode. We can even enter DSS deepsleep if we set the mode=8 in TFA
We should also mention that
There was a problem hiding this comment.
i did not understand u mean to say there is a way to still go to dss deep sleep mode even if always on display property is not set ?
mode=8 in TFA -> Isn't this opaque to user i mean they would have to recompile the TFA to do this?
There was a problem hiding this comment.
I agree that this sentence is a little confusing. Maybe something along the lines of "Configure the system to use s2idle suspend which will allow the system to enter the lowest power state available. Since the display is configured to be ALWAYS ON, DeepSleep + DSS is the lowest available power state."
Also I don't think we should mention that the mode can be set to 8 in TFA to enter that state since users generally should not do that and the goal of the SDK docs is to show how the SDK is used, rather than modifying it. IMO setting the mode to 8 is more of a debug situation than something a user would do for normal operation.
There was a problem hiding this comment.
Yes, I agree we shouldnt mention it here and should advise the use of s2idle
I mentioned this since there is also a [deep] setting to enter LPM which uses the hardcoded value set in TFA, for which we have a note on how RTC+DDR can be entered in this way
Are we planning on removing this from the docs. If not we can expand it to include DSS + Deepsleep as well
|
|
||
| .. code-block:: console | ||
|
|
||
| root@am62lxx-evm:~# modetest -M tidss -w 35:SELF_REFRESH:1 # 35 is the SELF_REFRESH plane property ID |
There was a problem hiding this comment.
35 could change, mention how they can check and get the appropriate number (i..e using kmsprint and modetest command and check for plane id)
There was a problem hiding this comment.
Maybe better to keep it simple. Set alwasy on display too here before launching the gstreamer pipe as anyway it would just display one frame after which user can go to low power.
There was a problem hiding this comment.
Yes, added more information
|
|
||
| root@am62lxx-evm:~# modetest -M tidss -w 42:ALWAYS_ON_DISPLAY:1 # 42 is the ALWAYS_ON_DISPLAY CRTC property ID | ||
|
|
||
| Configure the system to use s2idle suspend mode, which allows the display to remain powered: |
There was a problem hiding this comment.
i did not understand u mean to say there is a way to still go to dss deep sleep mode even if always on display property is not set ?
mode=8 in TFA -> Isn't this opaque to user i mean they would have to recompile the TFA to do this?
| [ 102.509008] PM: suspend exit | ||
| root@am62lxx-evm:~# | ||
|
|
||
| Resuming from DSS plus Deep Sleep |
There was a problem hiding this comment.
For the naming of the low power mode ? I would avoid using DSS terminology since its a bit internal to TI.
How about more generic "Always On Display low power mode" this is more generic and intuitive terminology and is already being used in similar context in devices: https://en.wikipedia.org/wiki/Always-on_display
So with this it would be suspending to "Always On Display" low power mode. Resume from "always on display" low power mode.
This also looks better From GOGP Branding POV imho :)
| Setting pipeline to NULL ... | ||
| Freeing pipeline ... | ||
|
|
||
| After the GStreamer pipeline terminates, the last displayed frame remains on the screen. |
There was a problem hiding this comment.
Mention that user can press ctrl-c and pipeline will terminate
|
|
||
| .. code-block:: console | ||
|
|
||
| root@am62lxx-evm:~# echo mem > /sys/power/state |
There was a problem hiding this comment.
I think better to try show a more relevant use-case similar to Active Display and Low Power Display use-case we showed in TIEM.
For e.g.
- User power on the EVM run HMI Application (this should be present and run by default in procSDK drop)
- Now user want to suspend the system and show a static logo,
we set dss to self refresh and we play a command to show a static logo i.e one frame only. (we can play ti logo here I think its present in sdcard) - Then we set always on display and go to dss plus deep sleep mode.
- This shows the static logo.
- Then we resume back reset the drm props and relaunch the HMI Application.
There was a problem hiding this comment.
This can be a separate how to guide too i think if we want to keep this one simple.
There was a problem hiding this comment.
IMO for the SDK docs we want as simple as possible so users can understand how to use it easily. However, if the example you wrote is simple to show in the docs, it would probably be the better example to use.
There was a problem hiding this comment.
I also agree, we can keep it as a separate guide later. Lets keep this section simple
| [ 102.509008] PM: suspend exit | ||
| root@am62lxx-evm:~# | ||
|
|
||
| Resuming from DSS plus Deep Sleep |
There was a problem hiding this comment.
And yeah if you are asking for title then show it as 3 phases
Active Display -> System powered on and HMI Application launched
Low Power Display -> Static Logo with system on low power (inside this mention going to dss deep sleep mode )
Active Display -> Again HMI Application resumed back.
|
|
||
| **Width × Height × 3 ≤ 20,480 bytes** | ||
|
|
||
| For example, a 50×50 RGB image requires 50 × 50 × 3 = 7,500 bytes, which fits comfortably |
There was a problem hiding this comment.
take NV12 as an example and what max we can show with this. since we already have less so lets show what max we can show with this.
There was a problem hiding this comment.
Got it, updated
| [ 88.649913] PM: suspend exit | ||
| root@am62lxx-evm:~# | ||
|
|
||
| DSS plus Deep Sleep |
There was a problem hiding this comment.
This cannot be renamed as it is the same terminology used in TIFS documentation also. Also, deep sleep needs to be there in name to make it easily understandable
There was a problem hiding this comment.
TIFS Documentation released already ? Hmm i understand deep sleep is more understandable from TI POV but externally from user pov maybe always on display sounds more familiar. Documentation can mention that it is same as deep sleep albeit with display ON.
Add DSS plus Deep Sleep low power mode, a new suspend mode where the Display Subsystem remains powered to show a static image while the rest of the system enters Deep Sleep. Signed-off-by: Akashdeep Kaur <a-kaur@ti.com>
Add power consumption data for DSS plus Deep Sleep mode. This mode consumes more power than standard Deep Sleep (14.07 mW) due to the active display subsystem with FIFO replay. Signed-off-by: Akashdeep Kaur <a-kaur@ti.com>
Add DSS plus Deep Sleep mode to Key Release References section, highlighting the new display subsystem self-refresh capability that allows showing static images during system suspend. Signed-off-by: Akashdeep Kaur <a-kaur@ti.com>
842b96c to
96f5616
Compare
No description provided.