[PATCH v2] drm/tilcdc: Set framebuffer DMA address to HW only if CRTC is enabled

Tomi Valkeinen tomi.valkeinen at ti.com
Tue Mar 14 09:58:59 UTC 2017


On 13/03/17 11:29, Jyri Sarha wrote:
> Touching HW while clocks are off is a serious error and for instance
> breaks suspend functionality. After this patch tilcdc_crtc_update_fb()
> always updates the primary plane's framebuffer pointer, increases fb's
> reference count and stores vblank event. tilcdc_crtc_update_fb() only
> writes the fb's DMA address to HW if the crtc is enabled, as
> tilcdc_crtc_enable() takes care of writing the address on enable.
> 
> This patch also refactors the tilcdc_crtc_update_fb() a bit. Number of
> subsequent small changes had made it almost unreadable. There should
> be no other functional changes but checking the CRTC's enable
> state. However, the locking goes a bit differently and some of the
> redundant checks have been removed in this new version.
> 
> The enable_lock should be enough to protect the access to
> tilcdc_crtc->enabled. The irq_lock protects the access to last_vblank
> and next_fb. The check for vrefresh and last_vblank being valid is
> redundant, as the vrefresh should be always valid if the CRTC is
> enabled and now last_vblank should be too, because it is initialized
> to current time when CRTC raster is enabled. If for some reason the
> values are not correctly initialized the division by zero warning is
> quite appropriate.
> 
> Signed-off-by: Jyri Sarha <jsarha at ti.com>
> ---
> Since first version:
>   - Restored the accidentally removed comment begin mark to beginning of file
>   - Fixed two typos and one broken sentence, pointed out by Tomi Valkeinen
> 
>  drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 35 +++++++++++++++++++++++------------
>  1 file changed, 23 insertions(+), 12 deletions(-)

Reviewed-by: Tomi Valkeinen <tomi.valkeinen at ti.com>

 Tomi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20170314/74e1e7f8/attachment.sig>


More information about the dri-devel mailing list