Re: New topic (PowerPC Linux PCI HELL)

From: Daniel Jacobowitz (dmj+@andrew.cmu.edu)
Date: Wed Sep 13 2000 - 19:43:58 EST


On Wed, Sep 13, 2000 at 05:29:58PM -0700, Andre Hedrick wrote:
>
> Okay who can teach me how to force hooks and ram this down the PPC
>
> pci_write_config_word(dev, PCI_COMMAND, 0x05);
>
> I have all the address registered.
> My new PPC G3 (7600/132) toy is not allowing IO's on PCI cards to come
> alive. Thus I get some of the most beuatiful lockups ever.
> I suspect that this needs to be handled down in the arch.
>
> ./linux/arch/ppc/kernel/{chrp_pci.c|mbx_pci.c|pmac_pci.c|prep_pci.c}
>
> Basically I can not get the IO's active, regardless of BIOS on the card.
> Yes this is the old trick that used to work of making ix86 cards run in
> non ix86-pci slots.
>
> Here is the fun part, I have a native mac/ppc Ultra-66 card that is fin
> under Mac OS, but the IO's are not enable in linux and it crash like a big
> dog also.

I'm going to bet you need to look at Michel Lanners' (did I spell that
right this time?) PCI patches. For instance, I've always needed this
hideous patch on my 7300/200 to get a Promise Ultra66 card to work:

diff -ur merging-bk/drivers/block/ide-pci.c work-bk/drivers/block/ide-pci.c
--- merging-bk/drivers/block/ide-pci.c Tue Apr 4 22:19:16 2000
+++ work-bk/drivers/block/ide-pci.c Thu Mar 9 15:33:25 2000
@@ -468,6 +468,15 @@
                 printk("%s: error accessing PCI regs\n", d->name);
                 return;
         }
+#ifdef __powerpc__
+ if (!(pcicmd & PCI_COMMAND_IO)) { /* is device disabled? */
+ pci_write_config_word(dev, PCI_COMMAND, pcicmd | PCI_COMMAND_IO);
+ if (pci_read_config_word(dev, PCI_COMMAND, &pcicmd)) {
+ printk("%s: error accessing PCI regs\n", d->name);
+ return;
+ }
+ }
+#endif
         if (!(pcicmd & PCI_COMMAND_IO)) { /* is device disabled? */
                 /*
                  * PnP BIOS was *supposed* to have set this device up for us,

Dan

/--------------------------------\ /--------------------------------\
| Daniel Jacobowitz |__| SCS Class of 2002 |
| Debian GNU/Linux Developer __ Carnegie Mellon University |
| dan@debian.org | | dmj+@andrew.cmu.edu |
\--------------------------------/ \--------------------------------/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Sep 15 2000 - 21:00:22 EST