[Intel-gfx] [PATCH 3/5] drm/i915: Implement __for_each_sgt_daddr_next
Andi Shyti
andi.shyti at linux.intel.com
Thu Sep 7 13:46:41 UTC 2023
[...]
> +/**
> + * __for_each_daddr_next - iterates over the device addresses with pre-initialized iterator.
> + * @__dp: Device address (output)
> + * @__iter: 'struct sgt_iter' (iterator state, external)
> + * @__step: step size
> + */
> +#define __for_each_daddr_next(__dp, __iter, __step) \
normally iter is the last parameter, but this is similar to other
for_each's...
nor r-b'eing this yet as there is a comment coming in the next
patch.
Andi
> + for (; ((__dp) = (__iter).dma + (__iter).curr), (__iter).sgp; \
> + (((__iter).curr += (__step)) >= (__iter).max) ? \
> + (__iter) = __sgt_iter(__sg_next((__iter).sgp), true), 0 : 0)
>
> /**
> * for_each_sgt_page - iterate over the pages of the given sg_table
> --
> 2.41.0
More information about the Intel-gfx
mailing list