Re: [Freedreno] [PATCH 1/4] gpu: Use dev_get_drvdata()
On Mon, 1 Jul 2019 at 13:37, Emil Velikov wrote: > > Hi Fuqian, > > On Mon, 1 Jul 2019 at 08:13, Fuqian Huang wrote: > > > > Using dev_get_drvdata directly. > > > > Signed-off-by: Fuqian Huang > > --- > > drivers/gpu/drm/msm/adreno/adreno_device.c | 6 ++ > > drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 13 + > > drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c| 6 ++ > > drivers/gpu/drm/msm/dsi/dsi_host.c | 6 ++ > > drivers/gpu/drm/msm/msm_drv.c | 3 +-- > > drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 15 +-- > > drivers/gpu/drm/panfrost/panfrost_device.c | 6 ++ > As far as i can see the patch is spot on, thanks for that. > > Can you split this in three since it covers 3 separate drivers. Quick grep for "platform_get_drvdata(to_platform_device" showed a few instances through various drivers - exynos, msm, etc. If you can address those with v2 that would be great. -Emil ___ Freedreno mailing list Freedreno@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/freedreno
Re: [Freedreno] [PATCH 1/4] gpu: Use dev_get_drvdata()
On Mon, Jul 01, 2019 at 11:22:35AM +0800, Fuqian Huang wrote: > Using dev_get_drvdata directly. msm parts LGTM. If you split the patches feel free to add my Acked-by: Jordan Crouse > Signed-off-by: Fuqian Huang > --- > drivers/gpu/drm/msm/adreno/adreno_device.c | 6 ++ > drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 13 + > drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c| 6 ++ > drivers/gpu/drm/msm/dsi/dsi_host.c | 6 ++ > drivers/gpu/drm/msm/msm_drv.c | 3 +-- > drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 15 +-- > drivers/gpu/drm/panfrost/panfrost_device.c | 6 ++ > 7 files changed, 19 insertions(+), 36 deletions(-) > > diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c > b/drivers/gpu/drm/msm/adreno/adreno_device.c > index b3deb346a42b..fafd00d2574a 100644 > --- a/drivers/gpu/drm/msm/adreno/adreno_device.c > +++ b/drivers/gpu/drm/msm/adreno/adreno_device.c > @@ -403,16 +403,14 @@ static const struct of_device_id dt_match[] = { > #ifdef CONFIG_PM > static int adreno_resume(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct msm_gpu *gpu = platform_get_drvdata(pdev); > + struct msm_gpu *gpu = dev_get_drvdata(dev); > > return gpu->funcs->pm_resume(gpu); > } > > static int adreno_suspend(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct msm_gpu *gpu = platform_get_drvdata(pdev); > + struct msm_gpu *gpu = dev_get_drvdata(dev); > > return gpu->funcs->pm_suspend(gpu); > } > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > index ae885e5dd07d..6c6f8ca9380f 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > @@ -1025,16 +1025,15 @@ static int dpu_bind(struct device *dev, struct device > *master, void *data) > > static void dpu_unbind(struct device *dev, struct device *master, void *data) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct dpu_kms *dpu_kms = platform_get_drvdata(pdev); > + struct dpu_kms *dpu_kms = dev_get_drvdata(dev); > struct dss_module_power *mp = _kms->mp; > > msm_dss_put_clk(mp->clk_config, mp->num_clk); > - devm_kfree(>dev, mp->clk_config); > + devm_kfree(dev, mp->clk_config); > mp->num_clk = 0; > > if (dpu_kms->rpm_enabled) > - pm_runtime_disable(>dev); > + pm_runtime_disable(dev); > } > > static const struct component_ops dpu_ops = { > @@ -1056,8 +1055,7 @@ static int dpu_dev_remove(struct platform_device *pdev) > static int __maybe_unused dpu_runtime_suspend(struct device *dev) > { > int rc = -1; > - struct platform_device *pdev = to_platform_device(dev); > - struct dpu_kms *dpu_kms = platform_get_drvdata(pdev); > + struct dpu_kms *dpu_kms = dev_get_drvdata(dev); > struct drm_device *ddev; > struct dss_module_power *mp = _kms->mp; > > @@ -1077,8 +1075,7 @@ static int __maybe_unused dpu_runtime_suspend(struct > device *dev) > static int __maybe_unused dpu_runtime_resume(struct device *dev) > { > int rc = -1; > - struct platform_device *pdev = to_platform_device(dev); > - struct dpu_kms *dpu_kms = platform_get_drvdata(pdev); > + struct dpu_kms *dpu_kms = dev_get_drvdata(dev); > struct drm_encoder *encoder; > struct drm_device *ddev; > struct dss_module_power *mp = _kms->mp; > diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c > b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c > index 901009e1f219..25d1ebb32e73 100644 > --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c > +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c > @@ -1052,8 +1052,7 @@ static int mdp5_dev_remove(struct platform_device *pdev) > > static __maybe_unused int mdp5_runtime_suspend(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct mdp5_kms *mdp5_kms = platform_get_drvdata(pdev); > + struct mdp5_kms *mdp5_kms = dev_get_drvdata(dev); > > DBG(""); > > @@ -1062,8 +1061,7 @@ static __maybe_unused int mdp5_runtime_suspend(struct > device *dev) > > static __maybe_unused int mdp5_runtime_resume(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct mdp5_kms *mdp5_kms = platform_get_drvdata(pdev); > + struct mdp5_kms *mdp5_kms = dev_get_drvdata(dev); > > DBG(""); > > diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c > b/drivers/gpu/drm/msm/dsi/dsi_host.c > index dbf490176c2c..882f13725819 100644 > --- a/drivers/gpu/drm/msm/dsi/dsi_host.c > +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c > @@ -477,8 +477,7 @@ static void dsi_bus_clk_disable(struct msm_dsi_host > *msm_host) > > int msm_dsi_runtime_suspend(struct device *dev) > { > - struct platform_device *pdev =
Re: [Freedreno] [PATCH 1/4] gpu: Use dev_get_drvdata()
Hi Fuqian, Thank you for the pach. On Mon, Jul 01, 2019 at 11:22:35AM +0800, Fuqian Huang wrote: > Using dev_get_drvdata directly. This could be expanded a bit. Maybe "Several drivers cast a struct device pointer to a struct platform_device pointer only to then call platform_get_drvdata(). These constructs can be simplified by using dev_get_drvdata() directly." I would also replace the "gpu: " prefix with "drm: " in the subject line. With these small issues addressed, Reviewed-by: Laurent Pinchart > Signed-off-by: Fuqian Huang > --- > drivers/gpu/drm/msm/adreno/adreno_device.c | 6 ++ > drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 13 + > drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c| 6 ++ > drivers/gpu/drm/msm/dsi/dsi_host.c | 6 ++ > drivers/gpu/drm/msm/msm_drv.c | 3 +-- > drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 15 +-- > drivers/gpu/drm/panfrost/panfrost_device.c | 6 ++ > 7 files changed, 19 insertions(+), 36 deletions(-) > > diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c > b/drivers/gpu/drm/msm/adreno/adreno_device.c > index b3deb346a42b..fafd00d2574a 100644 > --- a/drivers/gpu/drm/msm/adreno/adreno_device.c > +++ b/drivers/gpu/drm/msm/adreno/adreno_device.c > @@ -403,16 +403,14 @@ static const struct of_device_id dt_match[] = { > #ifdef CONFIG_PM > static int adreno_resume(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct msm_gpu *gpu = platform_get_drvdata(pdev); > + struct msm_gpu *gpu = dev_get_drvdata(dev); > > return gpu->funcs->pm_resume(gpu); > } > > static int adreno_suspend(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct msm_gpu *gpu = platform_get_drvdata(pdev); > + struct msm_gpu *gpu = dev_get_drvdata(dev); > > return gpu->funcs->pm_suspend(gpu); > } > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > index ae885e5dd07d..6c6f8ca9380f 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c > @@ -1025,16 +1025,15 @@ static int dpu_bind(struct device *dev, struct device > *master, void *data) > > static void dpu_unbind(struct device *dev, struct device *master, void *data) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct dpu_kms *dpu_kms = platform_get_drvdata(pdev); > + struct dpu_kms *dpu_kms = dev_get_drvdata(dev); > struct dss_module_power *mp = _kms->mp; > > msm_dss_put_clk(mp->clk_config, mp->num_clk); > - devm_kfree(>dev, mp->clk_config); > + devm_kfree(dev, mp->clk_config); > mp->num_clk = 0; > > if (dpu_kms->rpm_enabled) > - pm_runtime_disable(>dev); > + pm_runtime_disable(dev); > } > > static const struct component_ops dpu_ops = { > @@ -1056,8 +1055,7 @@ static int dpu_dev_remove(struct platform_device *pdev) > static int __maybe_unused dpu_runtime_suspend(struct device *dev) > { > int rc = -1; > - struct platform_device *pdev = to_platform_device(dev); > - struct dpu_kms *dpu_kms = platform_get_drvdata(pdev); > + struct dpu_kms *dpu_kms = dev_get_drvdata(dev); > struct drm_device *ddev; > struct dss_module_power *mp = _kms->mp; > > @@ -1077,8 +1075,7 @@ static int __maybe_unused dpu_runtime_suspend(struct > device *dev) > static int __maybe_unused dpu_runtime_resume(struct device *dev) > { > int rc = -1; > - struct platform_device *pdev = to_platform_device(dev); > - struct dpu_kms *dpu_kms = platform_get_drvdata(pdev); > + struct dpu_kms *dpu_kms = dev_get_drvdata(dev); > struct drm_encoder *encoder; > struct drm_device *ddev; > struct dss_module_power *mp = _kms->mp; > diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c > b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c > index 901009e1f219..25d1ebb32e73 100644 > --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c > +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c > @@ -1052,8 +1052,7 @@ static int mdp5_dev_remove(struct platform_device *pdev) > > static __maybe_unused int mdp5_runtime_suspend(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct mdp5_kms *mdp5_kms = platform_get_drvdata(pdev); > + struct mdp5_kms *mdp5_kms = dev_get_drvdata(dev); > > DBG(""); > > @@ -1062,8 +1061,7 @@ static __maybe_unused int mdp5_runtime_suspend(struct > device *dev) > > static __maybe_unused int mdp5_runtime_resume(struct device *dev) > { > - struct platform_device *pdev = to_platform_device(dev); > - struct mdp5_kms *mdp5_kms = platform_get_drvdata(pdev); > + struct mdp5_kms *mdp5_kms = dev_get_drvdata(dev); > > DBG(""); > > diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c > b/drivers/gpu/drm/msm/dsi/dsi_host.c > index
Re: [Freedreno] [PATCH 1/4] gpu: Use dev_get_drvdata()
Hi Fuqian, On Mon, 1 Jul 2019 at 08:13, Fuqian Huang wrote: > > Using dev_get_drvdata directly. > > Signed-off-by: Fuqian Huang > --- > drivers/gpu/drm/msm/adreno/adreno_device.c | 6 ++ > drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 13 + > drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c| 6 ++ > drivers/gpu/drm/msm/dsi/dsi_host.c | 6 ++ > drivers/gpu/drm/msm/msm_drv.c | 3 +-- > drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 15 +-- > drivers/gpu/drm/panfrost/panfrost_device.c | 6 ++ As far as i can see the patch is spot on, thanks for that. Can you split this in three since it covers 3 separate drivers. For each one you can get a smaller CC list - patches with 20+ people tend to get blocked :-( We can pick the PANFROST entries from the get_maintainer.pl output, and add them to the commit message. Thus git send-email will parse the commit message and automatically CC the people ;-) Cc: Rob Herring (supporter:ARM MALI PANFROST DRM DRIVER) Cc: Tomeu Vizoso (supporter:ARM MALI PANFROST DRM DRIVER) Cc: dri-de...@lists.freedesktop.org (open list:ARM MALI PANFROST DRM DRIVER) HTH -Emil ___ Freedreno mailing list Freedreno@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/freedreno