[PATCH] radeon: Fix KMS CP writeback on big endian machines.

Michel Dänzer michel at daenzer.net
Tue Apr 19 07:53:21 PDT 2011


On Die, 2011-04-19 at 16:38 +0200, Cédric Cano wrote:
> 
> Sorry, I've done a patch in reverse mode :(.

I can recommend using Git. :)


> I repost the patch for r600 and evergreen write back correction for
> big endian platforms.
> 
> Cedric
> 
> Signed-off-by: Cedric Cano <ccano at interfaceconcept.com>
> ---
> diff -Nuar linux-2.6.38.2/drivers/gpu/drm/radeon/evergreen.c
> linux-2.6.38.2/drivers/gpu/drm/radeon/evergreen.c
> --- linux-2.6.38.2/drivers/gpu/drm/radeon/evergreen.c    2011-03-27
> 20:37:20.000000000 +0200
> +++ linux-2.6.38.2/drivers/gpu/drm/radeon/evergreen.c    2011-04-19
> 11:39:39.000000000 +0200
> @@ -2587,7 +2587,7 @@
>      u32 wptr, tmp;
>  
>      if (rdev->wb.enabled)
> -        wptr = rdev->wb.wb[R600_WB_IH_WPTR_OFFSET/4];
> +        wptr = le32_to_cpu(rdev->wb.wb[R600_WB_IH_WPTR_OFFSET/4]);
>      else
>          wptr = RREG32(IH_RB_WPTR);
>  
> 
> diff -Nuar linux-2.6.38.2/drivers/gpu/drm/radeon/r600.c
> linux-2.6.38.2/drivers/gpu/drm/radeon/r600.c
> --- linux-2.6.38.2/drivers/gpu/drm/radeon/r600.c    2011-03-27
> 20:37:20.000000000 +0200
> +++ linux-2.6.38.2/drivers/gpu/drm/radeon/r600.c    2011-04-19
> 09:52:13.000000000 +0200
> @@ -3227,7 +3227,7 @@
>      u32 wptr, tmp;
>  
>      if (rdev->wb.enabled)
> -        wptr = rdev->wb.wb[R600_WB_IH_WPTR_OFFSET/4];
> +        wptr = le32_to_cpu(rdev->wb.wb[R600_WB_IH_WPTR_OFFSET/4]);
>      else
>          wptr = RREG32(IH_RB_WPTR);

Reviewed-by: Michel Dänzer <michel at daenzer.net>


-- 
Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer


More information about the dri-devel mailing list