Skip to content

Commit 4c3ff31

Browse files
committed
spi: axi-spi-engine improvements
Merge series from David Lechner <dlechner@baylibre.com>: We are working towards adding support for the offload feature[1] of the AXI SPI Engine IP core. Before we can do that, we want to make some general fixes and improvements to the driver. In order to avoid a giant series with 35+ patches, we are splitting this up into a few smaller series. This first series mostly doing some housekeeping: * Convert device tree bindings to yaml. * Add a MAINTAINERS entry. * Clean up probe and remove using devm. * Separate message state from driver state. * Add support for cs_off and variable word size. Once this series is applied, we will follow up with a second series of general improvements, and then finally a 3rd series that implements the offload support. The offload support will also involve the IIO subsystem (a new IIO driver will depend on the new SPI offload feature), so I'm mentioning this now in case we want to do anything ahead of time to prepare for that (e.g. putting all of these changes on a separate branch). [1]: https://wiki.analog.com/resources/fpga/peripherals/spi_engine/offload
2 parents d3bb2cb + d861b41 commit 4c3ff31

253 files changed

Lines changed: 4420 additions & 3531 deletions

File tree

Some content is hidden

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

Documentation/arch/x86/boot.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ Protocol 2.14 BURNT BY INCORRECT COMMIT
7777
Protocol 2.15 (Kernel 5.5) Added the kernel_info and kernel_info.setup_type_max.
7878
============= ============================================================
7979

80-
.. note::
80+
.. note::
8181
The protocol version number should be changed only if the setup header
8282
is changed. There is no need to update the version number if boot_params
8383
or kernel_info are changed. Additionally, it is recommended to use

Documentation/devicetree/bindings/net/ethernet-controller.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -275,12 +275,12 @@ allOf:
275275
properties:
276276
rx-internal-delay-ps:
277277
description:
278-
RGMII Receive Clock Delay defined in pico seconds.This is used for
278+
RGMII Receive Clock Delay defined in pico seconds. This is used for
279279
controllers that have configurable RX internal delays. If this
280280
property is present then the MAC applies the RX delay.
281281
tx-internal-delay-ps:
282282
description:
283-
RGMII Transmit Clock Delay defined in pico seconds.This is used for
283+
RGMII Transmit Clock Delay defined in pico seconds. This is used for
284284
controllers that have configurable TX internal delays. If this
285285
property is present then the MAC applies the TX delay.
286286

Documentation/devicetree/bindings/spi/adi,axi-spi-engine.txt

Lines changed: 0 additions & 31 deletions
This file was deleted.
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/spi/adi,axi-spi-engine.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Analog Devices AXI SPI Engine Controller
8+
9+
description: |
10+
The AXI SPI Engine controller is part of the SPI Engine framework[1] and
11+
allows memory mapped access to the SPI Engine control bus. This allows it
12+
to be used as a general purpose software driven SPI controller as well as
13+
some optional advanced acceleration and offloading capabilities.
14+
15+
[1] https://wiki.analog.com/resources/fpga/peripherals/spi_engine
16+
17+
maintainers:
18+
- Michael Hennerich <Michael.Hennerich@analog.com>
19+
- Nuno Sá <nuno.sa@analog.com>
20+
21+
allOf:
22+
- $ref: /schemas/spi/spi-controller.yaml#
23+
24+
properties:
25+
compatible:
26+
const: adi,axi-spi-engine-1.00.a
27+
28+
reg:
29+
maxItems: 1
30+
31+
interrupts:
32+
maxItems: 1
33+
34+
clocks:
35+
items:
36+
- description: The AXI interconnect clock.
37+
- description: The SPI controller clock.
38+
39+
clock-names:
40+
items:
41+
- const: s_axi_aclk
42+
- const: spi_clk
43+
44+
required:
45+
- compatible
46+
- reg
47+
- interrupts
48+
- clocks
49+
- clock-names
50+
51+
unevaluatedProperties: false
52+
53+
examples:
54+
- |
55+
spi@44a00000 {
56+
compatible = "adi,axi-spi-engine-1.00.a";
57+
reg = <0x44a00000 0x1000>;
58+
interrupts = <0 56 4>;
59+
clocks = <&clkc 15>, <&clkc 15>;
60+
clock-names = "s_axi_aclk", "spi_clk";
61+
62+
#address-cells = <1>;
63+
#size-cells = <0>;
64+
65+
/* SPI devices */
66+
};

