On 2018-02-22 04:42 PM, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > The documentation for the ctm matrix suggests a two's complement > format, but at least the i915 implementation is using sign-magnitude > instead. And looks like malidp is doing the same. Change the docs > to match the current implementation, and change the type from __s64 > to __u64 to drive the point home. > > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Cc: Mihail Atanassov <mihail.atanassov@xxxxxxx> > Cc: Liviu Dudau <liviu.dudau@xxxxxxx> > Cc: Brian Starkey <brian.starkey@xxxxxxx> > Cc: Mali DP Maintainers <malidp@xxxxxxxxxxxx> > Cc: Johnson Lin <johnson.lin@xxxxxxxxx> > Cc: Uma Shankar <uma.shankar@xxxxxxxxx> > Cc: Shashank Sharma <shashank.sharma@xxxxxxxxx> > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Good clarification. Our new CTM implementation (1) actually assumed two's complement but nobody's using it yet, so we'll patch it to convert. Reviewed-by: Harry Wentland <harry.wentland@xxxxxxx> (1) https://patchwork.freedesktop.org/patch/204005/ Harry > --- > include/uapi/drm/drm_mode.h | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h > index 2c575794fb52..b5d7d9e0eff5 100644 > --- a/include/uapi/drm/drm_mode.h > +++ b/include/uapi/drm/drm_mode.h > @@ -598,8 +598,11 @@ struct drm_mode_crtc_lut { > }; > > struct drm_color_ctm { > - /* Conversion matrix in S31.32 format. */ > - __s64 matrix[9]; > + /* > + * Conversion matrix in S31.32 sign-magnitude > + * (not two's complement!) format. > + */ > + __u64 matrix[9]; > }; > > struct drm_color_lut { > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx