Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 43930 Details for
Bug 68970
livecd freeze on a new Imac G5
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Corrected patch for Imac G5 boot with UDMA working on IDE
linux-2.6.10-rc1.diff (text/plain), 19.05 KB, created by
Jocelyn Mayer
on 2004-11-14 07:30:11 UTC
(
hide
)
Description:
Corrected patch for Imac G5 boot with UDMA working on IDE
Filename:
MIME Type:
Creator:
Jocelyn Mayer
Created:
2004-11-14 07:30:11 UTC
Size:
19.05 KB
patch
obsolete
>diff -urpBbN --exclude='*.orig' --exclude='*.diff' --exclude='*.rej' --exclude='*~' /usr/src/linux-2.6.10-rc1/arch/ppc64/kernel/pmac_feature.c linux-2.6.10-rc1/arch/ppc64/kernel/pmac_feature.c >--- /usr/src/linux-2.6.10-rc1/arch/ppc64/kernel/pmac_feature.c 2004-11-09 06:38:44.000000000 +0100 >+++ linux-2.6.10-rc1/arch/ppc64/kernel/pmac_feature.c 2004-11-11 12:50:58.000000000 +0100 >@@ -347,6 +347,10 @@ static struct pmac_mb_def pmac_mb_defs[] > PMAC_TYPE_POWERMAC_G5, g5_features, > 0, > }, >+ { "PowerMac8,1", "IMac G5", >+ PMAC_TYPE_POWERMAC_G5, g5_features, >+ 0, >+ }, > { "RackMac3,1", "XServe G5", > PMAC_TYPE_POWERMAC_G5, g5_features, > 0, >diff -urpBbN --exclude='*.orig' --exclude='*.diff' --exclude='*.rej' --exclude='*~' /usr/src/linux-2.6.10-rc1/arch/ppc64/kernel/pmac_pci.c linux-2.6.10-rc1/arch/ppc64/kernel/pmac_pci.c >--- /usr/src/linux-2.6.10-rc1/arch/ppc64/kernel/pmac_pci.c 2004-11-09 06:38:44.000000000 +0100 >+++ linux-2.6.10-rc1/arch/ppc64/kernel/pmac_pci.c 2004-11-16 14:52:18.000000000 +0100 >@@ -40,7 +40,7 @@ > #endif > > extern int pci_probe_only; >-extern int pci_read_irq_line(struct pci_dev *pci_dev); >+extern int pmac_pci_read_irq_line(struct pci_dev *pci_dev); > > /* XXX Could be per-controller, but I don't think we risk anything by > * assuming we won't have both UniNorth and Bandit */ >@@ -670,7 +670,7 @@ void __init pmac_pcibios_fixup(void) > struct pci_dev *dev = NULL; > > while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) >- pci_read_irq_line(dev); >+ pmac_pci_read_irq_line(dev); > > pci_fix_bus_sysdata(); > >@@ -789,3 +789,26 @@ void fixup_k2_sata(struct pci_dev* dev) > } > } > DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SERVERWORKS, 0x0240, fixup_k2_sata); >+ >+int pmac_pci_read_irq_line(struct pci_dev *pci_dev) >+{ >+ u8 intpin; >+ struct device_node *node; >+ >+ node = pci_device_to_OF_node(pci_dev); >+ if (node == NULL) >+ return -1; >+ if (node->n_intrs == 0) >+ return -1; >+ pci_dev->irq = node->intrs[0].line; >+ >+ /* Update PCI configuration space only for devices which have the >+ * interrupt pin defined >+ */ >+ pci_read_config_byte(pci_dev, PCI_INTERRUPT_PIN, &intpin); >+ if (intpin != 0) >+ pci_write_config_byte(pci_dev, PCI_INTERRUPT_LINE, pci_dev->irq); >+ >+ return 0; >+} >+EXPORT_SYMBOL(pmac_pci_read_irq_line); >diff -urpBbN --exclude='*.orig' --exclude='*.diff' --exclude='*.rej' --exclude='*~' /usr/src/linux-2.6.10-rc1/drivers/ide/ppc/pmac.c linux-2.6.10-rc1/drivers/ide/ppc/pmac.c >--- /usr/src/linux-2.6.10-rc1/drivers/ide/ppc/pmac.c 2004-11-09 06:38:44.000000000 +0100 >+++ linux-2.6.10-rc1/drivers/ide/ppc/pmac.c 2004-11-14 15:54:47.098997808 +0100 >@@ -91,7 +91,8 @@ enum { > controller_kl_ata3, /* KeyLargo ATA-3 */ > controller_kl_ata4, /* KeyLargo ATA-4 */ > controller_un_ata6, /* UniNorth2 ATA-6 */ >- controller_k2_ata6 /* K2 ATA-6 */ >+ controller_k2_ata6, /* K2 ATA-6 */ >+ controller_sh_ata6, /* Shasta ATA-6 */ > }; > > static const char* model_name[] = { >@@ -101,6 +102,7 @@ static const char* model_name[] = { > "KeyLargo ATA-4", /* KeyLargo ATA-4 (UDMA/66) */ > "UniNorth ATA-6", /* UniNorth2 ATA-6 (UDMA/100) */ > "K2 ATA-6", /* K2 ATA-6 (UDMA/100) */ >+ "Shasta ATA-6", /* Shasta ATA-6 (UDMA/133) */ > }; > > /* >@@ -549,7 +551,7 @@ pmac_ide_do_update_timings(ide_drive_t * > if (pmif == NULL) > return; > >- if (pmif->kind == controller_un_ata6 || pmif->kind == controller_k2_ata6) >+ if (pmif->kind == controller_sh_ata6 || pmif->kind == controller_un_ata6 || pmif->kind == controller_k2_ata6) > pmac_ide_kauai_selectproc(drive); > else > pmac_ide_selectproc(drive); >@@ -667,6 +669,8 @@ pmac_ide_tuneproc(ide_drive_t *drive, u8 > pio = ide_get_best_pio_mode(drive, pio, 4, &d); > > switch (pmif->kind) { >+ case controller_sh_ata6: >+ /* XXX: 133Mhz cell may use other timings ? */ > case controller_un_ata6: > case controller_k2_ata6: { > /* 100Mhz cell */ >@@ -805,6 +809,7 @@ set_timings_mdma(ide_drive_t *drive, int > cycleTime = 150; > /* Get the proper timing array for this controller */ > switch(intf_type) { >+ case controller_sh_ata6: > case controller_un_ata6: > case controller_k2_ata6: > break; >@@ -838,6 +843,7 @@ set_timings_mdma(ide_drive_t *drive, int > #endif > } > switch(intf_type) { >+ case controller_sh_ata6: > case controller_un_ata6: > case controller_k2_ata6: { > /* 100Mhz cell */ >@@ -934,7 +940,8 @@ pmac_ide_tune_chipset (ide_drive_t *driv > #ifdef CONFIG_BLK_DEV_IDEDMA_PMAC > case XFER_UDMA_5: > if (pmif->kind != controller_un_ata6 && >- pmif->kind != controller_k2_ata6) >+ pmif->kind != controller_k2_ata6 && >+ pmif->kind != controller_sh_ata6) > return 1; > case XFER_UDMA_4: > case XFER_UDMA_3: >@@ -946,7 +953,8 @@ pmac_ide_tune_chipset (ide_drive_t *driv > if (pmif->kind == controller_kl_ata4) > ret = set_timings_udma_ata4(timings, speed); > else if (pmif->kind == controller_un_ata6 >- || pmif->kind == controller_k2_ata6) >+ || pmif->kind == controller_k2_ata6 >+ || pmif->kind == controller_sh_ata6) > ret = set_timings_udma_ata6(timings, timings2, speed); > else > ret = 1; >@@ -996,6 +1004,7 @@ sanitize_timings(pmac_ide_hwif_t *pmif) > switch(pmif->kind) { > case controller_un_ata6: > case controller_k2_ata6: >+ case controller_sh_ata6: > value = 0x08618a92; > value2 = 0x00002921; > break; >@@ -1144,7 +1153,9 @@ pmac_ide_setup_device(pmac_ide_hwif_t *p > > pmif->cable_80 = 0; > pmif->broken_dma = pmif->broken_dma_warn = 0; >- if (device_is_compatible(np, "kauai-ata")) >+ if (device_is_compatible(np, "shasta-ata")) >+ pmif->kind = controller_sh_ata6; >+ else if (device_is_compatible(np, "kauai-ata")) > pmif->kind = controller_un_ata6; > else if (device_is_compatible(np, "K2-UATA")) > pmif->kind = controller_k2_ata6; >@@ -1165,7 +1176,8 @@ pmac_ide_setup_device(pmac_ide_hwif_t *p > > /* Get cable type from device-tree */ > if (pmif->kind == controller_kl_ata4 || pmif->kind == controller_un_ata6 >- || pmif->kind == controller_k2_ata6) { >+ || pmif->kind == controller_k2_ata6 >+ || pmif->kind == controller_sh_ata6) { > char* cable = get_property(np, "cable-type", NULL); > if (cable && !strncmp(cable, "80-", 3)) > pmif->cable_80 = 1; >@@ -1219,7 +1231,9 @@ pmac_ide_setup_device(pmac_ide_hwif_t *p > hwif->drives[0].unmask = 1; > hwif->drives[1].unmask = 1; > hwif->tuneproc = pmac_ide_tuneproc; >- if (pmif->kind == controller_un_ata6 || pmif->kind == controller_k2_ata6) >+ if (pmif->kind == controller_un_ata6 >+ || pmif->kind == controller_k2_ata6 >+ || pmif->kind == controller_sh_ata6) > hwif->selectproc = pmac_ide_kauai_selectproc; > else > hwif->selectproc = pmac_ide_selectproc; >@@ -1444,11 +1458,7 @@ pmac_ide_pci_attach(struct pci_dev *pdev > pmif->dma_regs = base + 0x1000; > #endif /* CONFIG_BLK_DEV_IDEDMA_PMAC */ > >- /* We use the OF node irq mapping */ >- if (np->n_intrs == 0) > pmif->irq = pdev->irq; >- else >- pmif->irq = np->intrs[0].line; > > pci_set_drvdata(pdev, hwif); > >@@ -1532,6 +1542,7 @@ static struct pci_device_id pmac_ide_pci > { PCI_VENDOR_ID_APPLE, PCI_DEVIEC_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}, > }; > > static struct pci_driver pmac_ide_pci_driver = { >@@ -1792,7 +1803,9 @@ pmac_ide_udma_enable(ide_drive_t *drive, > timing_local[1] = *timings2; > > /* Calculate timings for interface */ >- if (pmif->kind == controller_un_ata6 || pmif->kind == controller_k2_ata6) >+ if (pmif->kind == controller_un_ata6 >+ || pmif->kind == controller_k2_ata6 >+ || pmif->kind == controller_sh_ata6) > ret = set_timings_udma_ata6( &timing_local[0], > &timing_local[1], > mode); >@@ -1847,13 +1860,17 @@ pmac_ide_dma_check(ide_drive_t *drive) > > map = XFER_MWDMA; > if (pmif->kind == controller_kl_ata4 || pmif->kind == controller_un_ata6 >- || pmif->kind == controller_k2_ata6) { >+ || pmif->kind == controller_k2_ata6 >+ || pmif->kind == controller_sh_ata6) { > map |= XFER_UDMA; > if (pmif->cable_80) { > map |= XFER_UDMA_66; > if (pmif->kind == controller_un_ata6 || >- pmif->kind == controller_k2_ata6) >+ pmif->kind == controller_k2_ata6 || >+ pmif->kind == controller_sh_ata6) > map |= XFER_UDMA_100; >+ if (pmif->kind == controller_sh_ata6) >+ map |= XFER_UDMA_133; > } > } > mode = ide_find_best_mode(drive, map); >@@ -2093,6 +2110,7 @@ pmac_ide_setup_dma(pmac_ide_hwif_t *pmif > switch(pmif->kind) { > case controller_un_ata6: > case controller_k2_ata6: >+ case controller_sh_ata6: > hwif->ultra_mask = pmif->cable_80 ? 0x3f : 0x07; > hwif->mwdma_mask = 0x07; > hwif->swdma_mask = 0x00; >diff -urpBbN --exclude='*.orig' --exclude='*.diff' --exclude='*.rej' --exclude='*~' /usr/src/linux-2.6.10-rc1/drivers/net/sungem.c linux-2.6.10-rc1/drivers/net/sungem.c >--- /usr/src/linux-2.6.10-rc1/drivers/net/sungem.c 2004-11-09 06:38:44.000000000 +0100 >+++ linux-2.6.10-rc1/drivers/net/sungem.c 2004-11-11 18:25:37.000000000 +0100 >@@ -109,6 +109,8 @@ static struct pci_device_id gem_pci_tbl[ > PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, > { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_K2_GMAC, > PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, >+ { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_SH_SUNGEM, >+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, > {0, } > }; > >diff -urpBbN --exclude='*.orig' --exclude='*.diff' --exclude='*.rej' --exclude='*~' /usr/src/linux-2.6.10-rc1/drivers/pci/pci.ids linux-2.6.10-rc1/drivers/pci/pci.ids >--- /usr/src/linux-2.6.10-rc1/drivers/pci/pci.ids 2004-11-09 06:38:44.000000000 +0100 >+++ linux-2.6.10-rc1/drivers/pci/pci.ids 2004-11-11 12:50:58.000000000 +0100 >@@ -2189,6 +2189,14 @@ > 0049 K2 HT-PCI Bridge > 004b U3 AGP > 004c K2 GMAC (Sun GEM) >+ 004f Shasta Mac I/O >+ 0050 Shasta IDE >+ 0051 Shasta (Sun GEM) >+ 0052 Shasta FireWire >+ 0053 Shasta PCI Bridge >+ 0054 Shasta PCI Bridge >+ 0055 Shasta PCI Bridge >+ 0058 U3L AGP Bridge > 1645 Tigon3 Gigabit Ethernet NIC (BCM5701) > 106c Hyundai Electronics America > 8801 Dual Pentium ISA/PCI Motherboard >diff -urpBbN --exclude='*.orig' --exclude='*.diff' --exclude='*.rej' --exclude='*~' /usr/src/linux-2.6.10-rc1/drivers/scsi/libata-core.c linux-2.6.10-rc1/drivers/scsi/libata-core.c >--- /usr/src/linux-2.6.10-rc1/drivers/scsi/libata-core.c 2004-11-09 06:38:44.000000000 +0100 >+++ linux-2.6.10-rc1/drivers/scsi/libata-core.c 2004-11-11 18:17:41.000000000 +0100 >@@ -3250,6 +3249,9 @@ int ata_device_add(struct ata_probe_ent > host_set->mmio_base = ent->mmio_base; > host_set->private_data = ent->private_data; > host_set->ops = ent->port_ops; >+ if (host_set->ops->host_start) >+ host_set->ops->host_start(host_set); >+ > > /* register each port bound to this device */ > for (i = 0; i < ent->n_ports; i++) { >diff -urpBbN --exclude='*.orig' --exclude='*.diff' --exclude='*.rej' --exclude='*~' /usr/src/linux-2.6.10-rc1/drivers/scsi/sata_svw.c linux-2.6.10-rc1/drivers/scsi/sata_svw.c >--- /usr/src/linux-2.6.10-rc1/drivers/scsi/sata_svw.c 2004-11-09 06:38:44.000000000 +0100 >+++ linux-2.6.10-rc1/drivers/scsi/sata_svw.c 2004-11-14 15:57:29.394959352 +0100 >@@ -49,7 +49,7 @@ > #endif /* CONFIG_PPC_OF */ > > #define DRV_NAME "sata_svw" >-#define DRV_VERSION "1.04" >+#define DRV_VERSION "1.05" > > /* Taskfile registers offsets */ > #define K2_SATA_TF_CMD_OFFSET 0x00 >@@ -75,10 +75,19 @@ > #define K2_SATA_SICR1_OFFSET 0x80 > #define K2_SATA_SICR2_OFFSET 0x84 > #define K2_SATA_SIM_OFFSET 0x88 >+#define K2_SATA_MDIO_ACCESS 0x8c > > /* Port stride */ > #define K2_SATA_PORT_OFFSET 0x100 > >+/* Private structure */ >+struct k2_sata_priv >+{ >+#ifdef CONFIG_PPC_OF >+ struct device_node *of_node; >+#endif >+ int need_mdio_phy_reset; >+}; > > static u32 k2_sata_scr_read (struct ata_port *ap, unsigned int sc_reg) > { >@@ -96,6 +105,41 @@ static void k2_sata_scr_write (struct at > writel(val, (void *) ap->ioaddr.scr_addr + (sc_reg * 4)); > } > >+static u16 k2_sata_mdio_read(struct ata_host_set *host_set, int reg) >+{ >+ u16 val; >+ int timeout; >+ >+ writel((reg & 0x1f) | 0x4000, >+ host_set->mmio_base + K2_SATA_MDIO_ACCESS); >+ for(timeout = 10000; timeout > 0; timeout++) { >+ val = readl(host_set->mmio_base + K2_SATA_MDIO_ACCESS); >+ if (val & 0x8000) >+ break; >+ udelay(100); >+ } >+ if (timeout <= 0) { >+ printk(KERN_WARNING "sata_svw: timeout reading MDIO reg %d\n", reg); >+ return 0xffff; >+ } >+ return val >> 16; >+} >+ >+static void k2_sata_mdio_write(struct ata_host_set *host_set, int reg, u16 val) >+{ >+ int timeout; >+ >+ writel((reg & 0x1f) | (((u32)val) << 16) | 0x2000, >+ host_set->mmio_base + K2_SATA_MDIO_ACCESS); >+ for(timeout = 10000; timeout > 0; timeout++) { >+ val = readl(host_set->mmio_base + K2_SATA_MDIO_ACCESS); >+ if (val & 0x8000) >+ break; >+ udelay(100); >+ } >+ if (timeout <= 0) >+ printk(KERN_WARNING "sata_svw: timeout writing MDIO reg %d\n", reg); >+} > > static void k2_sata_tf_load(struct ata_port *ap, struct ata_taskfile *tf) > { >@@ -220,6 +264,31 @@ static u8 k2_stat_check_status(struct at > return readl((void *) ap->ioaddr.status_addr); > } > >+static void k2_sata_mdio_phy_reset(struct ata_host_set *host_set) >+{ >+ u16 reg; >+ >+ reg = k2_sata_mdio_read(host_set, 4); >+ k2_sata_mdio_write(host_set, 4, reg | 0x0008); >+ udelay(200); >+ k2_sata_mdio_write(host_set, 4, reg); >+ udelay(250); >+} >+ >+static void k2_sata_host_start(struct ata_host_set *host_set) >+{ >+ struct k2_sata_priv *pp; >+ >+ pp = host_set->private_data; >+ >+ /* Some cell revs need a HW reset of the PHY layer at this point, and >+ * on wakeup from power management >+ */ >+ if (pp->need_mdio_phy_reset) >+ k2_sata_mdio_phy_reset(host_set); >+} >+ >+ > #ifdef CONFIG_PPC_OF > /* > * k2_sata_proc_info >@@ -237,6 +306,7 @@ static int k2_sata_proc_info(struct Scsi > { > struct ata_port *ap; > struct device_node *np; >+ struct k2_sata_priv *pp; > int len, index; > > /* Find the ata_port */ >@@ -245,7 +315,8 @@ static int k2_sata_proc_info(struct Scsi > return 0; > > /* Find the OF node for the PCI device proper */ >- np = pci_device_to_OF_node(ap->host_set->pdev); >+ pp = ap->host_set->private_data; >+ np = pp->of_node; > if (np == NULL) > return 0; > >@@ -310,6 +381,7 @@ static struct ata_port_operations k2_sat > .scr_write = k2_sata_scr_write, > .port_start = ata_port_start, > .port_stop = ata_port_stop, >+ .host_start = k2_sata_host_start, > }; > > static void k2_sata_setup_port(struct ata_ioports *port, unsigned long base) >@@ -338,6 +410,7 @@ static int k2_sata_init_one (struct pci_ > struct ata_probe_ent *probe_ent = NULL; > unsigned long base; > void *mmio_base; >+ struct k2_sata_priv *pp = NULL; > int rc; > > if (!printed_version++) >@@ -376,9 +449,31 @@ static int k2_sata_init_one (struct pci_ > } > > memset(probe_ent, 0, sizeof(*probe_ent)); >+ >+ pp = (struct k2_sata_priv *)kmalloc(sizeof(struct k2_sata_priv), GFP_KERNEL); >+ if (pp == NULL) { >+ rc = -ENOMEM; >+ goto err_out_free_ent; >+ } >+ memset(pp, 0, sizeof(struct k2_sata_priv)); >+ > probe_ent->pdev = pdev; > INIT_LIST_HEAD(&probe_ent->node); > >+ probe_ent->private_data = pdev; >+ >+#ifdef CONFIG_PPC_OF >+ /* Find the OF node for the PCI device proper */ >+ pp->of_node = pci_device_to_OF_node(pdev); >+ >+ /* Check for revision 1 */ >+ if (pp->of_node) { >+ u32 *rev; >+ rev = (u32 *)get_property(pp->of_node, "cell-revision", NULL); >+ if (rev && (*rev) > 0) >+ pp->need_mdio_phy_reset = 1; >+ } >+#endif /* CONFIG_PPC_OF */ > mmio_base = ioremap(pci_resource_start(pdev, 5), > pci_resource_len(pdev, 5)); > if (mmio_base == NULL) { >@@ -429,6 +524,9 @@ static int k2_sata_init_one (struct pci_ > return 0; > > err_out_free_ent: >+ if (pp) >+ kfree(pp); >+ if (probe_ent) > kfree(probe_ent); > err_out_regions: > pci_release_regions(pdev); >diff -urpBbN --exclude='*.orig' --exclude='*.diff' --exclude='*.rej' --exclude='*~' /usr/src/linux-2.6.10-rc1/drivers/video/modedb.c linux-2.6.10-rc1/drivers/video/modedb.c >--- /usr/src/linux-2.6.10-rc1/drivers/video/modedb.c 2004-11-09 06:38:44.000000000 +0100 >+++ linux-2.6.10-rc1/drivers/video/modedb.c 2004-11-11 15:45:54.000000000 +0100 >@@ -248,6 +248,10 @@ static const __init struct fb_videomode > /* 480x300 @ 72 Hz, 48.0 kHz hsync */ > NULL, 72, 480, 300, 33386, 40, 24, 11, 19, 80, 3, > 0, FB_VMODE_DOUBLE >+ }, { >+ /* 1440x900 @ 72 Hz, 67.6 kHz hsync */ >+ NULL, 72, 1440, 900, 10000, 16, 16, 16, 16, 80, 8, >+ 0, FB_VMODE_NONINTERLACED > }, > }; > >diff -urpBbN --exclude='*.orig' --exclude='*.diff' --exclude='*.rej' --exclude='*~' /usr/src/linux-2.6.10-rc1/drivers/video/riva/fbdev.c linux-2.6.10-rc1/drivers/video/riva/fbdev.c >--- /usr/src/linux-2.6.10-rc1/drivers/video/riva/fbdev.c 2004-11-09 06:38:44.000000000 +0100 >+++ linux-2.6.10-rc1/drivers/video/riva/fbdev.c 2004-11-11 15:03:10.000000000 +0100 >@@ -192,6 +192,8 @@ static struct pci_device_id rivafb_pci_t > PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, > { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO4_700XGL, > PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, >+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE2_FX_GO5200, >+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, > { 0, } /* terminate list */ > }; > MODULE_DEVICE_TABLE(pci, rivafb_pci_tbl); >diff -urpBbN --exclude='*.orig' --exclude='*.diff' --exclude='*.rej' --exclude='*~' /usr/src/linux-2.6.10-rc1/include/linux/libata.h linux-2.6.10-rc1/include/linux/libata.h >--- /usr/src/linux-2.6.10-rc1/include/linux/libata.h 2004-11-09 06:38:44.000000000 +0100 >+++ linux-2.6.10-rc1/include/linux/libata.h 2004-11-11 12:50:59.000000000 +0100 >@@ -349,6 +349,7 @@ struct ata_port_operations { > int (*port_start) (struct ata_port *ap); > void (*port_stop) (struct ata_port *ap); > >+ void (*host_start) (struct ata_host_set *host_set); > void (*host_stop) (struct ata_host_set *host_set); > }; > >diff -urpBbN --exclude='*.orig' --exclude='*.diff' --exclude='*.rej' --exclude='*~' /usr/src/linux-2.6.10-rc1/include/linux/pci_ids.h linux-2.6.10-rc1/include/linux/pci_ids.h >--- /usr/src/linux-2.6.10-rc1/include/linux/pci_ids.h 2004-11-09 06:38:44.000000000 +0100 >+++ linux-2.6.10-rc1/include/linux/pci_ids.h 2004-11-11 15:01:30.000000000 +0100 >@@ -844,6 +844,9 @@ > #define PCI_DEVICE_ID_APPLE_KEYLARGO_I 0x003e > #define PCI_DEVICE_ID_APPLE_K2_ATA100 0x0043 > #define PCI_DEVICE_ID_APPLE_K2_GMAC 0x004c >+#define PCI_DEVICE_ID_APPLE_SH_ATA 0x0050 >+#define PCI_DEVICE_ID_APPLE_SH_SUNGEM 0x0051 >+#define PCI_DEVICE_ID_APPLE_SH_FW 0x0052 > #define PCI_DEVICE_ID_APPLE_TIGON3 0x1645 > > #define PCI_VENDOR_ID_YAMAHA 0x1073 >@@ -1139,6 +1142,7 @@ > #define PCI_DEVICE_ID_NVIDIA_QUADRO4_900XGL 0x0258 > #define PCI_DEVICE_ID_NVIDIA_QUADRO4_750XGL 0x0259 > #define PCI_DEVICE_ID_NVIDIA_QUADRO4_700XGL 0x025B >+#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_FX_GO5200 0x0329 > > #define PCI_VENDOR_ID_IMS 0x10e0 > #define PCI_DEVICE_ID_IMS_8849 0x8849
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 68970
:
43330
|
43741
|
43743
|
43928
|
43929
|
43930
|
44628
|
44629