[Intel-gfx] [PATCH i-g-t v2] lib/igt_kms: Introduce get_first_connected_output macro
Ville Syrjälä
ville.syrjala at linux.intel.com
Tue Nov 24 05:03:43 PST 2015
On Fri, Nov 20, 2015 at 06:56:50PM -0800, Vivek Kasireddy wrote:
> In some cases, we just need one valid (connected) output to perform
> a test. This macro can help in these situations by not having to
> put the test code inside a for loop that iterates over all the outputs.
>
> v2: Added a brief documentation for this macro.
>
> Suggested-by: Matt Roper <matthew.d.roper at intel.com>
> Cc: Thomas Wood <thomas.wood at intel.com>
> Signed-off-by: Vivek Kasireddy <vivek.kasireddy at intel.com>
> ---
> lib/igt_kms.h | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index 965c47c..a0bb066 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -279,6 +279,18 @@ void igt_wait_for_vblank(int drm_fd, enum pipe pipe);
> for (int i__ = 0; (plane) = &(display)->pipes[(pipe)].planes[i__], \
> i__ < (display)->pipes[(pipe)].n_planes; i__++)
>
> +/**
> + * get_first_connected_output:
> + * @display: Initialized igt_display_t type object
> + * @output: igt_output_t type object
> + *
> + * Returns: First valid (connected) output.
> + */
> +#define get_first_connected_output(display, output) \
> + for (int i__ = 0; i__ < (display)->n_outputs; i__++) \
> + if ((output = &(display)->outputs[i__]), output->valid) \
> + break
Why is this a fragile macro instead of a simple function that just
returns what we need?
> +
> #define IGT_FIXED(i,f) ((i) << 16 | (f))
>
> void igt_enable_connectors(void);
> --
> 2.4.3
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
More information about the Intel-gfx
mailing list