[PATCH] drm/rockchip: avoid 64-bit division

Maxime Ripard mripard at kernel.org
Fri Nov 29 06:06:45 PST 2024


On Mon, Nov 25, 2024 at 11:35:58AM +0100, Geert Uytterhoeven wrote:
> Hi Maxime,
> 
> On Fri, Nov 22, 2024 at 10:15 AM Maxime Ripard <mripard at kernel.org> wrote:
> > On Fri, Nov 22, 2024 at 09:36:16AM +0100, Geert Uytterhoeven wrote:
> > > On Mon, Nov 4, 2024 at 6:30 PM Nathan Chancellor <nathan at kernel.org> wrote:
> > > > On Fri, Oct 18, 2024 at 03:10:10PM +0000, Arnd Bergmann wrote:
> > > > > From: Arnd Bergmann <arnd at arndb.de>
> > > > >
> > > > > Dividing a 64-bit integer prevents building this for 32-bit targets:
> > > > >
> > > > > ERROR: modpost: "__aeabi_uldivmod" [drivers/gpu/drm/rockchip/rockchipdrm.ko] undefined!
> > > > >
> > > > > As this function is not performance criticial, just Use the div_u64() helper.
> > > > >
> > > > > Fixes: 128a9bf8ace2 ("drm/rockchip: Add basic RK3588 HDMI output support")
> > > > > Signed-off-by: Arnd Bergmann <arnd at arndb.de>
> > > >
> > > > Reviewed-by: Nathan Chancellor <nathan at kernel.org>
> > > >
> > > > Can someone please pick this up? It is still broken in next-20241104...
> > > >
> > > > https://storage.tuxsuite.com/public/clangbuiltlinux/continuous-integration2/builds/2oNvJFRj8tkDieb6VfrMf4rh1Kn/build.log
> > > >
> > > > > ---
> > > > >  drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c | 2 +-
> > > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
> > > > > index 9c796ee4c303..c8b362cc2b95 100644
> > > > > --- a/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
> > > > > +++ b/drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c
> > > > > @@ -82,7 +82,7 @@ static void dw_hdmi_qp_rockchip_encoder_enable(struct drm_encoder *encoder)
> > > > >                * comment in rk_hdptx_phy_power_on() from
> > > > >                * drivers/phy/rockchip/phy-rockchip-samsung-hdptx.c
> > > > >                */
> > > > > -             phy_set_bus_width(hdmi->phy, rate / 100);
> > > > > +             phy_set_bus_width(hdmi->phy, div_u64(rate, 100));
> > > > >       }
> > > > >  }
> > >
> > > noreply at ellerman.id.au has just told me this build issue is now upstream:
> > >
> > >     FAILED linus/m68k-allmodconfig/m68k-gcc8.1 Fri Nov 22, 05:34
> > >     http://kisskb.ellerman.id.au/kisskb/buildresult/15277242/
> > >
> > >     Commit:   Merge tag 'drm-next-2024-11-21' of
> > > https://gitlab.freedesktop.org/drm/kernel
> > >               28eb75e178d389d325f1666e422bc13bbbb9804c
> > >     Compiler: m68k-linux-gcc (GCC) 8.1.0 / GNU ld (GNU Binutils) 2.30
> > >
> > >     ERROR: modpost: "__udivdi3"
> > > [drivers/gpu/drm/rockchip/rockchipdrm.ko] undefined!
> > >
> > > Applying this patch fixes it, so
> > > Acked-by: Geert Uytterhoeven <geert at linux-m68k.org>
> > >
> > > Do we really need +5 weeks to apply a fix for a reported build issue?
> >
> > Do we really need that kind of comments?
> >
> > It was applied already, I made sure it's part of the next PR we send to
> > Linus. And it should be in linux-next tomorrow.
> 
> Thank you, I can confirm it is now commit 818956c76517e127
> ("drm/rockchip: avoid 64-bit division") in drm-misc/for-linux-next
> and next-20241125.
> 
> Interestingly, the commit description contains:
> 
>     (cherry picked from commit 4b64b4a81fcd51f570c046cf904aef19ec756d45)
> 
> which is not in any tree on git.kernel.org, but the github collective
> does know about it:
> https://github.com/torvalds/linux/commit/4b64b4a81fcd51f570c046cf904aef19ec756d45

The commit is in drm-misc-next, which will land in 6.14.

> Probably you want to drop that line.

We don't rebase anyway :/

Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 273 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20241129/7868e11d/attachment.sig>


More information about the linux-arm-kernel mailing list