Skip to content

Commit

Permalink
drm/amd/display: correct rn NUM_VMID
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Dmytro Laktyushkin authored and alexdeucher committed May 21, 2020
1 parent b6dbb8f commit fdcf62f
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 9 deletions.
1 change: 1 addition & 0 deletions drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hubbub.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};
Expand Down
7 changes: 1 addition & 6 deletions drivers/gpu/drm/amd/display/dc/dcn21/dcn21_hubbub.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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(
Expand Down
3 changes: 2 additions & 1 deletion drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
};

Expand Down Expand Up @@ -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;
}
Expand Down
7 changes: 5 additions & 2 deletions drivers/gpu/drm/amd/display/modules/vmid/vmid.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit fdcf62f

Please sign in to comment.