Skip to content

Commit 4b3d6e0

Browse files
committed
Merge tag 'ata-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata
Pull ata updates from Damien Le Moal: - Fix OF include file for ata platform drivers (Rob) - Simplify various ahci, sata and pata platform drivers using the function devm_platform_ioremap_resource() (Yangtao) - Cleanup libata time related argument types (e.g. timeouts values) (Sergey) - Cleanup libata code around error handling as all ata drivers now define a error_handler operation (Hannes and Niklas) - Remove functions intended for libsas that are in fact unused (Niklas) - Change the remove device callback of platform drivers to a null function (Uwe) - Simplify the pata_imx driver using devm_clk_get_enabled() (Li) - Remove old and uinused remnants of the ide code in arm, parisc, powerpc, sparc and m68k architectures and associated drivers (pata_buddha, pata_falcon and pata_gayle) (Geert) - Add missing MODULE_DESCRIPTION() in the sata_gemini and pata_ftide010 drivers (me) - Several fixes for the pata_ep93xx and pata_falcon drivers (Nikita, Michael) - Add Elkhart Lake AHCI controller support to the ahci driver (Werner) - Disable NCQ trim on Micron 1100 drives (Pawel) * tag 'ata-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata: (60 commits) ata: libata-core: Disable NCQ_TRIM on Micron 1100 drives ata: ahci: Add Elkhart Lake AHCI controller ata: pata_falcon: add data_swab option to byte-swap disk data ata: pata_falcon: fix IO base selection for Q40 ata: pata_ep93xx: use soc_device_match for UDMA modes ata: pata_ep93xx: fix error return code in probe ata: sata_gemini: Add missing MODULE_DESCRIPTION ata: pata_ftide010: Add missing MODULE_DESCRIPTION m68k: Remove <asm/ide.h> ata: pata_gayle: Remove #include <asm/ide.h> ata: pata_falcon: Remove #include <asm/ide.h> ata: pata_buddha: Remove #include <asm/ide.h> asm-generic: Remove ide_iops.h sparc: Remove <asm/ide.h> powerpc: Remove <asm/ide.h> parisc: Remove <asm/ide.h> ARM: Remove <asm/ide.h> ata: pata_imx: Use helper function devm_clk_get_enabled() ata: sata_rcar: Convert to platform remove callback returning void ata: sata_mv: Convert to platform remove callback returning void ...
2 parents 7733171 + 27fd071 commit 4b3d6e0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+355
-1191
lines changed

Documentation/driver-api/libata.rst

Lines changed: 6 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -32,22 +32,6 @@ register blocks.
3232
:c:type:`struct ata_port_operations <ata_port_operations>`
3333
----------------------------------------------------------
3434

35-
Disable ATA port
36-
~~~~~~~~~~~~~~~~
37-
38-
::
39-
40-
void (*port_disable) (struct ata_port *);
41-
42-
43-
Called from :c:func:`ata_bus_probe` error path, as well as when unregistering
44-
from the SCSI module (rmmod, hot unplug). This function should do
45-
whatever needs to be done to take the port out of use. In most cases,
46-
:c:func:`ata_port_disable` can be used as this hook.
47-
48-
Called from :c:func:`ata_bus_probe` on a failed probe. Called from
49-
:c:func:`ata_scsi_release`.
50-
5135
Post-IDENTIFY device configuration
5236
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5337

@@ -272,14 +256,6 @@ advanced drivers implement their own ``->qc_issue``.
272256
Exception and probe handling (EH)
273257
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
274258

275-
::
276-
277-
void (*eng_timeout) (struct ata_port *ap);
278-
void (*phy_reset) (struct ata_port *ap);
279-
280-
281-
Deprecated. Use ``->error_handler()`` instead.
282-
283259
::
284260

285261
void (*freeze) (struct ata_port *ap);
@@ -364,8 +340,7 @@ SATA phy read/write
364340
u32 val);
365341

366342

367-
Read and write standard SATA phy registers. Currently only used if
368-
``->phy_reset`` hook called the :c:func:`sata_phy_reset` helper function.
343+
Read and write standard SATA phy registers.
369344
sc_reg is one of SCR_STATUS, SCR_CONTROL, SCR_ERROR, or SCR_ACTIVE.
370345

371346
Init and shutdown
@@ -536,13 +511,12 @@ to return without deallocating the qc. This leads us to
536511

