05 Aug, 2017

1 commit

  • The newly introduced ahci_platform_shutdown() method is called during
    system shutdown to disable host controller DMA and interrupts in order
    to avoid potentially corrupting or otherwise interfering with a new
    kernel being started with kexec.

    Signed-off-by: Nate Watterson
    Signed-off-by: Tejun Heo

    Nate Watterson
     

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
     

19 Jan, 2015

1 commit

  • The current implementation of the libahci allows using multiple PHYs
    but not multiple regulators. This patch adds the support of multiple
    regulators. Until now it was mandatory to have a PHY under a subnode,
    now a port subnode can contain either a regulator or a PHY (or both).

    In order to be able to asociate a port with a regulator the port are
    now a platform device in the device tree case.

    There was only one driver which used directly the regulator field of
    the ahci_host_priv structure. To preserve the bisectability the change
    in the ahci_imx driver was done in the same patch.

    Signed-off-by: Gregory CLEMENT
    Acked-by: Hans de Goede
    Signed-off-by: Tejun Heo

    Gregory CLEMENT
     

16 Aug, 2014

1 commit


31 Jul, 2014

1 commit

  • This patch moves force_port_map and mask_port_map into the
    ahci_host_priv structure. This allows to modify them into the AHCI
    framework. This is needed by the new dt bindings representing ports as
    the port_map mask is computed automatically.

    Parameters modifying force_port_map, mask_port_map and flags have been
    removed from the ahci_platform_init_host() function, and inputs in the
    ahci_host_priv structure are now directly filed.

    Signed-off-by: Antoine Ténart
    Signed-off-by: Tejun Heo

    Antoine Ténart
     

15 May, 2014

1 commit


23 Feb, 2014

5 commits

  • These members are not used anywhere, and in the future we want
    ahci_platform_data to go away entirely so there is no reason to keep these
    around.

    Signed-off-by: Hans de Goede
    Signed-off-by: Tejun Heo

    Hans de Goede
     
  • Split suspend / resume code into host suspend / resume functionality and
    resource enable / disabling phases, and export the new suspend_ / resume_host
    functions.

    tj: Minor comment formatting updates.

    Signed-off-by: Hans de Goede
    Signed-off-by: Tejun Heo

    Hans de Goede
     
  • ahci_probe consists of 3 steps:
    1) Get resources (get mmio, clks, regulator)
    2) Enable resources, handled by ahci_platform_enable_resouces
    3) The more or less standard ahci-host controller init sequence

    This commit refactors step 1 and 3 into separate functions, so the platform
    drivers for AHCI implementations which need a specific order in step 2,
    and / or need to do some custom register poking at some time, can re-use
    ahci-platform.c code without needing to copy and paste it.

    Note that ahci_platform_init_host's prototype takes the 3 non function
    members of ahci_platform_data as arguments, the idea is that drivers using
    the new exported utility functions will not use ahci_platform_data at all,
    and hopefully in the future ahci_platform_data can go away entirely.

    tj: Minor comment formatting updates.

    Signed-off-by: Hans de Goede
    Signed-off-by: Tejun Heo

    Hans de Goede
     
  • tj: Minor comment formatting updates.

    Signed-off-by: Hans de Goede
    Signed-off-by: Tejun Heo

    Hans de Goede
     
  • The allwinner-sun4i AHCI controller needs 2 clocks to be enabled and the
    imx AHCI controller needs 3 clocks to be enabled.

    tj: Minor comment formatting updates.

    Signed-off-by: Hans de Goede
    Signed-off-by: Tejun Heo

    Hans de Goede
     

09 Jan, 2012

1 commit


02 Aug, 2010

1 commit

  • Some AHCI implementations may use Vendor Specific HBA[A0h, FFh]
    and/or Port[70h, 7Fh] registers to 'prepare' for initialization.
    For that, the platform needs memory mapped address of AHCI registers.

    This patch adds the 'mmio' argument and reorders the call to
    platform init function.

    Signed-off-by: Jassi Brar
    Signed-off-by: Jeff Garzik

    Jassi Brar
     

15 May, 2010

1 commit