Commit Graph

17628 Commits

Author SHA1 Message Date
Paolo Bonzini b8917b4ae4 KVM/arm64 updates for v5.14.
- Add MTE support in guests, complete with tag save/restore interface
 - Reduce the impact of CMOs by moving them in the page-table code
 - Allow device block mappings at stage-2
 - Reduce the footprint of the vmemmap in protected mode
 - Support the vGIC on dumb systems such as the Apple M1
 - Add selftest infrastructure to support multiple configuration
   and apply that to PMU/non-PMU setups
 - Add selftests for the debug architecture
 - The usual crop of PMU fixes
 -----BEGIN PGP SIGNATURE-----
 
 iQJDBAABCgAtFiEEn9UcU+C1Yxj9lZw9I9DQutE9ekMFAmDV2bEPHG1hekBrZXJu
 ZWwub3JnAAoJECPQ0LrRPXpDEr8P/ivwROx5NwGcHGmU5RfUCT3aFqhtVHHwD/lu
 jPcgoO61kz9TelOu6QRaVuK+mVHxcq3iP4R8nPq/QCkUlEXTmK2xkyhXhGXSYpH4
 6jM8+BbC3eG7iAxx6H0UM4JTl4Riwat6ZZtXpWEWs9TKqOHOQYFpMkxSttwVZ1CZ
 SjbtFvXLEdzKn6PzUWnKdBNMV/mHsdAtohZit9oJOc4ttc8072XxETQ4TFQ+MSvA
 j9zY9QPmWzgcZnotqRRu9sbTGO2vxtXuUtY3sjdD8+C9OgSe9qvpnNjymcmfwaMu
 1fBkfh65oaO4ItJBdGOUOoEcFqwN5imPiI7CB/O+ZYkO9sBCuTUPSQwPkyiwXb9r
 bUkTaQw2nZiNWsqR1x07fQ2sGYbMp5mnmgmqiV4MUWkLmFp9LZATCWYTTn24cBNS
 6SjVP6/8S0r3EhLnYjH0Pn1we5PooU1EF6RlCAd3ewYoo+9fPnwjNYwIWH5i5wB7
 +tnei44NACAw9cfbos+BYQQ/dY15OSFzLzIMomlabB7OpXOdDg3H6tJnPbFwWwXb
 9nF8XdHqxeDVVVrDCAx1BSodSXm9xqgnQM2RDGTUnpVcAfqAr3MXX6VsyKQDzj8T
 QXF9qOVCBAABv6BXAvSQ6mvMJZDUVbUPEPhf7kXzF46JsRd6A7wWoU/OnMGHQ/w7
 wjvH8HVy
 =fWBV
 -----END PGP SIGNATURE-----

Merge tag 'kvmarm-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD

KVM/arm64 updates for v5.14.

- Add MTE support in guests, complete with tag save/restore interface
- Reduce the impact of CMOs by moving them in the page-table code
- Allow device block mappings at stage-2
- Reduce the footprint of the vmemmap in protected mode
- Support the vGIC on dumb systems such as the Apple M1
- Add selftest infrastructure to support multiple configuration
  and apply that to PMU/non-PMU setups
- Add selftests for the debug architecture
- The usual crop of PMU fixes
2021-06-25 11:24:24 -04:00
Marc Zyngier 188982cda0 Merge branch kvm-arm64/mmu/mte into kvmarm-master/next
Last minute fix for MTE, making sure the pages are
flagged as MTE before they are released.

* kvm-arm64/mmu/mte:
  KVM: arm64: Set the MTE tag bit before releasing the page

Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-06-25 14:25:56 +01:00
Joerg Roedel 2b9d8e3e9a Merge branches 'iommu/fixes', 'arm/rockchip', 'arm/smmu', 'x86/vt-d', 'x86/amd', 'virtio' and 'core' into next 2021-06-25 15:23:25 +02:00
Jean-Philippe Brucker ac6d704679 iommu/dma: Pass address limit rather than size to iommu_setup_dma_ops()
Passing a 64-bit address width to iommu_setup_dma_ops() is valid on
virtual platforms, but isn't currently possible. The overflow check in
iommu_dma_init_domain() prevents this even when @dma_base isn't 0. Pass
a limit address instead of a size, so callers don't have to fake a size
to work around the check.

The base and limit parameters are being phased out, because:
* they are redundant for x86 callers. dma-iommu already reserves the
  first page, and the upper limit is already in domain->geometry.
* they can now be obtained from dev->dma_range_map on Arm.
But removing them on Arm isn't completely straightforward so is left for
future work. As an intermediate step, simplify the x86 callers by
passing dummy limits.

Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/20210618152059.1194210-5-jean-philippe@linaro.org
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2021-06-25 15:02:43 +02:00
Pali Rohár 2cbfdedef3 arm64: dts: marvell: armada-37xx: Fix reg for standard variant of UART
UART1 (standard variant with DT node name 'uart0') has register space
0x12000-0x12018 and not whole size 0x200. So fix also this in example.

Signed-off-by: Pali Rohár <pali@kernel.org>
Fixes: c737abc193 ("arm64: dts: marvell: Fix A37xx UART0 register size")
Link: https://lore.kernel.org/r/20210624224909.6350-6-pali@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-06-25 13:53:46 +02:00
Jing Zhang bc9e9e672d KVM: debugfs: Reuse binary stats descriptors
To remove code duplication, use the binary stats descriptors in the
implementation of the debugfs interface for statistics. This unifies
the definition of statistics for the binary and debugfs interfaces.

Signed-off-by: Jing Zhang <jingzhangos@google.com>
Message-Id: <20210618222709.1858088-8-jingzhangos@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-06-24 18:00:29 -04:00
Jing Zhang ce55c04945 KVM: stats: Support binary stats retrieval for a VCPU
Add a VCPU ioctl to get a statistics file descriptor by which a read
functionality is provided for userspace to read out VCPU stats header,
descriptors and data.
Define VCPU statistics descriptors and header for all architectures.

Reviewed-by: David Matlack <dmatlack@google.com>
Reviewed-by: Ricardo Koller <ricarkol@google.com>
Reviewed-by: Krish Sadhukhan <krish.sadhukhan@oracle.com>
Reviewed-by: Fuad Tabba <tabba@google.com>
Tested-by: Fuad Tabba <tabba@google.com> #arm64
Signed-off-by: Jing Zhang <jingzhangos@google.com>
Message-Id: <20210618222709.1858088-5-jingzhangos@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-06-24 18:00:19 -04:00
Jing Zhang fcfe1baedd KVM: stats: Support binary stats retrieval for a VM
Add a VM ioctl to get a statistics file descriptor by which a read
functionality is provided for userspace to read out VM stats header,
descriptors and data.
Define VM statistics descriptors and header for all architectures.

Reviewed-by: David Matlack <dmatlack@google.com>
Reviewed-by: Ricardo Koller <ricarkol@google.com>
Reviewed-by: Krish Sadhukhan <krish.sadhukhan@oracle.com>
Reviewed-by: Fuad Tabba <tabba@google.com>
Tested-by: Fuad Tabba <tabba@google.com> #arm64
Signed-off-by: Jing Zhang <jingzhangos@google.com>
Message-Id: <20210618222709.1858088-4-jingzhangos@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-06-24 18:00:10 -04:00
Steen Hegelund d0f482bb06 arm64: dts: sparx5: Add the Sparx5 switch node
This provides the configuration for the currently available evaluation
boards PCB134 and PCB135.

The series depends on the following series currently on its way
into the kernel:

- Sparx5 Reset Driver
  Link: https://lore.kernel.org/r/20210416084054.2922327-1-steen.hegelund@microchip.com/

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Lars Povlsen <lars.povlsen@microchip.com>
Signed-off-by: Bjarni Jonasson <bjarni.jonasson@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-06-24 11:28:13 -07:00
Jing Zhang cb082bfab5 KVM: stats: Add fd-based API to read binary stats data
This commit defines the API for userspace and prepare the common
functionalities to support per VM/VCPU binary stats data readings.

The KVM stats now is only accessible by debugfs, which has some
shortcomings this change series are supposed to fix:
1. The current debugfs stats solution in KVM could be disabled
   when kernel Lockdown mode is enabled, which is a potential
   rick for production.
2. The current debugfs stats solution in KVM is organized as "one
   stats per file", it is good for debugging, but not efficient
   for production.
3. The stats read/clear in current debugfs solution in KVM are
   protected by the global kvm_lock.

Besides that, there are some other benefits with this change:
1. All KVM VM/VCPU stats can be read out in a bulk by one copy
   to userspace.
2. A schema is used to describe KVM statistics. From userspace's
   perspective, the KVM statistics are self-describing.
3. With the fd-based solution, a separate telemetry would be able
   to read KVM stats in a less privileged environment.
4. After the initial setup by reading in stats descriptors, a
   telemetry only needs to read the stats data itself, no more
   parsing or setup is needed.

Reviewed-by: David Matlack <dmatlack@google.com>
Reviewed-by: Ricardo Koller <ricarkol@google.com>
Reviewed-by: Krish Sadhukhan <krish.sadhukhan@oracle.com>
Reviewed-by: Fuad Tabba <tabba@google.com>
Tested-by: Fuad Tabba <tabba@google.com> #arm64
Signed-off-by: Jing Zhang <jingzhangos@google.com>
Message-Id: <20210618222709.1858088-3-jingzhangos@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-06-24 11:47:57 -04:00
Jing Zhang 0193cc908b KVM: stats: Separate generic stats from architecture specific ones
Generic KVM stats are those collected in architecture independent code
or those supported by all architectures; put all generic statistics in
a separate structure.  This ensures that they are defined the same way
in the statistics API which is being added, removing duplication among
different architectures in the declaration of the descriptors.

No functional change intended.

Reviewed-by: David Matlack <dmatlack@google.com>
Reviewed-by: Ricardo Koller <ricarkol@google.com>
Reviewed-by: Krish Sadhukhan <krish.sadhukhan@oracle.com>
Signed-off-by: Jing Zhang <jingzhangos@google.com>
Message-Id: <20210618222709.1858088-2-jingzhangos@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-06-24 11:47:56 -04:00
Marc Zyngier 98db7259fa KVM: arm64: Set the MTE tag bit before releasing the page
Setting a page flag without holding a reference to the page
is living dangerously. In the tag-writing path, we drop the
reference to the page by calling kvm_release_pfn_dirty(),
and only then set the PG_mte_tagged bit.

It would be safer to do it the other way round.

Fixes: f0376edb1d ("KVM: arm64: Add ioctl to fetch/store tags in a guest")
Cc: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/87k0mjidwb.wl-maz@kernel.org
2021-06-24 14:54:45 +01:00
Will Deacon 3d1bf78c7b Merge branch 'for-next/sve' into for-next/core
Optimise SVE switching for CPUs with 128-bit implementations.

* for-next/sve:
  arm64/sve: Skip flushing Z registers with 128 bit vectors
  arm64/sve: Use the sve_flush macros in sve_load_from_fpsimd_state()
  arm64/sve: Split _sve_flush macro into separate Z and predicate flushes
2021-06-24 14:07:04 +01:00
Will Deacon a4a49140ae Merge branch 'for-next/smccc' into for-next/core
Add support for versions v1.2 and 1.3 of the SMC calling convention.

* for-next/smccc:
  arm64: smccc: Support SMCCC v1.3 SVE register saving hint
  arm64: smccc: Add support for SMCCCv1.2 extended input/output registers
2021-06-24 14:06:54 +01:00
Will Deacon bd23fdba41 Merge branch 'for-next/ptrauth' into for-next/core
Allow Pointer Authentication to be configured independently for kernel
and userspace.

* for-next/ptrauth:
  arm64: Conditionally configure PTR_AUTH key of the kernel.
  arm64: Add ARM64_PTR_AUTH_KERNEL config option
2021-06-24 14:06:23 +01:00
Will Deacon 2e5d34d26a Merge branch 'for-next/perf' into for-next/core
PMU driver cleanups for managing IRQ affinity and exposing event
attributes via sysfs.

* for-next/perf: (36 commits)
  drivers/perf: fix the missed ida_simple_remove() in ddr_perf_probe()
  perf/arm-cmn: Fix invalid pointer when access dtc object sharing the same IRQ number
  arm64: perf: Simplify EVENT ATTR macro in perf_event.c
  drivers/perf: Simplify EVENT ATTR macro in fsl_imx8_ddr_perf.c
  drivers/perf: Simplify EVENT ATTR macro in xgene_pmu.c
  drivers/perf: Simplify EVENT ATTR macro in qcom_l3_pmu.c
  drivers/perf: Simplify EVENT ATTR macro in qcom_l2_pmu.c
  drivers/perf: Simplify EVENT ATTR macro in SMMU PMU driver
  perf: Add EVENT_ATTR_ID to simplify event attributes
  perf/smmuv3: Don't trample existing events with global filter
  perf/hisi: Constify static attribute_group structs
  perf: qcom: Remove redundant dev_err call in qcom_l3_cache_pmu_probe()
  drivers/perf: hisi: Fix data source control
  arm64: perf: Add more support on caps under sysfs
  perf: qcom_l2_pmu: move to use request_irq by IRQF_NO_AUTOEN flag
  arm_pmu: move to use request_irq by IRQF_NO_AUTOEN flag
  perf: arm_spe: use DEVICE_ATTR_RO macro
  perf: xgene_pmu: use DEVICE_ATTR_RO macro
  perf: qcom: use DEVICE_ATTR_RO macro
  perf: arm_pmu: use DEVICE_ATTR_RO macro
  ...
2021-06-24 14:05:40 +01:00
Will Deacon fdceddb06a Merge branch 'for-next/mte' into for-next/core
KASAN optimisations for the hardware tagging (MTE) implementation.

* for-next/mte:
  kasan: disable freed user page poisoning with HW tags
  arm64: mte: handle tags zeroing at page allocation time
  kasan: use separate (un)poison implementation for integrated init
  mm: arch: remove indirection level in alloc_zeroed_user_highpage_movable()
  kasan: speed up mte_set_mem_tag_range
2021-06-24 14:05:25 +01:00
Will Deacon 81ad4bb1fe Merge branch 'for-next/mm' into for-next/core
Lots of cleanup to our various page-table definitions, but also some
non-critical fixes and removal of some unnecessary memory types. The
most interesting change here is the reduction of ARCH_DMA_MINALIGN back
to 64 bytes, since we're not aware of any machines that need a higher
value with the way the code is structured (only needed for non-coherent
DMA).

* for-next/mm:
  arm64: tlb: fix the TTL value of tlb_get_level
  arm64/mm: Rename ARM64_SWAPPER_USES_SECTION_MAPS
  arm64: head: fix code comments in set_cpu_boot_mode_flag
  arm64: mm: drop unused __pa(__idmap_text_start)
  arm64: mm: fix the count comments in compute_indices
  arm64/mm: Fix ttbr0 values stored in struct thread_info for software-pan
  arm64: mm: Pass original fault address to handle_mm_fault()
  arm64/mm: Drop SECTION_[SHIFT|SIZE|MASK]
  arm64/mm: Use CONT_PMD_SHIFT for ARM64_MEMSTART_SHIFT
  arm64/mm: Drop SWAPPER_INIT_MAP_SIZE
  arm64: mm: decode xFSC in mem_abort_decode()
  arm64: mm: Add is_el1_data_abort() helper
  arm64: cache: Lower ARCH_DMA_MINALIGN to 64 (L1_CACHE_BYTES)
  arm64: mm: Remove unused support for Normal-WT memory type
  arm64: acpi: Map EFI_MEMORY_WT memory as Normal-NC
  arm64: mm: Remove unused support for Device-GRE memory type
  arm64: mm: Use better bitmap_zalloc()
  arm64/mm: Make vmemmap_free() available only with CONFIG_MEMORY_HOTPLUG
  arm64/mm: Remove [PUD|PMD]_TABLE_BIT from [pud|pmd]_bad()
  arm64/mm: Validate CONFIG_PGTABLE_LEVELS
2021-06-24 14:04:33 +01:00
Will Deacon 078834caaf Merge branch 'for-next/misc' into for-next/core
Reduce loglevel of useless print during CPU offlining.

* for-next/misc:
  arm64: smp: Bump debugging information print down to KERN_DEBUG
2021-06-24 14:04:19 +01:00
Will Deacon 2c9bd9d806 Merge branch 'for-next/kasan' into for-next/core
Optimise out-of-line KASAN checking when using software tagging.

* for-next/kasan:
  kasan: arm64: support specialized outlined tag mismatch checks
2021-06-24 14:04:00 +01:00
Will Deacon 181a126979 Merge branch 'for-next/insn' into for-next/core
Refactoring of our instruction decoding routines and addition of some
missing encodings.

* for-next/insn:
  arm64: insn: avoid circular include dependency
  arm64: insn: move AARCH64_INSN_SIZE into <asm/insn.h>
  arm64: insn: decouple patching from insn code
  arm64: insn: Add load/store decoding helpers
  arm64: insn: Add some opcodes to instruction decoder
  arm64: insn: Add barrier encodings
  arm64: insn: Add SVE instruction class
  arm64: Move instruction encoder/decoder under lib/
  arm64: Move aarch32 condition check functions
  arm64: Move patching utilities out of instruction encoding/decoding
2021-06-24 14:03:24 +01:00
Will Deacon 6cf61e061e Merge branch 'for-next/entry' into for-next/core
The never-ending entry.S refactoring continues, putting us in a much
better place wrt compiler instrumentation whilst moving more of the code
into C.

* for-next/entry:
  arm64: idle: don't instrument idle code with KCOV
  arm64: entry: don't instrument entry code with KCOV
  arm64: entry: make NMI entry/exit functions static
  arm64: entry: split SDEI entry
  arm64: entry: split bad stack entry
  arm64: entry: fold el1_inv() into el1h_64_sync_handler()
  arm64: entry: handle all vectors with C
  arm64: entry: template the entry asm functions
  arm64: entry: improve bad_mode()
  arm64: entry: move bad_mode() to entry-common.c
  arm64: entry: consolidate EL1 exception returns
  arm64: entry: organise entry vectors consistently
  arm64: entry: organise entry handlers consistently
  arm64: entry: convert IRQ+FIQ handlers to C
  arm64: entry: add a call_on_irq_stack helper
  arm64: entry: move NMI preempt logic to C
  arm64: entry: move arm64_preempt_schedule_irq to entry-common.c
  arm64: entry: convert SError handlers to C
  arm64: entry: unmask IRQ+FIQ after EL0 handling
  arm64: remove redundant local_daif_mask() in bad_mode()
2021-06-24 14:01:55 +01:00
Will Deacon eea3e2dec4 Merge branch 'for-next/cpuidle' into for-next/core
Fix resume from idle when pNMI is being used.

* for-next/cpuidle:
  arm64: suspend: Use cpuidle context helpers in cpu_suspend()
  PSCI: Use cpuidle context helpers in psci_cpu_suspend_enter()
  arm64: Convert cpu_do_idle() to using cpuidle context helpers
  arm64: Add cpuidle context save/restore helpers
2021-06-24 13:36:39 +01:00
Will Deacon eda2171d85 Merge branch 'for-next/cpufeature' into for-next/core
Additional CPU sanity checks for MTE and preparatory changes for systems
where not all of the CPUs support 32-bit EL0.

* for-next/cpufeature:
  arm64: Restrict undef hook for cpufeature registers
  arm64: Kill 32-bit applications scheduled on 64-bit-only CPUs
  KVM: arm64: Kill 32-bit vCPUs on systems with mismatched EL0 support
  arm64: Allow mismatched 32-bit EL0 support
  arm64: cpuinfo: Split AArch32 registers out into a separate struct
  arm64: Check if GMID_EL1.BS is the same on all CPUs
  arm64: Change the cpuinfo_arm64 member type for some sysregs to u64
2021-06-24 13:35:46 +01:00
Will Deacon 5ceb045541 Merge branch 'for-next/cortex-strings' into for-next/core
Update our kernel string routines to the latest Cortex Strings
implementation.

* for-next/cortex-strings:
  arm64: update string routine copyrights and URLs
  arm64: Rewrite __arch_clear_user()
  arm64: Better optimised memchr()
  arm64: Import latest memcpy()/memmove() implementation
  arm64: Add assembly annotations for weak-PI-alias madness
  arm64: Import latest version of Cortex Strings' strncmp
  arm64: Import updated version of Cortex Strings' strlen
  arm64: Import latest version of Cortex Strings' strcmp
  arm64: Import latest version of Cortex Strings' memcmp
2021-06-24 13:33:57 +01:00
Will Deacon 25377204eb Merge branch 'for-next/caches' into for-next/core
Big cleanup of our cache maintenance routines, which were confusingly
named and inconsistent in their implementations.

* for-next/caches:
  arm64: Rename arm64-internal cache maintenance functions
  arm64: Fix cache maintenance function comments
  arm64: sync_icache_aliases to take end parameter instead of size
  arm64: __clean_dcache_area_pou to take end parameter instead of size
  arm64: __clean_dcache_area_pop to take end parameter instead of size
  arm64: __clean_dcache_area_poc to take end parameter instead of size
  arm64: __flush_dcache_area to take end parameter instead of size
  arm64: dcache_by_line_op to take end parameter instead of size
  arm64: __inval_dcache_area to take end parameter instead of size
  arm64: Fix comments to refer to correct function __flush_icache_range
  arm64: Move documentation of dcache_by_line_op
  arm64: assembler: remove user_alt
  arm64: Downgrade flush_icache_range to invalidate
  arm64: Do not enable uaccess for invalidate_icache_range
  arm64: Do not enable uaccess for flush_icache_range
  arm64: Apply errata to swsusp_arch_suspend_exit
  arm64: assembler: add conditional cache fixups
  arm64: assembler: replace `kaddr` with `addr`
2021-06-24 13:33:02 +01:00
Olof Johansson b62b189f7e Basic support for the new rk3568 soc.
-----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmDR4sIQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgbzvB/9w4xiQCjFy08u9ifSf/BbseRmcN9oq51pC
 oPHcICcEoym4q75LaywT5jlco1KckikHylwhngt4oq0g7IwpTA6uGJ5GHOgEWvh8
 P/C94kBB2wH7I6jVGPLrvvr5kfXiVbsA1c46MRyAlRHDgZKHKcyx4A/PDHoDgm9Y
 D+wKt9R3K1mSMMozj7vCJK5SaMBbK2AVXBhQVg0MAcGEmmoeYnj3td1zbKRXmWEh
 xbBhdnPg3TBloWP1+uwGNuJjzZWwGXOajVvcJU2YTCz/QcmN95KjIcoZq73bgQ61
 RBYx/gJ1Yr85Fpj24o9u8TW5osz/0MrOI82rBBRy27rs09E4yL/S
 =Uqkv
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJDBAABCgAtFiEElf+HevZ4QCAJmMQ+jBrnPN6EHHcFAmDT6CAPHG9sb2ZAbGl4
 b20ubmV0AAoJEIwa5zzehBx3/CAP/jzHJyFB9GU3coHJJNUVulRvGXIikjjYYPUS
 qx2STtKMFDuYGulm6LfDeNIz0495I8f89Zo+PbOjn/BbIFkNJ6zfnie2+3RCERvo
 3Kraux0g9bsIIb34Wuec+derkruVvpJahVnBQ1vSL56cjlRdzTFUWfodxFiWp1VY
 RRfGYNp0Xop1wqfxqx7y664Ya1CQIt0eSuZp6n5k18S5X3R7udy3K87LnAN3ntlp
 RJXqm6w0YNGAeJKYLIhS6UbyUbbIyw5Okax2QUJMkYyyWYM1K+FO38BQGeSl+5sE
 jLJUfxYKTOwANhGM0UeTPgw3JgvKerMQc5C6OBbqhdz3XBq+1ySqYYYIrjHG3qvR
 +y8k+XRnpRb8dAb9ykaCck8meBWSg3dTc//b0bM+0CrBWorHoRKYZyuFy/OVR+Fu
 6CgcE87bLqfbjghEgrZ/5kmao7iRgzAwMktHAZNpYzx74pl8zNO5VV/P6G7k6Xdq
 IJ5czNT+03vy393xRdhVgP7WCnC807HCpgAYzEAbqxt/zhbC03da+c6aSUtUad/4
 7H/VxvSTo7cd6LMOidSB8vQ5cQQEqG1CiHXEo12JUogFcvEFMSRGg3Xyp5KJ/wo7
 snfm53q8yNZvZMM8Bpqrak9V+LO7rHTkN/WBq2G6t9CE/T906Dra9/ZovEjt0HwM
 gBqc2kmw
 =YcFS
 -----END PGP SIGNATURE-----

Merge tag 'v5.14-rockchip-dts64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt

Basic support for the new rk3568 soc.

* tag 'v5.14-rockchip-dts64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: add basic dts for RK3568 EVB
  arm64: dts: rockchip: add core dtsi for RK3568 SoC
  arm64: dts: rockchip: add generic pinconfig settings used by most Rockchip socs

