Skip to content

Conversation

@6by9
Copy link
Contributor

@6by9 6by9 commented Oct 30, 2025

PR to create CI artifacts supporting AMD and Intel Xe GPUs.

@geerlingguy
Copy link

Also just to keep the breadcrumbs going:

@6by9 6by9 changed the title PCIe GPU testing 6.18: PCIe GPU testing (AMD and Intel Xe) Oct 30, 2025
@popcornmix popcornmix force-pushed the rpi-6.18.y branch 2 times, most recently from d9f2960 to 4a4ea03 Compare November 10, 2025 11:32
@6by9 6by9 force-pushed the rpi-6.18.y-pcie-gpu branch from 2ef2bea to b17e55e Compare November 20, 2025 14:00
@6by9
Copy link
Contributor Author

6by9 commented Nov 20, 2025

Branch rebased to keep it relevant.

I've just noted https://lore.kernel.org/dri-devel/[email protected]/
So Xe won't work on the 16kB kernel at present.

I don't see it having been merged, so at some point it would be useful to test it as the thread appears to have stalled.

@popcornmix popcornmix force-pushed the rpi-6.18.y branch 3 times, most recently from e380363 to d003d86 Compare December 1, 2025 11:29
pelwell and others added 20 commits December 1, 2025 12:27
This patch adds the device ID for the BCM4343A2 module, found e.g. in
the Infineon (Cypress) CYW43439 chip. The required firmware file is
named 'BCM4343A2.hcd'.

Signed-off-by: Phil Elwell <[email protected]>
i2c_mux_add_adapter takes a force_nr parameter that allows an explicit
bus number to be associated with a channel. However, only i2c-mux-reg
and i2c-mux-gpio make use of it.

To help with situations where it is desirable to have a fixed, known
base address for the channels of a mux, create a "base-nr" property.
When force_nr is 0 and base-nr is set and non-zero, form a force_nr
value from the sum of base-nr and the channel ID.

Signed-off-by: Phil Elwell <[email protected]>
In deep sleep mode (DS1) ARM is off and once exit trigger comes than
mailbox Interrupt comes to host and whole reinitiation should be done
in the ARM to start TX/RX.

Also fix below issus for DS1 exit:
1. Sent Tx Control frame only after firmware redownload complete (check
F2 Ready before sending Tx Control frame to Firmware)
2. intermittent High DS1 TX Exit latency time (almost 3sec) ==> This is
fixed by skipping host Mailbox interrupt Multiple times (ulp state
mechanism)
3. RX GlOM save/restore in Firmware
4. Add ULP event enable & event_msgs_ext iovar configuration in FMAC
5. Add ULP_EVENT_RECV state machine for sbwad support
6. Support 2 Byte Shared memory read for DS1 Exit HUDI implementation

Signed-off-by: Praveen Babu C <[email protected]>
Signed-off-by: Naveen Gupta <[email protected]>
[Merge from 4.14.77 to 5.4.18; set BRCMF_SDIO_MAX_ACCESS_ERRORS to 20]
Signed-off-by: Chi-hsien Lin <[email protected]>
JIRA: SWWLAN-135583
JIRA: SWWLAN-136577
1. If firmware supports 4-way handshake offload but not supports DPP
4-way offload, when user first connects encryption network, driver will
set "sup_wpa 1" to firmware, but it will further result in DPP
connection failure since firmware won't send EAPOL frame to host.

2. Fix DPP AP mode handling action frames.

3. For some firmware without fwsup support, the join procedure will be
skipped due to "sup_wpa" iovar returning not-support. Check the fwsup
feature before do such iovar.

Signed-off-by: Kurt Lee <[email protected]>
Signed-off-by: Double Lo <[email protected]>
Signed-off-by: Chi-hsien Lin <[email protected]>
Commit 7d239fb broke 802.1X authentication by setting
profile->use_fwsup = NONE whenever PSK is not used. However
802.1X does not use PSK and requires profile->use_fwsup set
to 1X, or brcmf_cfg80211_set_pmk() fails. Fix this by checking
that profile->use_fwsup is not already set to 1X and avoid
setting it to NONE in that case.

Fixes: 7d239fb (brcmfmac: Fix interoperating DPP and other encryption network access)
Fixes: raspberrypi#5964
Application class A2 cards require CQ to be enabled to realise their
stated performance figures. Add support to enable/disable card CQ via
the Performance Enhancement extension register, and cater for the slight
differences in command set versus eMMC.

Signed-off-by: Jonathan Bell <[email protected]>
The Performance Extension register is regularly accessed in a hot path
to do write cache flushes. Don't invoke kmalloc/kfree for every access,
preallocate a 512B buffer for this purpose.

Also remove an unused alloc in sd_enable_cache().

Signed-off-by: Jonathan Bell <[email protected]>
Add a LED_FULL trigger equivalent to mmc_start_request() in
mmc_cqe_start_req(), otherwise it stays off forever.

Signed-off-by: Jonathan Bell <[email protected]>
For unknown reasons the controller seems to reset the idle polling timer
interval on CQE enable/disable to 8 clocks which is extremely short.

Just use the reset value in the eMMC spec (4096 clock periods which at
200MHz is ~20uS).

Signed-off-by: Jonathan Bell <[email protected]>
The eMMC spec says that in certain circumstances the controller can't
respond to a halt request - in practice, this occurs if a CMD
timeout happens (card went away/crashed).

Clear the halt request by writing 0 to CQHCI_CTL. Also fix a logic error
testing for halt in cqhci_request.

Signed-off-by: Jonathan Bell <[email protected]>
Certain status bits in these registers may need polling outside of
SD-specific code. Export in sd_ops.h

Signed-off-by: Jonathan Bell <[email protected]>
Don't attempt to turn on CQ if the other mandatory features are not
indicated as supported by the card. Also make sure that the register write
actually stuck, as some cards claim support but never report back that
the queue engine is enabled.

Signed-off-by: Jonathan Bell <[email protected]>
Also report the card's supported queue depth in the message log.

Signed-off-by: Jonathan Bell <[email protected]>
The spec allows for up to two 512-byte pages to be allocated for the
Extension Register General Info block, so allocate accordingly.

Signed-off-by: Jonathan Bell <[email protected]>
The attached PHY performs parameter validation, so the switch from HS200
to HS (before selecting HS400/HS400es) with a 200MHz clock fails to
update pad timings and results in CRC errors from the card.

Underclocking the interface is safe, so do that in the downgrade callback.

Signed-off-by: Jonathan Bell <[email protected]>
This gains about 8-12% sequential write speed with the fastest SD/eMMC
cards, and Class A1/A2 card sequential performance is only assured with
a 4MiB write length.

Signed-off-by: Jonathan Bell <[email protected]>
If the controller is being reset, then the CQE needs to be reset as well.

For removable cards, CQHCI_SSC1 must specify a polling mode (CBC=0)
otherwise it's possible that the controller stops emitting periodic
CMD13s on card removal, without raising an error status interrupt.

Signed-off-by: Jonathan Bell <[email protected]>
Recovery claims the MMC card so the card-detect work gets significantly
delayed - leading to lots of error recovery loops that can never do
anything but fail.

Explicitly detect the card after CQE has halted and bail if it's not
there.

Also ratelimit a not-very-descriptive warning - one occurrence in dmesg
is enough to signal that something is amiss.

Signed-off-by: Jonathan Bell <[email protected]>
Command Queueing requires Write Cache and Power off Notification support
from the card - but using the write cache forms a contract with the host
whereby the card expects to be told about impending power-down.

The implication is that (for performance) the card can do unsafe things
with pending write data - including reordering what gets committed to
nonvolatile storage at what time.

Exposed SD slots and platforms powered by hotpluggable means (i.e.
Raspberry Pis) can't guarantee that surprise removal won't happen.

To limit the scope for cards to invent new ways to trash filesystems,
limit pending writes to 1 (equivalent to the non-CQ behaviour).

Signed-off-by: Jonathan Bell <[email protected]>

fixup: mmc: restrict posted write counts for SD cards in CQ mode

Leaving card->max_posted_writes unintialised was a bad thing to do.

Also, cqe_enable is 1 if hsq is enabled as hsq substitutes the cqhci
implementation with its own.

Signed-off-by: Jonathan Bell <[email protected]>
Posted write tracking introduced in the commit below raced with re-use
of the requests between completion and submission, potentially causing
underflow of the pending write count.

Fixes: e6c1e86 ("mmc: restrict posted write counts for SD cards in CQ mode")

Signed-off-by: Jonathan Bell <[email protected]>
6by9 and others added 13 commits December 1, 2025 12:28
Drop from RGB to YUV422 output if RGB couldn't be supported
within the defined max_bpc and TMDS rates, and then try
dropping max_bpc.

Signed-off-by: Dave Stevenson <[email protected]>
The upstream version has limited functionality.

Signed-off-by: Dave Stevenson <[email protected]>

Fixup downstream pinctrl-rp1 driver
While we continue to use the downstream RP1 driver, update some other
Kconfig settings to recognise MFD_RP1 as a valid RP1 driver.

Signed-off-by: Phil Elwell <[email protected]>
The DesignWare AXI DMAC IP can be configured with heterogeneous channel
parameters. Allow maximum burst length to be set per-channel by making
snps,axi-max-burst-len an array.

Signed-off-by: Phil Elwell <[email protected]>
Add a mechanism to allow clients to prefer some DMA channels over
others. This is required to allow high-bandwidth clients to request
one of the two "heavy" channels, but could also be used to prevent
some clients from hogging all channels.

Signed-off-by: Phil Elwell <[email protected]>
The patch "dmaengine: dw-axi-dmac: add per-channel AXI burst length
support" programs ARLEN/AWLEN from the snps,axi-max-burst-len array but
still exposed a single max_burst value via dma_get_slave_caps(). As a
result all channels reported 8 even when limited to 4, leading to
warnings:

  dma dma2chan5: requested source burst length 8 exceeds supported 4

Add a .device_caps callback to return the correct per-channel max_burst.
This allows drivers like amba-pl011 to clamp burst lengths properly.

Fixes: 0e4e6a0c4f4e ("dmaengine: dw-axi-dmac: add per-channel AXI burst length support")
Signed-off-by: Nicolai Buchwitz <[email protected]>
Enable by adding the following to cmdline.txt:
`fullscreen_logo_name=logo.tga fullscreen_logo=1`
Will show the logo file present in /lib/firmware/ on the screen.
This will be fullscreen and rendered early at boot.
Any remaining space is filled with solid color from the image border.
If TGA file is too big, image is clipped accordingly.

Signed-off-by: Ben Benson <[email protected]>

Splash Screen: bug fix

Prevents fullscreen logos from being drawn multiple times.
With small enough logos, the image would be drawn multiple times across the screen.

Signed-off-by: Ben Benson <[email protected]>

fbcon: Add defensive coding to logo loader

There were various points where the loader was using uninitialised
data, had the potential to run off the end of an array, or was
handling core functions incorrectly. Fix these up.

Also handle 24bpp and 32bpp framebuffers.

Signed-off-by: Dave Stevenson <[email protected]>
Step wise governor increases the mitigation level when the temperature
goes above a threshold and will decrease the mitigation when the
temperature falls below the threshold. If it were a case, where the
temperature hovers around a threshold, the mitigation will be applied
and removed at every iteration. This reaction to the temperature is
inefficient for performance.

The use of hysteresis temperature could avoid this ping-pong of
mitigation by relaxing the mitigation to happen only when the
temperature goes below this lower hysteresis value.

Signed-off-by: Ram Chandrasekar <[email protected]>
Signed-off-by: Lina Iyer <[email protected]>

drivers: thermal: step_wise: avoid throttling at hysteresis temperature after dropping below it

Signed-off-by: Serge Schneider <[email protected]>

Fix hysteresis support in gov_step_wise.c

Directly get hyst value instead of going through an
optional and, now, unimplemented function.

Signed-off-by: Jürgen Kreileder <[email protected]>
Upstream series https://lore.kernel.org/linux-media/[email protected]/

The subdev format documentation has a subsection describing how to use
the media bus pixel codes for serial buses. While it describes the
sampling part well, it doesn't really describe the current convention
used for the components order.

Let's improve that.

Signed-off-by: Maxime Ripard <[email protected]>
Upstream series https://lore.kernel.org/linux-media/[email protected]/

The tc358743 is an HDMI to MIPI-CSI2 bridge. It can output all three
HDMI 1.4 video formats: RGB 4:4:4, YCbCr 4:2:2, and YCbCr 4:4:4.

RGB 4:4:4 is converted to the MIPI-CSI2 RGB888 video format, and listed
in the driver as MEDIA_BUS_FMT_RGB888_1X24.

Most CSI2 receiver drivers then map MEDIA_BUS_FMT_RGB888_1X24 to
V4L2_PIX_FMT_RGB24.

However, V4L2_PIX_FMT_RGB24 is defined as having its color components in
the R, G and B order, from left to right. MIPI-CSI2 however defines the
RGB888 format with blue first.

This essentially means that the R and B will be swapped compared to what
V4L2_PIX_FMT_RGB24 defines.

The proper MBUS format would be BGR888, so let's use that.

Fixes: d32d986 ("[media] Driver for Toshiba TC358743 HDMI to CSI-2 bridge")
Signed-off-by: Maxime Ripard <[email protected]>
The mappings are the reverse of r8g8b8 and r5g6b5 respectively

Signed-off-by: Dave Stevenson <[email protected]>
Pass-through mode disables all gamma and brightness processing, sending
the raw pixel data directly to the LEDs. It is enabled by setting the
brightness to zero, either in Device Tree or using the runtime method of
writing a single byte (in this case 0) to the device.

See: raspberrypi#7108

Signed-off-by: Phil Elwell <[email protected]>
pelwell and others added 5 commits December 2, 2025 14:28
Leave pcie1/pciex1/nvme disabled unless a DT parameter is used.

Signed-off-by: Phil Elwell <[email protected]>
Corrects typo that set that register to only be 8 bit.

Fixes: 7736218 ("media: imx477: Convert to use V4L2_CCI library")
Signed-off-by: Dave Stevenson <[email protected]>
The Raspberry Pi firmware has assumed that top level #size-cells value
in dtb files is 1. As a result, the dts source files have had to use
32-bit sizes, making it awkward to declare memory regions of 4GB or
larger, requiring them to be split into chunks. This primarily affects
Pi 5, where the dts source has made use of conditional compilation to
choose either 64-bit or 32-bit sizes, based on the presence or absence
of the defined cpp symbol FIRMWARE_UPDATED.

As of EEPROM release pieeprom-2025-02-11, the firmware has read and made
use of the actual #size-cells value declared in the dtb, allowing the
use of 64-bit sizes. Remove the conditional sections, retaining the
64-bit size values.

Signed-off-by: Phil Elwell <[email protected]>
Various PCIe controllers on ARM64 platforms don't support cache
snooping, which leads to numerous issues when attempting to use
PCIe graphics cards.

Switching ttm_prot_from_caching to return pgprot_dmacoherent for
ttm_cached pages solves the issue, albeit with a performance hit.
There is a second check in ttm_prot_from_caching that also needs
updating.

Signed-off-by: Yang Bo <[email protected]>
Signed-off-by: Dave Stevenson <[email protected]>
Also includes SND_HDA_* modules for audio on AMD GPUs.

Signed-off-by: Dave Stevenson <[email protected]>
@6by9 6by9 force-pushed the rpi-6.18.y-pcie-gpu branch from b17e55e to 6bf3935 Compare December 9, 2025 14:15
@6by9
Copy link
Contributor Author

6by9 commented Dec 9, 2025

Branch rebased.

@pigong
Copy link

pigong commented Dec 9, 2025

I guess you don't want noise and user testing here. But just as a thumbs up, I've installed this kernel on a rpi5 with oculink-connected RX 6800 XT, and the combo seems rock-solid from a user perspective. I've run multiple games and benchmarks, as well as Jeffs llama examples both in chat- and in web-server mode. Not a single hickup. The card even seems to go into suspend mode and recovers on use.
The dmesg output isn't clean, however. Just for the record I'll post a segment here. Should you want more, let me know:

