[Intel-gfx] [PATCH] drm/i915: Add some more bits to CURSOR_POS_MASK
Patrik Jakobsson
patrik.jakobsson at linux.intel.com
Wed Nov 4 01:59:28 PST 2015
On Wed, Nov 04, 2015 at 10:35:19AM +0100, Robert Fekete wrote:
> The old value of 0x7FF will wrap the position at 2048 giving wrong
> coordinate values on panels larger than 2048 pixels in any direction.
> Used in i915_debugfs atm. Looking at all hw specs available at 01.org
> shows that X position is bit 0:11, and even 0:12 on some hw where
> remaining bits up to bit 14 is MBZ. For Y position it is bits 16-27
> where bits 28:30 is MBZ. It should be safe to increase CURSOR_POS_MASK
> to 13 bits (0x1FFF) making 8192 as a new wrap around value still getting
> valid cursor positions on platforms with only 12bits available thanks to
> MBZ on adjacent bits above.
I cannot find documentation for older hardware and this only touches
debugfs, so in worst case we get wrong values for really old hardware but good
ones for newer. I think that's a fair tradeoff.
Reviewed-by: Patrik Jakobsson <patrik.jakobsson at linux.intel.com>
>
> Signed-off-by: Robert Fekete <robert.fekete at linux.intel.com>
> ---
> drivers/gpu/drm/i915/i915_reg.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 894253228947..f351f46f8cb9 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -4883,7 +4883,7 @@ enum skl_disp_power_wells {
> #define CURSOR_TRICKLE_FEED_DISABLE (1 << 14)
> #define _CURABASE 0x70084
> #define _CURAPOS 0x70088
> -#define CURSOR_POS_MASK 0x007FF
> +#define CURSOR_POS_MASK 0x01FFF
> #define CURSOR_POS_SIGN 0x8000
> #define CURSOR_X_SHIFT 0
> #define CURSOR_Y_SHIFT 16
> --
> 1.9.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list