Commit fdcf62fb authored by Dmytro Laktyushkin's avatar Dmytro Laktyushkin Committed by Alex Deucher

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: default avatarDmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Reviewed-by: default avatarEric Bernstein <Eric.Bernstein@amd.com>
Acked-by: default avatarRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent b6dbb8ff
...@@ -80,6 +80,7 @@ struct dcn20_hubbub { ...@@ -80,6 +80,7 @@ struct dcn20_hubbub {
const struct dcn_hubbub_mask *masks; const struct dcn_hubbub_mask *masks;
unsigned int debug_test_index_pstate; unsigned int debug_test_index_pstate;
struct dcn_watermark_set watermarks; struct dcn_watermark_set watermarks;
int num_vmid;
struct dcn20_vmid vmid[16]; struct dcn20_vmid vmid[16];
unsigned int detile_buf_size; unsigned int detile_buf_size;
}; };
......
...@@ -49,11 +49,6 @@ ...@@ -49,11 +49,6 @@
#define FN(reg_name, field_name) \ #define FN(reg_name, field_name) \
hubbub1->shifts->field_name, hubbub1->masks->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( static uint32_t convert_and_clamp(
uint32_t wm_ns, uint32_t wm_ns,
uint32_t refclk_mhz, uint32_t refclk_mhz,
...@@ -138,7 +133,7 @@ int hubbub21_init_dchub(struct hubbub *hubbub, ...@@ -138,7 +133,7 @@ int hubbub21_init_dchub(struct hubbub *hubbub,
dcn21_dchvm_init(hubbub); dcn21_dchvm_init(hubbub);
return NUM_VMID; return hubbub1->num_vmid;
} }
bool hubbub21_program_urgent_watermarks( bool hubbub21_program_urgent_watermarks(
......
...@@ -805,7 +805,7 @@ static const struct resource_caps res_cap_rn = { ...@@ -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_pll = 5, // maybe 3 because the last two used for USB-c
.num_dwb = 1, .num_dwb = 1,
.num_ddc = 5, .num_ddc = 5,
.num_vmid = 1, .num_vmid = 16,
.num_dsc = 3, .num_dsc = 3,
}; };
...@@ -1295,6 +1295,7 @@ static struct hubbub *dcn21_hubbub_create(struct dc_context *ctx) ...@@ -1295,6 +1295,7 @@ static struct hubbub *dcn21_hubbub_create(struct dc_context *ctx)
vmid->shifts = &vmid_shifts; vmid->shifts = &vmid_shifts;
vmid->masks = &vmid_masks; vmid->masks = &vmid_masks;
} }
hubbub->num_vmid = res_cap_rn.num_vmid;
return &hubbub->base; return &hubbub->base;
} }
......
...@@ -112,9 +112,12 @@ uint8_t mod_vmid_get_for_ptb(struct mod_vmid *mod_vmid, uint64_t ptb) ...@@ -112,9 +112,12 @@ uint8_t mod_vmid_get_for_ptb(struct mod_vmid *mod_vmid, uint64_t ptb)
evict_vmids(core_vmid); evict_vmids(core_vmid);
vmid = get_next_available_vmid(core_vmid); vmid = get_next_available_vmid(core_vmid);
if (vmid != -1) {
add_ptb_to_table(core_vmid, vmid, ptb); 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; return vmid;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment