Commit graph

1,169,205 commits

Author SHA1 Message Date
AngeloGioacchino Del Regno
3770631568 arm64: dts: mt2712-evb: Fix vproc fixed regulators unit names
Update the names to regulator-vproc-buck{0,1} to fix unit_addres_vs_reg
warnings for those.

Fixes: f75dd8bdd3 ("arm64: dts: mediatek: add mt2712 cpufreq related device nodes")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20221013152212.416661-6-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-11-21 13:02:51 +01:00
AngeloGioacchino Del Regno
1d4516f53a arm64: dts: mt2712e: Fix unit address for pinctrl node
The unit address for the pinctrl node is (0x)1000b000 and not
(0x)10005000, which is the syscfg_pctl_a address instead.

This fixes the following warning:
arch/arm64/boot/dts/mediatek/mt2712e.dtsi:264.40-267.4: Warning
(unique_unit_address): /syscfg_pctl_a@10005000: duplicate
unit-address (also used in node /pinctrl@10005000)

Fixes: f0c64340b7 ("arm64: dts: mt2712: add pintcrl device node.")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20221013152212.416661-5-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-11-21 13:02:51 +01:00
AngeloGioacchino Del Regno
e4495a0a8b arm64: dts: mt2712e: Fix unit_address_vs_reg warning for oscillators
Rename the fixed-clock oscillators to remove the unit address.

This solves unit_address_vs_reg warnings.

Fixes: 5d4839709c ("arm64: dts: mt2712: Add clock controller device nodes")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20221013152212.416661-4-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-11-21 13:02:50 +01:00
AngeloGioacchino Del Regno
4d759c524c arm64: dts: mt6779: Fix devicetree build warnings
Rename fixed-clock oscillators to oscillator-26m and oscillator-32k
and remove the unit address to fix the unit_address_vs_reg warning;
fix the unit address for interrupt and intpol controllers by
removing a leading zero in their unit address.

This commit fixes the following warnings:

(unit_address_vs_reg): /oscillator@0: node has a unit name, but
no reg or ranges property
(unit_address_vs_reg): /oscillator@1: node has a unit name, but
no reg or ranges property
(simple_bus_reg): /soc/interrupt-controller@0c000000: simple-bus
unit address format error, expected "c000000"
(simple_bus_reg): /soc/intpol-controller@0c53a650: simple-bus
unit address format error, expected "c53a650"

Fixes: 4c7a626077 ("arm64: dts: add dts nodes for MT6779")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20221013152212.416661-3-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-11-21 13:02:50 +01:00
AngeloGioacchino Del Regno
7898d047b1 arm64: dts: mt7896a: Fix unit_address_vs_reg warning for oscillator
Rename the oscillator fixed-clock to oscillator-40m and remove
the unit address to fix warnings.

arch/arm64/boot/dts/mediatek/mt7986a.dtsi:17.23-22.4: Warning
(unit_address_vs_reg): /oscillator@0: node has a unit name,
but no reg or ranges property

Fixes: 1f9986b258 ("arm64: dts: mediatek: add clock support for mt7986a")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20221013152212.416661-2-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-11-21 13:02:50 +01:00
AngeloGioacchino Del Regno
513c43328b arm64: dts: mediatek: mt8195: Fix CPUs capacity-dmips-mhz
The capacity-dmips-mhz parameter was miscalculated: this SoC runs
the first (Cortex-A55) cluster at a maximum of 2000MHz and the
second (Cortex-A78) cluster at a maximum of 3000MHz.

In order to calculate the right capacity-dmips-mhz, the following
test was performed:
1. CPUFREQ governor was set to 'performance' on both clusters
2. Ran dhrystone with 500000000 iterations for 10 times on each cluster
3. Calculate the mean result for each cluster
4. Calculate DMIPS/MHz: dmips_mhz = dmips_per_second / cpu_mhz
5. Scale results to 1024:
   result_c0 = (dmips_mhz_c0 - min_dmips_mhz(c0, c1)) /
               (max_dmips_mhz(c0, c1) - min_dmips_mhz(c0, c1)) * 1024

The mean results for this SoC are:
Cluster 0 (LITTLE): 11990400 Dhry/s
Cluster 1 (BIG): 59809036 Dhry/s

The calculated scaled results are:
Cluster 0: 307,934312801831 (rounded to 308)
Cluster 1: 1024

Fixes: 37f2582883 ("arm64: dts: Add mediatek SoC mt8195 and evaluation board")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20221005093404.33102-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-11-21 12:52:38 +01:00
Vitaly Kuznetsov
0fa32dad1e KVM: selftests: Rename 'evmcs_test' to 'hyperv_evmcs'
Conform to the rest of Hyper-V emulation selftests which have 'hyperv'
prefix. Get rid of '_test' suffix as well as the purpose of this code
is fairly obvious.

Reviewed-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20221101145426.251680-49-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-11-21 06:42:44 -05:00
Vitaly Kuznetsov
9c2e881945 KVM: selftests: hyperv_svm_test: Introduce L2 TLB flush test
Enable Hyper-V L2 TLB flush and check that Hyper-V TLB flush hypercalls
from L2 don't exit to L1 unless 'TlbLockCount' is set in the Partition
assist page.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20221101145426.251680-48-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-11-21 06:42:43 -05:00
Vitaly Kuznetsov
4b5d8b222b KVM: selftests: evmcs_test: Introduce L2 TLB flush test
Enable Hyper-V L2 TLB flush and check that Hyper-V TLB flush hypercalls
from L2 don't exit to L1 unless 'TlbLockCount' is set in the
Partition assist page.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20221101145426.251680-47-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-11-21 06:42:41 -05:00
Vitaly Kuznetsov
75ee7505fe KVM: selftests: Introduce rdmsr_from_l2() and use it for MSR-Bitmap tests
Hyper-V MSR-Bitmap tests do RDMSR from L2 to exit to L1. While 'evmcs_test'
correctly clobbers all GPRs (which are not preserved), 'hyperv_svm_test'
does not. Introduce a more generic rdmsr_from_l2() to avoid code
duplication and remove hardcoding of MSRs.  Do not put it in common code
because it is really just a selftests bug rather than a processor
feature that requires it.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20221101145426.251680-46-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-11-21 06:42:39 -05:00
Vitaly Kuznetsov
8fda37cf3d KVM: selftests: Stuff RAX/RCX with 'safe' values in vmmcall()/vmcall()
vmmcall()/vmcall() are used to exit from L2 to L1 and no concrete hypercall
ABI is currenty followed. With the introduction of Hyper-V L2 TLB flush
it becomes (theoretically) possible that L0 will take responsibility for
handling the call and no L1 exit will happen. Prevent this by stuffing RAX
(KVM ABI) and RCX (Hyper-V ABI) with 'safe' values.

While on it, convert vmmcall() to 'static inline', make it setup stack
frame and move to include/x86_64/svm_util.h.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20221101145426.251680-45-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-11-21 06:42:38 -05:00
Vitaly Kuznetsov
6c15c3c465 KVM: selftests: Allocate Hyper-V partition assist page
In preparation to testing Hyper-V L2 TLB flush hypercalls, allocate
so-called Partition assist page.

Reviewed-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20221101145426.251680-44-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-11-21 06:41:59 -05:00
Vitaly Kuznetsov
2dc458b862 KVM: selftests: Create a vendor independent helper to allocate Hyper-V specific test pages
There's no need to pollute VMX and SVM code with Hyper-V specific
stuff and allocate Hyper-V specific test pages for all test as only
few really need them. Create a dedicated struct and an allocation
helper.

Reviewed-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20221101145426.251680-43-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-11-21 06:41:22 -05:00
Vitaly Kuznetsov
cd8f11bd6b KVM: selftests: Split off load_evmcs() from load_vmcs()
In preparation to putting Hyper-V specific test pages to a dedicated
struct, move eVMCS load logic from load_vmcs(). Tests call load_vmcs()
directly and the only one which needs 'enlightened' version is
evmcs_test so there's not much gain in having this merged.

Temporary pass both GPA and HVA to load_evmcs().

Reviewed-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20221101145426.251680-42-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-11-21 06:40:42 -05:00
Vitaly Kuznetsov
e8f3d23c02 KVM: selftests: Move Hyper-V VP assist page enablement out of evmcs.h
Hyper-V VP assist page is not eVMCS specific, it is also used for
enlightened nSVM. Move the code to vendor neutral place.

Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20221101145426.251680-41-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-11-21 06:40:05 -05:00
Vitaly Kuznetsov
d7b14a868a KVM: selftests: Sync 'struct hv_vp_assist_page' definition with hyperv-tlfs.h
'struct hv_vp_assist_page' definition doesn't match TLFS. Also, define
'struct hv_nested_enlightenments_control' and use it instead of opaque
'__u64'.

Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20221101145426.251680-40-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-11-21 06:40:04 -05:00
Vitaly Kuznetsov
1ad51c0c0c KVM: selftests: Sync 'struct hv_enlightened_vmcs' definition with hyperv-tlfs.h
'struct hv_enlightened_vmcs' definition in selftests is not '__packed'
and so we rely on the compiler doing the right padding. This is not
obvious so it seems beneficial to use the same definition as in kernel.

Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20221101145426.251680-39-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-11-21 06:40:03 -05:00
Vitaly Kuznetsov
9e7726a8a0 KVM: selftests: Hyper-V PV TLB flush selftest
Introduce a selftest for Hyper-V PV TLB flush hypercalls
(HvFlushVirtualAddressSpace/HvFlushVirtualAddressSpaceEx,
HvFlushVirtualAddressList/HvFlushVirtualAddressListEx).

The test creates one 'sender' vCPU and two 'worker' vCPU which do busy
loop reading from a certain GVA checking the observed value. Sender
vCPU swaos the data page with another page filled with a different value.
The expectation for workers is also altered. Without TLB flush on worker
vCPUs, they may continue to observe old value. To guard against accidental
TLB flushes for worker vCPUs the test is repeated 100 times.

Hyper-V TLB flush hypercalls are tested in both 'normal' and 'XMM
fast' modes.

Reviewed-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20221101145426.251680-38-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-11-21 06:40:01 -05:00
David S. Miller
4dca1319a7 Merge branch 'sarx5-VCAP-debugfs'
netdev.vger.kernel.org archive mirror
Steen Hegelund says:

====================
net: Add support for VCAP debugFS in Sparx5

This provides support for getting VCAP instance, VCAP rule and VCAP port
keyset configuration information via the debug file system.

It builds on top of the initial IS2 VCAP support found in these series:

https://lore.kernel.org/all/20221020130904.1215072-1-steen.hegelund@microchip.com/
https://lore.kernel.org/all/20221109114116.3612477-1-steen.hegelund@microchip.com/
https://lore.kernel.org/all/20221111130519.1459549-1-steen.hegelund@microchip.com/

Functionality:
==============

The VCAP API exposes a /sys/kernel/debug/sparx5/vcaps folder containing
the following entries:

- raw_<vcap>_<instance>
    This is a raw dump of the VCAP instance with a line for each available
    VCAP rule.  This information is limited to the VCAP rule address, the
    rule size and the rule keyset name as this requires very little
    information from the VCAP cache.

    This can be used to detect if a valid rule is stored at the correct
    address.

- <vcap>_<instance>
    This dumps the VCAP instance configuration: address ranges, chain id
    ranges, word size of keys and actions etc, and for each VCAP rule the
    details of keys (values and masks) and actions are shown.

    This is useful when discovering if the expected rule is present and in
    which order it will be matched.

- <interface>
    This shows the keyset configuration per lookup and traffic type and the
    set of sticky bits (common for all interfaces). This is cleared when
    shown, so it is possible to sample over a period of time.

    It also shows if this port/lookup is enabled for matching in the VCAP.

    This can be used to find out which keyset the traffic being sent to a
    port, will be matched against, and if such traffic has been seen by one
    of the ports.

Delivery:
=========

This is current plan for delivering the full VCAP feature set of Sparx5:

- TC protocol all support for IS2 VCAP
- Sparx5 IS0 VCAP support
- TC policer and drop action support (depends on the Sparx5 QoS support
  upstreamed separately)
- Sparx5 ES0 VCAP support
- TC flower template support
- TC matchall filter support for mirroring and policing ports
- TC flower filter mirror action support
- Sparx5 ES2 VCAP support

Version History:
================
v2      Removed a 'support' folder (used for integration testing) that had
        been added in patch 6/8 by a mistake.
        Wrapped long lines.

v1      Initial version
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
552b7d131a net: microchip: sparx5: Add VCAP debugfs KUNIT test
This tests the functionality of the debugFS support:

- finding valid keyset on an address
- raw VCAP output
- full rule VCAP output

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
71c9de9952 net: microchip: sparx5: Add VCAP locking to protect rules
This ensures that the VCAP cache and the lists maintained in the VCAP
instance is protected when accessed by different clients.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
72d84dd609 net: microchip: sparx5: Add VCAP debugFS key/action support for the VCAP API
This add support for displaying the keys and actions in a rule.
The keys and action display format will be determined by the size and the
type of the key or action. The longer keys will typically be displayed as a
hexadecimal byte array.

The actionset is not decoded in full as the Sparx5 IS2 only has one
supported action, so this will be added later with other VCAP types.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
3a7921560d net: microchip: sparx5: Add VCAP rule debugFS support for the VCAP API
This add support to show all rules in a VCAP instance. The information
shown is:

 - rule id
 - address range
 - size
 - chain id
 - keyset name, subword size, register span
 - actionset name, subword size, register span
 - counter value
 - sticky bit (one bit width counter)

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
d4134d41e3 net: microchip: sparx5: Add raw VCAP debugFS support for the VCAP API
This adds support for decoding VCAP rules with a minimum number of
attributes: address, rule size and keyset.

This allows for a quick inspection of a VCAP instance to determine if the
rule are present and in the correct order.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
e0305cc1d1 net: microchip: sparx5: Add VCAP debugFS support
Add a debugFS root folder for Sparx5 and add a vcap folder underneath with
the VCAP instances and the ports

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
277e9179ef net: microchip: sparx5: Ensure VCAP last_used_addr is set back to default
This ensures that the last_used_addr in a VCAP instance is returned to the
default value when all rules have been deleted.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Steen Hegelund
bcddc196d4 net: microchip: sparx5: Ensure L3 protocol has a default value
This ensures that the l3_proto always have a valid value and that any
dissector parsing errors causes the flower rule to be discarded.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:33:02 +00:00
Arnd Bergmann
92f3bfaced Renesas RISC-V SoC updates for v6.2
- Add Kconfig option for Renesas RISC-V SoCs.
 -----BEGIN PGP SIGNATURE-----
 
 iHQEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY3dg4wAKCRCKwlD9ZEnx
 cAzkAPjBbXga6sPDUe1RELWr641OLFhviL5PvgLVd///DnbOAP0R2X3TZSZmyl+I
 gyfyr7SSYMVeXDSLKy67n8j8C3ONDA==
 =Xlpn
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7YRYACgkQmmx57+YA
 GNm5mQ/+IC+pyVZw3HsEi1oKdmXnttYn86pKHRRjVCs/LNfxzZscQHL0ccz4clbc
 GzdQkbpI3hg6LOZMZbqI0Lrl11mm2kaAQLEfFrkljtTA3CEtE5RiBzhencbHKyfZ
 T+vNp0XoR+2+qgq9jZIqObqXfgwCe1HpW032b46FCB9KC13k98kidzZIffGK/klw
 FghUsipgxN2cXyrAf8vzrYv2UkLvWuvlwZ5rt342pxJlcC7cvABkCtsIKvITPwoM
 kO/ZObLgTiVwMz7AK09vfWbyEG717P3kR08YyEKH898ZUEwm3I32KWNezmxPfoLw
 El/jtJpJ3ZeWxgzXLPLuex1XSTD8Nff+kGzJzUBRxE+w7r5I23GRDwArGbm6+MKO
 57kE7FRN845FpdHDKtxU2MblF+1YGwl7tGmAJbz+M0MCNWIaErlT1UXvj7tG8R0g
 5pGGaGsVF1z0KkDDj5Gmj6voFhhFkHCU/Xu71Pv16NxIP6Fh1y3/obY6zlokDiLF
 kDjUK3ltYOh1ePLtJa46762PU3+iYJo6m4t17l/0i7SgH4TtP7D/ZklxbTEbOQCP
 TihFmU7RSt6MsFBRfXvh7VLNCbKMCUfr6GLi7U8xyFF/7YFI9POsnkghSzUT1Afy
 vn0bF19T1JADfY/CfaDufMyP5rc6QKptnHMIvW4HWYYQ7o/jAxY=
 =4RxG
 -----END PGP SIGNATURE-----

Merge tag 'renesas-riscv-soc-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/soc

Renesas RISC-V SoC updates for v6.2

  - Add Kconfig option for Renesas RISC-V SoCs.

* tag 'renesas-riscv-soc-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  riscv: Kconfig.socs: Add ARCH_RENESAS kconfig option

Link: https://lore.kernel.org/r/cover.1668788933.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 12:29:26 +01:00
Arnd Bergmann
54721ff7d6 i.MX SoC change for 6.2:
- A couple of cleanups from Geert Uytterhoeven to drop unneeded include
   of pinctrl machine header from i.MX3 and MXS code.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmN4i6MUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5mAggAgNb4qmqK7Wvg4d+3BmeiAfPcJXVx
 C6bpFLPvOyDa7JWGAmg60o/IJV+Memw9FTG01aiIuM3xzEZkckKHHXLVgqhp+QyD
 dz88oipq4s2OdBsBo6VVMPmBr23tdsbw6gC1HdQNynjJd2vSD0qyB8GdoxqXTnm/
 xzfilYu2HrzazNuC7aj12lvjt56OM+6TDoB5D2MJUUNIR65wIIjRyW/hPlZh0nwI
 s9uhQK8JmyVsl23KqIB2vdCfQ0Y2YpFBo7iw5U+NaYyYdnG+2LC92JJKh0UO3Wks
 xqa+HIdVsGC0yq6W0qJyhQ8NaqwZc14fOsLpUpMQroN+hBASEOSFSZdH8w==
 =0IFy
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7YMoACgkQmmx57+YA
 GNmB2A//ZHzq90VkmE7ZrLrUPLybARMA4sidmaPNWJv+08QcyRLifAFM67DxkyxI
 JsXPNIRTh3SIIGm49YF7Afqz0I530UvWSC2v22fOrhWaiEMvLpmt5pdvEdznFvu1
 3TPpF/5yeQYkJCmomKl/ALwjmGt2ot5MhujnZ8JqZtrPbfZ3NfrPc3IYnsLiT9Kw
 Ax+pCmdeRK6eSDqLKfDdPWuxGdvyepwjPAgXw0cMDaSWdVBmh366vF/lQ9uc77s2
 /eEmP11XnRzx0n1X7+pHEaxkli93Km89K9g+v9y+MVbcFRjg5s/xHgTfymTtUMva
 g6ZZSdV3fewnuO6G8yl2R33nf044bQwAoCwPGc2/XpZHOIXrO2dIOH1IWa9bE5jU
 2RpIhzCENn41YvteY89DzfFiRT9ODkYL26aZbfZXDA3ovUWcsV4g/0nDnWdZPjv6
 14U1cJvc34waKd9OinPUYiSl+lq6aw+xdI3nDJabR0PWgVE/Lxzbcc36u8kPn+w4
 pXLdlvSyu0STlFoWTx01rNoZ1+4Fm2fBW0wGA79yhreYSnoTpu30owf6ca3NoyLK
 x6zg2v8q6v9rTlYgZuERbrbmfV+74KI5V6cq7WgcwoIm3Le74O52M5bn046Dlp8Q
 n5N8xZPpAUBOlqCuyLfBUBHY7bEtRPz1iAnd05NmIUe8aHGKgCw=
 =Nqrs
 -----END PGP SIGNATURE-----

Merge tag 'imx-soc-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/soc

i.MX SoC change for 6.2:

- A couple of cleanups from Geert Uytterhoeven to drop unneeded include
  of pinctrl machine header from i.MX3 and MXS code.

* tag 'imx-soc-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx3: Remove unneeded #include <linux/pinctrl/machine.h>
  ARM: mxs: Remove unneeded #include <linux/pinctrl/consumer.h>

Link: https://lore.kernel.org/r/20221119125733.32719-2-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 12:28:10 +01:00
David S. Miller
2158cfb076 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf
Pablo Neira Ayuso says:

====================
The following patchset contains late Netfilter fixes for net:

1) Use READ_ONCE()/WRITE_ONCE() to update ct->mark, from Daniel Xu.
   Not reported by syzbot, but I presume KASAN would trigger post
   a splat on this. This is a rather old issue, predating git history.

2) Do not set up extensions for set element with end interval flag
   set on. This leads to bogusly skipping this elements as expired
   when listing the set/map to userspace as well as increasing
   memory consumpton when stateful expressions are used. This issue
   has been present since 4.18, when timeout support for rbtree set
   was added.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:28:07 +00:00
Arnd Bergmann
b8d0b1bef2 IXP4xx patches for v6.2:
- Dropped the final static mappings.
 
 - Fixed some errors in the MAINTAINERS file.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmN6sMIACgkQQRCzN7AZ
 XXPW9BAAlsK+1EebeOZksh++jnfFsYChPOexuK1IKkNYUwHmy/eQfwON/QJmwAiu
 u8Hjwo2Ixfg9ZnofJ8kUxXDPtEjVSVkNscCk9jEReFjPlI6c9iAR46fNAa9qaENk
 oKCmOmfZ402qBLpbUK2AsC2Oi8VS5sRVltN0ke2kfjYoXugQd/YjclxLaOLGd6j4
 oie0cP+wLmqczPEsH1FPrd94Y1wrpopvLYN9JztM1UxknSP3RDukkb0www7ygxFT
 5aaYJ6lf6z2WgyiUX82yNNbVi+64F37P5I/Nhbe1lOAMEzvgTfkt1gkLjdP0gZ9g
 N2MNAWPlInudlRveIAqDqLbzDn5deM/SSIp5lrvA47Ht8f8cBlKU7dB1eGZIJ/0c
 fVblJV4F4KC0sMJplhgp5taLCrcDSvxldjZU3zFHbhQNTKx0YhM08L7SzQImoxTx
 gGpCvWdyyCiqYf5dpawCGbk/di1kZEEIhR2CfI3U5EwD66KGDUVAokb3wdUpbkfH
 WSry/MYCDwnLPc1gFLbsRkVEV9IvdFEMe2JWCED+qU3sVyTt4unNTUE+wDPzjml3
 I33/Rsaow3hTOBayzhrCDqmR4WWZbn0c64slnjRMglhw7YkzF+UTYiK7EUNtFSq1
 EDJI35CxlKv1a7gX0EnCRaLPZ09joGFcN7sVpf6+nll4i4uz+1s=
 =DFhx
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7YKwACgkQmmx57+YA
 GNmtnQ//ermYN2LyTWRlAQSFx+zbfgd90feC1UGEmYt2/Xp3rLCGZ9B66/AR85uR
 lj0bjMv4Nifd+/dXZGCPjYAxX0xuiWuhiIh6zkQKw387bIDBQWiV9uBodJTNM4dk
 smLuVTUcnQFePXWELs1A2bklnFWwFB3Tm8EA01P9a4WF5Gl8FC4Xshy5DRMLu2kH
 e2slVY2Qbw+ZH6x6BhtCA9b5sIdE+mnO+tBbvn+RGUOxzSdeUmJUpzkkwwHK62yN
 Xb4FLsTHjb7Qq1i5DKHHmo72aGHrlL5+4mNRpV6y1cwFlBGzr659vUABdCGF5O+I
 qv+j2kcLM9pbdl5utHcRQMnVqiDfD0ghi/+WhPrfISuTpCwR66hI7zMJWkWz81lJ
 argmG1fng4GlX0B2KDvXiM8FhmCKKnbu4U/kbR81+hX05PJ9xtET8v+2iFlz1z2z
 9nzzGgHnSYs0Nmi/t/7xdKU9JCVfjxypznEJPXrmPMP7YvynDdOiUoCUYyK6r427
 bltRnt8sY5CQZSYyLkjgqfTmqv94ER66BrCzzc9Omx/LZ75eCb+lRpAT5MQh0oAj
 jKKr/fASPEy4EGe8vUxzZV1bxq0CG1qmtdO93qWF+cmDDre91hCopQNScOpljpP7
 70/iE44zRwj6zTmoKjcgpaFxacOKiqag5gt1KjML1dNOqi0+aVQ=
 =AHLE
 -----END PGP SIGNATURE-----

Merge tag 'ixp4xx-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into arm/soc

IXP4xx patches for v6.2:

- Dropped the final static mappings.

- Fixed some errors in the MAINTAINERS file.

* tag 'ixp4xx-for-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: ixp4xx: Remove unused static map
  MAINTAINERS: adjust ARM/INTEL IXP4XX ARM ARCHITECTURE to ixp4xx clean-up

