在 2026-03-26四的 13:56 +0800,Icenowy Zheng写道: > 在 2026-03-25三的 17:11 +0800,Icenowy Zheng写道: > > 在 2026-03-25三的 16:30 +0800,Icenowy Zheng写道: > > > 在 2026-03-25三的 16:08 +0800,Chen-Yu Tsai写道: > > > > On Wed, Mar 25, 2026 at 4:04 PM Icenowy Zheng <[email protected]> > > > > wrote: > > > > > > > > > > 在 2026-03-25三的 15:19 +0800,Chen-Yu Tsai写道: > > > > > > Hi everyone, > > > > > > > > > > > > This is v2 of my MT8173 PowerVR GPU support series. > > > > > > > > > > > > Changes since v1: > > > > > > - Adapted to changed DT bindings > > > > > > - Dropped driver change > > > > > > - Use same power domain for "a" and "b" GPU power domains > > > > > > > > > > > > This update was requested by Icenowy. > > > > > > > > > > > > > > > > > > This series enables the PowerVR GPU found in the MT8173 > > > > > > SoC, > > > > > > found in > > > > > > some Chromebooks. > > > > > > > > > > > > This version is different from the initial powervr driver > > > > > > submission > > > > > > [1] > > > > > > in that it splits out the GPU glue layer support out of the > > > > > > powervr > > > > > > driver and into a separate clock and power domain driver. > > > > > > The > > > > > > glue > > > > > > code > > > > > > is otherwise the same, and also the same as found in the > > > > > > ChromeOS > > > > > > kernels, with some extra comments and macro names added > > > > > > where > > > > > > possible. > > > > > > > > > > > > Patch 1 adds a binding for the glue layer, called mfgtop. > > > > > > The > > > > > > glue > > > > > > layer > > > > > > contains clock and power controls for the GPU. > > > > > > > > > > > > Patch 2 adds a driver for the glue layer. > > > > > > > > > > > > Patch 3 adds an entry for the MT8173 GPU and 6XT series to > > > > > > the > > > > > > PowerVR > > > > > > binding. > > > > > > > > > > > > Patch 4 adds an entry for the PowerVR 6XT series GPU to the > > > > > > driver. > > > > > > > > > > > > Patch 5 corrects the clock for the GPU (called MFG) power > > > > > > domain. > > > > > > > > > > > > Patch 6 adds device nodes for the GPU and glue layer to the > > > > > > MT8173 > > > > > > dtsi > > > > > > file. > > > > > > > > > > > > Patch 2 and 6 depend on patch 1 to build. I suppose some > > > > > > common > > > > > > immutable tree would be needed from the MediaTek > > > > > > maintainers. > > > > > > > > > > > > The kernel driver successfully probes the hardware and > > > > > > loads > > > > > > the > > > > > > "rogue_4.40.2.51_v1.fw" firmware provided by Imagination > > > > > > Technologies > > > > > > [2]. > > > > > > Userspace was tested with Mesa 24.0.8 from Debian Trixie > > > > > > rebuilt > > > > > > with > > > > > > the powervr vulkan driver enabled. `vulkaninfo` gives some > > > > > > information > > > > > > about the GPU (attached at the end), but running the > > > > > > `triangle` > > > > > > example > > > > > > from the Sascha Willems demos [3] with -DUSE_D2D_WSI=ON as > > > > > > recommended [4] > > > > > > failed with: > > > > > > > > > > > > Can't find a display and a display mode! > > > > > > > > > > I think when using D2D the demos want width and height to be > > > > > explicitly > > > > > specified, otherwise it seems to hardcode 1280x720. > > > > > > > > > > If you're using an elm, could you try to add `-w 1920 -h > > > > > 1080` > > > > > or > > > > > for > > > > > hana `-w 1366 -h 768` ? > > > > > > > > I only did the basic `vulkaninfo` test this time around. To do > > > > anything > > > > interesting probably requires the Mesa 26.1 release. > > > > > > > > PVR_I_WANT_A_BROKEN_VULKAN_DRIVER=1 \ > > > > vkmark --winsys kms -D b81f54f8568deb0fb70a6a1ed845b65d > > > > > > > > just reports "Error: Device specified by uuid is not available" > > > > > > I am very sorry to tell you that, when I run Sascha's demo with > > > Mesa > > > main, I got GPU lost immediately... > > > > > > ``` > > > [ 441.509433] powervr 13000000.gpu: [drm] *ERROR* GPU device > > > lost > > > ``` > > The device lost message seems to be some bug of the open source KMD > or > the firmware. > > When I disable runtime power management of the 13000000.gpu device, > this message does not appear, instead the following message appears > and > the GPU can continue to accept jobs: > > ``` > powervr 13000000.gpu: [drm] Received unknown FWCCB command 2abc0070 > ```
Both the device lost behavior and this message are suspicious, but at least they shouldn't be this patchset's fault. So, for patches 2, 4, 5 in this patchset: `Tested-by: Icenowy Zheng <[email protected]>` (DT binding maintainers suggest not to give binding patches t-b tags) > > > > > However, Zink on PowerVR works, and on Lichee Pi 4A I also got > > `VK_ERROR_DEVICE_LOST` when running Sascha's demos (although the > > kernel > > does not report device lost). > > > > I bet it's a regression on the VK_KHR_display code. > > I'm now sure that it's a regression, it's now tracked at [1]. It's now getting fixed (Mesa MR !40640, already being processed by Marge Bot). Thanks, Icenowy > > [1] https://gitlab.freedesktop.org/mesa/mesa/-/issues/15161 > > > > > Thanks, > > Icenowy > > > > > > > > Icenowy > > > > > > > > > > > This is with Mesa 26.0.2 packages from Debian testing. At least > > > > now > > > > have the powervr vulkan driver enabled by default, so I don't > > > > have > > > > to rebuild the packages again. > > > > > > > > > > > > ChenYu > > > > > > > > > Thanks > > > > > Icenowy > > > > > > > > > > > > > > > > > Same program worked correctly on a BeaglePlay and displayed > > > > > > a > > > > > > color > > > > > > gradient triangle. Not sure what went wrong here. > > > > > > > > > > > > Anyway, please have a look and test. > > > > > > > > > > > > > > > > > > Thanks > > > > > > ChenYu > > > > > > > > > > > > [1] > > > > > > https://lore.kernel.org/dri-devel/[email protected]/ > > > > > > [2] > > > > > > https://gitlab.freedesktop.org/imagination/linux-firmware/-/tree/powervr > > > > > > [3] https://github.com/SaschaWillems/Vulkan > > > > > > [4] > > > > > > https://lore.kernel.org/dri-devel/[email protected]/ > > > > > > > > > > > > Chen-Yu Tsai (5): > > > > > > dt-bindings: clock: mediatek: Add mt8173 mfgtop > > > > > > clk: mediatek: Add mt8173-mfgtop driver > > > > > > dt-bindings: gpu: powervr-rogue: Add MediaTek MT8173 GPU > > > > > > arm64: dts: mediatek: mt8173: Fix MFG_ASYNC power domain > > > > > > clock > > > > > > arm64: dts: mediatek: mt8173: Add GPU device nodes > > > > > > > > > > > > .../clock/mediatek,mt8173-mfgtop.yaml | 70 +++++ > > > > > > .../bindings/gpu/img,powervr-rogue.yaml | 1 + > > > > > > arch/arm64/boot/dts/mediatek/mt8173.dtsi | 33 ++- > > > > > > drivers/clk/mediatek/Kconfig | 9 + > > > > > > drivers/clk/mediatek/Makefile | 1 + > > > > > > drivers/clk/mediatek/clk-mt8173-mfgtop.c | 243 > > > > > > ++++++++++++++++++ > > > > > > include/dt-bindings/clock/mt8173-clk.h | 7 + > > > > > > 7 files changed, 363 insertions(+), 1 deletion(-) > > > > > > create mode 100644 > > > > > > Documentation/devicetree/bindings/clock/mediatek,mt8173- > > > > > > mfgtop.yaml > > > > > > create mode 100644 drivers/clk/mediatek/clk-mt8173- > > > > > > mfgtop.c
