Hi Steven Price,

Thanks for the feedback.

> -----Original Message-----
> From: Steven Price <[email protected]>
> Sent: 20 March 2026 12:39
> Subject: Re: [PATCH 3/4] drm/panfrost: Add bus_ace optional clock support for 
> RZ/G2L
> 
> On 20/03/2026 12:30, Biju Das wrote:
> > Hi Steven Price,
> >
> > Thanks for the feedback.
> >
> >> -----Original Message-----
> >> From: Steven Price <[email protected]>
> >> Sent: 20 March 2026 12:16
> >> Subject: Re: [PATCH 3/4] drm/panfrost: Add bus_ace optional clock
> >> support for RZ/G2L
> >>
> >> On 04/03/2026 13:48, Biju wrote:
> >>> From: Biju Das <[email protected]>
> >>>
> >>> On RZ/G2L SoCs, the GPU MMU requires a bus_ace clock to operate correctly.
> >>> Without it, unbind/bind cycles leave the GPU non-operational,
> >>> manifesting as an AS_ACTIVE bit stuck and a soft reset timeout
> >>> falling back to hard reset. Add bus_ace_clock as an optional clock,
> >>> wiring it into init/fini, and the runtime suspend/resume paths
> >>> alongside the existing optional bus_clock.
> >>>
> >>> Signed-off-by: Biju Das <[email protected]>
> >>> ---
> >>>  drivers/gpu/drm/panfrost/panfrost_device.c | 24
> >>> ++++++++++++++++++++++  drivers/gpu/drm/panfrost/panfrost_device.h |
> >>> 1 +
> >>>  2 files changed, 25 insertions(+)
> >>>
> >>> diff --git a/drivers/gpu/drm/panfrost/panfrost_device.c
> >>> b/drivers/gpu/drm/panfrost/panfrost_device.c
> >>> index 01e702a0b2f0..87dae0ed748a 100644
> >>> --- a/drivers/gpu/drm/panfrost/panfrost_device.c
> >>> +++ b/drivers/gpu/drm/panfrost/panfrost_device.c
> >>> @@ -70,8 +70,23 @@ static int panfrost_clk_init(struct panfrost_device 
> >>> *pfdev)
> >>>                   goto disable_clock;
> >>>   }
> >>>
> >>> + pfdev->bus_ace_clock = devm_clk_get_optional(pfdev->base.dev, 
> >>> "bus_ace");
> >>> + if (IS_ERR(pfdev->bus_ace_clock)) {
> >>> +         err = PTR_ERR(pfdev->bus_ace_clock);
> >>> +         dev_err(pfdev->base.dev, "get bus_ace_clock failed %ld\n",
> >>> +                 PTR_ERR(pfdev->bus_ace_clock));
> >>> +         err = PTR_ERR(pfdev->bus_ace_clock);
> >>
> >> You've assigned err twice (with the same value), and you can simplify
> >> the dev_err() line by using err
> >
> > Oops, forgot to take out the bottom assignment.
> >
> >> rather than the same PTR_ERR() expression again.
> >
> > I get a warning, if I use "err" in dev_err()
> >
> > panfrost_device.c:76:42: warning: format ‘%ld’ expects argument of type 
> > ‘long int’, but argument 3
> has type ‘int’ [-Wformat=]
> >    76 |                 dev_err(pfdev->base.dev, "get bus_ace_clock failed 
> > %ld\n",
> 
> You can simply change the format string to "%d".
> 
> Explanation:
> 
> PTR_ERR returns a long (which matches the kernel's idea that a long is the 
> same size as a pointer).
> But the standard return code size is int.
> So technically the assignment to err is truncating the type. However, the 
> IS_ERR() check uses
> MAX_ERRNO which is 4095 so all error values will fit in an int. So we know 
> the assignment into 'int'
> isn't going to truncate. [ Also it's just an error message... ;) ]

OK will fix this in next version.

Cheers,
Biju

Reply via email to