Message ID | 1604054832-3114-1-git-send-email-akhilpo@codeaurora.org |
---|---|
State | Superseded |
Headers | show |
Series | [v5,1/3] drm/msm: Add support for GPU cooling | expand |
On Wed, Nov 4, 2020 at 12:03 PM Rob Herring <robh@kernel.org> wrote: > > On Fri, 30 Oct 2020 16:17:12 +0530, Akhil P Oommen wrote: > > Add cooling device support to gpu. A cooling device is bound to a > > thermal zone to allow thermal mitigation. > > > > Signed-off-by: Akhil P Oommen <akhilpo@codeaurora.org> > > Reviewed-by: Matthias Kaehlcke <mka@chromium.org> > > --- > > Documentation/devicetree/bindings/display/msm/gpu.txt | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > > Please add Acked-by/Reviewed-by tags when posting new versions. However, > there's no need to repost patches *only* to add the tags. The upstream > maintainer will do that for acks received on the version they apply. > > If a tag was not added on purpose, please state why and what changed. > Thanks Rob I've copied over your ack from the previous version.. but yes, it definitely makes my life easier when patch senders do this for me ;-) BR, -R
On 11/5/2020 2:28 AM, Rob Clark wrote: > On Wed, Nov 4, 2020 at 12:03 PM Rob Herring <robh@kernel.org> wrote: >> >> On Fri, 30 Oct 2020 16:17:12 +0530, Akhil P Oommen wrote: >>> Add cooling device support to gpu. A cooling device is bound to a >>> thermal zone to allow thermal mitigation. >>> >>> Signed-off-by: Akhil P Oommen <akhilpo@codeaurora.org> >>> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> >>> --- >>> Documentation/devicetree/bindings/display/msm/gpu.txt | 7 +++++++ >>> 1 file changed, 7 insertions(+) >>> >> >> >> Please add Acked-by/Reviewed-by tags when posting new versions. However, >> there's no need to repost patches *only* to add the tags. The upstream >> maintainer will do that for acks received on the version they apply. >> >> If a tag was not added on purpose, please state why and what changed. >> > > > Thanks Rob > > I've copied over your ack from the previous version.. but yes, it > definitely makes my life easier when patch senders do this for me ;-) > > BR, > -R > Robh, you Acked v4 after I shared v5 patches!! -Akhil.
diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c index 55d1648..9f9db46 100644 --- a/drivers/gpu/drm/msm/msm_gpu.c +++ b/drivers/gpu/drm/msm/msm_gpu.c @@ -14,6 +14,7 @@ #include <generated/utsrelease.h> #include <linux/string_helpers.h> #include <linux/devfreq.h> +#include <linux/devfreq_cooling.h> #include <linux/devcoredump.h> #include <linux/sched/task.h> @@ -107,9 +108,18 @@ static void msm_devfreq_init(struct msm_gpu *gpu) if (IS_ERR(gpu->devfreq.devfreq)) { DRM_DEV_ERROR(&gpu->pdev->dev, "Couldn't initialize GPU devfreq\n"); gpu->devfreq.devfreq = NULL; + return; } devfreq_suspend_device(gpu->devfreq.devfreq); + + gpu->cooling = of_devfreq_cooling_register(gpu->pdev->dev.of_node, + gpu->devfreq.devfreq); + if (IS_ERR(gpu->cooling)) { + DRM_DEV_ERROR(&gpu->pdev->dev, + "Couldn't register GPU cooling device\n"); + gpu->cooling = NULL; + } } static int enable_pwrrail(struct msm_gpu *gpu) @@ -1005,4 +1015,6 @@ void msm_gpu_cleanup(struct msm_gpu *gpu) gpu->aspace->mmu->funcs->detach(gpu->aspace->mmu); msm_gem_address_space_put(gpu->aspace); } + + devfreq_cooling_unregister(gpu->cooling); } diff --git a/drivers/gpu/drm/msm/msm_gpu.h b/drivers/gpu/drm/msm/msm_gpu.h index 6c9e1fd..9a8f20d 100644 --- a/drivers/gpu/drm/msm/msm_gpu.h +++ b/drivers/gpu/drm/msm/msm_gpu.h @@ -147,6 +147,8 @@ struct msm_gpu { struct msm_gpu_state *crashstate; /* True if the hardware supports expanded apriv (a650 and newer) */ bool hw_apriv; + + struct thermal_cooling_device *cooling; }; static inline struct msm_gpu *dev_to_gpu(struct device *dev)