All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Hung <alex.hung@amd.com>
To: Melissa Wen <mwen@igalia.com>,
	Petri Latvala <adrinael@adrinael.net>,
	Arkadiusz Hiler <arek@hiler.eu>,
	Kamil Konieczny <kamil.konieczny@linux.intel.com>,
	Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>,
	Bhanuprakash Modem <bhanuprakash.modem@gmail.com>,
	Ashutosh Dixit <ashutosh.dixit@intel.com>,
	Karthik B S <karthik.b.s@intel.com>
Cc: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>,
	igt-dev@lists.freedesktop.org, kernel-dev@igalia.com,
	Swati Sharma <swati2.sharma@intel.com>,
	John Harrison <John.Harrison@Igalia.com>,
	Rodrigo Siqueira <siqueira@igalia.com>,
	Simon Ser <contact@emersion.fr>, Xaver Hugl <xaver.hugl@kde.org>,
	Harry Wentland <harry.wentland@amd.com>,
	Uma Shankar <uma.shankar@intel.com>
Subject: Re: [PATCH i-g-t v3 2/6] test/kms_colorop_helper: only check if a given enum value exist
Date: Thu, 13 Aug 2026 21:41:57 -0600	[thread overview]
Message-ID: <28a180a6-eca2-4cd6-b166-388765140de3@amd.com> (raw)
In-Reply-To: <20260811143558.141813-3-mwen@igalia.com>



On 8/11/26 08:23, Melissa Wen wrote:
> Don't trigger unnecessary colorop property changes to just probe that a
> prop enum exists and can be apply. Make can_use_colorop() read-only.
> 
> Assisted-by: Claude:claude-opus-4-7
> Tested-by: Alex Hung <alex.hung@amd.com>
> Reviewed-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
> Signed-off-by: Melissa Wen <mwen@igalia.com>
> 
> --
> v2:
> - remove extra space (Chaitanya)
> ---
>   lib/igt_kms.c              | 26 ++++++++++++++++++++++++++
>   lib/igt_kms.h              |  4 ++++
>   tests/kms_colorop_helper.c |  4 +++-
>   3 files changed, 33 insertions(+), 1 deletion(-)

The patch touches both lib and tests - should the subject uses 
"lib/tests/..."?

or the should should use "tests", not "test"

> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index 1e3cea781..900f88d0f 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -4506,6 +4506,32 @@ igt_colorop_replace_prop_blob(igt_colorop_t *colorop, enum igt_atomic_colorop_pr
>   	igt_colorop_set_prop_changed(colorop, prop);
>   }
>   
> +/**
> + * igt_colorop_has_prop_enum_value:
> + * @colorop: Target colorop.
> + * @prop: Enum property to check.
> + * @val: Enum value (as string) to look up.
> + *
> + * Read-only counterpart to igt_colorop_try_prop_enum(): returns whether
> + * @colorop's @prop accepts the enum value @val, without setting it or
> + * marking @prop as changed in IGT's cache.
> + *
> + * Returns: true if @val is a valid value of the enum @prop on @colorop.
> + */
> +bool igt_colorop_has_prop_enum_value(igt_colorop_t *colorop,
> +				     enum igt_atomic_colorop_properties prop,
> +				     const char *val)
> +{
> +	igt_display_t *display = colorop->plane->crtc->display;
> +	uint64_t uval;
> +
> +	igt_assert(colorop->props[prop]);
> +
> +	return igt_mode_object_get_prop_enum_value(display->drm_fd,
> +						   colorop->props[prop],
> +						   val, &uval);
> +}
> +
>   /**
>    * igt_colorop_try_prop_enum:
>    * @colorop: Target colorop.
> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
> index 521a03c01..ace8c2b1f 100644
> --- a/lib/igt_kms.h
> +++ b/lib/igt_kms.h
> @@ -1023,6 +1023,10 @@ uint64_t igt_colorop_get_prop(igt_display_t *display, igt_colorop_t *colorop, en
>   	} while (0)
>   
>   
> +extern bool igt_colorop_has_prop_enum_value(igt_colorop_t *colorop,
> +					    enum igt_atomic_colorop_properties prop,
> +					    const char *val);
> +
>   extern bool igt_colorop_try_prop_enum(igt_colorop_t *colorop,
>   				      enum igt_atomic_colorop_properties prop,
>   				      const char *val);
> diff --git a/tests/kms_colorop_helper.c b/tests/kms_colorop_helper.c
> index aaee4e567..5b79fe789 100644
> --- a/tests/kms_colorop_helper.c
> +++ b/tests/kms_colorop_helper.c
> @@ -205,7 +205,9 @@ static bool can_use_colorop(igt_display_t *display, igt_colorop_t *colorop, kms_
>   	switch (desired->type) {
>   	case KMS_COLOROP_ENUMERATED_LUT1D:
>   		if (igt_colorop_get_prop(display, colorop, IGT_COLOROP_TYPE) == DRM_COLOROP_1D_CURVE &&
> -		    igt_colorop_try_prop_enum(colorop, IGT_COLOROP_CURVE_1D_TYPE, kms_colorop_lut1d_tf_names[desired->enumerated_lut1d_info.tf]))
> +		    igt_colorop_has_prop_enum_value(colorop,
> +						    IGT_COLOROP_CURVE_1D_TYPE,
> +						    kms_colorop_lut1d_tf_names[desired->enumerated_lut1d_info.tf]))
>   			return true;
>   		return false;
>   	case KMS_COLOROP_CTM_3X4:


  reply	other threads:[~2026-08-14  3:42 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-11 14:23 [PATCH i-g-t v3 0/6] test/kms_colorop_helper: don't request colorop updates indefinitely Melissa Wen
2026-08-11 14:23 ` [PATCH i-g-t v3 1/6] lib/igt_kms: clear colorop-changed flag after commit Melissa Wen
2026-08-11 16:37   ` Jani Nikula
2026-08-14  3:39   ` Alex Hung
2026-08-11 14:23 ` [PATCH i-g-t v3 2/6] test/kms_colorop_helper: only check if a given enum value exist Melissa Wen
2026-08-14  3:41   ` Alex Hung [this message]
2026-08-11 14:23 ` [PATCH i-g-t v3 3/6] tests/kms_properties: don't check colorop if no plane color pipeline prop Melissa Wen
2026-08-14  3:44   ` Alex Hung
2026-08-11 14:23 ` [PATCH i-g-t v3 4/6] tests/kms_properties: keep primary plane enabled for each CRTC Melissa Wen
2026-08-14  4:05   ` Alex Hung
2026-08-14  6:20     ` Borah, Chaitanya Kumar
2026-08-11 14:23 ` [PATCH i-g-t v3 6/6] tests/kms_color_pipeline: skip if not an intel device Melissa Wen
2026-08-14  3:55   ` Alex Hung
2026-08-11 16:43 ` ✓ Xe.CI.BAT: success for test/kms_colorop_helper: don't request colorop updates indefinitely (rev2) Patchwork
2026-08-11 16:59 ` ✓ i915.CI.BAT: " Patchwork
2026-08-11 18:43 ` ✓ Xe.CI.FULL: " Patchwork
2026-08-11 19:21 ` ✗ i915.CI.Full: failure " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=28a180a6-eca2-4cd6-b166-388765140de3@amd.com \
    --to=alex.hung@amd.com \
    --cc=John.Harrison@Igalia.com \
    --cc=adrinael@adrinael.net \
    --cc=arek@hiler.eu \
    --cc=ashutosh.dixit@intel.com \
    --cc=bhanuprakash.modem@gmail.com \
    --cc=chaitanya.kumar.borah@intel.com \
    --cc=contact@emersion.fr \
    --cc=harry.wentland@amd.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=juhapekka.heikkila@gmail.com \
    --cc=kamil.konieczny@linux.intel.com \
    --cc=karthik.b.s@intel.com \
    --cc=kernel-dev@igalia.com \
    --cc=mwen@igalia.com \
    --cc=siqueira@igalia.com \
    --cc=swati2.sharma@intel.com \
    --cc=uma.shankar@intel.com \
    --cc=xaver.hugl@kde.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.