[PATCH 3/6] drm/arm/mali: Use drm_mode_config_helper_suspend/resume()

Liviu Dudau liviu.dudau at arm.com
Mon Nov 6 12:17:35 UTC 2017


On Thu, Nov 02, 2017 at 09:09:06PM +0100, Noralf Trønnes wrote:
> These helpers take care of output polling, fbdev and atomic state.

Hmm, not much useful info here, tbh. Maybe something like:

"Replace driver's code with the generic helpers that do the same thing" ?

> 
> Cc: Liviu Dudau <liviu.dudau at arm.com>
> Cc: Brian Starkey <brian.starkey at arm.com>
> Signed-off-by: Noralf Trønnes <noralf at tronnes.org>

Otherwise, looks good to me. Thanks!

Reviewed-by: Liviu Dudau <liviu.dudau at arm.com>

> ---
>  drivers/gpu/drm/arm/malidp_drv.c | 24 +++---------------------
>  drivers/gpu/drm/arm/malidp_drv.h |  1 -
>  2 files changed, 3 insertions(+), 22 deletions(-)
> 
> diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
> index b8944666a18f..75f0bce33941 100644
> --- a/drivers/gpu/drm/arm/malidp_drv.c
> +++ b/drivers/gpu/drm/arm/malidp_drv.c
> @@ -27,6 +27,7 @@
>  #include <drm/drm_fb_cma_helper.h>
>  #include <drm/drm_gem_cma_helper.h>
>  #include <drm/drm_gem_framebuffer_helper.h>
> +#include <drm/drm_modeset_helper.h>
>  #include <drm/drm_of.h>
>  
>  #include "malidp_drv.h"
> @@ -749,34 +750,15 @@ static int malidp_platform_remove(struct platform_device *pdev)
>  static int __maybe_unused malidp_pm_suspend(struct device *dev)
>  {
>  	struct drm_device *drm = dev_get_drvdata(dev);
> -	struct malidp_drm *malidp = drm->dev_private;
>  
> -	drm_kms_helper_poll_disable(drm);
> -	console_lock();
> -	drm_fbdev_cma_set_suspend(malidp->fbdev, 1);
> -	console_unlock();
> -	malidp->pm_state = drm_atomic_helper_suspend(drm);
> -	if (IS_ERR(malidp->pm_state)) {
> -		console_lock();
> -		drm_fbdev_cma_set_suspend(malidp->fbdev, 0);
> -		console_unlock();
> -		drm_kms_helper_poll_enable(drm);
> -		return PTR_ERR(malidp->pm_state);
> -	}
> -
> -	return 0;
> +	return drm_mode_config_helper_suspend(drm);
>  }
>  
>  static int __maybe_unused malidp_pm_resume(struct device *dev)
>  {
>  	struct drm_device *drm = dev_get_drvdata(dev);
> -	struct malidp_drm *malidp = drm->dev_private;
>  
> -	drm_atomic_helper_resume(drm, malidp->pm_state);
> -	console_lock();
> -	drm_fbdev_cma_set_suspend(malidp->fbdev, 0);
> -	console_unlock();
> -	drm_kms_helper_poll_enable(drm);
> +	drm_mode_config_helper_resume(drm);
>  
>  	return 0;
>  }
> diff --git a/drivers/gpu/drm/arm/malidp_drv.h b/drivers/gpu/drm/arm/malidp_drv.h
> index 2e2033140efc..70ed6aeccf05 100644
> --- a/drivers/gpu/drm/arm/malidp_drv.h
> +++ b/drivers/gpu/drm/arm/malidp_drv.h
> @@ -24,7 +24,6 @@ struct malidp_drm {
>  	struct drm_crtc crtc;
>  	wait_queue_head_t wq;
>  	atomic_t config_valid;
> -	struct drm_atomic_state *pm_state;
>  	u32 core_id;
>  };
>  
> -- 
> 2.14.2
> 

-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯


More information about the dri-devel mailing list