Updated patch to use get_unaligned_le32, as suggested by Dave.

On Wed, Feb 10, 2010 at 10:56 PM, Matt Turner <matts...@gmail.com> wrote:
> Noticed on a DEC Alpha.
>
> Start up into console mode caused 15 unaligned accesses, and starting X
> caused another 48.
>
> Signed-off-by: Matt Turner <matts...@gmail.com>
> CC: Jerome Glisse <jgli...@redhat.com>
> CC: Alex Deucher <alexdeuc...@gmail.com>
> CC: Dave Airlie <airl...@redhat.com>
> ---
>  drivers/gpu/drm/radeon/atom.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom.c
> index bd0c843..c1d3c24 100644
> --- a/drivers/gpu/drm/radeon/atom.c
> +++ b/drivers/gpu/drm/radeon/atom.c
> @@ -24,6 +24,7 @@
>
>  #include <linux/module.h>
>  #include <linux/sched.h>
> +#include <asm/unaligned.h>
>
>  #define ATOM_DEBUG
>
> @@ -212,7 +213,9 @@ static uint32_t atom_get_src_int(atom_exec_context *ctx, 
> uint8_t attr,
>        case ATOM_ARG_PS:
>                idx = U8(*ptr);
>                (*ptr)++;
> -               val = le32_to_cpu(ctx->ps[idx]);
> +               /* get_unaligned avoids unaligned accesses from atombios 
> tables
> +                * 21, 24, 42. */
> +               val = le32_to_cpu(get_unaligned((u32 *)&ctx->ps[idx]));
>                if (print)
>                        DEBUG("PS[0x%02X,0x%04X]", idx, val);
>                break;
> --
> 1.6.5.3
>
>

Attachment: 0001-drm-radeon-kms-atom-use-get_unaligned_le32-for-ctx-p.patch
Description: Binary data

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to