[pve-devel] r6588 - pve-kernel-2.6.32/trunk
svn-commits at proxmox.com
svn-commits at proxmox.com
Tue Jan 10 09:25:25 CET 2012
Author: dietmar
Date: 2012-01-10 09:25:25 +0100 (Tue, 10 Jan 2012)
New Revision: 6588
Removed:
pve-kernel-2.6.32/trunk/ahci-ata_generic-let-ata_generic-handle-new-MBP-w-MCP89.patch
pve-kernel-2.6.32/trunk/ata-Intel-IDE-R-support.patch
pve-kernel-2.6.32/trunk/ata_generic-drop-hard-coded-DMA-force-logic-for-CENATEK.patch
pve-kernel-2.6.32/trunk/ata_generic-implement-ATA_GEN_-flags-and-force-enable-DMA-on-MBP-7,1.patch
Modified:
pve-kernel-2.6.32/trunk/Makefile
Log:
Modified: pve-kernel-2.6.32/trunk/Makefile
===================================================================
--- pve-kernel-2.6.32/trunk/Makefile 2012-01-10 07:55:04 UTC (rev 6587)
+++ pve-kernel-2.6.32/trunk/Makefile 2012-01-10 08:25:25 UTC (rev 6588)
@@ -139,11 +139,6 @@
cd ${KERNEL_SRC}; patch -p1 <../do-not-use-barrier-on-ext3.patch
cd ${KERNEL_SRC}; patch -p1 <../bridge-patch.diff
cd ${KERNEL_SRC}; patch -p1 <../fix-aspm-policy.patch
- # update ata_generic to support intel IDE-R
- #cd ${KERNEL_SRC}; patch -p1 <../ahci-ata_generic-let-ata_generic-handle-new-MBP-w-MCP89.patch
- #cd ${KERNEL_SRC}; patch -p1 <../ata_generic-implement-ATA_GEN_-flags-and-force-enable-DMA-on-MBP-7,1.patch
- #cd ${KERNEL_SRC}; patch -p1 <../ata_generic-drop-hard-coded-DMA-force-logic-for-CENATEK.patch
- #cd ${KERNEL_SRC}; patch -p1 <../ata-Intel-IDE-R-support.patch
sed -i ${KERNEL_SRC}/Makefile -e 's/^EXTRAVERSION.*$$/EXTRAVERSION=${EXTRAVERSION}/'
touch $@
Deleted: pve-kernel-2.6.32/trunk/ahci-ata_generic-let-ata_generic-handle-new-MBP-w-MCP89.patch
===================================================================
--- pve-kernel-2.6.32/trunk/ahci-ata_generic-let-ata_generic-handle-new-MBP-w-MCP89.patch 2012-01-10 07:55:04 UTC (rev 6587)
+++ pve-kernel-2.6.32/trunk/ahci-ata_generic-let-ata_generic-handle-new-MBP-w-MCP89.patch 2012-01-10 08:25:25 UTC (rev 6588)
@@ -1,90 +0,0 @@
-From bdc358c1311531b459cbd12a22556d6cd62aa7cb Mon Sep 17 00:00:00 2001
-From: Tejun Heo <tj at kernel.org>
-Date: Thu, 17 Jun 2010 11:42:22 +0200
-Subject: [PATCH] ahci,ata_generic: let ata_generic handle new MBP w/ MCP89
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-commit c6353b4520788e34098bbf61c73fb9618ca7fdd6 upstream.
-
-For yet unknown reason, MCP89 on MBP 7,1 doesn't work w/ ahci under
-linux but the controller doesn't require explicit mode setting and
-works fine with ata_generic. Make ahci ignore the controller on MBP
-7,1 and let ata_generic take it for now.
-
-Reported in bko#15923.
-
- https://bugzilla.kernel.org/show_bug.cgi?id=15923
-
-NVIDIA is investigating why ahci mode doesn't work.
-
-Signed-off-by: Tejun Heo <tj at kernel.org>
-Cc: Peer Chen <pchen at nvidia.com>
-Cc: stable at kernel.org
-Reported-by: Anders Østhus <grapz666 at gmail.com>
-Reported-by: Andreas Graf <andreas_graf at csgraf.de>
-Reported-by: Benoit Gschwind <gschwind at gnu-log.net>
-Reported-by: Damien Cassou <damien.cassou at gmail.com>
-Reported-by: tixetsal at juno.com
-Signed-off-by: Jeff Garzik <jgarzik at redhat.com>
-[bwh: Adjust context for 2.6.32]
----
- drivers/ata/ahci.c | 10 ++++++++++
- drivers/ata/ata_generic.c | 6 ++++++
- include/linux/pci_ids.h | 1 +
- 3 files changed, 17 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
-index cb05205..e3d9816 100644
---- a/drivers/ata/ahci.c
-+++ b/drivers/ata/ahci.c
-@@ -3037,6 +3037,16 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
- if (pdev->vendor == PCI_VENDOR_ID_MARVELL && !marvell_enable)
- return -ENODEV;
-
-+ /*
-+ * For some reason, MCP89 on MacBook 7,1 doesn't work with
-+ * ahci, use ata_generic instead.
-+ */
-+ if (pdev->vendor == PCI_VENDOR_ID_NVIDIA &&
-+ pdev->device == PCI_DEVICE_ID_NVIDIA_NFORCE_MCP89_SATA &&
-+ pdev->subsystem_vendor == PCI_VENDOR_ID_APPLE &&
-+ pdev->subsystem_device == 0xcb89)
-+ return -ENODEV;
-+
- /* acquire resources */
- rc = pcim_enable_device(pdev);
- if (rc)
-diff --git a/drivers/ata/ata_generic.c b/drivers/ata/ata_generic.c
-index ecfd22b..b5aa93c 100644
---- a/drivers/ata/ata_generic.c
-+++ b/drivers/ata/ata_generic.c
-@@ -168,6 +168,12 @@ static struct pci_device_id ata_generic[] = {
- { PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C561), },
- { PCI_DEVICE(PCI_VENDOR_ID_OPTI, PCI_DEVICE_ID_OPTI_82C558), },
- { PCI_DEVICE(PCI_VENDOR_ID_CENATEK,PCI_DEVICE_ID_CENATEK_IDE), },
-+ /*
-+ * For some reason, MCP89 on MacBook 7,1 doesn't work with
-+ * ahci, use ata_generic instead.
-+ */
-+ { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP89_SATA,
-+ PCI_VENDOR_ID_APPLE, 0xcb89, },
- { PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO), },
- { PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1), },
- { PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2), },
-diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
-index c398cc3..a8ea95f 100644
---- a/include/linux/pci_ids.h
-+++ b/include/linux/pci_ids.h
-@@ -1262,6 +1262,7 @@
- #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP77_IDE 0x0759
- #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP73_SMBUS 0x07D8
- #define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP79_SMBUS 0x0AA2
-+#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP89_SATA 0x0D85
-
- #define PCI_VENDOR_ID_IMS 0x10e0
- #define PCI_DEVICE_ID_IMS_TT128 0x9128
---
-1.7.1
-
Deleted: pve-kernel-2.6.32/trunk/ata-Intel-IDE-R-support.patch
===================================================================
--- pve-kernel-2.6.32/trunk/ata-Intel-IDE-R-support.patch 2012-01-10 07:55:04 UTC (rev 6587)
+++ pve-kernel-2.6.32/trunk/ata-Intel-IDE-R-support.patch 2012-01-10 08:25:25 UTC (rev 6588)
@@ -1,100 +0,0 @@
-From: Alan Cox <alan at linux.intel.com>
-Date: Tue, 28 Sep 2010 13:19:38 +0100
-Subject: [PATCH] ata: Intel IDE-R support
-
-commit 60039a5295b3d82a48fe132c699987d2e1408675 upstream.
-
-Intel IDE-R devices are part of the Intel AMT management setup. They don't
-have any special configuration registers or settings so the ata_generic
-driver will support them fully.
-
-Rather than add a huge table of IDs for each chipset and keep sending in
-new ones this patch autodetects them.
-
-Signed-off-by: Alan Cox <alan at linux.intel.com>
-Acked-by: Tejun Heo <tj at kernel.org>
-Signed-off-by: Jeff Garzik <jgarzik at redhat.com>
-[bwh: Adjust context for 2.6.32]
----
---- a/drivers/ata/ata_generic.c
-+++ b/drivers/ata/ata_generic.c
-@@ -35,6 +35,7 @@
- enum {
- ATA_GEN_CLASS_MATCH = (1 << 0),
- ATA_GEN_FORCE_DMA = (1 << 1),
-+ ATA_GEN_INTEL_IDER = (1 << 2),
- };
-
- /**
-@@ -113,6 +114,49 @@ static struct ata_port_operations generic_port_ops = {
- static int all_generic_ide; /* Set to claim all devices */
-
- /**
-+ * is_intel_ider - identify intel IDE-R devices
-+ * @dev: PCI device
-+ *
-+ * Distinguish Intel IDE-R controller devices from other Intel IDE
-+ * devices. IDE-R devices have no timing registers and are in
-+ * most respects virtual. They should be driven by the ata_generic
-+ * driver.
-+ *
-+ * IDE-R devices have PCI offset 0xF8.L as zero, later Intel ATA has
-+ * it non zero. All Intel ATA has 0x40 writable (timing), but it is
-+ * not writable on IDE-R devices (this is guaranteed).
-+ */
-+
-+static int is_intel_ider(struct pci_dev *dev)
-+{
-+ /* For Intel IDE the value at 0xF8 is only zero on IDE-R
-+ interfaces */
-+ u32 r;
-+ u16 t;
-+
-+ /* Check the manufacturing ID, it will be zero for IDE-R */
-+ pci_read_config_dword(dev, 0xF8, &r);
-+ /* Not IDE-R: punt so that ata_(old)piix gets it */
-+ if (r != 0)
-+ return 0;
-+ /* 0xF8 will also be zero on some early Intel IDE devices
-+ but they will have a sane timing register */
-+ pci_read_config_word(dev, 0x40, &t);
-+ if (t != 0)
-+ return 0;
-+ /* Finally check if the timing register is writable so that
-+ we eliminate any early devices hot-docked in a docking
-+ station */
-+ pci_write_config_word(dev, 0x40, 1);
-+ pci_read_config_word(dev, 0x40, &t);
-+ if (t) {
-+ pci_write_config_word(dev, 0x40, 0);
-+ return 0;
-+ }
-+ return 1;
-+}
-+
-+/**
- * ata_generic_init - attach generic IDE
- * @dev: PCI device found
- * @id: match entry
-@@ -138,6 +182,10 @@ static int ata_generic_init_one(struct pci_dev *dev, const struct pci_device_id
- if ((id->driver_data & ATA_GEN_CLASS_MATCH) && all_generic_ide == 0)
- return -ENODEV;
-
-+ if (id->driver_data & ATA_GEN_INTEL_IDER)
-+ if (!is_intel_ider(dev))
-+ return -ENODEV;
-+
- /* Devices that need care */
- if (dev->vendor == PCI_VENDOR_ID_UMC &&
- dev->device == PCI_DEVICE_ID_UMC_UM8886A &&
-@@ -188,6 +236,10 @@ static struct pci_device_id ata_generic[] = {
- { PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO), },
- { PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1), },
- { PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2), },
-+ /* Intel, IDE class device */
-+ { PCI_VENDOR_ID_INTEL, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
-+ PCI_CLASS_STORAGE_IDE << 8, 0xFFFFFF00UL,
-+ .driver_data = ATA_GEN_INTEL_IDER },
- /* Must come last. If you add entries adjust this table appropriately */
- { PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_IDE << 8, 0xFFFFFF00UL),
- .driver_data = ATA_GEN_CLASS_MATCH },
Deleted: pve-kernel-2.6.32/trunk/ata_generic-drop-hard-coded-DMA-force-logic-for-CENATEK.patch
===================================================================
--- pve-kernel-2.6.32/trunk/ata_generic-drop-hard-coded-DMA-force-logic-for-CENATEK.patch 2012-01-10 07:55:04 UTC (rev 6587)
+++ pve-kernel-2.6.32/trunk/ata_generic-drop-hard-coded-DMA-force-logic-for-CENATEK.patch 2012-01-10 08:25:25 UTC (rev 6588)
@@ -1,38 +0,0 @@
-commit 728e0eaf99631d197e5158e21b4a8c4335a39231
-Author: Tejun Heo <tj at kernel.org>
-Date: Fri Jul 2 14:41:24 2010 +0200
-
- ata_generic: drop hard coded DMA force logic for CENATEK
-
- Commit 1529c69adc (ata_generic: implement ATA_GEN_* flags and force
- enable DMA on MBP 7,1) implemented ATA_GEN_FORCE_DMA for forcing DMA
- mode and applied it to CENATEK but forgot to remove the original hard
- coded logic. This is removal of redundant logic and doesn't affect
- correctness.
-
- Signed-off-by: Tejun Heo <tj at kernel.org>
- Reported-by: Andy Whitcroft <apw at canonical.com>
- Signed-off-by: Jeff Garzik <jgarzik at redhat.com>
-
-diff --git a/drivers/ata/ata_generic.c b/drivers/ata/ata_generic.c
-index 7107a69..cc5f772 100644
---- a/drivers/ata/ata_generic.c
-+++ b/drivers/ata/ata_generic.c
-@@ -54,7 +54,6 @@ static int generic_set_mode(struct ata_link *link, struct ata_device **unused)
- const struct pci_device_id *id = ap->host->private_data;
- int dma_enabled = 0;
- struct ata_device *dev;
-- struct pci_dev *pdev = to_pci_dev(ap->host->dev);
-
- if (id->driver_data & ATA_GEN_FORCE_DMA) {
- dma_enabled = 0xff;
-@@ -63,9 +62,6 @@ static int generic_set_mode(struct ata_link *link, struct ata_device **unused)
- dma_enabled = ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS);
- }
-
-- if (pdev->vendor == PCI_VENDOR_ID_CENATEK)
-- dma_enabled = 0xFF;
--
- ata_for_each_dev(dev, link, ENABLED) {
- /* We don't really care */
- dev->pio_mode = XFER_PIO_0;
Deleted: pve-kernel-2.6.32/trunk/ata_generic-implement-ATA_GEN_-flags-and-force-enable-DMA-on-MBP-7,1.patch
===================================================================
--- pve-kernel-2.6.32/trunk/ata_generic-implement-ATA_GEN_-flags-and-force-enable-DMA-on-MBP-7,1.patch 2012-01-10 07:55:04 UTC (rev 6587)
+++ pve-kernel-2.6.32/trunk/ata_generic-implement-ATA_GEN_-flags-and-force-enable-DMA-on-MBP-7,1.patch 2012-01-10 08:25:25 UTC (rev 6588)
@@ -1,108 +0,0 @@
-[Backported to Debian's 2.6.32 by dann frazier <dannf at debian.org>]
-
-commit 1529c69adce1e95f7ae72f0441590c226bbac7fc
-Author: Tejun Heo <tj at kernel.org>
-Date: Tue Jun 22 12:27:26 2010 +0200
-
- ata_generic: implement ATA_GEN_* flags and force enable DMA on MBP 7,1
-
- IDE mode of MCP89 on MBP 7,1 doesn't set DMA enable bits in the BMDMA
- status register. Make the following changes to work around the problem.
-
- * Instead of using hard coded 1 in id->driver_data as class code
- match, use ATA_GEN_CLASS_MATCH and carry the matched id in
- host->private_data.
-
- * Instead of matching PCI_VENDOR_ID_CENATEK, use ATA_GEN_FORCE_DMA
- flag in id instead.
-
- * Add ATA_GEN_FORCE_DMA to the id entry of MBP 7,1.
-
- Signed-off-by: Tejun Heo <tj at kernel.org>
- Cc: Peer Chen <pchen at nvidia.com>
- Cc: stable at kernel.org
- Reported-by: Anders Østhus <grapz666 at gmail.com>
- Reported-by: Andreas Graf <andreas_graf at csgraf.de>
- Reported-by: Benoit Gschwind <gschwind at gnu-log.net>
- Reported-by: Damien Cassou <damien.cassou at gmail.com>
- Reported-by: tixetsal at juno.com
- Signed-off-by: Jeff Garzik <jgarzik at redhat.com>
-
-diff -urpN a/drivers/ata/ata_generic.c b/drivers/ata/ata_generic.c
---- a/drivers/ata/ata_generic.c 2010-10-18 17:18:22.160591155 -0600
-+++ b/drivers/ata/ata_generic.c 2010-10-18 17:28:35.700130856 -0600
-@@ -32,6 +32,11 @@
- * A generic parallel ATA driver using libata
- */
-
-+enum {
-+ ATA_GEN_CLASS_MATCH = (1 << 0),
-+ ATA_GEN_FORCE_DMA = (1 << 1),
-+};
-+
- /**
- * generic_set_mode - mode setting
- * @link: link to set up
-@@ -46,13 +51,17 @@
- static int generic_set_mode(struct ata_link *link, struct ata_device **unused)
- {
- struct ata_port *ap = link->ap;
-+ const struct pci_device_id *id = ap->host->private_data;
- int dma_enabled = 0;
- struct ata_device *dev;
- struct pci_dev *pdev = to_pci_dev(ap->host->dev);
-
-- /* Bits 5 and 6 indicate if DMA is active on master/slave */
-- if (ap->ioaddr.bmdma_addr)
-+ if (id->driver_data & ATA_GEN_FORCE_DMA) {
-+ dma_enabled = 0xff;
-+ } else if (ap->ioaddr.bmdma_addr) {
-+ /* Bits 5 and 6 indicate if DMA is active on master/slave */
- dma_enabled = ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS);
-+ }
-
- if (pdev->vendor == PCI_VENDOR_ID_CENATEK)
- dma_enabled = 0xFF;
-@@ -126,7 +135,7 @@ static int ata_generic_init_one(struct p
- const struct ata_port_info *ppi[] = { &info, NULL };
-
- /* Don't use the generic entry unless instructed to do so */
-- if (id->driver_data == 1 && all_generic_ide == 0)
-+ if ((id->driver_data & ATA_GEN_CLASS_MATCH) && all_generic_ide == 0)
- return -ENODEV;
-
- /* Devices that need care */
-@@ -155,7 +164,7 @@ static int ata_generic_init_one(struct p
- return rc;
- pcim_pin_device(dev);
- }
-- return ata_pci_sff_init_one(dev, ppi, &generic_sht, NULL);
-+ return ata_pci_sff_init_one(dev, ppi, &generic_sht, (void *)id);
- }
-
- static struct pci_device_id ata_generic[] = {
-@@ -167,18 +176,21 @@ static struct pci_device_id ata_generic[
- { PCI_DEVICE(PCI_VENDOR_ID_HINT, PCI_DEVICE_ID_HINT_VXPROII_IDE), },
- { PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C561), },
- { PCI_DEVICE(PCI_VENDOR_ID_OPTI, PCI_DEVICE_ID_OPTI_82C558), },
-- { PCI_DEVICE(PCI_VENDOR_ID_CENATEK,PCI_DEVICE_ID_CENATEK_IDE), },
-+ { PCI_DEVICE(PCI_VENDOR_ID_CENATEK,PCI_DEVICE_ID_CENATEK_IDE),
-+ .driver_data = ATA_GEN_FORCE_DMA },
- /*
- * For some reason, MCP89 on MacBook 7,1 doesn't work with
- * ahci, use ata_generic instead.
- */
- { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP89_SATA,
-- PCI_VENDOR_ID_APPLE, 0xcb89, },
-+ PCI_VENDOR_ID_APPLE, 0xcb89,
-+ .driver_data = ATA_GEN_FORCE_DMA },
- { PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO), },
- { PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1), },
- { PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2), },
- /* Must come last. If you add entries adjust this table appropriately */
-- { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_IDE << 8, 0xFFFFFF00UL, 1},
-+ { PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_IDE << 8, 0xFFFFFF00UL),
-+ .driver_data = ATA_GEN_CLASS_MATCH },
- { 0, },
- };
-
More information about the pve-devel
mailing list