[PATCH 4/4] drm/amdgpu: replace ih ip block for vega20 and arcturus
Felix Kuehling
felix.kuehling at amd.com
Thu Mar 26 18:46:08 UTC 2020
This change seems to break the sequence of IP block initialization that
is special for SRIOV. Is your intention to use the SRIOV sequence for
bare metal as well? That would be good for simplifying the code but then
that should be stated in the commit description, or even be done as a
separate commit.
See this commit for reference:
commit 2d11fd3f5420f71b15158672a8ffa3722b37ebf5
Author: Trigger Huang <Trigger.Huang at amd.com>
Date: Wed Apr 24 15:23:41 2019 +0800
drm/amdgpu: initialize PSP before IH under SR-IOV
In order to support new PSP feature that PSP may provide interface
to program IH CNTL register, initialize PSP before IH under Vega10
SR-IOV VF
Signed-off-by: Trigger Huang <Trigger.Huang at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Regards,
Felix
On 2020-03-24 17:57, Alex Sierra wrote:
> [Why]
> Vega20 and Arcturus asics use oss 5.0 version.
>
> [How]
> Replace ih ip block by navi10 for vega20 and arcturus.
>
> Signed-off-by: Alex Sierra <alex.sierra at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/soc15.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c
> index aaf02dbb03f7..a38b5a90cd1c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/soc15.c
> +++ b/drivers/gpu/drm/amd/amdgpu/soc15.c
> @@ -62,6 +62,7 @@
> #include "nbio_v7_0.h"
> #include "nbio_v7_4.h"
> #include "vega10_ih.h"
> +#include "navi10_ih.h"
> #include "sdma_v4_0.h"
> #include "uvd_v7_0.h"
> #include "vce_v4_0.h"
> @@ -732,9 +733,7 @@ int soc15_set_ip_blocks(struct amdgpu_device *adev)
> else
> amdgpu_device_ip_block_add(adev, &psp_v3_1_ip_block);
> }
> - amdgpu_device_ip_block_add(adev, &vega10_ih_ip_block);
> } else {
> - amdgpu_device_ip_block_add(adev, &vega10_ih_ip_block);
> if (likely(adev->firmware.load_type == AMDGPU_FW_LOAD_PSP)) {
> if (adev->asic_type == CHIP_VEGA20)
> amdgpu_device_ip_block_add(adev, &psp_v11_0_ip_block);
> @@ -742,6 +741,10 @@ int soc15_set_ip_blocks(struct amdgpu_device *adev)
> amdgpu_device_ip_block_add(adev, &psp_v3_1_ip_block);
> }
> }
> + if (adev->asic_type == CHIP_VEGA20)
> + amdgpu_device_ip_block_add(adev, &navi10_ih_ip_block);
> + else
> + amdgpu_device_ip_block_add(adev, &vega10_ih_ip_block);
> amdgpu_device_ip_block_add(adev, &gfx_v9_0_ip_block);
> amdgpu_device_ip_block_add(adev, &sdma_v4_0_ip_block);
> if (is_support_sw_smu(adev)) {
> @@ -785,13 +788,11 @@ int soc15_set_ip_blocks(struct amdgpu_device *adev)
> if (amdgpu_sriov_vf(adev)) {
> if (likely(adev->firmware.load_type == AMDGPU_FW_LOAD_PSP))
> amdgpu_device_ip_block_add(adev, &psp_v11_0_ip_block);
> - amdgpu_device_ip_block_add(adev, &vega10_ih_ip_block);
> } else {
> - amdgpu_device_ip_block_add(adev, &vega10_ih_ip_block);
> if (likely(adev->firmware.load_type == AMDGPU_FW_LOAD_PSP))
> amdgpu_device_ip_block_add(adev, &psp_v11_0_ip_block);
> }
> -
> + amdgpu_device_ip_block_add(adev, &navi10_ih_ip_block);
> if (adev->enable_virtual_display || amdgpu_sriov_vf(adev))
> amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);
> amdgpu_device_ip_block_add(adev, &gfx_v9_0_ip_block);
More information about the amd-gfx
mailing list