...
[    3.768614] hci_uart_bcm serial0-0: supply vbat not found, using dummy regulator
[    3.768668] hci_uart_bcm serial0-0: supply vddio not found, using dummy regulator
[    3.772567] [drm] amdgpu kernel modesetting enabled.
[    3.774978] vc4-drm axi:gpu: bound 107c580000.hvs (ops vc4_hvs_ops [vc4])
[    3.775251] snd_hda_intel 0001:03:00.1: enabling device (0000 -> 0002)
[    3.775401] amdgpu 0001:03:00.0: enabling device (0000 -> 0002)
[    3.775419] snd_hda_intel 0001:03:00.1: Force to snoop mode by module option
[    3.775556] amdgpu 0001:03:00.0: amdgpu: initializing kernel modesetting (SIENNA_CICHLID 0x1002:0x73BF 0x1EAE:0x6701 0xC1).
[    3.775580] amdgpu 0001:03:00.0: amdgpu: register mmio base: 0x80000000
[    3.775585] amdgpu 0001:03:00.0: amdgpu: register mmio size: 1048576
[    3.780095] snd_hda_intel 0001:03:00.1: arch assigned 64-bit MSI address 0xfffffff000 but device only supports 32 bits
[    3.792340] Registered IR keymap rc-cec
[    3.792400] rc rc0: vc4-hdmi-0 as /devices/platform/soc@107c000000/107c701400.hdmi/rc/rc0
[    3.810657] input: vc4-hdmi-0 as /devices/platform/soc@107c000000/107c701400.hdmi/rc/rc0/input1
[    3.877002] input: vc4-hdmi-0 HDMI Jack as /devices/platform/soc@107c000000/107c701400.hdmi/sound/card1/input2
[    3.883166] vc4-drm axi:gpu: bound 107c701400.hdmi (ops vc4_hdmi_ops [vc4])
[    3.884637] amdgpu 0001:03:00.0: amdgpu: detected ip block number 0 <common_v1_0_0> (nv_common)
[    3.884644] amdgpu 0001:03:00.0: amdgpu: detected ip block number 1 <gmc_v10_0_0> (gmc_v10_0)
[    3.884649] amdgpu 0001:03:00.0: amdgpu: detected ip block number 2 <ih_v5_0_0> (navi10_ih)
[    3.884651] amdgpu 0001:03:00.0: amdgpu: detected ip block number 3 <psp_v11_0_0> (psp)
[    3.884654] amdgpu 0001:03:00.0: amdgpu: detected ip block number 4 <smu_v11_0_0> (smu)
[    3.884657] amdgpu 0001:03:00.0: amdgpu: detected ip block number 5 <dce_v1_0_0> (dm)
[    3.884659] amdgpu 0001:03:00.0: amdgpu: detected ip block number 6 <gfx_v10_0_0> (gfx_v10_0)
[    3.884661] amdgpu 0001:03:00.0: amdgpu: detected ip block number 7 <sdma_v5_2_0> (sdma_v5_2)
[    3.884664] amdgpu 0001:03:00.0: amdgpu: detected ip block number 8 <vcn_v3_0_0> (vcn_v3_0)
[    3.884666] amdgpu 0001:03:00.0: amdgpu: detected ip block number 9 <jpeg_v3_0_0> (jpeg_v3_0)
[    3.900333] Registered IR keymap rc-cec
[    3.900583] rc rc1: vc4-hdmi-1 as /devices/platform/soc@107c000000/107c706400.hdmi/rc/rc1
[    3.900684] input: vc4-hdmi-1 as /devices/platform/soc@107c000000/107c706400.hdmi/rc/rc1/input3
[    3.906887] amdgpu 0001:03:00.0: amdgpu: Fetched VBIOS from ROM BAR
[    3.908329] amdgpu: ATOM BIOS: 113-1N21XTMIN255W_210810
[    3.919311] input: vc4-hdmi-1 HDMI Jack as /devices/platform/soc@107c000000/107c706400.hdmi/sound/card2/input4
[    3.924383] vc4-drm axi:gpu: bound 107c706400.hdmi (ops vc4_hdmi_ops [vc4])
[    3.924570] vc4-drm axi:gpu: bound 107c500000.mop (ops vc4_txp_ops [vc4])
[    3.924643] vc4-drm axi:gpu: bound 107c501000.moplet (ops vc4_txp_ops [vc4])
[    3.924704] vc4-drm axi:gpu: bound 107c410000.pixelvalve (ops vc4_crtc_ops [vc4])
[    3.924753] vc4-drm axi:gpu: bound 107c411000.pixelvalve (ops vc4_crtc_ops [vc4])
[    3.926338] [drm] Initialized vc4 0.0.0 for axi:gpu on minor 1
[    3.926561] amdgpu 0001:03:00.0: amdgpu: Trusted Memory Zone (TMZ) feature disabled as experimental (default)
[    3.926577] amdgpu 0001:03:00.0: amdgpu: PCIE atomic ops is not supported
[    3.926587] amdgpu 0001:03:00.0: amdgpu: GPU posting now...
[    3.926622] amdgpu 0001:03:00.0: amdgpu: MEM ECC is not presented.
[    3.926626] amdgpu 0001:03:00.0: amdgpu: SRAM ECC is not presented.
[    3.926677] amdgpu 0001:03:00.0: amdgpu: vm size is 262144 GB, 4 levels, block size is 9-bit, fragment size is 9-bit
[    3.926699] amdgpu 0001:03:00.0: BAR 2 [mem 0x1810000000-0x18101fffff 64bit pref]: releasing
[    3.926704] amdgpu 0001:03:00.0: BAR 0 [mem 0x1800000000-0x180fffffff 64bit pref]: releasing
[    3.926718] pcieport 0001:02:00.0: bridge window [mem 0x1800000000-0x18101fffff 64bit pref]: releasing
[    3.926722] pcieport 0001:01:00.0: bridge window [mem 0x1800000000-0x1817ffffff 64bit pref]: releasing
[    3.926725] pcieport 0001:00:00.0: bridge window [mem 0x1800000000-0x1817ffffff 64bit pref]: releasing
[    3.926737] pcieport 0001:00:00.0: bridge window [mem size 0x600000000 64bit pref]: can't assign; no space
[    3.926743] pcieport 0001:00:00.0: bridge window [mem size 0x600000000 64bit pref]: failed to assign
[    3.926746] pcieport 0001:00:00.0: bridge window [??? 0x00001000-0x00001fff flags 0x20080000]: can't assign; no space
[    3.926749] pcieport 0001:00:00.0: bridge window [??? 0x00001000-0x00001fff flags 0x20080000]: failed to assign
[    3.926752] pcieport 0001:00:00.0: bridge window [mem size 0x600000000 64bit pref]: can't assign; no space
[    3.926754] pcieport 0001:00:00.0: bridge window [mem size 0x600000000 64bit pref]: failed to assign
[    3.926756] pcieport 0001:00:00.0: bridge window [??? 0x00001000-0x00001fff flags 0x20080000]: can't assign; no space
[    3.926757] pcieport 0001:00:00.0: bridge window [??? 0x00001000-0x00001fff flags 0x20080000]: failed to assign
[    3.926762] pcieport 0001:01:00.0: bridge window [mem size 0x600000000 64bit pref]: can't assign; no space
[    3.926763] pcieport 0001:01:00.0: bridge window [mem size 0x600000000 64bit pref]: failed to assign
[    3.926764] pcieport 0001:01:00.0: bridge window [io  size 0x1000]: can't assign; no space
[    3.926766] pcieport 0001:01:00.0: bridge window [io  size 0x1000]: failed to assign
[    3.926772] pcieport 0001:01:00.0: bridge window [mem size 0x600000000 64bit pref]: can't assign; no space
[    3.926776] pcieport 0001:01:00.0: bridge window [mem size 0x600000000 64bit pref]: failed to assign
[    3.926779] pcieport 0001:01:00.0: bridge window [io  size 0x1000]: can't assign; no space
[    3.926781] pcieport 0001:01:00.0: bridge window [io  size 0x1000]: failed to assign
[    3.926785] pcieport 0001:02:00.0: bridge window [mem size 0x600000000 64bit pref]: can't assign; no space
[    3.926788] pcieport 0001:02:00.0: bridge window [mem size 0x600000000 64bit pref]: failed to assign
[    3.926790] pcieport 0001:02:00.0: bridge window [io  size 0x1000]: can't assign; no space
[    3.926791] pcieport 0001:02:00.0: bridge window [io  size 0x1000]: failed to assign
[    3.926792] pcieport 0001:02:00.0: bridge window [mem size 0x600000000 64bit pref]: can't assign; no space
[    3.926794] pcieport 0001:02:00.0: bridge window [mem size 0x600000000 64bit pref]: failed to assign
[    3.926795] pcieport 0001:02:00.0: bridge window [io  size 0x1000]: can't assign; no space
[    3.926796] pcieport 0001:02:00.0: bridge window [io  size 0x1000]: failed to assign
[    3.926798] amdgpu 0001:03:00.0: BAR 0 [mem size 0x400000000 64bit pref]: can't assign; no space
[    3.926800] amdgpu 0001:03:00.0: BAR 0 [mem size 0x400000000 64bit pref]: failed to assign
[    3.926802] amdgpu 0001:03:00.0: BAR 2 [mem size 0x00200000 64bit pref]: can't assign; no space
[    3.926804] amdgpu 0001:03:00.0: BAR 2 [mem size 0x00200000 64bit pref]: failed to assign
[    3.926805] amdgpu 0001:03:00.0: BAR 0 [mem size 0x400000000 64bit pref]: can't assign; no space
[    3.926806] amdgpu 0001:03:00.0: BAR 0 [mem size 0x400000000 64bit pref]: failed to assign
[    3.926808] amdgpu 0001:03:00.0: BAR 2 [mem size 0x00200000 64bit pref]: can't assign; no space
[    3.926809] amdgpu 0001:03:00.0: BAR 2 [mem size 0x00200000 64bit pref]: failed to assign
[    3.926811] pcieport 0001:00:00.0: PCI bridge to [bus 01-03]
[    3.926813] pcieport 0001:00:00.0:   bridge window [mem 0x1b80000000-0x1b802fffff]
[    3.926816] pcieport 0001:00:00.0: PCI bridge to [bus 01-03]
[    3.926818] pcieport 0001:00:00.0:   bridge window [mem 0x1b80000000-0x1b802fffff]
[    3.926819] pcieport 0001:00:00.0:   bridge window [mem 0x1800000000-0x1817ffffff 64bit pref]
[    3.926821] pcieport 0001:01:00.0: PCI bridge to [bus 02-03]
[    3.926824] pcieport 0001:01:00.0:   bridge window [mem 0x1b80000000-0x1b801fffff]
[    3.926827] pcieport 0001:01:00.0:   bridge window [mem 0x1800000000-0x1817ffffff 64bit pref]
[    3.926832] pcieport 0001:02:00.0: PCI bridge to [bus 03]
[    3.926837] pcieport 0001:02:00.0:   bridge window [mem 0x1b80000000-0x1b801fffff]
[    3.926840] pcieport 0001:02:00.0:   bridge window [mem 0x1800000000-0x18101fffff 64bit pref]
[    3.926849] amdgpu 0001:03:00.0: amdgpu: Not enough PCI address space for a large BAR.
[    3.926854] amdgpu 0001:03:00.0: BAR 0 [mem 0x1800000000-0x180fffffff 64bit pref]: assigned
[    3.926862] amdgpu 0001:03:00.0: BAR 2 [mem 0x1810000000-0x18101fffff 64bit pref]: assigned
[    3.926874] amdgpu 0001:03:00.0: amdgpu: VRAM: 16368M 0x0000008000000000 - 0x00000083FEFFFFFF (16368M used)
[    3.926878] amdgpu 0001:03:00.0: amdgpu: GART: 512M 0x0000000000000000 - 0x000000001FFFFFFF
[    3.926885] [drm] Detected VRAM RAM=16368M, BAR=256M
[    3.926889] [drm] RAM width 512bits GDDR6
[    3.932507] amdgpu 0001:03:00.0: amdgpu: amdgpu: 16368M of VRAM memory ready
[    3.932522] amdgpu 0001:03:00.0: amdgpu: amdgpu: 8109M of GTT memory ready.
[    3.932558] [drm] GART: num cpu pages 32768, num gpu pages 131072
[    3.932760] [drm] PCIE GART of 512M enabled (table at 0x0000008000000000).
[    3.934285] vc4-drm axi:gpu: [drm] Cannot find any crtc or sizes
[    3.941027] vc4-drm axi:gpu: [drm] Cannot find any crtc or sizes
[    3.944619] vc4-drm axi:gpu: [drm] Cannot find any crtc or sizes
[    4.021177] input: HDA ATI HDMI HDMI/DP,pcm=3 as /devices/platform/axi/1000110000.pcie/pci0001:00/0001:00:00.0/0001:01:00.0/0001:02:00.0/0001:03:00.1/sound/card0/input5
[    4.028996] input: HDA ATI HDMI HDMI/DP,pcm=7 as /devices/platform/axi/1000110000.pcie/pci0001:00/0001:00:00.0/0001:01:00.0/0001:02:00.0/0001:03:00.1/sound/card0/input6
[    4.052354] input: HDA ATI HDMI HDMI/DP,pcm=8 as /devices/platform/axi/1000110000.pcie/pci0001:00/0001:00:00.0/0001:01:00.0/0001:02:00.0/0001:03:00.1/sound/card0/input7
[    4.056393] input: HDA ATI HDMI HDMI/DP,pcm=9 as /devices/platform/axi/1000110000.pcie/pci0001:00/0001:00:00.0/0001:01:00.0/0001:02:00.0/0001:03:00.1/sound/card0/input8
[    4.056471] input: HDA ATI HDMI HDMI/DP,pcm=10 as /devices/platform/axi/1000110000.pcie/pci0001:00/0001:00:00.0/0001:01:00.0/0001:02:00.0/0001:03:00.1/sound/card0/input9
[    4.056514] input: HDA ATI HDMI HDMI/DP,pcm=11 as /devices/platform/axi/1000110000.pcie/pci0001:00/0001:00:00.0/0001:01:00.0/0001:02:00.0/0001:03:00.1/sound/card0/input10
[    4.128725] Bluetooth: hci0: BCM: chip id 107
[    4.128927] Bluetooth: hci0: BCM: features 0x2f
[    4.130066] Bluetooth: hci0: BCM4345C0
[    4.130077] Bluetooth: hci0: BCM4345C0 (003.001.025) build 0000
[    4.133078] Bluetooth: hci0: BCM4345C0 'brcm/BCM4345C0.raspberrypi,5-model-b.hcd' Patch
[    4.831265] Bluetooth: hci0: BCM: features 0x2f
[    4.832606] Bluetooth: hci0: BCM43455 37.4MHz Raspberry Pi 3+-0190
[    4.832610] Bluetooth: hci0: BCM4345C0 (003.001.025) build 0382
[    4.832945] Bluetooth: hci0: BCM: Using default device address (43:45:c0:00:1f:ac)
[    4.913443] EXT4-fs (sda3): mounted filesystem 6e01adb4-5590-4389-8397-3047e993f731 r/w with ordered data mode. Quota mode: none.
[    5.039466] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    5.040353] Bluetooth: BNEP filters: protocol multicast
[    5.040374] Bluetooth: BNEP socket layer initialized
[    5.042703] Bluetooth: MGMT ver 1.23
[    5.046927] NET: Registered PF_ALG protocol family
[    5.070419] Bluetooth: RFCOMM TTY layer initialized
[    5.070443] Bluetooth: RFCOMM socket layer initialized
[    5.070463] Bluetooth: RFCOMM ver 1.11
[    5.334954] amdgpu 0001:03:00.0: amdgpu: STB initialized to 2048 entries
[    5.335144] amdgpu 0001:03:00.0: amdgpu: [drm] Loading DMUB firmware via PSP: version=0x02020020
[    5.335831] [drm] use_doorbell being set to: [true]
[    5.335857] [drm] use_doorbell being set to: [true]
[    5.335871] [drm] use_doorbell being set to: [true]
[    5.335884] [drm] use_doorbell being set to: [true]
[    5.335904] amdgpu 0001:03:00.0: amdgpu: [VCN instance 0] Found VCN firmware Version ENC: 1.33 DEC: 4 VEP: 0 Revision: 3
[    5.336918] amdgpu 0001:03:00.0: amdgpu: [VCN instance 1] Found VCN firmware Version ENC: 1.33 DEC: 4 VEP: 0 Revision: 3
[    5.401555] amdgpu 0001:03:00.0: amdgpu: reserve 0xa00000 from 0x83fd000000 for PSP TMR
[    5.545196] amdgpu 0001:03:00.0: amdgpu: SECUREDISPLAY: optional securedisplay ta ucode is not available
[    5.545251] amdgpu 0001:03:00.0: amdgpu: smu driver if version = 0x00000040, smu fw if version = 0x00000041, smu fw program = 0, version = 0x003a5a00 (58.90.0)
[    5.545289] amdgpu 0001:03:00.0: amdgpu: SMU driver if version not matched
[    5.545327] amdgpu 0001:03:00.0: amdgpu: use vbios provided pptable
[    5.625984] amdgpu 0001:03:00.0: amdgpu: SMU is initialized successfully!
[    5.627568] amdgpu 0001:03:00.0: amdgpu: [drm] Display Core v3.2.351 initialized on DCN 3.0
[    5.627588] amdgpu 0001:03:00.0: amdgpu: [drm] DP-HDMI FRL PCON supported
[    5.629254] amdgpu 0001:03:00.0: amdgpu: [drm] DMUB hardware initialized: version=0x02020020
[    5.651326] snd_hda_intel 0001:03:00.1: bound 0001:03:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[    5.653313] amdgpu 0001:03:00.0: amdgpu: kiq ring mec 2 pipe 1 q 0
[    5.661693] amdgpu 0001:03:00.0: amdgpu: SE 4, SH per SE 2, CU per SH 10, active_cu_number 72
[    5.661703] amdgpu 0001:03:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[    5.661708] amdgpu 0001:03:00.0: amdgpu: ring gfx_0.1.0 uses VM inv eng 1 on hub 0
[    5.661711] amdgpu 0001:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 4 on hub 0
[    5.661713] amdgpu 0001:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 5 on hub 0
[    5.661716] amdgpu 0001:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[    5.661717] amdgpu 0001:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[    5.661719] amdgpu 0001:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[    5.661721] amdgpu 0001:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[    5.661723] amdgpu 0001:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[    5.661725] amdgpu 0001:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[    5.661728] amdgpu 0001:03:00.0: amdgpu: ring kiq_0.2.1.0 uses VM inv eng 12 on hub 0
[    5.661730] amdgpu 0001:03:00.0: amdgpu: ring sdma0 uses VM inv eng 13 on hub 0
[    5.661732] amdgpu 0001:03:00.0: amdgpu: ring sdma1 uses VM inv eng 14 on hub 0
[    5.661734] amdgpu 0001:03:00.0: amdgpu: ring sdma2 uses VM inv eng 15 on hub 0
[    5.661736] amdgpu 0001:03:00.0: amdgpu: ring sdma3 uses VM inv eng 16 on hub 0
[    5.661738] amdgpu 0001:03:00.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 on hub 8
[    5.661740] amdgpu 0001:03:00.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng 1 on hub 8
[    5.661742] amdgpu 0001:03:00.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng 4 on hub 8
[    5.661745] amdgpu 0001:03:00.0: amdgpu: ring vcn_dec_1 uses VM inv eng 5 on hub 8
[    5.661747] amdgpu 0001:03:00.0: amdgpu: ring vcn_enc_1.0 uses VM inv eng 6 on hub 8
[    5.661749] amdgpu 0001:03:00.0: amdgpu: ring vcn_enc_1.1 uses VM inv eng 7 on hub 8
[    5.661751] amdgpu 0001:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 8 on hub 8
[    5.662752] amdgpu 0001:03:00.0: amdgpu: Using BACO for runtime pm
[    5.663205] [drm] Initialized amdgpu 3.64.0 for 0001:03:00.0 on minor 2
[    5.669224] amdgpu 0001:03:00.0: [drm] Cannot find any crtc or sizes
[    5.669256] [drm] pre_validate_dsc:1666 MST_DSC dsc precompute is not needed
[    5.827813] macb 1f00100000.ethernet eth0: PHY [1f00100000.ethernet-ffffffff:01] driver [Broadcom BCM54213PE] (irq=POLL)
[    5.828240] macb 1f00100000.ethernet eth0: configuring for phy/rgmii-id link mode
[    5.830888] macb 1f00100000.ethernet: gem-ptp-timer ptp clock registered.
[    9.929784] macb 1f00100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control tx
[   35.551146] systemd-journald[226]: Time jumped backwards, rotating.
[   83.472891] [drm] PCIE GART of 512M enabled (table at 0x0000008000000000).
[   83.472922] amdgpu 0001:03:00.0: amdgpu: PSP is resuming...
[   83.544376] amdgpu 0001:03:00.0: amdgpu: reserve 0xa00000 from 0x83fd000000 for PSP TMR
[   83.686542] amdgpu 0001:03:00.0: amdgpu: SECUREDISPLAY: optional securedisplay ta ucode is not available
[   83.686548] amdgpu 0001:03:00.0: amdgpu: SMU is resuming...
[   83.686554] amdgpu 0001:03:00.0: amdgpu: smu driver if version = 0x00000040, smu fw if version = 0x00000041, smu fw program = 0, version = 0x003a5a00 (58.90.0)
[   83.686558] amdgpu 0001:03:00.0: amdgpu: SMU driver if version not matched
[   83.686576] amdgpu 0001:03:00.0: amdgpu: dpm has been enabled
[   83.690413] amdgpu 0001:03:00.0: amdgpu: SMU is resumed successfully!
[   83.690949] amdgpu 0001:03:00.0: amdgpu: kiq ring mec 2 pipe 1 q 0
[   83.703524] amdgpu 0001:03:00.0: amdgpu: [drm] DMUB hardware initialized: version=0x02020020
[   83.725064] amdgpu 0001:03:00.0: [drm] Cannot find any crtc or sizes
[   83.725069] amdgpu 0001:03:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[   83.725073] amdgpu 0001:03:00.0: amdgpu: ring gfx_0.1.0 uses VM inv eng 1 on hub 0
[   83.725075] amdgpu 0001:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 4 on hub 0
[   83.725078] amdgpu 0001:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 5 on hub 0
[   83.725080] amdgpu 0001:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[   83.725082] amdgpu 0001:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[   83.725084] amdgpu 0001:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[   83.725086] amdgpu 0001:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[   83.725088] amdgpu 0001:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[   83.725090] amdgpu 0001:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[   83.725092] amdgpu 0001:03:00.0: amdgpu: ring kiq_0.2.1.0 uses VM inv eng 12 on hub 0
[   83.725095] amdgpu 0001:03:00.0: amdgpu: ring sdma0 uses VM inv eng 13 on hub 0
[   83.725096] amdgpu 0001:03:00.0: amdgpu: ring sdma1 uses VM inv eng 14 on hub 0
[   83.725098] amdgpu 0001:03:00.0: amdgpu: ring sdma2 uses VM inv eng 15 on hub 0
[   83.725099] amdgpu 0001:03:00.0: amdgpu: ring sdma3 uses VM inv eng 16 on hub 0
[   83.725101] amdgpu 0001:03:00.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 on hub 8
[   83.725103] amdgpu 0001:03:00.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng 1 on hub 8
[   83.725104] amdgpu 0001:03:00.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng 4 on hub 8
[   83.725106] amdgpu 0001:03:00.0: amdgpu: ring vcn_dec_1 uses VM inv eng 5 on hub 8
[   83.725107] amdgpu 0001:03:00.0: amdgpu: ring vcn_enc_1.0 uses VM inv eng 6 on hub 8
[   83.725109] amdgpu 0001:03:00.0: amdgpu: ring vcn_enc_1.1 uses VM inv eng 7 on hub 8
[   83.725111] amdgpu 0001:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 8 on hub 8
[   83.732555] amdgpu 0001:03:00.0: [drm] Cannot find any crtc or sizes
[   92.810561] ------------[ cut here ]------------
[   92.810570] WARNING: CPU: 2 PID: 83 at drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c:639 amdgpu_irq_put+0x120/0x140 [amdgpu]
[   92.811211] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device rfcomm algif_hash algif_skcipher af_alg bnep binfmt_misc snd_hda_codec_atihdmi spidev snd_hda_codec_hdmi amdgpu hci_uart btbcm bluetooth ecdh_generic aes_ce_blk aes_ce_cipher ghash_ce ecc rfkill gf128mul snd_hda_intel vc4 raspberrypi_hwmon snd_intel_dspcfg drm_buddy snd_hda_codec drm_panel_backlight_quirks snd_soc_hdmi_codec amdxcp snd_hda_core drm_exec drm_suballoc_helper spi_bcm2835 drm_dma_helper i2c_brcmstb i2c_algo_bit drm_ttm_helper ttm snd_soc_core snd_compress drm_display_helper snd_pcm_dmaengine snd_pcm pisp_be rpi_hevc_dec v4l2_mem2mem videobuf2_dma_contig videobuf2_memops cec gpio_keys rp1_pio videobuf2_v4l2 v3d videodev drm_client_lib gpu_sched drm_shmem_helper videobuf2_common snd_timer pwm_fan snd drm_kms_helper mc rp1_fw raspberrypi_gpiomem rp1_adc sg rp1_mailbox nvmem_rmem sch_fq_codel i2c_dev zram drm lz4_compress fuse drm_panel_orientation_quirks backlight nfnetlink ipv6 libsha1
[   92.811335] CPU: 2 UID: 0 PID: 83 Comm: kworker/2:2 Not tainted 6.18.0-v8-16k+ #1 PREEMPT
[   92.811341] Hardware name: Raspberry Pi 5 Model B Rev 1.1 (DT)
[   92.811344] Workqueue: pm pm_runtime_work
[   92.811354] pstate: 20400009 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   92.811359] pc : amdgpu_irq_put+0x120/0x140 [amdgpu]
[   92.811897] lr : amdgpu_irq_put+0x2c/0x140 [amdgpu]
[   92.812432] sp : ffffc000837b3aa0
[   92.812434] x29: ffffc000837b3aa0 x28: 0000000000000000 x27: ffffd06f56f62320
[   92.812441] x26: ffff800081800000 x25: ffff800081850000 x24: 0000000000001050
[   92.812447] x23: ffff800081854000 x22: ffff800081800000 x21: ffff800081800000
[   92.812452] x20: 0000000000000000 x19: ffff800380ed2008 x18: ffffc000872e3c00
[   92.812458] x17: 0000000000000000 x16: ffffd06fce4dc690 x15: 0000000000000000
[   92.812464] x14: 0000000000000000 x13: ffff800281365200 x12: 0000000000000000
[   92.812470] x11: 0000000000000040 x10: ffffd06f5715ff48 x9 : ffffd06f569ea494
[   92.812475] x8 : ffffc000837b3a68 x7 : 0000000000000000 x6 : ffffffffffffffff
[   92.812481] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
[   92.812486] x2 : ffff8000843e68c0 x1 : ffff8000843e68c0 x0 : 0000000000000000
[   92.812493] Call trace:
[   92.812495]  amdgpu_irq_put+0x120/0x140 [amdgpu] (P)
[   92.813031]  smu_v11_0_disable_thermal_alert+0x24/0x38 [amdgpu]
[   92.813569]  smu_smc_hw_cleanup+0x5c/0x438 [amdgpu]
[   92.814105]  smu_suspend+0x70/0x110 [amdgpu]
[   92.814641]  amdgpu_ip_block_suspend+0x30/0x90 [amdgpu]
[   92.815174]  amdgpu_device_ip_suspend_phase2+0xf8/0x208 [amdgpu]
[   92.815706]  amdgpu_device_suspend+0xf4/0x158 [amdgpu]
[   92.816237]  amdgpu_pmops_runtime_suspend+0x114/0x1c8 [amdgpu]
[   92.816767]  pci_pm_runtime_suspend+0x5c/0x1b8
[   92.816774]  __rpm_callback+0x50/0x1f0
[   92.816780]  rpm_callback+0x7c/0x90
[   92.816786]  rpm_suspend+0xe8/0x578
[   92.816791]  pm_runtime_work+0xd0/0xe0
[   92.816796]  process_one_work+0x158/0x3b8
[   92.816802]  worker_thread+0x2dc/0x3f8
[   92.816807]  kthread+0x14c/0x210
[   92.816811]  ret_from_fork+0x10/0x20
[   92.816817] ---[ end trace 0000000000000000 ]---
[   92.816836] amdgpu 0001:03:00.0: amdgpu: Fail to disable thermal alert!
[   92.816842] amdgpu 0001:03:00.0: amdgpu: suspend of IP block <smu> failed -22
[   95.784338] [drm] PCIE GART of 512M enabled (table at 0x0000008000000000).
[   95.784367] amdgpu 0001:03:00.0: amdgpu: PSP is resuming...
[   95.855950] amdgpu 0001:03:00.0: amdgpu: reserve 0xa00000 from 0x83fd000000 for PSP TMR
[   95.997431] amdgpu 0001:03:00.0: amdgpu: SECUREDISPLAY: optional securedisplay ta ucode is not available
[   95.997436] amdgpu 0001:03:00.0: amdgpu: SMU is resuming...
[   95.997441] amdgpu 0001:03:00.0: amdgpu: smu driver if version = 0x00000040, smu fw if version = 0x00000041, smu fw program = 0, version = 0x003a5a00 (58.90.0)
[   95.997444] amdgpu 0001:03:00.0: amdgpu: SMU driver if version not matched
[   95.997488] amdgpu 0001:03:00.0: amdgpu: dpm has been enabled
[   96.002335] amdgpu 0001:03:00.0: amdgpu: SMU is resumed successfully!
[   96.002870] amdgpu 0001:03:00.0: amdgpu: kiq ring mec 2 pipe 1 q 0
[   96.015150] amdgpu 0001:03:00.0: amdgpu: [drm] DMUB hardware initialized: version=0x02020020
[   96.036762] amdgpu 0001:03:00.0: [drm] Cannot find any crtc or sizes
[   96.036767] amdgpu 0001:03:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[   96.036771] amdgpu 0001:03:00.0: amdgpu: ring gfx_0.1.0 uses VM inv eng 1 on hub 0
[   96.036772] amdgpu 0001:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 4 on hub 0
[   96.036774] amdgpu 0001:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 5 on hub 0
[   96.036776] amdgpu 0001:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[   96.036778] amdgpu 0001:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[   96.036780] amdgpu 0001:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[   96.036782] amdgpu 0001:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[   96.036785] amdgpu 0001:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[   96.036786] amdgpu 0001:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[   96.036789] amdgpu 0001:03:00.0: amdgpu: ring kiq_0.2.1.0 uses VM inv eng 12 on hub 0
[   96.036791] amdgpu 0001:03:00.0: amdgpu: ring sdma0 uses VM inv eng 13 on hub 0
[   96.036793] amdgpu 0001:03:00.0: amdgpu: ring sdma1 uses VM inv eng 14 on hub 0
[   96.036795] amdgpu 0001:03:00.0: amdgpu: ring sdma2 uses VM inv eng 15 on hub 0
[   96.036797] amdgpu 0001:03:00.0: amdgpu: ring sdma3 uses VM inv eng 16 on hub 0
[   96.036799] amdgpu 0001:03:00.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 on hub 8
[   96.036801] amdgpu 0001:03:00.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng 1 on hub 8
[   96.036803] amdgpu 0001:03:00.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng 4 on hub 8
[   96.036805] amdgpu 0001:03:00.0: amdgpu: ring vcn_dec_1 uses VM inv eng 5 on hub 8
[   96.036806] amdgpu 0001:03:00.0: amdgpu: ring vcn_enc_1.0 uses VM inv eng 6 on hub 8
[   96.036808] amdgpu 0001:03:00.0: amdgpu: ring vcn_enc_1.1 uses VM inv eng 7 on hub 8
[   96.036810] amdgpu 0001:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 8 on hub 8
[   96.043241] amdgpu 0001:03:00.0: [drm] Cannot find any crtc or sizes
[  105.259449] ------------[ cut here ]------------
[  105.259458] WARNING: CPU: 2 PID: 83 at drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c:639 amdgpu_irq_put+0x120/0x140 [amdgpu]
[  105.260065] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device rfcomm algif_hash algif_skcipher af_alg bnep binfmt_misc snd_hda_codec_atihdmi spidev snd_hda_codec_hdmi amdg
...

