22 Aug, 2018

1 commit

  • Add an extra argument to ahci_platform_get_resources(), that is
    for the bitmap representing the resource to get in this function.

    Currently there is no resources to be defined, so all the callers set
    '0' to the argument.

    Suggested-by: Hans de Goede
    Cc: Thierry Reding
    Cc: Matthias Brugger
    Cc: Patrice Chotard
    Cc: Maxime Ripard
    Signed-off-by: Kunihiko Hayashi
    Reviewed-by: Hans de Goede
    Signed-off-by: Tejun Heo

    Kunihiko Hayashi
     

27 Apr, 2018

1 commit

  • Marvell armada37xx, armada7k and armada8k share the same
    AHCI sata controller IP, and currently there is an issue
    (Errata Ref#226)that the SATA can not be detected via SATA
    Port-MultiPlayer(PMP). After debugging, the reason is
    found that the value of Port-x FIS-based Switching Control
    (PxFBS@0x40) became wrong.
    According to design, the bits[11:8, 0] of register PxFBS
    are cleared when Port Command and Status (0x18) bit[0]
    changes its value from 1 to 0, i.e. falling edge of Port
    Command and Status bit[0] sends PULSE that resets PxFBS
    bits[11:8; 0].
    So it needs save the port PxFBS register before PxCMD
    ST write and restore the port PxFBS register afterwards
    in ahci_stop_engine().

    This commit allows drivers to override ahci_stop_engine
    behavior for use by the Marvell AHCI driver(and potentially
    other drivers in the future).

    Signed-off-by: Evan Wang
    Cc: Ofer Heifetz
    Cc: Tejun Heo
    Cc: Thomas Petazzoni
    Signed-off-by: Tejun Heo

    Evan Wang
     

05 Dec, 2017

1 commit


02 Jun, 2017

1 commit

  • Ls1088a is new introduced arm-based soc with sata support with
    following features:

    * Complies with the serial ATA 3.0 specification
    and the AHCI 1.3.1 specification
    * Contains a high-speed descriptor-based DMA controller
    * Supports the following:
    * Speeds of 1.5 Gb/s (first-generation SATA),
    3 Gb/s (second-generation SATA), and 6 Gb/s (third-generation SATA)
    * FIS-based switching
    * Native command queuing (NCQ) commands
    * Port multiplier operation
    * Asynchronous notification
    * SATA Vendor BIST mode

    Signed-off-by: Tang Yuantian
    Signed-off-by: Tejun Heo

    Yuantian Tang
     

10 Mar, 2017

1 commit


20 Jan, 2017

3 commits

  • Ls2088a is new introduced arm-based soc with sata support with
    following features:
    1. Complies with the serial ATA 3.0 specification and the AHCI 1.3.1
    specification
    2. Contains a high-speed descriptor-based DMA controller
    3. Supports the following:
    a. Speeds of 1.5 Gb/s (first-generation SATA), 3 Gb/s
    (second-generation SATA), and 6 Gb/s (third-generation SATA)
    b. FIS-based switching
    c. Native command queuing (NCQ) commands
    d. Port multiplier operation
    e. Asynchronous notification
    f. SATA BIST mode

    Signed-off-by: Tang Yuantian
    Signed-off-by: Tejun Heo

    Tang Yuantian
     
  • For ls1021a, and armv8 chasis 2 socs, sata ecc must be disabled.
    If ecc register is not found in sata node in dts, report error.

    This is a chip erratum described as bellow:
    The Read DMA operations get early termination indication from the
    controller. This issue is observed as CRC error in the status registers.
    The issue is due to address collision at address 0 in the dual port
    memory. The read is a dummy read to flush out the header, but due to
    collision the controller logs the mbit error reported by the ECC check
    logic. This results in the early termination of the Read DMA operation
    by the controller. The issue happens to all the interface
    speeds(GEN1/2/3) for all the products.

    Workaround:
    Disable ECC feature on those platforms.

    Signed-off-by: Tang Yuantian
    Signed-off-by: Tejun Heo

    Tang Yuantian
     
  • Enable DMA coherence in SATA controller on condition that
    dma-coherent property exists in sata node in DTS.

    Signed-off-by: Tang Yuantian
    Signed-off-by: Tejun Heo

    Tang Yuantian
     

20 Oct, 2016

1 commit


30 Sep, 2016

1 commit

  • This reverts commit 640847298e2b7f19 ("ahci: qoriq: Disable NCQ
    on ls2080a SoC")

    The erratum has been fixed in ls2080a v2.0 and later soc.
    In reality, customer will not get any ls2080a v1.0 soc. Neither apply
    to any products. So reverting this commit won't create any side effect.

    Blacklisting v2.0 could also be a option, but that needs to check the
    soc version which is not suitable in the driver.

    Signed-off-by: Tang Yuantian
    Signed-off-by: Tejun Heo

    Tang Yuantian
     

10 Aug, 2016

2 commits


16 Dec, 2015

3 commits


31 Oct, 2015

2 commits


16 Oct, 2015

1 commit

  • kbuild test robot reports the warnings:
    drivers/ata/ahci_qoriq.c: In function 'ahci_qoriq_hardreset':
    >> include/asm-generic/io.h:163:2: warning: 'px_is' may be used
    >> uninitialized in this function [-Wuninitialized]
    drivers/ata/ahci_qoriq.c:70:14: note: 'px_is' was declared here
    >> include/asm-generic/io.h:163:2: warning: 'px_cmd' may be used
    >> uninitialized in this function [-Wuninitialized]
    drivers/ata/ahci_qoriq.c:70:6: note: 'px_cmd' was declared here

    This patch fixed it by introducing a local variable.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Tang Yuantian
    Signed-off-by: Tejun Heo

    Arnd Bergmann
     

09 Sep, 2015

1 commit

  • Currently Freescale QorIQ series SATA is supported by ahci_platform
    driver. Some SoC specific settings have been put in uboot. So whether
    SATA works or not heavily depends on uboot.
    This patch will add a new driver to support QorIQ sata which removes
    the dependency on any other boot loader.
    Freescale QorIQ series sata, like ls1021a ls2085a ls1043a, is
    compatible with serial ATA 3.0 and AHCI 1.3 specification.

    Signed-off-by: Yuantian Tang
    Reviewed-by: Hans de Goede
    Signed-off-by: Tejun Heo

    Tang Yuantian