diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2016-04-07 23:16:00 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-05-04 20:22:05 -0400 |
commit | 146f256faea7762d42c1b2aae14b816a92f2eb10 (patch) | |
tree | 82d583468e32a8650323c53affa20ab3147c5f01 | |
parent | 79deaaf4a9eb3fd2ba92616a5212564fd6ae06a1 (diff) |
drm/amdgpu/gfx: adjust gfx_v8_0_send_serdes_cmd for ST
Acked-by: Tom St Denis <tom.stdenis@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c index 7e94a85daef5..b15162dc14ea 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | |||
@@ -4292,7 +4292,8 @@ static void gfx_v8_0_send_serdes_cmd(struct amdgpu_device *adev, | |||
4292 | WREG32(mmRLC_SERDES_WR_NONCU_MASTER_MASK, 0xffffffff); | 4292 | WREG32(mmRLC_SERDES_WR_NONCU_MASTER_MASK, 0xffffffff); |
4293 | 4293 | ||
4294 | data = RREG32(mmRLC_SERDES_WR_CTRL); | 4294 | data = RREG32(mmRLC_SERDES_WR_CTRL); |
4295 | data &= ~(RLC_SERDES_WR_CTRL__WRITE_COMMAND_MASK | | 4295 | if (adev->asic_type == CHIP_STONEY) |
4296 | data &= ~(RLC_SERDES_WR_CTRL__WRITE_COMMAND_MASK | | ||
4296 | RLC_SERDES_WR_CTRL__READ_COMMAND_MASK | | 4297 | RLC_SERDES_WR_CTRL__READ_COMMAND_MASK | |
4297 | RLC_SERDES_WR_CTRL__P1_SELECT_MASK | | 4298 | RLC_SERDES_WR_CTRL__P1_SELECT_MASK | |
4298 | RLC_SERDES_WR_CTRL__P2_SELECT_MASK | | 4299 | RLC_SERDES_WR_CTRL__P2_SELECT_MASK | |
@@ -4300,13 +4301,23 @@ static void gfx_v8_0_send_serdes_cmd(struct amdgpu_device *adev, | |||
4300 | RLC_SERDES_WR_CTRL__POWER_DOWN_MASK | | 4301 | RLC_SERDES_WR_CTRL__POWER_DOWN_MASK | |
4301 | RLC_SERDES_WR_CTRL__POWER_UP_MASK | | 4302 | RLC_SERDES_WR_CTRL__POWER_UP_MASK | |
4302 | RLC_SERDES_WR_CTRL__SHORT_FORMAT_MASK | | 4303 | RLC_SERDES_WR_CTRL__SHORT_FORMAT_MASK | |
4303 | RLC_SERDES_WR_CTRL__BPM_DATA_MASK | | ||
4304 | RLC_SERDES_WR_CTRL__REG_ADDR_MASK | | ||
4305 | RLC_SERDES_WR_CTRL__SRBM_OVERRIDE_MASK); | 4304 | RLC_SERDES_WR_CTRL__SRBM_OVERRIDE_MASK); |
4305 | else | ||
4306 | data &= ~(RLC_SERDES_WR_CTRL__WRITE_COMMAND_MASK | | ||
4307 | RLC_SERDES_WR_CTRL__READ_COMMAND_MASK | | ||
4308 | RLC_SERDES_WR_CTRL__P1_SELECT_MASK | | ||
4309 | RLC_SERDES_WR_CTRL__P2_SELECT_MASK | | ||
4310 | RLC_SERDES_WR_CTRL__RDDATA_RESET_MASK | | ||
4311 | RLC_SERDES_WR_CTRL__POWER_DOWN_MASK | | ||
4312 | RLC_SERDES_WR_CTRL__POWER_UP_MASK | | ||
4313 | RLC_SERDES_WR_CTRL__SHORT_FORMAT_MASK | | ||
4314 | RLC_SERDES_WR_CTRL__BPM_DATA_MASK | | ||
4315 | RLC_SERDES_WR_CTRL__REG_ADDR_MASK | | ||
4316 | RLC_SERDES_WR_CTRL__SRBM_OVERRIDE_MASK); | ||
4306 | data |= (RLC_SERDES_WR_CTRL__RSVD_BPM_ADDR_MASK | | 4317 | data |= (RLC_SERDES_WR_CTRL__RSVD_BPM_ADDR_MASK | |
4307 | (cmd << RLC_SERDES_WR_CTRL__BPM_DATA__SHIFT) | | 4318 | (cmd << RLC_SERDES_WR_CTRL__BPM_DATA__SHIFT) | |
4308 | (reg_addr << RLC_SERDES_WR_CTRL__REG_ADDR__SHIFT) | | 4319 | (reg_addr << RLC_SERDES_WR_CTRL__REG_ADDR__SHIFT) | |
4309 | (0xff << RLC_SERDES_WR_CTRL__BPM_ADDR__SHIFT)); | 4320 | (0xff << RLC_SERDES_WR_CTRL__BPM_ADDR__SHIFT)); |
4310 | 4321 | ||
4311 | WREG32(mmRLC_SERDES_WR_CTRL, data); | 4322 | WREG32(mmRLC_SERDES_WR_CTRL, data); |
4312 | } | 4323 | } |