Hi Wolfram, Thank you for the patch. On Wed, Jan 18, 2023 at 01:20:02PM +0100, Wolfram Sang wrote: > The earliest revision of these SoC may hang when underrunning. Later > revisions have that fixed. Bail out when we detect a problematic > version. > > Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> > --- > > The BSP tries to work around the issue, yet this is neither upstreamable > nor are we sure the solution is complete. Because the early SoC revision > is hardly in use, we simply "document" the problem upstream. The workaround isn't upstreamable as-is, but I think it could be upstreamed after being cleaned up. Overall, how much support do we still have upstream for H3 ES1.x, and do we need to keep it ? H3 ES.1x is relatively old, does someone still rely on it ? > drivers/media/platform/renesas/vsp1/vsp1_drv.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/media/platform/renesas/vsp1/vsp1_drv.c b/drivers/media/platform/renesas/vsp1/vsp1_drv.c > index c260d318d298..b395e8eb0af9 100644 > --- a/drivers/media/platform/renesas/vsp1/vsp1_drv.c > +++ b/drivers/media/platform/renesas/vsp1/vsp1_drv.c > @@ -17,6 +17,7 @@ > #include <linux/platform_device.h> > #include <linux/pm_runtime.h> > #include <linux/reset.h> > +#include <linux/sys_soc.h> > #include <linux/videodev2.h> > > #include <media/rcar-fcp.h> > @@ -875,13 +876,24 @@ static const struct vsp1_device_info *vsp1_lookup_info(struct vsp1_device *vsp1) > return NULL; > } > > +static const struct soc_device_attribute vsp1_blacklist[] = { > + /* H3 ES1.* has underrun hang issues */ > + { .soc_id = "r8a7795", .revision = "ES1.*" }, > + { /* Sentinel */ } > +}; > + > static int vsp1_probe(struct platform_device *pdev) > { > + const struct soc_device_attribute *attr; > struct vsp1_device *vsp1; > struct device_node *fcp_node; > int ret; > int irq; > > + attr = soc_device_match(vsp1_blacklist); > + if (attr) > + return -ENOTSUPP; > + > vsp1 = devm_kzalloc(&pdev->dev, sizeof(*vsp1), GFP_KERNEL); > if (vsp1 == NULL) > return -ENOMEM; -- Regards, Laurent Pinchart