Skip to content

Commit 036bfeb

Browse files
Jeykumar Sankaranatseanpaul
authored andcommitted
drm/msm: Add pm_suspend/resume callbacks to msm_kms
Used by the dpu driver for custom suspend/resume. Changes in v3: - None Signed-off-by: Jeykumar Sankaran <[email protected]> [seanpaul split this out of the megapatch] Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Rob Clark <[email protected]>
1 parent 2b7ac1a commit 036bfeb

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

drivers/gpu/drm/msm/msm_drv.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -903,6 +903,11 @@ static int msm_pm_suspend(struct device *dev)
903903
{
904904
struct drm_device *ddev = dev_get_drvdata(dev);
905905
struct msm_drm_private *priv = ddev->dev_private;
906+
struct msm_kms *kms = priv->kms;
907+
908+
/* TODO: Use atomic helper suspend/resume */
909+
if (kms && kms->funcs && kms->funcs->pm_suspend)
910+
return kms->funcs->pm_suspend(dev);
906911

907912
drm_kms_helper_poll_disable(ddev);
908913

@@ -919,6 +924,11 @@ static int msm_pm_resume(struct device *dev)
919924
{
920925
struct drm_device *ddev = dev_get_drvdata(dev);
921926
struct msm_drm_private *priv = ddev->dev_private;
927+
struct msm_kms *kms = priv->kms;
928+
929+
/* TODO: Use atomic helper suspend/resume */
930+
if (kms && kms->funcs && kms->funcs->pm_resume)
931+
return kms->funcs->pm_resume(dev);
922932

923933
drm_atomic_helper_resume(ddev, priv->pm_state);
924934
drm_kms_helper_poll_enable(ddev);

drivers/gpu/drm/msm/msm_kms.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ struct msm_kms_funcs {
6161
void (*set_encoder_mode)(struct msm_kms *kms,
6262
struct drm_encoder *encoder,
6363
bool cmd_mode);
64+
/* pm suspend/resume hooks */
65+
int (*pm_suspend)(struct device *dev);
66+
int (*pm_resume)(struct device *dev);
6467
/* cleanup: */
6568
void (*destroy)(struct msm_kms *kms);
6669
#ifdef CONFIG_DEBUG_FS

0 commit comments

Comments
 (0)