Skip to content
Snippets Groups Projects
Commit bba3baf8 authored by Matthew Auld's avatar Matthew Auld Committed by Rodrigo Vivi
Browse files

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: default avatarMatthew Auld <matthew.auld@intel.com>
Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent 0b54f68f
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment