Skip to content

Commit 6f1e094

Browse files
ckborahjnikula
authored andcommitted
drm/i915/color: Preserve sign bit when int_bits is Zero
When int_bits == 0, we lose the sign bit when we do the range check and apply the mask. Fix this by ensuring a minimum of one integer bit, which guarantees space for the sign bit in fully fractional representations (e.g. S0.12) Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com> Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com> Signed-off-by: Uma Shankar <uma.shankar@intel.com> Link: https://patch.msgid.link/20251203085211.3663374-7-uma.shankar@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
1 parent a78f1b6 commit 6f1e094

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

drivers/gpu/drm/i915/display/intel_color.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -613,6 +613,8 @@ static u16 ctm_to_twos_complement(u64 coeff, int int_bits, int frac_bits)
613613
if (CTM_COEFF_NEGATIVE(coeff))
614614
c = -c;
615615

616+
int_bits = max(int_bits, 1);
617+
616618
c = clamp(c, -(s64)BIT(int_bits + frac_bits - 1),
617619
(s64)(BIT(int_bits + frac_bits - 1) - 1));
618620

0 commit comments

Comments
 (0)