Skip to content

Commit 39714ef

Browse files
committed
Merge tag 'ata-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata
Pull ATA updates from Damien Le Moal: - Modify the AHCI driver to print the link power management policy used on scan, to help with debugging issues (Niklas) - Add support for the ASM2116 series adapters to the AHCI driver (Szuying) - Prepare libata for the coming gcc and Clang __counted_by attribute (Kees) - Following the recent estensive fixing of libata suspend/resume handling, several patches further cleanup and improve disk power state management (me) - Reduce the verbosity of some error messages for non-fatal temporary errors, e.g. slow response to device reset when scanning a port, and warning messages that are in fact normal, e.g. disabling a device on suspend or when removing it (me) - Cleanup DMA helper functions (me) - Fix sata_mv drive handling of potential errors durring probe (Ma) - Cleanup the xgene and imx drivers using the functions of_device_get_match_data() and device_get_match_data() (Rob) - Improve the tegra driver device tree (Rob) * tag 'ata-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata: (22 commits) dt-bindings: ata: tegra: Disallow undefined properties ata: libata-core: Improve ata_dev_power_set_active() ata: libata-eh: Spinup disk on resume after revalidation ata: imx: Use device_get_match_data() ata: xgene: Use of_device_get_match_data() ata: sata_mv: aspeed: fix value check in mv_platform_probe() ata: ahci: Add Intel Alder Lake-P AHCI controller to low power chipsets list ata: libata: Cleanup inline DMA helper functions ata: libata-eh: Reduce "disable device" message verbosity ata: libata-eh: Improve reset error messages ata: libata-sata: Improve ata_sas_slave_configure() ata: libata-core: Do not resume runtime suspended ports ata: libata-core: Do not poweroff runtime suspended ports ata: libata-core: Remove ata_port_resume_async() ata: libata-core: Remove ata_port_suspend_async() ata: libata-core: Detach a port devices on shutdown ata: libata-core: Synchronize ata_port_detach() with hotplug ata: libata-scsi: Cleanup ata_scsi_start_stop_xlat() scsi: Remove scsi device no_start_on_resume flag ata: libata: Annotate struct ata_cpr_log with __counted_by ...
2 parents 90d624a + 0e533cb commit 39714ef

File tree

16 files changed

+201
-185
lines changed

16 files changed

+201
-185
lines changed

Documentation/devicetree/bindings/ata/nvidia,tegra-ahci.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ allOf:
151151
- interconnects
152152
- power-domains
153153

154-
additionalProperties: true
154+
additionalProperties: false
155155

156156
examples:
157157
- |

