[drm:vc4_hvs_irq_handler [vc4]] *ERROR* HVS underrun

Dave Stevenson dave.stevenson at raspberrypi.com
Wed Nov 13 18:39:28 UTC 2024


Hi Stefan

Sorry for missing this one.

On Fri, 8 Nov 2024 at 18:55, Stefan Wahren <wahrenst at gmx.net> wrote:
>
> Am 26.10.24 um 15:11 schrieb Stefan Wahren:
> > Hi,
> > during the investigations of the recent VC4 HDMI Sink issue [1], I was
> > able to reproduce another issue with vc4 after s2idle resume.
> > Sometimes ( probability ~ 1 : 30 cases ) I'm able to trigger a HVS
> > underrun and it's impact is that the HDMI display stays black and
> > unusable:
> >
> > [ 1790.139465] PM: suspend exit
> > [ 1790.153998] lan78xx 1-1.1.1:1.0 eth0: Link is Down
> > [ 1790.548866] vc4-drm soc:gpu: [drm:vc4_hvs_irq_handler [vc4]]
> > *ERROR* HVS underrun
> > [ 1794.713952] net_ratelimit: 2 callbacks suppressed
> >
> > So I need to use the Debug UART after that.
> gentle ping ...

Nothing immediately springs to mind.
HVS underrun generally means that either the scene is too complex
(unlikely as it worked before the suspend), or that the relevant
clocks have been scaled down below the necessary levels to deliver the
pixel data.

Checking the docs there are bits to alter how underruns are handled.
Setting bits 4, 12, and 20 in SCALER_DISPDITHER is meant to insert
background colour pixels into the stream during underflows instead of
aborting producing any output. (It's one bit for each display
channel).

  Dave

> >
> > Scenario:
> >
> > Steps:
> > 1. Flash latest Raspberry Pi OS (32 bit) on SD card
> > 2. Build Kernel from repo [2] which based on Linux 6.12-rc3 above with
> > arm/multi_v7_defconfig
> > 3. Replace Kernel, modules + DTB on SD card with build ones
> > 4. add the following to confix.txt
> > device_tree=bcm2837-rpi-3-b-plus.dtb
> > enable_uart=1
> > 5. change/add the following to cmdline.txt
> > console=ttyS1,11520 no_console_suspend=1
> > 6. connect the following devices to Raspberry Pi 3 B+ :
> > USB mouse
> > USB keyboard
> > Logilink HDMI switch + HDMI monitor
> > Debug UART adapter (USB side to PC)
> > 7. Power on board and boot into X11
> > 8. Change to root
> > 9. Enable wakeup for ttyS1 ( echo enabled >
> > /sys/class/tty/ttyS1/power/wakeup )
> > 10. Trigger suspend to idle via X11 (echo freeze > /sys/power/state)
> > 11. Wakeup Raspberry Pi via Debug UART Currently I don't see a
> > relation to the VC4 HDMI Sink issue, because this issue occur
> > independently. Until now i wasn't able to reproduce it without the
> > HDMI Switch. Not sure this is related but sometimes the cursor is also
> > corrupted with noise after resume. What can I do to investigate this
> > further?
> > [1] -
> > https://lore.kernel.org/dri-devel/c657d3e9-e4fb-4dac-a611-45655511e500@gmx.net/
> > [2] - https://github.com/lategoodbye/linux-dev/commits/v6.12-pm_v2/
> >
> >
>


More information about the dri-devel mailing list