537512
:c:func:`ata_scsi_error` is the current ``transportt->eh_strategy_handler()``
538513
for libata. As discussed above, this will be entered in two cases -
539-
timeout and ATAPI error completion. This function calls low level libata
540-
driver's :c:func:`eng_timeout` callback, the standard callback for which is
541-
:c:func:`ata_eng_timeout`. It checks if a qc is active and calls
542-
:c:func:`ata_qc_timeout` on the qc if so. Actual error handling occurs in
543-
:c:func:`ata_qc_timeout`.
514+
timeout and ATAPI error completion. This function will check if a qc is active
515+
and has not failed yet. Such a qc will be marked with AC_ERR_TIMEOUT such that
516+
EH will know to handle it later. Then it calls low level libata driver's
517+
:c:func:`error_handler` callback.
544518

545-
If EH is invoked for timeout, :c:func:`ata_qc_timeout` stops BMDMA and
519+
When the :c:func:`error_handler` callback is invoked it stops BMDMA and
546520
completes the qc. Note that as we're currently in EH, we cannot call
547521
scsi_done. As described in SCSI EH doc, a recovered scmd should be
548522
either retried with :c:func:`scsi_queue_insert` or finished with

arch/arm/include/asm/ide.h

Lines changed: 0 additions & 24 deletions
This file was deleted.

arch/m68k/include/asm/ide.h

Lines changed: 0 additions & 67 deletions
This file was deleted.

arch/parisc/include/asm/ide.h

Lines changed: 0 additions & 54 deletions
This file was deleted.

arch/powerpc/include/asm/ide.h

Lines changed: 0 additions & 18 deletions
This file was deleted.

arch/sparc/include/asm/ide.h

Lines changed: 0 additions & 97 deletions
This file was deleted.

drivers/ata/ahci.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,8 @@ static const struct pci_device_id ahci_pci_tbl[] = {
421421
{ PCI_VDEVICE(INTEL, 0x34d3), board_ahci_low_power }, /* Ice Lake LP AHCI */
422422
{ PCI_VDEVICE(INTEL, 0x02d3), board_ahci_low_power }, /* Comet Lake PCH-U AHCI */
423423
{ PCI_VDEVICE(INTEL, 0x02d7), board_ahci_low_power }, /* Comet Lake PCH RAID */
424+
/* Elkhart Lake IDs 0x4b60 & 0x4b62 https://sata-io.org/product/8803 not tested yet */
425+
{ PCI_VDEVICE(INTEL, 0x4b63), board_ahci_low_power }, /* Elkhart Lake AHCI */
424426

425427
/* JMicron 360/1/3/5/6, match class to avoid IDE function */
426428
{ PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
@@ -807,7 +809,7 @@ static int ahci_p5wdh_hardreset(struct ata_link *link, unsigned int *class,
807809
static int ahci_avn_hardreset(struct ata_link *link, unsigned int *class,
808810
unsigned long deadline)
809811
{
810-
const unsigned long *timing = sata_ehc_deb_timing(&link->eh_context);
812+
const unsigned int *timing = sata_ehc_deb_timing(&link->eh_context);
811813
struct ata_port *ap = link->ap;
812814
struct ahci_port_priv *pp = ap->private_data;
813815
struct ahci_host_priv *hpriv = ap->host->private_data;

drivers/ata/ahci_ceva.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#include <linux/kernel.h>
1111
#include <linux/libata.h>
1212
#include <linux/module.h>
13-
#include <linux/of_device.h>
13+
#include <linux/of.h>
1414
#include <linux/platform_device.h>
1515
#include <linux/reset.h>
1616
#include "ahci.h"

drivers/ata/ahci_dwc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
#include <linux/log2.h>
1616
#include <linux/mfd/syscon.h>
1717
#include <linux/module.h>
18-
#include <linux/of_device.h>
18+
#include <linux/of.h>
1919
#include <linux/platform_device.h>
2020
#include <linux/pm.h>
2121
#include <linux/regmap.h>

drivers/ata/ahci_mtk.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include <linux/libata.h>
1212
#include <linux/mfd/syscon.h>
1313
#include <linux/module.h>
14+
#include <linux/of.h>
1415
#include <linux/platform_device.h>
1516
#include <linux/pm.h>
1617
#include <linux/regmap.h>

0 commit comments

Comments
 (0)