All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Paul <seanpaul@chromium.org>
To: Mark Yacoub <markyacoub@chromium.org>
Cc: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, harry.wentland@amd.com,
	"Mark Yacoub" <markyacoub@google.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Christian König" <christian.koenig@amd.com>,
	"Pan, Xinhui" <Xinhui.Pan@amd.com>,
	"David Airlie" <airlied@linux.ie>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] amd/amdgpu_dm: Verify Gamma and Degamma LUT sizes using DRM Core check
Date: Thu, 14 Oct 2021 19:42:29 -0400	[thread overview]
Message-ID: <CAOw6vb+AaG2B1zRfLW54TDjinuirXAT+v2AvXeWmVjYNyJJXMQ@mail.gmail.com> (raw)
In-Reply-To: <20211013181228.1578201-2-markyacoub@chromium.org>

On Wed, Oct 13, 2021 at 2:12 PM Mark Yacoub <markyacoub@chromium.org> wrote:
>
> From: Mark Yacoub <markyacoub@google.com>
>
> [Why]
> drm_atomic_helper_check_crtc now verifies both legacy and non-legacy LUT
> sizes. There is no need to check it within amdgpu_dm_atomic_check.
>
> [How]
> Remove the local call to verify LUT sizes and use DRM Core function
> instead.
>
> Tested on ChromeOS Zork.
>
> v1:
> Remove amdgpu_dm_verify_lut_sizes everywhere.
>

Reviewed-by: Sean Paul <seanpaul@chromium.org>

