aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2016-10-27 20:35:59 -0400
committerDave Airlie <airlied@redhat.com>2016-10-27 20:35:59 -0400
commita1873c62710b23e9afbd2faeed5f28649cbe4739 (patch)
treefd07fb6b1dc0c61a15ba563cad3ef2e46687f45c /drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
parent5481e27f6fd06b7cb902072e81d6b083db8155eb (diff)
parent3495a103579380288a130dc1862488cd8a4293f5 (diff)
Merge branch 'drm-next-4.10' of git://people.freedesktop.org/~agd5f/linux into drm-next
First new feature pull for 4.10. Highlights: - Support for multple virtual displays in the virtual dce component - New VM mgr to support non-contiguous vram buffers - Support for UVD powergating on additional asics - Power management improvements - lots of code cleanup and bug fixes * 'drm-next-4.10' of git://people.freedesktop.org/~agd5f/linux: (107 commits) drm/amdgpu: turn on/off uvd clock when dpm enable/disable on CI drm/amdgpu: disable dpm before turn off clock when vce idle. drm/amdgpu: enable uvd bypass mode for CI/VI. drm/amdgpu: just not load smc firmware if smu is already running drm/amdgpu: when suspend, set boot state instand of disable dpm. drm/amdgpu: use failed label to handle context init failure drm/amdgpu: add amdgpu_ttm_bo_eviction_valuable callback drm/ttm: make eviction decision a driver callback v2 drm/ttm: fix coding style in ttm_bo_driver.h drm/radeon/pm: autoswitch power state when in balanced mode drm/amd/powerplay: fix spelling mistake and add KERN_WARNING to printks drm/amdgpu:new ids flag for preempt drm/amdgpu: mark symbols static where possible drm/amdgpu: change function declarations and add missing header dependencies drm/amdgpu: s/amdgpuCrtc/amdgpu_crtc/ in pageflip code drm/amdgpu/atom: remove a bunch of unused functions drm/amdgpu: consolidate atom scratch reg handling for hangs drm/amdgpu: use amdgpu_bo_[create|free]_kernel for wb drm/amdgpu: add VCE VM session tracking drm/amdgpu: improve parse_cs handling a bit ...
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
index 892d60fb225b..2f9f96cc9f65 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
@@ -265,14 +265,14 @@ static int acp_hw_init(void *handle)
265 265
266 struct amdgpu_device *adev = (struct amdgpu_device *)handle; 266 struct amdgpu_device *adev = (struct amdgpu_device *)handle;
267 267
268 const struct amdgpu_ip_block_version *ip_version = 268 const struct amdgpu_ip_block *ip_block =
269 amdgpu_get_ip_block(adev, AMD_IP_BLOCK_TYPE_ACP); 269 amdgpu_get_ip_block(adev, AMD_IP_BLOCK_TYPE_ACP);
270 270
271 if (!ip_version) 271 if (!ip_block)
272 return -EINVAL; 272 return -EINVAL;
273 273
274 r = amd_acp_hw_init(adev->acp.cgs_device, 274 r = amd_acp_hw_init(adev->acp.cgs_device,
275 ip_version->major, ip_version->minor); 275 ip_block->version->major, ip_block->version->minor);
276 /* -ENODEV means board uses AZ rather than ACP */ 276 /* -ENODEV means board uses AZ rather than ACP */
277 if (r == -ENODEV) 277 if (r == -ENODEV)
278 return 0; 278 return 0;
@@ -456,7 +456,7 @@ static int acp_set_powergating_state(void *handle,
456 return 0; 456 return 0;
457} 457}
458 458
459const struct amd_ip_funcs acp_ip_funcs = { 459static const struct amd_ip_funcs acp_ip_funcs = {
460 .name = "acp_ip", 460 .name = "acp_ip",
461 .early_init = acp_early_init, 461 .early_init = acp_early_init,
462 .late_init = NULL, 462 .late_init = NULL,
@@ -472,3 +472,12 @@ const struct amd_ip_funcs acp_ip_funcs = {
472 .set_clockgating_state = acp_set_clockgating_state, 472 .set_clockgating_state = acp_set_clockgating_state,
473 .set_powergating_state = acp_set_powergating_state, 473 .set_powergating_state = acp_set_powergating_state,
474}; 474};
475
476const struct amdgpu_ip_block_version acp_ip_block =
477{
478 .type = AMD_IP_BLOCK_TYPE_ACP,
479 .major = 2,
480 .minor = 2,
481 .rev = 0,
482 .funcs = &acp_ip_funcs,
483};