Link: https://lore.kernel.org/r/4876354.ZzFAyJQhcr@diego
Signed-off-by: Olof Johansson <olof@lixom.net>
2021-06-23 19:04:16 -07:00
Olof Johansson e6adbcb7e2 Additional Qualcomm ARM64 defconfig udpate for v5.14
The Qualcomm Robotics RB3 Development Kit has a Renesas USB HUB on one
 of the PCIe busses, which requires the releated driver to be enabled to
 provide functional Ethernet and additional USB host ports.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmDQvgcbHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3FHSIQAL8/moqjNjMpruUjIt7k
 vvosfYodjKV9X+8sKjE1fyz1yLLpJLejR11uopjPOH+aZ/+Ofh75tkZn7ZIcnR6w
 AQ2WQfxD/7ua3cZJgJRmciXHCuqWZNO2RtrKwl+XJGTICt4ZoC5AIeaC10+k++yB
 xt3z3zxXpNOUwJY56BXf+nvIyXdV7PQARV5JDmqDP0AU31Jj72cnzMMTklOHV++B
 wqlrz0KG0fmXBRou/z85UzB+q7PNnLz0eHxK6ZSmQwHi7IOXt9WYsQzEx1bL5mEb
 cBAhPZ3NugsWsi57P6nogQ3/9FG6NA4VZRsKteow3kOxqWXn5iaztzrfFLqHvEoV
 i/NZYKPiUVw3dvuQpPm846eyfsjHd/XJZdEO06TN99xYWebZi4l3mUJzqMcFn4Pg
 ob/TLxTKqCW28Q202xdF9CeTbirckzVT2yohL4ERjKfVlXP2V9Z0sqBssWVQqrd+
 9p/p5sEhxF4jfcpSsWJruuK/LUCOeOBeTEt9+DvbuUKBBm2nfPUV37W6P6by+WL8
 mTlXRsZoTjGmkYNHggtNkY9GYwqNW7kKpYDN67Zm3lJRiKKhe+0F+GtSY6nVJi5i
 vNoi3JphCZbjlLwlIArpt81UlXMDV4uj9nnp970E3MduNF4o+Y5wWjSxgWmgEX2V
 bkSK+qAkw1BvwDShNtvShwyM
 =IzP1
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJDBAABCgAtFiEElf+HevZ4QCAJmMQ+jBrnPN6EHHcFAmDT55cPHG9sb2ZAbGl4
 b20ubmV0AAoJEIwa5zzehBx3osEP/iAPBLJ7ifqfM2kO5YdCfg77e6G5SmI2tcs7
 aLlV0wfjTri6w5rVqBOE6t6+3QKEsiTQUnNfi5l52T6wbp7ZWj4+qBglYHZjXywO
 pQm1khuZSDrZ06lAWClhHrCnViTyesvcpn6xhGLMGJpf/by/OaJrTaZdIvpXoQJ9
 d7JVUOTf7C3THFLDs04UhHOa40nCVJX6v0YeAU8+ZyCgiM8x1rls5o5fzZLcDvcd
 6uhDFrMb7yldWJ5aEBdQM7uSPLYCfHepuin3et2fIu1zAtJY3cMMnni6cXqHZXb5
 McZ+U2/c9dWhrke+u2cCnb1jzzbTtpCha8wgkYR82Z0QrV0eVnnpTii5TaHcGMLG
 z1BQNmQc2GLIU4NO9mrbRBVq9dm8waElJebPUGRFR+BO6HGAWliYw+3PkyUJebjd
 Sg+i4x8/hk1+UnC5dZeGVVUlOHdoEDwSWapd6q8JLzQpma+8l+ECulfJcPNW8yFz
 GJjHrLF6+NSiMQYa41fnuyzMARI8GYEtboHwdjDW26LX4eT6lH5qyKt2dKb6hhGG
 enEoWlDAbpL+TyF7HnQf4S9iRIaboetqWE6oD00OdaIvvgEMSDI8zGdcliLfoMN/
 exSZVFRmy7xe9zI+Pdde9h5cfAu6MSp1n+JI0cush0JCKBgejz+7TiCobH8OrSQE
 WlNSPb36
 =9k89
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-defconfig-for-5.14-1' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/defconfig

Additional Qualcomm ARM64 defconfig udpate for v5.14

The Qualcomm Robotics RB3 Development Kit has a Renesas USB HUB on one
of the PCIe busses, which requires the releated driver to be enabled to
provide functional Ethernet and additional USB host ports.

* tag 'qcom-arm64-defconfig-for-5.14-1' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: defconfig: Enable renesas usb xhci pci host controller

Link: https://lore.kernel.org/r/20210621165015.943060-1-bjorn.andersson@linaro.org
Signed-off-by: Olof Johansson <olof@lixom.net>
2021-06-23 19:01:58 -07:00
Olof Johansson c21cc3d892 Additional Qualcomm ARM64 DT updates for v5.14
After a series of refactorings and additions to the SM8150 and SM8250
 platform definitions, this adds new devicetree definitions for Sony
 Xperia 1, 5, 1II and 5II.
 
 It defines the Qualcomm SA8155p automotive platform as a derrivative of
 SM8150 and introduces the Automotive Deveopment Platform board.
 
 Lastly ipq8074 gains the definiton of an additiona I2C master and the
 SDHCI bus votes for sc7180 are tweaked.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmDQwh4bHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3FGfUP/0Ml/1mgNle0tSRUbzVi
 vrNxRP4z4PXwQyeybjJ8jxZYAaBzGTlzm/p77plcacHx6Vi01g8xWWciZ6sm6Su9
 JViVInUNvRmJgDttiL9g5EwvH9JQ7olPmGaGxpKNd+z7yHXgAwC9i3pxaMVDlYE1
 0Vx2bU2kMaoWFUB3Mlwn5xK+a6HOvu37lKQm0Vj37OJrXs11FNobA9+WGMCIMAI6
 l2cf+Lj8aaHtOYmv8qcoK9XiwCEBOQW8FqeSExJk1TIHskcEYBiHPdiTVfbmyQ4I
 bABNEEktat7zERDNZOkXEhMIOF34RwNPZM8Z57Ks5rjikaHbnBtEPdVsQsdTorrO
 EMsWLcX3o3qs4eiFMZoNCuCjNbXTjvGEQLLCCmkMmym2N3jnJNOATZOrj8Rg7KU4
 Tpk+zc3bYfLn0Cw3C6MMAOwqI7Taz3hcOvb3Wbm3j7DYg2McC3Obi8fn/7izx+Mu
 iB88zoDqmodt158JcZg0s7+FR3i4fZlnExwk4FfotGxBLUhi+YkJFaQoL94qSrJu
 1CwfXdvC+rwUbpOzYoybt07K2Dy4B+f1nW73EV7Osvl8r5JyOS5OizPqdbBQYYZ+
 Xbj+rivMz6zmuvg74PGD32nfBnw9oeqEPAkuqERj5B0VZTwAQ05OkxikPCts6FwR
 nY5WF7SjiVNQZwPX+kKLrfUI
 =5AxZ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJDBAABCgAtFiEElf+HevZ4QCAJmMQ+jBrnPN6EHHcFAmDT54UPHG9sb2ZAbGl4
 b20ubmV0AAoJEIwa5zzehBx3Z5cP/R5tXllIZY/EPskveUIGyzWH9Lr3NO21np8E
 RNZ2W5me2BgnQExDY0Xjz9akFbGPkVNVdCld0QAq7FDmbiwN/o+WKhXyOAVoBja+
 j1JQLuRdGtzOKGCoVPy3uNo4GMbv6rbvVHSABCB2BZLes+uXSaXe+PI/mNEPTpXr
 mn2/kK4fknAHX70PeWy+Vk4RnyJcM4np/tpWI3uTJNnBOuiBaYoRNk/XHCd+8Byx
 FFswcNJBddOg62zbKf1qc7BxE2WwsRS0magNnqh3z+a6fHLGN8xKtja4FD7KufVr
 FhJ48hPTnLAr+/piKJhB/IBq2oBnoS3SWOMME5frGHSChzWjxuFOkZCn3HqiLb7J
 CdYzlZqyhnBZHpatl0Oif5NAjb/+aBW6oECP94b/eT57kyYMqnuqzcyjuzEDBiVK
 XpOpJ0fvRjh+Z1/ruIjwc+yrov1SPmEu2hhKBGmkX6chkRQ5SMEbud2SRtdy01Wq
 0DDSbQzvCPYnJJtN73Z81XIIjbJWtI0cI4yFp/g8xi/4C3TzMU9zQChiZuT63FKV
 vMLRj5KxTKD0E0DGDWePFR7Sq5BgmU87VQDAFehQwsZN7U+mdqMnoyFyaazXifpq
 t/xTy9ZBIoKUW0leRnChvJL5d/2HEdnPimZcvL9CoC27IvGvazfOGAMBGV4fh54t
 Y3ug457C
 =e35Z
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-for-5.14-1' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/dt

Additional Qualcomm ARM64 DT updates for v5.14

After a series of refactorings and additions to the SM8150 and SM8250
platform definitions, this adds new devicetree definitions for Sony
Xperia 1, 5, 1II and 5II.

It defines the Qualcomm SA8155p automotive platform as a derrivative of
SM8150 and introduces the Automotive Deveopment Platform board.

Lastly ipq8074 gains the definiton of an additiona I2C master and the
SDHCI bus votes for sc7180 are tweaked.

* tag 'qcom-arm64-for-5.14-1' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (25 commits)
  arm64: dts: ipq8074: Add QUP6 I2C node
  arm64: dts: qcom: sc7180: bus votes for eMMC and SD card
  arm64: dts: qcom: sm8250-edo: Add Samsung touchscreen
  arm64: dts: qcom: sm8250-edo: Enable GPI DMA
  arm64: dts: qcom: sm8250-edo: Enable ADSP/CDSP/SLPI
  arm64: dts: qcom: sm8250-edo: Enable PCIe
  arm64: dts: qcom: sm8250: Commonize PCIe pins
  arm64: dts: qcom: sm8250-edo: Add hardware keys
  arm64: dts: qcom: sa8155p-adp: Add base dts file
  arm64: dts: qcom: pmm8155au_2: Add base dts file
  arm64: dts: qcom: pmm8155au_1: Add base dts file
  arm64: dts: qcom: sm8250-edo: Fix up double "pinctrl-1"
  arm64: dts: qcom: sm8[12]50-pm8150: Move RESIN to pm8150 dtsi
  arm64: dts: qcom: sm8250: Add support for SONY Xperia 1 II / 5 II (Edo platform)
  arm64: dts: qcom: sm8250: Move gpio.h inclusion to SoC DTSI
  arm64: dts: qcom: sm8250: Add SDHCI2 sleep mode pinctrl
  arm64: dts: qcom: sm8150: Add support for SONY Xperia 1 / 5 (Kumano platform)
  arm64: dts: qcom: sm8150: Disable Adreno and modem by default
  arm64: dts: qcom: sm8250: Disable Adreno and Venus by default
  arm64: dts: qcom: sm8250: Add GPI DMA nodes
  ...

Link: https://lore.kernel.org/r/20210621164946.942956-1-bjorn.andersson@linaro.org
Signed-off-by: Olof Johansson <olof@lixom.net>
2021-06-23 19:01:41 -07:00
Olof Johansson 73d1774e0f A lot of dt-yaml related fixes; PCIe, USB and pwm-fans for Helios64;
Display rotation and audio codec for the Odroid Go Advance;
 IR, spdif and usb-c support for rk3399-firefly;
 USB support for rk3308 and some rk3328 boards and setting
 the PCIe link speed to actually only supported speed on rk3399.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmDO/cEQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdge1jB/9YUxCy4YUpdu6Cd1xMSekFi9fk5fHb/KF/
 OboLWvgany7SW0zAGV6XgFxIZKczVx5kQwq1Sf0seiI5u7RL2Fir5VRh9Uu6qK0l
 i8saw+hThXWu4Bg3xiKo8eIG76apHAH9eWuSuRx9hJjb6PgOym5Fh2IOcdUyx7JB
 g3TqUGk/Ai+TR55ySPB6f/TJQO0PFNMmzrJO0QYnO70TWFRYKsmsnLCEfAPpzcr0
 1NBbvLF+mtvNOlTlANUDAr4XcqrMJgGI7b4s3i0c8Dt5ani6QoJKuwZvnKbG7Tm5
 zOgiHnDfNcHMacTeJKwDUKc/zF+Dvt+fflsfk1thb+tFHbuEXIQT
 =H1p3
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJDBAABCgAtFiEElf+HevZ4QCAJmMQ+jBrnPN6EHHcFAmDT5yYPHG9sb2ZAbGl4
 b20ubmV0AAoJEIwa5zzehBx3p5IP/j2MNoOXY0pLUCfM/5fQ66/ES/uLBV2Rt4Qg
 d1axZkcZ74qOcXhmxCfiq/1/4vYNZu+QQ+D/QFXmor9HbRZMzebvODQIcMWJmwCQ
 tavBHqG3seKzSQibaPveOCgSqK2UqzABpVexgE28QrVkrY3DhR3vYBlxNDz4terC
 9ucICyXur2j4/pv2ZIQhyoZTuaGPp9bLdU7QigRUsXODEirnLzjuV1u1XML7vRbW
 nKA7cp/6z4ndrUksC8p3sSDHUTfhJKMi0Hs7iFW6Le+0sog4MFzwNJLzJZ2V+KeI
 mCkCZsjsieMy1qtfG36ad/DaXt1AOlsVzgoMo4QFfy07oC7AICoX2QMGwiJvE/l8
 f3eep7P3vDm20bs3DzfhjA+leurBjQq2gOCkA7NgFgpTFAu9S1d4dDC+fxRaqwi3
 I0fD/pDbQSyQIXw5HpwieCU+d0+VI0VXBnMFYSxo3zyX6t6QXFF9phoAECLiBqUO
 VjjDkGiI9+EjUKTWFVxFTLsnPHhWA5Eab+FOqlpW2a1fmAUHSXq7Q3LVG0BR0DJn
 EDtFPIEkqxuSWkuyiGM7pcgwUEhoYmdRqda9yty0zJaUKMqWd/8xGHj8AG/avWho
 V/0EZDOlydO474k7g8eIW6mEErhdBIkXHHVQLcamk2EjYn78JUVT1P7f0GprMDqc
 7HUJmQy1
 =qhsN
 -----END PGP SIGNATURE-----

Merge tag 'v5.14-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt

A lot of dt-yaml related fixes; PCIe, USB and pwm-fans for Helios64;
Display rotation and audio codec for the Odroid Go Advance;
IR, spdif and usb-c support for rk3399-firefly;
USB support for rk3308 and some rk3328 boards and setting
the PCIe link speed to actually only supported speed on rk3399.

* tag 'v5.14-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (30 commits)
  arm64: dts: rockchip: Re-add regulator-always-on for vcc_sdio for rk3399-roc-pc
  arm64: dts: rockchip: Re-add regulator-boot-on, regulator-always-on for vdd_gpu on rk3399-roc-pc
  arm64: dts: rockchip: add ir-receiver for rk3399-roc-pc
  arm64: dts: rockchip: Add USB-C port details for rk3399 Firefly
  arm64: dts: rockchip: Sort rk3399 firefly pinmux entries
  arm64: dts: rockchip: add infrared receiver node to RK3399 Firefly
  arm64: dts: rockchip: add SPDIF node for rk3399-firefly
  arm64: dts: rockchip: Add Rotation Property for OGA Panel
  arm64: dts: rockchip: Add support for USB on helios64
  arm64: dts: rockchip: add USB support to rk3308.dtsi
  arm64: dts: rockchip: rename nodename for phy-rockchip-inno-usb2
  arm64: dts: rockchip: add rk817 codec to Odroid Go
  arm64: dts: rename grf-gpio nodename in rk3328.dtsi
  arm64: dts: rockchip: Add support for PCIe on helios64
  arm64: dts: rockchip: Add support for two PWM fans on helios64
  arm64: dts: rockchip: fix regulator-gpio states array
  arm64: dts: rockchip: add #power-domain-cells to power domain nodes
  arm64: dts: rockchip: Fix power-controller node names for rk3399
  arm64: dts: rockchip: Fix power-controller node names for rk3328
  arm64: dts: rockchip: Fix power-controller node names for px30
  ...

Link: https://lore.kernel.org/r/2796982.e9J7NaK4W3@phil
Signed-off-by: Olof Johansson <olof@lixom.net>
2021-06-23 19:00:06 -07:00
Olof Johansson 43b3219861 mvebu dt64 for 5.14 (part 1)
on Armada 3700:
 Move turris-mox-rwtm firmware node to a more generic place
 
 on AP807:
 Make SD/MMC controller still usbale with older kernel
 
 CP11x:
 update comphy references
 
 cn9130:
 Improve NAND partitioning scheme for cn9130-db
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCYM8AuAAKCRALBhiOFHI7
 1WiaAJ9bSDRCWpkWEnJS/i867xL2QHrDMACgjJlDVRyyuBbqC8ltQGTZSYAHxuk=
 =qTZO
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJDBAABCgAtFiEElf+HevZ4QCAJmMQ+jBrnPN6EHHcFAmDT5qQPHG9sb2ZAbGl4
 b20ubmV0AAoJEIwa5zzehBx3FlEP/A4hoXnCv6IWuW7TwBB3Dks10r9eD5rsTmnQ
 WtEQjuQdIXaCyqt7K6MPDlxvAqIFN8yb6clFYXYaI3LAARiqVjEW+7lbEWZgcx9j
 mgIwTRWG1u6J1JV50/aI+ezxahadUCDg6SSwwW1JqH5/3gdbfYxdIHwzF9xVEzIW
 5nsdkJi981zW/VY5opJobh3dkSY1oaDZ+BT2lDvDRKard1LyFeQHFl9lt7TZEqN1
 q0vTAYLLrtV7a4QND+N2qPttEOVHIqQMDAzthFYz7P7TzDjbfh44ptT/Al7TyiKe
 lqhVMHyFlacL4a/CL9Lkm2o1N6anN1Ex2vJtjNob61cbLREkaaubt/KdpNNxxWRp
 jURAgo/anPnrMaAIzjmHYwWA7YTae41tpz4LQ7H6iAPQqHzUSQRhOOItvBpA/m2V
 Ug954bvdgt4iaB+HAl7muiWbKRrkm8INyq7y7sDJoHpXKElFAWmw7jUd3qZUx+Dm
 1T7UrU+OEAJ35cNBIoUinaY/4GcyNozJNo9+I5UbRHkbRjGZ5RTk4URq0W/XlNli
 gq3tXuouhGRl0Mh7sH7tDx+u5l4AHoPOj/eM1HzQCiuS9NZ9ZHWbynDGU/US4Y3h
 kP5cPLpB7q5KMTJyvej6AecJHfbKN+EV8RvYeAI6xHQJrOX4b2idRo8scVYVYzTc
 hGx+ERNX
 =fpYE
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt64-5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into arm/dt

mvebu dt64 for 5.14 (part 1)

on Armada 3700:
Move turris-mox-rwtm firmware node to a more generic place

on AP807:
Make SD/MMC controller still usbale with older kernel

CP11x:
update comphy references

cn9130:
Improve NAND partitioning scheme for cn9130-db

* tag 'mvebu-dt64-5.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arch/arm64/boot/dts/marvell: fix NAND partitioning scheme
  Documentation/bindings: phy: update references to cp11x
  arm64: dts: ensure backward compatibility of the AP807 Xenon
  arm64: dts: marvell: armada-37xx: move firmware node to generic dtsi file

