08 Feb, 2019

1 commit

  • Add Buddha PATA controller driver. It enables libata support for
    the Buddha, Catweasel and X-Surf expansion boards on the Zorro
    expansion bus.

    Module removal is currently unsupported (the old IDE's buddha
    driver also doesn't support it).

    Tested-by: John Paul Adrian Glaubitz
    Cc: Michael Schmitz
    Cc: Geert Uytterhoeven
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Jens Axboe

    Bartlomiej Zolnierkiewicz
     

16 Jan, 2019

1 commit

  • After commit 5d32a66541c4 (PCI/ACPI: Allow ACPI to be built without
    CONFIG_PCI set) dependencies on CONFIG_PCI that previously were
    satisfied implicitly through dependencies on CONFIG_ACPI have to be
    specified directly. PATA_ACPI is a PCI device driver but the PCI
    dependency has not been explicitly called out.

    Fixes: 5d32a66541c46 ("PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set")
    Acked-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Sinan Kaya
    Reviewed-by: Jens Axboe
    Signed-off-by: Rafael J. Wysocki

    Sinan Kaya
     

11 Oct, 2018

1 commit

  • 'default n' is the default value for any bool or tristate Kconfig
    setting so there is no need to write it explicitly.

    Also since commit f467c5640c29 ("kconfig: only write '# CONFIG_FOO
    is not set' for visible symbols") the Kconfig behavior is the same
    regardless of 'default n' being present or not:

    ...
    One side effect of (and the main motivation for) this change is making
    the following two definitions behave exactly the same:

    config FOO
    bool

    config FOO
    bool
    default n

    With this change, neither of these will generate a
    '# CONFIG_FOO is not set' line (assuming FOO isn't selected/implied).
    That might make it clearer to people that a bare 'default n' is
    redundant.
    ...

    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Jens Axboe

    Bartlomiej Zolnierkiewicz
     

02 Oct, 2018

1 commit


03 Jul, 2018

1 commit

  • Remove dependencies on HAS_DMA where a Kconfig symbol depends on another
    symbol that implies HAS_DMA, and, optionally, on "|| COMPILE_TEST".
    In most cases this other symbol is an architecture or platform specific
    symbol, or PCI.

    Generic symbols and drivers without platform dependencies keep their
    dependencies on HAS_DMA, to prevent compiling subsystems or drivers that
    cannot work anyway.

    This simplifies the dependencies, and allows to improve compile-testing.

    Signed-off-by: Geert Uytterhoeven
    Reviewed-by: Mark Brown
    Acked-by: Robin Murphy
    Signed-off-by: Tejun Heo

    Geert Uytterhoeven
     

04 Apr, 2018

1 commit

  • Pull libata updates from Tejun Heo:
    "Nothing too interesting.

    The biggest change is refcnting fix for ata_host - the bug is recent
    and can only be triggered on controller hotplug, so very few are
    hitting it.

    There also are a number of trivial license / error message changes and
    some hardware specific changes"

    * 'for-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (23 commits)
    ahci: imx: add the imx8qm ahci sata support
    libata: ensure host is free'd on error exit paths
    ata: ahci-platform: add reset control support
    ahci: imx: fix the build warning
    ata: add Amiga Gayle PATA controller driver
    ahci: imx: add the imx6qp ahci sata support
    ata: change Tegra124 to Tegra
    ata: ahci_tegra: Add AHCI support for Tegra210
    ata: ahci_tegra: disable DIPM
    ata: ahci_tegra: disable devslp for Tegra124
    ata: ahci_tegra: initialize regulators from soc struct
    ata: ahci_tegra: Update initialization sequence
    dt-bindings: Tegra210: add binding documentation
    libata: add refcounting to ata_host
    pata_bk3710: clarify license version and use SPDX header
    pata_falcon: clarify license version and use SPDX header
    pata_it821x: Delete an error message for a failed memory allocation in it821x_firmware_command()
    pata_macio: Delete an error message for a failed memory allocation in two functions
    pata_mpc52xx: Delete an error message for a failed memory allocation in mpc52xx_ata_probe()
    sata_dwc_460ex: Delete an error message for a failed memory allocation in sata_dwc_port_start()
    ...

    Linus Torvalds
     

26 Mar, 2018

1 commit


19 Mar, 2018

1 commit

  • Add Amiga Gayle PATA controller driver. It enables libata support
    for the on-board IDE interfaces on some Amiga models (A600, A1200,
    A4000 and A4000T) and also for IDE interfaces on the Zorro expansion
    bus (M-Tech E-Matrix 530 expansion card).

    Thanks to John Paul Adrian Glaubitz and Michael Schmitz for help
    with testing the driver.

    Tested-by: John Paul Adrian Glaubitz
    Cc: Michael Schmitz
    Cc: Geert Uytterhoeven
    Cc: Philippe Ombredanne
    Cc: Andy Shevchenko
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Tejun Heo

    Bartlomiej Zolnierkiewicz
     

14 Mar, 2018

1 commit


19 Jan, 2018

1 commit


12 Dec, 2017

1 commit

  • On many laptops setting a different LPM policy then unknown /
    max_performance can lead to power-savings of 1.0 - 1.5 Watts (when idle).

    Modern ultrabooks idle around 6W (at 50% screen brightness), 1.0 - 1.5W
    is a significant chunk of this.

    There are some performance / latency costs to enabling LPM by default,
    so it is desirable to make it possible to set a different LPM policy
    for mobile / laptop variants of chipsets / "South Bridges" vs their
    desktop / server counterparts. Also enabling LPM by default is not
    entirely without risk of regressions. At least min_power is known to
    cause issues with some disks, including some reports of data corruption.

    This commits adds a new ahci.mobile_lpm_policy kernel cmdline option,
    which defaults to a new SATA_MOBILE_LPM_POLICY Kconfig option so that
    Linux distributions can choose to set a LPM policy for mobile chipsets
    by default.

    The reason to have both a kernel cmdline option and a Kconfig default
    value for it, is to allow easy overriding of the default to allow
    trouble-shooting without needing to rebuild the kernel.

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

    Hans de Goede
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

07 Sep, 2017

1 commit

  • Pull libata updates from Tejun Heo:
    "Except for the ahci fix that fixes a boot issue, nothing major in this
    pull request. Some new platform controller support and device specific
    changes"

    * 'for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    libata: zpodd: make arrays cdb static, reduces object code size
    ahci: don't use MSI for devices with the silly Intel NVMe remapping scheme
    dt-bindings: ata: add DT bindings for MediaTek SATA controller
    ata: mediatek: add support for MediaTek SATA controller
    pata_octeon_cf: use of_property_read_{bool|u32}()
    cs5536: add support for IDE controller variant
    ata: sata_gemini: Introduce explicit IDE pin control
    ata: sata_gemini: Retire custom pin control
    ata: ahci_platform: Add shutdown handler
    ata: sata_gemini: explicitly request exclusive reset control
    ata: Drop unnecessary static
    ata: Convert to using %pOF instead of full_name

    Linus Torvalds
     

29 Aug, 2017

1 commit


11 Jul, 2017

1 commit

  • We cannot build the new ftide010 code without also building the faraday
    sata bridge driver:

    drivers/ata/pata_ftide010.o: In function `pata_ftide010_probe':
    pata_ftide010.c:(.text+0x2b8): undefined reference to `gemini_sata_bridge_get'
    pata_ftide010.c:(.text+0x32c): undefined reference to `gemini_sata_get_muxmode'
    pata_ftide010.c:(.text+0x358): undefined reference to `gemini_sata_bridge_enabled'
    drivers/ata/pata_ftide010.o: In function `pata_ftide010_gemini_port_stop':
    pata_ftide010.c:(.text+0x520): undefined reference to `gemini_sata_stop_bridge'
    drivers/ata/pata_ftide010.o: In function `pata_ftide010_gemini_port_start':
    pata_ftide010.c:(.text+0x5bc): undefined reference to `gemini_sata_start_bridge'

    This adjusts the Kconfig dependencies accordingly.

    Fixes: be4e456ed3a5 ("ata: Add driver for Faraday Technology FTIDE010")
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Tejun Heo

    Arnd Bergmann
     

13 Jun, 2017

1 commit

  • This adds a driver for the Faraday Technology FTIDE010
    PATA IP block.

    When used with the Storlink/Storm/Cortina Systems Gemini
    SoC, the PATA interface is accompanied by a PATASATA
    bridge, so while the device appear as a PATA controller,
    it attaches physically to SATA disks, and also has a
    designated memory area with registers to set up the bridge.

    The Gemini SATA bridge is separated into its own driver
    file to make things modular and make it possible to reuse
    the PATA driver as stand-alone on other systems than the
    Gemini.

    dmesg excerpt from the D-Link DIR-685 storage router:
    gemini-sata-bridge 46000000.sata: SATA ID 00000e00, PHY ID: 01000100
    gemini-sata-bridge 46000000.sata: set up the Gemini IDE/SATA nexus
    ftide010 63000000.ata: set up Gemini PATA0
    ftide010 63000000.ata: device ID 00000500, irq 26, io base 0x63000000
    ftide010 63000000.ata: SATA0 (master) start
    gemini-sata-bridge 46000000.sata: SATA0 PHY ready
    scsi host0: pata-ftide010
    ata1: PATA max UDMA/133 irq 26
    ata1.00: ATA-8: INTEL SSDSA2CW120G3, 4PC10302, max UDMA/133
    ata1.00: 234441648 sectors, multi 1: LBA48 NCQ (depth 0/32)
    ata1.00: configured for UDMA/133
    scsi 0:0:0:0: Direct-Access ATA INTEL SSDSA2CW12 0302 PQ: 0 ANSI: 5
    ata1.00: Enabling discard_zeroes_data
    sd 0:0:0:0: [sda] 234441648 512-byte logical blocks: (120 GB/112 GiB)
    sd 0:0:0:0: [sda] Write Protect is off
    sd 0:0:0:0: [sda] Write cache: enabled, read cache:
    enabled, doesn't support DPO or FUA
    ata1.00: Enabling discard_zeroes_data
    ata1.00: Enabling discard_zeroes_data
    sd 0:0:0:0: [sda] Attached SCSI disk

    After this I can flawlessly mount and read/write copy etc files
    from /dev/sda[n].

    Cc: John Feng-Hsin Chiang
    Cc: Greentime Hu
    Acked-by: Hans Ulli Kroll
    Signed-off-by: Linus Walleij
    Acked-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Tejun Heo

    Linus Walleij
     

10 May, 2017

1 commit

  • Pull ARM SoC driver updates from Olof Johansson:
    "Driver updates for ARM SoCs:

    Reset subsystem, merged through arm-soc by tradition:
    - Make bool drivers explicitly non-modular
    - New support for i.MX7 and Arria10 reset controllers

    PATA driver for Palmchip BK371 (acked by Tejun)

    Power domain drivers for i.MX (GPC, GPCv2)
    - Moved out of mach-imx for GPC
    - Bunch of tweaks, fixes, etc

    PMC support for Tegra186

    SoC detection support for Renesas RZ/G1H and RZ/G1N

    Move Tegra flow controller driver from mach directory to drivers/soc
    - (Power management / CPU power driver)

    Misc smaller tweaks for other platforms"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (60 commits)
    soc: pm-domain: Fix the mangled urls
    soc: renesas: rcar-sysc: Add support for R-Car H3 ES2.0
    soc: renesas: rcar-sysc: Add support for fixing up power area tables
    soc: renesas: Register SoC device early
    soc: imx: gpc: add workaround for i.MX6QP to the GPC PD driver
    dt-bindings: imx-gpc: add i.MX6 QuadPlus compatible
    soc: imx: gpc: add defines for domain index
    soc: imx: Add GPCv2 power gating driver
    dt-bindings: Add GPCv2 power gating driver
    ARM/clk: move the ICST library to drivers/clk
    ARM: plat-versatile: remove stale clock header
    ARM: keystone: Drop PM domain support for k2g
    soc: ti: Add ti_sci_pm_domains driver
    dt-bindings: Add TI SCI PM Domains
    PM / Domains: Do not check if simple providers have phandle cells
    PM / Domains: Add generic data pointer to genpd data struct
    soc/tegra: Add initial flowctrl support for Tegra132/210
    soc/tegra: flowctrl: Add basic platform driver
    soc/tegra: Move Tegra flowctrl driver
    ARM: tegra: Remove unnecessary inclusion of flowctrl header
    ...

    Linus Torvalds
     

30 Mar, 2017

1 commit


24 Mar, 2017

1 commit

  • This SATA controller is quite similar to the one present on the DA850
    SoC, but the PHY configuration is different and it supports two HBA
    ports.

    The IP suffers from the same PMP issue the DA850 does - if we enable
    PMP but don't use it - softreset fails. Appropriate workaround was
    implemented in this driver as well.

    Signed-off-by: Bartosz Golaszewski
    Signed-off-by: Tejun Heo

    Bartosz Golaszewski
     

17 Mar, 2017

1 commit

  • This driver is orphan since commit b2026f708e09 ("ARM: at91: remove
    at91sam9260/at91sam9g20 legacy board support"). Given that nobody cared
    adding DT support to it, it probably means it's no longer used and is
    thus a good candidate for removal.

    Signed-off-by: Boris Brezillon
    Acked-by: Bartlomiej Zolnierkiewicz
    Acked-by: Nicolas Ferre
    Signed-off-by: Tejun Heo

    Boris Brezillon
     

08 Mar, 2017

1 commit


16 Jan, 2017

1 commit

  • When CONFIG_HWMON is disabled, we now get a link failure:

    ERROR: "devm_hwmon_device_register_with_groups" [drivers/ata/ahci_imx.ko] undefined!
    drivers/ata/ahci_imx.o: In function `imx_ahci_probe':
    ahci_imx.c:(.text.imx_ahci_probe+0x304): undefined reference to `devm_thermal_zone_of_sensor_register'

    This makes the code calling into the hwmon subsystem compile-time
    conditional, and adds a Kconfig dependency to avoid the corner
    case of having HWMON=m and AHCI_IMX=y, by forcing AHCI_IMX=m in this
    case. The thermal subsystem already has a check in its header, but
    that also doesn't cover the THERMAL=m case, so we need a somewhat
    complex Kconfig expression to handle all cases.

    Fixes: 54643a83b41a ("ahci: imx: Add imx53 SATA temperature sensor support")
    Signed-off-by: Arnd Bergmann
    Acked-by: Reviewed-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Tejun Heo

    Arnd Bergmann
     

11 Jan, 2017

2 commits


07 Jan, 2017

4 commits


17 Jun, 2016

2 commits


24 May, 2016

1 commit

  • Pull libata sata_dwc_460ex updates from Tejun Heo:
    "Patches to bring sata_dwc_460ex up to snuff.

    It was a separate pull request because it depends on dmaengine dw
    platform changes which are now in mainline"

    * 'for-4.7-dw' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (24 commits)
    ata: dwc: add DMADEVICES dependency
    powerpc/4xx: Device tree update for the 460ex DWC SATA
    ata: sata_dwc_460ex: make debug messages neat
    ata: sata_dwc_460ex: supply physical address of FIFO to DMA
    ata: sata_dwc_460ex: use devm_ioremap
    ata: sata_dwc_460ex: tidy up sata_dwc_clear_dmacr()
    ata: sata_dwc_460ex: use readl/writel_relaxed()
    ata: sata_dwc_460ex: switch to new dmaengine_terminate_* API
    ata: sata_dwc_460ex: add __iomem to register base pointer
    ata: sata_dwc_460ex: get rid of incorrect cast
    ata: sata_dwc_460ex: get rid of some pointless casts
    ata: sata_dwc_460ex: remove empty libata callback
    ata: sata_dwc_460ex: correct HOSTDEV{P}_FROM_*() macros
    ata: sata_dwc_460ex: get rid of global data
    ata: sata_dwc_460ex: add phy support
    ata: sata_dwc_460ex: use "dmas" DT property to find dma channel
    ata: sata_dwc_460ex: don't call ata_sff_qc_issue() on DMA commands
    ata: sata_dwc_460ex: skip dma setup for non-dma commands
    ata: sata_dwc_460ex: select only core part of DMA driver
    ata: sata_dwc_460ex: DMA is always a flow controller
    ...

    Linus Torvalds
     

13 May, 2016

1 commit

  • The dwc_460ex SATA driver has become available on non-powerpc architectures
    and may cause randconfig build errors when CONFIG_DMADEVICES is not set
    and SATA_DWC_OLD_DMA is enabled:

    warning: (SATA_DWC_OLD_DMA) selects DW_DMAC_CORE which has unmet direct dependencies (DMADEVICES)
    ERROR: "dw_dma_probe" [drivers/ata/sata_dwc_460ex.ko] undefined!
    ERROR: "dw_dma_remove" [drivers/ata/sata_dwc_460ex.ko] undefined!

    This adds an explcit Kconfig dependency to CONFIG_SATA_DWC so we
    cannot run into broken configurations. While it would also be
    possible to build the driver with both CONFIG_DMADEVICES
    and SATA_DWC_OLD_DMA disabled, that case is not useful because
    there is no fallback to PIO mode when the DMA engine is not
    usable.

    Signed-off-by: Arnd Bergmann
    Fixes: 50b433753df6 ("ata: sata_dwc_460ex: use "dmas" DT property to find dma channel")
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Tejun Heo

    Arnd Bergmann
     

11 May, 2016

3 commits


14 Apr, 2016

1 commit

  • AMD Seattle SATA controller mostly conforms to AHCI interface with some
    special register to control SGPIO interface. In the case of an AHCI
    controller, the SGPIO feature is ideally implemented using the
    "Enclosure Management" register of the AHCI controller, but those
    registeres are not implemented in the Seattle SoC. Instead SoC
    (Rev B0 onwards) provides a 32-bit SGPIO control register which should
    be programmed to control the activity, locate and fault LEDs.

    The driver is based on ahci_platform driver.

    Signed-off-by: Brijesh Singh
    Acked-by: Hans de Goede
    CC: tj@kernel.org
    CC: linux-ide@vger.kernel.org
    Signed-off-by: Tejun Heo

    Brijesh Singh
     

04 Mar, 2016

1 commit

  • Make use of ARCH_RENESAS in place of ARCH_SHMOBILE.

    This is part of an ongoing process to migrate from ARCH_SHMOBILE to
    ARCH_RENESAS the motivation for which being that RENESAS seems to be a more
    appropriate name than SHMOBILE for the majority of Renesas ARM based SoCs.

    Signed-off-by: Simon Horman
    Signed-off-by: Tejun Heo
    Acked-by: Geert Uytterhoeven

    Simon Horman
     

11 Feb, 2016

1 commit

  • The OCTEON SATA controller is currently found on cn71XX devices.

    Acked-by: Arnd Bergmann
    Acked-by: Hans de Goede
    Acked-by: Rob Herring
    Signed-off-by: David Daney
    Signed-off-by: Vinita Gupta
    Signed-off-by: Aleksey Makarov
    Signed-off-by: Zubair Lutfullah Kakakhel
    Signed-off-by: Tejun Heo

    Aleksey Makarov
     

01 Jan, 2016

1 commit

  • The BCM7xxx ARM-based and MIPS-based platforms share a similar hardware
    block for AHCI SATA3.

    This new compatible string, "brcm,bcm7425-ahci", may be used for most
    MIPS-based platforms of 40nm process technology.

    Signed-off-by: Jaedon Shin
    Tested-by: Florian Fainelli
    Acked-by: Brian Norris
    Signed-off-by: Tejun Heo

    Jaedon Shin
     

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