Documentation/devicetree/bindings/ufs/qcom,ufs.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ properties:
3636
- qcom,sm8350-ufshc
3737
- qcom,sm8450-ufshc
3838
- qcom,sm8550-ufshc
39+
- qcom,sm8650-ufshc
3940
- const: qcom,ufshc
4041
- const: jedec,ufs-2.0
4142

@@ -122,6 +123,7 @@ allOf:
122123
- qcom,sm8350-ufshc
123124
- qcom,sm8450-ufshc
124125
- qcom,sm8550-ufshc
126+
- qcom,sm8650-ufshc
125127
then:
126128
properties:
127129
clocks:

MAINTAINERS

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3415,6 +3415,16 @@ W: https://ez.analog.com/linux-software-drivers
34153415
F: Documentation/devicetree/bindings/hwmon/adi,axi-fan-control.yaml
34163416
F: drivers/hwmon/axi-fan-control.c
34173417

3418+
AXI SPI ENGINE
3419+
M: Michael Hennerich <michael.hennerich@analog.com>
3420+
M: Nuno Sá <nuno.sa@analog.com>
3421+
R: David Lechner <dlechner@baylibre.com>
3422+
L: linux-spi@vger.kernel.org
3423+
S: Supported
3424+
W: https://ez.analog.com/linux-software-drivers
3425+
F: Documentation/devicetree/bindings/spi/adi,axi-spi-engine.yaml
3426+
F: drivers/spi/spi-axi-spi-engine.c
3427+
34183428
AXXIA I2C CONTROLLER
34193429
M: Krzysztof Adamski <krzysztof.adamski@nokia.com>
34203430
L: linux-i2c@vger.kernel.org
@@ -8950,7 +8960,6 @@ S: Maintained
89508960
F: scripts/get_maintainer.pl
89518961

89528962
GFS2 FILE SYSTEM
8953-
M: Bob Peterson <rpeterso@redhat.com>
89548963
M: Andreas Gruenbacher <agruenba@redhat.com>
89558964
L: gfs2@lists.linux.dev
89568965
S: Supported
@@ -21769,7 +21778,9 @@ F: Documentation/devicetree/bindings/counter/ti-eqep.yaml
2176921778
F: drivers/counter/ti-eqep.c
2177021779

2177121780
TI ETHERNET SWITCH DRIVER (CPSW)
21772-
R: Grygorii Strashko <grygorii.strashko@ti.com>
21781+
R: Siddharth Vadapalli <s-vadapalli@ti.com>
21782+
R: Ravi Gunasekaran <r-gunasekaran@ti.com>
21783+
R: Roger Quadros <rogerq@kernel.org>
2177321784
L: linux-omap@vger.kernel.org
2177421785
L: netdev@vger.kernel.org
2177521786
S: Maintained
@@ -21793,6 +21804,15 @@ F: Documentation/devicetree/bindings/media/i2c/ti,ds90*
2179321804
F: drivers/media/i2c/ds90*
2179421805
F: include/media/i2c/ds90*
2179521806

