On Thu, Jun 20, 2024 at 1:33 AM Jason-JH Lin (林睿祥)
<Jason-JH.Lin@xxxxxxxxxxxx> wrote:
If you move anything from submit() into startup(), which is once per
On Wed, 2024-06-19 at 10:38 -0500, Jassi Brar wrote:
External email : Please do not click links or open attachments until
you have verified the sender or the content.
On Wed, Jun 19, 2024 at 3:18 AM AngeloGioacchino Del Regno
<angelogioacchino.delregno@xxxxxxxxxxxxx> wrote:
Il 18/06/24 17:59, Jassi Brar ha scritto:.....
For example, when static content is displayed on screen, the CMDQmailbox never
gets shut down, but no communication happens for a relatively longtime; the
overhead of actually shutting down the mailbox and setting it backup would be
increasing latency in an unacceptable manner.Hmm... in your driver, startup() is _empty_ and shutdown() is
all
under a spin-lock with irqs disabled, so that too shouldn't be
expensive. Right?
Then what causes unacceptable latencies?
I found that the BUG report only occurred when opening the camera APP.
Maybe something in imgsys_cmdq_sendtask() is too expensive or somewhere
else in imgsys driver.
lifetime of a channel, it will only make imgsys_cmdq_sendtask()
cheaper.
Btw, the imgsys code is not public, I don't know how it looks.
I'm wondering why this BUG report is not occurred in display use caseInstead of hacking around, maybe try using startup() and shutdown()
which is more frequent than imgsys use case.
Does this mean sleep() is not always called in pm_runtime_get_sync()
and if we can guarantee this sleep() won't be called, then using
pm_runtime_get_sync() in atomic context is OK?
which is for such uses? Maybe request/release channel as part of RPM
in your client driver if you are worried about the noise?
Ok, but you or Angelo still don't explain "unacceptable latencies"This is why I opted for autosuspend - it's only bringing downcertain clocks for
the CMDQ HW, adding up a bit of power saving to the mix which, forsome use cases
such as mobile devices with relatively small batteries, isdefinitely important.
are already a
I'll also briefly (and only briefly) mention that 120Hz displays
common thing and in this case the gap between TX and ACK is ~8.33msinstead, let
alone that displays with a framerate of more than 120Hz also doexist even though
they're less common.I don't know how even busier channels help your point.
All of the above describes a few of the reasons why autosuspend isa good choice
here, instead of a shutdown->startup flow.to SoCs from
And again - I can place some bets that PM would also be applicable
other vendors as well, with most probably different benefits (butstill with some
power related benefits!) compared to MediaTek.
I agree with Angelo's point!
when your startup() and shutdown() are empty. You just want api
changed, which we can but at least do you part and tell me where the
bottleneck (unexpected latency) comes from.