On Wed, Feb 1, 2012 at 4:33 AM, C?dric Cano <ccano at interfaceconcept.com> 
wrote:
> Hello,
>
> We're trying to use R600 DRM driver with big endian architecture. We find
> the following error in R600 definition of interrupt handler swap.
>
> Perhaps there's the same error in the evergreen definitions header file.

The definition in the register header is correct according to the
register spec.  It's bits 2:1 on both r6xx and evergreen.

0 = no swap
1 = 16 bit swap (0xaabb becomes 0xbbaa)
2 = 32 bit swap (0xaabbccdd becomes 0xddccbbaa)
3 = 64 bit swap (0xaabbccddeeff0011 becomes 0x1100ffeeddccbbaa))

Alex

>
> Cedric
>
> Signed-off-by: C?dric Cano <ccano at interfaceconcept.com>
> Signed-off-by: Thomas Jourdan <tjourdan at interfaceconcept.com>
> ---
> diff -Naur linux-3.2.2/drivers/gpu/drm/radeon/r600d.h
> linux-3.2.2/drivers/gpu/drm/radeon/r600d.h
> --- linux-3.2.2/drivers/gpu/drm/radeon/r600d.h ? ?2012-01-26
> 01:39:32.000000000 +0100
> +++ linux-3.2.2/drivers/gpu/drm/radeon/r600d.h ? ?2012-02-01
> 10:25:04.000000000 +0100
> @@ -552,7 +552,7 @@
> ?#define IH_RB_WPTR_ADDR_LO ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?0x3e14
> ?#define IH_CNTL ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0x3e18
> ?# ? ? ? define ENABLE_INTR ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1 << 0)
> -# ? ? ? define IH_MC_SWAP(x) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?((x) << 1)
> +# ? ? ? define IH_MC_SWAP(x) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?((x) << 2)
> ?# ? ? ? define IH_MC_SWAP_NONE ? ? ? ? ? ? ? ? ? ? ? ? ? ?0
> ?# ? ? ? define IH_MC_SWAP_16BIT ? ? ? ? ? ? ? ? ? ? ? ? ? 1
> ?# ? ? ? define IH_MC_SWAP_32BIT ? ? ? ? ? ? ? ? ? ? ? ? ? 2
> --
>
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to