Message ID | 20241018151016.3496613-1-arnd@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/rockchip: avoid 64-bit division | expand |
On Fri, Oct 18, 2024 at 03:10:10PM +0000, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@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@arndb.de> > --- > drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
On Fri, Oct 18, 2024 at 03:10:10PM +0000, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@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@arndb.de> Reviewed-by: Nathan Chancellor <nathan@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)); > } > } > > -- > 2.39.5 >
On Mon, Nov 4, 2024 at 6:30 PM Nathan Chancellor <nathan@kernel.org> wrote: > On Fri, Oct 18, 2024 at 03:10:10PM +0000, Arnd Bergmann wrote: > > From: Arnd Bergmann <arnd@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@arndb.de> > > Reviewed-by: Nathan Chancellor <nathan@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@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@linux-m68k.org> Do we really need +5 weeks to apply a fix for a reported build issue? Thanks! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
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@kernel.org> wrote: > > On Fri, Oct 18, 2024 at 03:10:10PM +0000, Arnd Bergmann wrote: > > > From: Arnd Bergmann <arnd@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@arndb.de> > > > > Reviewed-by: Nathan Chancellor <nathan@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@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@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. Maxime
Hi Maxime, On Fri, Nov 22, 2024 at 10:15 AM Maxime Ripard <mripard@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@kernel.org> wrote: > > > On Fri, Oct 18, 2024 at 03:10:10PM +0000, Arnd Bergmann wrote: > > > > From: Arnd Bergmann <arnd@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@arndb.de> > > > > > > Reviewed-by: Nathan Chancellor <nathan@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@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@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? Perhaps not... > It was applied already, Where was it applied? How would I know that, when the fix is not in linux-next? > I made sure it's part of the next PR we send to > Linus. And it should be in linux-next tomorrow. Thank you! The issue is that the reported build issue was not fixed in linux-next, despite the fix having been available for 5 weeks, thus reducing (build) test coverage for all affected architectures, possibly hiding other issues. In addition, a PR including the build issue was sent to Linus, so now the above applies to Linus' tree, too. Gr{oetje,eeting}s, Geert
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)); } }