Skip to content
This repository was archived by the owner on Nov 8, 2023. It is now read-only.

Commit 3aac9f4

Browse files
committed
soi: Don't call DMA sync API when not needed
Merge series from Andy Shevchenko <andriy.shevchenko@linux.intel.com>: A couple of fixes to avoid calling DMA sync API when it's not needed. This doesn't stop from discussing if IOMMU code is doing the right thing, i.e. dereferences SG list when orig_nents == 0, but this is a separate story.
2 parents a827ad9 + da56009 commit 3aac9f4

Some content is hidden

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

63 files changed

+2241
-933
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/airoha,en7581-snand.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: SPI-NAND flash controller for Airoha ARM SoCs
8+
9+
maintainers:
10+
- Lorenzo Bianconi <lorenzo@kernel.org>
11+
12+
allOf:
13+
- $ref: spi-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
const: airoha,en7581-snand
18+
19+
reg:
20+
items:
21+
- description: spi base address
22+
- description: nfi2spi base address
23+
24+
clocks:
25+
maxItems: 1
26+
27+
clock-names:
28+
items:
29+
- const: spi
30+
31+
required:
32+
- compatible
33+
- reg
34+
- clocks
35+
- clock-names
36+
37+
unevaluatedProperties: false
38+
39+
examples:
40+
- |
41+
#include <dt-bindings/clock/en7523-clk.h>
42+
43+
soc {
44+
#address-cells = <2>;
45+
#size-cells = <2>;
46+
47+
spi@1fa10000 {
48+
compatible = "airoha,en7581-snand";
49+
reg = <0x0 0x1fa10000 0x0 0x140>,
50+
<0x0 0x1fa11000 0x0 0x160>;
51+
52+
clocks = <&scuclk EN7523_CLK_SPI>;
53+
clock-names = "spi";
54+
55+
#address-cells = <1>;
56+
#size-cells = <0>;
57+
58+
flash@0 {
59+
compatible = "spi-nand";
60+
reg = <0>;
61+
spi-tx-bus-width = <1>;
62+
spi-rx-bus-width = <2>;
63+
};
64+
};
65+
};

Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,13 @@ properties:
6868
- items:
6969
- enum:
7070
- amd,pensando-elba-qspi
71-
- ti,k2g-qspi
72-
- ti,am654-ospi
7371
- intel,lgm-qspi
74-
- xlnx,versal-ospi-1.0
7572
- intel,socfpga-qspi
73+
- mobileye,eyeq5-ospi
7674
- starfive,jh7110-qspi
75+
- ti,am654-ospi
76+
- ti,k2g-qspi
77+
- xlnx,versal-ospi-1.0
7778
- const: cdns,qspi-nor
7879
- const: cdns,qspi-nor
7980

@@ -145,7 +146,6 @@ required:
145146
- reg
146147
- interrupts
147148
- clocks
148-
- cdns,fifo-depth
149149
- cdns,fifo-width
150150
- cdns,trigger-address
151151
- '#address-cells'
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/marvell,armada-3700-spi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Marvell Armada 3700 SPI Controller
8+
9+
description:
10+
The SPI controller on Marvell Armada 3700 SoC.
11+
12+
maintainers:
13+
- Kousik Sanagavarapu <five231003@gmail.com>
14+
15+
allOf:
16+
- $ref: spi-controller.yaml#
17+
18+
properties:
19+
compatible:
20+
const: marvell,armada-3700-spi
21+
22+
reg:
23+
maxItems: 1
24+
25+
interrupts:
26+
maxItems: 1
27+
28+
clocks:
29+
maxItems: 1
30+
31+
num-cs:
32+
maxItems: 1
33+
34+
required:
35+
- compatible
36+
- reg
37+
- interrupts
38+
- clocks
39+
40+
unevaluatedProperties: false
41+
42+
examples:
43+
- |
44+
#include <dt-bindings/interrupt-controller/arm-gic.h>
45+
46+
spi0: spi@10600 {
47+
compatible = "marvell,armada-3700-spi";
48+
#address-cells = <1>;
49+
#size-cells = <0>;
50+
reg = <0x10600 0x5d>;
51+
clocks = <&nb_perih_clk 7>;
52+
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
53+
num-cs = <4>;
54+
};
55+
...

