On Thu, 19 Dec 2024, Gustavo Sousa <[email protected]> wrote:
> diff --git a/drivers/gpu/drm/i915/display/intel_global_state.h 
> b/drivers/gpu/drm/i915/display/intel_global_state.h
> index 6506a8e32972..e47e007225cc 100644
> --- a/drivers/gpu/drm/i915/display/intel_global_state.h
> +++ b/drivers/gpu/drm/i915/display/intel_global_state.h
> @@ -8,6 +8,8 @@
>  
>  #include <linux/kref.h>
>  #include <linux/list.h>
> +#include <linux/stddef.h>

What do you need this for?

> +#include <linux/types.h>
>  
>  struct drm_i915_private;
>  struct intel_atomic_state;
> @@ -15,6 +17,10 @@ struct intel_global_obj;
>  struct intel_global_state;
>  
>  struct intel_global_state_funcs {
> +     /* state_size and base_offset are initialized by 
> INTEL_GLOBAL_STATE_DEFAULTS() */
> +     size_t state_size;
> +     size_t base_offset;
> +
>       struct intel_global_state *(*atomic_duplicate_state)(struct 
> intel_global_obj *obj);
>       void (*atomic_destroy_state)(struct intel_global_obj *obj,
>                                    struct intel_global_state *state);
> @@ -26,6 +32,10 @@ struct intel_global_obj {
>       const struct intel_global_state_funcs *funcs;
>  };
>  
> +#define INTEL_GLOBAL_STATE_DEFAULTS(type, base_member) \
> +     .state_size = sizeof(type), \
> +     .base_offset = offsetof(type, base_member)
> +
>  #define intel_for_each_global_obj(obj, dev_priv) \
>       list_for_each_entry(obj, &(dev_priv)->display.global.obj_list, head)
>  
> @@ -96,4 +106,9 @@ int intel_atomic_global_state_wait_for_dependencies(struct 
> intel_atomic_state *s
>  
>  bool intel_atomic_global_state_is_serialized(struct intel_atomic_state 
> *state);
>  
> +struct intel_global_state *
> +intel_atomic_global_duplicate_state_common(struct intel_global_obj *obj);
> +void intel_atomic_global_destroy_state_common(struct intel_global_obj *obj,
> +                                           struct intel_global_state *state);
> +
>  #endif

-- 
Jani Nikula, Intel

Reply via email to