Skip to content

Commit 16460bf

Browse files
committed
Merge tag 'ata-6.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux
Pull ata updates from Niklas Cassel: - Add DT binding for the Eswin EIC7700 SoC SATA Controller (Yulin Lu) - Allow 'iommus' property in the Synopsys DWC AHCI SATA controller DT binding (Rob Herring) - Replace deprecated strcpy with strscpy in the pata_it821x driver (Thorsten Blum) - Add Iomega Clik! PCMCIA ATA/ATAPI Adapter PCMCIA ID to the pata_pcmcia driver (René Rebe) - Add ATA_QUIRK_NOLPM quirk for two Silicon Motion SSDs with broken LPM support (me) - Add flag WQ_PERCPU to the workqueue in the libata-sff helper library to explicitly request the use of the per-CPU behavior (Marco Crivellari) * tag 'ata-6.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux: ata: libata-core: Disable LPM on Silicon Motion MD619{H,G}XCLDE3TC ata: pata_pcmcia: Add Iomega Clik! PCMCIA ATA/ATAPI Adapter ata: libata-sff: add WQ_PERCPU to alloc_workqueue users dt-bindings: ata: snps,dwc-ahci: Allow 'iommus' property ata: pata_it821x: Replace deprecated strcpy with strscpy in it821x_display_disk dt-bindings: ata: eswin: Document for EIC7700 SoC ahci
2 parents bc69ed9 + 6ce0dd9 commit 16460bf

6 files changed

Lines changed: 93 additions & 3 deletions

File tree

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/ata/eswin,eic7700-ahci.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Eswin EIC7700 SoC SATA Controller
8+
9+
maintainers:
10+
- Yulin Lu <luyulin@eswincomputing.com>
11+
- Huan He <hehuan1@eswincomputing.com>
12+
13+
description:
14+
AHCI SATA controller embedded into the EIC7700 SoC is based on the DWC AHCI
15+
SATA v5.00a IP core.
16+
17+
select:
18+
properties:
19+
compatible:
20+
const: eswin,eic7700-ahci
21+
required:
22+
- compatible
23+
24+
allOf:
25+
- $ref: snps,dwc-ahci-common.yaml#
26+
27+
properties:
28+
compatible:
29+
items:
30+
- const: eswin,eic7700-ahci
31+
- const: snps,dwc-ahci
32+
33+
clocks:
34+
minItems: 2
35+
maxItems: 2
36+
37+
clock-names:
38+
items:
39+
- const: pclk
40+
- const: aclk
41+
42+
resets:
43+
maxItems: 1
44+
45+
reset-names:
46+
const: arst
47+
48+
ports-implemented:
49+
const: 1
50+
51+
required:
52+
- compatible
53+
- reg
54+
- interrupts
55+
- clocks
56+
- clock-names
57+
- resets
58+
- reset-names
59+
- phys
60+
- phy-names
61+
- ports-implemented
62+
63+
unevaluatedProperties: false
64+
65+
examples:
66+
- |
67+
sata@50420000 {
68+
compatible = "eswin,eic7700-ahci", "snps,dwc-ahci";
69+
reg = <0x50420000 0x10000>;
70+
interrupt-parent = <&plic>;
71+
interrupts = <58>;
72+
clocks = <&clock 171>, <&clock 186>;
73+
clock-names = "pclk", "aclk";
74+
phys = <&sata_phy>;
75+
phy-names = "sata-phy";
76+
ports-implemented = <0x1>;
77+
resets = <&reset 96>;
78+
reset-names = "arst";
79+
};

Documentation/devicetree/bindings/ata/snps,dwc-ahci.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ properties:
3333
- description: SPEAr1340 AHCI SATA device
3434
const: snps,spear-ahci
3535

36+
iommus:
37+
minItems: 1
38+
maxItems: 3
39+
3640
patternProperties:
3741
"^sata-port@[0-9a-e]$":
3842
$ref: /schemas/ata/snps,dwc-ahci-common.yaml#/$defs/dwc-ahci-port

drivers/ata/libata-core.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4216,6 +4216,10 @@ static const struct ata_dev_quirks_entry __ata_dev_quirks[] = {
42164216
/* Apacer models with LPM issues */
42174217
{ "Apacer AS340*", NULL, ATA_QUIRK_NOLPM },
42184218

4219+
/* Silicon Motion models with LPM issues */
4220+
{ "MD619HXCLDE3TC", "TCVAID", ATA_QUIRK_NOLPM },
4221+
{ "MD619GXCLDE3TC", "TCV35D", ATA_QUIRK_NOLPM },
4222+
42194223
/* These specific Samsung models/firmware-revs do not handle LPM well */
42204224
{ "SAMSUNG MZMPC128HBFU-000MV", "CXM14M1Q", ATA_QUIRK_NOLPM },
42214225
{ "SAMSUNG SSD PM830 mSATA *", "CXM13D1Q", ATA_QUIRK_NOLPM },

drivers/ata/libata-sff.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3191,7 +3191,8 @@ void ata_sff_port_init(struct ata_port *ap)
31913191

31923192
int __init ata_sff_init(void)
31933193
{
3194-
ata_sff_wq = alloc_workqueue("ata_sff", WQ_MEM_RECLAIM, WQ_MAX_ACTIVE);
3194+
ata_sff_wq = alloc_workqueue("ata_sff", WQ_MEM_RECLAIM | WQ_PERCPU,
3195+
WQ_MAX_ACTIVE);
31953196
if (!ata_sff_wq)
31963197
return -ENOMEM;
31973198

drivers/ata/pata_it821x.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
#include <linux/blkdev.h>
7676
#include <linux/delay.h>
7777
#include <linux/slab.h>
78+
#include <linux/string.h>
7879
#include <scsi/scsi_host.h>
7980
#include <linux/libata.h>
8081

@@ -632,9 +633,9 @@ static void it821x_display_disk(struct ata_port *ap, int n, u8 *buf)
632633
cbl = "";
633634

634635
if (mode)
635-
snprintf(mbuf, 8, "%5s%d", mtype, mode - 1);
636+
snprintf(mbuf, sizeof(mbuf), "%5s%d", mtype, mode - 1);
636637
else
637-
strcpy(mbuf, "PIO");
638+
strscpy(mbuf, "PIO");
638639
if (buf[52] == 4)
639640
ata_port_info(ap, "%d: %-6s %-8s %s %s\n",
640641
n, mbuf, types[buf[52]], id, cbl);

drivers/ata/pata_pcmcia.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,7 @@ static const struct pcmcia_device_id pcmcia_devices[] = {
344344
PCMCIA_DEVICE_PROD_ID2("NinjaATA-", 0xebe0bd79),
345345
PCMCIA_DEVICE_PROD_ID12("PCMCIA", "CD-ROM", 0x281f1c5d, 0x66536591),
346346
PCMCIA_DEVICE_PROD_ID12("PCMCIA", "PnPIDE", 0x281f1c5d, 0x0c694728),
347+
PCMCIA_DEVICE_PROD_ID2("PCMCIA ATA/ATAPI Adapter", 0x888d7b73),
347348
PCMCIA_DEVICE_PROD_ID12("SHUTTLE TECHNOLOGY LTD.", "PCCARD-IDE/ATAPI Adapter", 0x4a3f0ba0, 0x322560e1),
348349
PCMCIA_DEVICE_PROD_ID12("SEAGATE", "ST1", 0x87c1b330, 0xe1f30883),
349350
PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "04/05/06", 0x43d74cb4, 0x6a22777d),

0 commit comments

Comments
 (0)