~ubuntu-branches/ubuntu/trusty/linux-armadaxp/trusty

« back to all changes in this revision

Viewing changes to drivers/ata/sata_inic162x.c

  • Committer: Package Import Robot
  • Author(s): Michael Casadevall, Bryan Wu, Dann Frazier, Michael Casadeall
  • Date: 2012-03-10 15:00:54 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20120310150054-flugb39zon8vvgwe
Tags: 3.2.0-1600.1
[ Bryan Wu ]
* UBUNTU: import debian/debian.env and debian.armadaxp

[ Dann Frazier ]
* ARM: Armada XP: remove trailing '/' in dirnames in mvRules.mk

[ Michael Casadeall ]
* tools: add some tools for Marvell Armada XP processor
* kernel: timer tick hacking from Marvell
* kernel: Sheeva Errata: add delay on Sheeva when powering down
* net: add Marvell NFP netfilter
* net: socket and skb modifications made by Marvell
* miscdevice: add minor IDs for some Marvell Armada drivers
* fs: introduce memory pool for splice()
* video: EDID detection updates from Marvell Armada XP patchset
* video: backlight: add Marvell Dove LCD backlight driver
* video: display: add THS8200 display driver
* video: framebuffer: add Marvell Dove and Armada XP processor onchip LCD controller driver
* usbtest: add Interrupt transfer testing by Marvell Armada XP code
* usb: ehci: add support for Marvell EHCI controler
* tty/serial: 8250: add support for Marvell Armada XP processor and DeviceTree work
* rtc: add support for Marvell Armada XP onchip RTC controller
* net: pppoe: add Marvell ethernet NFP hook in PPPoE networking driver
* mtd: nand: add support for Marvell Armada XP Nand Flash Controller
* mtd: maps: add Marvell Armada XP specific map driver
* mmc: add support for Marvell Armada XP MMC/SD host controller
* i2c: add support for Marvell Armada XP onchip i2c bus controller
* hwmon: add Kconfig option for Armada XP onchip thermal sensor driver
* dmaengine: add Net DMA support for splice and update Marvell XOR DMA engine driver
* ata: add support for Marvell Armada XP SATA controller and update some quirks
* ARM: add Marvell Armada XP machine to mach-types
* ARM: oprofile: add support for Marvell PJ4B core
* ARM: mm: more ARMv6 switches for Marvell Armada XP
* ARM: remove static declaration to allow compilation
* ARM: alignment access fault trick
* ARM: mm: skip some fault fixing when run on NONE SMP ARMv6 mode during early abort event
* ARM: mm: add Marvell Sheeva CPU Architecture for PJ4B
* ARM: introduce optimized copy operation for Marvell Armada XP
* ARM: SAUCE: hardware breakpoint trick for Marvell Armada XP
* ARM: big endian and little endian tricks for Marvell Armada XP
* ARM: SAUCE: Add Marvell Armada XP build rules to arch/arm/kernel/Makefile
* ARM: vfp: add special handling for Marvell Armada XP
* ARM: add support for Marvell U-Boot
* ARM: add mv_controller_num for ARM PCI drivers
* ARM: add support for local PMUs, general SMP tweaks and cache flushing
* ARM: add Marvell device identifies in glue-proc.h
* ARM: add IPC driver support for Marvell platforms
* ARM: add DMA mapping for Marvell platforms
* ARM: add Sheeva errata and PJ4B code for booting
* ARM: update Kconfig and Makefile to include Marvell Armada XP platforms
* ARM: Armada XP: import LSP from Marvell for Armada XP 3.2 kernel enablement

Show diffs side-by-side

added added

removed removed

Lines of Context:
396
396
        }
397
397
 
398
398
 spurious:
399
 
        ata_port_printk(ap, KERN_WARNING, "unhandled interrupt: "
400
 
                        "cmd=0x%x irq_stat=0x%x idma_stat=0x%x\n",
401
 
                        qc ? qc->tf.command : 0xff, irq_stat, idma_stat);
 
399
        ata_port_warn(ap, "unhandled interrupt: cmd=0x%x irq_stat=0x%x idma_stat=0x%x\n",
 
400
                      qc ? qc->tf.command : 0xff, irq_stat, idma_stat);
402
401
}
403
402
 
404
403
static irqreturn_t inic_interrupt(int irq, void *dev_instance)
619
618
 
620
619
        rc = sata_link_resume(link, timing, deadline);
621
620
        if (rc) {
622
 
                ata_link_printk(link, KERN_WARNING, "failed to resume "
623
 
                                "link after reset (errno=%d)\n", rc);
 
621
                ata_link_warn(link,
 
622
                              "failed to resume link after reset (errno=%d)\n",
 
623
                              rc);
624
624
                return rc;
625
625
        }
626
626
 
632
632
                rc = ata_wait_after_reset(link, deadline, inic_check_ready);
633
633
                /* link occupied, -ENODEV too is an error */
634
634
                if (rc) {
635
 
                        ata_link_printk(link, KERN_WARNING, "device not ready "
636
 
                                        "after hardreset (errno=%d)\n", rc);
 
635
                        ata_link_warn(link,
 
636
                                      "device not ready after hardreset (errno=%d)\n",
 
637
                                      rc);
637
638
                        return rc;
638
639
                }
639
640
 
799
800
 
800
801
static int inic_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
801
802
{
802
 
        static int printed_version;
803
803
        const struct ata_port_info *ppi[] = { &inic_port_info, NULL };
804
804
        struct ata_host *host;
805
805
        struct inic_host_priv *hpriv;
807
807
        int mmio_bar;
808
808
        int i, rc;
809
809
 
810
 
        if (!printed_version++)
811
 
                dev_printk(KERN_DEBUG, &pdev->dev, "version " DRV_VERSION "\n");
 
810
        ata_print_version_once(&pdev->dev, DRV_VERSION);
812
811
 
813
812
        /* alloc host */
814
813
        host = ata_host_alloc_pinfo(&pdev->dev, ppi, NR_PORTS);
847
846
        /* Set dma_mask.  This devices doesn't support 64bit addressing. */
848
847
        rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(32));
849
848
        if (rc) {
850
 
                dev_printk(KERN_ERR, &pdev->dev,
851
 
                           "32-bit DMA enable failed\n");
 
849
                dev_err(&pdev->dev, "32-bit DMA enable failed\n");
852
850
                return rc;
853
851
        }
854
852
 
855
853
        rc = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32));
856
854
        if (rc) {
857
 
                dev_printk(KERN_ERR, &pdev->dev,
858
 
                           "32-bit consistent DMA enable failed\n");
 
855
                dev_err(&pdev->dev, "32-bit consistent DMA enable failed\n");
859
856
                return rc;
860
857
        }
861
858
 
866
863
         */
867
864
        rc = pci_set_dma_max_seg_size(pdev, 65536 - 512);
868
865
        if (rc) {
869
 
                dev_printk(KERN_ERR, &pdev->dev,
870
 
                           "failed to set the maximum segment size.\n");
 
866
                dev_err(&pdev->dev, "failed to set the maximum segment size\n");
871
867
                return rc;
872
868
        }
873
869
 
874
870
        rc = init_controller(hpriv->mmio_base, hpriv->cached_hctl);
875
871
        if (rc) {
876
 
                dev_printk(KERN_ERR, &pdev->dev,
877
 
                           "failed to initialize controller\n");
 
872
                dev_err(&pdev->dev, "failed to initialize controller\n");
878
873
                return rc;
879
874
        }
880
875