@geerlingguy
Copy link

geerlingguy commented Dec 10, 2025

With the old PR on 6.17.x, I was able to get the AI Pro R9700 working. With this PR on 6.18.x, I get:

[    4.268598] amdgpu 0001:08:00.0: amdgpu: SRAM ECC is not presented.
[    4.268629] amdgpu 0001:08:00.0: amdgpu: RAS INFO: ras initialized successfully, hardware ability[101] ras_mask[101]
[    4.268878] amdgpu 0001:08:00.0: amdgpu: vm size is 262144 GB, 4 levels, block size is 9-bit, fragment size is 9-bit
[    4.269033] amdgpu 0001:08:00.0: amdgpu: Problem resizing BAR0 (-16).
[    4.269079] amdgpu 0001:08:00.0: amdgpu: sw_init of IP block <gmc_v12_0> failed -19
[    4.269082] amdgpu 0001:08:00.0: amdgpu: amdgpu_device_ip_init failed
[    4.269086] amdgpu 0001:08:00.0: amdgpu: Fatal error during GPU init
[    4.269090] amdgpu 0001:08:00.0: amdgpu: amdgpu: finishing device.

Maybe the AMD driver in 6.18 has a new thing where it forces a BAR resize, and that's currently failing? The only thing I could find that's remotely related is this patch. Or could be related to this post: [REGRESSION] amdgpu fails to load external RX 580 since PCI: Allow relaxed bridge window tail sizing.

The RX 7900 XT is loading fine, however.

@6by9
Copy link
Contributor Author

6by9 commented Dec 11, 2025

@pigong I haven't really the time to dig into these
drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c:639 amdgpu_irq_put would appear to be that the interrupt hasn't been enabled, so there are an unbalanced number of calls to disable vs enable.

@geerlingguy There were other patches around for resizing the BAR and releasing the old allocation before creating the new one. I don't know if those would help in this situation. They seem to be referenced in #6621
I don't follow the amdgpu mailing lists to know what may have changed. There aren't masses of changes, so reverting them and retesting would be plausible, but it could also be in the core PCIe handling rather than amdgpu itself.

@geerlingguy
Copy link

@6by9 - With a fresh rebuild of the entire OS, I was able to get the R9700 working again, not sure why it wasn't before... but that previous install was about a month old at this point, and I generally rebuild things weekly, oops :)

It's nice to have just one or two commands to run, and not have to wait for a kernel recompile!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.