R600 definition error for interrupt handler swap
Alex Deucher
alexdeucher at gmail.com
Wed Feb 1 11:46:03 PST 2012
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
More information about the dri-devel
mailing list