mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-03 14:42:18 -04:00
drm/amdgpu/gfx11: add FW version check for new CP GFX shadow feature
Use this to determine if we support the new SET_Q_PREEMPTION_MODE packet. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -380,6 +380,8 @@ struct amdgpu_gfx {
|
||||
struct amdgpu_ring sw_gfx_ring[AMDGPU_MAX_SW_GFX_RINGS];
|
||||
struct amdgpu_ring_mux muxer;
|
||||
|
||||
bool cp_gfx_shadow; /* for gfx11 */
|
||||
|
||||
enum amdgpu_gfx_partition partition_mode;
|
||||
uint32_t num_xcd;
|
||||
uint32_t num_xcc_per_xcp;
|
||||
|
||||
@@ -463,6 +463,18 @@ static int gfx_v11_0_init_toc_microcode(struct amdgpu_device *adev, const char *
|
||||
return err;
|
||||
}
|
||||
|
||||
static void gfx_v11_0_check_fw_cp_gfx_shadow(struct amdgpu_device *adev)
|
||||
{
|
||||
switch (adev->ip_versions[GC_HWIP][0]) {
|
||||
case IP_VERSION(11, 0, 0):
|
||||
case IP_VERSION(11, 0, 2):
|
||||
case IP_VERSION(11, 0, 3):
|
||||
default:
|
||||
adev->gfx.cp_gfx_shadow = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static int gfx_v11_0_init_microcode(struct amdgpu_device *adev)
|
||||
{
|
||||
char fw_name[40];
|
||||
@@ -539,6 +551,7 @@ static int gfx_v11_0_init_microcode(struct amdgpu_device *adev)
|
||||
/* only one MEC for gfx 11.0.0. */
|
||||
adev->gfx.mec2_fw = NULL;
|
||||
|
||||
gfx_v11_0_check_fw_cp_gfx_shadow(adev);
|
||||
out:
|
||||
if (err) {
|
||||
amdgpu_ucode_release(&adev->gfx.pfp_fw);
|
||||
|
||||
Reference in New Issue
Block a user