diff options
| author | Alex Deucher <alexander.deucher@amd.com> | 2015-07-27 14:24:14 -0400 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2015-08-17 16:50:29 -0400 |
| commit | 188a9bcd6cbe55c6fea23309548741d8e34bb590 (patch) | |
| tree | c3fe68b4bc170750eff56ba1d300ad6fcd5e1017 | |
| parent | 974ee3db0ff88e5413b734e634119d1e8a10a77f (diff) | |
drm/amdgpu: add support for VCE 3.x on Fiji
VCE on fiji is single pipe only.
Reviewed-by: David Zhang <david1.zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 7 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/vi.c | 7 |
3 files changed, 19 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c index d3ca73090e39..172571968c9e 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | |||
| @@ -48,6 +48,7 @@ | |||
| 48 | #endif | 48 | #endif |
| 49 | #define FIRMWARE_TONGA "amdgpu/tonga_vce.bin" | 49 | #define FIRMWARE_TONGA "amdgpu/tonga_vce.bin" |
| 50 | #define FIRMWARE_CARRIZO "amdgpu/carrizo_vce.bin" | 50 | #define FIRMWARE_CARRIZO "amdgpu/carrizo_vce.bin" |
| 51 | #define FIRMWARE_FIJI "amdgpu/fiji_vce.bin" | ||
| 51 | 52 | ||
| 52 | #ifdef CONFIG_DRM_AMDGPU_CIK | 53 | #ifdef CONFIG_DRM_AMDGPU_CIK |
| 53 | MODULE_FIRMWARE(FIRMWARE_BONAIRE); | 54 | MODULE_FIRMWARE(FIRMWARE_BONAIRE); |
| @@ -58,6 +59,7 @@ MODULE_FIRMWARE(FIRMWARE_MULLINS); | |||
| 58 | #endif | 59 | #endif |
| 59 | MODULE_FIRMWARE(FIRMWARE_TONGA); | 60 | MODULE_FIRMWARE(FIRMWARE_TONGA); |
| 60 | MODULE_FIRMWARE(FIRMWARE_CARRIZO); | 61 | MODULE_FIRMWARE(FIRMWARE_CARRIZO); |
| 62 | MODULE_FIRMWARE(FIRMWARE_FIJI); | ||
| 61 | 63 | ||
| 62 | static void amdgpu_vce_idle_work_handler(struct work_struct *work); | 64 | static void amdgpu_vce_idle_work_handler(struct work_struct *work); |
| 63 | 65 | ||
| @@ -101,6 +103,9 @@ int amdgpu_vce_sw_init(struct amdgpu_device *adev, unsigned long size) | |||
| 101 | case CHIP_CARRIZO: | 103 | case CHIP_CARRIZO: |
| 102 | fw_name = FIRMWARE_CARRIZO; | 104 | fw_name = FIRMWARE_CARRIZO; |
| 103 | break; | 105 | break; |
| 106 | case CHIP_FIJI: | ||
| 107 | fw_name = FIRMWARE_FIJI; | ||
| 108 | break; | ||
| 104 | 109 | ||
| 105 | default: | 110 | default: |
| 106 | return -EINVAL; | 111 | return -EINVAL; |
diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c b/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c index 5a5a40c331cf..4349658081ff 100644 --- a/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c +++ b/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | |||
| @@ -205,6 +205,13 @@ static unsigned vce_v3_0_get_harvest_config(struct amdgpu_device *adev) | |||
| 205 | u32 tmp; | 205 | u32 tmp; |
| 206 | unsigned ret; | 206 | unsigned ret; |
| 207 | 207 | ||
| 208 | /* Fiji is single pipe */ | ||
| 209 | if (adev->asic_type == CHIP_FIJI) { | ||
| 210 | ret = AMDGPU_VCE_HARVEST_VCE1; | ||
| 211 | return ret; | ||
| 212 | } | ||
| 213 | |||
| 214 | /* Tonga and CZ are dual or single pipe */ | ||
| 208 | if (adev->flags & AMD_IS_APU) | 215 | if (adev->flags & AMD_IS_APU) |
| 209 | tmp = (RREG32_SMC(ixVCE_HARVEST_FUSE_MACRO__ADDRESS) & | 216 | tmp = (RREG32_SMC(ixVCE_HARVEST_FUSE_MACRO__ADDRESS) & |
| 210 | VCE_HARVEST_FUSE_MACRO__MASK) >> | 217 | VCE_HARVEST_FUSE_MACRO__MASK) >> |
diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm/amd/amdgpu/vi.c index 7815ac7d446f..552d9e75ad1b 100644 --- a/drivers/gpu/drm/amd/amdgpu/vi.c +++ b/drivers/gpu/drm/amd/amdgpu/vi.c | |||
| @@ -1223,6 +1223,13 @@ static const struct amdgpu_ip_block_version fiji_ip_blocks[] = | |||
| 1223 | .rev = 0, | 1223 | .rev = 0, |
| 1224 | .funcs = &uvd_v6_0_ip_funcs, | 1224 | .funcs = &uvd_v6_0_ip_funcs, |
| 1225 | }, | 1225 | }, |
| 1226 | { | ||
| 1227 | .type = AMD_IP_BLOCK_TYPE_VCE, | ||
| 1228 | .major = 3, | ||
| 1229 | .minor = 0, | ||
| 1230 | .rev = 0, | ||
| 1231 | .funcs = &vce_v3_0_ip_funcs, | ||
| 1232 | }, | ||
| 1226 | }; | 1233 | }; |
| 1227 | 1234 | ||
| 1228 | static const struct amdgpu_ip_block_version cz_ip_blocks[] = | 1235 | static const struct amdgpu_ip_block_version cz_ip_blocks[] = |