Link: https://lore.kernel.org/r/CACRpkdYNwyZ1FDM07MkUfYyYGtXFQfy1xP9Utc5+K2+gn_ZW9g@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 12:27:40 +01:00
Arnd Bergmann
cafd3d346a i.MX fixes for 6.1, part 3:
- Fix a small memory leak in mach-mxs code.
 - Correct PCIe pad configuration for imx8mp-evk board.
 - Fix ref/tcxo clock frequency property for imx6q-prti6q board.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmN4hkUUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM4PhwgAmV0aEOsxk+tUOwc7Tcw96Og82xOj
 M20kLbglLlN0ipgWGOFjov2+5k7tautTDNS4R8rPxuM+YKRwrkihPa3x5qvcOl3y
 ionJx9/JsZPBNmbWLlKqsXO3ST+YqlbgmLEi/fCKNMqXbQHmBJjdnrDq/Kb1WopC
 YIHb1R5T4KMAmhnYQzjrmxgf/mDMTpcJAwOX4XXGMTJ5Knp4NoMNFGaHrvnbc6EK
 7FWZtApuX2e+M2Bke+STODeJFkoGZb/iCbruS7xuiSECbGZVpYL4SYXIaCSdDvTC
 w6Jbjyx5rXDqVWLmvQU9Jr8nNv2YlEWEZ+AX25OLSrKVWMznSzORigd5WQ==
 =dJzd
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7YIIACgkQmmx57+YA
 GNmD5g//RhkG47HCEqFt0c5sg8S5iX0u//aigLytgr5ludb7G6fEzxhl8aJsxIRP
 aXaSJj730ZUyqeb8cp69W02epi++Nm/5J9TarTlGWB/YGeJyxcoOyd/mGcZT94Nv
 RDFFNdR7miOlg6QQqO7bjNzZMs05qaOmm22F5qOQpglsUJTWGoy3Cwy3cMzjQt5W
 c/dMgV+Q7DZcyqMMWIUDlZidfmoi9CYgdlf37HqZ21W+bg248/MkQLLu+dqrIUGR
 VukP0w6A8NjF9i1m5ud0YVmZ6NzeXdLEP0IDPxXi60eJXivNZT0EezIomM3V0yUf
 xOlFE4Zz7EtY2haC/4QpWiPRH7l46PMdN+9kePXlTAJodnqRgxfSmxIOU0kTBVXc
 WvDGVZKPNIqHb07QB99+MaO+gFG2KL5JGpxwF5ZIKoMM1Nyo9J1upUUttk/lw7pJ
 3CSXeglSSmwijVEJ3fy/N4cPN4432wxlqJlS+hm9w0ZlGpxEffKPlH82S6OgVvaW
 YUIlQj8+HWdq1rUdgNkUEakslHUtdTW1nhcJPUlGmtv1LHVk8zClmri7cr3ZgS/C
 bx0tiUuTuQwyxEU1DliOEfR5LBzgztcjb1aPLY+llLOo/2YdhtT8Zx5CgTDpvyk7
 dF/BR5Wlp8HptAazmylIUBSu1ltaPzHmkPrkL7nGSjfhgR2/ylw=
 =hzE+
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-6.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes

i.MX fixes for 6.1, part 3:

- Fix a small memory leak in mach-mxs code.
- Correct PCIe pad configuration for imx8mp-evk board.
- Fix ref/tcxo clock frequency property for imx6q-prti6q board.

* tag 'imx-fixes-6.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: dts: imx6q-prti6q: Fix ref/tcxo-clock-frequency properties
  arm64: dts: imx8mp-evk: correct pcie pad settings
  ARM: mxs: fix memory leak in mxs_machine_init()

Link: https://lore.kernel.org/r/20221119073812.GQ16229@T480
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 12:26:58 +01:00
Arnd Bergmann
e7135a2843 - RSB bus communication fixes
- missing IOMMU reference property to H6 Hantro G2
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQSPRixG1tysKC2PKM10Ba7+DO8kkwUCY3fnrQAKCRB0Ba7+DO8k
 k6W1APwNIbTq+OWpgQpJckCY9GfWGmxinY90BInBcK/yd7FNfAEAx/zXrPj0RjA1
 cIyZirTwvOESV4KjGeuIBXWG+IAqeAQ=
 =fyuv
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7YFkACgkQmmx57+YA
 GNlw+xAAgrOFQqqwdXqngNVQNNrt+xAhGBfDy45aTLbPJsx2cM25BgZ9w4EwRjRV
 kEqUPg51Ph8Junk0k+zvDi7iHU2Oml8ve/nn6QMfithu/uKDnWOerd7w0zkbUGyx
 oD3eHlMZPmzSB26YyZNvBQ3XOHpSJZiihWVkeiBnxyUt9hk15eLbmrEvrdn8khWx
 j1YRQ1PfowrH+IdDDx1zkNPoMRSS9IwguZm69JfN5HWFc6oxNT78wtoGN13sww/f
 dZs+4Syq0fwTKNPynuQcWb7JSpuk0iRiHyNM3mZIuCrkO8nQEd53Gcxfq6cAVqEk
 FGdLwHIeLq4eCVnxc9l7612QNwdpy8wqdlvTEL3Mp/eCfWnXPH6kbn4SNVJ1dpcd
 4j2zdcnab5atdQpDpzLb4rrw2SZ/k9kSfISPWQKHJP+eK5Kh1OyIP0fHD/L9trAL
 muP1A0q56Xhzvc/rSashtmGZbMIpT2efxqEO1YNo33BQcuBWLoHE+tmXf2zb/iNl
 ithqHYTObLI/PiOaPFqw27/9qh7WhIHYsSetFdDvk9j6c7BuiIuXhZBZdaXcHVgK
 7BWzExQfgvjWGFMnVguZKx7tfNQC84barazNJXmowVFPCI/DBCgZCCd5GbM//Pgg
 atMDDZeDbXjjMzVCfStmGuPxPnpuoYdl6vbq3esHv6SMAzerZSY=
 =yQ3J
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-fixes-for-6.1-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/fixes

- RSB bus communication fixes
- missing IOMMU reference property to H6 Hantro G2

* tag 'sunxi-fixes-for-6.1-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: h6: Add IOMMU reference to Hantro G2
  media: dt-bindings: allwinner: h6-vpu-g2: Add IOMMU reference property
  bus: sunxi-rsb: Support atomic transfers
  bus: sunxi-rsb: Remove the shutdown callback

