]> err.no Git - linux-2.6/blobdiff - drivers/scsi/ata_piix.c
Merge branch 'release' of master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6
[linux-2.6] / drivers / scsi / ata_piix.c
index deec0cef88d92bcb007c9b28c514948b3c700758..87e0c36f1554a8b69597361a4a61dfd214db449f 100644 (file)
@@ -68,8 +68,8 @@ enum {
        PIIX_COMB_PATA_P0       = (1 << 1),
        PIIX_COMB               = (1 << 2), /* combined mode enabled? */
 
-       PIIX_PORT_PRESENT       = (1 << 0),
-       PIIX_PORT_ENABLED       = (1 << 4),
+       PIIX_PORT_ENABLED       = (1 << 0),
+       PIIX_PORT_PRESENT       = (1 << 4),
 
        PIIX_80C_PRI            = (1 << 5) | (1 << 4),
        PIIX_80C_SEC            = (1 << 7) | (1 << 6),
@@ -377,7 +377,9 @@ static void piix_pata_phy_reset(struct ata_port *ap)
  *     None (inherited from caller).
  *
  *     RETURNS:
- *     Non-zero if device detected, zero otherwise.
+ *     Non-zero if port is enabled, it may or may not have a device
+ *     attached in that case (PRESENT bit would only be set if BIOS probe
+ *     was done). Zero is returned if port is disabled.
  */
 static int piix_sata_probe (struct ata_port *ap)
 {
@@ -401,7 +403,7 @@ static int piix_sata_probe (struct ata_port *ap)
         */
 
        for (i = 0; i < 4; i++) {
-               mask = (PIIX_PORT_PRESENT << i) | (PIIX_PORT_ENABLED << i);
+               mask = (PIIX_PORT_ENABLED << i);
 
                if ((orig_mask & mask) == mask)
                        if (combined || (i == ap->hard_port_no))
@@ -566,18 +568,6 @@ static void piix_set_dmamode (struct ata_port *ap, struct ata_device *adev)
        }
 }
 
-/* move to PCI layer, integrate w/ MSI stuff */
-static void pci_enable_intx(struct pci_dev *pdev)
-{
-       u16 pci_command;
-
-       pci_read_config_word(pdev, PCI_COMMAND, &pci_command);
-       if (pci_command & PCI_COMMAND_INTX_DISABLE) {
-               pci_command &= ~PCI_COMMAND_INTX_DISABLE;
-               pci_write_config_word(pdev, PCI_COMMAND, pci_command);
-       }
-}
-
 #define AHCI_PCI_BAR 5
 #define AHCI_GLOBAL_CTL 0x04
 #define AHCI_ENABLE (1 << 31)
@@ -675,7 +665,7 @@ static int piix_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
         * message-signalled interrupts currently).
         */
        if (port_info[0]->host_flags & PIIX_FLAG_CHECKINTR)
-               pci_enable_intx(pdev);
+               pci_intx(pdev, 1);
 
        if (combined) {
                port_info[sata_chan] = &piix_port_info[ent->driver_data];