Loading Documentation/DocBook/libata.tmpl +1072 −0 File changed.Preview size limit exceeded, changes collapsed. Show changes drivers/scsi/Kconfig +19 −3 Original line number Diff line number Diff line Loading @@ -489,11 +489,11 @@ config SCSI_SATA_NV If unsure, say N. config SCSI_SATA_PROMISE tristate "Promise SATA TX2/TX4 support" config SCSI_PDC_ADMA tristate "Pacific Digital ADMA support" depends on SCSI_SATA && PCI help This option enables support for Promise Serial ATA TX2/TX4. This option enables support for Pacific Digital ADMA controllers If unsure, say N. Loading @@ -505,6 +505,14 @@ config SCSI_SATA_QSTOR If unsure, say N. config SCSI_SATA_PROMISE tristate "Promise SATA TX2/TX4 support" depends on SCSI_SATA && PCI help This option enables support for Promise Serial ATA TX2/TX4. If unsure, say N. config SCSI_SATA_SX4 tristate "Promise SATA SX4 support" depends on SCSI_SATA && PCI && EXPERIMENTAL Loading @@ -521,6 +529,14 @@ config SCSI_SATA_SIL If unsure, say N. config SCSI_SATA_SIL24 tristate "Silicon Image 3124/3132 SATA support" depends on SCSI_SATA && PCI && EXPERIMENTAL help This option enables support for Silicon Image 3124/3132 Serial ATA. If unsure, say N. config SCSI_SATA_SIS tristate "SiS 964/180 SATA support" depends on SCSI_SATA && PCI && EXPERIMENTAL Loading drivers/scsi/Makefile +2 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,7 @@ obj-$(CONFIG_SCSI_ATA_PIIX) += libata.o ata_piix.o obj-$(CONFIG_SCSI_SATA_PROMISE) += libata.o sata_promise.o obj-$(CONFIG_SCSI_SATA_QSTOR) += libata.o sata_qstor.o obj-$(CONFIG_SCSI_SATA_SIL) += libata.o sata_sil.o obj-$(CONFIG_SCSI_SATA_SIL24) += libata.o sata_sil24.o obj-$(CONFIG_SCSI_SATA_VIA) += libata.o sata_via.o obj-$(CONFIG_SCSI_SATA_VITESSE) += libata.o sata_vsc.o obj-$(CONFIG_SCSI_SATA_SIS) += libata.o sata_sis.o Loading @@ -137,6 +138,7 @@ obj-$(CONFIG_SCSI_SATA_SX4) += libata.o sata_sx4.o obj-$(CONFIG_SCSI_SATA_NV) += libata.o sata_nv.o obj-$(CONFIG_SCSI_SATA_ULI) += libata.o sata_uli.o obj-$(CONFIG_SCSI_SATA_MV) += libata.o sata_mv.o obj-$(CONFIG_SCSI_PDC_ADMA) += libata.o pdc_adma.o obj-$(CONFIG_ARM) += arm/ Loading drivers/scsi/ahci.c +30 −11 Original line number Diff line number Diff line Loading @@ -216,7 +216,7 @@ static Scsi_Host_Template ahci_sht = { .ordered_flush = 1, }; static struct ata_port_operations ahci_ops = { static const struct ata_port_operations ahci_ops = { .port_disable = ata_port_disable, .check_status = ahci_check_status, Loading Loading @@ -407,7 +407,7 @@ static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg_in) return 0xffffffffU; } return readl((void *) ap->ioaddr.scr_addr + (sc_reg * 4)); return readl((void __iomem *) ap->ioaddr.scr_addr + (sc_reg * 4)); } Loading @@ -425,7 +425,7 @@ static void ahci_scr_write (struct ata_port *ap, unsigned int sc_reg_in, return; } writel(val, (void *) ap->ioaddr.scr_addr + (sc_reg * 4)); writel(val, (void __iomem *) ap->ioaddr.scr_addr + (sc_reg * 4)); } static void ahci_phy_reset(struct ata_port *ap) Loading Loading @@ -453,14 +453,14 @@ static void ahci_phy_reset(struct ata_port *ap) static u8 ahci_check_status(struct ata_port *ap) { void *mmio = (void *) ap->ioaddr.cmd_addr; void __iomem *mmio = (void __iomem *) ap->ioaddr.cmd_addr; return readl(mmio + PORT_TFDATA) & 0xFF; } static u8 ahci_check_err(struct ata_port *ap) { void *mmio = (void *) ap->ioaddr.cmd_addr; void __iomem *mmio = (void __iomem *) ap->ioaddr.cmd_addr; return (readl(mmio + PORT_TFDATA) >> 8) & 0xFF; } Loading Loading @@ -672,19 +672,38 @@ static irqreturn_t ahci_interrupt (int irq, void *dev_instance, struct pt_regs * for (i = 0; i < host_set->n_ports; i++) { struct ata_port *ap; u32 tmp; VPRINTK("port %u\n", i); if (!(irq_stat & (1 << i))) continue; ap = host_set->ports[i]; tmp = irq_stat & (1 << i); if (tmp && ap) { if (ap) { struct ata_queued_cmd *qc; qc = ata_qc_from_tag(ap, ap->active_tag); if (ahci_host_intr(ap, qc)) irq_ack |= (1 << i); if (!ahci_host_intr(ap, qc)) if (ata_ratelimit()) { struct pci_dev *pdev = to_pci_dev(ap->host_set->dev); printk(KERN_WARNING "ahci(%s): unhandled interrupt on port %u\n", pci_name(pdev), i); } VPRINTK("port %u\n", i); } else { VPRINTK("port %u (no irq)\n", i); if (ata_ratelimit()) { struct pci_dev *pdev = to_pci_dev(ap->host_set->dev); printk(KERN_WARNING "ahci(%s): interrupt on disabled port %u\n", pci_name(pdev), i); } } irq_ack |= (1 << i); } if (irq_ack) { writel(irq_ack, mmio + HOST_IRQ_STAT); handled = 1; Loading drivers/scsi/ata_piix.c +2 −2 Original line number Diff line number Diff line Loading @@ -147,7 +147,7 @@ static Scsi_Host_Template piix_sht = { .ordered_flush = 1, }; static struct ata_port_operations piix_pata_ops = { static const struct ata_port_operations piix_pata_ops = { .port_disable = ata_port_disable, .set_piomode = piix_set_piomode, .set_dmamode = piix_set_dmamode, Loading Loading @@ -177,7 +177,7 @@ static struct ata_port_operations piix_pata_ops = { .host_stop = ata_host_stop, }; static struct ata_port_operations piix_sata_ops = { static const struct ata_port_operations piix_sata_ops = { .port_disable = ata_port_disable, .tf_load = ata_tf_load, Loading Loading
Documentation/DocBook/libata.tmpl +1072 −0 File changed.Preview size limit exceeded, changes collapsed. Show changes
drivers/scsi/Kconfig +19 −3 Original line number Diff line number Diff line Loading @@ -489,11 +489,11 @@ config SCSI_SATA_NV If unsure, say N. config SCSI_SATA_PROMISE tristate "Promise SATA TX2/TX4 support" config SCSI_PDC_ADMA tristate "Pacific Digital ADMA support" depends on SCSI_SATA && PCI help This option enables support for Promise Serial ATA TX2/TX4. This option enables support for Pacific Digital ADMA controllers If unsure, say N. Loading @@ -505,6 +505,14 @@ config SCSI_SATA_QSTOR If unsure, say N. config SCSI_SATA_PROMISE tristate "Promise SATA TX2/TX4 support" depends on SCSI_SATA && PCI help This option enables support for Promise Serial ATA TX2/TX4. If unsure, say N. config SCSI_SATA_SX4 tristate "Promise SATA SX4 support" depends on SCSI_SATA && PCI && EXPERIMENTAL Loading @@ -521,6 +529,14 @@ config SCSI_SATA_SIL If unsure, say N. config SCSI_SATA_SIL24 tristate "Silicon Image 3124/3132 SATA support" depends on SCSI_SATA && PCI && EXPERIMENTAL help This option enables support for Silicon Image 3124/3132 Serial ATA. If unsure, say N. config SCSI_SATA_SIS tristate "SiS 964/180 SATA support" depends on SCSI_SATA && PCI && EXPERIMENTAL Loading
drivers/scsi/Makefile +2 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,7 @@ obj-$(CONFIG_SCSI_ATA_PIIX) += libata.o ata_piix.o obj-$(CONFIG_SCSI_SATA_PROMISE) += libata.o sata_promise.o obj-$(CONFIG_SCSI_SATA_QSTOR) += libata.o sata_qstor.o obj-$(CONFIG_SCSI_SATA_SIL) += libata.o sata_sil.o obj-$(CONFIG_SCSI_SATA_SIL24) += libata.o sata_sil24.o obj-$(CONFIG_SCSI_SATA_VIA) += libata.o sata_via.o obj-$(CONFIG_SCSI_SATA_VITESSE) += libata.o sata_vsc.o obj-$(CONFIG_SCSI_SATA_SIS) += libata.o sata_sis.o Loading @@ -137,6 +138,7 @@ obj-$(CONFIG_SCSI_SATA_SX4) += libata.o sata_sx4.o obj-$(CONFIG_SCSI_SATA_NV) += libata.o sata_nv.o obj-$(CONFIG_SCSI_SATA_ULI) += libata.o sata_uli.o obj-$(CONFIG_SCSI_SATA_MV) += libata.o sata_mv.o obj-$(CONFIG_SCSI_PDC_ADMA) += libata.o pdc_adma.o obj-$(CONFIG_ARM) += arm/ Loading
drivers/scsi/ahci.c +30 −11 Original line number Diff line number Diff line Loading @@ -216,7 +216,7 @@ static Scsi_Host_Template ahci_sht = { .ordered_flush = 1, }; static struct ata_port_operations ahci_ops = { static const struct ata_port_operations ahci_ops = { .port_disable = ata_port_disable, .check_status = ahci_check_status, Loading Loading @@ -407,7 +407,7 @@ static u32 ahci_scr_read (struct ata_port *ap, unsigned int sc_reg_in) return 0xffffffffU; } return readl((void *) ap->ioaddr.scr_addr + (sc_reg * 4)); return readl((void __iomem *) ap->ioaddr.scr_addr + (sc_reg * 4)); } Loading @@ -425,7 +425,7 @@ static void ahci_scr_write (struct ata_port *ap, unsigned int sc_reg_in, return; } writel(val, (void *) ap->ioaddr.scr_addr + (sc_reg * 4)); writel(val, (void __iomem *) ap->ioaddr.scr_addr + (sc_reg * 4)); } static void ahci_phy_reset(struct ata_port *ap) Loading Loading @@ -453,14 +453,14 @@ static void ahci_phy_reset(struct ata_port *ap) static u8 ahci_check_status(struct ata_port *ap) { void *mmio = (void *) ap->ioaddr.cmd_addr; void __iomem *mmio = (void __iomem *) ap->ioaddr.cmd_addr; return readl(mmio + PORT_TFDATA) & 0xFF; } static u8 ahci_check_err(struct ata_port *ap) { void *mmio = (void *) ap->ioaddr.cmd_addr; void __iomem *mmio = (void __iomem *) ap->ioaddr.cmd_addr; return (readl(mmio + PORT_TFDATA) >> 8) & 0xFF; } Loading Loading @@ -672,19 +672,38 @@ static irqreturn_t ahci_interrupt (int irq, void *dev_instance, struct pt_regs * for (i = 0; i < host_set->n_ports; i++) { struct ata_port *ap; u32 tmp; VPRINTK("port %u\n", i); if (!(irq_stat & (1 << i))) continue; ap = host_set->ports[i]; tmp = irq_stat & (1 << i); if (tmp && ap) { if (ap) { struct ata_queued_cmd *qc; qc = ata_qc_from_tag(ap, ap->active_tag); if (ahci_host_intr(ap, qc)) irq_ack |= (1 << i); if (!ahci_host_intr(ap, qc)) if (ata_ratelimit()) { struct pci_dev *pdev = to_pci_dev(ap->host_set->dev); printk(KERN_WARNING "ahci(%s): unhandled interrupt on port %u\n", pci_name(pdev), i); } VPRINTK("port %u\n", i); } else { VPRINTK("port %u (no irq)\n", i); if (ata_ratelimit()) { struct pci_dev *pdev = to_pci_dev(ap->host_set->dev); printk(KERN_WARNING "ahci(%s): interrupt on disabled port %u\n", pci_name(pdev), i); } } irq_ack |= (1 << i); } if (irq_ack) { writel(irq_ack, mmio + HOST_IRQ_STAT); handled = 1; Loading
drivers/scsi/ata_piix.c +2 −2 Original line number Diff line number Diff line Loading @@ -147,7 +147,7 @@ static Scsi_Host_Template piix_sht = { .ordered_flush = 1, }; static struct ata_port_operations piix_pata_ops = { static const struct ata_port_operations piix_pata_ops = { .port_disable = ata_port_disable, .set_piomode = piix_set_piomode, .set_dmamode = piix_set_dmamode, Loading Loading @@ -177,7 +177,7 @@ static struct ata_port_operations piix_pata_ops = { .host_stop = ata_host_stop, }; static struct ata_port_operations piix_sata_ops = { static const struct ata_port_operations piix_sata_ops = { .port_disable = ata_port_disable, .tf_load = ata_tf_load, Loading