-
- Downloads
drm/xe/display: fix initial fb handling on discrete
Now that the GGTT scratch page is in system memory, on DG2 we suddenly get a massive flood of: xe 0000:03:00.0: [drm] *ERROR* Fault errors on pipe A: 0x00000080 The cause turns out to be the initial fb, which currently just gets nuked with scratch pages when initialising the GGTT, and trying to scanout from system memory on dgpu is not really allowed. On discrete the pre-programmed GGTT range and physical VRAM range are not 1:1 mapped. Also it's not allocated in stolen, but normally somewhere at the start of VRAM, which ensures it's still CPU mappable on even small-bar. Since we currently only reserve the GGTT range for non-CPU accessible stolen in xe_bo_create_pin_map_at(), we can instead just reserve it manually for discrete (or integrated platforms with CPU accessible stolen), to ensure we don't trample it later. Signed-off-by:Matthew Auld <matthew.auld@intel.com> Reviewed-by:
Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com>
Loading
Please register or sign in to comment