Re: [PATCH] drm/stm: move enable/disable_vblank to crtc

From: Philippe CORNU
Date: Thu Apr 19 2018 - 06:38:08 EST


Applied on drm-misc-next.
Many thanks,
Philippe :-)

On 04/16/2018 11:07 AM, Vincent ABRIOU wrote:
> Hi Philippe,
>
> Patch looks good to me.
>
> Reviewed-by: Vincent Abriou <vincent.abriou@xxxxxx>
>
> On 04/07/2018 11:29 PM, Philippe Cornu wrote:
>> enable/disable_vblank() functions at drm_driver level
>> are deprecated. Move them to the ltdc drm_crtc_funcs
>> structure.
>>
>> Signed-off-by: Philippe Cornu <philippe.cornu@xxxxxx>
>> ---
>> drivers/gpu/drm/stm/drv.c | 2 --
>> drivers/gpu/drm/stm/ltdc.c | 10 ++++++----
>> drivers/gpu/drm/stm/ltdc.h | 2 --
>> 3 files changed, 6 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c
>> index 9ab00a87f7cc..8698e08313e1 100644
>> --- a/drivers/gpu/drm/stm/drv.c
>> +++ b/drivers/gpu/drm/stm/drv.c
>> @@ -72,8 +72,6 @@ static struct drm_driver drv_driver = {
>> .gem_prime_vmap = drm_gem_cma_prime_vmap,
>> .gem_prime_vunmap = drm_gem_cma_prime_vunmap,
>> .gem_prime_mmap = drm_gem_cma_prime_mmap,
>> - .enable_vblank = ltdc_crtc_enable_vblank,
>> - .disable_vblank = ltdc_crtc_disable_vblank,
>> };
>>
>> static int drv_load(struct drm_device *ddev)
>> diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
>> index 1a3277e483d5..2b745cfc9000 100644
>> --- a/drivers/gpu/drm/stm/ltdc.c
>> +++ b/drivers/gpu/drm/stm/ltdc.c
>> @@ -569,9 +569,9 @@ static const struct drm_crtc_helper_funcs ltdc_crtc_helper_funcs = {
>> .atomic_disable = ltdc_crtc_atomic_disable,
>> };
>>
>> -int ltdc_crtc_enable_vblank(struct drm_device *ddev, unsigned int pipe)
>> +static int ltdc_crtc_enable_vblank(struct drm_crtc *crtc)
>> {
>> - struct ltdc_device *ldev = ddev->dev_private;
>> + struct ltdc_device *ldev = crtc_to_ltdc(crtc);
>>
>> DRM_DEBUG_DRIVER("\n");
>> reg_set(ldev->regs, LTDC_IER, IER_LIE);
>> @@ -579,9 +579,9 @@ int ltdc_crtc_enable_vblank(struct drm_device *ddev, unsigned int pipe)
>> return 0;
>> }
>>
>> -void ltdc_crtc_disable_vblank(struct drm_device *ddev, unsigned int pipe)
>> +static void ltdc_crtc_disable_vblank(struct drm_crtc *crtc)
>> {
>> - struct ltdc_device *ldev = ddev->dev_private;
>> + struct ltdc_device *ldev = crtc_to_ltdc(crtc);
>>
>> DRM_DEBUG_DRIVER("\n");
>> reg_clear(ldev->regs, LTDC_IER, IER_LIE);
>> @@ -594,6 +594,8 @@ static const struct drm_crtc_funcs ltdc_crtc_funcs = {
>> .reset = drm_atomic_helper_crtc_reset,
>> .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state,
>> .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state,
>> + .enable_vblank = ltdc_crtc_enable_vblank,
>> + .disable_vblank = ltdc_crtc_disable_vblank,
>> .gamma_set = drm_atomic_helper_legacy_gamma_set,
>> };
>>
>> diff --git a/drivers/gpu/drm/stm/ltdc.h b/drivers/gpu/drm/stm/ltdc.h
>> index edb268129c54..61a80d00bc3b 100644
>> --- a/drivers/gpu/drm/stm/ltdc.h
>> +++ b/drivers/gpu/drm/stm/ltdc.h
>> @@ -29,8 +29,6 @@ struct ltdc_device {
>> u32 irq_status;
>> };
>>
>> -int ltdc_crtc_enable_vblank(struct drm_device *dev, unsigned int pipe);
>> -void ltdc_crtc_disable_vblank(struct drm_device *dev, unsigned int pipe);
>> int ltdc_load(struct drm_device *ddev);
>> void ltdc_unload(struct drm_device *ddev);
>>