Message ID | 20190530211516.1891-2-jernej.skrabec@siol.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: cedrus: Improvements/cleanup | expand |
Hi, On Thu, May 30, 2019 at 11:15:10PM +0200, Jernej Skrabec wrote: > libvdpau-sunxi always disables engine after each decoded slice. > Do same in Cedrus driver. > > Presumably this also lowers power consumption which is always nice. > > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> Is it fixing anything though? I indeed saw that cedar did disable it everytime, but I couldn't find a reason why. Also, the power management improvement would need to be measured, it can even create the opposite situation where the device will draw more current from being woken up than if it had just remained disabled. Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
Hi Jernej, On Mon, 2019-06-03 at 13:38 +0200, Maxime Ripard wrote: > Hi, > > On Thu, May 30, 2019 at 11:15:10PM +0200, Jernej Skrabec wrote: > > libvdpau-sunxi always disables engine after each decoded slice. > > Do same in Cedrus driver. > > > > Presumably this also lowers power consumption which is always nice. > > > > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> > > Is it fixing anything though? > > I indeed saw that cedar did disable it everytime, but I couldn't find > a reason why. > > Also, the power management improvement would need to be measured, it > can even create the opposite situation where the device will draw more > current from being woken up than if it had just remained disabled. > While reviewing this, I'm noticing that cedrus_engine_disable can be marked for static storage (with or without this patch). Regards, Eze
diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_hw.c b/drivers/staging/media/sunxi/cedrus/cedrus_hw.c index c34aec7c6e40..9c5819def186 100644 --- a/drivers/staging/media/sunxi/cedrus/cedrus_hw.c +++ b/drivers/staging/media/sunxi/cedrus/cedrus_hw.c @@ -123,6 +123,7 @@ static irqreturn_t cedrus_irq(int irq, void *data) dev->dec_ops[ctx->current_codec]->irq_disable(ctx); dev->dec_ops[ctx->current_codec]->irq_clear(ctx); + cedrus_engine_disable(dev); src_buf = v4l2_m2m_src_buf_remove(ctx->fh.m2m_ctx); dst_buf = v4l2_m2m_dst_buf_remove(ctx->fh.m2m_ctx);
libvdpau-sunxi always disables engine after each decoded slice. Do same in Cedrus driver. Presumably this also lowers power consumption which is always nice. Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> --- drivers/staging/media/sunxi/cedrus/cedrus_hw.c | 1 + 1 file changed, 1 insertion(+)