Skip to content

Commit 1760007

Browse files
committed
Merge tag 'ata-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux
Pull ata updates from Damien Le Moal: - Convert the qcom AHCI controller DT bindings to DT schema (from Rayyan) - Cleanup of libata core and drivers code handling controller and device quirks to rename "blacklist" to the more neutral "quirk" and to replace the rarely used "horkage" term with the more common "quirk" naming (me) - Add libata-core message to print the quirks applied to a controller or device (me) - Remove the not-so-useful function ata_noop_qc_prep() from libata core (me) - ahci_imx driver cleanup, improvements and DT bindings compatible strings update (Richard and Dan) - libahci_platform improvements (Zhang) - Remove obsolete functions declarations from libata header files (from Gaosheng) - Improve teh ahci_brcm driver using managed device resources funetions (Zhang) - Introduce new helper function to improve libata EH code readability (Niklas) - Enable module autoloading for the pata_ftide010, pata_ixp4xx and sata_gemini drivers (Liao) - Move SATA related functions and data declaraions from libata-core to libata-sata (me) - Rename the function handling the sense data for successful NCQ commands log to better reflect that function actions (me) - Reduce libata memory usage by moving port resources to struct ata_device and by optimizing the management of resources for CDL capable devices (me) - Improve libata-eh handling of failed ATA passthrough commands (Niklas) * tag 'ata-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux: (39 commits) ata: libata: Clear DID_TIME_OUT for ATA PT commands with sense data ata: libata: Fix W=1 compilation warning ata: libata: Improve CDL resource management ata: libata: Introduce ata_dev_free_resources ata: libata: Move sector_buf from struct ata_port to struct ata_device ata: libata: Rename ata_eh_read_sense_success_ncq_log() ata: libata: Move sata_std_hardreset() definition to libata-sata.c ata: libata: Move sata_down_spd_limit() to libata-sata.c ata: libata: Improve __ata_qc_complete() ata: libata-scsi: Improve ata_scsi_handle_link_detach() ata: libata: Cleanup libata-transport ata: sata_gemini: Enable module autoloading ata: pata_ixp4xx: Enable module autoloading ata: pata_ftide010: Enable module autoloading ata: libata: Add helper ata_eh_decide_disposition() ata: ahci_brcm: Use devm_platform_ioremap_resource_byname() helper function ata: libata: Remove obsolete function declarations ata: ahci_imx: Fix error code in probe() ata: libahci_platform: Simplify code with for_each_child_of_node_scoped() ata: ahci_imx: Correct the email address ...
2 parents a65b3c3 + e5dd410 commit 1760007

32 files changed

+1128
-1118
lines changed

Documentation/devicetree/bindings/ata/ahci-platform.yaml

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ select:
3030
- marvell,armada-3700-ahci
3131
- marvell,armada-8k-ahci
3232
- marvell,berlin2q-ahci
33+
- qcom,apq8064-ahci
34+
- qcom,ipq806x-ahci
3335
- socionext,uniphier-pro4-ahci
3436
- socionext,uniphier-pxs2-ahci
3537
- socionext,uniphier-pxs3-ahci
@@ -45,6 +47,8 @@ properties:
4547
- marvell,armada-8k-ahci
4648
- marvell,berlin2-ahci
4749
- marvell,berlin2q-ahci
50+
- qcom,apq8064-ahci
51+
- qcom,ipq806x-ahci
4852
- socionext,uniphier-pro4-ahci
4953
- socionext,uniphier-pxs2-ahci
5054
- socionext,uniphier-pxs3-ahci
@@ -64,11 +68,11 @@ properties:
6468

6569
clocks:
6670
minItems: 1
67-
maxItems: 3
71+
maxItems: 5
6872

6973
clock-names:
7074
minItems: 1
71-
maxItems: 3
75+
maxItems: 5
7276

7377
interrupts:
7478
maxItems: 1
@@ -97,6 +101,31 @@ required:
97101

