Message ID | 20231108163647.106853-2-harry.wentland@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Color Pipeline API w/ VKMS | expand |
On 11/08, Harry Wentland wrote: > Unit testing this in VKMS shows that passing 0 into > this function returns -1, which is highly counter- > intuitive. Fix it by checking whether the input is > >= 0 instead of > 0. > Nice finding. Thanks! Could you add the fixes tag? AFAIU, this one: Fixes: 64566b5e767f9 ("drm: Add drm_fixp_from_fraction and drm_fixp2int_ceil") Reviewed-by: Melissa Wen <mwen@igalia.com> > Signed-off-by: Harry Wentland <harry.wentland@amd.com> > Reviewed-by: Simon Ser <contact@emersion.fr> > --- > include/drm/drm_fixed.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/drm/drm_fixed.h b/include/drm/drm_fixed.h > index 6ea339d5de08..0c9f917a4d4b 100644 > --- a/include/drm/drm_fixed.h > +++ b/include/drm/drm_fixed.h > @@ -95,7 +95,7 @@ static inline int drm_fixp2int_round(s64 a) > > static inline int drm_fixp2int_ceil(s64 a) > { > - if (a > 0) > + if (a >= 0) > return drm_fixp2int(a + DRM_FIXED_ALMOST_ONE); > else > return drm_fixp2int(a - DRM_FIXED_ALMOST_ONE); > -- > 2.42.1 >
On 12/06, Melissa Wen wrote: > On 11/08, Harry Wentland wrote: > > Unit testing this in VKMS shows that passing 0 into > > this function returns -1, which is highly counter- > > intuitive. Fix it by checking whether the input is > > >= 0 instead of > 0. > > > Nice finding. Thanks! > > Could you add the fixes tag? AFAIU, this one: > > Fixes: 64566b5e767f9 ("drm: Add drm_fixp_from_fraction and drm_fixp2int_ceil") > Reviewed-by: Melissa Wen <mwen@igalia.com> cc'ing msm people: Hi, Only msm and vkms currently use this function. I see many points where msm resorts to a conditional that avoid passing 0 into this function. For example: if (temp2_fp) temp = drm_fixp2int_ceil(temp2_fp); else temp = 0; Can someone from msm ack this patch too? Thanks, Melissa > > > Signed-off-by: Harry Wentland <harry.wentland@amd.com> > > Reviewed-by: Simon Ser <contact@emersion.fr> > > --- > > include/drm/drm_fixed.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/include/drm/drm_fixed.h b/include/drm/drm_fixed.h > > index 6ea339d5de08..0c9f917a4d4b 100644 > > --- a/include/drm/drm_fixed.h > > +++ b/include/drm/drm_fixed.h > > @@ -95,7 +95,7 @@ static inline int drm_fixp2int_round(s64 a) > > > > static inline int drm_fixp2int_ceil(s64 a) > > { > > - if (a > 0) > > + if (a >= 0) > > return drm_fixp2int(a + DRM_FIXED_ALMOST_ONE); > > else > > return drm_fixp2int(a - DRM_FIXED_ALMOST_ONE); > > -- > > 2.42.1 > >
diff --git a/include/drm/drm_fixed.h b/include/drm/drm_fixed.h index 6ea339d5de08..0c9f917a4d4b 100644 --- a/include/drm/drm_fixed.h +++ b/include/drm/drm_fixed.h @@ -95,7 +95,7 @@ static inline int drm_fixp2int_round(s64 a) static inline int drm_fixp2int_ceil(s64 a) { - if (a > 0) + if (a >= 0) return drm_fixp2int(a + DRM_FIXED_ALMOST_ONE); else return drm_fixp2int(a - DRM_FIXED_ALMOST_ONE);