drivers/ata/ahci.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,7 @@ static const struct pci_device_id ahci_pci_tbl[] = {
423423
{ PCI_VDEVICE(INTEL, 0x02d7), board_ahci_low_power }, /* Comet Lake PCH RAID */
424424
/* Elkhart Lake IDs 0x4b60 & 0x4b62 https://sata-io.org/product/8803 not tested yet */
425425
{ PCI_VDEVICE(INTEL, 0x4b63), board_ahci_low_power }, /* Elkhart Lake AHCI */
426+
{ PCI_VDEVICE(INTEL, 0x7ae2), board_ahci_low_power }, /* Alder Lake-P AHCI */
426427

427428
/* JMicron 360/1/3/5/6, match class to avoid IDE function */
428429
{ PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
@@ -604,6 +605,11 @@ static const struct pci_device_id ahci_pci_tbl[] = {
604605
{ PCI_VDEVICE(ASMEDIA, 0x0621), board_ahci }, /* ASM1061R */
605606
{ PCI_VDEVICE(ASMEDIA, 0x0622), board_ahci }, /* ASM1062R */
606607
{ PCI_VDEVICE(ASMEDIA, 0x0624), board_ahci }, /* ASM1062+JMB575 */
608+
{ PCI_VDEVICE(ASMEDIA, 0x1062), board_ahci }, /* ASM1062A */
609+
{ PCI_VDEVICE(ASMEDIA, 0x1064), board_ahci }, /* ASM1064 */
610+
{ PCI_VDEVICE(ASMEDIA, 0x1164), board_ahci }, /* ASM1164 */
611+
{ PCI_VDEVICE(ASMEDIA, 0x1165), board_ahci }, /* ASM1165 */
612+
{ PCI_VDEVICE(ASMEDIA, 0x1166), board_ahci }, /* ASM1166 */
607613

608614
/*
609615
* Samsung SSDs found on some macbooks. NCQ times out if MSI is

drivers/ata/ahci_imx.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@
99
#include <linux/kernel.h>
1010
#include <linux/module.h>
1111
#include <linux/platform_device.h>
12+
#include <linux/property.h>
1213
#include <linux/regmap.h>
1314
#include <linux/ahci_platform.h>
1415
#include <linux/gpio/consumer.h>
15-
#include <linux/of_device.h>
16+
#include <linux/of.h>
1617
#include <linux/mfd/syscon.h>
1718
#include <linux/mfd/syscon/imx6q-iomuxc-gpr.h>
1819
#include <linux/libata.h>
@@ -1050,24 +1051,19 @@ static int imx8_sata_probe(struct device *dev, struct imx_ahci_priv *imxpriv)
10501051
static int imx_ahci_probe(struct platform_device *pdev)
10511052
{
10521053
struct device *dev = &pdev->dev;
1053-
const struct of_device_id *of_id;
10541054
struct ahci_host_priv *hpriv;
10551055
struct imx_ahci_priv *imxpriv;
10561056
unsigned int reg_val;
10571057
int ret;
10581058

1059-
of_id = of_match_device(imx_ahci_of_match, dev);
1060-
if (!of_id)
1061-
return -EINVAL;
1062-
10631059
imxpriv = devm_kzalloc(dev, sizeof(*imxpriv), GFP_KERNEL);
10641060
if (!imxpriv)
10651061
return -ENOMEM;
10661062

10671063
imxpriv->ahci_pdev = pdev;
10681064
imxpriv->no_device = false;
10691065
imxpriv->first_time = true;
1070-
imxpriv->type = (unsigned long)of_id->data;
1066+
imxpriv->type = (enum ahci_imx_type)device_get_match_data(dev);
10711067

10721068
imxpriv->sata_clk = devm_clk_get(dev, "sata");
10731069
if (IS_ERR(imxpriv->sata_clk)) {

drivers/ata/ahci_xgene.c

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@
1313
#include <linux/module.h>
1414
#include <linux/platform_device.h>
1515
#include <linux/ahci_platform.h>
16-
#include <linux/of_address.h>
17-
#include <linux/of_device.h>
18-
#include <linux/of_irq.h>
16+
#include <linux/of.h>
1917
#include <linux/phy/phy.h>
2018
#include "ahci.h"
2119

@@ -735,7 +733,6 @@ static int xgene_ahci_probe(struct platform_device *pdev)
735733
struct ahci_host_priv *hpriv;
736734
struct xgene_ahci_context *ctx;
737735
struct resource *res;
738-
const struct of_device_id *of_devid;
739736
enum xgene_ahci_version version = XGENE_AHCI_V1;
740737
const struct ata_port_info *ppi[] = { &xgene_ahci_v1_port_info,
741738
&xgene_ahci_v2_port_info };
@@ -778,10 +775,8 @@ static int xgene_ahci_probe(struct platform_device *pdev)
778775
ctx->csr_mux = csr;
779776
}
780777

781-
of_devid = of_match_device(xgene_ahci_of_match, dev);
782-
if (of_devid) {
783-
if (of_devid->data)
784-
version = (unsigned long) of_devid->data;
778+
if (dev->of_node) {
779+
version = (enum xgene_ahci_version)of_device_get_match_data(dev);
785780
}
786781
#ifdef CONFIG_ACPI
787782
else {

drivers/ata/libahci.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2730,7 +2730,7 @@ static int ahci_host_activate_multi_irqs(struct ata_host *host,
27302730

27312731
if (rc)
27322732
return rc;
2733-
ata_port_desc(host->ports[i], "irq %d", irq);
2733+
ata_port_desc_misc(host->ports[i], irq);
27342734
}
27352735

27362736
return ata_host_register(host, sht);

0 commit comments

Comments
 (0)