98102
allOf:
99103
- $ref: ahci-common.yaml#
104+
105+
- if:
106+
properties:
107+
compatible:
108+
contains:
109+
enum:
110+
- qcom,apq8064-ahci
111+
- qcom,ipq806x-ahci
112+
then:
113+
properties:
114+
clocks:
115+
minItems: 5
116+
clock-names:
117+
items:
118+
- const: slave_iface
119+
- const: iface
120+
- const: core
121+
- const: rxoob
122+
- const: pmalive
123+
required:
124+
- phys
125+
- phy-names
126+
- clocks
127+
- clock-names
128+
100129
- if:
101130
properties:
102131
compatible:

Documentation/devicetree/bindings/ata/imx-sata.yaml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ properties:
1919
- fsl,imx53-ahci
2020
- fsl,imx6q-ahci
2121
- fsl,imx6qp-ahci
22+
- fsl,imx8qm-ahci
2223

2324
reg:
2425
maxItems: 1
@@ -27,12 +28,14 @@ properties:
2728
maxItems: 1
2829

2930
clocks:
31+
minItems: 2
3032
items:
3133
- description: sata clock
3234
- description: sata reference clock
3335
- description: ahb clock
3436

3537
clock-names:
38+
minItems: 2
3639
items:
3740
- const: sata
3841
- const: sata_ref
@@ -58,13 +61,57 @@ properties:
5861
$ref: /schemas/types.yaml#/definitions/flag
5962
description: if present, disable spread-spectrum clocking on the SATA link.
6063

64+
phys:
65+
items:
66+
- description: phandle to SATA PHY.
67+
Since "REXT" pin is only present for first lane of i.MX8QM PHY, it's
68+
calibration result will be stored, passed through second lane, and
69+
shared with all three lanes PHY. The first two lanes PHY are used as
70+
calibration PHYs, although only the third lane PHY is used by SATA.
71+
- description: phandle to the first lane PHY of i.MX8QM.
72+
- description: phandle to the second lane PHY of i.MX8QM.
73+
74+
phy-names:
75+
items:
76+
- const: sata-phy
77+
- const: cali-phy0
78+
- const: cali-phy1
79+
80+
power-domains:
81+
maxItems: 1
82+
6183
required:
6284
- compatible
6385
- reg
6486
- interrupts
6587
- clocks
6688
- clock-names
6789

90+
allOf:
91+
- if:
92+
properties:
93+
compatible:
94+
contains:
95+
enum:
96+
- fsl,imx53-ahci
97+
- fsl,imx6q-ahci
98+
- fsl,imx6qp-ahci
99+
then:
100+
properties:
101+
clock-names:
102+
minItems: 3
103+
104+
- if:
105+
properties:
106+
compatible:
107+
contains:
108+
enum:
109+
- fsl,imx8qm-ahci
110+
then:
111+
properties:
112+
clock-names:
113+
minItems: 2
114+
68115
additionalProperties: false
69116

70117
examples:

Documentation/devicetree/bindings/ata/qcom-sata.txt

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

drivers/ata/ahci.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1370,7 +1370,7 @@ static bool ahci_broken_suspend(struct pci_dev *pdev)
13701370
* V1.03 is known to be broken. V3.04 is known to
13711371
* work. Between, there are V1.06, V2.06 and V3.03
13721372
* that we don't have much idea about. For now,
1373-
* blacklist anything older than V3.04.
1373+
* assume that anything older than V3.04 is broken.
13741374
*
13751375
* http://bugzilla.kernel.org/show_bug.cgi?id=15104
13761376
*/

drivers/ata/ahci_brcm.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,6 @@ static int brcm_ahci_probe(struct platform_device *pdev)
437437
struct device *dev = &pdev->dev;
438438
struct brcm_ahci_priv *priv;
439439
struct ahci_host_priv *hpriv;
440-
struct resource *res;
441440
int ret;
442441

443442
priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
@@ -451,8 +450,7 @@ static int brcm_ahci_probe(struct platform_device *pdev)
451450
priv->version = (unsigned long)of_id->data;
452451
priv->dev = dev;
453452

454-
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "top-ctrl");
455-
priv->top_ctrl = devm_ioremap_resource(dev, res);
453+
priv->top_ctrl = devm_platform_ioremap_resource_byname(pdev, "top-ctrl");
456454
if (IS_ERR(priv->top_ctrl))
457455
return PTR_ERR(priv->top_ctrl);
458456

0 commit comments

Comments
 (0)