Older Tegra GPUs use a different sector bit swizzling layout than desktop
and Xavier GPUs. Hence their format modifiers must be differentiated from
those of other GPUs. As a precursor to supporting more expressive block
linear format modifiers, deduce the sector layout used for a given GPU from
its chipset and stash the layout in the nouveau screen structure.
Signed-off-by: James Jones <jajones@nvidia.com>
Tested-by: Karol Herbst <kherbst@redhat.com>
Tested-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3724>
} while ((start + screen->svm_cutout_size) < BITFIELD64_MASK(limit_bit));
}
+ switch (dev->chipset) {
+ case 0x0ea: /* TK1, GK20A */
+ case 0x12b: /* TX1, GM20B */
+ case 0x13b: /* TX2, GP10B */
+ screen->tegra_sector_layout = true;
+ break;
+ default:
+ /* Xavier's GPU and everything else */
+ screen->tegra_sector_layout = false;
+ break;
+ }
+
/*
* Set default VRAM domain if not overridden
*/
int64_t cpu_gpu_time_delta;
bool hint_buf_keep_sysmem_copy;
+ bool tegra_sector_layout;
unsigned vram_domain;