Hi, Arnd, On Wed, 2024-02-28 at 13:27 +0100, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@xxxxxxxx> > > 32-bit kernels do not provide a writeq(), failing the build: > > drivers/gpu/drm/xe/xe_ggtt.c:78:2: error: use of undeclared > identifier 'writeq' > 78 | writeq(pte, &ggtt->gsm[addr >> XE_PTE_SHIFT]); > > Using lo_hi_writeq() instead will write the lower 32 bits to the > address > before writing the upper 32 bits to the following word, which is > likely > the correct replacement to do on 32-bit targets. > > Include the linux/io-64-nonatomic-lo-hi.h header to automatically > pick > the regular writeq() on 64-bit machines but fall back to > lo_hi_writeq() > on 32-bit ones. > > Fixes: 237412e45390 ("drm/xe: Enable 32bits build") > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Thanks for the patch. We have a patch already on the list pending review comments that fixes this. https://patchwork.freedesktop.org/patch/579781/?series=130347&rev=1 /Thomas > --- > drivers/gpu/drm/xe/xe_ggtt.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/xe/xe_ggtt.c > b/drivers/gpu/drm/xe/xe_ggtt.c > index 5d46958e3144..1ffcc63ca86d 100644 > --- a/drivers/gpu/drm/xe/xe_ggtt.c > +++ b/drivers/gpu/drm/xe/xe_ggtt.c > @@ -6,6 +6,7 @@ > #include "xe_ggtt.h" > > #include <linux/sizes.h> > +#include <linux/io-64-nonatomic-lo-hi.h> > > #include <drm/drm_managed.h> > #include <drm/i915_drm.h>