[PATCH v3 0/8] AuxCCS handling and render compression modifiers
Juha-Pekka Heikkilä
juhapekka.heikkila at gmail.com
Tue Mar 25 17:39:24 UTC 2025
First patch that freezes mtl for me is
Author: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
Date: Tue Mar 18 16:22:16 2025 +0000
drm/xe: Add ring buffer handling for AuxCCS
Align the ring buffer handling of required AuxCCS flushes and
invalidations with the reference implementation from i915.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
If it's of any use, last messages I saw on dmesg are
[ +0,004882] xe 0000:00:02.0: [drm:xe_guc_capture_steered_list_init
[xe]] GT0: capture found 48 ext-regs.
[ +0,021150] xe 0000:00:02.0: [drm:xe_guc_ads_populate [xe]] GT0: ADS
capture alloc size changed from 45056 to 20480
[ +0,000765] xe 0000:00:02.0: [drm:__xe_guc_upload [xe]] GT0: load
still in progress, timeouts = 0, freq = 2250MHz (req 2250MHz), status
= 0x00000072 [0x39/00]
[ +0,005246] xe 0000:00:02.0: [drm:__xe_guc_upload [xe]] GT0: load
still in progress, timeouts = 0, freq = 2250MHz (req 2250MHz), status
= 0x80000534 [0x1A/05]
[ +0,001414] xe 0000:00:02.0: [drm:__xe_guc_upload [xe]] GT0: init
took 6ms, freq = 2250MHz (req = 2250MHz), before = 2250MHz, status =
0x8002F034, timeouts = 0
[ +0,000282] xe 0000:00:02.0: [drm:xe_guc_ct_enable [xe]] GT0: GuC CT
communication channel enabled
[ +0,000973] xe 0000:00:02.0: [drm:xe_gt_record_default_lrcs [xe]]
GT0: LRC WA rcs0 save-restore batch
[ +0,000075] xe 0000:00:02.0: [drm:xe_gt_record_default_lrcs [xe]]
GT0: REG[0x7004] = 0x08000800
[ +0,000070] xe 0000:00:02.0: [drm:xe_gt_record_default_lrcs [xe]]
GT0: REG[0x7044] = 0x00200020
/Juha-Pekka
On Thu, Mar 20, 2025 at 7:11 PM Juha-Pekka Heikkilä
<juhapekka.heikkila at gmail.com> wrote:
>
> I'll try to find some moment to do bisecting, probably will be next week when I get to do this.
>
> /Juha-Pekka
>
> to 20. maalisk. 2025 klo 10.25 Tvrtko Ursulin <tvrtko.ursulin at igalia.com> kirjoitti:
>>
>>
>> Hi,
>>
>> On 19/03/2025 13:41, Juha-Pekka Heikkilä wrote:
>> > Hi Tvrtko,
>> >
>> > I did quick run with these patches. With these changes on top of
>> > today's drm-tip I got a complete system freeze on mtl and its variants
>> > when do modprobe. I had kgdb enabled but I wasn't even thrown there,
>> > the machine went completely unresponsive. On 3/3 tries modprobe xe
>> > always completely froze the box.
>>
>> I don't have MTL to try and neither apparently does CI, which otherwise
>> seems happy, as is my ADL-P laptop.
>>
>> Would you have time to bisect? Or maybe netconsole to see what explodes?
>>
>> Not much comes to mind looking at the patches.. Maybe something runs to
>> early before something else is initialised. Guessing only.
>>
>> Regards,
>>
>> Tvrtko
>>
>> > On Tue, Mar 18, 2025 at 6:22 PM Tvrtko Ursulin
>> > <tvrtko.ursulin at igalia.com> wrote:
>> >>
>> >> A series to fix and add xe support for AuxCSS framebuffers via DPT.
>> >>
>> >> Currently the auxiliary buffer data isn't mapped into the page tables at all so
>> >> cf48bddd31de ("drm/i915/display: Disable AuxCCS framebuffers if built for Xe")
>> >> had to disable the support.
>> >>
>> >> On top of that there are missing flushes and invalidations both from the ring
>> >> buffer side and from the CPU side.
>> >>
>> >> Tested with KDE Wayland, on Lenovo Carbon X1 ADL-P:
>> >>
>> >> [PLANE:32:plane 1A]: type=PRI
>> >> uapi: [FB:242] AR30 little-endian (0x30335241),0x100000000000008,2880x1800, visible=visible, src=2880.000000x1800.000000+0.000000+0.000000, dst=2880x1800+0+0, rotation=0 (0x00000001)
>> >> hw: [FB:242] AR30 little-endian (0x30335241),0x100000000000008,2880x1800, visible=yes, src=2880.000000x1800.000000+0.000000+0.000000, dst=2880x1800+0+0, rotation=0 (0x00000001)
>> >>
>> >> Display seems working fine - no artefacts, no DMAR/PIPE faults. CI also appears
>> >> to be happy with v2.
>> >>
>> >> v2:
>> >> * More patches added to fix kms_flip_tiling.
>> >>
>> >> v3:
>> >> * Rebased after some cleanup patches from v2 were merged.
>> >> * Added people to Cc as suggested by Rodrigo.
>> >> * Adjusted last patch title. (Rodrigo)
>> >> * Apply GGTT flushing only to iomapped system memory buffers.
>> >>
>> >> Cc: José Roberto de Souza <jose.souza at intel.com>
>> >> Cc: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
>> >> Cc: Michael J. Ruhl <michael.j.ruhl at intel.com>
>> >> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
>> >>
>> >> Tvrtko Ursulin (8):
>> >> drm/xe: Add ring buffer handling for AuxCCS
>> >> drm/xe: Use fb cached min alignment
>> >> drm/xe: Reduce DPT table alignment as in i915
>> >> drm/xe: Flush GGTT writes after populating DPT
>> >> drm/xe: Handle DPT in system memory
>> >> drm/xe: Force flush system memory AuxCCS framebuffers before scan out
>> >> drm/xe/display: Add support for AuxCCS
>> >> drm/i915/display: Expose AuxCCS frame buffer modifiers for Xe
>> >>
>> >> .../drm/i915/display/skl_universal_plane.c | 6 -
>> >> drivers/gpu/drm/xe/display/xe_fb_pin.c | 181 ++++++++++++++----
>> >> .../gpu/drm/xe/instructions/xe_gpu_commands.h | 1 +
>> >> .../gpu/drm/xe/instructions/xe_mi_commands.h | 6 +
>> >> drivers/gpu/drm/xe/regs/xe_gt_regs.h | 1 +
>> >> drivers/gpu/drm/xe/xe_bo_types.h | 14 +-
>> >> drivers/gpu/drm/xe/xe_ring_ops.c | 173 +++++++++--------
>> >> drivers/gpu/drm/xe/xe_ring_ops_types.h | 2 +-
>> >> 8 files changed, 261 insertions(+), 123 deletions(-)
>> >>
>> >> --
>> >> 2.48.0
>> >>
>>
More information about the Intel-xe
mailing list