drm/rcar-du: Convert drm_atomic_helper_suspend/resume()
convert drm_atomic_helper_suspend/resume() to use drm_mode_config_helper_suspend/resume(). remove suspend_state field from the rcar_du_device structure as it is no more required. With this conversion, also drm_fbdev_cma_set_suspend_unlocked() will left with no consumer. So this function can be removed. Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20180918163903.GA11172@jordon-HP-15-Notebook-PC
This commit is contained in:
parent
43cf1fc0e2
commit
8dc830e4cf
|
@ -221,21 +221,3 @@ void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma)
|
|||
drm_fb_helper_hotplug_event(&fbdev_cma->fb_helper);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(drm_fbdev_cma_hotplug_event);
|
||||
|
||||
/**
|
||||
* drm_fbdev_cma_set_suspend_unlocked - wrapper around
|
||||
* drm_fb_helper_set_suspend_unlocked
|
||||
* @fbdev_cma: The drm_fbdev_cma struct, may be NULL
|
||||
* @state: desired state, zero to resume, non-zero to suspend
|
||||
*
|
||||
* Calls drm_fb_helper_set_suspend, which is a wrapper around
|
||||
* fb_set_suspend implemented by fbdev core.
|
||||
*/
|
||||
void drm_fbdev_cma_set_suspend_unlocked(struct drm_fbdev_cma *fbdev_cma,
|
||||
bool state)
|
||||
{
|
||||
if (fbdev_cma)
|
||||
drm_fb_helper_set_suspend_unlocked(&fbdev_cma->fb_helper,
|
||||
state);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_fbdev_cma_set_suspend_unlocked);
|
||||
|
|
|
@ -404,32 +404,15 @@ static struct drm_driver rcar_du_driver = {
|
|||
static int rcar_du_pm_suspend(struct device *dev)
|
||||
{
|
||||
struct rcar_du_device *rcdu = dev_get_drvdata(dev);
|
||||
struct drm_atomic_state *state;
|
||||
|
||||
drm_kms_helper_poll_disable(rcdu->ddev);
|
||||
drm_fbdev_cma_set_suspend_unlocked(rcdu->fbdev, true);
|
||||
|
||||
state = drm_atomic_helper_suspend(rcdu->ddev);
|
||||
if (IS_ERR(state)) {
|
||||
drm_fbdev_cma_set_suspend_unlocked(rcdu->fbdev, false);
|
||||
drm_kms_helper_poll_enable(rcdu->ddev);
|
||||
return PTR_ERR(state);
|
||||
}
|
||||
|
||||
rcdu->suspend_state = state;
|
||||
|
||||
return 0;
|
||||
return drm_mode_config_helper_suspend(rcdu->ddev);
|
||||
}
|
||||
|
||||
static int rcar_du_pm_resume(struct device *dev)
|
||||
{
|
||||
struct rcar_du_device *rcdu = dev_get_drvdata(dev);
|
||||
|
||||
drm_atomic_helper_resume(rcdu->ddev, rcdu->suspend_state);
|
||||
drm_fbdev_cma_set_suspend_unlocked(rcdu->fbdev, false);
|
||||
drm_kms_helper_poll_enable(rcdu->ddev);
|
||||
|
||||
return 0;
|
||||
return drm_mode_config_helper_resume(rcdu->ddev);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -79,7 +79,6 @@ struct rcar_du_device {
|
|||
|
||||
struct drm_device *ddev;
|
||||
struct drm_fbdev_cma *fbdev;
|
||||
struct drm_atomic_state *suspend_state;
|
||||
|
||||
struct rcar_du_crtc crtcs[RCAR_DU_MAX_CRTCS];
|
||||
unsigned int num_crtcs;
|
||||
|
|
|
@ -26,8 +26,6 @@ void drm_fbdev_cma_fini(struct drm_fbdev_cma *fbdev_cma);
|
|||
|
||||
void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma);
|
||||
void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma);
|
||||
void drm_fbdev_cma_set_suspend_unlocked(struct drm_fbdev_cma *fbdev_cma,
|
||||
bool state);
|
||||
|
||||
struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer *fb,
|
||||
unsigned int plane);
|
||||
|
|
Loading…
Reference in New Issue