Subject: [PATCH] IP28: fix MC GIOPAR setting

From: peter fuerst <[email-masked]>
Date: Fri, 21 Mar 2008 16:03:16 +0100 (CET)

We must not omit the MASTERGFX setting, unless we want Impact DMA to hang ;-)

Signed-off-by: peter fuerst <[email-masked]>

--- a/arch/mips/sgi-ip22/ip22-mc.c	Tue Jan 29 10:14:58 2008
+++ b/arch/mips/sgi-ip22/ip22-mc.c	Fri Mar 21 13:59:42 2008
@@ -180,7 +180,9 @@
 	/* First the basic invariants across all GIO64 implementations. */
 	tmp = SGIMC_GIOPAR_HPC64;	/* All 1st HPC's interface at 64bits */
 	tmp |= SGIMC_GIOPAR_ONEBUS;	/* Only one physical GIO bus exists */
-
+#ifdef CONFIG_SGI_IP28
+	tmp |= SGIMC_GIOPAR_MASTERGFX;	/* GFX can act as a bus master */
+#endif
 	if (ip22_is_fullhouse()) {
 		/* Fullhouse specific settings. */
 		if (SGIOC_SYSID_BOARDREV(sgioc->sysid) < 2) {

---

From: [email-masked] (Thomas Bogendoerfer)
Date: Fri, 21 Mar 2008 20:47:37 +0100

> We must not omit the MASTERGFX setting, unless we want Impact DMA to hang ;-)

is there a reason to restrict this to IP28 only ?

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessary a
good idea.                                                [ RFC1925, 2.3 ]

---

From: peter fuerst <[email-masked]>
Date: Fri, 21 Mar 2008 22:07:38 +0100 (CET)

On Fri, 21 Mar 2008, Thomas Bogendoerfer wrote:

> Date: Fri, 21 Mar 2008 20:47:37 +0100
> From: Thomas Bogendoerfer <[email-masked]>
> To: peter fuerst <[email-masked]>
> Cc: [email-masked], [email-masked]
> Subject: Re: [PATCH] IP28: fix MC GIOPAR setting
>

Would indeed be most surprising, if this isn't appropriate for any Indigo2-
Impact, but don't know for sure.  And can't check, whether it at least doesn't
hurt Non-Impact Indigo2.  Of course, being able to avoid '#ifdef' at all would
be the prettiest alternative.

---

From: [email-masked] (Thomas Bogendoerfer)
Date: Fri, 21 Mar 2008 22:32:33 +0100

> be the prettiest alternative.

I'll check my IP22 machines, if they are ok with that change. Another
solution could be to have gio_set_master() similair to pci_set_master().
That way we only enable master, if it is requested by a driver.

Thomas.