> Signed-off-by: Mark Yacoub <markyacoub@chromium.org>
> ---
>  .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  8 ++---
>  .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h |  1 -
>  .../amd/display/amdgpu_dm/amdgpu_dm_color.c   | 35 -------------------
>  3 files changed, 4 insertions(+), 40 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index f74663b6b046e..47f8de1cfc3a5 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -10244,6 +10244,10 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
>                 }
>         }
>  #endif
> +       ret = drm_atomic_helper_check_crtcs(state);
> +       if (ret)
> +               return ret;
> +
>         for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) {
>                 dm_old_crtc_state = to_dm_crtc_state(old_crtc_state);
>
> @@ -10253,10 +10257,6 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
>                         dm_old_crtc_state->dsc_force_changed == false)
>                         continue;
>
> -               ret = amdgpu_dm_verify_lut_sizes(new_crtc_state);
> -               if (ret)
> -                       goto fail;
> -
>                 if (!new_crtc_state->enable)
>                         continue;
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> index fcb9c4a629c32..22730e5542092 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> @@ -617,7 +617,6 @@ void amdgpu_dm_trigger_timing_sync(struct drm_device *dev);
>  #define MAX_COLOR_LEGACY_LUT_ENTRIES 256
>
>  void amdgpu_dm_init_color_mod(void);
> -int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state);
>  int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc);
>  int amdgpu_dm_update_plane_color_mgmt(struct dm_crtc_state *crtc,
>                                       struct dc_plane_state *dc_plane_state);
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> index a022e5bb30a5c..319f8a8a89835 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> @@ -284,37 +284,6 @@ static int __set_input_tf(struct dc_transfer_func *func,
>         return res ? 0 : -ENOMEM;
>  }
>
> -/**
> - * Verifies that the Degamma and Gamma LUTs attached to the |crtc_state| are of
> - * the expected size.
> - * Returns 0 on success.
> - */
> -int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state)
> -{
> -       const struct drm_color_lut *lut = NULL;
> -       uint32_t size = 0;
> -
> -       lut = __extract_blob_lut(crtc_state->degamma_lut, &size);
> -       if (lut && size != MAX_COLOR_LUT_ENTRIES) {
> -               DRM_DEBUG_DRIVER(
> -                       "Invalid Degamma LUT size. Should be %u but got %u.\n",
> -                       MAX_COLOR_LUT_ENTRIES, size);
> -               return -EINVAL;
> -       }
> -
> -       lut = __extract_blob_lut(crtc_state->gamma_lut, &size);
> -       if (lut && size != MAX_COLOR_LUT_ENTRIES &&
> -           size != MAX_COLOR_LEGACY_LUT_ENTRIES) {
> -               DRM_DEBUG_DRIVER(
> -                       "Invalid Gamma LUT size. Should be %u (or %u for legacy) but got %u.\n",
> -                       MAX_COLOR_LUT_ENTRIES, MAX_COLOR_LEGACY_LUT_ENTRIES,
> -                       size);
> -               return -EINVAL;
> -       }
> -
> -       return 0;
> -}
> -
>  /**
>   * amdgpu_dm_update_crtc_color_mgmt: Maps DRM color management to DC stream.
>   * @crtc: amdgpu_dm crtc state
> @@ -348,10 +317,6 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>         bool is_legacy;
>         int r;
>
> -       r = amdgpu_dm_verify_lut_sizes(&crtc->base);
> -       if (r)
> -               return r;
> -
>         degamma_lut = __extract_blob_lut(crtc->base.degamma_lut, &degamma_size);
>         regamma_lut = __extract_blob_lut(crtc->base.gamma_lut, &regamma_size);
>
> --
> 2.33.0.882.g93a45727a2-goog
>

WARNING: multiple messages have this Message-ID (diff)
From: Sean Paul <seanpaul@chromium.org>
To: Mark Yacoub <markyacoub@chromium.org>
Cc: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org, harry.wentland@amd.com,
	"Mark Yacoub" <markyacoub@google.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Christian König" <christian.koenig@amd.com>,
	"Pan, Xinhui" <Xinhui.Pan@amd.com>,
	"David Airlie" <airlied@linux.ie>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	linux-kernel@vger.kernel.org
Subject: Re: [Intel-gfx] [PATCH 2/2] amd/amdgpu_dm: Verify Gamma and Degamma LUT sizes using DRM Core check
Date: Thu, 14 Oct 2021 19:42:29 -0400	[thread overview]
Message-ID: <CAOw6vb+AaG2B1zRfLW54TDjinuirXAT+v2AvXeWmVjYNyJJXMQ@mail.gmail.com> (raw)
In-Reply-To: <20211013181228.1578201-2-markyacoub@chromium.org>

On Wed, Oct 13, 2021 at 2:12 PM Mark Yacoub <markyacoub@chromium.org> wrote:
>
> From: Mark Yacoub <markyacoub@google.com>
>
> [Why]
> drm_atomic_helper_check_crtc now verifies both legacy and non-legacy LUT
> sizes. There is no need to check it within amdgpu_dm_atomic_check.
>
> [How]
> Remove the local call to verify LUT sizes and use DRM Core function
> instead.
>
> Tested on ChromeOS Zork.
>
> v1:
> Remove amdgpu_dm_verify_lut_sizes everywhere.
>

Reviewed-by: Sean Paul <seanpaul@chromium.org>

> Signed-off-by: Mark Yacoub <markyacoub@chromium.org>
> ---
>  .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |  8 ++---
>  .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h |  1 -
>  .../amd/display/amdgpu_dm/amdgpu_dm_color.c   | 35 -------------------
>  3 files changed, 4 insertions(+), 40 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index f74663b6b046e..47f8de1cfc3a5 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -10244,6 +10244,10 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
>                 }
>         }
>  #endif
> +       ret = drm_atomic_helper_check_crtcs(state);
> +       if (ret)
> +               return ret;
> +
>         for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) {
>                 dm_old_crtc_state = to_dm_crtc_state(old_crtc_state);
>
> @@ -10253,10 +10257,6 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
>                         dm_old_crtc_state->dsc_force_changed == false)
>                         continue;
>
> -               ret = amdgpu_dm_verify_lut_sizes(new_crtc_state);
> -               if (ret)
> -                       goto fail;
> -
>                 if (!new_crtc_state->enable)
>                         continue;
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> index fcb9c4a629c32..22730e5542092 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> @@ -617,7 +617,6 @@ void amdgpu_dm_trigger_timing_sync(struct drm_device *dev);
>  #define MAX_COLOR_LEGACY_LUT_ENTRIES 256
>
>  void amdgpu_dm_init_color_mod(void);
> -int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state);
>  int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc);
>  int amdgpu_dm_update_plane_color_mgmt(struct dm_crtc_state *crtc,
>                                       struct dc_plane_state *dc_plane_state);
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> index a022e5bb30a5c..319f8a8a89835 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
> @@ -284,37 +284,6 @@ static int __set_input_tf(struct dc_transfer_func *func,
>         return res ? 0 : -ENOMEM;
>  }
>
> -/**
> - * Verifies that the Degamma and Gamma LUTs attached to the |crtc_state| are of
> - * the expected size.
> - * Returns 0 on success.
> - */
> -int amdgpu_dm_verify_lut_sizes(const struct drm_crtc_state *crtc_state)
> -{
> -       const struct drm_color_lut *lut = NULL;
> -       uint32_t size = 0;
> -
> -       lut = __extract_blob_lut(crtc_state->degamma_lut, &size);
> -       if (lut && size != MAX_COLOR_LUT_ENTRIES) {
> -               DRM_DEBUG_DRIVER(
> -                       "Invalid Degamma LUT size. Should be %u but got %u.\n",
> -                       MAX_COLOR_LUT_ENTRIES, size);
> -               return -EINVAL;
> -       }
> -
> -       lut = __extract_blob_lut(crtc_state->gamma_lut, &size);
> -       if (lut && size != MAX_COLOR_LUT_ENTRIES &&
> -           size != MAX_COLOR_LEGACY_LUT_ENTRIES) {
> -               DRM_DEBUG_DRIVER(
> -                       "Invalid Gamma LUT size. Should be %u (or %u for legacy) but got %u.\n",
> -                       MAX_COLOR_LUT_ENTRIES, MAX_COLOR_LEGACY_LUT_ENTRIES,
> -                       size);
> -               return -EINVAL;
> -       }
> -
> -       return 0;
> -}
> -
>  /**
>   * amdgpu_dm_update_crtc_color_mgmt: Maps DRM color management to DC stream.
>   * @crtc: amdgpu_dm crtc state
> @@ -348,10 +317,6 @@ int amdgpu_dm_update_crtc_color_mgmt(struct dm_crtc_state *crtc)
>         bool is_legacy;
>         int r;
>
> -       r = amdgpu_dm_verify_lut_sizes(&crtc->base);
> -       if (r)
> -               return r;
> -
>         degamma_lut = __extract_blob_lut(crtc->base.degamma_lut, &degamma_size);
>         regamma_lut = __extract_blob_lut(crtc->base.gamma_lut, &regamma_size);
>
> --
> 2.33.0.882.g93a45727a2-goog
>

  reply	other threads:[~2021-10-14 23:43 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-29 19:39 [PATCH 1/2] drm: Add Gamma and Degamma LUT sizes props to drm_crtc to validate Mark Yacoub
2021-09-29 19:39 ` Mark Yacoub
2021-09-29 19:39 ` [PATCH 2/2] amd/amdgpu_dm: Verify Gamma and Degamma LUT sizes using DRM Core check Mark Yacoub
2021-10-01 19:56   ` Sean Paul
2021-10-04 14:12     ` Harry Wentland
2021-10-01 20:34 ` [PATCH 1/2] drm: Add Gamma and Degamma LUT sizes props to drm_crtc to validate Sean Paul
2021-10-01 20:34   ` Sean Paul
2021-10-02 14:28   ` Sean Paul
2021-10-02 14:28     ` Sean Paul
2021-10-13 18:18   ` Mark Yacoub
2021-10-13 18:18     ` Mark Yacoub
2021-10-13 18:12 ` Mark Yacoub
2021-10-13 18:12   ` Mark Yacoub
2021-10-13 18:12   ` [Intel-gfx] " Mark Yacoub
2021-10-13 18:12   ` Mark Yacoub
2021-10-13 18:12   ` [PATCH 2/2] amd/amdgpu_dm: Verify Gamma and Degamma LUT sizes using DRM Core check Mark Yacoub
2021-10-13 18:12     ` [Intel-gfx] " Mark Yacoub
2021-10-14 23:42     ` Sean Paul [this message]
2021-10-14 23:42       ` Sean Paul
2021-10-26  1:26   ` [Intel-gfx] [PATCH 1/2] drm: Add Gamma and Degamma LUT sizes props to drm_crtc to validate Sean Paul
2021-10-26  1:26     ` Sean Paul
2021-10-26  1:26     ` Sean Paul
2021-10-26 19:25     ` Mark Yacoub
2021-10-26 19:25       ` Mark Yacoub
2021-10-26 19:25       ` Mark Yacoub
2021-10-26 12:02   ` Paul Menzel
2021-10-26 12:02     ` [Intel-gfx] " Paul Menzel
2021-10-26 12:02     ` Paul Menzel
2021-10-26 12:02     ` Paul Menzel
2021-10-26 19:24     ` Mark Yacoub
2021-10-26 19:24       ` Mark Yacoub
2021-10-26 19:24       ` [Intel-gfx] " Mark Yacoub
2021-10-26 19:24       ` Mark Yacoub
2021-10-26 19:26       ` [Intel-gfx] " Mark Yacoub
2021-10-26 19:26         ` Mark Yacoub
2021-10-26 19:26         ` Mark Yacoub
2021-10-26 19:26         ` Mark Yacoub

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=CAOw6vb+AaG2B1zRfLW54TDjinuirXAT+v2AvXeWmVjYNyJJXMQ@mail.gmail.com \
    --to=seanpaul@chromium.org \
    --cc=Xinhui.Pan@amd.com \
    --cc=airlied@linux.ie \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=christian.koenig@amd.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=harry.wentland@amd.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=markyacoub@chromium.org \
    --cc=markyacoub@google.com \
    --cc=sunpeng.li@amd.com \
    /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.