在 2024-05-31星期五的 11:18 +0000,Frank Binns写道: > On Thu, 2024-05-30 at 16:35 +0800, Chen-Yu Tsai wrote: > > The MediaTek MT8173 comes with a PowerVR Rogue GX6250, which is > > part > > of the Series6XT, another variation of the Rogue family of GPUs. > > > > Signed-off-by: Chen-Yu Tsai <wenst@xxxxxxxxxxxx> > > --- > > drivers/gpu/drm/imagination/pvr_drv.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/gpu/drm/imagination/pvr_drv.c > > b/drivers/gpu/drm/imagination/pvr_drv.c > > index 5c3b2d58d766..3d1a933c8303 100644 > > --- a/drivers/gpu/drm/imagination/pvr_drv.c > > +++ b/drivers/gpu/drm/imagination/pvr_drv.c > > @@ -1475,6 +1475,7 @@ pvr_remove(struct platform_device *plat_dev) > > > > static const struct of_device_id dt_match[] = { > > { .compatible = "img,img-axe", .data = NULL }, > > + { .compatible = "img,powervr-6xt", .data = NULL }, > > I assume that by adding this to the list of supported devices we're > essentially > freezing the existing uapi. This concerns me, as we've not yet > started running > Vulkan conformance on any Series6XT GPUs and there's a chance we may > need to > make some tweaks. Is there anything in the Series 6 XT GPUs that will affect conformance test and need new ABI to drive? Well I think the GX6250 GPU has TLA despite AXE (and BXE) has none, but what TLA does seems to be for transfer jobs, which we already support by using fragment pipeline? In addition, if we add bits to the ABI, we can recognize the new ABI by raising the version number returned by the DRM driver. And, if my understand is right, I think we're keeping the command stream the same among different GPUs, so if the FWIF is changed, it's quite possible that every GPU, not only S6XT but also AXE will be affected too. > > I'm not really sure what the accepted approach is to hardware > enablement / > experimental support. I'm not sure if it's sufficient to hide support > behind a > Kconfig option and/or module parameter or whether we just have to > hold this > patch back for the time being. > > Thanks > Frank > > > {} > > }; > > MODULE_DEVICE_TABLE(of, dt_match);