21807+
TI ICSSG ETHERNET DRIVER (ICSSG)
21808+
R: MD Danish Anwar <danishanwar@ti.com>
21809+
R: Roger Quadros <rogerq@kernel.org>
21810+
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
21811+
L: netdev@vger.kernel.org
21812+
S: Maintained
21813+
F: Documentation/devicetree/bindings/net/ti,icss*.yaml
21814+
F: drivers/net/ethernet/ti/icssg/*
21815+
2179621816
TI J721E CSI2RX DRIVER
2179721817
M: Jai Luthra <j-luthra@ti.com>
2179821818
L: linux-media@vger.kernel.org
@@ -23692,6 +23712,20 @@ F: arch/x86/kernel/dumpstack.c
2369223712
F: arch/x86/kernel/stacktrace.c
2369323713
F: arch/x86/kernel/unwind_*.c
2369423714

23715+
X86 TRUST DOMAIN EXTENSIONS (TDX)
23716+
M: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
23717+
R: Dave Hansen <dave.hansen@linux.intel.com>
23718+
L: x86@kernel.org
23719+
L: linux-coco@lists.linux.dev
23720+
S: Supported
23721+
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/tdx
23722+
F: arch/x86/boot/compressed/tdx*
23723+
F: arch/x86/coco/tdx/
23724+
F: arch/x86/include/asm/shared/tdx.h
23725+
F: arch/x86/include/asm/tdx.h
23726+
F: arch/x86/virt/vmx/tdx/
23727+
F: drivers/virt/coco/tdx-guest
23728+
2369523729
X86 VDSO
2369623730
M: Andy Lutomirski <luto@kernel.org>
2369723731
L: linux-kernel@vger.kernel.org
@@ -23872,8 +23906,7 @@ T: git git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git
2387223906
P: Documentation/filesystems/xfs-maintainer-entry-profile.rst
2387323907
F: Documentation/ABI/testing/sysfs-fs-xfs
2387423908
F: Documentation/admin-guide/xfs.rst
23875-
F: Documentation/filesystems/xfs-delayed-logging-design.rst
23876-
F: Documentation/filesystems/xfs-self-describing-metadata.rst
23909+
F: Documentation/filesystems/xfs-*
2387723910
F: fs/xfs/
2387823911
F: include/uapi/linux/dqblk_xfs.h
2387923912
F: include/uapi/linux/fsmap.h

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 6
33
PATCHLEVEL = 7
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc1
5+
EXTRAVERSION = -rc2
66
NAME = Hurr durr I'ma ninja sloth
77

88
# *DOCUMENTATION*

arch/parisc/Kconfig

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,11 +140,11 @@ config ARCH_MMAP_RND_COMPAT_BITS_MIN
140140
default 8
141141

142142
config ARCH_MMAP_RND_BITS_MAX
143-
default 24 if 64BIT
144-
default 17
143+
default 18 if 64BIT
144+
default 13
145145

146146
config ARCH_MMAP_RND_COMPAT_BITS_MAX
147-
default 17
147+
default 13
148148

149149
# unless you want to implement ACPI on PA-RISC ... ;-)
150150
config PM

arch/parisc/include/asm/elf.h

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -349,15 +349,7 @@ struct pt_regs; /* forward declaration... */
349349

350350
#define ELF_HWCAP 0
351351

352-
/* Masks for stack and mmap randomization */
353-
#define BRK_RND_MASK (is_32bit_task() ? 0x07ffUL : 0x3ffffUL)
354-
#define MMAP_RND_MASK (is_32bit_task() ? 0x1fffUL : 0x3ffffUL)
355-
#define STACK_RND_MASK MMAP_RND_MASK
356-
357-
struct mm_struct;
358-
extern unsigned long arch_randomize_brk(struct mm_struct *);
359-
#define arch_randomize_brk arch_randomize_brk
360-
352+
#define STACK_RND_MASK 0x7ff /* 8MB of VA */
361353

362354
#define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1
363355
struct linux_binprm;

arch/parisc/include/asm/processor.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@
4747

4848
#ifndef __ASSEMBLY__
4949

50+
struct rlimit;
51+
unsigned long mmap_upper_limit(struct rlimit *rlim_stack);
5052
unsigned long calc_max_stack_size(unsigned long stack_max);
5153

5254
/*

0 commit comments

Comments
 (0)