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

Commit 437a0706 authored by Michael Ellerman's avatar Michael Ellerman Committed by Paul Mackerras
Browse files

[POWERPC] Fix sparse warning in xmon Cell code



My patch to add spu helpers to xmon (a8984970)
introduced a few sparse warnings, because I was dereferencing an __iomem
pointer.

I think the best way to handle it is to actually use the appropriate in_beXX
functions. Need to rejigger the DUMP macro a little to accomodate that.

Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
Signed-off-by: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
parent 5850dd8f
Loading
Loading
Loading
Loading
+15 −7
Original line number Diff line number Diff line
@@ -2748,13 +2748,13 @@ static void restart_spus(void)
}

#define DUMP_WIDTH	23
#define DUMP_FIELD(obj, format, field)					\
#define DUMP_VALUE(format, field, value)				\
do {									\
	if (setjmp(bus_error_jmp) == 0) {				\
		catch_memory_errors = 1;				\
		sync();							\
		printf("  %-*s = "format"\n", DUMP_WIDTH,		\
				#field, obj->field);			\
				#field, value);				\
		sync();							\
		__delay(200);						\
	} else {							\
@@ -2765,6 +2765,9 @@ do { \
	catch_memory_errors = 0;					\
} while (0)

#define DUMP_FIELD(obj, format, field)	\
	DUMP_VALUE(format, field, obj->field)

static void dump_spu_fields(struct spu *spu)
{
	printf("Dumping spu fields at address %p:\n", spu);
@@ -2793,13 +2796,18 @@ static void dump_spu_fields(struct spu *spu)
	DUMP_FIELD(spu, "0x%p", timestamp);
	DUMP_FIELD(spu, "0x%lx", problem_phys);
	DUMP_FIELD(spu, "0x%p", problem);
	DUMP_FIELD(spu, "0x%x", problem->spu_runcntl_RW);
	DUMP_FIELD(spu, "0x%x", problem->spu_status_R);
	DUMP_FIELD(spu, "0x%x", problem->spu_npc_RW);
	DUMP_VALUE("0x%x", problem->spu_runcntl_RW,
			in_be32(&spu->problem->spu_runcntl_RW));
	DUMP_VALUE("0x%x", problem->spu_status_R,
			in_be32(&spu->problem->spu_status_R));
	DUMP_VALUE("0x%x", problem->spu_npc_RW,
			in_be32(&spu->problem->spu_npc_RW));
	DUMP_FIELD(spu, "0x%p", priv1);

	if (spu->priv1)
		DUMP_FIELD(spu, "0x%lx", priv1->mfc_sr1_RW);
	if (spu->priv1) {
		DUMP_VALUE("0x%lx", priv1->mfc_sr1_RW,
				in_be64(&spu->priv1->mfc_sr1_RW));
	}

	DUMP_FIELD(spu, "0x%p", priv2);
}