From: Melissa Wen <mwen@igalia.com> To: amd-gfx@lists.freedesktop.org, Harry Wentland <harry.wentland@amd.com>, Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>, sunpeng.li@amd.com, Alex Deucher <alexander.deucher@amd.com>, dri-devel@lists.freedesktop.org, christian.koenig@amd.com, Xinhui.Pan@amd.com, airlied@gmail.com, daniel@ffwll.ch Cc: Sebastian Wick <sebastian.wick@redhat.com>, Shashank Sharma <Shashank.Sharma@amd.com>, Alex Hung <alex.hung@amd.com>, Xaver Hugl <xaver.hugl@gmail.com>, linux-kernel@vger.kernel.org, Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>, Joshua Ashton <joshua@froggi.es>, sungjoon.kim@amd.com Subject: [RFC PATCH 34/40] drm/amd/display: add dc_fixpt_from_s3132 helper Date: Sun, 23 Apr 2023 13:10:46 -0100 [thread overview] Message-ID: <20230423141051.702990-35-mwen@igalia.com> (raw) In-Reply-To: <20230423141051.702990-1-mwen@igalia.com> From: Joshua Ashton <joshua@froggi.es> Detach value translation from CTM to reuse it for programming HDR multiplier property. Signed-off-by: Joshua Ashton <joshua@froggi.es> --- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c | 8 +------- drivers/gpu/drm/amd/display/include/fixed31_32.h | 12 ++++++++++++ 2 files changed, 13 insertions(+), 7 deletions(-) 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 07303c9f3618..d714728ca143 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 @@ -182,7 +182,6 @@ static void __drm_lut_to_dc_gamma(const struct drm_color_lut *lut, static void __drm_ctm_to_dc_matrix(const struct drm_color_ctm *ctm, struct fixed31_32 *matrix) { - int64_t val; int i; /* @@ -201,12 +200,7 @@ static void __drm_ctm_to_dc_matrix(const struct drm_color_ctm *ctm, } /* gamut_remap_matrix[i] = ctm[i - floor(i/4)] */ - val = ctm->matrix[i - (i / 4)]; - /* If negative, convert to 2's complement. */ - if (val & (1ULL << 63)) - val = -(val & ~(1ULL << 63)); - - matrix[i].value = val; + matrix[i] = dc_fixpt_from_s3132(ctm->matrix[i - (i / 4)]); } } diff --git a/drivers/gpu/drm/amd/display/include/fixed31_32.h b/drivers/gpu/drm/amd/display/include/fixed31_32.h index ece97ae0e826..f4cc7f97329f 100644 --- a/drivers/gpu/drm/amd/display/include/fixed31_32.h +++ b/drivers/gpu/drm/amd/display/include/fixed31_32.h @@ -69,6 +69,18 @@ static const struct fixed31_32 dc_fixpt_epsilon = { 1LL }; static const struct fixed31_32 dc_fixpt_half = { 0x80000000LL }; static const struct fixed31_32 dc_fixpt_one = { 0x100000000LL }; +static inline struct fixed31_32 dc_fixpt_from_s3132(__u64 x) +{ + struct fixed31_32 val; + + /* If negative, convert to 2's complement. */ + if (x & (1ULL << 63)) + x = -(x & ~(1ULL << 63)); + + val.value = x; + return val; +} + /* * @brief * Initialization routines -- 2.39.2
WARNING: multiple messages have this Message-ID (diff)
From: Melissa Wen <mwen@igalia.com> To: amd-gfx@lists.freedesktop.org, Harry Wentland <harry.wentland@amd.com>, Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>, sunpeng.li@amd.com, Alex Deucher <alexander.deucher@amd.com>, dri-devel@lists.freedesktop.org, christian.koenig@amd.com, Xinhui.Pan@amd.com, airlied@gmail.com, daniel@ffwll.ch Cc: Joshua Ashton <joshua@froggi.es>, Sebastian Wick <sebastian.wick@redhat.com>, Xaver Hugl <xaver.hugl@gmail.com>, Shashank Sharma <Shashank.Sharma@amd.com>, Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>, sungjoon.kim@amd.com, Alex Hung <alex.hung@amd.com>, linux-kernel@vger.kernel.org Subject: [RFC PATCH 34/40] drm/amd/display: add dc_fixpt_from_s3132 helper Date: Sun, 23 Apr 2023 13:10:46 -0100 [thread overview] Message-ID: <20230423141051.702990-35-mwen@igalia.com> (raw) In-Reply-To: <20230423141051.702990-1-mwen@igalia.com> From: Joshua Ashton <joshua@froggi.es> Detach value translation from CTM to reuse it for programming HDR multiplier property. Signed-off-by: Joshua Ashton <joshua@froggi.es> --- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c | 8 +------- drivers/gpu/drm/amd/display/include/fixed31_32.h | 12 ++++++++++++ 2 files changed, 13 insertions(+), 7 deletions(-) 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 07303c9f3618..d714728ca143 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 @@ -182,7 +182,6 @@ static void __drm_lut_to_dc_gamma(const struct drm_color_lut *lut, static void __drm_ctm_to_dc_matrix(const struct drm_color_ctm *ctm, struct fixed31_32 *matrix) { - int64_t val; int i; /* @@ -201,12 +200,7 @@ static void __drm_ctm_to_dc_matrix(const struct drm_color_ctm *ctm, } /* gamut_remap_matrix[i] = ctm[i - floor(i/4)] */ - val = ctm->matrix[i - (i / 4)]; - /* If negative, convert to 2's complement. */ - if (val & (1ULL << 63)) - val = -(val & ~(1ULL << 63)); - - matrix[i].value = val; + matrix[i] = dc_fixpt_from_s3132(ctm->matrix[i - (i / 4)]); } } diff --git a/drivers/gpu/drm/amd/display/include/fixed31_32.h b/drivers/gpu/drm/amd/display/include/fixed31_32.h index ece97ae0e826..f4cc7f97329f 100644 --- a/drivers/gpu/drm/amd/display/include/fixed31_32.h +++ b/drivers/gpu/drm/amd/display/include/fixed31_32.h @@ -69,6 +69,18 @@ static const struct fixed31_32 dc_fixpt_epsilon = { 1LL }; static const struct fixed31_32 dc_fixpt_half = { 0x80000000LL }; static const struct fixed31_32 dc_fixpt_one = { 0x100000000LL }; +static inline struct fixed31_32 dc_fixpt_from_s3132(__u64 x) +{ + struct fixed31_32 val; + + /* If negative, convert to 2's complement. */ + if (x & (1ULL << 63)) + x = -(x & ~(1ULL << 63)); + + val.value = x; + return val; +} + /* * @brief * Initialization routines -- 2.39.2
next prev parent reply other threads:[~2023-04-23 14:14 UTC|newest] Thread overview: 141+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-04-23 14:10 [RFC PATCH 00/40] drm/amd/display: add AMD driver-specific properties for color mgmt Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 01/40] drm/amd/display: fix segment distribution for linear LUTs Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 02/40] drm/amd/display: fix the delta clamping for shaper LUT Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 03/40] drm/amd/display: introduce Steam Deck color features to AMD display driver Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-05-08 21:24 ` Harry Wentland 2023-05-08 21:24 ` Harry Wentland 2023-05-09 16:23 ` Melissa Wen 2023-05-09 16:23 ` Melissa Wen 2023-05-09 16:23 ` Melissa Wen 2023-05-09 16:52 ` Joshua Ashton 2023-05-09 16:52 ` Joshua Ashton 2023-05-09 16:52 ` Joshua Ashton 2023-05-09 17:19 ` Harry Wentland 2023-05-09 17:19 ` Harry Wentland 2023-05-09 17:19 ` Harry Wentland 2023-05-09 17:20 ` Harry Wentland 2023-05-09 17:20 ` Harry Wentland 2023-05-09 17:20 ` Harry Wentland 2023-04-23 14:10 ` [RFC PATCH 04/40] drm/drm_mode_object: increase max objects to accommodate new color props Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 05/40] drm/amd/display: add shaper LUT driver-private props Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 17:26 ` kernel test robot 2023-05-08 21:24 ` Harry Wentland 2023-05-08 21:24 ` Harry Wentland 2023-05-09 16:30 ` Melissa Wen 2023-05-09 16:30 ` Melissa Wen 2023-05-09 16:30 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 06/40] drm/amd/display: add 3D " Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 07/40] drm/amd/display: add CRTC gamma TF to " Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-05-08 21:24 ` Harry Wentland 2023-05-08 21:24 ` Harry Wentland 2023-05-09 16:34 ` Melissa Wen 2023-05-09 16:34 ` Melissa Wen 2023-05-09 16:34 ` Melissa Wen 2023-05-09 16:55 ` Joshua Ashton 2023-05-09 16:55 ` Joshua Ashton 2023-05-09 16:55 ` Joshua Ashton 2023-04-23 14:10 ` [RFC PATCH 08/40] drm/drm_plane: track color mgmt changes per plane Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 09/40] drm/amd/display: move replace blob func to dm plane Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-05-08 21:24 ` Harry Wentland 2023-05-08 21:24 ` Harry Wentland 2023-05-09 16:35 ` Melissa Wen 2023-05-09 16:35 ` Melissa Wen 2023-05-09 16:35 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 10/40] drm/amd/display: add plane degamma LUT driver-private props Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 11/40] drm/amd/display: add plane degamma TF driver-private property Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 12/40] drm/amd/display: add plane HDR multiplier " Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-05-08 21:24 ` Harry Wentland 2023-05-08 21:24 ` Harry Wentland 2023-05-09 16:37 ` Melissa Wen 2023-05-09 16:37 ` Melissa Wen 2023-05-09 16:37 ` Melissa Wen 2023-05-09 16:54 ` Joshua Ashton 2023-05-09 16:54 ` Joshua Ashton 2023-05-09 16:54 ` Joshua Ashton 2023-05-09 20:00 ` Harry Wentland 2023-05-09 20:00 ` Harry Wentland 2023-05-09 20:00 ` Harry Wentland 2023-05-09 20:35 ` Joshua Ashton 2023-05-09 20:35 ` Joshua Ashton 2023-05-09 20:35 ` Joshua Ashton 2023-05-09 22:55 ` Harry Wentland 2023-05-09 22:55 ` Harry Wentland 2023-05-09 22:55 ` Harry Wentland 2023-04-23 14:10 ` [RFC PATCH 13/40] drm/amd/display: add plane 3D LUT driver-private properties Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 14/40] drm/amd/display: add plane shaper " Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 15/40] drm/amd/display: add plane shaper TF driver-private property Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 16/40] drm/amd/display: add plane blend LUT and TF driver-private properties Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 17/40] drm/amd/display: add comments to describe DM crtc color mgmt behavior Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 18/40] drm/amd/display: encapsulate atomic regamma operation Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 19/40] drm/amd/display: update lut3d and shaper lut to stream Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 20/40] drm/amd/display: copy 3D LUT settings from crtc state to stream_update Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 21/40] drm/amd/display: allow BYPASS 3D LUT but keep shaper LUT settings Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 22/40] drm/amd/display: handle MPC 3D LUT resources for a given context Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 23/40] drm/amd/display: dynamically acquire 3DLUT resources for color changes Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 24/40] drm/amd/display: add CRTC 3D LUT support to amd color pipeline Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 25/40] drm/amd/display: decouple steps to reuse in CRTC shaper LUT support Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 26/40] drm/amd/display: add CRTC shaper LUT support to amd color pipeline Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 18:48 ` kernel test robot 2023-04-23 14:10 ` [RFC PATCH 27/40] drm/amd/display: add CRTC regamma TF support Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 28/40] drm/amd/display: set sdr_ref_white_level to 80 for out_transfer_func Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 29/40] drm/amd/display: add CRTC shaper TF support Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 30/40] drm/amd/display: mark plane as needing reset if plane color mgmt changes Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 31/40] drm/amd/display: decouple steps for mapping CRTC degamma to DC plane Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 32/40] drm/amd/display: add support for plane degamma TF and LUT properties Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 33/40] drm/amd/display: reject atomic commit if setting both plane and CRTC degamma Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` Melissa Wen [this message] 2023-04-23 14:10 ` [RFC PATCH 34/40] drm/amd/display: add dc_fixpt_from_s3132 helper Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 35/40] drm/adm/display: add HDR multiplier support Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 36/40] drm/amd/display: add plane shaper/3D LUT and shaper TF support Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 37/40] drm/amd/display: handle empty LUTs in __set_input_tf Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 38/40] drm/amd/display: add DRM plane blend LUT and TF support Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 39/40] drm/amd/display: copy dc_plane color settings to surface_updates Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-04-23 14:10 ` [RFC PATCH 40/40] drm/amd/display: allow newer DC hardware to use degamma ROM for PQ/HLG Melissa Wen 2023-04-23 14:10 ` Melissa Wen 2023-05-08 21:24 ` [RFC PATCH 00/40] drm/amd/display: add AMD driver-specific properties for color mgmt Harry Wentland 2023-05-08 21:24 ` Harry Wentland 2023-05-09 16:52 ` Melissa Wen 2023-05-09 16:52 ` Melissa Wen 2023-05-09 16:52 ` Melissa Wen 2023-05-09 17:25 ` Harry Wentland 2023-05-09 17:25 ` Harry Wentland 2023-05-09 17:25 ` Harry Wentland
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=20230423141051.702990-35-mwen@igalia.com \ --to=mwen@igalia.com \ --cc=Rodrigo.Siqueira@amd.com \ --cc=Shashank.Sharma@amd.com \ --cc=Xinhui.Pan@amd.com \ --cc=airlied@gmail.com \ --cc=alex.hung@amd.com \ --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=joshua@froggi.es \ --cc=linux-kernel@vger.kernel.org \ --cc=nicholas.kazlauskas@amd.com \ --cc=sebastian.wick@redhat.com \ --cc=sungjoon.kim@amd.com \ --cc=sunpeng.li@amd.com \ --cc=xaver.hugl@gmail.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: linkBe 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.