12 Mar, 2016

1 commit

  • If the call to acpi_get_object_info() fails then "info" hasn't been
    initialized. In that situation, we already know that "version" should
    be XGENE_AHCI_V1 so we don't actually need to dereference "info".

    Fixes: c9802a4be661 ('ata: ahci_xgene: Add AHCI Support for 2nd HW version of APM X-Gene SoC AHCI SATA Host controller.')
    Signed-off-by: Dan Carpenter
    Signed-off-by: Tejun Heo

    Dan Carpenter
     

11 Feb, 2016

2 commits


19 May, 2015

1 commit


11 May, 2015

1 commit

  • This patch enables full AHCI feature support for APM X-Gene SoC SATA
    host controller. The following errata's are removed:

    1. 2a0bdff6b95 ("ahci-xgene: fix the dma state machine lockup for the
    IDENTIFY DEVICE PIO mode command")
    2. 09c32aaa368 ("ahci_xgene: Fix the dma state machine lockup for the
    ATA_CMD_SMART PIO mode command")
    3. 1540035da71 ("ahci_xgene: Implement the xgene_ahci_poll_reg_val to
    support PMP")
    4. a3a84bc7c88 ("ahci_xgene: Implement the workaround to support PMP
    enumeration and discovery")
    5. 1102407bb71 ("ahci_xgene: Fix the DMA state machine lockup for the
    ATA_CMD_PACKET PIO mode command")
    6. 72f79f9e35b ("ahci_xgene: Removing NCQ support from the APM X-Gene
    SoC AHCI SATA Host Controller driver")

    In addition, enable PMP support for APM X-Gene SoC and enable FBS
    support for second generation APM X-Gene SoC.

    Signed-off-by: Suman Tripathi
    Signed-off-by: Tejun Heo

    Suman Tripathi
     

20 Mar, 2015

1 commit

  • This adds ACPI support for the APM X-Gene SATA ports. When the system
    boots using ACPI table, the SATA ports are able to configure using the
    values supplied by the ACPI table rather than the DTS.

    Signed-off-by: Feng Kan
    Reviewed-by: Hanjun Guo
    Reviewed-by: Mika Westerberg
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Tejun Heo

    Feng Kan
     

09 Feb, 2015

1 commit


04 Feb, 2015

1 commit

  • This patch addresses the issue with ATA_CMD_SMART pio mode command for
    enumeration and device detection with ATA devices. The X-Gene AHCI
    controller has an errata in which it cannot clear the BSY bit after
    the PIO setup FIS. The dma state machine enters CMFatalErrorUpdate
    state and locks up. It is the same issue as in the commit 2a0bdff6b958
    ("ahci-xgene: fix the dma state machine lockup for the IDENTIFY DEVICE
    PIO mode command").

    For example : without this patch it results in READ DMA command failure
    as shown below :

    [ 126.700072] ata2.00: exception Emask 0x0 SAct 0x0
    SErr 0x0 action 0x6 frozen
    [ 126.707089] ata2.00: failed command: READ DMA
    [ 126.711426] ata2.00: cmd c8/00:08:00:55:57/00:00:00:00:00/e1 tag 1
    dma 4096 in
    [ 126.711426] res 40/00:ff:00:00:00/00:00:00:00:00/40 Emask
    0x4 (timeout)
    [ 126.725956] ata2.00: status: { DRDY }

    Signed-off-by: Suman Tripathi
    Reported-by: Mark Langsdorf
    Signed-off-by: Tejun Heo

    Suman Tripathi
     

29 Jan, 2015

1 commit

  • The owner module reference of the ahci platform's scsi_host is
    initialized to libahci_platform's one, because these drivers use a
    scsi_host_template defined in libahci_platform. So these drivers can
    be unloaded even if the scsi device is being accessed.

    This fixes it by pushing the scsi_host_template from libahci_platform
    to all leaf drivers. The scsi_host_template is passed through a new
    argument of ahci_platform_init_host().

    Signed-off-by: Akinobu Mita
    Signed-off-by: Tejun Heo
    Cc: Hans de Goede
    Cc: Christoph Hellwig
    Cc: "James E.J. Bottomley"
    Cc: linux-ide@vger.kernel.org
    Cc: linux-scsi@vger.kernel.org

    Akinobu Mita
     

06 Jan, 2015

2 commits


05 Jan, 2015

2 commits


20 Oct, 2014

1 commit


10 Oct, 2014

1 commit

  • Pull libata update from Tejun Heo:
    "AHCI is getting per-port irq handling and locks for better
    scalability. The gain is not huge but measureable with multiple high
    iops devices connected to the same host; however, the value of
    threaded IRQ handling seems negligible for AHCI and it likely will
    revert to non-threaded handling soon.

    Another noteworthy change is George Spelvin's "libata: Un-break ATA
    blacklist". During 3.17 devel cycle, the libata blacklist glob
    matching got generalized and rewritten; unfortunately, the patch
    forgot to swap arguments to match the new match function and ended up
    breaking blacklist matching completely. It got noticed only a couple
    days ago so it couldn't make for-3.17-fixes either. :(

    Other than the above two, nothing too interesting - the usual cleanup
    churns and device-specific changes"

    * 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (22 commits)
    pata_serverworks: disable 64-KB DMA transfers on Broadcom OSB4 IDE Controller
    libata: Un-break ATA blacklist
    AHCI: Do not acquire ata_host::lock from single IRQ handler
    AHCI: Optimize single IRQ interrupt processing
    AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode
    AHCI: Make few function names more descriptive
    AHCI: Move host activation code into ahci_host_activate()
    AHCI: Move ahci_host_activate() function to libahci.c
    AHCI: Pass SCSI host template as arg to ahci_host_activate()
    ata: pata_imx: Use the SIMPLE_DEV_PM_OPS() macro
    AHCI: Cleanup checking of multiple MSIs/SLM modes
    libata-sff: Fix controllers with no ctl port
    ahci_xgene: Fix the error print invalid resource for APM X-Gene SoC AHCI SATA Host Controller driver.
    libata: change ata__printk routines to return void
    ata: qcom: Add device tree bindings information
    ahci-platform: Bump max number of clocks to 5
    ahci: ahci_p5wdh_workaround - constify DMI table
    libahci_platform: Staticize ahci_platform_able_phys()
    pata_platform: Remove useless irq_flags field
    pata_of_platform: Remove "electra-ide" quirk
    ...

    Linus Torvalds
     

23 Sep, 2014

1 commit


06 Sep, 2014

2 commits


17 Aug, 2014

1 commit


31 Jul, 2014

2 commits


29 Jul, 2014

2 commits


08 Jul, 2014

1 commit

  • This patch fixes the dma state machine lockup due to the processing
    of IDENTIFY DEVICE PIO mode command. The X-Gene AHCI controller
    has an errata in which it cannot clear the BSY bit after the PIO setup
    FIS. The dma state machine enters CMFatalErrorUpdate state and locks
    up. This patch also removes the dma restart workaround from the read_id
    function as the read_id function is only called by libata layer for
    ATA_INTERNAL commands. But for some cases eg: PORT MULTIPLIER
    and udev, the framework will enumerate using SCSI commands and it will
    not call read_id function.

    Signed-off-by: Loc Ho
    Signed-off-by: Suman Tripathi
    Signed-off-by: Tejun Heo

    Suman Tripathi
     

18 Jun, 2014

1 commit


15 May, 2014

1 commit


19 Mar, 2014

1 commit


18 Mar, 2014

1 commit

  • This patch adds support for the APM X-Gene SoC AHCI SATA host controller
    driver. It requires the corresponding APM X-Gene SoC PHY driver. This
    initial version only supports Gen3 speed.

    Signed-off-by: Loc Ho
    Signed-off-by: Tuan Phan
    Signed-off-by: Suman Tripathi
    Reviewed-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Tejun Heo

    Loc Ho