[Intel-gfx] [PATCH] drm/fb: Proper support of boundary conditions in bitmasks.
Jani Nikula
jani.nikula at linux.intel.com
Mon Feb 20 08:00:00 UTC 2017
On Fri, 17 Feb 2017, Tomasz Lis <tomasz.lis at intel.com> wrote:
> The recently introduced patch changed behavior of masks when
> the bit number is negative. Instead of no bits set, the new way
> makes all bits set. Problematic patch:
> drm/i915: Avoid BIT(max) - 1 and use GENMASK(max - 1, 0)
For future reference, please find the commit id of the committed patch,
and reference that with the Fixes: tag. Please Cc the folks from the
commit.
Whoever commits this must add:
Fixes: 3c779a49bd7c ("drm/i915: Avoid BIT(max) - 1 and use GENMASK(max - 1, 0)")
Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter at intel.com>
Cc: Jani Nikula <jani.nikula at linux.intel.com>
Joonas, Chris, please check the rest of the regressing commit that it
doesn't suffer from the same issue.
Thanks,
Jani.
> This behaviour was not considered when making changes, and boundary
> value of count (=0) is now resulting in a mask with all bits on, since
> the value is directly decreased and therefore negative. Checking if
> all bits are set leads to infinite loop.
>
> This patch introduces an additional check to avoid empty masks. It
> reverts the control flow to the exact same way it worked before
> the problematic patch.
>
> Signed-off-by: Tomasz Lis <tomasz.lis at intel.com>
> ---
> drivers/gpu/drm/i915/intel_fbdev.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
> index e6f3eb2d..bc65ecf 100644
> --- a/drivers/gpu/drm/i915/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/intel_fbdev.c
> @@ -496,7 +496,7 @@ static bool intel_fb_initial_config(struct drm_fb_helper *fb_helper,
> conn_configured |= BIT(i);
> }
>
> - if ((conn_configured & mask) != mask) {
> + if (count > 0 && (conn_configured & mask) != mask) {
> pass++;
> goto retry;
> }
--
Jani Nikula, Intel Open Source Technology Center
More information about the Intel-gfx
mailing list