Message ID | 20181116184238.170034-5-sean@poorly.run (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | drm/msm: Various dpu locking and legacy cleanups | expand |
On 2018-11-16 10:42, Sean Paul wrote: > From: Sean Paul <seanpaul@chromium.org> > > power_events are only used for pm_runtime, and that's all handled in > dpu_kms. So just call vbif_init_memtypes at the correct times. > > Changes in v2: > - Removed obsolete comment (Jeykumar) > > Cc: Jeykumar Sankaran <jsanka@codeaurora.org> > Signed-off-by: Sean Paul <seanpaul@chromium.org> > --- Reviewed-by: Jeykumar Sankaran <jsanka@codeaurora.org> > drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 24 +++--------------------- > drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 1 - > 2 files changed, 3 insertions(+), 22 deletions(-) > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > index 23094d108e81..ab8574ab8327 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > @@ -651,10 +651,6 @@ static void _dpu_kms_hw_destroy(struct dpu_kms > *dpu_kms) > dpu_hw_intr_destroy(dpu_kms->hw_intr); > dpu_kms->hw_intr = NULL; > > - if (dpu_kms->power_event) > - dpu_power_handle_unregister_event( > - &dpu_kms->phandle, dpu_kms->power_event); > - > /* safe to call these more than once during shutdown */ > _dpu_debugfs_destroy(dpu_kms); > _dpu_kms_mmu_destroy(dpu_kms); > @@ -832,16 +828,6 @@ u64 dpu_kms_get_clk_rate(struct dpu_kms *dpu_kms, > char *clock_name) > return clk_get_rate(clk->clk); > } > > -static void dpu_kms_handle_power_event(u32 event_type, void *usr) > -{ > - struct dpu_kms *dpu_kms = usr; > - > - if (!dpu_kms) > - return; > - > - dpu_vbif_init_memtypes(dpu_kms); > -} > - > static int dpu_kms_hw_init(struct msm_kms *kms) > { > struct dpu_kms *dpu_kms; > @@ -1012,13 +998,7 @@ static int dpu_kms_hw_init(struct msm_kms *kms) > */ > dev->mode_config.allow_fb_modifiers = true; > > - /* > - * Handle (re)initializations during power enable > - */ > - dpu_kms_handle_power_event(DPU_POWER_EVENT_ENABLE, dpu_kms); > - dpu_kms->power_event = dpu_power_handle_register_event( > - &dpu_kms->phandle, DPU_POWER_EVENT_ENABLE, > - dpu_kms_handle_power_event, dpu_kms, "kms"); > + dpu_vbif_init_memtypes(dpu_kms); > > pm_runtime_put_sync(&dpu_kms->pdev->dev); > > @@ -1172,6 +1152,8 @@ static int __maybe_unused > dpu_runtime_resume(struct > device *dev) > return rc; > } > > + dpu_vbif_init_memtypes(dpu_kms); > + > rc = dpu_power_resource_enable(&dpu_kms->phandle, true); > if (rc) > DPU_ERROR("resource enable failed: %d\n", rc); > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h > b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h > index f2c78deb0854..5f08be187c86 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h > @@ -114,7 +114,6 @@ struct dpu_kms { > struct dpu_mdss_cfg *catalog; > > struct dpu_power_handle phandle; > - struct dpu_power_event *power_event; > > /* directory entry for debugfs */ > struct dentry *debugfs_root;
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c index 23094d108e81..ab8574ab8327 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c @@ -651,10 +651,6 @@ static void _dpu_kms_hw_destroy(struct dpu_kms *dpu_kms) dpu_hw_intr_destroy(dpu_kms->hw_intr); dpu_kms->hw_intr = NULL; - if (dpu_kms->power_event) - dpu_power_handle_unregister_event( - &dpu_kms->phandle, dpu_kms->power_event); - /* safe to call these more than once during shutdown */ _dpu_debugfs_destroy(dpu_kms); _dpu_kms_mmu_destroy(dpu_kms); @@ -832,16 +828,6 @@ u64 dpu_kms_get_clk_rate(struct dpu_kms *dpu_kms, char *clock_name) return clk_get_rate(clk->clk); } -static void dpu_kms_handle_power_event(u32 event_type, void *usr) -{ - struct dpu_kms *dpu_kms = usr; - - if (!dpu_kms) - return; - - dpu_vbif_init_memtypes(dpu_kms); -} - static int dpu_kms_hw_init(struct msm_kms *kms) { struct dpu_kms *dpu_kms; @@ -1012,13 +998,7 @@ static int dpu_kms_hw_init(struct msm_kms *kms) */ dev->mode_config.allow_fb_modifiers = true; - /* - * Handle (re)initializations during power enable - */ - dpu_kms_handle_power_event(DPU_POWER_EVENT_ENABLE, dpu_kms); - dpu_kms->power_event = dpu_power_handle_register_event( - &dpu_kms->phandle, DPU_POWER_EVENT_ENABLE, - dpu_kms_handle_power_event, dpu_kms, "kms"); + dpu_vbif_init_memtypes(dpu_kms); pm_runtime_put_sync(&dpu_kms->pdev->dev); @@ -1172,6 +1152,8 @@ static int __maybe_unused dpu_runtime_resume(struct device *dev) return rc; } + dpu_vbif_init_memtypes(dpu_kms); + rc = dpu_power_resource_enable(&dpu_kms->phandle, true); if (rc) DPU_ERROR("resource enable failed: %d\n", rc); diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h index f2c78deb0854..5f08be187c86 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h @@ -114,7 +114,6 @@ struct dpu_kms { struct dpu_mdss_cfg *catalog; struct dpu_power_handle phandle; - struct dpu_power_event *power_event; /* directory entry for debugfs */ struct dentry *debugfs_root;