aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu
diff options
context:
space:
mode:
authorLikun Gao <Likun.Gao@amd.com>2018-07-10 08:30:42 -0400
committerAlex Deucher <alexander.deucher@amd.com>2018-09-14 10:35:28 -0400
commit84ad2e1bd6e6fededa7ed389d0a171d0822abaac (patch)
tree079a356697021177b9b8330674e94d2a2f74c9a3 /drivers/gpu/drm/amd/amdgpu
parent501a580ae6a4087ed7c8e4fdcf3de7a5ca56bdd1 (diff)
drm/amdgpu: add picasso support for sdma_v4
Add sdma support to picasso Signed-off-by: Likun Gao <Likun.Gao@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Huang Rui <ray.huang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
index ee0213edca8e..ca8a26178e2f 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c
@@ -48,6 +48,7 @@ MODULE_FIRMWARE("amdgpu/vega12_sdma1.bin");
48MODULE_FIRMWARE("amdgpu/vega20_sdma.bin"); 48MODULE_FIRMWARE("amdgpu/vega20_sdma.bin");
49MODULE_FIRMWARE("amdgpu/vega20_sdma1.bin"); 49MODULE_FIRMWARE("amdgpu/vega20_sdma1.bin");
50MODULE_FIRMWARE("amdgpu/raven_sdma.bin"); 50MODULE_FIRMWARE("amdgpu/raven_sdma.bin");
51MODULE_FIRMWARE("amdgpu/picasso_sdma.bin");
51 52
52#define SDMA0_POWER_CNTL__ON_OFF_CONDITION_HOLD_TIME_MASK 0x000000F8L 53#define SDMA0_POWER_CNTL__ON_OFF_CONDITION_HOLD_TIME_MASK 0x000000F8L
53#define SDMA0_POWER_CNTL__ON_OFF_STATUS_DURATION_TIME_MASK 0xFC000000L 54#define SDMA0_POWER_CNTL__ON_OFF_STATUS_DURATION_TIME_MASK 0xFC000000L
@@ -221,6 +222,7 @@ static void sdma_v4_0_init_golden_registers(struct amdgpu_device *adev)
221 ARRAY_SIZE(golden_settings_sdma1_4_2)); 222 ARRAY_SIZE(golden_settings_sdma1_4_2));
222 break; 223 break;
223 case CHIP_RAVEN: 224 case CHIP_RAVEN:
225 case CHIP_PICASSO:
224 soc15_program_register_sequence(adev, 226 soc15_program_register_sequence(adev,
225 golden_settings_sdma_4_1, 227 golden_settings_sdma_4_1,
226 ARRAY_SIZE(golden_settings_sdma_4_1)); 228 ARRAY_SIZE(golden_settings_sdma_4_1));
@@ -269,6 +271,9 @@ static int sdma_v4_0_init_microcode(struct amdgpu_device *adev)
269 case CHIP_RAVEN: 271 case CHIP_RAVEN:
270 chip_name = "raven"; 272 chip_name = "raven";
271 break; 273 break;
274 case CHIP_PICASSO:
275 chip_name = "picasso";
276 break;
272 default: 277 default:
273 BUG(); 278 BUG();
274 } 279 }
@@ -849,6 +854,7 @@ static void sdma_v4_0_init_pg(struct amdgpu_device *adev)
849 854
850 switch (adev->asic_type) { 855 switch (adev->asic_type) {
851 case CHIP_RAVEN: 856 case CHIP_RAVEN:
857 case CHIP_PICASSO:
852 sdma_v4_1_init_power_gating(adev); 858 sdma_v4_1_init_power_gating(adev);
853 sdma_v4_1_update_power_gating(adev, true); 859 sdma_v4_1_update_power_gating(adev, true);
854 break; 860 break;
@@ -1256,7 +1262,7 @@ static int sdma_v4_0_early_init(void *handle)
1256{ 1262{
1257 struct amdgpu_device *adev = (struct amdgpu_device *)handle; 1263 struct amdgpu_device *adev = (struct amdgpu_device *)handle;
1258 1264
1259 if (adev->asic_type == CHIP_RAVEN) 1265 if (adev->asic_type == CHIP_RAVEN || adev->asic_type == CHIP_PICASSO)
1260 adev->sdma.num_instances = 1; 1266 adev->sdma.num_instances = 1;
1261 else 1267 else
1262 adev->sdma.num_instances = 2; 1268 adev->sdma.num_instances = 2;
@@ -1599,6 +1605,7 @@ static int sdma_v4_0_set_clockgating_state(void *handle,
1599 case CHIP_VEGA12: 1605 case CHIP_VEGA12:
1600 case CHIP_VEGA20: 1606 case CHIP_VEGA20:
1601 case CHIP_RAVEN: 1607 case CHIP_RAVEN:
1608 case CHIP_PICASSO:
1602 sdma_v4_0_update_medium_grain_clock_gating(adev, 1609 sdma_v4_0_update_medium_grain_clock_gating(adev,
1603 state == AMD_CG_STATE_GATE ? true : false); 1610 state == AMD_CG_STATE_GATE ? true : false);
1604 sdma_v4_0_update_medium_grain_light_sleep(adev, 1611 sdma_v4_0_update_medium_grain_light_sleep(adev,
@@ -1617,6 +1624,7 @@ static int sdma_v4_0_set_powergating_state(void *handle,
1617 1624
1618 switch (adev->asic_type) { 1625 switch (adev->asic_type) {
1619 case CHIP_RAVEN: 1626 case CHIP_RAVEN:
1627 case CHIP_PICASSO:
1620 sdma_v4_1_update_power_gating(adev, 1628 sdma_v4_1_update_power_gating(adev,
1621 state == AMD_PG_STATE_GATE ? true : false); 1629 state == AMD_PG_STATE_GATE ? true : false);
1622 break; 1630 break;