Link: https://lore.kernel.org/r/878s3429zi.fsf@BL-laptop
Signed-off-by: Olof Johansson <olof@lixom.net>
2021-06-23 18:57:55 -07:00
Olof Johansson 707472acca Devicetree changes for TI K3 platforms for v5.14 merge window:
* New features:
   - AM64 gains PCIe and USB3 for am64-sk board, R5 remote proc (includes
     AM64 rproc bindings tag from Bjorn's  tree)
   - AM65, J721e gains ICSSG MDIO nodes
   - AM65: UHS mode speed enabled on am65
 * Fixes:
   - Fixups on AM64 SRAM model thanks to a ROM bug for USB DFU mode
   - Schema related cleanups across j7*, am65, 64
   - Few misc Fixups on AM64 where MAC address could conflict; j7200 for
     USB2 Rx sensitivity etc.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmDNLIYACgkQ3bWEnRc2
 JJ0QMhAAkGIrShbBct9hZ0joA7AfcqZXgtRxgIe48UIaie7X3Ckp0W+FW6U1mbLX
 xRurXUKLXbrDSQV17n1ihHIJvGfpBgotIfpLm0MOnT6xy+2x85h+UndinuzX6Lqo
 oR+lg+NV+N+Je8weaY/j6heLA/MkHaaQwheKEumxzQushCLjaCZgaWwh8mOWblsr
 zXsoO6RWhB+ds47NTpZdBZeB5QmMmk+OdQRA+CTWVgWNuEzPs0RZ9iW/NQtV/YLM
 O7PjB2ynhl3OZkrt34/AaSaBr+EvFr4OiMPMuuEFlo24Zj90uScjRV6hD/K57qN3
 st/S23M8vOW9H9AQqLxosqLr6+ZqxJ6ZTbYtAUgdxbYxdhtv/4MKNQYm5NVQAx2S
 XDGUT9VNgJ+z9xFj7OlvoGzf80aI26MqxFDg/v50np6BAeQIpmlCpXFMIwluNsm1
 +Skk9gojfX0D43eg7reYbgD0JCSBX8632JkpZcc5Q+RxbkQsUp6m2df2T87vVit5
 FAuu+KszHg8NCaZj6vSuLlDj21bSFSYkqiayJmo749cvK7P37zYUF+wmRo/73bNm
 Iecps5shndc1v7KsvrwuzV01v1BNZOFCRIByLhBkB4ef8q/s16Ci+yF0hUpTI/WG
 v5t69kZjGMuUNpypCZjjGappC7dDGglSYAk8/g9OEZpwvkoIopI=
 =qbOS
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJDBAABCgAtFiEElf+HevZ4QCAJmMQ+jBrnPN6EHHcFAmDT5JgPHG9sb2ZAbGl4
 b20ubmV0AAoJEIwa5zzehBx3/3cQAIBuP00AgYCVM0zFUV3xO+1tZhaW2yN2zIEG
 BmtnwkIfi1XilLhtbjLEkAaMkyf1evkXX4JuWv2aCIx06WAQPprpMwwMCIJVuXuB
 zXAz3aslId6lxmQhcRlxEtVe/qdW1eLaOU3zMbqpJaCyqEOrl6z6jIlM2IVeynXi
 7wg+3mozb+2Od3Damm9wanNch5rHk3jYm2vwAeoyfCpVnWn/4+63MPABZTs7wllP
 DtDnpjMIekRydkSh5VBU//MqW5gGU9v28MPh7g5lCCoSPfyVtfB3hIjTeeBYnkNN
 Fwn03Cfd/aW5fMc2eQkuaPKe0cur8weiT4HOnxfv+DNVzIcyw9Rc254oECChg7ZG
 CXZik/kjjHBXZoz2R6ul2iv5ibHOC2Haq0LVoFvg3VWDMgvXZXIK1rSYmuH1H3+j
 lDPSp71ZQYlGk0fQKEi4cdrWNDcr/Pyr4KIfsoqA5dzv+A1KbfAxRhRLxCC8iHHL
 N7X6fIwvo3YjBRT3fbWVJTUHtxkM3GlvIQDMPfsYlEHjofzPTJlIs2JefASeb0XE
 pzdKBZRZuVxmTKb3L/oClLEGAJaQWj2OX1pm0VkNQSgpOQYqWW9d40WJO7/alrrD
 iKlcmQvuCH+gcpIqw0TdFKvHI9XdG/+cn3uyiUtHDmyNZNWaDCaDu4Ev5kMx7Rhz
 lC+1Gt4y
 =dIlN
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-dt-for-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux into arm/dt

Devicetree changes for TI K3 platforms for v5.14 merge window:

* New features:
  - AM64 gains PCIe and USB3 for am64-sk board, R5 remote proc (includes
    AM64 rproc bindings tag from Bjorn's  tree)
  - AM65, J721e gains ICSSG MDIO nodes
  - AM65: UHS mode speed enabled on am65
* Fixes:
  - Fixups on AM64 SRAM model thanks to a ROM bug for USB DFU mode
  - Schema related cleanups across j7*, am65, 64
  - Few misc Fixups on AM64 where MAC address could conflict; j7200 for
    USB2 Rx sensitivity etc.

* tag 'ti-k3-dt-for-v5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux: (37 commits)
  arm64: dts: ti: k3-am642-evm/sk: Add DDR carveout memory nodes for R5Fs
  arm64: dts: ti: k3-am642-evm/sk: Add mailboxes to R5Fs
  arm64: dts: ti: k3-am64-main: Add MAIN domain R5F cluster nodes
  arm64: dts: ti: k3-am64-main: Update TF-A load address to workaround USB DFU limitation
  arm64: dts: ti: k3-am64-main: Reserve OCMRAM for DMSC-lite and secure proxy communication
  arm64: dts: ti: k3-am64-main: Update TF-A's maximum size and node name
  arm64: dts: ti: Drop reg-io-width/reg-shift from UART nodes
  arm64: dts: ti: k3-am642-evm: align ti,pindir-d0-out-d1-in property with dt-shema
  arm64: dts: ti: am65: align ti,pindir-d0-out-d1-in property with dt-shema
  arm64: dts: ti: k3-am642-main: fix ports mac properties
  arm64: dts: ti: iot2050: Configure r5f cluster on basic variant in split mode
  arm64: dts: ti: k3-am642-sk: Disable PCIe
  arm64: dts: ti: k3-am642-sk: Enable USB Super-Speed HOST port
  arm64: dts: ti: k3-am642-evm: Enable PCIe and SERDES
  arm64: dts: ti: k3-am64-main: Add PCIe DT node
  arm64: dts: ti: k3-am64-main: Add SERDES DT node
  arm64: dts: ti: k3-j721e-common-proc-board: Re-name "link" name as "phy"
  arm64: dts: ti: k3-j721e-common-proc-board: Use external clock for SERDES
  arm64: dts: ti: k3-j721e-main: Add #clock-cells property to serdes DT node
  arm64: dts: ti: k3-j721e-main: Fix external refclk input to SERDES
  ...

Link: https://lore.kernel.org/r/20210619000150.6ooqnxxsnsvncs5u@pushchair
Signed-off-by: Olof Johansson <olof@lixom.net>
2021-06-23 18:49:11 -07:00
Olof Johansson def0c98367 ARM64: DT: HiSilicon ARM64 DT updates for 5.14
- Correct the HiSilicon copyright
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCgAzFiEEQeMYD8qOQTc1R/snC8hXbtmJZlwFAmDK8h0VHHh1d2VpNUBo
 aXNpbGljb24uY29tAAoJEAvIV27ZiWZcBPIP/iuQgFVLCPf8ZDm60ERCEp1Mjo9I
 ITVy8BQek+A6Nq3b+LxauP+wxwuu2Q8zvbHuor9HRsY0ArTkOhMMlmpHqboHUImN
 ZZFhIuoh3fglqmd+YvBCDPLCskrWWRoWjdVYAJJTQP/SdQIwBBYBrn//VAWub+/e
 8/iDVVhMHhFF83fAIXI+hqOJ8gOHiTMNzQ1Eww6IBqXcbKUljw6Br+2IdNkZCRw8
 9nUgUF2inef92F6+GF0Ybzbui67RLWWFngs8QQAe14qQ8SrPpef60mYwzQyNg2vw
 l3fkoml1SY8aqC9qSP/Gv4tdQIN7Rw6dCdD6E9fKFoeu+F5Ufrc54hQ0PKeyT5J/
 4QxV5mhFM/F5Y7UAODb852jTWisyV4tVGr0I+ImPQGA48w/UUKAXV+31RgYS1ZKs
 tzIZ1qVjCo5AAQrWleGIrLc/GZR0EbGyncjkUMorZSEwkhlyQu0O6JqDmT0UsiXv
 xF3qX10v5/n2FZtc/ILqDzyB+3YEkCshlTI4HHD2ot4IhmTBNwjivxEn9D5MCKa1
 FMcieV9a9RNODyGuqB0NJA74lWMOTNVyWUiD7sA1g4QgaGmM3Ai+51Ck8YAH+f6t
 G0JXFkin++DkzSopKEXC5GNjxnl3wPbX5csJCyeKxNcTegFBA0tAWRx45CmLcn6c
 9V124bI7BW9AsrG3
 =E1H6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJDBAABCgAtFiEElf+HevZ4QCAJmMQ+jBrnPN6EHHcFAmDT42cPHG9sb2ZAbGl4
 b20ubmV0AAoJEIwa5zzehBx3MKEP/iXirMMgqCW4u7GoboAh7Dqjwn94fKJTq1fF
 d1xBl2fUtr6dQ2kIAdUbuFH3S+cqmEKdncFKaDqqtdmgQRUiqKMo9MxPsqb4r1+Y
 VaBsrUzVgE5Cm/TG9sG64rHAwpBpDXSs2DXJm6MTFanj2zXTWZ7sMcjBKYqjRQkR
 aDXaDywaDQEPl7792s2BwphJ6aVUrY6n9v5J2ohB176hSn2hvjm1vuPJUnOIAeSY
 V+lQjDaoG9GMkExURKF2kHdh/0XpAl63pGc5bK9kXktpChpbE0yH2TNdLA40+Y7O
 pAYTkBx1LAxdafqe0xKUe3IwBY7ZtTve3QelgLdJAgJ8yMEk89PjsazC0CrletyC
 tXuhkabGdKhEHudCpp5zMd0+rQgLSer8URV2s2zRFqMKsyuCLVBCXhaH714DtT/E
 LoQSJLNWaeM24vjmGn/+EiI/HBs2C46OLvVrYztZiVFTSP3fPow3iuGppJoQ1emd
 GpavFU9SSbIAVqf3gpGmup8foIIYsbygw4fYxXj/SK+rl0ircW9rnju8a/io3dT7
 WR6pdEhJMZETQUgfV0Rd5o0zgFvUn3IUyNG13MCnxf2sAvoPckYGZms5BNrtshoD
 XkupW+dPG/j6wYQm/X/yglAiBu5A9DV61kv9o+QoihMI7ht7EBD2W56BAfnNUcz2
 /cTFmALG
 =VKXn
 -----END PGP SIGNATURE-----

Merge tag 'hisi-arm64-dt-for-5.14' of git://github.com/hisilicon/linux-hisi into arm/dt

ARM64: DT: HiSilicon ARM64 DT updates for 5.14

- Correct the HiSilicon copyright

* tag 'hisi-arm64-dt-for-5.14' of git://github.com/hisilicon/linux-hisi:
  arm64: dts: hisilicon: use the correct HiSilicon copyright

Link: https://lore.kernel.org/r/60CBF4AE.7040301@hisilicon.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2021-06-23 18:44:07 -07:00
Zhenyu Ye 52218fcd61 arm64: tlb: fix the TTL value of tlb_get_level
The TTL field indicates the level of page table walk holding the *leaf*
entry for the address being invalidated. But currently, the TTL field
may be set to an incorrent value in the following stack:

pte_free_tlb
    __pte_free_tlb
        tlb_remove_table
            tlb_table_invalidate
                tlb_flush_mmu_tlbonly
                    tlb_flush

In this case, we just want to flush a PTE page, but the tlb->cleared_pmds
is set and we get tlb_level = 2 in the tlb_get_level() function. This may
cause some unexpected problems.

This patch set the TTL field to 0 if tlb->freed_tables is set. The
tlb->freed_tables indicates page table pages are freed, not the leaf
entry.

Cc: <stable@vger.kernel.org> # 5.9.x
Fixes: c4ab2cbc1d ("arm64: tlb: Set the TTL field in flush_tlb_range")
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: ZhuRui <zhurui3@huawei.com>
Signed-off-by: Zhenyu Ye <yezhenyu2@huawei.com>
Link: https://lore.kernel.org/r/b80ead47-1f88-3a00-18e1-cacc22f54cc4@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-06-23 14:52:57 +01:00
Paolo Bonzini c3ab0e28a4 Merge branch 'topic/ppc-kvm' of https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux into HEAD
- Support for the H_RPT_INVALIDATE hypercall

- Conversion of Book3S entry/exit to C

- Bug fixes
2021-06-23 07:30:41 -04:00
Nick Desaulniers 51c2ee6d12 Kconfig: Introduce ARCH_WANTS_NO_INSTR and CC_HAS_NO_PROFILE_FN_ATTR
We don't want compiler instrumentation to touch noinstr functions,
which are annotated with the no_profile_instrument_function function
attribute. Add a Kconfig test for this and make GCOV depend on it, and
in the future, PGO.

If an architecture is using noinstr, it should denote that via this
Kconfig value. That makes Kconfigs that depend on noinstr able to express
dependencies in an architecturally agnostic way.

Cc: Masahiro Yamada <masahiroy@kernel.org>
Link: https://lore.kernel.org/lkml/YMTn9yjuemKFLbws@hirez.programming.kicks-ass.net/
Link: https://lore.kernel.org/lkml/YMcssV%2Fn5IBGv4f0@hirez.programming.kicks-ass.net/
Suggested-by: Nathan Chancellor <nathan@kernel.org>
Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20210621231822.2848305-4-ndesaulniers@google.com
2021-06-22 11:07:18 -07:00
Marc Zyngier 9f03db6673 Merge branch kvm-arm64/mmu/mte into kvmarm-master/next
KVM/arm64 support for MTE, courtesy of Steven Price.
It allows the guest to use memory tagging, and offers
a new userspace API to save/restore the tags.

* kvm-arm64/mmu/mte:
  KVM: arm64: Document MTE capability and ioctl
  KVM: arm64: Add ioctl to fetch/store tags in a guest
  KVM: arm64: Expose KVM_ARM_CAP_MTE
  KVM: arm64: Save/restore MTE registers
  KVM: arm64: Introduce MTE VM feature
  arm64: mte: Sync tags for pages where PTE is untagged

Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-06-22 15:09:34 +01:00
Steven Price f0376edb1d KVM: arm64: Add ioctl to fetch/store tags in a guest
The VMM may not wish to have it's own mapping of guest memory mapped
with PROT_MTE because this causes problems if the VMM has tag checking
enabled (the guest controls the tags in physical RAM and it's unlikely
the tags are correct for the VMM).

Instead add a new ioctl which allows the VMM to easily read/write the
tags from guest memory, allowing the VMM's mapping to be non-PROT_MTE
while the VMM can still read/write the tags for the purpose of
migration.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210621111716.37157-6-steven.price@arm.com
2021-06-22 14:08:06 +01:00
Steven Price 673638f434 KVM: arm64: Expose KVM_ARM_CAP_MTE
It's now safe for the VMM to enable MTE in a guest, so expose the
capability to user space.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210621111716.37157-5-steven.price@arm.com
2021-06-22 14:08:06 +01:00
Steven Price e1f358b504 KVM: arm64: Save/restore MTE registers
Define the new system registers that MTE introduces and context switch
them. The MTE feature is still hidden from the ID register as it isn't
supported in a VM yet.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210621111716.37157-4-steven.price@arm.com
2021-06-22 14:08:05 +01:00
Steven Price ea7fc1bb1c KVM: arm64: Introduce MTE VM feature
Add a new VM feature 'KVM_ARM_CAP_MTE' which enables memory tagging
for a VM. This will expose the feature to the guest and automatically
tag memory pages touched by the VM as PG_mte_tagged (and clear the tag
storage) to ensure that the guest cannot see stale tags, and so that
the tags are correctly saved/restored across swap.

Actually exposing the new capability to user space happens in a later
patch.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Steven Price <steven.price@arm.com>
[maz: move VM_SHARED sampling into the critical section]
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210621111716.37157-3-steven.price@arm.com
2021-06-22 14:08:05 +01:00
Raphael Gault cf292e93f4 arm64: Restrict undef hook for cpufeature registers
This commit modifies the mask of the mrs_hook declared in
arch/arm64/kernel/cpufeatures.c which emulates only feature register
access. This is necessary because this hook's mask was too large and
thus masking any mrs instruction, even if not related to the emulated
registers which made the pmu emulation inefficient.

Signed-off-by: Raphael Gault <raphael.gault@arm.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20210517180256.2881891-1-robh@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-06-22 11:57:03 +01:00
Liang Chen 01610a24ce arm64: dts: rockchip: add basic dts for RK3568 EVB
This patch add rk3568-evb1-v10.dts for RK3568 evaluation board.
add uart/emmc/i2c/rk809 node for basic function.

Signed-off-by: Liang Chen <cl@rock-chips.com>
Link: https://lore.kernel.org/r/20210622020517.13100-5-cl@rock-chips.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-06-22 12:21:55 +02:00
Liang Chen a3adc0b907 arm64: dts: rockchip: add core dtsi for RK3568 SoC
RK3568 is a high-performance and low power quad-core application processor
designed for personal mobile internet device and AIoT equipment. This patch
add basic core dtsi file for it.

We use scmi_clk for cortex-a55 instead of standard ARMCLK, so that
kernel/uboot/rtos can change cpu clk with the same code in ATF, and we will
enalbe a special high-performance PLL when high frequency is required. The
smci_clk code is in ATF, and clkid for cpu is 0, as below:

    cpu0: cpu@0 {
        device_type = "cpu";
        compatible = "arm,cortex-a55";
        reg = <0x0 0x0>;
        clocks = <&scmi_clk 0>;
    };

Signed-off-by: Liang Chen <cl@rock-chips.com>
Link: https://lore.kernel.org/r/20210622020517.13100-4-cl@rock-chips.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-06-22 12:21:55 +02:00
Liang Chen ef0bff8ba8 arm64: dts: rockchip: add generic pinconfig settings used by most Rockchip socs
The pinconfig settings for Rockchip SoCs are pretty similar on all socs,
so move them to a shared dtsi to be included, instead of redefining them
for each soc.

Signed-off-by: Liang Chen <cl@rock-chips.com>
Link: https://lore.kernel.org/r/20210622020517.13100-3-cl@rock-chips.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-06-22 12:06:08 +02:00
Steven Price 69e3b846d8 arm64: mte: Sync tags for pages where PTE is untagged
A KVM guest could store tags in a page even if the VMM hasn't mapped
the page with PROT_MTE. So when restoring pages from swap we will
need to check to see if there are any saved tags even if !pte_tagged().

However don't check pages for which pte_access_permitted() returns false
as these will not have been swapped out.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210621111716.37157-2-steven.price@arm.com
2021-06-22 09:38:50 +01:00
Anshuman Khandual 2062d44da3 arm64/mm: Rename ARM64_SWAPPER_USES_SECTION_MAPS
ARM64_SWAPPER_USES_SECTION_MAPS implies that a PMD level huge page mappings
are used for swapper, idmap and vmemmap. Lets make it PMD explicit removing
any possible confusion with generic memory sections and also bit generic as
it's applicable for idmap and vmemmap mappings as well. Hence rename it as
ARM64_KERNEL_USES_PMD_MAPS instead.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/1623991622-24294-1-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-06-21 18:22:23 +01:00
Robert Marko abe66bb7a2 arm64: dts: ipq8074: Add QUP6 I2C node
Add node to support the QUP6 I2C controller inside
of IPQ8074.
It is exactly the same as QUP2 and QUP3 controllers.

Some routers like Xiaomi AX9000 and Netgear RBK850
use this bus.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Link: https://lore.kernel.org/r/20210619162751.2336974-1-robimarko@gmail.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-06-21 11:21:11 -05:00
Mark Rutland 69bb0585eb arm64: insn: avoid circular include dependency
Nathan reports that when building with CONFIG_LTO_CLANG_THIN=y, the
build fails due to BUILD_BUG_ON() not being defined before its uss in
<asm/insn.h>.

The problem is that with LTO, we patch READ_ONCE(), and <asm/rwonce.h>
includes <asm/insn.h>, creating a circular include chain:

        <linux/build_bug.h>
        <linux/compiler.h>
        <asm/rwonce.h>
        <asm/alternative-macros.h>
        <asm/insn.h>
        <linux/build-bug.h>

... and so when <asm/insn.h> includes <linux/build_bug.h>, none of the
BUILD_BUG* definitions have happened yet.

To avoid this, let's move AARCH64_INSN_SIZE into a header without any
dependencies, such that it can always be safely included. At the same
time, avoid including <asm/alternative.h> in <asm/insn.h>, which should
no longer be necessary (and doesn't make sense when insn.h is consumed
by userspace).

Reported-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20210621080830.GA37068@C02TD0UTHF1T.local
Fixes: 3e00e39d9d ("arm64: insn: move AARCH64_INSN_SIZE into <asm/insn.h>")
Signed-off-by: Will Deacon <will@kernel.org>
2021-06-21 11:58:03 +01:00
Alex Bee eb607cd495 arm64: dts: rockchip: Re-add regulator-always-on for vcc_sdio for rk3399-roc-pc
Re-add the regulator-always-on property for vcc_sdio which supplies sdmmc,
since it gets disabled during reboot now and the bootrom expects it to be
enabled  when booting from SD card. This makes rebooting impossible in that
case and requires a hard reset to boot again.

Fixes: 04a0077fdb ("arm64: dts: rockchip: Remove always-on properties from regulator nodes on rk3399-roc-pc.")
Signed-off-by: Alex Bee <knaerzche@gmail.com>
Link: https://lore.kernel.org/r/20210619121306.7740-1-knaerzche@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-06-19 23:55:10 +02:00
Alex Bee 06b2818678 arm64: dts: rockchip: Re-add regulator-boot-on, regulator-always-on for vdd_gpu on rk3399-roc-pc
This might be a limitation of either the current panfrost driver
devfreq implementation or how the gpu is implemented in RK3399 SoC.
The gpu regulator must never get disabled or the registers get
(randomly?) inaccessable by the driver. (see all other RK3399 boards)

Fixes: ec7d731d81 ("arm64: dts: rockchip: Add node for gpu on rk3399-roc-pc")
Signed-off-by: Alex Bee <knaerzche@gmail.com>
Link: https://lore.kernel.org/r/20210619121446.7802-1-knaerzche@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-06-19 23:54:12 +02:00
Alex Bee e1d635bc94 arm64: dts: rockchip: add ir-receiver for rk3399-roc-pc
Like some other RK3399 boards RK3399-ROC-PC has an ir receiver
connected to pwm3 which can be used as gpio-ir-receiver.

Signed-off-by: Alex Bee <knaerzche@gmail.com>
Link: https://lore.kernel.org/r/20210619121642.7892-1-knaerzche@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-06-19 23:49:14 +02:00
Peter Robinson a406bfda89 arm64: dts: rockchip: Add USB-C port details for rk3399 Firefly
Add the initial details for the USB-C port.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Link: https://lore.kernel.org/r/20210613215237.830160-4-pbrobinson@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-06-19 10:44:51 +02:00
Peter Robinson 5768c5ff07 arm64: dts: rockchip: Sort rk3399 firefly pinmux entries
Sort the rk3399 firefly pinmux entries in alphabetical
order and de-dupe the pmic entries.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Link: https://lore.kernel.org/r/20210613215237.830160-3-pbrobinson@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-06-19 10:43:57 +02:00
Peter Robinson 4fab8e3655 arm64: dts: rockchip: add infrared receiver node to RK3399 Firefly
This adds the RK3399 Firefly’s infrared receiver to its dts.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Link: https://lore.kernel.org/r/20210613215237.830160-2-pbrobinson@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-06-19 10:43:57 +02:00
Peter Robinson ba2401ab87 arm64: dts: rockchip: add SPDIF node for rk3399-firefly
This patch adds the SPDIF sound node and related settings
for rk3399-firefly.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Link: https://lore.kernel.org/r/20210613215237.830160-1-pbrobinson@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-06-19 10:43:57 +02:00
Chris Morgan edb39de5d7 arm64: dts: rockchip: Add Rotation Property for OGA Panel
Add rotation property for Odroid Go Advance panel to note that it is
rotated 270 degrees. Rotation affects DRM connector after this patch:

https://cgit.freedesktop.org/drm/drm/commit/drivers/gpu/drm/panel/panel-elida-kd35t133.c?id=610d9c311b1387f8c4ac602fee1f2a1cb0508707

Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Link: https://lore.kernel.org/r/20210614161849.332-1-macroalpha82@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-06-19 10:37:47 +02:00
Jakub Kicinski adc2e56ebe Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Trivial conflicts in net/can/isotp.c and
tools/testing/selftests/net/mptcp/mptcp_connect.sh

scaled_ppm_to_ppb() was moved from drivers/ptp/ptp_clock.c
to include/linux/ptp_clock_kernel.h in -next so re-apply
the fix there.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-06-18 19:47:02 -07:00
Shaik Sajida Bhanu 77b7cfd0dc arm64: dts: qcom: sc7180: bus votes for eMMC and SD card
Update peak bandwidth and average bandwidth vote values for eMMC and
SDCard. This patch calculates the new votes as per the comments from
https://lore.kernel.org/patchwork/patch/1399453/#1619566.

Signed-off-by: Shaik Sajida Bhanu <sbhanu@codeaurora.org>
Link: https://lore.kernel.org/r/1623835344-29607-1-git-send-email-sbhanu@codeaurora.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-06-18 13:19:03 -05:00
Konrad Dybcio e76c7e1f15 arm64: dts: qcom: sm8250-edo: Add Samsung touchscreen
Add Samsung touchscreen node and relevant pin configuration to make the phones
actually interactable with.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210616122708.144770-6-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-06-18 12:43:33 -05:00
Konrad Dybcio 4a62a82428 arm64: dts: qcom: sm8250-edo: Enable GPI DMA
Enable GPI DMA for Edo devices.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210616122708.144770-5-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-06-18 12:43:32 -05:00
Konrad Dybcio f0cedfc398 arm64: dts: qcom: sm8250-edo: Enable ADSP/CDSP/SLPI
Enabling the hardware thankfully comes down to a simple status = "okay".
We assume that the firmware is provided by the Linux distribution, as it's
signed and needs to come from the stock Android.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210616122708.144770-4-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-06-18 12:42:32 -05:00
Konrad Dybcio db92d8cdde arm64: dts: qcom: sm8250-edo: Enable PCIe
Enable PCIe0 (Wi-Fi) and 2 (SDX55m) interfaces and PHYs and assign relevant
pins and regulators.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210616122708.144770-3-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-06-18 12:42:25 -05:00
Konrad Dybcio 13e948a36d arm64: dts: qcom: sm8250: Commonize PCIe pins
Commonize PCIe pins, as the configuration is SoC-common
and doesn't change (or at least doesn't change much) between
boards.

While at it, remove "output-low" from the RB5 board, as it's
not necessary - we already explicitly pull the perst pin low.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210616122708.144770-2-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-06-18 12:41:55 -05:00
Konrad Dybcio 46e14907c7 arm64: dts: qcom: sm8250-edo: Add hardware keys
Volume Down, GAssist (pdx206 only) and camera keys live on PMIC pins,
with the latter kind being broken for now.. Add these and PON-connected
Volume Up & PWR.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210616122708.144770-1-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-06-18 12:39:22 -05:00
Bhupesh Sharma 5b85e8f222 arm64: dts: qcom: sa8155p-adp: Add base dts file
Add base DTS file for SA8155p Automotive Development Platform.
It enables boot to console, adds tlmm reserved range and ufs flash.
It also includes pmic file.

SA8155p-adp board is based on sa8155p Qualcomm Snapdragon SoC.
SA8155p platform is similar to the SM8150, so use this as base
for now.

Cc: Vinod Koul <vkoul@kernel.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
Link: https://lore.kernel.org/r/20210617054548.353293-6-bhupesh.sharma@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-06-18 12:37:26 -05:00
Bhupesh Sharma b557471bb2 arm64: dts: qcom: pmm8155au_2: Add base dts file
Add base DTS file for pmm8155au_2 along with GPIOs, power-on, rtc and vadc
nodes.

Cc: Mark Brown <broonie@kernel.org>
Cc: Vinod Koul <vkoul@kernel.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
Link: https://lore.kernel.org/r/20210617054548.353293-5-bhupesh.sharma@linaro.org
[bjorn: Added gpio-ranges to pmm8155au_2_gpios]
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-06-18 12:29:53 -05:00
Bhupesh Sharma 10489ef12f arm64: dts: qcom: pmm8155au_1: Add base dts file
Add base DTS file for pmm8155au_1 along with GPIOs, power-on, rtc and vadc
nodes.

Cc: Mark Brown <broonie@kernel.org>
Cc: Vinod Koul <vkoul@kernel.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
Link: https://lore.kernel.org/r/20210617054548.353293-4-bhupesh.sharma@linaro.org
[bjorn: Added gpio-ranges to pmm8155au_1_gpios]
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-06-18 12:28:46 -05:00
Marc Zyngier 85c653fcc6 Merge branch arm64/for-next/caches into kvmarm-master/next
arm64 cache management function cleanup from Fuad Tabba,
shared with the arm64 tree.

* arm64/for-next/caches:
  arm64: Rename arm64-internal cache maintenance functions
  arm64: Fix cache maintenance function comments
  arm64: sync_icache_aliases to take end parameter instead of size
  arm64: __clean_dcache_area_pou to take end parameter instead of size
  arm64: __clean_dcache_area_pop to take end parameter instead of size
  arm64: __clean_dcache_area_poc to take end parameter instead of size
  arm64: __flush_dcache_area to take end parameter instead of size
  arm64: dcache_by_line_op to take end parameter instead of size
  arm64: __inval_dcache_area to take end parameter instead of size
  arm64: Fix comments to refer to correct function __flush_icache_range
  arm64: Move documentation of dcache_by_line_op
  arm64: assembler: remove user_alt
  arm64: Downgrade flush_icache_range to invalidate
  arm64: Do not enable uaccess for invalidate_icache_range
  arm64: Do not enable uaccess for flush_icache_range
  arm64: Apply errata to swsusp_arch_suspend_exit
  arm64: assembler: add conditional cache fixups
  arm64: assembler: replace `kaddr` with `addr`

Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-06-18 17:30:39 +01:00
Suman Anna d71abfcc6c arm64: dts: ti: k3-am642-evm/sk: Add DDR carveout memory nodes for R5Fs
Two carveout reserved memory nodes each have been added for each of the
R5F remote processor devices within the MAIN domain on the TI AM642 EVM
and SK boards. These nodes are assigned to the respective rproc device
nodes as well. The first region will be used as the DMA pool for the rproc
devices, and the second region will furnish the static carveout regions
for the firmware memory.

An additional reserved memory node is also added to reserve a portion of
the DDR memory to be used for performing inter-processor communication
between all the remote processors running RTOS or baremetal firmwares.
8 MB of memory is reserved for this purpose, and this accounts for all
the vrings and vring buffers between all the possible pairs of remote
processors.

The current carveout addresses and sizes are defined statically for each
rproc device. The R5F processors do not have an MMU, and as such require
the exact memory used by the firmwares to be set-aside. The firmware
images do not require any RSC_CARVEOUT entries in their resource tables
to allocate the memory for firmware memory segments.

NOTE:
1. The R5F1 carveouts are needed only if the R5F cluster is running in
   Split (non Single-CPU) mode. The reserved memory nodes can be disabled
   later on if there is no use-case defined to use the corresponding
   remote processor.
2. The AM64x SoCs do not have any DSPs and one less R5F cluster compared
   to J721E SoCs. So, while the carveout memories reserved for the R5F
   clusters present on the SoC match to those on J721E, the overall
   memory map reserved for firmwares is quite different. The number of
   R5F clusters on AM64x SoCs are same as on J7200 SoCs, but the AM64x
   SoCs also have an additional M4F core, so the RTOS IPC memory region
   is 1 MB higher than on J7200 SoCs.

Signed-off-by: Suman Anna <s-anna@ti.com>
Reviewed-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20210615195718.15898-4-s-anna@ti.com
2021-06-18 09:47:40 -05:00
Suman Anna 0afadba435 arm64: dts: ti: k3-am642-evm/sk: Add mailboxes to R5Fs
Add the required 'mboxes' property to all the R5F processors for the
TI AM642 EVM and SK boards. The mailboxes and some shared memory are
required for running the Remote Processor Messaging (RPMsg) stack
between the host processor and each of the R5Fs.

The chosen sub-mailboxes match the values used in the current firmware
images. This can be changed, if needed, as per the system integration
needs after making appropriate changes on the firmware side as well.

Note that any R5F Core1 resources are needed and used only when that
R5F cluster is configured for Split-mode.

Signed-off-by: Suman Anna <s-anna@ti.com>
Reviewed-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20210615195718.15898-3-s-anna@ti.com
2021-06-18 09:47:40 -05:00
Suman Anna a4f221cd68 arm64: dts: ti: k3-am64-main: Add MAIN domain R5F cluster nodes
The AM64x SoCs have 2 dual-core Arm Cortex-R5F processor (R5FSS)
subsystems/clusters. Both the R5F clusters are present within the
MAIN domain (MAIN_R5FSS0 & MAIN_R5FSS1). Each of these can be
configured at boot time to be either run in a new "Single-CPU" mode
or in an Asymmetric Multi Processing (AMP) fashion in Split-mode.
The mode is restricted to "Single-CPU" on some devices with the
appropriate eFuse bit set, but the most common devices support both
modes. These subsystems have 64 KB each Tightly-Coupled Memory (TCM)
internal memories for each core split between two banks - ATCM and
BTCM (further interleaved into two banks). The TCMs of both Cores
are combined in Single-CPU mode to provide a larger 128 KB of memory.
The other notable difference is that the TCMs are spaced 1 MB apart
on these SoCs unlike the existing SoCs.

Add the DT nodes for both these MAIN domain R5F cluster/subsystems,
the two R5F cores are added as child nodes to each of the corresponding
R5F cluster node. Both the clusters are configured to run in Split mode
by default, with the ATCMs enabled to allow the R5 cores to execute
code from DDR with boot-strapping code from ATCM. The inter-processor
communication between the main A72 cores and these processors is
achieved through shared memory and Mailboxes.

The following firmware names are used by default for these cores, and
can be overridden in a board dts file if desired:
  MAIN R5FSS0 Core0: am64-main-r5f0_0-fw (both in Single-CPU & Split modes)
  MAIN R5FSS0 Core1: am64-main-r5f0_1-fw (needed only in Split mode)
  MAIN R5FSS1 Core0: am64-main-r5f1_0-fw (both in Single-CPU & Split modes)
  MAIN R5FSS1 Core1: am64-main-r5f1_1-fw (needed only in Split mode)

NOTE:
A R5FSS cluster can be configured in "Single-CPU" mode by using a
value of 2 for the "ti,cluster-mode" property. Value of 1 is not
permitted (fails the dtbs_check).

Signed-off-by: Suman Anna <s-anna@ti.com>
Reviewed-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20210615195718.15898-2-s-anna@ti.com
2021-06-18 09:47:40 -05:00
Marc Zyngier cb5faa8c7d Merge branch kvm-arm64/pmu-fixes into kvmarm-master/next
Fixes for the PMUv3 emulation of PMCR_EL0:
- Don't spuriously reset the cycle counter when resetting other counters
- Force PMCR_EL0 to become effective after having restored it

* kvm-arm64/pmu-fixes:
  KVM: arm64: Restore PMU configuration on first run
  KVM: arm64: Don't zero the cycle count register when PMCR_EL0.P is set
2021-06-18 14:25:59 +01:00
Marc Zyngier d0c94c4979 KVM: arm64: Restore PMU configuration on first run
Restoring a guest with an active virtual PMU results in no perf
counters being instanciated on the host side. Not quite what
you'd expect from a restore.

In order to fix this, force a writeback of PMCR_EL0 on the first
run of a vcpu (using a new request so that it happens once the
vcpu has been loaded). This will in turn create all the host-side
counters that were missing.

Reported-by: Jinank Jain <jinankj@amazon.de>
Tested-by: Jinank Jain <jinankj@amazon.de>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/87wnrbylxv.wl-maz@kernel.org
Link: https://lore.kernel.org/r/b53dfcf9bbc4db7f96154b1cd5188d72b9766358.camel@amazon.de
2021-06-18 14:18:37 +01:00
Alexandru Elisei 2a71fabf6a KVM: arm64: Don't zero the cycle count register when PMCR_EL0.P is set
According to ARM DDI 0487G.a, page D13-3895, setting the PMCR_EL0.P bit to
1 has the following effect:

"Reset all event counters accessible in the current Exception level, not
including PMCCNTR_EL0, to zero."

Similar behaviour is described for AArch32 on page G8-7022. Make it so.

Fixes: c01d6a1802 ("KVM: arm64: pmu: Only handle supported event counters")
Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210618105139.83795-1-alexandru.elisei@arm.com
2021-06-18 13:23:50 +01:00
Marc Zyngier b88835a89d Merge branch kvm-arm64/mmu/stage2-cmos into kvmarm-master/next
Cache maintenance updates from Yanan Wang, moving the CMOs
down into the page-table code. This ensures that we only issue
them when actually performing a mapping rather than upfront.

* kvm-arm64/mmu/stage2-cmos:
  KVM: arm64: Move guest CMOs to the fault handlers
  KVM: arm64: Tweak parameters of guest cache maintenance functions
  KVM: arm64: Introduce mm_ops member for structure stage2_attr_data
  KVM: arm64: Introduce two cache maintenance callbacks
2021-06-18 12:36:30 +01:00
Yanan Wang 25aa28691b KVM: arm64: Move guest CMOs to the fault handlers
We currently uniformly perform CMOs of D-cache and I-cache in function
user_mem_abort before calling the fault handlers. If we get concurrent
guest faults(e.g. translation faults, permission faults) or some really
unnecessary guest faults caused by BBM, CMOs for the first vcpu are
necessary while the others later are not.

By moving CMOs to the fault handlers, we can easily identify conditions
where they are really needed and avoid the unnecessary ones. As it's a
time consuming process to perform CMOs especially when flushing a block
range, so this solution reduces much load of kvm and improve efficiency
of the stage-2 page table code.

We can imagine two specific scenarios which will gain much benefit:
1) In a normal VM startup, this solution will improve the efficiency of
handling guest page faults incurred by vCPUs, when initially populating
stage-2 page tables.
2) After live migration, the heavy workload will be resumed on the
destination VM, however all the stage-2 page tables need to be rebuilt
at the moment. So this solution will ease the performance drop during
resuming stage.

