mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-05 21:35:04 +08:00
drm/amd/display: correct rn NUM_VMID
Save the correct num vmid during resource creation and fix RN gpuvm level from 1 to 16 vmid entries. Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> Reviewed-by: Eric Bernstein <Eric.Bernstein@amd.com> Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
b6dbb8ff9d
commit
fdcf62fbfb
@ -80,6 +80,7 @@ struct dcn20_hubbub {
|
||||
const struct dcn_hubbub_mask *masks;
|
||||
unsigned int debug_test_index_pstate;
|
||||
struct dcn_watermark_set watermarks;
|
||||
int num_vmid;
|
||||
struct dcn20_vmid vmid[16];
|
||||
unsigned int detile_buf_size;
|
||||
};
|
||||
|
@ -49,11 +49,6 @@
|
||||
#define FN(reg_name, field_name) \
|
||||
hubbub1->shifts->field_name, hubbub1->masks->field_name
|
||||
|
||||
#ifdef NUM_VMID
|
||||
#undef NUM_VMID
|
||||
#endif
|
||||
#define NUM_VMID 16
|
||||
|
||||
static uint32_t convert_and_clamp(
|
||||
uint32_t wm_ns,
|
||||
uint32_t refclk_mhz,
|
||||
@ -138,7 +133,7 @@ int hubbub21_init_dchub(struct hubbub *hubbub,
|
||||
|
||||
dcn21_dchvm_init(hubbub);
|
||||
|
||||
return NUM_VMID;
|
||||
return hubbub1->num_vmid;
|
||||
}
|
||||
|
||||
bool hubbub21_program_urgent_watermarks(
|
||||
|
@ -805,7 +805,7 @@ static const struct resource_caps res_cap_rn = {
|
||||
.num_pll = 5, // maybe 3 because the last two used for USB-c
|
||||
.num_dwb = 1,
|
||||
.num_ddc = 5,
|
||||
.num_vmid = 1,
|
||||
.num_vmid = 16,
|
||||
.num_dsc = 3,
|
||||
};
|
||||
|
||||
@ -1295,6 +1295,7 @@ static struct hubbub *dcn21_hubbub_create(struct dc_context *ctx)
|
||||
vmid->shifts = &vmid_shifts;
|
||||
vmid->masks = &vmid_masks;
|
||||
}
|
||||
hubbub->num_vmid = res_cap_rn.num_vmid;
|
||||
|
||||
return &hubbub->base;
|
||||
}
|
||||
|
@ -112,9 +112,12 @@ uint8_t mod_vmid_get_for_ptb(struct mod_vmid *mod_vmid, uint64_t ptb)
|
||||
evict_vmids(core_vmid);
|
||||
|
||||
vmid = get_next_available_vmid(core_vmid);
|
||||
add_ptb_to_table(core_vmid, vmid, ptb);
|
||||
if (vmid != -1) {
|
||||
add_ptb_to_table(core_vmid, vmid, ptb);
|
||||
|
||||
dc_setup_vm_context(core_vmid->dc, &va_config, vmid);
|
||||
dc_setup_vm_context(core_vmid->dc, &va_config, vmid);
|
||||
} else
|
||||
ASSERT(0);
|
||||
}
|
||||
|
||||
return vmid;
|
||||
|
Loading…
Reference in New Issue
Block a user