[SRU][M:raspi][PULL v2] vc4-drm gpu: [drm] *ERROR* Failed to allocate DLIST entry: -28 (LP: #2046584)

Juerg Haefliger juerg.haefliger at canonical.com
Mon Jan 8 10:47:08 UTC 2024


BugLink: https://bugs.launchpad.net/bugs/2046584

[Impact]

After running for some time the GUI freezes.
This happens on a Raspberry PI 4 running Ubuntu 23.10
Linux hawk1 6.5.0-1008-raspi #11-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 22 19:08:26 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

This issue was also reported here:
https://github.com/raspberrypi/linux/issues/5674

Seems like this pull requests fixes it:
https://github.com/raspberrypi/linux/pull/5684

Some logs from the most recent incident:
2023-12-15T15:25:37.216748-05:00 hawk1 gnome-shell[1293]: Page flip failed: drmModeAtomicCommit: No space left on device
2023-12-15T15:25:37.263913-05:00 hawk1 kernel: [ 1045.576619] vc4-drm gpu: [drm] *ERROR* Failed to allocate DLIST entry: -28
2023-12-15T15:25:37.263548-05:00 hawk1 gnome-shell[1293]: Page flip failed: drmModeAtomicCommit: No space left on device
2023-12-15T15:25:37.278139-05:00 hawk1 gnome-shell[1293]: Cursor update failed: drmModeAtomicCommit: No space left on device
2023-12-15T15:25:37.279826-05:00 hawk1 kernel: [ 1045.591912] vc4-drm gpu: [drm] *ERROR* Failed to allocate DLIST entry: -28
2023-12-15T15:25:37.298467-05:00 hawk1 gnome-shell[1293]: Page flip failed: drmModeAtomicCommit: No space left on device
2023-12-15T15:25:37.299916-05:00 hawk1 kernel: [ 1045.611834] vc4-drm gpu: [drm] *ERROR* Failed to allocate DLIST entry: -28
2023-12-15T15:25:37.312469-05:00 hawk1 gnome-shell[1293]: Cursor update failed: drmModeAtomicCommit: No space left on device
2023-12-15T15:25:37.315838-05:00 hawk1 kernel: [ 1045.626371] vc4-drm gpu: [drm] *ERROR* Failed to allocate DLIST entry: -28
2023-12-15T15:25:37.331875-05:00 hawk1 kernel: [ 1045.644563] vc4-drm gpu: [drm] *ERROR* Failed to allocate DLIST entry: -28
2023-12-15T15:25:37.330814-05:00 hawk1 gnome-shell[1293]: Cursor update failed: drmModeAtomicCommit: No space left on device
2023-12-15T15:25:37.349465-05:00 hawk1 gnome-shell[1293]: Page flip failed: drmModeAtomicCommit: No space left on device
2023-12-15T15:25:37.352021-05:00 hawk1 kernel: [ 1045.662809] vc4-drm gpu: [drm] *ERROR* Failed to allocate DLIST entry: -28
2023-12-15T15:25:37.387925-05:00 hawk1 kernel: [ 1045.698223] vc4-drm gpu: [drm] *ERROR* Failed to allocate DLIST entry: -28
2023-12-15T15:25:37.435919-05:00 hawk1 kernel: [ 1045.749879] vc4-drm gpu: [drm] *ERROR* Failed to allocate DLIST entry: -28
2023-12-15T15:25:37.471896-05:00 hawk1 kernel: [ 1045.784378] vc4-drm gpu: [drm] *ERROR* Failed to allocate DLIST entry: -28

[Test Case]

See above. Not easily reproducible at will.

[Fix]

Pull in latest drm/vc4 fixes from github.com/raspberrypi/linux

[Where Problems Could Occur]

Modifications are limited to the drm subsystem so only the desktop image should be affected. Potential problems might show up as display (rendering) issues, crashes, freezes and/or kernel crashes/freezes.

v2:
  - Add 3 additional commits. One real fix and two fixups to match raspberrypi rpi-6.1.y/rpi-6.5.y.

Signed-off-by: Juerg Haefliger <juerg.haefliger at canonical.com>

--------

The following changes since commit ae3478b8d3cc474c63b947272ca341f0d31e77c4:

  UBUNTU: [Config] raspi: Set DW_AXI_DMAC=m (2024-01-03 13:42:26 +0100)

are available in the Git repository at:

  https://git.launchpad.net/~juergh/+git/linux mantic/linux-raspi/lp2046584

for you to fetch changes up to e4cbe8e80566ae1e2d909f795bea655101aa18b6:

  UBUNTU: drm/vc4: hvs: Fix compile warnings (2024-01-05 18:29:35 +0100)

----------------------------------------------------------------
Dave Stevenson (21):
      drm: Look for an alias for the displays to use as the DRM device name
      drm/vc4: Correct address offset for planes with src_[xy] offsets
      fbdev: Allow client to request a particular /dev/fbN node
      drm/fb-helper: Look up preferred fbdev node number from DT
      drm/connector: Change DRM card alias from underscore to hyphen
      drm/fb_helper: Change query for FB designation from drm_fb to drm-fb
      drm/vc4: Correct logic on stopping an HVS channel
      drm/vc4: Drop WARN for HVS FIFOs not being empty
      drm/vc4: Free all stale dlists if channel is disabled
      drm/vc4: Add hvs_dlist_allocs debugfs function.
      drm/vc4: Log the size of the dlist allocation that was attempted
      drm/vc4: Drop planes that are completely off-screen
      drm/bridge: display-connector: Select DRM_KMS_HELPER
      drm: vc4: Free the dlist alloc immediately if it never hit the hw
      drm: vc4: Block swiotlb bounce buffers being imported as dmabuf
      drm/vc4: vec: Add the margin properties to the connector
      drm: panel: jdi-lt070me05000: Add prepare_upstream_first flag
      drm/vc4: Correct HVS muxing setup for the moplet
      drm/vc4: Mop and moplet have different register offsets for high addr
      drm/vc4: Fix reading of frame count on GEN5 / Pi4
      drm/vc4: Fixup of patches adding debugfs functions

Dom Cobley (2):
      vc4/drm: Remove the clear of SCALER_DISPBKGND_FILL
      drm/vc4: crtc: Support odd horizontal timings on BCM2712

Juerg Haefliger (1):
      UBUNTU: drm/vc4: hvs: Fix compile warnings

Timon Skerutsch (1):
      drm/panel: add panel-dsi

 drivers/gpu/drm/bridge/Kconfig                 |   1 +
 drivers/gpu/drm/drm_connector.c                |  61 +++++++++++-
 drivers/gpu/drm/drm_fb_helper.c                |  11 +-
 drivers/gpu/drm/panel/panel-jdi-lt070me05000.c |   1 +
 drivers/gpu/drm/panel/panel-simple.c           | 123 ++++++++++++++++++++++-
 drivers/gpu/drm/vc4/vc4_crtc.c                 |  14 ++-
 drivers/gpu/drm/vc4/vc4_drv.c                  |  26 ++++-
 drivers/gpu/drm/vc4/vc4_drv.h                  |   2 +
 drivers/gpu/drm/vc4/vc4_hdmi.c                 |   4 +-
 drivers/gpu/drm/vc4/vc4_hvs.c                  | 133 +++++++++++++++++++------
 drivers/gpu/drm/vc4/vc4_kms.c                  |   2 +-
 drivers/gpu/drm/vc4/vc4_plane.c                |  32 ++++--
 drivers/gpu/drm/vc4/vc4_regs.h                 |   7 ++
 drivers/gpu/drm/vc4/vc4_txp.c                  |   8 +-
 drivers/gpu/drm/vc4/vc4_vec.c                  |   2 +
 drivers/video/fbdev/core/fbmem.c               |  24 +++--
 include/linux/fb.h                             |   2 +
 17 files changed, 385 insertions(+), 68 deletions(-)



More information about the kernel-team mailing list