Re: [PATCH v4 0/5] powervr: MT8173 GPU support
YoungJoon Lee <[email protected]> Sat, 8 Aug 2026 02:50:47 +0900
| Newsgroups | org.kernel.vger.linux-clk,org.freedesktop.lists.dri-devel,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-mediatek,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CA+m4KrDpcdJZBXT5wN+NHV+BtLLT-suhamCmzg+gUhamvbPR8Q@mail.gmail.com> |
Hi Chen-Yu, A follow-up on the GX6250 issue. I ran the diagnostic test I mentioned in my previous reply, and I now have a reproducible system hang along with HWRT/free-list lifetime traces. I built a diagnostic kernel with temporary tracing around the PowerVR HWRT and free-list lifetime paths, and ran: PVR_I_WANT_A_BROKEN_VULKAN_DRIVER=1 glmark2-es2-drm The test was run from multi-user.target with no display manager running. This time glmark2 progressed past the point where it had previously failed, but later the entire system became unresponsive during the desktop/blur part of the benchmark. At that point: - SSH stopped responding - local keyboard and VT switching stopped responding - the system required a hard power cycle The HWRT teardown trace immediately before the hang was interesting. Normal HWRT destruction repeatedly looked like this: dataset-release -> HWRTDATA cleanup data=1, err=0 -> HWRTDATA cleanup data=0, err=0 -> free-list release slot=0 -> free-list release slot=1 For the last HWRT visible before the machine stopped responding, the trace ended at: pvr-hwrt: dataset-release hwrt=ffff0000c0c62800 ... pvr-hwrt: cleanup hwrt=ffff0000c0c62800 data=1 err=0 ... pvr-hwrt: cleanup hwrt=ffff0000c0c62800 data=0 err=0 ... There was no further PowerVR trace before the system hung. Therefore, I do not think I can conclude that the free-list reference counting itself is the root cause. What I can say from this instrumentation is that both HWRTDATA cleanup calls returned successfully, and the trace stopped before hwrt_fini_kernel_structure() reached its first free-list release message. The tracing is intentionally verbose and may affect timing, so I do not want to over-interpret the exact failure point. I have the diagnostic patch, the full kernel log, the HWRT/free-list lifetime trace, and the glmark2 output available. Would it be useful for me to send these to the Imagination/DRM mailing lists now, or is there a particular person or list you would prefer me to report this to? If there are specific additional tracepoints you would like around hwrt_data_fini_fw_structure() or hwrt_fini_common_fw_structure(), I can build another diagnostic kernel and reproduce the issue again. Thanks again for taking a look. Best regards, YoungJoon Lee 2026年7月30日(木) 21:38 Chen-Yu Tsai <[email protected]>: > > On Thu, Jul 30, 2026 at 7:06 PM Brian Masney <[email protected]> wrote: > > > > Hi Angelo and Chen-Yu, > > > > On Thu, Jul 30, 2026 at 10:23:14AM +0200, AngeloGioacchino Del Regno wrote: > > > On 7/30/26 06:51, Chen-Yu Tsai wrote: > > > > On Tue, Jul 28, 2026 at 10:33 PM AngeloGioacchino Del Regno > > > > <[email protected]> wrote: > > > > > > > > > > On 7/28/26 15:13, Chen-Yu Tsai wrote: > > > > > > On Tue, Jul 28, 2026 at 9:10 PM Brian Masney <[email protected]> wrote: > > > > > > > On Tue, Jul 28, 2026 at 05:17:58PM +0800, Chen-Yu Tsai wrote: > > > > > > > > Hi everyone, > > > > > > > > > > > > > > > > This is v4 of my MT8173 PowerVR GPU support series. > > > > > > > > > > > > > > > > This time around Mesa was ready for basic testing, using both vulkanmark > > > > > > > > and glmark2-es2-drm (with Zink). Details below. > > > > > > > > > > > > > > > > Changes since v3 (all in the clk driver patch): > > > > > > > > - Changed pm_runtime_put() to pm_runtime_put_sync() > > > > > > > > - Added missing of_node_put() in remove function > > > > > > > > > > > > > > > > Changes since v2 (all in the clk driver patch): > > > > > > > > - Made COMMON_CLK_MT8173_MFGTOP depend on PM > > > > > > > > - Needed since the driver implements PM domains using the generic PM > > > > > > > > domain library, which also depends on PM > > > > > > > > - Fixes build breakage (kernel test robot) > > > > > > > > - Fixed "RST_DELAY_CNT" name (Brian) > > > > > > > > - Dropped unused mfg_desc (Brian) > > > > > > > > - Added check of clk_prepare_enable()'s return value in > > > > > > > > clk_mt8173_mfgtop_power_on() (Brian) > > > > > > > > - Saved error value for return in IS_ERR(data->clk_26m) branch > > > > > > > > (Dan Carpenter / kernel test robot w/ smatch) > > > > > > > > > > > > > > > > Changes since v1: > > > > > > > > - Adapted to changed DT bindings > > > > > > > > - Dropped driver change > > > > > > > > - Use same power domain for "a" and "b" GPU power domains > > > > > > > > > > > > > > > > > > > > > > > > This series enables the PowerVR GPU found in the MT8173 SoC, found in > > > > > > > > some Chromebooks. > > > > > > > > > > > > > > I'm making a pull for Stephen for the clk changes. Should patches 1,2,4 > > > > > > > go through the clk tree? Patches 3,5 go through the DRM tree? > > > > > > > > > > > > Only patches 1 and 2 should go through the clock tree. > > > > > > > > > > > > Patch 3, 4, 5 can all go through the soc tree if Angelo wants to pick up > > > > > > DT binding patches. Otherwise I can push patch 3 through drm-misc. > > > > > > > > > > > > > > > > Not sure if I can really take the DRM bindings patch through soc. > > > > > > > > > > I will take the devicetree ones exactly right now, even though it's going to > > > > > give warnings. > > > > > > > > Apologies for missing this, but the first DT patch depends on the clk DT > > > > bindings patch for the clk ID macros. This is causing build errors in > > > > linux-next right now. > > > > > > > > Not sure how we can fix this right now. > > > > > > > > Brian, would it be possible for you to split out that patch into a > > > > separate immutable branch for Angelo to merge? > > > > Yes, I can split things out and make an immutable branch this morning. > > But it sounds too late for that. > > > > > > > > > > Otherwise Angelo might need to drop the DT patches until the next cycle. > > > > > > Yeah, that's so bad. > > > I'd be happy to be able to resolve this, but it's too late on my side. > > > > > > I should've checked the DT patches more carefully, my bad: I got a bit too excited > > > to finally see this PowerVR stuff working on MT8173 and going upstream. > > > > > > Sadly, I have to drop the devicetree patches :-( > > > > Chen-Yu: Could Angelo add an Acked-by to the three patches, and then I send > > Stephen an additional pull with just those patches? Do you think he'd > > pull that? > > (replying from my @kernel.org address again because I don't feel like > pulling out my work laptop.) > > I think the question is whether the soc & dt maintainers would be bothered > by it or not. > > No need to sweat over it though. It's not like the GPU driver is production > ready anyway. We can just merge the DT patches in the next cycle. :) > > > ChenYu