Thread (8 messages) 8 messages, 5 authors, 2024-11-29

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

From: Maxime Ripard <mripard@kernel.org>
Date: 2024-11-29 14:06:47
Also in: dri-devel, linux-rockchip, lkml

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 [off-list ref] wrote:
quoted
On Fri, Nov 22, 2024 at 09:36:16AM +0100, Geert Uytterhoeven wrote:
quoted
On Mon, Nov 4, 2024 at 6:30 PM Nathan Chancellor [off-list ref] wrote:
quoted
On Fri, Oct 18, 2024 at 03:10:10PM +0000, Arnd Bergmann wrote:
quoted
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
quoted
---
 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.
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

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help