[PATCH 2/2] drm/exynos: solve plane on/off disharmory issue

Joonyoung Shim jy0922.shim at samsung.com
Tue Feb 3 17:58:46 PST 2015


Hi,

On 02/03/2015 10:28 PM, Gustavo Padovan wrote:
> Hi Joonyoung,
> 
> 2015-01-29 Joonyoung Shim <jy0922.shim at samsung.com>:
> 
>> The exynos_update_plane functions can be called from set_plane as well
>> as set_crtc and pageflip. Currently the plane displayed by set_plane
>> isn't called exynos_plane_on function and if plane is disabled, it calls
>> exynos_plane_off, so it causes disharmory of plane on/off.
>>
>> This is caused from commit e7cd81111041 ("drm/exynos: Don't touch DPMS
>> when updating overlay planes").
>>
>> Make .update_plane function called only by set_plane and call
>> exynos_plane_on in it.
>>
>> Signed-off-by: Joonyoung Shim <jy0922.shim at samsung.com>
>> ---
>>  drivers/gpu/drm/exynos/exynos_drm_crtc.c  |  4 ++--
>>  drivers/gpu/drm/exynos/exynos_drm_plane.c | 21 ++++++++++++++++++++-
>>  drivers/gpu/drm/exynos/exynos_drm_plane.h |  2 +-
>>  3 files changed, 23 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
>> index dac8f90..2765f7e 100644
>> --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c
>> +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
>> @@ -129,7 +129,7 @@ static int exynos_drm_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
>>  	crtc_w = fb->width - x;
>>  	crtc_h = fb->height - y;
>>  
>> -	return exynos_update_plane(crtc->primary, crtc, fb, 0, 0,
>> +	return exynos_plane_update(crtc->primary, crtc, fb, 0, 0,
>>  				   crtc_w, crtc_h, x, y, crtc_w, crtc_h);
> 
> This patch goes in the opposite direction of the clean up to support atomic
> modesetting on exynos (see my patches for atomic modesetting here[0]) In my
> latest series there was an effort to unify all places we update a plane under
> exynos_update_plane() and this is a essential step for atomic modesetting.
> 

No, this change is just to rename function, actually
"exynos_plane_update" is more suitable because use exynos_plane_ prefix
like other functions of plane. This will conflict your patcheset but it
doesn't give any wrong operation effect, just need rename.

Thanks.


More information about the dri-devel mailing list