diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2011-06-14 17:42:05 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-06-14 17:42:05 -0700 |
commit | 5ef32e5f043b398886388cbc2903e3a6326855e1 (patch) | |
tree | 5c7580077e4b553cd9f897b6de2b1a73afeedfee | |
parent | 7f895058d02a6f0ae3d233805ef69b4d2dc86cb6 (diff) | |
download | longterm-queue-2.6.32-5ef32e5f043b398886388cbc2903e3a6326855e1.tar.gz |
.32 patches
-rw-r--r-- | queue-2.6.32/acpi-use-_hid-when-supplied-by-root-level-devices.patch | 70 | ||||
-rw-r--r-- | queue-2.6.32/ata-use-pci_dev-revision.patch | 216 | ||||
-rw-r--r-- | queue-2.6.32/pata_cm64x-fix-boot-crash-on-parisc.patch | 116 | ||||
-rw-r--r-- | queue-2.6.32/pata_cmd64x-cmd648_bmdma_stop-fix.patch | 31 | ||||
-rw-r--r-- | queue-2.6.32/pata_cmd64x-fix-pio-setup.patch | 42 | ||||
-rw-r--r-- | queue-2.6.32/pata_cmd64x-remove-unused-definitions.patch | 66 | ||||
-rw-r--r-- | queue-2.6.32/series | 6 |
7 files changed, 547 insertions, 0 deletions
diff --git a/queue-2.6.32/acpi-use-_hid-when-supplied-by-root-level-devices.patch b/queue-2.6.32/acpi-use-_hid-when-supplied-by-root-level-devices.patch new file mode 100644 index 0000000..bb66bd0 --- /dev/null +++ b/queue-2.6.32/acpi-use-_hid-when-supplied-by-root-level-devices.patch @@ -0,0 +1,70 @@ +From b7b30de53aef6ce773d34837ba7d8422bd3baeec Mon Sep 17 00:00:00 2001 +From: Bjorn Helgaas <bjorn.helgaas@hp.com> +Date: Wed, 24 Mar 2010 10:44:33 -0600 +Subject: ACPI: use _HID when supplied by root-level devices + +From: Bjorn Helgaas <bjorn.helgaas@hp.com> + +commit b7b30de53aef6ce773d34837ba7d8422bd3baeec upstream. + +Previously, we assumed the only Device object immediately below the root +was the \_SB Scope (which the ACPI CA treats as a Device), so we forced +the HID of all such objects to ACPI_BUS_HID ("LNXSYBUS"). + +However, there are DSDTs that supply root-level Device objects with _HIDs. +This patch makes us pay attention to those _HIDs and only add the synthetic +ACPI_BUS_HID for root-level objects that do not supply their own _HID. + +For example, this DSDT: https://bugzilla.kernel.org/show_bug.cgi?id=15605 +contains: + + Scope (_SB) { + ... + } + Device (AMW0) { + Name (_HID, EisaId ("PNP0C14")) + ... + } + +and we should use "PNP0C14" for the AMW0 device, not "LNXSYBUS". + +Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> +Acked-by: Zhang Rui <rui.zhang@intel.com> +Tested-by: Yong Wang <yong.y.wang@intel.com> +Signed-off-by: Len Brown <len.brown@intel.com> +Signed-off-by: Thomas Renninger <trenn@suse.de> +Tested-by: Thomas Renninger <trenn@suse.de> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/acpi/scan.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +--- a/drivers/acpi/scan.c ++++ b/drivers/acpi/scan.c +@@ -1026,12 +1026,6 @@ static void acpi_device_set_id(struct ac + if (ACPI_IS_ROOT_DEVICE(device)) { + acpi_add_id(device, ACPI_SYSTEM_HID); + break; +- } else if (ACPI_IS_ROOT_DEVICE(device->parent)) { +- /* \_SB_, the only root-level namespace device */ +- acpi_add_id(device, ACPI_BUS_HID); +- strcpy(device->pnp.device_name, ACPI_BUS_DEVICE_NAME); +- strcpy(device->pnp.device_class, ACPI_BUS_CLASS); +- break; + } + + status = acpi_get_object_info(device->handle, &info); +@@ -1064,6 +1058,12 @@ static void acpi_device_set_id(struct ac + acpi_add_id(device, ACPI_BAY_HID); + else if (ACPI_SUCCESS(acpi_dock_match(device))) + acpi_add_id(device, ACPI_DOCK_HID); ++ else if (!acpi_device_hid(device) && ++ ACPI_IS_ROOT_DEVICE(device->parent)) { ++ acpi_add_id(device, ACPI_BUS_HID); /* \_SB, LNXSYBUS */ ++ strcpy(device->pnp.device_name, ACPI_BUS_DEVICE_NAME); ++ strcpy(device->pnp.device_class, ACPI_BUS_CLASS); ++ } + + break; + case ACPI_BUS_TYPE_POWER: diff --git a/queue-2.6.32/ata-use-pci_dev-revision.patch b/queue-2.6.32/ata-use-pci_dev-revision.patch new file mode 100644 index 0000000..e275711 --- /dev/null +++ b/queue-2.6.32/ata-use-pci_dev-revision.patch @@ -0,0 +1,216 @@ +From 89d3b3603bfb648e0113d8682d4f84dd18a776bd Mon Sep 17 00:00:00 2001 +From: Sergei Shtylyov <sshtylyov@ru.mvista.com> +Date: Tue, 24 Nov 2009 22:54:49 +0400 +Subject: ata: use pci_dev->revision + +From: Sergei Shtylyov <sshtylyov@ru.mvista.com> + +commit 89d3b3603bfb648e0113d8682d4f84dd18a776bd upstream. + +Some places were using PCI_CLASS_REVISION instead of PCI_REVISION_ID, so +they weren't converted by commit 44c10138fd4bbc4b6d6bff0873c24902f2a9da65 +(PCI: Change all drivers to use pci_device->revision). + +Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> +Signed-off-by: Jeff Garzik <jgarzik@redhat.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/ata/pata_cmd64x.c | 9 ++------- + drivers/ata/pata_hpt366.c | 8 ++------ + drivers/ata/pata_hpt37x.c | 21 +++++++++------------ + drivers/ata/pata_hpt3x2n.c | 15 +++++---------- + drivers/ata/pata_sil680.c | 6 ++---- + 5 files changed, 20 insertions(+), 39 deletions(-) + +--- a/drivers/ata/pata_cmd64x.c ++++ b/drivers/ata/pata_cmd64x.c +@@ -294,8 +294,6 @@ static struct ata_port_operations cmd648 + + static int cmd64x_init_one(struct pci_dev *pdev, const struct pci_device_id *id) + { +- u32 class_rev; +- + static const struct ata_port_info cmd_info[6] = { + { /* CMD 643 - no UDMA */ + .flags = ATA_FLAG_SLAVE_POSS, +@@ -345,18 +343,15 @@ static int cmd64x_init_one(struct pci_de + if (rc) + return rc; + +- pci_read_config_dword(pdev, PCI_CLASS_REVISION, &class_rev); +- class_rev &= 0xFF; +- + if (id->driver_data == 0) /* 643 */ + ata_pci_bmdma_clear_simplex(pdev); + + if (pdev->device == PCI_DEVICE_ID_CMD_646) { + /* Does UDMA work ? */ +- if (class_rev > 4) ++ if (pdev->revision > 4) + ppi[0] = &cmd_info[2]; + /* Early rev with other problems ? */ +- else if (class_rev == 1) ++ else if (pdev->revision == 1) + ppi[0] = &cmd_info[3]; + } + +--- a/drivers/ata/pata_hpt366.c ++++ b/drivers/ata/pata_hpt366.c +@@ -344,7 +344,6 @@ static int hpt36x_init_one(struct pci_de + const struct ata_port_info *ppi[] = { &info_hpt366, NULL }; + + void *hpriv = NULL; +- u32 class_rev; + u32 reg1; + int rc; + +@@ -352,13 +351,10 @@ static int hpt36x_init_one(struct pci_de + if (rc) + return rc; + +- pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev); +- class_rev &= 0xFF; +- + /* May be a later chip in disguise. Check */ + /* Newer chips are not in the HPT36x driver. Ignore them */ +- if (class_rev > 2) +- return -ENODEV; ++ if (dev->revision > 2) ++ return -ENODEV; + + hpt36x_init_chipset(dev); + +--- a/drivers/ata/pata_hpt37x.c ++++ b/drivers/ata/pata_hpt37x.c +@@ -789,9 +789,8 @@ static int hpt37x_init_one(struct pci_de + static const int MHz[4] = { 33, 40, 50, 66 }; + void *private_data = NULL; + const struct ata_port_info *ppi[] = { NULL, NULL }; +- ++ u8 rev = dev->revision; + u8 irqmask; +- u32 class_rev; + u8 mcr1; + u32 freq; + int prefer_dpll = 1; +@@ -806,19 +805,16 @@ static int hpt37x_init_one(struct pci_de + if (rc) + return rc; + +- pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev); +- class_rev &= 0xFF; +- + if (dev->device == PCI_DEVICE_ID_TTI_HPT366) { + /* May be a later chip in disguise. Check */ + /* Older chips are in the HPT366 driver. Ignore them */ +- if (class_rev < 3) ++ if (rev < 3) + return -ENODEV; + /* N series chips have their own driver. Ignore */ +- if (class_rev == 6) ++ if (rev == 6) + return -ENODEV; + +- switch(class_rev) { ++ switch(rev) { + case 3: + ppi[0] = &info_hpt370; + chip_table = &hpt370; +@@ -834,28 +830,29 @@ static int hpt37x_init_one(struct pci_de + chip_table = &hpt372; + break; + default: +- printk(KERN_ERR "pata_hpt37x: Unknown HPT366 subtype please report (%d).\n", class_rev); ++ printk(KERN_ERR "pata_hpt37x: Unknown HPT366 " ++ "subtype, please report (%d).\n", rev); + return -ENODEV; + } + } else { + switch(dev->device) { + case PCI_DEVICE_ID_TTI_HPT372: + /* 372N if rev >= 2*/ +- if (class_rev >= 2) ++ if (rev >= 2) + return -ENODEV; + ppi[0] = &info_hpt372; + chip_table = &hpt372a; + break; + case PCI_DEVICE_ID_TTI_HPT302: + /* 302N if rev > 1 */ +- if (class_rev > 1) ++ if (rev > 1) + return -ENODEV; + ppi[0] = &info_hpt372; + /* Check this */ + chip_table = &hpt302; + break; + case PCI_DEVICE_ID_TTI_HPT371: +- if (class_rev > 1) ++ if (rev > 1) + return -ENODEV; + ppi[0] = &info_hpt372; + chip_table = &hpt371; +--- a/drivers/ata/pata_hpt3x2n.c ++++ b/drivers/ata/pata_hpt3x2n.c +@@ -452,10 +452,8 @@ static int hpt3x2n_init_one(struct pci_d + .port_ops = &hpt3x2n_port_ops + }; + const struct ata_port_info *ppi[] = { &info, NULL }; +- ++ u8 rev = dev->revision; + u8 irqmask; +- u32 class_rev; +- + unsigned int pci_mhz; + unsigned int f_low, f_high; + int adjust; +@@ -467,26 +465,23 @@ static int hpt3x2n_init_one(struct pci_d + if (rc) + return rc; + +- pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev); +- class_rev &= 0xFF; +- + switch(dev->device) { + case PCI_DEVICE_ID_TTI_HPT366: +- if (class_rev < 6) ++ if (rev < 6) + return -ENODEV; + break; + case PCI_DEVICE_ID_TTI_HPT371: +- if (class_rev < 2) ++ if (rev < 2) + return -ENODEV; + /* 371N if rev > 1 */ + break; + case PCI_DEVICE_ID_TTI_HPT372: + /* 372N if rev >= 2*/ +- if (class_rev < 2) ++ if (rev < 2) + return -ENODEV; + break; + case PCI_DEVICE_ID_TTI_HPT302: +- if (class_rev < 2) ++ if (rev < 2) + return -ENODEV; + break; + case PCI_DEVICE_ID_TTI_HPT372N: +--- a/drivers/ata/pata_sil680.c ++++ b/drivers/ata/pata_sil680.c +@@ -212,13 +212,11 @@ static struct ata_port_operations sil680 + + static u8 sil680_init_chip(struct pci_dev *pdev, int *try_mmio) + { +- u32 class_rev = 0; + u8 tmpbyte = 0; + +- pci_read_config_dword(pdev, PCI_CLASS_REVISION, &class_rev); +- class_rev &= 0xff; + /* FIXME: double check */ +- pci_write_config_byte(pdev, PCI_CACHE_LINE_SIZE, (class_rev) ? 1 : 255); ++ pci_write_config_byte(pdev, PCI_CACHE_LINE_SIZE, ++ pdev->revision ? 1 : 255); + + pci_write_config_byte(pdev, 0x80, 0x00); + pci_write_config_byte(pdev, 0x84, 0x00); diff --git a/queue-2.6.32/pata_cm64x-fix-boot-crash-on-parisc.patch b/queue-2.6.32/pata_cm64x-fix-boot-crash-on-parisc.patch new file mode 100644 index 0000000..529621a --- /dev/null +++ b/queue-2.6.32/pata_cm64x-fix-boot-crash-on-parisc.patch @@ -0,0 +1,116 @@ +From 9281b16caac1276817b77033c5b8a1f5ca30102c Mon Sep 17 00:00:00 2001 +From: James Bottomley <James.Bottomley@suse.de> +Date: Sun, 24 Apr 2011 14:30:14 -0500 +Subject: pata_cm64x: fix boot crash on parisc + +From: James Bottomley <James.Bottomley@suse.de> + +commit 9281b16caac1276817b77033c5b8a1f5ca30102c upstream. + +The old IDE cmd64x checks the status of the CNTRL register to see if +the ports are enabled before probing them. pata_cmd64x doesn't do +this, which causes a HPMC on parisc when it tries to poke at the +secondary port because apparently the BAR isn't wired up (and a +non-responding piece of memory causes a HPMC). + +Fix this by porting the CNTRL register port detection logic from IDE +cmd64x. In addition, following converns from Alan Cox, add a check to +see if a mobility electronics bridge is the immediate parent and forgo +the check if it is (prevents problems on hotplug controllers). + +Signed-off-by: James Bottomley <James.Bottomley@suse.de> +Signed-off-by: Jeff Garzik <jgarzik@pobox.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/ata/pata_cmd64x.c | 42 ++++++++++++++++++++++++++++++++++++++---- + include/linux/pci_ids.h | 2 ++ + 2 files changed, 40 insertions(+), 4 deletions(-) + +--- a/drivers/ata/pata_cmd64x.c ++++ b/drivers/ata/pata_cmd64x.c +@@ -41,6 +41,9 @@ + enum { + CFR = 0x50, + CFR_INTR_CH0 = 0x04, ++ CNTRL = 0x51, ++ CNTRL_CH0 = 0x04, ++ CNTRL_CH1 = 0x08, + CMDTIM = 0x52, + ARTTIM0 = 0x53, + DRWTIM0 = 0x54, +@@ -328,9 +331,19 @@ static int cmd64x_init_one(struct pci_de + .port_ops = &cmd648_port_ops + } + }; +- const struct ata_port_info *ppi[] = { &cmd_info[id->driver_data], NULL }; +- u8 mrdmode; ++ const struct ata_port_info *ppi[] = { ++ &cmd_info[id->driver_data], ++ &cmd_info[id->driver_data], ++ NULL ++ }; ++ u8 mrdmode, reg; + int rc; ++ struct pci_dev *bridge = pdev->bus->self; ++ /* mobility split bridges don't report enabled ports correctly */ ++ int port_ok = !(bridge && bridge->vendor == ++ PCI_VENDOR_ID_MOBILITY_ELECTRONICS); ++ /* all (with exceptions below) apart from 643 have CNTRL_CH0 bit */ ++ int cntrl_ch0_ok = (id->driver_data != 0); + + rc = pcim_enable_device(pdev); + if (rc) +@@ -341,11 +354,18 @@ static int cmd64x_init_one(struct pci_de + + if (pdev->device == PCI_DEVICE_ID_CMD_646) { + /* Does UDMA work ? */ +- if (pdev->revision > 4) ++ if (pdev->revision > 4) { + ppi[0] = &cmd_info[2]; ++ ppi[1] = &cmd_info[2]; ++ } + /* Early rev with other problems ? */ +- else if (pdev->revision == 1) ++ else if (pdev->revision == 1) { + ppi[0] = &cmd_info[3]; ++ ppi[1] = &cmd_info[3]; ++ } ++ /* revs 1,2 have no CNTRL_CH0 */ ++ if (pdev->revision < 3) ++ cntrl_ch0_ok = 0; + } + + pci_write_config_byte(pdev, PCI_LATENCY_TIMER, 64); +@@ -354,6 +374,20 @@ static int cmd64x_init_one(struct pci_de + mrdmode |= 0x02; /* Memory read line enable */ + pci_write_config_byte(pdev, MRDMODE, mrdmode); + ++ /* check for enabled ports */ ++ pci_read_config_byte(pdev, CNTRL, ®); ++ if (!port_ok) ++ dev_printk(KERN_NOTICE, &pdev->dev, "Mobility Bridge detected, ignoring CNTRL port enable/disable\n"); ++ if (port_ok && cntrl_ch0_ok && !(reg & CNTRL_CH0)) { ++ dev_printk(KERN_NOTICE, &pdev->dev, "Primary port is disabled\n"); ++ ppi[0] = &ata_dummy_port_info; ++ ++ } ++ if (port_ok && !(reg & CNTRL_CH1)) { ++ dev_printk(KERN_NOTICE, &pdev->dev, "Secondary port is disabled\n"); ++ ppi[1] = &ata_dummy_port_info; ++ } ++ + /* Force PIO 0 here.. */ + + /* PPC specific fixup copied from old driver */ +--- a/include/linux/pci_ids.h ++++ b/include/linux/pci_ids.h +@@ -605,6 +605,8 @@ + #define PCI_DEVICE_ID_MATROX_G550 0x2527 + #define PCI_DEVICE_ID_MATROX_VIA 0x4536 + ++#define PCI_VENDOR_ID_MOBILITY_ELECTRONICS 0x14f2 ++ + #define PCI_VENDOR_ID_CT 0x102c + #define PCI_DEVICE_ID_CT_69000 0x00c0 + #define PCI_DEVICE_ID_CT_65545 0x00d8 diff --git a/queue-2.6.32/pata_cmd64x-cmd648_bmdma_stop-fix.patch b/queue-2.6.32/pata_cmd64x-cmd648_bmdma_stop-fix.patch new file mode 100644 index 0000000..4e4ac41 --- /dev/null +++ b/queue-2.6.32/pata_cmd64x-cmd648_bmdma_stop-fix.patch @@ -0,0 +1,31 @@ +From 03a849e6ddb604ff6a220b78637ee8e122ffc796 Mon Sep 17 00:00:00 2001 +From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> +Date: Mon, 18 Jan 2010 18:15:11 +0100 +Subject: pata_cmd64x: cmd648_bmdma_stop() fix + +From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> + +commit 03a849e6ddb604ff6a220b78637ee8e122ffc796 upstream. + +Clear the primary channel pending interrupt bit +instead of the reserved one. + +Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> +Signed-off-by: Jeff Garzik <jgarzik@redhat.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/ata/pata_cmd64x.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/ata/pata_cmd64x.c ++++ b/drivers/ata/pata_cmd64x.c +@@ -40,7 +40,7 @@ + + enum { + CFR = 0x50, +- CFR_INTR_CH0 = 0x02, ++ CFR_INTR_CH0 = 0x04, + CNTRL = 0x51, + CNTRL_DIS_RA0 = 0x40, + CNTRL_DIS_RA1 = 0x80, diff --git a/queue-2.6.32/pata_cmd64x-fix-pio-setup.patch b/queue-2.6.32/pata_cmd64x-fix-pio-setup.patch new file mode 100644 index 0000000..dc8875a --- /dev/null +++ b/queue-2.6.32/pata_cmd64x-fix-pio-setup.patch @@ -0,0 +1,42 @@ +From a2bd62207af4be8f5fe815ff90cc309056407829 Mon Sep 17 00:00:00 2001 +From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> +Date: Mon, 18 Jan 2010 18:14:55 +0100 +Subject: pata_cmd64x: fix PIO setup + +From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> + +commit a2bd62207af4be8f5fe815ff90cc309056407829 upstream. + +Fix incorrect handling of recovery clocks value == 16 resulting +in overclocked recovery timings & potentially underclocked active +timings. + +Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> +Signed-off-by: Jeff Garzik <jgarzik@redhat.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/ata/pata_cmd64x.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- a/drivers/ata/pata_cmd64x.c ++++ b/drivers/ata/pata_cmd64x.c +@@ -2,6 +2,7 @@ + * pata_cmd64x.c - CMD64x PATA for new ATA layer + * (C) 2005 Red Hat Inc + * Alan Cox <alan@lxorguk.ukuu.org.uk> ++ * (C) 2009-2010 Bartlomiej Zolnierkiewicz + * + * Based upon + * linux/drivers/ide/pci/cmd64x.c Version 1.30 Sept 10, 2002 +@@ -147,7 +148,9 @@ static void cmd64x_set_timing(struct ata + /* Now convert the clocks into values we can actually stuff into + the chip */ + +- if (t.recover > 1) ++ if (t.recover == 16) ++ t.recover = 0; ++ else if (t.recover > 1) + t.recover--; + else + t.recover = 15; diff --git a/queue-2.6.32/pata_cmd64x-remove-unused-definitions.patch b/queue-2.6.32/pata_cmd64x-remove-unused-definitions.patch new file mode 100644 index 0000000..0125e1b --- /dev/null +++ b/queue-2.6.32/pata_cmd64x-remove-unused-definitions.patch @@ -0,0 +1,66 @@ +From c754d9b6e04371fb398cdd2f5e77be895126be20 Mon Sep 17 00:00:00 2001 +From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> +Date: Mon, 18 Jan 2010 18:15:18 +0100 +Subject: pata_cmd64x: remove unused definitions + +From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> + +commit c754d9b6e04371fb398cdd2f5e77be895126be20 upstream. + +s/ARTIM2/ARTTIM23/ in cmd648_bmdma_stop() while at it + +Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> +Signed-off-by: Jeff Garzik <jgarzik@redhat.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/ata/pata_cmd64x.c | 12 +----------- + 1 file changed, 1 insertion(+), 11 deletions(-) + +--- a/drivers/ata/pata_cmd64x.c ++++ b/drivers/ata/pata_cmd64x.c +@@ -41,10 +41,6 @@ + enum { + CFR = 0x50, + CFR_INTR_CH0 = 0x04, +- CNTRL = 0x51, +- CNTRL_DIS_RA0 = 0x40, +- CNTRL_DIS_RA1 = 0x80, +- CNTRL_ENA_2ND = 0x08, + CMDTIM = 0x52, + ARTTIM0 = 0x53, + DRWTIM0 = 0x54, +@@ -54,9 +50,6 @@ enum { + ARTTIM23_DIS_RA2 = 0x04, + ARTTIM23_DIS_RA3 = 0x08, + ARTTIM23_INTR_CH1 = 0x10, +- ARTTIM2 = 0x57, +- ARTTIM3 = 0x57, +- DRWTIM23 = 0x58, + DRWTIM2 = 0x58, + BRST = 0x59, + DRWTIM3 = 0x5b, +@@ -64,14 +57,11 @@ enum { + MRDMODE = 0x71, + MRDMODE_INTR_CH0 = 0x04, + MRDMODE_INTR_CH1 = 0x08, +- MRDMODE_BLK_CH0 = 0x10, +- MRDMODE_BLK_CH1 = 0x20, + BMIDESR0 = 0x72, + UDIDETCR0 = 0x73, + DTPR0 = 0x74, + BMIDECR1 = 0x78, + BMIDECSR = 0x79, +- BMIDESR1 = 0x7A, + UDIDETCR1 = 0x7B, + DTPR1 = 0x7C + }; +@@ -248,7 +238,7 @@ static void cmd648_bmdma_stop(struct ata + struct pci_dev *pdev = to_pci_dev(ap->host->dev); + u8 dma_intr; + int dma_mask = ap->port_no ? ARTTIM23_INTR_CH1 : CFR_INTR_CH0; +- int dma_reg = ap->port_no ? ARTTIM2 : CFR; ++ int dma_reg = ap->port_no ? ARTTIM23 : CFR; + + ata_bmdma_stop(qc); + diff --git a/queue-2.6.32/series b/queue-2.6.32/series index 7af8ca2..e35a150 100644 --- a/queue-2.6.32/series +++ b/queue-2.6.32/series @@ -74,3 +74,9 @@ cpufreq-remove-cpufreq_stats-sysfs-entries-on-module-unload.patch md-check-hot_remove_disk-when-removing-disk.patch md-raid5-fix-raid5_set_bi_hw_segments.patch md-raid5-fix-fua-request-handling-in-ops_run_io.patch +ata-use-pci_dev-revision.patch +pata_cmd64x-fix-pio-setup.patch +pata_cmd64x-cmd648_bmdma_stop-fix.patch +pata_cmd64x-remove-unused-definitions.patch +pata_cm64x-fix-boot-crash-on-parisc.patch +acpi-use-_hid-when-supplied-by-root-level-devices.patch |