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 ------------------------------------------------------------------------------ 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