✗ Fi.CI.BUILD: failure for drm/i915: make struct intel_frontbuffer opaque

Jani Nikula jani.nikula at intel.com
Mon Jun 17 14:31:14 UTC 2024


On Mon, 17 Jun 2024, Patchwork <patchwork at emeril.freedesktop.org> wrote:
> == Series Details ==
>
> Series: drm/i915: make struct intel_frontbuffer opaque
> URL   : https://patchwork.freedesktop.org/series/134957/
> State : failure
>
> == Summary ==
>
> Error: make failed
>   CALL    scripts/checksyscalls.sh
>   DESCEND objtool
>   INSTALL libsubcmd_headers
>   CC [M]  drivers/gpu/drm/i915/gem/i915_gem_clflush.o
> In file included from ./include/linux/array_size.h:5,
>                  from ./include/linux/string.h:6,
>                  from ./include/linux/scatterlist.h:5,
>                  from ./include/drm/drm_cache.h:36,
>                  from drivers/gpu/drm/i915/gem/i915_gem_clflush.c:7:
> drivers/gpu/drm/i915/gem/i915_gem_object_frontbuffer.h: In function ‘i915_gem_object_flush_frontbuffer’:
> ./include/linux/rcupdate.h:463:9: error: dereferencing pointer to incomplete type ‘struct intel_frontbuffer’
>   463 |  typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \

Ugh, so rcu requires the complete type even if it's about a pointer?

*sigh*

>       |         ^
> ./include/linux/compiler.h:77:42: note: in definition of macro ‘unlikely’
>    77 | # define unlikely(x) __builtin_expect(!!(x), 0)
>       |                                          ^
> ./include/linux/rcupdate.h:582:31: note: in expansion of macro ‘__rcu_access_pointer’
>   582 | #define rcu_access_pointer(p) __rcu_access_pointer((p), __UNIQUE_ID(rcu), __rcu)
>       |                               ^~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gem/i915_gem_object_frontbuffer.h:24:15: note: in expansion of macro ‘rcu_access_pointer’
>    24 |  if (unlikely(rcu_access_pointer(obj->frontbuffer)))
>       |               ^~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gem/i915_gem_object_frontbuffer.h: In function ‘i915_gem_object_get_frontbuffer’:
> ./include/linux/rcupdate.h:463:9: error: dereferencing pointer to incomplete type ‘struct intel_frontbuffer’
>   463 |  typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \
>       |         ^
> ./include/linux/compiler.h:76:40: note: in definition of macro ‘likely’
>    76 | # define likely(x) __builtin_expect(!!(x), 1)
>       |                                        ^
> ./include/linux/rcupdate.h:582:31: note: in expansion of macro ‘__rcu_access_pointer’
>   582 | #define rcu_access_pointer(p) __rcu_access_pointer((p), __UNIQUE_ID(rcu), __rcu)
>       |                               ^~~~~~~~~~~~~~~~~~~~
> drivers/gpu/drm/i915/gem/i915_gem_object_frontbuffer.h:50:14: note: in expansion of macro ‘rcu_access_pointer’
>    50 |  if (likely(!rcu_access_pointer(obj->frontbuffer)))
>       |              ^~~~~~~~~~~~~~~~~~
> make[6]: *** [scripts/Makefile.build:244: drivers/gpu/drm/i915/gem/i915_gem_clflush.o] Error 1
> make[5]: *** [scripts/Makefile.build:485: drivers/gpu/drm/i915] Error 2
> make[4]: *** [scripts/Makefile.build:485: drivers/gpu/drm] Error 2
> make[3]: *** [scripts/Makefile.build:485: drivers/gpu] Error 2
> make[2]: *** [scripts/Makefile.build:485: drivers] Error 2
> make[1]: *** [/home/kbuild/kernel/Makefile:1934: .] Error 2
> make: *** [Makefile:240: __sub-make] Error 2
> Build failed, no error log produced
>
>

-- 
Jani Nikula, Intel


More information about the Intel-gfx mailing list