intel/aux_map: Rename some variables to improve readability
No changes in behavior here, mostly doing this types of renames: - address to main_address, to know that addresses refers to main surface address or aux surface address - gpu to addr - main_map_addr to main_inc_addr - aux_dest_addr to aux_inc_addr Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24077>
This commit is contained in:

committed by
Marge Bot

parent
14ae2c58b8
commit
47792b3642
@@ -485,29 +485,29 @@ intel_aux_map_format_bits_for_isl_surf(const struct isl_surf *isl_surf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
get_aux_entry(struct intel_aux_map_context *ctx, uint64_t address,
|
get_aux_entry(struct intel_aux_map_context *ctx, uint64_t main_address,
|
||||||
uint32_t *l1_index_out, uint64_t *l1_entry_addr_out,
|
uint32_t *l1_index_out, uint64_t *l1_entry_addr_out,
|
||||||
uint64_t **l1_entry_map_out)
|
uint64_t **l1_entry_map_out)
|
||||||
{
|
{
|
||||||
uint32_t l3_index = (address >> 36) & 0xfff;
|
uint32_t l3_index = (main_address >> 36) & 0xfff;
|
||||||
uint64_t *l3_entry = &ctx->level3_map[l3_index];
|
uint64_t *l3_entry = &ctx->level3_map[l3_index];
|
||||||
|
|
||||||
uint64_t *l2_map;
|
uint64_t *l2_map;
|
||||||
if ((*l3_entry & INTEL_AUX_MAP_ENTRY_VALID_BIT) == 0) {
|
if ((*l3_entry & INTEL_AUX_MAP_ENTRY_VALID_BIT) == 0) {
|
||||||
uint64_t l2_gpu;
|
uint64_t l2_addr;
|
||||||
if (add_sub_table(ctx, 32 * 1024, 32 * 1024, &l2_gpu, &l2_map)) {
|
if (add_sub_table(ctx, 32 * 1024, 32 * 1024, &l2_addr, &l2_map)) {
|
||||||
if (aux_map_debug)
|
if (aux_map_debug)
|
||||||
fprintf(stderr, "AUX-MAP L3[0x%x]: 0x%"PRIx64", map=%p\n",
|
fprintf(stderr, "AUX-MAP L3[0x%x]: 0x%"PRIx64", map=%p\n",
|
||||||
l3_index, l2_gpu, l2_map);
|
l3_index, l2_addr, l2_map);
|
||||||
} else {
|
} else {
|
||||||
unreachable("Failed to add L2 Aux-Map Page Table!");
|
unreachable("Failed to add L2 Aux-Map Page Table!");
|
||||||
}
|
}
|
||||||
*l3_entry = (l2_gpu & 0xffffffff8000ULL) | INTEL_AUX_MAP_ENTRY_VALID_BIT;
|
*l3_entry = (l2_addr & 0xffffffff8000ULL) | INTEL_AUX_MAP_ENTRY_VALID_BIT;
|
||||||
} else {
|
} else {
|
||||||
uint64_t l2_addr = intel_canonical_address(*l3_entry & ~0x7fffULL);
|
uint64_t l2_addr = intel_canonical_address(*l3_entry & ~0x7fffULL);
|
||||||
l2_map = get_u64_entry_ptr(ctx, l2_addr);
|
l2_map = get_u64_entry_ptr(ctx, l2_addr);
|
||||||
}
|
}
|
||||||
uint32_t l2_index = (address >> 24) & 0xfff;
|
uint32_t l2_index = (main_address >> 24) & 0xfff;
|
||||||
uint64_t *l2_entry = &l2_map[l2_index];
|
uint64_t *l2_entry = &l2_map[l2_index];
|
||||||
uint64_t l1_page_size = ctx->format->l1_page_size;
|
uint64_t l1_page_size = ctx->format->l1_page_size;
|
||||||
uint64_t l1_addr, *l1_map;
|
uint64_t l1_addr, *l1_map;
|
||||||
@@ -521,11 +521,10 @@ get_aux_entry(struct intel_aux_map_context *ctx, uint64_t address,
|
|||||||
}
|
}
|
||||||
*l2_entry = (l1_addr & ~get_page_mask(l1_page_size)) | INTEL_AUX_MAP_ENTRY_VALID_BIT;
|
*l2_entry = (l1_addr & ~get_page_mask(l1_page_size)) | INTEL_AUX_MAP_ENTRY_VALID_BIT;
|
||||||
} else {
|
} else {
|
||||||
l1_addr = intel_canonical_address(
|
l1_addr = intel_canonical_address(*l2_entry & ~get_page_mask(l1_page_size));
|
||||||
*l2_entry & ~get_page_mask(l1_page_size));
|
|
||||||
l1_map = get_u64_entry_ptr(ctx, l1_addr);
|
l1_map = get_u64_entry_ptr(ctx, l1_addr);
|
||||||
}
|
}
|
||||||
uint32_t l1_index = get_index(address, ctx->format->l1_index_mask,
|
uint32_t l1_index = get_index(main_address, ctx->format->l1_index_mask,
|
||||||
ctx->format->l1_index_offset);
|
ctx->format->l1_index_offset);
|
||||||
if (l1_index_out)
|
if (l1_index_out)
|
||||||
*l1_index_out = l1_index;
|
*l1_index_out = l1_index;
|
||||||
@@ -536,17 +535,17 @@ get_aux_entry(struct intel_aux_map_context *ctx, uint64_t address,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
add_mapping(struct intel_aux_map_context *ctx, uint64_t address,
|
add_mapping(struct intel_aux_map_context *ctx, uint64_t main_address,
|
||||||
uint64_t aux_address, uint64_t format_bits,
|
uint64_t aux_address, uint64_t format_bits,
|
||||||
bool *state_changed)
|
bool *state_changed)
|
||||||
{
|
{
|
||||||
if (aux_map_debug)
|
if (aux_map_debug)
|
||||||
fprintf(stderr, "AUX-MAP 0x%"PRIx64" => 0x%"PRIx64"\n", address,
|
fprintf(stderr, "AUX-MAP 0x%"PRIx64" => 0x%"PRIx64"\n", main_address,
|
||||||
aux_address);
|
aux_address);
|
||||||
|
|
||||||
uint32_t l1_index;
|
uint32_t l1_index;
|
||||||
uint64_t *l1_entry;
|
uint64_t *l1_entry;
|
||||||
get_aux_entry(ctx, address, &l1_index, NULL, &l1_entry);
|
get_aux_entry(ctx, main_address, &l1_index, NULL, &l1_entry);
|
||||||
|
|
||||||
const uint64_t l1_data =
|
const uint64_t l1_data =
|
||||||
(aux_address & intel_aux_get_meta_address_mask(ctx)) |
|
(aux_address & intel_aux_get_meta_address_mask(ctx)) |
|
||||||
@@ -579,34 +578,34 @@ add_mapping(struct intel_aux_map_context *ctx, uint64_t address,
|
|||||||
|
|
||||||
uint64_t *
|
uint64_t *
|
||||||
intel_aux_map_get_entry(struct intel_aux_map_context *ctx,
|
intel_aux_map_get_entry(struct intel_aux_map_context *ctx,
|
||||||
uint64_t address,
|
uint64_t main_address,
|
||||||
uint64_t *entry_address)
|
uint64_t *aux_entry_address)
|
||||||
{
|
{
|
||||||
pthread_mutex_lock(&ctx->mutex);
|
pthread_mutex_lock(&ctx->mutex);
|
||||||
uint64_t *l1_entry_map;
|
uint64_t *l1_entry_map;
|
||||||
get_aux_entry(ctx, address, NULL, entry_address, &l1_entry_map);
|
get_aux_entry(ctx, main_address, NULL, aux_entry_address, &l1_entry_map);
|
||||||
pthread_mutex_unlock(&ctx->mutex);
|
pthread_mutex_unlock(&ctx->mutex);
|
||||||
|
|
||||||
return l1_entry_map;
|
return l1_entry_map;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
intel_aux_map_add_mapping(struct intel_aux_map_context *ctx, uint64_t address,
|
intel_aux_map_add_mapping(struct intel_aux_map_context *ctx, uint64_t main_address,
|
||||||
uint64_t aux_address, uint64_t main_size_B,
|
uint64_t aux_address, uint64_t main_size_B,
|
||||||
uint64_t format_bits)
|
uint64_t format_bits)
|
||||||
{
|
{
|
||||||
bool state_changed = false;
|
bool state_changed = false;
|
||||||
pthread_mutex_lock(&ctx->mutex);
|
pthread_mutex_lock(&ctx->mutex);
|
||||||
uint64_t map_addr = address;
|
uint64_t main_inc_addr = main_address;
|
||||||
uint64_t dest_aux_addr = aux_address;
|
uint64_t aux_inc_addr = aux_address;
|
||||||
uint64_t main_page_size = ctx->format->main_page_size;
|
const uint64_t main_page_size = ctx->format->main_page_size;
|
||||||
assert((address & get_page_mask(main_page_size)) == 0);
|
assert((main_address & get_page_mask(main_page_size)) == 0);
|
||||||
uint64_t aux_page_size = get_meta_page_size(ctx->format);
|
const uint64_t aux_page_size = get_meta_page_size(ctx->format);
|
||||||
assert((aux_address & get_page_mask(aux_page_size)) == 0);
|
assert((aux_address & get_page_mask(aux_page_size)) == 0);
|
||||||
while (map_addr - address < main_size_B) {
|
while (main_inc_addr - main_address < main_size_B) {
|
||||||
add_mapping(ctx, map_addr, dest_aux_addr, format_bits, &state_changed);
|
add_mapping(ctx, main_inc_addr, aux_inc_addr, format_bits, &state_changed);
|
||||||
map_addr += main_page_size;
|
main_inc_addr = main_inc_addr + main_page_size;
|
||||||
dest_aux_addr += aux_page_size;
|
aux_inc_addr = aux_inc_addr + aux_page_size;
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&ctx->mutex);
|
pthread_mutex_unlock(&ctx->mutex);
|
||||||
if (state_changed)
|
if (state_changed)
|
||||||
@@ -620,11 +619,11 @@ intel_aux_map_add_mapping(struct intel_aux_map_context *ctx, uint64_t address,
|
|||||||
* tables.
|
* tables.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
remove_mapping(struct intel_aux_map_context *ctx, uint64_t address,
|
remove_mapping(struct intel_aux_map_context *ctx, uint64_t main_address,
|
||||||
bool *state_changed)
|
bool *state_changed)
|
||||||
{
|
{
|
||||||
uint64_t *l1_entry;
|
uint64_t *l1_entry;
|
||||||
get_aux_entry(ctx, address, NULL, NULL, &l1_entry);
|
get_aux_entry(ctx, main_address, NULL, NULL, &l1_entry);
|
||||||
|
|
||||||
const uint64_t current_l1_data = *l1_entry;
|
const uint64_t current_l1_data = *l1_entry;
|
||||||
const uint64_t l1_data = current_l1_data & ~INTEL_AUX_MAP_ENTRY_VALID_BIT;
|
const uint64_t l1_data = current_l1_data & ~INTEL_AUX_MAP_ENTRY_VALID_BIT;
|
||||||
@@ -644,21 +643,21 @@ remove_mapping(struct intel_aux_map_context *ctx, uint64_t address,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
intel_aux_map_unmap_range(struct intel_aux_map_context *ctx, uint64_t address,
|
intel_aux_map_unmap_range(struct intel_aux_map_context *ctx, uint64_t main_address,
|
||||||
uint64_t size)
|
uint64_t size)
|
||||||
{
|
{
|
||||||
bool state_changed = false;
|
bool state_changed = false;
|
||||||
pthread_mutex_lock(&ctx->mutex);
|
pthread_mutex_lock(&ctx->mutex);
|
||||||
if (aux_map_debug)
|
if (aux_map_debug)
|
||||||
fprintf(stderr, "AUX-MAP remove 0x%"PRIx64"-0x%"PRIx64"\n", address,
|
fprintf(stderr, "AUX-MAP remove 0x%"PRIx64"-0x%"PRIx64"\n", main_address,
|
||||||
address + size);
|
main_address + size);
|
||||||
|
|
||||||
uint64_t map_addr = address;
|
uint64_t main_inc_addr = main_address;
|
||||||
uint64_t main_page_size = ctx->format->main_page_size;
|
uint64_t main_page_size = ctx->format->main_page_size;
|
||||||
assert((address & get_page_mask(main_page_size)) == 0);
|
assert((main_address & get_page_mask(main_page_size)) == 0);
|
||||||
while (map_addr - address < size) {
|
while (main_inc_addr - main_address < size) {
|
||||||
remove_mapping(ctx, map_addr, &state_changed);
|
remove_mapping(ctx, main_inc_addr, &state_changed);
|
||||||
map_addr += main_page_size;
|
main_inc_addr += main_page_size;
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&ctx->mutex);
|
pthread_mutex_unlock(&ctx->mutex);
|
||||||
if (state_changed)
|
if (state_changed)
|
||||||
|
@@ -106,16 +106,16 @@ intel_aux_map_format_bits_for_isl_surf(const struct isl_surf *isl_surf);
|
|||||||
|
|
||||||
uint64_t *
|
uint64_t *
|
||||||
intel_aux_map_get_entry(struct intel_aux_map_context *ctx,
|
intel_aux_map_get_entry(struct intel_aux_map_context *ctx,
|
||||||
uint64_t address,
|
uint64_t main_address,
|
||||||
uint64_t *entry_address);
|
uint64_t *aux_entry_address);
|
||||||
|
|
||||||
void
|
void
|
||||||
intel_aux_map_add_mapping(struct intel_aux_map_context *ctx, uint64_t address,
|
intel_aux_map_add_mapping(struct intel_aux_map_context *ctx, uint64_t main_address,
|
||||||
uint64_t aux_address, uint64_t main_size_B,
|
uint64_t aux_address, uint64_t main_size_B,
|
||||||
uint64_t format_bits);
|
uint64_t format_bits);
|
||||||
|
|
||||||
void
|
void
|
||||||
intel_aux_map_unmap_range(struct intel_aux_map_context *ctx, uint64_t address,
|
intel_aux_map_unmap_range(struct intel_aux_map_context *ctx, uint64_t main_address,
|
||||||
uint64_t size);
|
uint64_t size);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
Reference in New Issue
Block a user