Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amdgpu: cleanup sriov function for psp v12

PSP v12 won't have SRIOV function.

Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Huang Rui and committed by
Alex Deucher
793fa8ce 4a89b769

+16 -34
+16 -34
drivers/gpu/drm/amd/amdgpu/psp_v12_0.c
··· 147 147 struct psp_ring *ring = &psp->km_ring; 148 148 struct amdgpu_device *adev = psp->adev; 149 149 150 - if (amdgpu_sriov_vf(psp->adev)) { 151 - /* Write low address of the ring to C2PMSG_102 */ 152 - psp_ring_reg = lower_32_bits(ring->ring_mem_mc_addr); 153 - WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_102, psp_ring_reg); 154 - /* Write high address of the ring to C2PMSG_103 */ 155 - psp_ring_reg = upper_32_bits(ring->ring_mem_mc_addr); 156 - WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_103, psp_ring_reg); 150 + /* Write low address of the ring to C2PMSG_69 */ 151 + psp_ring_reg = lower_32_bits(ring->ring_mem_mc_addr); 152 + WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_69, psp_ring_reg); 153 + /* Write high address of the ring to C2PMSG_70 */ 154 + psp_ring_reg = upper_32_bits(ring->ring_mem_mc_addr); 155 + WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_70, psp_ring_reg); 156 + /* Write size of ring to C2PMSG_71 */ 157 + psp_ring_reg = ring->ring_size; 158 + WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_71, psp_ring_reg); 159 + /* Write the ring initialization command to C2PMSG_64 */ 160 + psp_ring_reg = ring_type; 161 + psp_ring_reg = psp_ring_reg << 16; 162 + WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_64, psp_ring_reg); 157 163 158 - /* Write the ring initialization command to C2PMSG_101 */ 159 - WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_101, 160 - GFX_CTRL_CMD_ID_INIT_GPCOM_RING); 161 - 162 - /* Wait for response flag (bit 31) in C2PMSG_101 */ 163 - ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_101), 164 - 0x80000000, 0x8000FFFF, false); 165 - 166 - } else { 167 - /* Write low address of the ring to C2PMSG_69 */ 168 - psp_ring_reg = lower_32_bits(ring->ring_mem_mc_addr); 169 - WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_69, psp_ring_reg); 170 - /* Write high address of the ring to C2PMSG_70 */ 171 - psp_ring_reg = upper_32_bits(ring->ring_mem_mc_addr); 172 - WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_70, psp_ring_reg); 173 - /* Write size of ring to C2PMSG_71 */ 174 - psp_ring_reg = ring->ring_size; 175 - WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_71, psp_ring_reg); 176 - /* Write the ring initialization command to C2PMSG_64 */ 177 - psp_ring_reg = ring_type; 178 - psp_ring_reg = psp_ring_reg << 16; 179 - WREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_64, psp_ring_reg); 180 - 181 - /* Wait for response flag (bit 31) in C2PMSG_64 */ 182 - ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_64), 183 - 0x80000000, 0x8000FFFF, false); 184 - } 164 + /* Wait for response flag (bit 31) in C2PMSG_64 */ 165 + ret = psp_wait_for(psp, SOC15_REG_OFFSET(MP0, 0, mmMP0_SMN_C2PMSG_64), 166 + 0x80000000, 0x8000FFFF, false); 185 167 186 168 return ret; 187 169 }