Documentation/devicetree/bindings/spi/renesas,sh-msiof.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ properties:
5454
- renesas,msiof-r8a779a0 # R-Car V3U
5555
- renesas,msiof-r8a779f0 # R-Car S4-8
5656
- renesas,msiof-r8a779g0 # R-Car V4H
57+
- renesas,msiof-r8a779h0 # R-Car V4M
5758
- const: renesas,rcar-gen4-msiof # generic R-Car Gen4
5859
# compatible device
5960
- items:

Documentation/devicetree/bindings/spi/spi-armada-3700.txt

Lines changed: 0 additions & 25 deletions
This file was deleted.
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/ti,qspi.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: TI QSPI controller
8+
9+
maintainers:
10+
- Kousik Sanagavarapu <five231003@gmail.com>
11+
12+
allOf:
13+
- $ref: spi-controller.yaml#
14+
15+
properties:
16+
compatible:
17+
enum:
18+
- ti,am4372-qspi
19+
- ti,dra7xxx-qspi
20+
21+
reg:
22+
items:
23+
- description: base registers
24+
- description: mapped memory
25+
26+
reg-names:
27+
items:
28+
- const: qspi_base
29+
- const: qspi_mmap
30+
31+
clocks:
32+
maxItems: 1
33+
34+
clock-names:
35+
items:
36+
- const: fck
37+
38+
interrupts:
39+
maxItems: 1
40+
41+
num-cs:
42+
minimum: 1
43+
maximum: 4
44+
default: 1
45+
46+
ti,hwmods:
47+
description:
48+
Name of the hwmod associated to the QSPI. This is for legacy
49+
platforms only.
50+
$ref: /schemas/types.yaml#/definitions/string
51+
deprecated: true
52+
53+
syscon-chipselects:
54+
description:
55+
Handle to system control region containing QSPI chipselect register
56+
and offset of that register.
57+
$ref: /schemas/types.yaml#/definitions/phandle-array
58+
items:
59+
- items:
60+
- description: phandle to system control register
61+
- description: register offset
62+
63+
spi-max-frequency:
64+
description: Maximum SPI clocking speed of the controller in Hz.
65+
$ref: /schemas/types.yaml#/definitions/uint32
66+
67+
required:
68+
- compatible
69+
- reg
70+
- reg-names
71+
- clocks
72+
- clock-names
73+
- interrupts
74+
75+
unevaluatedProperties: false
76+
77+
examples:
78+
- |
79+
#include <dt-bindings/clock/dra7.h>
80+
#include <dt-bindings/interrupt-controller/arm-gic.h>
81+
82+
spi@4b300000 {
83+
compatible = "ti,dra7xxx-qspi";
84+
reg = <0x4b300000 0x100>,
85+
<0x5c000000 0x4000000>;
86+
reg-names = "qspi_base", "qspi_mmap";
87+
syscon-chipselects = <&scm_conf 0x558>;
88+
#address-cells = <1>;
89+
#size-cells = <0>;
90+
clocks = <&l4per2_clkctrl DRA7_L4PER2_QSPI_CLKCTRL 25>;
91+
clock-names = "fck";
92+
num-cs = <4>;
93+
spi-max-frequency = <48000000>;
94+
interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>;
95+
};
96+
...

Documentation/devicetree/bindings/spi/ti_qspi.txt

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

Documentation/spi/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ Serial Peripheral Interface (SPI)
1010
spi-summary
1111
spidev
1212
butterfly
13-
pxa2xx
1413
spi-lm70llp
1514
spi-sc18is602
1615

0 commit comments

Comments
 (0)