Reviewed-by: Fuad Tabba <tabba@google.com>
Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210617105824.31752-5-wangyanan55@huawei.com
2021-06-18 12:35:35 +01:00
Yanan Wang 378e6a9c78 KVM: arm64: Tweak parameters of guest cache maintenance functions
Adjust the parameter "kvm_pfn_t pfn" of __clean_dcache_guest_page
and __invalidate_icache_guest_page to "void *va", which paves the
way for converting these two guest CMO functions into callbacks in
structure kvm_pgtable_mm_ops. No functional change.

Reviewed-by: Fuad Tabba <tabba@google.com>
Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210617105824.31752-4-wangyanan55@huawei.com
2021-06-18 12:35:35 +01:00
Yanan Wang a4d5ca5c7c KVM: arm64: Introduce mm_ops member for structure stage2_attr_data
Also add a mm_ops member for structure stage2_attr_data, since we
will move I-cache maintenance for guest stage-2 to the permission
path and as a result will need mm_ops for some callbacks.

Reviewed-by: Fuad Tabba <tabba@google.com>
Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210617105824.31752-3-wangyanan55@huawei.com
2021-06-18 12:35:35 +01:00
Yanan Wang 6204004de3 KVM: arm64: Introduce two cache maintenance callbacks
To prepare for performing CMOs for guest stage-2 in the fault handlers
in pgtable.c, here introduce two cache maintenance callbacks in struct
kvm_pgtable_mm_ops. We also adjust the comment alignment for the
existing part but make no real content change at all.