Link: https://lore.kernel.org/r/Y3ftpBFk5+fndA4B@jernej-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 12:26:16 +01:00
Arnd Bergmann
37cd15e68f AT91 fixes for 6.1 #2
It contains:
 - fix UDC on at91sam9g20ek boards by adding vbus pin
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCY3d/IAAKCRCejrg/N2X7
 /ehgAQDTXTadbdVgo/QTu0MV0d7i3HNbwatmCA/wFn1Ugj3lsQD9Ejvmlk0oR++G
 o444+3nrvUiSWcBHMrjPAIfyKxDKLwE=
 =OsHK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7YDsACgkQmmx57+YA
 GNlYyQ/+JXkffYqstBAvmTVh0DYUSFkaJacNdzIgn90jH583jNoqVZ2U4IEF2o+2
 noYUIj8ysZ2H8IdzAHDn9s0UbHKsccomWVvjGUOmzta6RVaAB+euG9WwaO6xX5bs
 Nl6vAGGvy+3YXaMzfdDLWSsm8q07ZRP2uwoll1sEmZH0D57MiNEILhXcQTzR/y7g
 dqL0Zxt9e/OxF14LUQD0h5tI3p3t95ZkhUH+R+QHHmasHFHVKo47wZwNDiyForEV
 2Qfj/VFOTdHbUH3h2n0jsz/Nt3AUFcYcJYWZiTFSNlYhdm/uaLG+Eev+N2nbeWel
 7kls262PQAzL/9KAiunGjIz2SIM760pEhbGnkNSQXQBAMmvQWWQ6p1Xs6aZMfMc8
 W7MMa9L/KX7lTdJtkNJUL6Wvd2HT196CtWQHp0oizq8QWhMqPRmEmBbUp8jxvVJf
 KfjPePnWuiVDSnM7ZEkf4xRYadxv5KPzjfPqn9AJ0J/azvH/DT07G91kzewcqptO
 zdBDxZ2hq7Strz8H5yai+57YhODLzGYjbCvZZsiFARCRbq7NFQpu//BVPv6vnI7i
 q4TMPDHQO/1lUtDglfD2+P9sCrO1t36XKZp+NDiTs2KGXrQnDOhu7a6qSwjR8GUJ
 L+w8J2VAxmfdXy06A7+urH/LXpj9khJG/vWnvTDSgZ76mmHuDrY=
 =TiA5
 -----END PGP SIGNATURE-----

Merge tag 'at91-fixes-6.1-2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/fixes

AT91 fixes for 6.1 #2

It contains:
- fix UDC on at91sam9g20ek boards by adding vbus pin

* tag 'at91-fixes-6.1-2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: at91: sam9g20ek: enable udc vbus gpio pinctrl

Link: https://lore.kernel.org/r/20221118131205.301662-1-claudiu.beznea@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 12:25:47 +01:00
Arnd Bergmann
dc0e2470f4 Fix possible memory leak in optee_register_device()
-----BEGIN PGP SIGNATURE-----
 
 iQJOBAABCgA4FiEEFV+gSSXZJY9ZyuB5LinzTIcAHJcFAmN3c8caHGplbnMud2lr
 bGFuZGVyQGxpbmFyby5vcmcACgkQLinzTIcAHJfC2A//VGSf7dOiZCQRPA6HMqwV
 2XWXLNklhJD+kH8xQLziImJm8BjvgFlpWiZ+E94s0sLKoLq+0BEu6RnYims1gq+1
 WuB7uEjrzT0o1hHHLnDmvfkkH0WMJZnE/ZvKJP9XyaySTFqd/OwQ5GKR4oakaRIr
 wNm4PkdhQpZjGuI+rhidoRshktjcoiQeX1R9l4S4pNRs3GYga5m+ByXNOMK+Sh+N
 4+h+mHOTvR7ZUkSJrZ+foaV7K/XAdGV52VfWGIvC7zQBzPDY8u6sdV3w3h/DOk1C
 mV34oHPnSBJLxI2BefVVq3o0vhkCEcEonIYa/PHWuIHdZ6BNlmhvzIJcUGQhLacM
 l7hnuGwLFktSyYszQMibFiMiR3t4urVgeL/kJ4X48xhEuUb0PHNgLAO7I5XmQUyc
 88lqMZirVY0ZMqOjuR+/xB31xDX1c+swC3X97ycJF6gCn/jyPtjOZkKkpYSpjxOQ
 Qt/ZIEx2Hv0hE5naV1AAMj7qWye5nVn2VNrQcvzSdJULFfUKjo4/giREpFwq467u
 7LGBMA0LM7R7y+Rd9vU0/E6WGkO/bN49dI/wCrNhusjLVIy8bR8PnP9Ewby9/0fT
 +h73/Jr5nG5+ppyRiZ/9fIM3d2Mx/PV2LMAo+M0TqBTwpOE6wDpUNTn043M0FY6M
 leTxCky62OgSudZ324anK3Y=
 =9iZM
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7YBQACgkQmmx57+YA
 GNmhLxAApeGqV2+G26gng+tanO/e7BlHpZI1JNuzFu1O6aQJZYbbZj6QTOjSLXh6
 pArgdjlLOmi4yMp9xd1Blj1V+p+gQ41QciC8Edk7di76FMnC/cPrzDi5setGwZAR
 pFrHemM79HLo3hRl1RI8aUKv3OUXGs0X9gsDhbCyWjMXWd8bZnSH6Nq5wZo869Ab
 WkS8jAxhA4NmslZtFyP1/lSEhe5f+h8CQZ7AydfuGd+rRURRit9hmcetHgIS+uN/
 LFKi5/YqAJ844IL7CpSL4SP06vD6hUKAGTnYx7zTeDHmkxZkCv4V9NpdYaZt1bF0
 RQqV6EzShy+sl1aq/w9P7B4jgmir7QiNw7Vaqwqwpu0EYvkrROU0yucMSRs1qLgl
 vM4Ey5yiBWWpWnQfXC/9Wut511UTaRnXuJqIu9gGFqgs2zQFovwreW+nED+1CFtO
 62/nPaiAi10XYY573ht+r/N75mkl3uAxn83DM1DF6+TWYEPG1pCnZeJ3eMCg780S
 dEj+T+G1xKExpbj31KimrJCUbaLeKt8flBNBAvnK0cRJcU9PPP+wXB4wXJwQYgoj
 yqbNIKfp705eNuhNqDmf5yV+UrMW/HZ5Ja4kaQ230aqnbypXQmbbfHEOc1CuCf8f
 v/3ZHgZXXeqyV4ZxkFbFrIKzk8/zN+xkYMWcV5VI0YLX6VjJdS0=
 =zobC
 -----END PGP SIGNATURE-----

