Re: PPC32 - No IDE/ATA devices on new PowerBook

From: Benjamin Herrenschmidt
Date: Fri Oct 28 2005 - 19:02:53 EST


On Fri, 2005-10-28 at 19:24 -0400, Parag Warudkar wrote:

> Thanks. I tried 2.4 kernel and to my surprise it detected the IDE/ATA
> controller! (Although it balked out with errors - read past the end
> of the device or something...).

2.4 used the device-tree exclusively for probing IDE on pmac, while 2.6
uses PCI probing when it's a PCI device. The device-tree method tend to
work even when we don't have the PCI ID, but it's dangerous: the driver
doesn't know the details of the timings for this chip revision etc...
and thus may well do crap. I wouldn't try too much with 2.4.

Can you try this patch ? If you don't have a way to build a patched
kernel, you may find somebody on linuxppc-dev list who can do it for
you.

Index: linux-work/drivers/ide/ppc/pmac.c
===================================================================
--- linux-work.orig/drivers/ide/ppc/pmac.c 2005-09-22 14:06:32.000000000 +1000
+++ linux-work/drivers/ide/ppc/pmac.c 2005-10-29 10:00:03.000000000 +1000
@@ -1664,11 +1664,16 @@
};

static struct pci_device_id pmac_ide_pci_match[] = {
- { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_ATA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
- { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_IPID_ATA100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
- { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_K2_ATA100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+ { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_ATA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+ { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_IPID_ATA100,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+ { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_K2_ATA100,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
{ PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_SH_ATA,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+ { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_IPIDD2_ATA,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
};

static struct pci_driver pmac_ide_pci_driver = {
Index: linux-work/include/linux/pci_ids.h
===================================================================
--- linux-work.orig/include/linux/pci_ids.h 2005-10-06 09:59:14.000000000 +1000
+++ linux-work/include/linux/pci_ids.h 2005-10-29 09:59:06.000000000 +1000
@@ -912,6 +912,7 @@
#define PCI_DEVICE_ID_APPLE_SH_FW 0x0052
#define PCI_DEVICE_ID_APPLE_U3L_AGP 0x0058
#define PCI_DEVICE_ID_APPLE_U3H_AGP 0x0059
+#define PCI_DEVICE_ID_APPLE_IPIDD2_ATA 0x0069
#define PCI_DEVICE_ID_APPLE_TIGON3 0x1645

#define PCI_VENDOR_ID_YAMAHA 0x1073




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/