Reviewed-by: Fuad Tabba <tabba@google.com>
Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
[maz: fixed up comments and renamed callbacks]
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210617105824.31752-2-wangyanan55@huawei.com
2021-06-18 12:34:52 +01:00
Peter Zijlstra b03fbd4ff2 sched: Introduce task_is_running()
Replace a bunch of 'p->state == TASK_RUNNING' with a new helper:
task_is_running(p).

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Davidlohr Bueso <dave@stgolabs.net>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20210611082838.222401495@infradead.org
2021-06-18 11:43:07 +02:00
Ingo Molnar b2c0931a07 Merge branch 'sched/urgent' into sched/core, to resolve conflicts
This commit in sched/urgent moved the cfs_rq_is_decayed() function:

  a7b359fc6a37: ("sched/fair: Correctly insert cfs_rq's to list on unthrottle")

and this fresh commit in sched/core modified it in the old location:

  9e077b52d86a: ("sched/pelt: Check that *_avg are null when *_sum are")

Merge the two variants.

Conflicts:
	kernel/sched/fair.c

Signed-off-by: Ingo Molnar <mingo@kernel.org>
2021-06-18 11:31:25 +02:00
Lee Jones cf814bcfa1 arm64: smp: Bump debugging information print down to KERN_DEBUG
This sort of information is only generally useful when debugging.

No need to have these sprinkled through the kernel log otherwise.

Cc: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20210617073059.315542-1-lee.jones@linaro.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-06-17 22:43:12 +01:00
Paolo Bonzini e3cb6fa0e2 KVM: switch per-VM stats to u64
Make them the same type as vCPU stats.  There is no reason
to limit the counters to unsigned long.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-06-17 14:25:27 -04:00
Konrad Dybcio f515dcce2d arm64: dts: qcom: sm8250-edo: Fix up double "pinctrl-1"
When bringing the SDC pins back to edo.dtsi I managed to define
and overwrite pinctrl-1 instead of defining pinctrl-0 and 1. Fix it.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210616161536.206044-1-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-06-17 13:07:07 -05:00
Marc Zyngier 77345ef704 arm64: suspend: Use cpuidle context helpers in cpu_suspend()
Use cpuidle context helpers to switch to using DAIF.IF instead
of PMR to mask interrupts, ensuring that we suspend with
interrupts being able to reach the CPU interface.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://lore.kernel.org/r/20210615111227.2454465-5-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-06-17 18:00:39 +01:00
Marc Zyngier d4dc102772 arm64: Convert cpu_do_idle() to using cpuidle context helpers
Now that we have helpers that are aware of the pseudo-NMI
feature, introduce them to cpu_do_idle(). This allows for
some nice cleanup.

No functional change intended.

Tested-by: Valentin Schneider <valentin.schneider@arm.com>
Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210615111227.2454465-3-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-06-17 18:00:39 +01:00
Marc Zyngier 8848f0665b arm64: Add cpuidle context save/restore helpers
As we need to start doing some additional work on all idle
paths, let's introduce a set of macros that will perform
the work related to the GICv3 pseudo-NMI idle entry exit.

Stubs are introduced to 32bit ARM for compatibility.
As these helpers are currently unused, there is no functional
change.

Tested-by: Valentin Schneider <valentin.schneider@arm.com>
Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210615111227.2454465-2-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-06-17 18:00:39 +01:00
Konstantin Porotchkin e3850467bf arch/arm64/boot/dts/marvell: fix NAND partitioning scheme
Eliminate 1MB gap between Linux and filesystem partitions.

Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-06-17 17:01:21 +02:00
Joerg Roedel 1c461ef9c4 Arm SMMU updates for 5.14
- SMMUv3:
 
   * Support stalling faults for platform devices
 
   * Decrease defaults sizes for the event and PRI queues
 
 - SMMUv2:
 
   * Support for a new '->probe_finalize' hook, needed by Nvidia
 
   * Even more Qualcomm compatible strings
 
   * Avoid Adreno TTBR1 quirk for DB820C platform
 
 - Misc:
 
   * Trivial cleanups/refactoring
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmDJ1GkQHHdpbGxAa2Vy
 bmVsLm9yZwAKCRC3rHDchMFjNPIRCAC5ia+H1CHxjWRDmn7A++6/mNMu3hRKJCFj
 WqKkz6Af3BcYEbuZeflHEp7BgHUo9r0FdhcMyz7pPRfBDpqP+eRmTxfDtJFThkn4
 uwQmL4E8CbYnZUOQC8uvj87JG/7AgtC4Yu1XNpux2i7PYDKIW+BsW1Sla62Sa4aQ
 LDuowqWZwgAkLyRSfEa4xmmlD8FN9tSrPkZBM3G1t9ixyl2LFBRhrePpirSMe8X8
 xolCg209fYq1G5DJlYmKwsuNU+eEAVc8HQJzucnOJlqSbHhxezWbKTiyp3H3FSoV
 4B2+CQAPGZCCti86yT0F2Ha+p4LWoKvWb12rb7eFTrJGEA1bVDmi
 =PNoV
 -----END PGP SIGNATURE-----

Merge tag 'arm-smmu-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu

Arm SMMU updates for 5.14

- SMMUv3:

  * Support stalling faults for platform devices

  * Decrease defaults sizes for the event and PRI queues

- SMMUv2:

  * Support for a new '->probe_finalize' hook, needed by Nvidia

  * Even more Qualcomm compatible strings

  * Avoid Adreno TTBR1 quirk for DB820C platform

- Misc:

  * Trivial cleanups/refactoring
2021-06-17 16:57:28 +02:00
Marcin Wojtas f2c6d6b271 arm64: dts: ensure backward compatibility of the AP807 Xenon
A recent switch to a dedicated AP807 compatible string for the Xenon
SD/MMC controller result in the driver not being probed when
using updated device tree with the older kernel revisions.
It may also be problematic for other OSs/firmware that use
Linux device tree sources as a reference. Resolve the problem
with backward compatibility by restoring a previous compatible
string as secondary one.

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-06-17 15:13:29 +02:00
Pali Rohár 3a52a48973 arm64: dts: marvell: armada-37xx: move firmware node to generic dtsi file
Move the turris-mox-rwtm firmware node from Turris MOX' device tree into
the generic armada-37xx.dtsi file and use the generic compatible string
'marvell,armada-3700-rwtm-firmware' instead of the current one.

Turris MOX DTS file contains also old compatible string for backward
compatibility.

The Turris MOX rWTM firmware can be used on any Armada 37xx device,
giving them access to the rWTM hardware random number generator, which
is otherwise unavailable.

This change allows Linux to load the turris-mox-rwtm.ko module on these
boards.

