aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu.h
diff options
context:
space:
mode:
authorShirish S <shirish.s@amd.com>2017-05-25 00:35:25 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-05-31 14:16:30 -0400
commit2dc80b00652f2a08f3f1a01e668e3c7ad716f55f (patch)
tree622790fc39010cde773be740e6165595e041d81a /drivers/gpu/drm/amd/amdgpu/amdgpu.h
parent7e1544ae4dda3222538b08eb2da3cf82e0ca90dc (diff)
drm/amdgpu: optimize amdgpu driver load & resume time
amdgpu_device_resume() & amdgpu_device_init() have a high time consuming call of amdgpu_late_init() which sets the clock_gating state of all IP blocks and is blocking. This patch defers only this setting of clock gating state operation to post resume of amdgpu driver but ideally before the UI comes up or in some cases post ui as well. With this change the resume time of amdgpu_device comes down from 1.299s to 0.199s which further helps in reducing the overall system resume time. V1: made the optimization applicable during driver load as well. TEST:(For ChromiumOS on STONEY only) * UI comes up * amdgpu_late_init() call gets called consistently and no errors reported. Signed-off-by: Shirish S <shirish.s@amd.com> Reviewed-by: Huang Rui <ray.huang@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu.h')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 359fb0ca8209..c01b8b62682b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -1613,6 +1613,9 @@ struct amdgpu_device {
1613 /* amdkfd interface */ 1613 /* amdkfd interface */
1614 struct kfd_dev *kfd; 1614 struct kfd_dev *kfd;
1615 1615
1616 /* delayed work_func for deferring clockgating during resume */
1617 struct delayed_work late_init_work;
1618
1616 struct amdgpu_virt virt; 1619 struct amdgpu_virt virt;
1617 1620
1618 /* link all shadow bo */ 1621 /* link all shadow bo */