Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce36f00d authored by Matt Turner's avatar Matt Turner Committed by Dave Airlie
Browse files

drm/radeon/kms/atom: use get_unaligned_le32() for ctx->ps



Noticed on a DEC Alpha.

Start up into console mode caused 15 unaligned accesses, and starting X
caused another 48.

Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
CC: Jerome Glisse <jglisse@redhat.com>
CC: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent e22238ea
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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_le32 avoids unaligned accesses from atombios
		 * tables, noticed on a DEC Alpha. */
		val = get_unaligned_le32((u32 *)&ctx->ps[idx]);
		if (print)
			DEBUG("PS[0x%02X,0x%04X]", idx, val);
		break;