Re: [PATCH] gpu: host1x: Do not setup DMA for virtual devices

Thierry Reding
2024-04-08T15:01:40Z

[-- Attachment #1: Type: text/plain, Size: 2887 bytes --]

On Wed Apr 3, 2024 at 12:07 PM CEST, Jon Hunter wrote:
> Hi Thierry,
>
> On 15/03/2024 11:25, Jon Hunter wrote:
> >
> > On 14/03/2024 15:49, Thierry Reding wrote:
> >> From: Thierry Reding <treding@nvidia.com>
> >>
> >> The host1x devices are virtual compound devices and do not perform DMA
> >> accesses themselves, so they do not need to be set up for DMA.
> >>
> >> Ideally we would also not need to set up DMA masks for the virtual
> >> devices, but we currently still need those for legacy support on old
> >> hardware.
> >>
> >> Signed-off-by: Thierry Reding <treding@nvidia.com>
> >> ---
> >>   drivers/gpu/host1x/bus.c | 8 --------
> >>   1 file changed, 8 deletions(-)
> >>
> >> diff --git a/drivers/gpu/host1x/bus.c b/drivers/gpu/host1x/bus.c
> >> index 783975d1384f..7c52757a89db 100644
> >> --- a/drivers/gpu/host1x/bus.c
> >> +++ b/drivers/gpu/host1x/bus.c
> >> @@ -351,11 +351,6 @@ static int host1x_device_uevent(const struct
> >> device *dev,
> >>       return 0;
> >>   }
> >> -static int host1x_dma_configure(struct device *dev)
> >> -{
> >> -    return of_dma_configure(dev, dev->of_node, true);
> >> -}
> >> -
> >>   static const struct dev_pm_ops host1x_device_pm_ops = {
> >>       .suspend = pm_generic_suspend,
> >>       .resume = pm_generic_resume,
> >> @@ -369,7 +364,6 @@ const struct bus_type host1x_bus_type = {
> >>       .name = "host1x",
> >>       .match = host1x_device_match,
> >>       .uevent = host1x_device_uevent,
> >> -    .dma_configure = host1x_dma_configure,
> >>       .pm = &host1x_device_pm_ops,
> >>   };
> >> @@ -458,8 +452,6 @@ static int host1x_device_add(struct host1x *host1x,
> >>       device->dev.bus = &host1x_bus_type;
> >>       device->dev.parent = host1x->dev;
> >> -    of_dma_configure(&device->dev, host1x->dev->of_node, true);
> >> -
> >>       device->dev.dma_parms = &device->dma_parms;
> >>       dma_set_max_seg_size(&device->dev, UINT_MAX);
> >
> >
> > Tested-by: Jon Hunter <jonathanh@nvidia.com>
> > Acked-by: Jon Hunter <jonathanh@nvidia.com>
>
>
> I don't see this in -next yet?
>
> Ideally, if we don't see any issues with this we should pull this into
> v6.8.y stable branch because I am now seeing the warning there. Should
> we apply a fixes tag to this?

I was finally able to run some finally tests on this and pushed it to
drm-misc-fixes, so it should go into linux-next and then Linus' tree
sometime soon.

I decided against adding a Fixes tag because it's difficult to backport
this all the way to the release which contains the commit that added
the issue. Adding a Fixes tag to the commit that ended up exposing the
issue didn't seem right either, so let's get this into mainline first
and then manually ask stable maintainers to pick this up.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]