Tested on ESPRESSObin v5 with both default Marvell WTMI firmware and
CZ.NIC's firmware. With default WTMI firmware the turris-mox-rwtm fails
to probe, while with CZ.NIC's firmware it registers the HW random number
generator.

Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Marek Behún <kabel@kernel.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-06-17 15:03:59 +02:00
Hao Fang e3211e414d arm64: dts: hisilicon: use the correct HiSilicon copyright
s/Hisilicon/HiSilicon/.
It should use capital S, according to the official website
https://www.hisilicon.com/en.

Signed-off-by: Hao Fang <fanghao11@huawei.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2021-06-17 01:28:15 +00:00
Olof Johansson 194eb4eab5 Amlogic ARM64 DT changes for v5.14 round 2:
-  various fixes for Odroid C4/HC4 regulators handling, USB and SPI NOR Flash for HC4
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmDHDlwACgkQd9zb2sjI
 SdHRWg/+IzZ72GUKzkBTxHuxBuOTIcyLjThS71x+MJFXE2HAqfAv7X4AwdhEOKS5
 FgN8Jdo9v+ZqC2Qm/VioKNsoNtx3EZo2Z2G8kXTfcnTehZvnmilzWVpQTCMOl6Vp
 H38yiBNdrmJMZueB/0OP50CfbEQsWb4ZuyVq2lqZNd9N/RV//F2WHi6e2ZbU0+6u
 RKhx0FP48ou4bZBo1vB01iGnCeUO3J9EDDX55NCr9KGHK0GT1ojieQmEeTeX5M3T
 08+PWA1a34AzYhBryj9hpFvWuYVT9KoxVXrAsMySrLMQhjWpWzggTe/J+HcAjCYz
 b/zSATcuyiukGcLd2q7r59bpVn2MV3vd6ZDvuSBvyIHkHIKRun7pxwK25tRNIKfl
 VQN5JQqg9D0HTONlUvUGko5rScMrYuJ+01QL65yVdAx1kxqMwugCdNSXKIDMSp+o
 HUAFfNzrkSIng12bgbiIdlBb3HrUcHuB8Wv8Mk3lsQr/dVYmrlWbQSHydY/yjIr5
 402U03KzRJkoVpwAm/gar9Ctt7LT1XTYnCFNllT5VPYFMw+ihf9xPezqEKdCLXmZ
 BQh6wNdmjezFLih6OLEwJv5yj/gvYmv9d/PRggADMeRzXDuNSrGvEAmWA+tJwmxC
 f63SiLk+mX0Qff7bCPGu8mSEvMe2OeUrgJQwvgD7+IHfUIhFe9M=
 =rNCR
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJDBAABCgAtFiEElf+HevZ4QCAJmMQ+jBrnPN6EHHcFAmDKmDsPHG9sb2ZAbGl4
 b20ubmV0AAoJEIwa5zzehBx3lvsQAJ7W6cm0NS/GnIMJfk2a6DuzSc0FDOzBztjY
 cRW6khByzFpGKv3JmhBLZN/cX4jDB4QNPju721KaY17wh8Bqz3jaDIwmZatgOBLb
 IMV9lQ1au2uOTv6iwK1J9ViN1MAhYbkwqIymjtnjyz4CVRQeyr8wH6JSPrsUlfub
 5szqjH1WyiPvfqi9xknHK3hmAFApHctiH8MISZzZ/kaCpOT6sg6/ixZZQjXR9lsN
 Iy1XKvwEyisT3MSNUzOviG8bi8QtQOrQi7TlN+kYQegnxQgN/wP+8khXoztpxP/0
 rjzWU2HFyJ2OrY+j/SFRGRdS+vywPqitVuX73wnH2PQlIcgI6reNT01r2ZSwijJu
 afeAoyXLSrhP6YRhyYNhCO2BU+FJLnwlBoJ0V50WNRfeq36pi0r1XOZA33D+DKS0
 HK5+Hc6yB71NL7KuiOWV61qkYbSEAc4Lu2e5/KUhu68GQIEVTZcsitzs5PVi5YIE
 JQ74VtQindtD82raUExKKa5d29qeZVQAx+89jOoHrayFwX95RIKsYJUj95QieizE
 giotgncycbessXFBrlkIFJ8qli5KaNMme8/Lx+WzTGwfCTJRAcsK/ZHz361R1umi
 kx9G01u3nYXQGRlxNLZzlWgP3V23Xg12GJQ0xs5a7NbiKzhaMlwQVqqVGuqt5Clx
 +4P5BR08
 =el5l
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-arm64-dt-for-v5.14-v2' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into arm/dt

Amlogic ARM64 DT changes for v5.14 round 2:
-  various fixes for Odroid C4/HC4 regulators handling, USB and SPI NOR Flash for HC4

* tag 'amlogic-arm64-dt-for-v5.14-v2' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  arm64: dts: meson-sm1-odroid-c4: remove invalid hub_5v regulator
  arm64: dts: meson-sm1-odroid-hc4: add spifc node to ODROID-HC4
  arm64: dts: meson-sm1-odroid-hc4: add regulators controlled by GPIOH_8
  arm64: dts: meson-sm1-odroid-hc4: disable unused USB PHY0
  arm64: dts: meson-sm1-odroid: add 5v regulator gpio
  arm64: dts: meson-sm1-odroid: set tf_io regulator gpio as open source
  arm64: dts: meson-sm1-odroid: add missing enable gpio and supply for tf_io regulator

Link: https://lore.kernel.org/r/c953e97a-f901-a749-1fb6-b1caa75b4748@baylibre.com
Signed-off-by: Olof Johansson <olof@lixom.net>
2021-06-16 17:32:58 -07:00
Olof Johansson c8700d80d7 Visconti defconfig updates for v5.14
- Enable Visconti's PWM in the ARM64 defconfig as a module.
 - Enable Visconti's GPIO in the ARM64 defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEXmKe5SMhlzV7hM9DMiR/u0CtH6YFAmDH8x4ACgkQMiR/u0Ct
 H6bIpQ//T0C+JPQkpguTOQM3AuYxYBPdzsLMs1A616bkpvWd9ZfosJkECz/4hWMa
 1W5l/S4KYAmra6EwF8jZF0b8HKfw0QgkQvwP36hT+VY2OMIEH9go8yOSgdhvwdsS
 4a5HoN46ipJNDd1YAi3DXy/OosjcAW2+WTb1+2Z8tmztbhM8RJ1gWkrnEORyeT3j
 tbi1Yku+XlHs+HPgFN2tbHVw5c6koLNjBKiy9DuAi2NNAgl1yD4cRa3tX59vI+T/
 7+eZLD0yUmKtzZaWwc95ceGevi8PEW0tyEKJ0YzIvGVrBxszhngeBPd10i/d+5D/
 1l1Gc0RmYeph00PggQkFScp7ntFNtgwUwWInb4ratzJwE39Q4HeV9V6RhgPuHgue
 9gtV2FzmmswZhunbEdwlepd+pGKCFoMf5/ibjVcJ3uJFFQ7Gwh2VNK0+1iGBOx2P
 CBda0rHIjzNCI6F/tKEnA+wgWkrf2jKs2GwrF+ElMHSY9y6ZRVVuF3y2NBc3BgfR
 ZhpQCFwZM6L1sZB9H2eUb/KhNtQRCfP3EjmkyfXwSS3OYEFIYgEW4TlX4twSdkQJ
 w7b7p5J8lBsjA2vU41hJW0RBH7FbZ13u+dc+hABWfrZ4ZcyQkYKVfylqCy9k2j33
 KgGdPOO4HAykSvvzal25uBYXVuHaunrlc/O6wEcgXOOJkiE2zvA=
 =IcxA
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJDBAABCgAtFiEElf+HevZ4QCAJmMQ+jBrnPN6EHHcFAmDKmBwPHG9sb2ZAbGl4
 b20ubmV0AAoJEIwa5zzehBx39dUP/3muqfpoNNrrD1m2vHW3iQdFx96tKjLNYnKG
 pue+ihc6+vFahMskTPN4rdPFL1fKCa9AqLbBd58D8FKmo+nTtW6atDihfhYkWHyY
 xrwDXBkmvcC8wsM5vojAUjXTtshJUm9G4qu5TOjPHQIHZljuomRNMXTMV9Y/kWuO
 bcrh/+2qXkuTFWhPoC9tbo2uQRSqFzybAvaW9ZfDHq6862lZ0jcJAVxsbzrMxpbB
 3a5JtgsQiv6imF4UpQ57KCDKLRt6DS3RfEhL3ncUYVFzG2ROyAcmcMCjcb4/+uXC
 0kz+lIj+T273+vgDTMjPXBue8zLpKhjuZcoMCf0VVINREPi9LUIP77FY6IHB6VPs
 897CVds81QJPxbTTEQBLSx9yJxAbDbVmi/xOZx70KKiwkQs0TgzC2VmrFG4tCnHA
 F7tKTGHFRmEw9lxH6nqae4jhUvPYYLf8Iv/TMySa7fHJvpOefN1FsflrQ1fR+SnP
 lroy6MHtYgAewkN1cm7fwyUBUIziyCg64bCxtfLs5/AsOzCcPs+KVGqdyTxVhgKB
 S/riCl+J09m16xrFaNCKyTnWDGjfQj62bPuaEeWrdrxCkp/zqxTeJt403HVwAKIc
 lVDEpafaKFQrLbvTIa/iMmtBYLw2MEXEZLtO+I28PR+lf6qkLe21hBZpyc/SIDN/
 QQAeNBCg
 =wYY6
 -----END PGP SIGNATURE-----

Merge tag 'visconti-arm-defconfig-for-v5.14' of https://git.kernel.org/pub/scm/linux/kernel/git/iwamatsu/linux-visconti into arm/defconfig

Visconti defconfig updates for v5.14

- Enable Visconti's PWM in the ARM64 defconfig as a module.
- Enable Visconti's GPIO in the ARM64 defconfig.

* tag 'visconti-arm-defconfig-for-v5.14' of https://git.kernel.org/pub/scm/linux/kernel/git/iwamatsu/linux-visconti:
  arm64: defconfig: Visconti: Enable GPIO
  arm64: defconfig: Visconti: Enable PWM

Link: https://lore.kernel.org/r/20210615231232.pllzlqoamkmnsqq6@toshiba.co.jp
Signed-off-by: Olof Johansson <olof@lixom.net>
2021-06-16 17:32:28 -07:00
Aswath Govindraju 3de27ef12c arm64: dts: ti: k3-am64-main: Update TF-A load address to workaround USB DFU limitation
Due to a limitation for USB DFU boot mode, SPL load address has to be less
than  or equal to 0x70001000. So, load address of SPL and TF-A have been
moved to 0x70000000 and 0x701c0000 respectively, in U-Boot version 2021.10.

Therefore, update TF-A's location in the device tree node.

Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20210616171224.24635-4-a-govindraju@ti.com
2021-06-16 19:06:52 -05:00
Aswath Govindraju 454a9d4aaa arm64: dts: ti: k3-am64-main: Reserve OCMRAM for DMSC-lite and secure proxy communication
The final 128KB in SRAM is reserved by default for DMSC-lite code and
secure proxy communication buffer. The memory region used for DMSC-lite
code can be optionally freed up by secure firmware API[1]. However, the
buffer for secure proxy communication is not configurable. This default
hardware configuration is unique for AM64.

Therefore, indicate the area reserved for DMSC-lite code and secure proxy
communication buffer in the oc_sram device tree node.

[1] - http://downloads.ti.com/tisci/esd/latest/6_topic_user_guides/security_handover.html#triggering-security-handover

Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20210616171224.24635-3-a-govindraju@ti.com
2021-06-16 19:05:28 -05:00
Aswath Govindraju 263820efa3 arm64: dts: ti: k3-am64-main: Update TF-A's maximum size and node name
The maximum size of TF-A 2.5 has been increased to 0x1c000 [1]. In order to
account for future expansions too, increase the allocated size for TF-A to
0x20000, in the device tree node.

Also, update the node name to "tfa-sram".

[1] - https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?id=2fb5312f61a7de8b7a70e1639199c4f14a10b6f9

Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
Reviewed-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20210616171224.24635-2-a-govindraju@ti.com
2021-06-16 19:05:28 -05:00
Konrad Dybcio b135d097eb arm64: dts: qcom: sm8[12]50-pm8150: Move RESIN to pm8150 dtsi
It's not worth duplicating the same node over and over and over and over again,
so let's keep the common bits in the pm8150 DTSI, making only changing the
status and keycode necessary.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210613124822.124039-1-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-06-15 21:34:27 -05:00
Konrad Dybcio 69cdb97ef6 arm64: dts: qcom: sm8250: Add support for SONY Xperia 1 II / 5 II (Edo platform)
Add support for SONY Xperia 1 II and 5 II smartphones (read one/five mark two).
They are based on the Qualcomm SM8250 chipset and both feature 5G modems. There
also exists a third Edo board, namely the Xperia PRO (PDX204), but it's $2500
and no developers have obtained it so far (to my knowledge).

The devices are affected by a scary UFS behaviour where sending a certain UFS
command (which is worked around on downstream) renders the device unbootable,
by effectively erasing the bootloader. Therefore UFS AND UFSPHY are strictly
disabled for now.

Downstream workaround:
2e7a9ee1c9

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210616002321.74155-4-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-06-15 19:38:58 -05:00