This is a first draft of drm_panic support for i915.
I've tested it on the 3 intel laptops I have at my disposal.
one Haswell with 128MB of eDRAM, one Cometlake and one Alderlake.
I tested panic in both fbdev console and gnome desktop.
I still have an issue with Alderlake, and it doesn't work when in gnome desktop.
If I disable tiling on a framebuffer using DPT, then it displays some other memory location.
As DPT is enabled only for tiled framebuffer, there might be some hardware limitations?
I think it can be worked around by drawing the image tiled, (like what I've done on nouveau https://patchwork.freedesktop.org/series/133963/), but maybe there is another way?
Best regards,
v2:
* Add the proper abstractions to build also for Xe.
* Fix dim checkpatch issues.
Jocelyn Falempe (5):
drm/i915/fbdev: Add intel_fbdev_get_vaddr()
drm/i915/display/i9xx: Add a disable_tiling() for i9xx planes
drm/i915/display: Add a disable_tiling() for skl planes
drm/i915/gem: Add i915_gem_object_panic_map()
drm/i915: Add drm_panic support
drivers/gpu/drm/i915/display/i9xx_plane.c | 23 +++++
.../gpu/drm/i915/display/intel_atomic_plane.c | 85 ++++++++++++++++++-
drivers/gpu/drm/i915/display/intel_bo.c | 10 +++
drivers/gpu/drm/i915/display/intel_bo.h | 2 +
.../drm/i915/display/intel_display_types.h | 2 +
drivers/gpu/drm/i915/display/intel_fb_pin.c | 5 ++
drivers/gpu/drm/i915/display/intel_fb_pin.h | 1 +
drivers/gpu/drm/i915/display/intel_fbdev.c | 5 ++
drivers/gpu/drm/i915/display/intel_fbdev.h | 6 ++
.../drm/i915/display/skl_universal_plane.c | 20 +++++
drivers/gpu/drm/i915/gem/i915_gem_object.h | 2 +
drivers/gpu/drm/i915/gem/i915_gem_pages.c | 25 ++++++
drivers/gpu/drm/i915/i915_vma.h | 5 ++
drivers/gpu/drm/xe/display/intel_bo.c | 11 +++
drivers/gpu/drm/xe/display/xe_fb_pin.c | 5 ++
15 files changed, 206 insertions(+), 1 deletion(-)
base-commit: 44cff6c5b0b17a78bc0b30372bcd816cf6dd282a
--
2.47.1