mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
drm: Add helper to extract lut from struct drm_color_lut32
Add helper to extract lut values in 32-bit precision needed by hardware. Signed-off-by: Alex Hung <alex.hung@amd.com> Signed-off-by: Uma Shankar <uma.shankar@intel.com> Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com> Reviewed-by: Sebastian Wick <sebastian.wick@redhat.com> Signed-off-by: Simon Ser <contact@emersion.fr> Link: https://patch.msgid.link/20251115000237.3561250-37-alex.hung@amd.com
This commit is contained in:
committed by
Simon Ser
parent
621c45ca12
commit
9452977513
@@ -50,6 +50,22 @@ static inline u32 drm_color_lut_extract(u32 user_input, int bit_precision)
|
|||||||
(1 << 16) - 1);
|
(1 << 16) - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* drm_color_lut32_extract - clamp and round LUT entries
|
||||||
|
* @user_input: input value
|
||||||
|
* @bit_precision: number of bits the hw LUT supports
|
||||||
|
*
|
||||||
|
* Extract U0.bit_precision from a U0.32 LUT value.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
static inline u32 drm_color_lut32_extract(u32 user_input, int bit_precision)
|
||||||
|
{
|
||||||
|
u64 max = (bit_precision >= 64) ? ~0ULL : (1ULL << bit_precision) - 1;
|
||||||
|
|
||||||
|
return DIV_ROUND_CLOSEST_ULL((u64)user_input * max,
|
||||||
|
(1ULL << 32) - 1);
|
||||||
|
}
|
||||||
|
|
||||||
u64 drm_color_ctm_s31_32_to_qm_n(u64 user_input, u32 m, u32 n);
|
u64 drm_color_ctm_s31_32_to_qm_n(u64 user_input, u32 m, u32 n);
|
||||||
|
|
||||||
void drm_crtc_enable_color_mgmt(struct drm_crtc *crtc,
|
void drm_crtc_enable_color_mgmt(struct drm_crtc *crtc,
|
||||||
|
|||||||
Reference in New Issue
Block a user