Merge tag 'optee-fix-for-6.1' of https://git.linaro.org/people/jens.wiklander/linux-tee into arm/fixes

Fix possible memory leak in optee_register_device()

* tag 'optee-fix-for-6.1' of https://git.linaro.org/people/jens.wiklander/linux-tee:
  tee: optee: fix possible memory leak in optee_register_device()

Link: https://lore.kernel.org/r/Y3d2OuJ60U30OkZe@jade
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 12:25:08 +01:00
KaiLong Wang
b96e74bb43 LoongArch: Fix unsigned comparison with less than zero
Eliminate the following coccicheck warning:

./arch/loongarch/kernel/unwind_prologue.c:84:5-13: WARNING: Unsigned
expression compared with zero: frame_ra < 0

Signed-off-by: KaiLong Wang <wangkailong@jari.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-11-21 19:02:57 +08:00
Huacai Chen
54e6cd42a1 LoongArch: Set _PAGE_DIRTY only if _PAGE_MODIFIED is set in {pmd,pte}_mkwrite()
Set _PAGE_DIRTY only if _PAGE_MODIFIED is set in {pmd,pte}_mkwrite().
Otherwise, _PAGE_DIRTY silences the TLB modify exception and make us
have no chance to mark a pmd/pte dirty (_PAGE_MODIFIED) for software.

