On 04/29, Alex Hung wrote: > Create a new macro for_each_new_colorop_in_state to access new > drm_colorop_state updated from uapi. > > Reviewed-by: Simon Ser <cont...@emersion.fr> > Signed-off-by: Alex Hung <alex.h...@amd.com> > Reviewed-by: Daniel Stone <dani...@collabora.com> > --- > include/drm/drm_atomic.h | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > index 4a30ed8ab1a8..4b3bd459a1eb 100644 > --- a/include/drm/drm_atomic.h > +++ b/include/drm/drm_atomic.h > @@ -1069,6 +1069,26 @@ void drm_state_dump(struct drm_device *dev, struct > drm_printer *p); > (new_colorop_state) = > (__state)->colorops[__i].new_state, 1)) > > > +/** > + * for_each_new_colorop_in_state - iterate over all colorops in an atomic > update > + * @__state: &struct drm_atomic_state pointer > + * @colorop: &struct drm_colorop iteration cursor > + * @new_colorop_state: &struct drm_colorop_state iteration cursor for the > new state > + * @__i: int iteration cursor, for macro-internal use > + * > + * This iterates over all colorops in an atomic update, tracking new state. > This is > + * useful is useful in places where the state delta needs to be considered, > for
nit: "is useful" duplication > + * example in atomic check functions. > + */ > +#define for_each_new_colorop_in_state(__state, colorop, new_colorop_state, > __i) \ > + for ((__i) = 0; \ > + (__i) < (__state)->dev->mode_config.num_colorop; \ > + (__i)++) \ > + for_each_if ((__state)->colorops[__i].ptr && \ > + ((colorop) = (__state)->colorops[__i].ptr, \ > + (void)(colorop) /* Only to avoid > unused-but-set-variable warning */, \ > + (new_colorop_state) = > (__state)->colorops[__i].new_state, 1)) > + > /** > * for_each_oldnew_plane_in_state - iterate over all planes in an atomic > update > * @__state: &struct drm_atomic_state pointer > -- > 2.43.0 >