Reviewed-by: Guo Ren <guoren@kernel.org>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-11-21 19:02:57 +08:00
Huacai Chen
bf2f34a506 LoongArch: Set _PAGE_DIRTY only if _PAGE_WRITE is set in {pmd,pte}_mkdirty()
Now {pmd,pte}_mkdirty() set _PAGE_DIRTY bit unconditionally, this causes
random segmentation fault after commit 0ccf7f168e ("mm/thp: carry
over dirty bit when thp splits on pmd").

The reason is: when fork(), parent process use pmd_wrprotect() to clear
huge page's _PAGE_WRITE and _PAGE_DIRTY (for COW); then pte_mkdirty() set
_PAGE_DIRTY as well as _PAGE_MODIFIED while splitting dirty huge pages;
once _PAGE_DIRTY is set, there will be no tlb modify exception so the COW
machanism fails; and at last memory corruption occurred between parent
and child processes.

So, we should set _PAGE_DIRTY only when _PAGE_WRITE is set in {pmd,pte}_
mkdirty().

Cc: stable@vger.kernel.org
Cc: Peter Xu <peterx@redhat.com>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-11-21 19:02:57 +08:00
Huacai Chen
e428e96135 LoongArch: Clear FPU/SIMD thread info flags for kernel thread
If a kernel thread is created by a user thread, it may carry FPU/SIMD
thread info flags (TIF_USEDFPU, TIF_USEDSIMD, etc.). Then it will be
considered as a fpu owner and kernel try to save its FPU/SIMD context
and cause such errors:

[   41.518931] do_fpu invoked from kernel context![#1]:
[   41.523933] CPU: 1 PID: 395 Comm: iou-wrk-394 Not tainted 6.1.0-rc5+ #217
[   41.530757] Hardware name: Loongson Loongson-3A5000-7A1000-1w-CRB/Loongson-LS3A5000-7A1000-1w-CRB, BIOS vUDK2018-LoongArch-V2.0.pre-beta8 08/18/2022
[   41.544064] $ 0   : 0000000000000000 90000000011e9468 9000000106c7c000 9000000106c7fcf0
[   41.552101] $ 4   : 9000000106305d40 9000000106689800 9000000106c7fd08 0000000003995818
[   41.560138] $ 8   : 0000000000000001 90000000009a72e4 0000000000000020 fffffffffffffffc
[   41.568174] $12   : 0000000000000000 0000000000000000 0000000000000020 00000009aab7e130
[   41.576211] $16   : 00000000000001ff 0000000000000407 0000000000000001 0000000000000000
[   41.584247] $20   : 0000000000000000 0000000000000001 9000000106c7fd70 90000001002f0400
[   41.592284] $24   : 0000000000000000 900000000178f740 90000000011e9834 90000001063057c0
[   41.600320] $28   : 0000000000000000 0000000000000001 9000000006826b40 9000000106305140
[   41.608356] era   : 9000000000228848 _save_fp+0x0/0xd8
[   41.613542] ra    : 90000000011e9468 __schedule+0x568/0x8d0
[   41.619160] CSR crmd: 000000b0
[   41.619163] CSR prmd: 00000000
[   41.622359] CSR euen: 00000000
[   41.625558] CSR ecfg: 00071c1c
[   41.628756] CSR estat: 000f0000
[   41.635239] ExcCode : f (SubCode 0)
[   41.638783] PrId  : 0014c010 (Loongson-64bit)
[   41.643191] Modules linked in: acpi_ipmi vfat fat ipmi_si ipmi_devintf cfg80211 ipmi_msghandler rfkill fuse efivarfs
[   41.653734] Process iou-wrk-394 (pid: 395, threadinfo=0000000004ebe913, task=00000000636fa1be)
[   41.662375] Stack : 00000000ffff0875 9000000006800ec0 9000000006800ec0 90000000002d57e0
[   41.670412]         0000000000000001 0000000000000000 9000000106535880 0000000000000001
[   41.678450]         9000000105291800 0000000000000000 9000000105291838 900000000178e000
[   41.686487]         9000000106c7fd90 9000000106305140 0000000000000001 90000000011e9834
[   41.694523]         00000000ffff0875 90000000011f034c 9000000105291838 9000000105291830
[   41.702561]         0000000000000000 9000000006801440 00000000ffff0875 90000000002d48c0
[   41.710597]         9000000128800001 9000000106305140 9000000105291838 9000000105291838
[   41.718634]         9000000105291830 9000000107811740 9000000105291848 90000000009bf1e0
[   41.726672]         9000000105291830 9000000107811748 2d6b72772d756f69 0000000000343933
[   41.734708]         0000000000000000 0000000000000000 0000000000000000 0000000000000000
[   41.742745]         ...
[   41.745252] Call Trace:
[   42.197868] [<9000000000228848>] _save_fp+0x0/0xd8
[   42.205214] [<90000000011ed468>] __schedule+0x568/0x8d0
[   42.210485] [<90000000011ed834>] schedule+0x64/0xd4
[   42.215411] [<90000000011f434c>] schedule_timeout+0x88/0x188
[   42.221115] [<90000000009c36d0>] io_wqe_worker+0x184/0x350
[   42.226645] [<9000000000221cf0>] ret_from_kernel_thread+0xc/0x9c

This can be easily triggered by ltp testcase syscalls/io_uring02 and it
can also be easily fixed by clearing the FPU/SIMD thread info flags for
kernel threads in copy_thread().

Cc: stable@vger.kernel.org
Reported-by: Qi Hu <huqi@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-11-21 19:02:57 +08:00
Huacai Chen
c56ab8e85d LoongArch: SMP: Change prefix from loongson3 to loongson
SMP operations can be shared by Loongson-2 series and Loongson-3 series,
so we change the prefix from loongson3 to loongson for all functions and
data structures.

Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-11-21 19:02:57 +08:00
Huacai Chen
538eafc6de LoongArch: Combine acpi_boot_table_init() and acpi_boot_init()
Combine acpi_boot_table_init() and acpi_boot_init() since they are very
simple, and we don't need to check the return value of acpi_boot_init().

Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-11-21 19:02:57 +08:00
Tiezhu Yang
83f638bca0 LoongArch: Makefile: Use "grep -E" instead of "egrep"
The latest version of grep claims the egrep is now obsolete so the build
now contains warnings that look like:
	egrep: warning: egrep is obsolescent; using grep -E

Fix this up by changing the LoongArch Makefile to use "grep -E" instead.

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-11-21 19:02:57 +08:00
Lu Wei
19d04a947d net: microchip: sparx5: Fix return value in sparx5_tc_setup_qdisc_ets()
Function sparx5_tc_setup_qdisc_ets() always returns negative value
because it return -EOPNOTSUPP in the end. This patch returns the
rersult of sparx5_tc_ets_add() and sparx5_tc_ets_del() directly.

Fixes: 211225428d ("net: microchip: sparx5: add support for offloading ets qdisc")
Signed-off-by: Lu Wei <luwei32@huawei.com>
Reviewed-by: Daniel Machon <daniel.machon@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 11:02:33 +00:00
Yang Yingliang
25c94b0515 Drivers: hv: vmbus: fix possible memory leak in vmbus_device_register()
If device_register() returns error in vmbus_device_register(),
the name allocated by dev_set_name() must be freed. As comment
of device_register() says, it should use put_device() to give
up the reference in the error path. So fix this by calling
put_device(), then the name can be freed in kobject_cleanup().

Fixes: 09d50ff8a2 ("Staging: hv: make the Hyper-V virtual bus code build")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/20221119081135.1564691-3-yangyingliang@huawei.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
2022-11-21 10:57:42 +00:00
Yang Yingliang
f92a4b50f0 Drivers: hv: vmbus: fix double free in the error path of vmbus_add_channel_work()
In the error path of vmbus_device_register(), device_unregister()
is called, which calls vmbus_device_release().  The latter frees
the struct hv_device that was passed in to vmbus_device_register().
So remove the kfree() in vmbus_add_channel_work() to avoid a double
free.

Fixes: c2e5df616e ("vmbus: add per-channel sysfs info")
Suggested-by: Michael Kelley <mikelley@microsoft.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/20221119081135.1564691-2-yangyingliang@huawei.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
2022-11-21 10:57:41 +00:00
David S. Miller
418e0721d4 Merge branch 'gve-alternate-missed-completions'
Jeroen de Borst says:

====================
gve: Handle alternate miss-completions

Some versions of the virtual NIC present miss-completions in
an alternative way. Let the diver handle these alternate completions
and announce this capability to the device.

The capability is announced uing a new AdminQ command that sends
driver information to the device. The device can refuse a driver
if it is lacking support for a capability, or it can adopt it's
behavior to work around OS specific issues.

Changed in v5:
- Removed comments in fucntion calls
- Switched ENOTSUPP back to EOPNOTSUPP and made sure it gets passed
Changed in v4:
- Clarified new AdminQ command in cover letter
- Changed EOPNOTSUPP to ENOTSUPP to match device's response
Changed in v3:
- Rewording cover letter
- Added 'Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>'
Changes in v2:
- Changed the subject to include 'gve:'
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 10:52:14 +00:00
Jeroen de Borst
a5affbd8a7 gve: Handle alternate miss completions
The virtual NIC has 2 ways of indicating a miss-path
completion. This handles the alternate.

Signed-off-by: Jeroen de Borst <jeroendb@google.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 10:52:14 +00:00
Jeroen de Borst
c2a0c3ed5b gve: Adding a new AdminQ command to verify driver
Check whether the driver is compatible with the device
presented.

Signed-off-by: Jeroen de Borst <jeroendb@google.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-21 10:52:14 +00:00
Neil Armstrong
62e73f0006 arm64: dts: amlogic: add initial Odroid Go Ultra DTS
This adds initial support for the Hardkernel Odroid Go Ultra.

The Odroid Go Ultra is a portable gaming device with the following
characteristics:
- Amlogic S922X SoC
- RK817 & RK818 PMICs
- 2GiB LPDDR4
- On board 16GiB eMMC
- Micro SD Card slot
- 5inch 854×480 MIPI-DSI TFT LCD
- Earphone stereo jack, 0.5Watt 8Ω Mono speaker
- Li-Polymer 3.7V/4000mAh Battery
- USB-A 2.0 Host Connector
- x16 GPIO Input Buttons
- 2x ADC Analog Joysticks
- USB-C Port for USB2 Device and Charging

The following are not yet handled:
- Battery RK818 Gauge and Charging
- Earphone stereo jack detect
- 5inch 854×480 MIPI-DSI TFT LCD

Link: https://lore.kernel.org/r/20221031-b4-odroid-go-ultra-initial-v2-2-a3df1e09b0af@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2022-11-21 11:51:56 +01:00
Neil Armstrong
66af218f86 dt-bindings: amlogic: document Odroid Go Ultra compatible
This documents the Odroid Go Ultra, a portable gaming device,
with the following characteristics:
- Amlogic S922X SoC
- RK817 & RK818 PMICs
- 2GiB LPDDR4
- On board 16GiB eMMC
- Micro SD Card slot
- 5inch 854×480 MIPI-DSI TFT LCD
- Earphone stereo jack, 0.5Watt 8Ω Mono speaker
- Li-Polymer 3.7V/4000mAh Battery
- USB-A 2.0 Host Connector
- x16 GPIO Input Buttons
- 2x ADC Analog Joysticks
- USB-C Port for USB2 Device and Charging

Acked-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20221031-b4-odroid-go-ultra-initial-v2-1-a3df1e09b0af@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2022-11-21 11:51:56 +01:00