Commit graph

1,294,499 commits

Author SHA1 Message Date
Andy Shevchenko
cb01621b6d bpf: Use struct_size()
Use struct_size() instead of hand writing it.
This is less verbose and more robust.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Yonghong Song <yonghong.song@linux.dev>
Link: https://lore.kernel.org/bpf/20240429121323.3818497-1-andriy.shevchenko@linux.intel.com
2024-04-29 16:12:03 -07:00
Tao Chen
397658ddc8 samples/bpf: Add valid info for VMLINUX_BTF
When I use the command 'make M=samples/bpf' to compile samples/bpf code
in ubuntu 22.04, the error info occured:
Cannot find a vmlinux for VMLINUX_BTF at any of "  /home/ubuntu/code/linux/vmlinux",
build the kernel or set VMLINUX_BTF or VMLINUX_H variable

Others often encounter this kind of issue, new kernel has the vmlinux, so we can
set the path in error info which seems more intuitive, like:
Cannot find a vmlinux for VMLINUX_BTF at any of "  /home/ubuntu/code/linux/vmlinux",
buiild the kernel or set VMLINUX_BTF like "VMLINUX_BTF=/sys/kernel/btf/vmlinux" or
VMLINUX_H variable

Signed-off-by: Tao Chen <chen.dylane@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20240428161032.239043-1-chen.dylane@gmail.com
2024-04-29 16:10:03 -07:00
Linus Torvalds
98369dccd2 workqueue: Fixes for v6.9-rc6
Two doc update patches and the following three fixes:
 
 - On single node systems, the default pool is used but the node_nr_active
   for the default pool was set to min_active. This effectively limited the
   max concurrency of unbound pools on single node systems to 8 causing
   performance regressions on some workloads. Fixed by setting the default
   pool's node_nr_active to max_active.
 
 - wq_update_node_max_active() could trigger divide-by-zero if the
   intersection between the allowed CPUs for an unbound workqueue and online
   CPUs becomes empty.
 
 - When kick_pool() was trying to repatriate a worker to a CPU in its pod by
   setting task->wake_cpu, it didn't consider whether the CPU being selected
   is online or not which obviously can lead to subobtimal behaviors. On
   s390, this triggered a crash in arch code. The workqueue patch removes the
   gross misbehavior but doesn't fix the crash completely as there's a race
   window in which CPUs can go down after wake_cpu is set. Need to decide
   whether the fix should be on the core or arch side.
 -----BEGIN PGP SIGNATURE-----
 
 iIQEABYKACwWIQTfIjM1kS57o3GsC/uxYfJx3gVYGQUCZjAaug4cdGpAa2VybmVs
 Lm9yZwAKCRCxYfJx3gVYGT4fAQC5d8dNCDrAJmMgI0OBCwVgGGISTPalI+/ix4zu
 5muBLwEAszuSZ4hEmg4L/jseTk+gZV0vIi4/IHjOzWwYczzLxQA=
 =SeX1
 -----END PGP SIGNATURE-----

Merge tag 'wq-for-6.9-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq

Pull workqueue fixes from Tejun Heo:
 "Two doc update patches and the following three fixes:

   - On single node systems, the default pool is used but the
     node_nr_active for the default pool was set to min_active. This
     effectively limited the max concurrency of unbound pools on single
     node systems to 8 causing performance regressions on some
     workloads. Fixed by setting the default pool's node_nr_active to
     max_active.

   - wq_update_node_max_active() could trigger divide-by-zero if the
     intersection between the allowed CPUs for an unbound workqueue and
     online CPUs becomes empty.

   - When kick_pool() was trying to repatriate a worker to a CPU in its
     pod by setting task->wake_cpu, it didn't consider whether the CPU
     being selected is online or not which obviously can lead to
     subobtimal behaviors. On s390, this triggered a crash in arch code.
     The workqueue patch removes the gross misbehavior but doesn't fix
     the crash completely as there's a race window in which CPUs can go
     down after wake_cpu is set. Need to decide whether the fix should
     be on the core or arch side"

* tag 'wq-for-6.9-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
  workqueue: Fix divide error in wq_update_node_max_active()
  workqueue: The default node_nr_active should have its max set to max_active
  workqueue: Fix selection of wake_cpu in kick_pool()
  docs/zh_CN: core-api: Update translation of workqueue.rst to 6.9-rc1
  Documentation/core-api: Update events_freezable_power references.
2024-04-29 15:57:37 -07:00
Jacob Pan
ed1e48ea43 iommu/vt-d: Enable posted mode for device MSIs
With posted MSI feature enabled on the CPU side, iommu interrupt
remapping table entries (IRTEs) for device MSI/x can be allocated,
activated, and programed in posted mode. This means that IRTEs are
linked with their respective PIDs of the target CPU.

Handlers for the posted MSI notification vector will de-multiplex
device MSI handlers. CPU notifications are coalesced if interrupts
arrive at a high frequency.

Posted interrupts are only used for device MSI and not for legacy devices
(IO/APIC, HPET).

Introduce a new irq_chip for posted MSIs, which has a dummy irq_ack()
callback as EOI is performed in the notification handler once.

When posted MSI is enabled, MSI domain/chip hierarchy will look like
this example:

domain:  IR-PCI-MSIX-0000:50:00.0-12
 hwirq:   0x29
 chip:    IR-PCI-MSIX-0000:50:00.0
  flags:   0x430
             IRQCHIP_SKIP_SET_WAKE
             IRQCHIP_ONESHOT_SAFE
 parent:
    domain:  INTEL-IR-10-13
     hwirq:   0x2d0000
     chip:    INTEL-IR-POST
      flags:   0x0
     parent:
        domain:  VECTOR
         hwirq:   0x77
         chip:    APIC

Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240423174114.526704-13-jacob.jun.pan@linux.intel.com
2024-04-30 00:54:43 +02:00
Jacob Pan
be9be07b22 iommu/vt-d: Make posted MSI an opt-in command line option
Add a command line opt-in option for posted MSI if CONFIG_X86_POSTED_MSI=y.

Also introduce a helper function for testing if posted MSI is supported on
the platform.

Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240423174114.526704-12-jacob.jun.pan@linux.intel.com
2024-04-30 00:54:43 +02:00
Jacob Pan
ce0a928711 x86/irq: Extend checks for pending vectors to posted interrupts
During interrupt affinity change, it is possible to have interrupts delivered
to the old CPU after the affinity has changed to the new one. To prevent lost
interrupts, local APIC IRR is checked on the old CPU. Similar checks must be
done for posted MSIs given the same reason.

Consider the following scenario:
	Device		system agent		iommu		memory 		CPU/LAPIC
1	FEEX_XXXX
2			Interrupt request
3						Fetch IRTE	->
4						->Atomic Swap PID.PIR(vec)
						Push to Global Observable(GO)
5						if (ON*)
							done;*
						else
6							send a notification ->

* ON: outstanding notification, 1 will suppress new notifications

If the affinity change happens between 3 and 5 in the IOMMU, the old CPU's
posted interrupt request (PIR) could have the pending bit set for the
vector being moved.

Add a helper function to check individual vector status. Then use the
helper to check for pending interrupts on the source CPU's PID.

Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240423174114.526704-11-jacob.jun.pan@linux.intel.com
2024-04-30 00:54:43 +02:00
Jacob Pan
fef05a078b x86/irq: Factor out common code for checking pending interrupts
Use a common function for checking pending interrupt vector in APIC IRR
instead of duplicated open coding them.

Additional checks for posted MSI vectors can then be contained in this
function.

Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240423174114.526704-10-jacob.jun.pan@linux.intel.com
2024-04-30 00:54:43 +02:00
Jacob Pan
1b03d82ba1 x86/irq: Install posted MSI notification handler
All MSI vectors are multiplexed into a single notification vector when
posted MSI is enabled. It is the responsibility of the notification vector
handler to demultiplex MSI vectors. In the handler the MSI vector handlers
are dispatched without IDT delivery for each pending MSI interrupt.

For example, the interrupt flow will change as follows:
(3 MSIs of different vectors arrive in a a high frequency burst)

BEFORE:
interrupt(MSI)
    irq_enter()
    handler() /* EOI */
    irq_exit()
        process_softirq()
interrupt(MSI)
    irq_enter()
    handler() /* EOI */
    irq_exit()
        process_softirq()
interrupt(MSI)
    irq_enter()
    handler() /* EOI */
    irq_exit()
        process_softirq()

AFTER:
interrupt /* Posted MSI notification vector */
    irq_enter()
	atomic_xchg(PIR)
	handler()
	handler()
	handler()
	pi_clear_on()
    apic_eoi()
    irq_exit()
        process_softirq()

Except for the leading MSI, CPU notifications are skipped/coalesced.

For MSIs which arrive at a low frequency, the demultiplexing loop does not
wait for more interrupts to coalesce. Therefore, there's no additional
latency other than the processing time.

Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240423174114.526704-9-jacob.jun.pan@linux.intel.com
2024-04-30 00:54:42 +02:00
Jacob Pan
6087c7f36a x86/irq: Factor out handler invocation from common_interrupt()
Prepare for calling external interrupt handlers directly from the posted
MSI demultiplexing loop. Extract the common code from common_interrupt() to
avoid code duplication.

Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240423174114.526704-8-jacob.jun.pan@linux.intel.com
2024-04-30 00:54:42 +02:00
Jacob Pan
43650dcf6d x86/irq: Set up per host CPU posted interrupt descriptors
To support posted MSIs, create a posted interrupt descriptor (PID) for each
host CPU. Later on, when setting up interrupt affinity, the IOMMU's
interrupt remapping table entry (IRTE) will point to the physical address
of the matching CPU's PID.

Each PID is initialized with the owner CPU's physical APICID as the
destination.

Originally-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240423174114.526704-7-jacob.jun.pan@linux.intel.com
2024-04-30 00:54:42 +02:00
Jacob Pan
f5a3562ec9 x86/irq: Reserve a per CPU IDT vector for posted MSIs
When posted MSI is enabled, all device MSIs are multiplexed into a single
notification vector. MSI handlers will be de-multiplexed at run-time by
system software without IDT delivery.

Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240423174114.526704-6-jacob.jun.pan@linux.intel.com
2024-04-30 00:54:42 +02:00
Jacob Pan
7fec07fd21 x86/irq: Add a Kconfig option for posted MSI
This option will be used to support delivering MSIs as posted
interrupts. Interrupt remapping is required.

Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240423174114.526704-5-jacob.jun.pan@linux.intel.com
2024-04-30 00:54:42 +02:00
Jacob Pan
2254808b53 x86/irq: Remove bitfields in posted interrupt descriptor
Mixture of bitfields and types is weird and really not intuitive, remove
bitfields and use typed data exclusively. Bitfields often result in
inferior machine code.

Suggested-by: Sean Christopherson <seanjc@google.com>
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240423174114.526704-4-jacob.jun.pan@linux.intel.com
Link: https://lore.kernel.org/all/20240404101735.402feec8@jacob-builder/T/#mf66e34a82a48f4d8e2926b5581eff59a122de53a
2024-04-30 00:54:42 +02:00
Jacob Pan
4ec8fd0371 x86/irq: Unionize PID.PIR for 64bit access w/o casting
Make the PIR field into u64 such that atomic xchg64 can be used without
ugly casting.

Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240423174114.526704-3-jacob.jun.pan@linux.intel.com
2024-04-30 00:54:42 +02:00
Jacob Pan
699f67512f KVM: VMX: Move posted interrupt descriptor out of VMX code
To prepare native usage of posted interrupts, move the PID declarations out
of VMX code such that they can be shared.

Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Sean Christopherson <seanjc@google.com>
Link: https://lore.kernel.org/r/20240423174114.526704-2-jacob.jun.pan@linux.intel.com
2024-04-30 00:54:42 +02:00
Borislav Petkov (AMD)
54db412e61 clocksource: Make the int help prompt unit readable in ncurses
When doing

  make menuconfig

and searching for the CLOCKSOURCE_WATCHDOG_MAX_SKEW_US config item, the
help says:

  │ Symbol: CLOCKSOURCE_WATCHDOG_MAX_SKEW_US [=125]
  │ Type  : integer
  │ Range : [50 1000]
  │ Defined at kernel/time/Kconfig:204
  │   Prompt: Clocksource watchdog maximum allowable skew (in   s)
  							      ^^^

  │   Depends on: GENERIC_CLOCKEVENTS [=y] && CLOCKSOURCE_WATCHDOG [=y]

because on some terminals, it cannot display the 'μ' char, unicode
number 0x3bc.

So simply write it out so that there's no trouble.

Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Paul E. McKenney <paulmck@kernel.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Link: https://lore.kernel.org/r/20240428102143.26764-1-bp@kernel.org
2024-04-30 00:12:22 +02:00
Stephen Boyd
a225493043 - fix H6 CPU rate change via reparenting
- set A64 MIPI PLL min & max rate
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQSPRixG1tysKC2PKM10Ba7+DO8kkwUCZivU7QAKCRB0Ba7+DO8k
 k7FxAQCmqRmRyqdz156D2XlrEi0/NJKXicCnzwgLhP/HT06r+QEA6H5fqrFNcSLB
 p1iT0AMcXacdNNni+lz2i8Q6bAOjjwg=
 =G9dC
 -----END PGP SIGNATURE-----

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

Pull Allwinner clk driver fixes from Jernej Skrabec:

 - fix H6 CPU rate change via reparenting
 - set A64 MIPI PLL min & max rate

* tag 'sunxi-clk-fixes-for-6.9-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  clk: sunxi-ng: a64: Set minimum and maximum rate for PLL-MIPI
  clk: sunxi-ng: common: Support minimum and maximum rate
  clk: sunxi-ng: h6: Reparent CPUX during PLL CPUX rate change
2024-04-29 14:59:35 -07:00
Linus Torvalds
d03d418890 SCSI fixes on 20240429
Minor core fix to prevent the sd driver printing the stream count
 every time we rescan and instead print only if it's changed
 
 Signed-off-by: James E.J. Bottomley <James.Bottomley@HansenPartnership.com>
 -----BEGIN PGP SIGNATURE-----
 
 iJwEABMIAEQWIQTnYEDbdso9F2cI+arnQslM7pishQUCZi/ypCYcamFtZXMuYm90
 dG9tbGV5QGhhbnNlbnBhcnRuZXJzaGlwLmNvbQAKCRDnQslM7pishWRsAP4wUPHc
 jOATpEUQL4gcGqj7dfHxux7GeAfiDQRWNyYG5gD+K6RRHDosQO7pqrzjPpGjsq+6
 ewco3E8ZQRYkHtm+hhg=
 =xWOD
 -----END PGP SIGNATURE-----

Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull SCSI fix from James Bottomley:
 "Minor core fix to prevent the sd driver printing the stream count
  every time we rescan and instead print only if it's changed"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
  scsi: sd: Only print updates to permanent stream count
2024-04-29 14:36:53 -07:00
Daniel J Blueman
455f9075f1 x86/tsc: Trust initial offset in architectural TSC-adjust MSRs
When the BIOS configures the architectural TSC-adjust MSRs on secondary
sockets to correct a constant inter-chassis offset, after Linux brings the
cores online, the TSC sync check later resets the core-local MSR to 0,
triggering HPET fallback and leading to performance loss.

Fix this by unconditionally using the initial adjust values read from the
MSRs. Trusting the initial offsets in this architectural mechanism is a
better approach than special-casing workarounds for specific platforms.

Signed-off-by: Daniel J Blueman <daniel@quora.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Steffen Persvold <sp@numascale.com>
Reviewed-by: James Cleverdon <james.cleverdon.external@eviden.com>
Reviewed-by: Dimitri Sivanich <sivanich@hpe.com>
Reviewed-by: Prarit Bhargava <prarit@redhat.com>
Link: https://lore.kernel.org/r/20240419085146.175665-1-daniel@quora.org
2024-04-29 23:27:16 +02:00
Linus Torvalds
a91bae8794 nfsd-6.9 fixes:
- Avoid freeing unallocated memory (v6.7 regression)
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEKLLlsBKG3yQ88j7+M2qzM29mf5cFAmYv/dwACgkQM2qzM29m
 f5dcFQ//R5MRfOwLFqvNO2wwh750ijbR9tlUn9ce+PVQRpM1m1AhcDD9h98ZxNjn
 8rwxMPTJVd0E8GV5BG5B7vaYYQySuU6C9LAbDDFL1mWOSf2VFIY8U6YntqasQ77K
 HGXdFhHKlCLCwIGTvQgJ4Dnu6Ds2mjm83wH9IZ0SXdwHZsr5MeSiOmtpjDZn/Efm
 isx+OBjf4uYEwo02qzMzdX5mmj2eXDwincjK9dEUXYn6yyzIDEwo/wUDtzsaxuui
 TKm1Ni0uul8idukNOH+Clrp+sSDN+bR57mLhBZuToGxBbdMLaHBHOABYSX5BIDKv
 YCHYaIFrya9dtcZdTk5sIEj94hSwl63PP37RZTS/o/djMNWYNkiUmay+UtRpDkk2
 xbzx+C2hgb5OeGiI4ZDBrcIDi5bf5fIAT6yE8hfL853phloH15jlup9dnZQlB4B3
 PsdQEdJZY3uoOQSJ31/okDRFSxR98xClZxZX+N7zdXWcYtP1LXUk+vNTt44riw8C
 i3MBBWF2kxsGQ/r5J0phFRKunWCRjUQD36co4m7hJUYHqdJq2jNnSvk6O6F4R+yv
 IRQOs+qpX2TdMkNJ2jGaV8d4pt0f5bMLPeh3vl3Smf1xzfX+X0E4trtXTsw0nIrD
 m52ZV93Zag3Q4SkQ3ir5r/lfqX8sybJbVqZba85abtiqSSDIsFY=
 =GqdB
 -----END PGP SIGNATURE-----

Merge tag 'nfsd-6.9-6' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux

Pull nfsd fix from Chuck Lever:

 - Avoid freeing unallocated memory (v6.7 regression)

* tag 'nfsd-6.9-6' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
  NFSD: Fix nfsd4_encode_fattr4() crasher
2024-04-29 14:22:24 -07:00
Alexei Starovoitov
0db63c0b86 bpf: Fix verifier assumptions about socket->sk
The verifier assumes that 'sk' field in 'struct socket' is valid
and non-NULL when 'socket' pointer itself is trusted and non-NULL.
That may not be the case when socket was just created and
passed to LSM socket_accept hook.
Fix this verifier assumption and adjust tests.

Reported-by: Liam Wisehart <liamwisehart@meta.com>
Acked-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Fixes: 6fcd486b3a ("bpf: Refactor RCU enforcement in the verifier.")
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/r/20240427002544.68803-1-alexei.starovoitov@gmail.com
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
2024-04-29 14:16:41 -07:00
Stephen Boyd
19149b3113 - Add additional constraints to A64 PLL MIPI clock
- fix autoloading sunxi-ng clocks when build as a module
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQSPRixG1tysKC2PKM10Ba7+DO8kkwUCZivVwgAKCRB0Ba7+DO8k
 k1niAP4+uMNL09uAdVmRP8KEcD8GFMTABjMhlCXKyX1XEwiYRAD/fFx+9RjefSSu
 Hcvo/V3sD5jB2hpcUQsvVsWCNU3tDA8=
 =J3gq
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-clk-for-6.10-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into clk-allwinner

Pull Allwinner clk driver updates from Jernej Skrabec:

 - Add additional constraints to A64 PLL MIPI clock
 - Fix autoloading sunxi-ng clocks when build as a module

* tag 'sunxi-clk-for-6.10-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  clk: sunxi-ng: fix module autoloading
  clk: sunxi-ng: a64: Add constraints on PLL-MIPI's n/m ratio and parent rate
  clk: sunxi-ng: nkm: Support constraints on m/n ratio and parent rate
2024-04-29 13:57:25 -07:00
Arnd Bergmann
93f9f5a489 Arm FF-A updates for v6.10
1. Support for handling notification pending interrupt(NPI)
 
    The FF-A uses the notification pending interrupt to inform the receiver
    that it has a pending notification. This is a virtual interrupt and is
    used by the following type of receivers:
    - A guest/VM running under a hypervisor(normal world usecase)
    - An S-EL1 SP running under a S-EL2 SPMC(secure world only usecase)
 
    Also, when the FF-A driver is running inside a guest VM under an
    hypervisor, the driver/guest VM doesn't have the permission/capability
    to request the creation of notification bitmaps. For a VM, the hypervisor
    reserves memory for its VM and hypervisor framework notification bitmaps
    and the SPMC reserves memory for its SP and SPMC framework notification
    bitmaps before the hypervisor initializes it.
 
    These changes include skipping of creation of notification bitmaps, some
    refactoring around schedule receiver interrupt(SRI) handling and addition
    of support for NPI.
 
 2. Support for FF-A indirect messaging
 
    The FFA_MSG_SEND2 can be used to transmit a partition message from
    the Tx buffer of the sender(the driver in this case) endpoint to the Rx
    buffer of the receiver endpoint and inform the scheduler that the
    receiver endpoint must be run.
 
 Apart from these two main features, there is an optimisation to avoid
 queuing of a work when already running on the worker queue.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmYqYlMACgkQAEG6vDF+
 4piZdg//bXofMTqAzCgCJzzgCHnmPmAvoCk0cDzogorQ4rlZpabYOGMkVGeWIh+x
 p3fy/tD5HNl+AgAiglWDmchphxiqhxrMyb893oSsUUr7WHH2xeb8cLUlMrirGCMD
 CDUQ2mAv1h09pSvHfCLcJD4MVHUZ8maHCo5Bqg5zqMYV7poOSoUJJ/nHCWSHG2il
 S5h4ScEgtJNd7FmsnieSnTXwUKa7TXbVDWbUAhxukymAfJfQcwJ9XP8X537W/NkJ
 1UH4asPadU/ScRi6egNpaledEWiVM2Z1emsItfd3oO399lCHIBb9o5XDZg3TWaEi
 JEbKaBt6EP0g2zt4Rdjk/vPWIAwZKmnOLi1m+Cn+urZbsNBXke/7e5C1TvdXrFLA
 9D0vDmO6CMnIZ+wPt/xElzsnWKGNJ3tRu5kGPAL5XpnsbsY6NLbkQ//veS2GCeyW
 XYQBmd2V6nU9IB1tmRQmrtM01DbT4V02tDROaviRWgt9GrZFdBSV+uYNZ9wOVXej
 LhGuSW0ouaNt6PwjxdoocFZh4cfVHGwZdtNVJNOeRRtMok2LweKM16CMtN8RexSl
 QBTsHifZ0hCg+QZ9Cp2ka7nenpuVhll1dB/MmKENJWLfnn5+UMEbGoIGj/5cRn91
 aYuYC3f6qnZsgWCn/hfglP4jrl0pP6/OrblFBZPZRl0IoCjgfHE=
 =A2PF
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYwCOEACgkQYKtH/8kJ
 Uifhkw/9FJUVel9Q84ZoovQH+L6D18pB6tOSy4BtrX/YujQ6tSlKhhQAhbl/d02s
 E4fUbkQDRLJIMDmfiqLJS7oFjV5ao6ws8ERwTtiaWQN30cMkTmmGVVTjPB2hXMyY
 Iez1CKT4UBncJQZdFj3JsSu0OPqWAtmi1RviRpyW/7/4ezpnvgawkmGKNDDJFgAI
 uXgO0nsZFkbFSSZTJyeWNvb4fwQdflgJgUZ3d3jozFTQDB+g/N+89yYHKFYWZ5Yf
 fJ/u3e4y/3Ap4oBhQ6D7WIcMX4flQNyQzlubOjO3Zro0/rWY3/LetcvtwaulzCNd
 28hDe7RxulflRgrNuRERzuM2uT0Wuy33NCX3CNbCTw3lc1PPk4g0WEXlIPFtv/q2
 5RcAiGeHP++u4qfFgxr2eutxPrWPBbVUxRpqL1jxawKSLDjxj0YMnDO+2A6QUyei
 cDGtn0jjTFbUaeprw8Kn7AqsOpQoCW4nhRYA7FIH8xn4HyP4ibGB3PAEZZ8WQ6ny
 cGG+sVPK82njXQW7PmIqkoAEmZLwp8yqt6esZuQ8ZY7LmTXiPgYaZ5L6l4dQEY9C
 13cfiEyCKH0qsCGiTuDD3FTnDH8NmIzcCuhL6BaYicvc1tlgfakDr+ib8u03tEhI
 iSQq9hLnF51tcEVlbKKvKvZ+kVEtQy5RyyNVRsvIRINEM/Y9uro=
 =Mf+D
 -----END PGP SIGNATURE-----

Merge tag 'ffa-updates-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers

Arm FF-A updates for v6.10

1. Support for handling notification pending interrupt(NPI)

   The FF-A uses the notification pending interrupt to inform the receiver
   that it has a pending notification. This is a virtual interrupt and is
   used by the following type of receivers:
   - A guest/VM running under a hypervisor(normal world usecase)
   - An S-EL1 SP running under a S-EL2 SPMC(secure world only usecase)

   Also, when the FF-A driver is running inside a guest VM under an
   hypervisor, the driver/guest VM doesn't have the permission/capability
   to request the creation of notification bitmaps. For a VM, the hypervisor
   reserves memory for its VM and hypervisor framework notification bitmaps
   and the SPMC reserves memory for its SP and SPMC framework notification
   bitmaps before the hypervisor initializes it.

   These changes include skipping of creation of notification bitmaps, some
   refactoring around schedule receiver interrupt(SRI) handling and addition
   of support for NPI.

2. Support for FF-A indirect messaging

   The FFA_MSG_SEND2 can be used to transmit a partition message from
   the Tx buffer of the sender(the driver in this case) endpoint to the Rx
   buffer of the receiver endpoint and inform the scheduler that the
   receiver endpoint must be run.

Apart from these two main features, there is an optimisation to avoid
queuing of a work when already running on the worker queue.

* tag 'ffa-updates-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_ffa: Avoid queuing work when running on the worker queue
  firmware: arm_ffa: Fix memory corruption in ffa_msg_send2()
  firmware: arm_ffa: Add support for FFA_MSG_SEND2
  firmware: arm_ffa: Stash the partition properties for query purposes
  firmware: arm_ffa: Fix kernel warning about incorrect SRI/NPI
  firmware: arm_ffa: Add support for handling notification pending interrupt(NPI)
  firmware: arm_ffa: Refactor SRI handling in prepartion to add NPI support
  firmware: arm_ffa: Skip creation of the notification bitmaps

Link: https://lore.kernel.org/r/20240426105051.1527016-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 22:53:53 +02:00
Arnd Bergmann
21cbc1058a Arm SCMI updates for v6.10
1. Basic support for SCMI v3.2 pincontrol protocol
 
    SCMI v3.2 introduces pincontrol protocol which is intended for
    controlling pins and their configuration. The pin control protocol
    provides commands to:
    - List the pins, groups of pins, available functions, and their
      association with each other.
    - Set the parameter configuration and multiplexing of the pins or
      groups of pins
    - Optionally request exclusive access to a pin or group of pins.
    - Optionally configure the permissions of an agent to access a pin
      or group of pins.
 
   These changes adds basic support for the same in the SCMI core layer
   and an implementation of the generic scmi-pinctrl driver with associated
   DT bindings.
 
 2. Framework support for multiple vendors custom protocols
 
    With the fixed space for vendor protocols, the possibility of having
    multiple vendors implementing distinct SCMI vendor protocols with
    the same overlapping protocol number is very high and with the need
    to support them all in a single kernel image or a module is also high.
 
    In order to implement the same we assume:
    - vendor protocols has to be tagged at build time with a vendor_id
    - vendor protocols could also optionally be tagged at build time with
      sub_vendor_id and implementation version
 
   At the initialisation all the built vendor protocols are registered
   with the SCMI core using a key derived from the above tags
 
 3. Logging and tracing improvements
 
    This includes using dev_err_probe() to bail out from probe, adding
    message dump traces for bad and unexpected replies and widening of
    the tag buffer in trace_scmi_dump_msg to allow diverse tag names
 
 4. Miscellaneous updates or improvements
 
    This includes adding the accessor function get_max_msg_size() used
    in pinctl protocol, updation of dt-bindings examples for protocol@13
    to promote new bindings and simplification of scmi_devm_notifier_unregister
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmYrfzYACgkQAEG6vDF+
 4phXdw//ZmvCV76D3XGJsXnc2Ivv/uaOZKRhzI+IKn0U529hI2YscA9BfhiLZOOI
 68KqWiScMTGH5Zn1oDC5wpIEj0i3S/2ZdXZXWSN35+ccsz6y2hbf2q2ciMl1Vrf0
 co8kxiDABI+RBeGpiSVQ2Yp6TEnxkiNDNAfON+A+xxbHhhLxGLcCCO33xbJ9Ui7e
 QpW2xan7AiSANRTUdvM21h00Uy1O/kAkcZJC2oLtCjUr3lzczrZkBCIor0jBE4VB
 SmM9vvcjWdfLVdfgxeFEAFvxN0fI9RT8ALRyfWbnPcCb37GUUMwS+J/Dz+P3yUa9
 6vGz4CCdXpC1lxcM2z5cZsAqwk3WS8LU840lJyb2+gGxLoSPwr1z0NWNCqZQppkp
 5LDaFh2v5b34epMHRkNUHTytMBHy5p9c81TOSYH7S2bEsQTOi9qjviH0RqSjyR5A
 s9+dlxfUiZfoE71UYQLO2E0knu3AwIRQ6oEkhbmLFedOVegkoTeYkaAfdyEAO+SH
 vqLEX88wwMU6B+bjDnN7lYTuSXbZVKu66TZk6oqMVnv2BQ29pmOR3AFQdFNpLA8W
 lRygSMEbADzNuJla5Az+VH2tWf1hOmpSsMIOAJbZ6/drv0yFnbBwgtGkAmkqEr68
 IQxwJTVQmPlgqpsCATzV29qgSEosHDJo9LZw9/DtgTx5qGL/to0=
 =WRU/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYwB/YACgkQYKtH/8kJ
 UicgvxAAh8OV+YcHzBTHdsHDc7iQkb9tmvZg6Cw4sYP8AJ3zZ2NjRYJXLYxxzE6T
 l+W8DIeV3ZQow+B/x6Xexdz9P/NKnxlTPO1/Z7hGpC2aDiBkseP3WliIJgBH0+iF
 m6p3VOSVKcfM8vds0d5l35ITHL0eVJzb7bN6PKUR75I2cDJ2UDbWV6OadNNyt4tX
 eEkCNnmuTx1bhpRXLpAXpEBb4FdbFNc5cSJHw9nbdCyQ8vFtHkaH82L9MCjy4kaW
 fSRwkNzqwWOA2tS3tkDvsczF4360RKoL95Y92lrQVTlnMjGLaUsCbs8FDKwHNZKb
 6hBoiYQERmhGvb76+34kbMM50MyWohjzZcbCL6o3cU195KWJCN1a1cUbq8J+H7k1
 MeK0XuwYUu6HdApwI6AfHl9vCvyJB9/XsvWz1eEocbmP8M2aPeXtl8y3vImZ6rkX
 aj/a9HuSKpAncqsdvpz4FoC0Q16gMZYtW6257kHcPX3QHvRlzJk7fHuqqIAQUsSf
 prOfYGBCvBuPT3S+bgG7L74Ddt4JLGHYjDxdNP4DR9xLR62ek2eQWc+cVqooatoA
 ZNckHV6Bibegtb+p/5RWgFem1XAOePM5gC1i5gvqy3oqsAQDrAd9Mx6s97AfrPzN
 dU9WTMohCjebdyqxYDGb31xzi5VY/L3/UJp3X9moJqbajXX+ty4=
 =Yce+
 -----END PGP SIGNATURE-----

Merge tag 'scmi-updates-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers

Arm SCMI updates for v6.10

1. Basic support for SCMI v3.2 pincontrol protocol

   SCMI v3.2 introduces pincontrol protocol which is intended for
   controlling pins and their configuration. The pin control protocol
   provides commands to:
   - List the pins, groups of pins, available functions, and their
     association with each other.
   - Set the parameter configuration and multiplexing of the pins or
     groups of pins
   - Optionally request exclusive access to a pin or group of pins.
   - Optionally configure the permissions of an agent to access a pin
     or group of pins.

  These changes adds basic support for the same in the SCMI core layer
  and an implementation of the generic scmi-pinctrl driver with associated
  DT bindings.

2. Framework support for multiple vendors custom protocols

   With the fixed space for vendor protocols, the possibility of having
   multiple vendors implementing distinct SCMI vendor protocols with
   the same overlapping protocol number is very high and with the need
   to support them all in a single kernel image or a module is also high.

   In order to implement the same we assume:
   - vendor protocols has to be tagged at build time with a vendor_id
   - vendor protocols could also optionally be tagged at build time with
     sub_vendor_id and implementation version

  At the initialisation all the built vendor protocols are registered
  with the SCMI core using a key derived from the above tags

3. Logging and tracing improvements

   This includes using dev_err_probe() to bail out from probe, adding
   message dump traces for bad and unexpected replies and widening of
   the tag buffer in trace_scmi_dump_msg to allow diverse tag names

4. Miscellaneous updates or improvements

   This includes adding the accessor function get_max_msg_size() used
   in pinctl protocol, updation of dt-bindings examples for protocol@13
   to promote new bindings and simplification of scmi_devm_notifier_unregister

* tag 'scmi-updates-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  pinctrl: Implementation of the generic scmi-pinctrl driver
  firmware: arm_scmi: Add basic support for SCMI v3.2 pincontrol protocol
  dt-bindings: firmware: Support SCMI pinctrl protocol
  firmware: arm_scmi: Introduce get_max_msg_size() helper/accessor
  firmware: arm_scmi: Add support for multiple vendors custom protocols
  dt-bindings: firmware: arm,scmi: Update examples for protocol@13
  firmware: arm_scmi: Avoid non-constant printk format strings
  firmware: arm_scmi: Use dev_err_probe to bail out
  firmware: arm_scmi: Simplify scmi_devm_notifier_unregister
  firmware: arm_scmi: Add message dump traces for bad and unexpected replies
  firmware: arm_scmi: Add helper to trace bad messages
  include: trace: Widen the tag buffer in trace_scmi_dump_msg
  firmware: arm_scmi: Log the perf domain names in the error paths

Link: https://lore.kernel.org/r/20240426105031.1526987-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 22:49:58 +02:00
Arnd Bergmann
40b561e501 TEE driver for Trusted Services
This introduces a TEE driver for Trusted Services [1].
 
 Trusted Services is a TrustedFirmware.org project that provides a
 framework for developing and deploying device Root of Trust services in
 FF-A [2] Secure Partitions. The project hosts the reference
 implementation of Arm Platform Security Architecture [3] for Arm
 A-profile devices.
 
 The FF-A Secure Partitions are accessible through the FF-A driver in
 Linux. However, the FF-A driver doesn't have a user space interface so
 user space clients currently cannot access Trusted Services. The goal of
 this TEE driver is to bridge this gap and make Trusted Services
 functionality accessible from user space.
 
 [1] https://www.trustedfirmware.org/projects/trusted-services/
 [2] https://developer.arm.com/documentation/den0077/
 [3] https://www.arm.com/architecture/security-features/platform-security
 -----BEGIN PGP SIGNATURE-----
 
 iQJOBAABCgA4FiEEFV+gSSXZJY9ZyuB5LinzTIcAHJcFAmYp+8YaHGplbnMud2lr
 bGFuZGVyQGxpbmFyby5vcmcACgkQLinzTIcAHJd3ixAAsWZwTmxavFD1Qh2bN6dR
 XdRfv/4+8CXSN84aETBhlbjjzcUYswl6icyIcpShLcgFF7KvS+H30LRe0SGi9hjl
 xePS0hoYteLtIDN0S9u5kaM8EdYeXKYU3hNqQHKxksCh7jlTEkwC0XcOb18OkyZT
 niCHZ7+dKTmVQhH+MDvvUmeAljzk6vNwBBIBRscUX+JuG3IjWEux8pZedP3RAAS7
 IKNNtcylGB3JJVJ5H11TRF42LeQSohHyKYp1XaMca6lwWi1PoAXKIia1gcsNYLLN
 yaJByAiyGi2olk3SjeDx8Q0H35ezgJLwRBXulCXlCKzzc9ZFoVOw+a3QOI0tCJJ2
 qnUq2YZwEb4yHryPk0/v1mDCkl9MZZTpL85CYFvS84e/Gk26eZAUHwWAlgPZY6Js
 yWmfIAE/qtV48B0vUOxQGZgFAIsgn1TwaiOMWlEAoqlOQb6GosKYkCEHmfMJVMRo
 F3DeD/QOTWr4u91dFgbStL5CNwVu9yhFzgYDekPxBJfv+4IzITUmUPdne/FNqz4G
 P4RgQXstIl2xn58A/p457WSTmu/5N95/IILw0FNsbEiqNou0Wv+HFEEKEhzCSoOp
 gru5xcGrBnx+1IdE2Vw77+XhsKHCUejTrFhWXHQM6zGA1XWr30XwkmgvS1f/xolB
 DFsYhlZNRazhL16BsD4tGgo=
 =RJca
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYwAzkACgkQYKtH/8kJ
 UicRyg/+JKZAg3KJ3lG2uXGvb9a/kqpenroR7AJu4bLgsj/3KdXAVozxV0vzh7dc
 ayQCydMnMnKZDqlFoyDdqJEpFY3HINC6qknFYPF3Juc9R8aOGhMA8gN41vYDUbtS
 PXjIRkoaSUvtaZ4MarU6S/jzi3h5FpdZ1VqBoSgHioG58w+aihN/ElauhLc/qJh4
 Sz4hAsqBKKS107w0mwWaV0YhLbiGoxVBeQi8xLhO15Iy22jMU0NKMn3kGk0I14S8
 maDV64UaVD9qwilp46kbErPXodzzhmwvR53vCEH54CCv4j9GoM80A+UrB7yboZu2
 qY6k4LsyIVN6yHV268bHluNeo+XeTQbkEZxBS3SKe0NkhWY51BHL2vW/TFMr4BNj
 xl9WLf4IaS6GX0NYCyiXqaEh92USHgdl41eTf9P4vnyPSH3cMryw9FK/f/1F7JGS
 SOERoHVuyX0VeqUelWf4/Grux9n+votM49QCrdAICMbRcgiIIv/ITzKiSzYMKC0J
 pS4F9426ZymPkq9CVYBy8yl2atNUjiBZ+tW55eRDAfNKJf/4N4b7ncxVAPoPf2J4
 LhvEnKMAs4GtaF6G+0d2ltxhQdsl3uK9i2XEy+2WY4HceH2FEYctzG44SsIEzlVQ
 D/FyyKpa5aPyybFsdYGXyfyVv5GBFPowPeFXK9k9GH9ODc33xAE=
 =VM1o
 -----END PGP SIGNATURE-----

Merge tag 'tee-ts-for-v6.10' of https://git.linaro.org/people/jens.wiklander/linux-tee into soc/drivers

TEE driver for Trusted Services

This introduces a TEE driver for Trusted Services [1].

Trusted Services is a TrustedFirmware.org project that provides a
framework for developing and deploying device Root of Trust services in
FF-A [2] Secure Partitions. The project hosts the reference
implementation of Arm Platform Security Architecture [3] for Arm
A-profile devices.

The FF-A Secure Partitions are accessible through the FF-A driver in
Linux. However, the FF-A driver doesn't have a user space interface so
user space clients currently cannot access Trusted Services. The goal of
this TEE driver is to bridge this gap and make Trusted Services
functionality accessible from user space.

[1] https://www.trustedfirmware.org/projects/trusted-services/
[2] https://developer.arm.com/documentation/den0077/
[3] https://www.arm.com/architecture/security-features/platform-security

* tag 'tee-ts-for-v6.10' of https://git.linaro.org/people/jens.wiklander/linux-tee:
  MAINTAINERS: tee: tstee: Add entry
  Documentation: tee: Add TS-TEE driver
  tee: tstee: Add Trusted Services TEE driver
  tee: optee: Move pool_op helper functions
  tee: Refactor TEE subsystem header files

Link: https://lore.kernel.org/r/20240425073119.GA3261080@rayden
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 22:29:44 +02:00
Arnd Bergmann
d9f843fbd4 OP-TEE Convert to platform remove callback returning void
-----BEGIN PGP SIGNATURE-----
 
 iQJOBAABCgA4FiEEFV+gSSXZJY9ZyuB5LinzTIcAHJcFAmYp+g0aHGplbnMud2lr
 bGFuZGVyQGxpbmFyby5vcmcACgkQLinzTIcAHJf6OBAAvqgiq2gbDF8iJOB+0zz8
 S/h5yOdKDLDrxXU5uv0Kth/+kXVVpuHidRN2mwe2M5xlAr3ZRS/mwvS/KnU4AWTr
 4pOfF35ARq5I7W6EVV6l8iCAWhTIos/L1eKvasvSh+igXvja1Fp9+N1bzCEnOekF
 ifrlq74DWsjH4OKWQbUnasvAmp8C22GAzWFIf5NepyKTdxjRvxfKKs2zOr76ScpP
 lgyBpKPLoi5Ez/gcCyIGs78xtlDZz3JtQ1W7Pa8FvtTSrYqUsbH/ZZcrIxSLQN5n
 +OFJ1jcMhW1jHyFVLHaeTQyGi0NKoGcJ6Q3yM4htKRSDZ6/pIzqoAettFhjMDF1a
 m90tEpGRlZCcrX2N0wd87SW/IptnpJfBDzfx9rt6oj0EAmNUEyGcfG7NLhNyQKPI
 U3adu2CJC3Zmc28aqr4GcL+rHOogk9dHi0z1qmhv1MQCq0AzvX0ly8shfaouuZxu
 xSTGhE+gC0AzQJ9wGCkvBumkdPpB7/V2oQ/iga7uSDK/AvIMkE1BSyxE9KRyXo0U
 AjbG2NPTx+9FHcaaqF0hJtXni70XOpm3vza5ZKEluYj+TLRiGt9YE/jsQatZ2W20
 ZU4iBhrVryV+7jJ8+SjfvLKV3GNqWM/nby1pl55F5fr2k6itkWkHoLPI8R0+VeMx
 LbgLTjVbxw7YJe0a0dip0ww=
 =3GUN
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYwAxEACgkQYKtH/8kJ
 Uidbtw/9EmnaUts1xjCGQFyI0qTz+mXOdgYeGfPinOH5RD5rRsamqDPX/frF5Uqx
 6v6Xsn7T+thiPZtdDXJ+MleF6OyLvndHMRKeFzxFxpeB0PWZMbleIirh3PUR20OT
 61udmWSvq499Lhfk9s6vLHgUEgvBlM4ganqYhA4drnf5WLujfpsDaRW2moOAC0xx
 iHFmFuuGzE8nYK7R2vOTk1DY0YNOgqTFVaGePXoCxK6o97lUNA1oVMqOXFZ6nefC
 DaJEA4EWKxA66qtlQhyUOkYtlDkWQMCmlqwaK3PPhMe9tyI5/paMZfxyRwNwkRLZ
 pw2DNMDnUTPGwIZL45fW6kUOchpmmCPmgGL257IpOimCAyV4KPl9dT9j4Yxo8QFb
 XNC0/N//Se1qX/0OPjfpRCQ+OXVCpKols3wNVzhlbVqULOpBl8GnrtVSSgRvJPCt
 RGCHuagx6lVkIU88wJuyMcxgaSSTAaF4P0bEC504FNSmsjUVYMivcx5F0tVymck3
 /krSc8Xrmw5CVxCw8RIc6HHHatBKPey7+ITevdypMI2gV7Tg6sbHR7Mrvs6HDB2L
 gRqQS29Tej6fLh4LdAMlqX/F4Z8H3aIKEa6vJnXBWxxrRqW0Z3yhiOIfHBK2/rV3
 cyDvLTOy856SZ0UMEEVniReK1BPb/mq7GalCIsasFjeltlhi8ho=
 =Unfh
 -----END PGP SIGNATURE-----

Merge tag 'optee-convert-platform-remove-callback-for-v6.10' of https://git.linaro.org/people/jens.wiklander/linux-tee into soc/drivers

OP-TEE Convert to platform remove callback returning void

* tag 'optee-convert-platform-remove-callback-for-v6.10' of https://git.linaro.org/people/jens.wiklander/linux-tee:
  tee: optee: smc: Convert to platform remove callback returning void

Link: https://lore.kernel.org/r/20240425072835.GA3258167@rayden
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 22:29:05 +02:00
Arnd Bergmann
d1734cfcec MediaTek driver updates for v6.10
This adds a much needed cleanup for the MediaTek CMDQ helper driver and
 also some more helper functions which will be used in drivers using the
 MediaTek Global Command Engine (GCE) HW.
 
 Also adds support for MT8188's VPPSYS mutex for MDP3 support, a new SoC
 in the mtk-socinfo driver and changes the marketing name for the pre
 existing MT8188 SoC.
 -----BEGIN PGP SIGNATURE-----
 
 iJ4EABYKAEYWIQQn3Xxr56ypAcSHzXSaNgTPrZeEeAUCZi+cOCgcYW5nZWxvZ2lv
 YWNjaGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tAAoJEJo2BM+tl4R4QsoBAPuI
 rGRlN0B+gFmkv/Q90EXVRd3UoIDCUK7rlqWjegWaAP0eb8s/Rtl2xy0x5OrEFX+R
 AfGVBb6frmdRGFYi7gl7Bg==
 =XSlW
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYwAqUACgkQYKtH/8kJ
 UicmOQ/9HoCY3U9BGmOCLc+XuTS+7BqIkLpeOdFWg9uyResDbTalyrfhzam2RLba
 G83y8HLmlhkQJh844Z/NOU4hMfcgtOD4MM80y6HSMfmI3giWNpgLe8v8wuA1pxJ7
 xAbVfWrmW4PiRdSxEj7TzHN04xYAhroYioSnvljYFinaPuk3Z64ACZlomk6I/tVa
 zh9b+5A7aQsIG6iAJgwYr/pxIiGVyz/TVhulUDAxjuD2GkyFlaqa087P3f+V9Ciq
 ryGkBM4pdmFhK9ajZaCVK0CZcAA++BHEBfZ+PUBkyzoHUSCMINCujvk3wW/GU0j7
 41czEO2z345WeClvOOEMEcGLRPAUvYnd7JgtKthY94vx40di8ddboPRYX4aeYG/M
 4aQHNXetjDoozrzOmT2EyUuMgcVFwz/4l81QHEGuJ6K/9b1DESK8YWS3jVUrtV0/
 bPWrs9ldS9OCtpd8UHMb7n2XunFBrBOmEHmM6qKPPMh7KI11VEScMGe9M5vhDqyh
 ibCw9R5E+FuWjOT5CSws0mVvIalkYcyHbFRC80AVOEdzGLVb3YjzuK1CFANatLUh
 eyCsTOFUUviIgSgl26i9zvKhU4ftGii/9QSXUsPUPxlAMBSTvGk8OFwGldyBZBfF
 p2424FOGjP9n5ZmFblSqgVWDSazJH6SGl0R9Tm0Kh/49p92EMng=
 =Nyho
 -----END PGP SIGNATURE-----

Merge tag 'mtk-soc-for-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/drivers

MediaTek driver updates for v6.10

This adds a much needed cleanup for the MediaTek CMDQ helper driver and
also some more helper functions which will be used in drivers using the
MediaTek Global Command Engine (GCE) HW.

Also adds support for MT8188's VPPSYS mutex for MDP3 support, a new SoC
in the mtk-socinfo driver and changes the marketing name for the pre
existing MT8188 SoC.

* tag 'mtk-soc-for-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux:
  soc: mediatek: mtk-socinfo: Correct the marketing name for MT8188GV
  soc: mediatek: mtk-socinfo: Add entry for MT8395AV/ZA Genio 1200
  soc: mediatek: mtk-mutex: Add support for MT8188 VPPSYS
  soc: mediatek: socinfo: Advertise about unknown MediaTek SoC
  soc: mediatek: cmdq: Don't log an error when gce-client-reg is not found
  soc: mediatek: mtk-cmdq: Add cmdq_pkt_acquire_event() function
  soc: mediatek: mtk-cmdq: Add cmdq_pkt_poll_addr() function
  soc: mediatek: mtk-cmdq: Add cmdq_pkt_mem_move() function
  soc: mediatek: mtk-cmdq: Add specific purpose register definitions for GCE
  soc: mediatek: cmdq: Refine cmdq_pkt_create() and cmdq_pkt_destroy()
  soc: mediatek: cmdq: Remove cmdq_pkt_flush_async() helper function
  soc: mediatek: cmdq: Add cmdq_pkt_eoc() helper function
  soc: mediatek: cmdq: Add cmdq_pkt_jump_rel() helper function
  soc: mediatek: cmdq: Rename cmdq_pkt_jump() to cmdq_pkt_jump_abs()
  soc: mediatek: cmdq: Add parameter shift_pa to cmdq_pkt_jump()
  soc: mediatek: cmdq: Fix typo of CMDQ_JUMP_RELATIVE

Link: https://lore.kernel.org/r/20240429140245.238210-2-angelogioacchino.delregno@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 22:27:17 +02:00
Arnd Bergmann
75c0675f1c Memory controller drivers for v6.10
Few cleanups:
 1. Correct module auto-loading - missing aliases in the module.
 2. Document bindings for the Samsung S5Pv210 SoC DMC memory controller.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmYudwcQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1zeHD/4yYa+F1sXXWXPF6nDsiXE3zSftOtAGg6JF
 0FoHjFoq4Argfk/qFmX0QD63yuEI6voSZpC/MwnzHzHNH9JlRIZYf3IbD8HvV4t8
 B58sD9WCAGu5irluNltpNHJaqUxIIgusm45iloXtpM7K1JXGAkCxRvUPAzCc3Qkn
 YWAyuVZkKSUzqnbbMxDA131D7pKxI4tS4BTOhi1EclH1A4JjrUe9V2WxLWkrRmrD
 GSRSEP+NbRs3QUiJvxr+B7OEveIo+QsjrPlg7LtI4LbFdwejOup4IUua7xxFXj6C
 LBtEyOA8TMnMxJYpaO8A1U/jwyYluqM94rJ+TN70GfZEKBn/X4hipK3uiwbhEPJF
 thSKRIevWFyszi17NWdosDJPMUkvO49+LBq3QON8a1L0Vee8Ww5sqavSk8bycC7S
 +g3pQRikTxPJFS7wy6NvvfAU9cqclNxmCGYVfAVHtaxIx1HVi+syfe/BJQZSqBoO
 djFYJxiwycOdhvoUtBtAAQkIbQ39L6v+As5QxVGJKWzIhOgfk6ktmp+FprRSi7EV
 /aN2ENDCOof2UXoHQ0BxZR3yBESZfZVy0YLPvmhAhCN5ShG4CUIqjyb6VJeDl4Hw
 IRex3xSq66fug7eLJFybkhZmEYJaB88TMfTMf1qMO0d5iYfh72byKAnZ+C2CJN+T
 vjqYWpdUYw==
 =2ho/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYwAoEACgkQYKtH/8kJ
 UieTfw/+NM9baWXWHODtqjzn3NNjqrbMqpW2VVcWUfygrGlr3VBxrCpLy+BTCKJq
 1Fz2V6W0LlBygC6NEAf+BqlfTo5XygTDbtumzVGDvd0bxYk7H7Et1kdt02uQSIEW
 I8r8X7dXdQVg0s5rX6kHJteMSclhBheYfZvlnp0196GCWdhS1y/aHWzR33zNwfo1
 E19Ng+fvs3vmcjby3+UGkjqTjyyQSjDN9k8kVgSepaTNU6EcS26Yl+ElPWKOXm1e
 P3lzkZVNf0wjCXuph7TVG/9cIiX3dedVQcTTB5Y7xoiBY68HXvDbUx3RVpnrPvmx
 twyNpI+dCOdY+64VOvM5aeSoiacFHE7wVlmufrhJRXziIkJ9sRpfSGsAsbHkPWKk
 PN1fWWBYJToZf4ledGoGjrwwQDUkVVL9mWAWwq/aNt4j4lo6hPn0wJk6lygbhGzm
 NsT2ljajqmWXOyqMJ51UUMErvyTCiZGhAWLq39wjFhDbvWBIXJr4/RKSEHuue9Cu
 2oFn/coJ5OeybYqIgvWU2oWWh9akTRDwFsoP2gFNcTRpG/etLzQMVmLGTQNUSigO
 7LGAN9I6qeviOZ30BexUEMdmwThcG65rwjrEXhzosE0xZosWch23mFLMbR/bJHwg
 sqTMPzd45HhxHhamhKFsW97fLLi7Lem887o26mWJeb3Rs2hPrFo=
 =Zsg1
 -----END PGP SIGNATURE-----

Merge tag 'memory-controller-drv-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers

Memory controller drivers for v6.10

Few cleanups:
1. Correct module auto-loading - missing aliases in the module.
2. Document bindings for the Samsung S5Pv210 SoC DMC memory controller.

* tag 'memory-controller-drv-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  memory: mtk-smi: fix module autoloading
  memory: brcmstb_memc: fix module autoloading
  dt-bindings: memory-controllers: add Samsung S5Pv210 SoC DMC

Link: https://lore.kernel.org/r/20240428162001.28011-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 22:26:41 +02:00
Arnd Bergmann
75e4eadcf9 Driver updates for ti-sysc
A change to update the handling of no-reset-on-init quirk to make it init
 time only like it should be. And a change to add the missing copyrights.
 
 Also a series of changes to simplify the driver by dropping the old unused
 handling for interconnect targets tagged pm_runtime_irq_safe().
 
 These are all non-urgent changes and can be queued whenever suitable.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmYt4joRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXNO+g/7BTsnrnPSCOgebdI5UWrPQ316ANM0C9OR
 ENm1FiOGvkBLY25g3wlLlswsKm2Of/4yOsw+KIN53MjOtJm5+1eBome6Dro4RIKE
 nEuZNFIr7w9MGHX/ugB7hoOsqwvlOWUYJsEywfaVyRMjD296mVM/L1L6Xh7GUgDd
 A4ChKAhwSMuAV72ZCofL9a1mRYbUlCgm+vT5b6VP4JoCN9FoAl33eoGZXxRlV96d
 y1lkmVn0ZuiURTZFzqfcsV0AJxpIuHJAYgt2/yMOPvUBtSvl/b7+GeLy1cO/zDEU
 m0WKKTwPyRzFlfZmEITuRGYBtmzg7N3XskqIhTWMPY3W2o2bDlGK4pg39nRZDBmN
 4vpCJoP946Ac2SR1NMfyYkn5aVpSPAb1A59aEZ1Hn3ti9IqIeCqaHsGOLG8/DzPp
 XXWZHCxJS2TQZU+VXzQrJL62j3J1c4wXF4+xTb2LgKXxnX1TzGM5klD2RkkEApU8
 Cio+Z3kq3FNQGT2eQCktu7ifhwfNGFNTmTktZ1P9Li/p6eroBkJc2xljiixXzxqo
 WeLRghaQ85ZekhyprneSUgyUphm9/0FNUn0BaEqedB84yM1rdFEPJVU0duFEqNfS
 i6YTRYLWvzp8lv2iCHrlzhqEA1HgArBJn0cj61pvA5uf7aRRYOEn2Nk6+/GQWRII
 fbZWeOIdeLY=
 =DXcf
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYwAioACgkQYKtH/8kJ
 Uiecaw/8CXl1oNCA26w8mgNsmG0D4HgexEgrh5eL9ili9Qy/NhwAV1D5dL01gcHr
 BppEPxyRJjwx8492Vo4yF0RwcFxND7Voqsd9nO1nnyRb4cN9ZNaPeDo2nJUy0eWs
 MoNcbQ2aNQs94LUsIezWvTXj1MZlBgET0vxAWOEYHHTGtXnpm6K7arjLIGgjUKVO
 GG7pQ209/FgiReYOYPH4lIIY5tuov5LNJWY2RYmczf63QYEnV8lsOhVPEbb9xJgJ
 DJM0YsnWDEDV7Guq7eRvJjSRLPaSVOmKoMcQpMBdhS0D+p5r6MKuQjw8ubdcb7fZ
 hXJ3SqOMobks4dwZkZ9ZK+vWON2litlkZixgVVT6QRTGXtEUjsisKJeVrzEvjILO
 ZsNmEbJJ9rcVxsWRfduNeAtXZ96ek/pHupYyzHQSu4IhrDDObRAcXEhhcrU8vyr+
 7dXUupwMUa/Kl9HT0kjvh3AqcK/mxMA8rtADgcpQzwqzVJdZTXvxjY3hRPRMuV6M
 c5T245cw4Cq2nOY3hjuz6qB46Ngp7i4+FbvhYfP6YCmQjkk+XG3JIwIOnLJDBWAg
 R+94yvMkA1hj+DH4eXkn8oUaJ9Esd7GngPbuQJ9jSZIjC+i5gooPjCLWNmNWfzzA
 hWyG7ouj0Hi+NvLgKjjhxaeBRFw9HvVCJQMz6Sggww0C1yhHw6c=
 =iLZx
 -----END PGP SIGNATURE-----

Merge tag 'drivers-ti-sysc-for-v6.10-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into soc/drivers

Driver updates for ti-sysc

A change to update the handling of no-reset-on-init quirk to make it init
time only like it should be. And a change to add the missing copyrights.

Also a series of changes to simplify the driver by dropping the old unused
handling for interconnect targets tagged pm_runtime_irq_safe().

These are all non-urgent changes and can be queued whenever suitable.

* tag 'drivers-ti-sysc-for-v6.10-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  bus: ti-sysc: Drop legacy idle quirk handling
  bus: ti-sysc: Drop legacy quirk handling for smartreflex
  bus: ti-sysc: Drop legacy quirk handling for uarts
  bus: ti-sysc: Add a description and copyrights
  bus: ti-sysc: Move check for no-reset-on-init

Link: https://lore.kernel.org/r/pull-1714283210-549557@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 22:25:14 +02:00
Arnd Bergmann
02c2c1900f Qualcomm driver updates for v6.10
The Qualcomm SCM driver initialization order is improved, to avoid any
 potential for a client to find a half-initialized SCM instance.
 The handling of download mode bits is updated to not attempt
 QCOM_SCM_BOOT_SET_DLOAD_MODE if a io-address for the update is
 specified, and that path is changed to perform a read-modify-write to
 avoid updating unrelated bits.  Error handling is corrected in the
 peripheral authentication service (PAS) functions, to release
 interconnect bandwidth votes in the case of an error. An unwanted error
 print on allocation error is also removed from this code path.
 
 The QSEECOM allow list is marked __maybe_unused to avoid build warnings
 when built with !OF. The error handling related to the interconnect API
 is cleaned up to avoid handling the impossible IS_ERR() condition.
 
 initcall level is bumped to "core" for cmd-db and rpmh-rsc, as dependent
 drivers like regulators, interconnects and clocks are registered at this
 level.
 
 Another attempt is made to remove the strncpy() usage in cmd-db, this
 time with strtomem_pad() which has the correct characteristics.
 
 The bwmon regmap cache is changed to maple tree.
 
 After an attempt to add missing MODULE_DEVICE_TABLEs to debug drivers,
 the intention of not having them automatically load is documented.
 
 Operations on the pmic_glink client list is put under mutual exclusion,
 to avoid races when clients are being registered. pmic_glink client
 registered after the firmware notification arrived was not informed that
 the firmware was up, this is resolved.
 
 More DSPs and the apss subsystem is added to the Qualcomm sleep stats driver.
 
 Checks for in-flight regulator requests in the RPMh RSC driver is
 improved to deal with the fact that these occupy multiple registers, so
 it's insufficient to just to direct address comparison.
 
 The socinfo drivers learns about X1 Elite and SMB2360 PMIC.
 
 The maintainers entry is split between the linux-arm-msm list and
 subset that is maintained in the qcom-soc tree, to avoid some confusion
 about maintainership.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmYtIvQVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FmLMQANqfDnrplxf3OpL3I8JEqeHYvdLF
 e12jXZyBlSCWRBEbphHZLKj8qSTFqpFgvqxIJ1fNqZ1AG9GeJTP8aGSkSnaYoym8
 7uvSWRv2lZ13mQmaCM8PQMYJ7UhLitVfwKrLfSwV7GgqxqyJ5+tnTGpEdNE3VEhW
 VaiknaR7kV2T3mUmrrgivy+0rMLimDMOVu7TcLkw5aY4SaQuerElXz1/IZO29GLK
 QOqEbDsf8TcImZnMsnmMvbLO+AJ/NgmhpD9SDGTbzYtGEqsbVebklQDZNj9QXjWy
 o6zPoCsPn93x95jBwFp0HgdTye4UWZZ3cix/LkyyLja4l0hMJM2QOdDstmtgymbM
 itmWJ3rGfcK8Gjl6NEh+OSMq0rH84uJfXR0VrT/tRDkn4eTSk6DeZJD6lvpp1x43
 2RwELsdlLobfS1znuq2hz+fkVBMh35USNadfC+B2xNyhihPKI1asG8UHu8mUz2MH
 /feyBxygaI3k9G3C6G4qNg3cjvY2MDqy+u6hOv9cG3CoS5z6aRxoGfxXS6I40ABz
 izoFaaae798Kau+VNAKw5OKC56UbRLlTSAVCmM5FItktK+5YIxbOIxRiMxgDxL8B
 JO6fUH5xUE0nF4Ni0OF233+qmfkO+0tRqiVUVEG4mNveyBgTiJtgrZOMAnqzoVmI
 BkagrDlbfbG2TvKb
 =E1Yk
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYwAbIACgkQYKtH/8kJ
 Uicn4g//Te5hh/YrSw7z42Yu9Zj9N45JhxATZ5Vzsirr9s0YfdF40bbKnHQWeL+O
 qTf/3+egSwn5Dow0vQaEDhRTDJgaQFI9hie+ahR28vtrrgHUWjyXJx/L2yGR9kCX
 1voErjOtCNomq0clDifo/Tr9v7l5Ky0+5OCeZx0TOHkcRjQo9p/ivTdYRhQzw7HN
 jfB23b3rqioUDOErsu+dpC9HFaPeP7iaM0IlPZyqjtW9Vir7Li7pZsmvhlLhFcwS
 xap0Zo77vKoojLTlVhKpJPCTq1qg1/s/WvPR4t1HnfxPcgaEFb0e9ZiFhmzQ5SzT
 tnA61jO/yIlvg3ScUdTlwC6TyI9h1dsNYLhhWyKyHdVn9mQDBAOgxd1+o8jFYx5L
 C2SznOzBxAQPhA81GNi5GJTRlVpixrwd5QsJ7MeQYM59J4+VbQeCjxgZLU0qzI4X
 OyKSx/i4zn7hRYxkuvCQns3fUQ8j8NZEF8HmkDmNeGKCD2UxdexmFFRQBQQzbhpL
 yQxyWoqrlf/iMimfnxjJ1xViTxfJdzdnif9Ah+vjWsplC5P1pty9lAutkLj++zOR
 cAJVV4IDSYhSlDiDo8jsOhfDCclVNw/gOFemUlG5Lf5VdZJ7F/lHTwouq6y7GTZ3
 h3pF8xrGTnfM19zlznq/JTyafph/gTxTiTUH5ymBLm54xOzYd4E=
 =+dt0
 -----END PGP SIGNATURE-----

Merge tag 'qcom-drivers-for-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers

Qualcomm driver updates for v6.10

The Qualcomm SCM driver initialization order is improved, to avoid any
potential for a client to find a half-initialized SCM instance.
The handling of download mode bits is updated to not attempt
QCOM_SCM_BOOT_SET_DLOAD_MODE if a io-address for the update is
specified, and that path is changed to perform a read-modify-write to
avoid updating unrelated bits.  Error handling is corrected in the
peripheral authentication service (PAS) functions, to release
interconnect bandwidth votes in the case of an error. An unwanted error
print on allocation error is also removed from this code path.

The QSEECOM allow list is marked __maybe_unused to avoid build warnings
when built with !OF. The error handling related to the interconnect API
is cleaned up to avoid handling the impossible IS_ERR() condition.

initcall level is bumped to "core" for cmd-db and rpmh-rsc, as dependent
drivers like regulators, interconnects and clocks are registered at this
level.

Another attempt is made to remove the strncpy() usage in cmd-db, this
time with strtomem_pad() which has the correct characteristics.

The bwmon regmap cache is changed to maple tree.

After an attempt to add missing MODULE_DEVICE_TABLEs to debug drivers,
the intention of not having them automatically load is documented.

Operations on the pmic_glink client list is put under mutual exclusion,
to avoid races when clients are being registered. pmic_glink client
registered after the firmware notification arrived was not informed that
the firmware was up, this is resolved.

More DSPs and the apss subsystem is added to the Qualcomm sleep stats driver.

Checks for in-flight regulator requests in the RPMh RSC driver is
improved to deal with the fact that these occupy multiple registers, so
it's insufficient to just to direct address comparison.

The socinfo drivers learns about X1 Elite and SMB2360 PMIC.

The maintainers entry is split between the linux-arm-msm list and
subset that is maintained in the qcom-soc tree, to avoid some confusion
about maintainership.

* tag 'qcom-drivers-for-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (21 commits)
  soc: qcom: cmd-db: replace deprecated strncpy with strtomem
  soc: qcom: rpmh-rsc: Enhance check for VRM in-flight request
  firmware: qcom: scm: Modify only the download bits in TCSR register
  firmware: qcom: scm: Fix __scm and waitq completion variable initialization
  firmware: qcom: scm: Rework dload mode availability check
  firmware: qcom: scm: Remove redundant scm argument from qcom_scm_waitq_wakeup()
  firmware: qcom: scm: Remove log reporting memory allocation failure
  soc: qcom: pmic_glink: notify clients about the current state
  soc: qcom: pmic_glink: don't traverse clients list without a lock
  soc: qcom: mention intentionally broken module autoloading
  firmware: qcom: qcm: fix unused qcom_scm_qseecom_allowlist
  MAINTAINERS: Split Qualcomm SoC and linux-arm-msm entries
  soc: qcom: qcom_stats: Add DSPs and apss subsystem stats
  dt-bindings: soc: qcom: qcom,pmic-glink: document QCM6490 compatible
  soc: qcom: socinfo: Add SMB2360 PMIC
  soc: qcom: socinfo: Add X1E80100 SoC ID table entry
  dt-bindings: arm: qcom,ids: Add SoC ID for X1E80100
  soc: qcom: Update init level to core_initcall() for cmd-db and rpmh-rsc
  soc: qcom: icc-bwmon: Convert to use maple tree register cache
  firmware: qcom_scm: remove IS_ERR() checks from qcom_scm_bw_{en,dis}able()
  ...

Link: https://lore.kernel.org/r/20240427160917.1431354-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 22:23:14 +02:00
Arnd Bergmann
cc0739fe2e soc/tegra: Changes for v6.10-rc1
This contains a single commit that adds a wake event for Ethernet for
 some devices.
 -----BEGIN PGP SIGNATURE-----
 
 iQIyBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmYr5e0ACgkQ3SOs138+
 s6FQxA/xAWCQ3Wdb3+dfPsPtb20/WS5UOYnuB2rw2lg1Xxiv2JvuLbIHKjcl67xy
 4Na0qbkFqZfgeUjEfo0xPb1D1JRAXX1lHNoMMCmDUnoZzBxd2IGORR/GEJ5nct4w
 QstCEwDzQToVzwmcceAiiZkYlblbCMmJDax178nVm1GXVn3lXGJPgODk+QlgRE9s
 q01Hhg0UFmKVx3CQD/9mGOnZXnCE608EjJcC086dn/YSWTWYRp384IvSFCHjW5rV
 SODR7WBevEqmn1JDPmfS0Ab4l3mtE5kfNKJ18pG75p+AbbVu9YiAa4Ld5oSwumy6
 uLLPa9m1D6f7J0z/iW8zrivYQm+mp/1mGfAHKm2FOhlW7hsDpBlQ5SY5C3F7VzXP
 6ZXvOR+n6I4XZqkY+R8yYr6pl3VVmiVA/TqTHrboAaRuclDFGx2rQcVsOB3d2F9L
 nx5i7W/f8rlozSEPOimYybzUBKyA5WdL1BqfJKS/ogL3f4+aCTOdahsZ+SCkfaOu
 fUBBBHmOYumxbeiTR88/Smu6UO7q3Do+CpDvBOAxyx6Sx2eh9e7KvTY8Xk5hFuu4
 0fjWg4PEJvxO8/VcgGUpNXC9jyQ5ihxi1hxFXKNdOOiJSVmjwHll4VUAI4+y1m8L
 Du7Jxr14JJ5ujE3WK0P2zGzgkN33kDZCWq/0jp1vsqQ90Ay3rQ==
 =Mw2q
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYwAXEACgkQYKtH/8kJ
 UidJtw/+Lyi3qIrU/pqmyowZ3jJkJ5WO9wYIpXRmda6aNL43yCaEaqgNlLTfKe1i
 gahj498OIXX1u2TUg3cG6VAMn/Pm69s8nobWZbOIezBo4ncASNQBzcXh/T2Z8EVv
 JaKnYWWrfg3fcl9avSfd2Z8m8rXDH6rRpL84qqHue6eqxTCwjOJtYP1sYezzezr/
 Jy+xDSRdw9UoWXHQVt//EXDtMwLd6tHdnLs3LoRQ+HUHwVJZoqfsGbqGCrRHalXR
 FM0kuhA3ZzV6IIedlUa1Y8ViaZ7lDf9KEfs8FN8W1wM0xDz2j6KAEyg06zJRX2R4
 wJxcBceVih/rAFmMeBk3/mHy6SeSpMTI74lZztUdkczXshEElrOfRSDycI4ZQoyf
 wu96VSFNjj3tTktSRrIeoPlm3cFxZ4QCxvSYA5eu+D0nvasd2hAkHD7l9WZ2BIw7
 AO8+0JBdtVk1mek1vHNVyzAnpFY9TbRVwm0eKBd5VTRY20z4NcomelVM40QECon4
 eE77/dlrwT/d8XDDvD+4HjKVxiB00k5XjZmfj892hVQCrdZIVmGs/EAywXRuwLwG
 qsLPBI7/SZZDmIPQZrjPod7jKbI7OBvTm1M8LLsqem4B/hArXeZP/hkq3Tz7NE2q
 Hyj+oFKJ+BiQBX7L96/rGYuf1s8RXe9aCfEg0mvR58FjDrCgCMQ=
 =Kd59
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.10-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers

soc/tegra: Changes for v6.10-rc1

This contains a single commit that adds a wake event for Ethernet for
some devices.

* tag 'tegra-for-6.10-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: pmc: Add EQOS wake event for Tegra194 and Tegra234

Link: https://lore.kernel.org/r/20240426180519.3972626-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 22:22:09 +02:00
Arnd Bergmann
46671fd3e3 STM32 Firewall bus for v6.10, round 1
Highlights:
 ---------
 
 Introduce STM32 Firewall framework for STM32MP1x and STM32MP2x
 platforms. STM32MP1x(ETZPC) and STM32MP2x(RIFSC) Firewall controllers
 register to the framework to offer firewall services such as access
 granting.
 
 This series of patches is a new approach on the previous STM32 system
 bus, history is available here:
 https://lore.kernel.org/lkml/20230127164040.1047583/
 
 The need for such framework arises from the fact that there are now
 multiple hardware firewalls implemented across multiple products.
 Drivers are shared between different products, using the same code.
 When it comes to firewalls, the purpose mostly stays the same: Protect
 hardware resources. But the implementation differs, and there are
 multiple types of firewalls: peripheral, memory, ...
 
 Some hardware firewall controllers such as the RIFSC implemented on
 STM32MP2x platforms may require to take ownership of a resource before
 being able to use it, hence the requirement for firewall services to
 take/release the ownership of such resources.
 
 On the other hand, hardware firewall configurations are becoming
 more and more complex. These mecanisms prevent platform crashes
 or other firewall-related incoveniences by denying access to some
 resources.
 
 The stm32 firewall framework offers an API that is defined in
 firewall controllers drivers to best fit the specificity of each
 firewall.
 
 For every peripherals protected by either the ETZPC or the RIFSC, the
 firewall framework checks the firewall controlelr registers to see if
 the peripheral's access is granted to the Linux kernel. If not, the
 peripheral is configured as secure, the node is marked populated,
 so that the driver is not probed for that device.
 
 The firewall framework relies on the access-controller device tree
 binding. It is used by peripherals to reference a domain access
 controller. In this case a firewall controller. The bus uses the ID
 referenced by the access-controller property to know where to look
 in the firewall to get the security configuration for the peripheral.
 This allows a device tree description rather than a hardcoded peripheral
 table in the bus driver.
 
 The STM32 ETZPC device is responsible for filtering accesses based on
 security level, or co-processor isolation for any resource connected
 to it.
 
 The RIFSC is responsible for filtering accesses based on Compartment
 ID / security level / privilege level for any resource connected to
 it.
 -----BEGIN PGP SIGNATURE-----
 
 iQJRBAABCgA7FiEEctl9+nxzUSUqdELdf5rJavIecIUFAmYqUUkdHGFsZXhhbmRy
 ZS50b3JndWVAZm9zcy5zdC5jb20ACgkQf5rJavIecIWolxAAqUHuLzXyrsCGfPG9
 L5J8dUIeRk6lsQgO62EtS/hsUL5NhlwSiShtNilGw0t2TDCj0LpSMccwDjHoC1DE
 9ks6aj0lO4dBl/d6fQm+4Vn85KiKfKYXW3J9w+6ZtG7pRly9jbmlrELqBIbL+MjU
 /mmPdKM5y/l9KO6vxiua+EtDdd0pZksZLFtms23VoiFgkQ+2heoJ297QGfrWwxzv
 UZg/UnWpQYB10dp93WL97vTdBZR4iUwEJNcip7xM65iBwSkuc9Y3gz0TZTO0ivZJ
 BRsNc/9BJYEV3kNxRJGyf7JeufsaG3meHVxw9sOYi2hMe75pDAANYxvsCYt6NHjL
 i+zugtcM5v//Ksw+HbD1rvRuhEWjFUotCeXJb+RaiY0Sy3HVlKG0WJm2Ybgzlbf+
 vahskAHJxG0NFhPVpktQ/+gh8IU8Gy0PwyErdihhWKCiYBp8xHxW7IF7JtqlXQQS
 KQ4r0Ez/fgGmLQqDobskE+OgaFIuI5QrjH7S/VvxYh0xxZOBK89EmxK7pO3fki0v
 EFcTE/82HWfJo/bRCoq2Yzrh2omjR9ICsxDtVe4nILzjhaLChBz5lITyRO+/+Lr3
 6u/oO09tlQYEK4YzH2Kw0xGtpY7Xfmm4wC+zDTRXKBM3Vp1IoTchHssLS4nZbScq
 ZHJHRPMCX98FdVH3BLX7OSexJys=
 =/Cu0
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYwAI4ACgkQYKtH/8kJ
 UicByw//VzXycIdrOzZeInbrhs0D/7pmb31U1NaAwtK3Y90lxBi5AlB4MKUrM+oq
 x/cxqmmW1RsBc2m1iEuJWkqXS+XJHGptHKAHUqVhI9bIuBZqmGddvcP93Ml9egcN
 OL/Kd/OS4Q07EYc/Md6XrRBo2zJcHT57jGH8fKBmX4eAKfPYo7xgbq5k/0LoCq/i
 cgfQdKeDsR6tTrHyJI0p/+EgS5uglUnIJBm1aLDk883UKH4/EQSR+dpvYsogBcbd
 UnH78QeUymCOYzWylHJHeWFgDnn9NiJy/oCQx7wMc6PVUhcd0l1FXvM7XUeDy7iW
 aNJpgYU8cTx9IYPGBbZJ13NX0+X4QACKpDjJZG90/y4Q4YEn5l/Di9rmv4HYhZgr
 gwYD4EHewKB3PVtmCCUQpurSblshoo9bPWEaR3NFD1mSu46Jb11/zgIQ4oBagixV
 MjiaaP3+Rpz1X0Zo5HSq9F0k4A/SddOo2zjMn3af/77nENsR3yEmPWgL20T+nv9P
 deJ/LqE6mGVFI0c4E2K03Y85wldN6xXyhvCEqlHtK2X4l5JMe+0Vnak+VICZ0jQw
 K/ihBRbifMH7g4GQUjpJUoUAvoyeSJ2jhMF8QV7bk76b6HeRFRYKOpQLnj29v/nd
 MF2rKJwFYqJDF3d2a90I3E8c7huKnqWHQWinKu2Y2NkmH/tqtcI=
 =mgY+
 -----END PGP SIGNATURE-----

Merge tag 'stm32-bus-firewall-for-v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into soc/drivers

STM32 Firewall bus for v6.10, round 1

Highlights:
---------

Introduce STM32 Firewall framework for STM32MP1x and STM32MP2x
platforms. STM32MP1x(ETZPC) and STM32MP2x(RIFSC) Firewall controllers
register to the framework to offer firewall services such as access
granting.

This series of patches is a new approach on the previous STM32 system
bus, history is available here:
https://lore.kernel.org/lkml/20230127164040.1047583/

The need for such framework arises from the fact that there are now
multiple hardware firewalls implemented across multiple products.
Drivers are shared between different products, using the same code.
When it comes to firewalls, the purpose mostly stays the same: Protect
hardware resources. But the implementation differs, and there are
multiple types of firewalls: peripheral, memory, ...

Some hardware firewall controllers such as the RIFSC implemented on
STM32MP2x platforms may require to take ownership of a resource before
being able to use it, hence the requirement for firewall services to
take/release the ownership of such resources.

On the other hand, hardware firewall configurations are becoming
more and more complex. These mecanisms prevent platform crashes
or other firewall-related incoveniences by denying access to some
resources.

The stm32 firewall framework offers an API that is defined in
firewall controllers drivers to best fit the specificity of each
firewall.

For every peripherals protected by either the ETZPC or the RIFSC, the
firewall framework checks the firewall controlelr registers to see if
the peripheral's access is granted to the Linux kernel. If not, the
peripheral is configured as secure, the node is marked populated,
so that the driver is not probed for that device.

The firewall framework relies on the access-controller device tree
binding. It is used by peripherals to reference a domain access
controller. In this case a firewall controller. The bus uses the ID
referenced by the access-controller property to know where to look
in the firewall to get the security configuration for the peripheral.
This allows a device tree description rather than a hardcoded peripheral
table in the bus driver.

The STM32 ETZPC device is responsible for filtering accesses based on
security level, or co-processor isolation for any resource connected
to it.

The RIFSC is responsible for filtering accesses based on Compartment
ID / security level / privilege level for any resource connected to
it.

* tag 'stm32-bus-firewall-for-v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32:
  bus: stm32_firewall: fix off by one in stm32_firewall_get_firewall()
  bus: etzpc: introduce ETZPC firewall controller driver
  bus: rifsc: introduce RIFSC firewall controller driver
  of: property: fw_devlink: Add support for "access-controller"
  firewall: introduce stm32_firewall framework
  dt-bindings: bus: document ETZPC
  dt-bindings: bus: document RIFSC
  dt-bindings: treewide: add access-controllers description
  dt-bindings: document generic access controllers

Link: https://lore.kernel.org/r/7dc64226-5429-4ab7-a8c8-6053b12e3cf5@foss.st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 22:18:22 +02:00
Arnd Bergmann
29a7020067 HiSilicon driver updates for v6.10
- Add the check for obtaining complete port attribute in the HCCS driver
 - Replace MAILBOX dependency with PCC for the HCCS driver
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCgAzFiEEQeMYD8qOQTc1R/snC8hXbtmJZlwFAmYpvTMVHHh1d2VpNUBo
 aXNpbGljb24uY29tAAoJEAvIV27ZiWZcm5AP/0/9N7W48vsLHiWzFYUEbe0XK7DY
 ELG83+NhZylWYnYeBj6nxlldvJrWA5dtH+5kfDfR+jllhEi14dLVSF3k7uJ9rNiP
 J1NZrU9oO1BZHPv77/Grg+41+qP3FTCusUasch0OviBuexyf7XPnq5mVPYhX8cie
 DEEC+X3S2NEFdCqh1C7y41ecjHkmawLbmpvQ1bnGumka8y8SdOd86JTwOOoxBHe7
 xqrFh8CzRzCDQF4BKU3HLG54mUGTjrFlGsTmI4wHGOQnYFv0dzZn4NnaOLdpLJxm
 lmxgLfkESsPhZ9yHwQmgX5MIWqkKeuwXiuM4Ecp1blvMkyM0Pma8BPHNdylZZdP7
 AKEaAjFQrHodSUSHGTMD++PFg5uV3MgwOJTTwP8gz8edvJ9C0v2aPFZ4m7NGMZj7
 Ums7kqAfix0EBI+dWQZkxrmKYSy6GOLp6u74iTWfRDf4kmbOKuyNdNYaIKkW0wdO
 Dfl2rsYDqKeEDmw18FCIK+BU5TaUMYdN5JmME/+Ah5pnHWuVtB6uciswzBAFYn09
 eYt1tW+aPxXIIqZJsmk/D8RGVnFcX+gXvWoD7Qia6xOFz6NQb+MCeGnCZgsORqvo
 2tNJChIyPOxEO01NuW6pI5mxhK038zljXlU4luSCy7nE397GaIjcFpbV+9nQJL1o
 CLSeIRM0kIRCsW5N
 =hOU5
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYwADoACgkQYKtH/8kJ
 UicshBAAhEmPzN+q5BDz8S5e/VAgSwor/mxtKbCWTev8Ema1OsrnDpE3KcX8ydOy
 5q9u5vGyv8iOIeEzBzbue71uvjyHHv9ooi733fBftCkbh5DYM/LJ5VkJZ962p8bo
 t9S6mpcyqkx7Dzl6+LHN40s7KOB2QUXgRL25uMF80niyrdt8UCGra5GXi03kwtEJ
 tKhO+/frg2ibposOek+14tet5daE46nkAWuvKuXgC+lXYkzSrEdbuqNFAoHmz2kF
 0/MAPbCUcMmIIPaT5zLd87TFrdFhPWxg0wipG0fdzl642Sxye/I0Saw7pSLAHp3i
 eMuvhL5jhgeQRcJeOexPlunMJg4x6LBT9+vx/8dw0dJUt+Ujy1bzWh0NDFrols36
 KAa/XZCr2/p41ohNtxu+x5y4Ii1JAfe8KKQojWD/kLt782tWyl3uGavNUj62JwS/
 FxDXWcPZjX91uJ23qDQvoTLTAPIrnS8o9UE5PRO5JzsdVb99MQ4k9l5cUDYlQptW
 Ju7oc+yE6C5O5s61YsOzeXRDWlya5/OWeeDPYvLZHwxajQirQJlT7ZsocFLxkD9w
 AepfdxpgWbeHUo7NTaeY2vr+EN+x1eoBrIS1p2UlosKv0BeRQjUIZ9+ikkQNwFwk
 2ChTqjJ69F0fovw8ocFa5ufbbi0YDM4V596gWLdUV/z61jT8GmI=
 =ypb3
 -----END PGP SIGNATURE-----

Merge tag 'hisi-drivers-for-6.10' of https://github.com/hisilicon/linux-hisi into soc/drivers

HiSilicon driver updates for v6.10

- Add the check for obtaining complete port attribute in the HCCS driver
- Replace MAILBOX dependency with PCC for the HCCS driver

* tag 'hisi-drivers-for-6.10' of https://github.com/hisilicon/linux-hisi:
  soc: hisilicon: kunpeng_hccs: replace MAILBOX dependency with PCC
  soc: hisilicon: kunpeng_hccs: Add the check for obtaining complete port attribute

Link: https://lore.kernel.org/r/662A3EDE.5070708@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 22:16:58 +02:00
Arnd Bergmann
7ec7695d0b Renesas driver updates for v6.10
- Identify the new RZ/V2H (R9A09G057) SoC,
   - Enable support for the TMU (Timer Unit) on R-Car Gen2 SoCs.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZhj+tQAKCRCKwlD9ZEnx
 cNkQAP0ZRtdqElbqYvGGHInhpabdkc2+EJQInXrpzP0xDAi8oAD/XHXbfYDv4kRX
 sgplvCaUqUM2ORWp9qxTAohcL8+xvAM=
 =rtx1
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYv/7wACgkQYKtH/8kJ
 UidWqRAAgAkuBHaaPWQfVfuTHkdQf5+GD9rPSAgAM3Co0p1wtUYW50tut1k3fqmv
 Qfr/X1rRtObozxcLH5upnWgkw3K4L6VXvKA+wZK+dPBPdWoeymMLOWRL0bCeBufI
 f2aQ9Dpd67/xrZEWKO89Ezo/csX8MbpQxaDdkXPzj2MReuXAkZKqoa3zrbLnyZs+
 fOKi0qAzaKaKreTDJZ00orip/v0GC83z9UVUppk4a2qIn9ggk0+ah48q1zufEMfG
 oeae+XeBtZ7Wzt3D9zbcRiW9ZPQgZ8k3vB93tXjO88METMMNNx/6tvFOXf6LE/kK
 fLAeXcrUOwQI/OzZwXWdQeCvexHAth6NU7nJ/sCBpIdP99ksGITp3KfksEONvCvP
 UUIfiBWOPhj0C5oNdvxEwnIiCOhiVufcVTfz3e2+UsK84L941Xi/ZLaEV0VBSvtI
 zwNTZAjKC/u1ewzwHkwEze8uhoHZ3QMlMnMV50SPmpwIzCihmy8up307z0Q2LBH1
 dLMYljF2r38MZk3jezZ5B1CSyZyQPtuuLMsUdhA8BO+mTY31AwFkWHDTiI29TiyU
 fsNnDNSDco641mH6IlrlbYA2iVlqCRLvu7/0RE4M7lmu1OEFIGASDqzfpZS9Y/r4
 iYX1qiXFx3grKKXa+mabMwcgRTAe2489X3Yg3GDQgfJWPd5s7JE=
 =7Fri
 -----END PGP SIGNATURE-----

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

Renesas driver updates for v6.10

  - Identify the new RZ/V2H (R9A09G057) SoC,
  - Enable support for the TMU (Timer Unit) on R-Car Gen2 SoCs.

* tag 'renesas-drivers-for-v6.10-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Enable TMU support on R-Car Gen2
  soc: renesas: Add identification support for RZ/V2H SoC

Link: https://lore.kernel.org/r/cover.1712915532.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 22:14:52 +02:00
Arnd Bergmann
e29d430169 i.MX SoC changes for 6.10:
- Assign the pmu->dev parent to be the platform device for MMDC driver,
   so that it doesn't appear directly under /sys/devices/.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmYuB6gUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM6AUAgAhnECenqTrSqCUFl5KxFlV37dXzAk
 IU2s+B2KM5vG7zsaZrXUL9vs3Fo54gRT1nOcC1qj1LX/1L+QTdFM6/kM5WbQDATy
 vu5TSmyXugukHWSY6FtmU3rl6hpXAmAc3M2ILZ5/xA8ZQiiuElJyXd5bg8SNwUpe
 3T4Uxs3zmGsfCzf9KzBT3DxWh22g/b15wej/ttQK8f7U5rJoP/QxisRxx6Zc0LH3
 xbyDJ4EsMK0KeyLVOFUln08PzATLZ7VaOhp7kZK4yaQ0ZqXZl7uoDhMfaz/Gk/iU
 aSxg9BME42X7yqEX08l8DHzxNio3AJQU/Vu63JYe2tmCabq6bHaWUAT68g==
 =4TmG
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYv/2cACgkQYKtH/8kJ
 Uidugg/7BCO5QOUPj1tG525EqstP1w/oa0PE3enMuZxntb7uh7lrT5tqgSV3FFB5
 i+Pwi+DqGOTDsZhohXOF7be0Co2h1Z9OAjQJ6gE1r/LCglXRkZgmLLhEtxrgjXYq
 ebk9KA3MCxzxlwor7A7ojjBRWeDUKJS9whIxXGJpA3PyjubpnM4NZ9is7/tHc9Yk
 k6SSaHo/IQXpzmg04z5bpBBJZJo47uwKT69Dwtxlcunsg7I7uzXkTbSu2dkB1azs
 KGR/IcnQqt0PFSwM37zPAGCcpIW+Vq4XJD7f2eu2Yi0k2PL1JDLdSTpzbFvd3giF
 NV5Iv/MwgsT5D0oQc/i23T25Io5Zfjyr9ZKzaPAVXmKVGHngGTrTDp+xCCHj5gcW
 juHr5xd8AIgLA7lP4mhuHeHMyqZRslLkAY39LF6OQqcmuEeU1/HKclZOjw0Xa5mz
 hZiGYCbdALFlJ3/X0fZcFbYostxmwoLwLm8Dbg7iix5nH8ggJ3lS6Eg5mphK0F7B
 F3jZbRJWet0JgQLVreWA9OXPwejygJtm+4RR30vat00XssI+iHyR2m4lfr9X2Cm2
 SLELFlPcyiebGDIkg0CcnLPmmwyQJSEadeBnRiQCpxirBzJBv1WbBXqI7aY7OeBH
 Uvl1qPIKWXsTQoK+mzRIq6EmXT5PIGt4eDSHodtmHYnsaNmnOK8=
 =7jI/
 -----END PGP SIGNATURE-----

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

i.MX SoC changes for 6.10:

- Assign the pmu->dev parent to be the platform device for MMDC driver,
  so that it doesn't appear directly under /sys/devices/.

* tag 'imx-soc-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx: Assign parents for mmdc event_source devices

Link: https://lore.kernel.org/r/20240428121247.10370-1-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 22:13:26 +02:00
Jakub Kicinski
89de2db193 bpf-next-for-netdev
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTFp0I1jqZrAX+hPRXbK58LschIgwUCZi9+AAAKCRDbK58LschI
 g0nEAP487m7L0nLVriC2oIOWsi29tklW3etm6DO7gmGRGIHgrgEAnMyV1xBj3bGj
 v6jJwDcybCym1hLx+1x1JCZ4eoAFswE=
 =xbna
 -----END PGP SIGNATURE-----

Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next

Daniel Borkmann says:

====================
pull-request: bpf-next 2024-04-29

We've added 147 non-merge commits during the last 32 day(s) which contain
a total of 158 files changed, 9400 insertions(+), 2213 deletions(-).

The main changes are:

1) Add an internal-only BPF per-CPU instruction for resolving per-CPU
   memory addresses and implement support in x86 BPF JIT. This allows
   inlining per-CPU array and hashmap lookups
   and the bpf_get_smp_processor_id() helper, from Andrii Nakryiko.

2) Add BPF link support for sk_msg and sk_skb programs, from Yonghong Song.

3) Optimize x86 BPF JIT's emit_mov_imm64, and add support for various
   atomics in bpf_arena which can be JITed as a single x86 instruction,
   from Alexei Starovoitov.

4) Add support for passing mark with bpf_fib_lookup helper,
   from Anton Protopopov.

5) Add a new bpf_wq API for deferring events and refactor sleepable
   bpf_timer code to keep common code where possible,
   from Benjamin Tissoires.

6) Fix BPF_PROG_TEST_RUN infra with regards to bpf_dummy_struct_ops programs
   to check when NULL is passed for non-NULLable parameters,
   from Eduard Zingerman.

7) Harden the BPF verifier's and/or/xor value tracking,
   from Harishankar Vishwanathan.

8) Introduce crypto kfuncs to make BPF programs able to utilize the kernel
   crypto subsystem, from Vadim Fedorenko.

9) Various improvements to the BPF instruction set standardization doc,
   from Dave Thaler.

10) Extend libbpf APIs to partially consume items from the BPF ringbuffer,
    from Andrea Righi.

11) Bigger batch of BPF selftests refactoring to use common network helpers
    and to drop duplicate code, from Geliang Tang.

12) Support bpf_tail_call_static() helper for BPF programs with GCC 13,
    from Jose E. Marchesi.

13) Add bpf_preempt_{disable,enable}() kfuncs in order to allow a BPF
    program to have code sections where preemption is disabled,
    from Kumar Kartikeya Dwivedi.

14) Allow invoking BPF kfuncs from BPF_PROG_TYPE_SYSCALL programs,
    from David Vernet.

15) Extend the BPF verifier to allow different input maps for a given
    bpf_for_each_map_elem() helper call in a BPF program, from Philo Lu.

16) Add support for PROBE_MEM32 and bpf_addr_space_cast instructions
    for riscv64 and arm64 JITs to enable BPF Arena, from Puranjay Mohan.

17) Shut up a false-positive KMSAN splat in interpreter mode by unpoison
    the stack memory, from Martin KaFai Lau.

18) Improve xsk selftest coverage with new tests on maximum and minimum
    hardware ring size configurations, from Tushar Vyavahare.

19) Various ReST man pages fixes as well as documentation and bash completion
    improvements for bpftool, from Rameez Rehman & Quentin Monnet.

20) Fix libbpf with regards to dumping subsequent char arrays,
    from Quentin Deslandes.

* tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (147 commits)
  bpf, docs: Clarify PC use in instruction-set.rst
  bpf_helpers.h: Define bpf_tail_call_static when building with GCC
  bpf, docs: Add introduction for use in the ISA Internet Draft
  selftests/bpf: extend BPF_SOCK_OPS_RTT_CB test for srtt and mrtt_us
  bpf: add mrtt and srtt as BPF_SOCK_OPS_RTT_CB args
  selftests/bpf: dummy_st_ops should reject 0 for non-nullable params
  bpf: check bpf_dummy_struct_ops program params for test runs
  selftests/bpf: do not pass NULL for non-nullable params in dummy_st_ops
  selftests/bpf: adjust dummy_st_ops_success to detect additional error
  bpf: mark bpf_dummy_struct_ops.test_1 parameter as nullable
  selftests/bpf: Add ring_buffer__consume_n test.
  bpf: Add bpf_guard_preempt() convenience macro
  selftests: bpf: crypto: add benchmark for crypto functions
  selftests: bpf: crypto skcipher algo selftests
  bpf: crypto: add skcipher to bpf crypto
  bpf: make common crypto API for TC/XDP programs
  bpf: update the comment for BTF_FIELDS_MAX
  selftests/bpf: Fix wq test.
  selftests/bpf: Use make_sockaddr in test_sock_addr
  selftests/bpf: Use connect_to_addr in test_sock_addr
  ...
====================

Link: https://lore.kernel.org/r/20240429131657.19423-1-daniel@iogearbox.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-04-29 13:12:19 -07:00
Nuno Sa
561e2e3e90 iio: dac: ad9739a: write complete MU_CNT1 register during lock
As specified by the datasheet we should write the value 0x3 (enable
plus tracking gain) into the MU_CNT1 register during the MU lock phase.

Currently we were only setting the enable bit (bit 0) as the tracking
gain default value is already set to 1. While we should be mostly fine
in assuming the tracking gain will have the value it should, better to
explicitly write it. On top of that the datasheet also states to
re-attempt the writes in case the lock fails which we were not doing for
the tracking gain bit.

Lastly, the recommended value for the MU phase slope lock (bit 6) is 0
but for some reason the default value is 1 and hence, we were not
changing it accordingly.

Note there was no problem with the MU lock mechanism so this is not
being treated as a fix but rather an improvement.

Signed-off-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20240429-ad9739a-improv-v1-1-c076a06a697d@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2024-04-29 21:11:12 +01:00
Wolfram Sang
8d0c937616 iio: pressure: zpa2326: use 'time_left' variable with wait_for_completion_interruptible_timeout()
There is a confusing pattern in the kernel to use a variable named 'timeout' to
store the result of wait_for_completion_interruptible_timeout() causing patterns like:

	timeout = wait_for_completion_interruptible_timeout(...)
	if (!timeout) return -ETIMEDOUT;

with all kinds of permutations. Use 'time_left' as a variable to make the code
self explaining.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20240429113313.68359-9-wsa+renesas@sang-engineering.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2024-04-29 21:06:18 +01:00
Wolfram Sang
b0329b3c7e iio: adc: twl6030-gpadc: use 'time_left' variable with wait_for_completion_interruptible_timeout()
There is a confusing pattern in the kernel to use a variable named 'timeout' to
store the result of wait_for_completion_interruptible_timeout() causing patterns like:

	timeout = wait_for_completion_interruptible_timeout(...)
	if (!timeout) return -ETIMEDOUT;

with all kinds of permutations. Use 'time_left' as a variable to make the code
self explaining.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20240429113313.68359-8-wsa+renesas@sang-engineering.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2024-04-29 21:06:18 +01:00
Wolfram Sang
2f62fd78a1 iio: adc: stm32-dfsdm-adc: use 'time_left' variable with wait_for_completion_interruptible_timeout()
There is a confusing pattern in the kernel to use a variable named 'timeout' to
store the result of wait_for_completion_interruptible_timeout() causing patterns like:

	timeout = wait_for_completion_interruptible_timeout(...)
	if (!timeout) return -ETIMEDOUT;

with all kinds of permutations. Use 'time_left' as a variable to make the code
self explaining.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20240429113313.68359-7-wsa+renesas@sang-engineering.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2024-04-29 21:06:18 +01:00
Wolfram Sang
3cd191fce8 iio: adc: stm32-adc: use 'time_left' variable with wait_for_completion_interruptible_timeout()
There is a confusing pattern in the kernel to use a variable named 'timeout' to
store the result of wait_for_completion_interruptible_timeout() causing patterns like:

	timeout = wait_for_completion_interruptible_timeout(...)
	if (!timeout) return -ETIMEDOUT;

with all kinds of permutations. Use 'time_left' as a variable to make the code
self explaining.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20240429113313.68359-6-wsa+renesas@sang-engineering.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2024-04-29 21:06:18 +01:00
Wolfram Sang
1fa9d4a0a4 iio: adc: intel_mrfld_adc: use 'time_left' variable with wait_for_completion_interruptible_timeout()
There is a confusing pattern in the kernel to use a variable named 'timeout' to
store the result of wait_for_completion_interruptible_timeout() causing patterns like:

	timeout = wait_for_completion_interruptible_timeout(...)
	if (!timeout) return -ETIMEDOUT;

with all kinds of permutations. Use 'time_left' as a variable to make the code
self explaining.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20240429113313.68359-5-wsa+renesas@sang-engineering.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2024-04-29 21:06:18 +01:00
Wolfram Sang
265b81bb75 iio: adc: fsl-imx25-gcq: use 'time_left' variable with wait_for_completion_interruptible_timeout()
There is a confusing pattern in the kernel to use a variable named 'timeout' to
store the result of wait_for_completion_interruptible_timeout() causing patterns like:

	timeout = wait_for_completion_interruptible_timeout(...)
	if (!timeout) return -ETIMEDOUT;

with all kinds of permutations. Use 'time_left' as a variable to make the code
self explaining.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20240429113313.68359-4-wsa+renesas@sang-engineering.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2024-04-29 21:06:18 +01:00
Wolfram Sang
860e36b702 iio: adc: exynos_adc: use 'time_left' variable with wait_for_completion_timeout()
There is a confusing pattern in the kernel to use a variable named 'timeout' to
store the result of wait_for_completion_timeout() causing patterns like:

	timeout = wait_for_completion_timeout(...)
	if (!timeout) return -ETIMEDOUT;

with all kinds of permutations. Use 'time_left' as a variable to make the code
self explaining.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20240429113313.68359-3-wsa+renesas@sang-engineering.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2024-04-29 21:06:18 +01:00
Wolfram Sang
4d68b25c64 iio: adc: ad_sigma_delta: use 'time_left' variable with wait_for_completion_timeout()
There is a confusing pattern in the kernel to use a variable named 'timeout' to
store the result of wait_for_completion_timeout() causing patterns like:

	timeout = wait_for_completion_timeout(...)
	if (!timeout) return -ETIMEDOUT;

with all kinds of permutations. Use 'time_left' as a variable to make the code
self explaining.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20240429113313.68359-2-wsa+renesas@sang-engineering.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2024-04-29 21:06:17 +01:00
Roger Quadros
0b1133ee36 arm64: dts: ti: k3-am625-beagleplay: Fix Ethernet PHY RESET GPIOs
The RESET GPIO pinmux should be part of MDIO bus node
so that they can be in the right state before the PHY
can be probed via MDIO bus scan.

The GPIO pin should be setup with PIN_INPUT so that
input circuitry is enabled in case software wants to
check pin status. Without this, incorrect status is shown
in /sys/kernel/debug/gpio.

Add GPIO reset for the Gigabit Ethernet PHY. As per
RTL8211F datasheet, reset assert width is 10ms and
PHY registers can be access accessed after 50ms of
reset deassert.

Fixes: f5a731f078 ("arm64: dts: ti: Add k3-am625-beagleplay")
Signed-off-by: Roger Quadros <rogerq@kernel.org>
Link: https://lore.kernel.org/r/20240305-b4-for-v6-9-am65-beagleplay-ethernet-reset-v2-1-2bf463a7bf13@kernel.org
Signed-off-by: Nishanth Menon <nm@ti.com>
2024-04-29 15:02:48 -05:00
Lincoln Yuji
d164888335 iio: adc: ti-ads1015: use device_for_each_child_node_scoped()
This loop definition removes the need for manual releasing of the
fwnode_handle in early exit paths (here an error path) allow
simplification of the code and reducing the chance of future
modifications not releasing fwnode_handle correctly.

Co-developed-by: Luiza Soezima <lbrsoezima@usp.br>
Signed-off-by: Luiza Soezima <lbrsoezima@usp.br>
Co-developed-by: Sabrina Araujo <sabrinaaraujo@usp.br>
Signed-off-by: Sabrina Araujo <sabrinaaraujo@usp.br>
Signed-off-by: Lincoln Yuji <lincolnyuji@usp.br>
Reviewed-by: Marcelo Schmitt <marcelo.schmitt1@gmail.com>
Link: https://lore.kernel.org/r/20240429132233.6266-1-lincolnyuji@usp.br
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2024-04-29 21:00:10 +01:00
Arnd Bergmann
6e0b0f852b i.MX defconfig changes for 6.10:
- Enable DW HDMI bridge driver for i.MX8M Plus SoC in arm64 defconfig
 - Enable ONBOAD_USB_DEV driver in imx_v6_v7_defconfig to support USB2514
   Hub found on imx6qdl-udoo board
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmYuOq8UHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5Pdwf/b0vAdpkC20tOZo8gi+tQP8a5N2uO
 C9bYkBDfFqoUjlcbSWNY4QDzmqUd7CPw9e7m6/LfTQFQSE0BwzOWCUUVRjvsUhW1
 RAX6ukfgeFRWUmgQ/I/Nnu4s2iTy1q1znjZtSi3lES5S4HuVmUWFggn0bun2r4cN
 1Cjj/V4+So3yfUWiW61gTlLAtV6NUwAZ/UqqSwqvnx5JbYUbrqJyxFVj80XL/3uD
 PpG/xvXOkJ9aCd6+fLTMHvDEClbZ0sDX9lMYmfheZPCfNj+iWBsCIaKK0eJJNpO8
 4HFuh0KfNxxU8xwiB+NDXdlyd/aUIuE4rsT8px4RK0CTOTHuqBicNDeYJw==
 =hUq8
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYv+/sACgkQYKtH/8kJ
 UieWsw//bMbozoUZobNOzmVveXtwIbMIrOvhghihndzWtfIxk30aZIXGCk8uLBEm
 YrXIdJ23/uGAttY/PyiwzA8S6lwOrXRL5uBsxweQFyncRl5DTMEse8Mu+x6JJDIb
 Vw6ZtGOBeRv5WEHmaV04793OBVajpnihA3HCDU3tUaWt+4VS0zKFAJKoC4Dd+opU
 4cbIEWGxCQF0gn2BBdmoY1hW8pGn4wKJBpR0+XJsOnyDM9g4dIsHQ6vb5KxbxS21
 4XKZ0LyTPMvi6e94k/sTl9vrAHHrIVBhoNWAHHHoDKpMzrzy73OL2EvMwMY192fa
 b0zCetKr24OX9LwO80cmZywz2XLsKbtRMPacHUpqdbYGSQZUhVUsl/AQNPb8seO7
 4+k/Dv5tUzLOoyhXa7o44K7ifulcAFIgMUp51Hlwv26eEdszmSl2HqbF8v7C2+rw
 hl9c3ahNUQXtHByl2kAn3r9m4tzgaZLQctopnuVuidDFou8aXbW6fJjX+V2u3F6t
 P30gm1LYK8FpvR89Qnj8TTwR901BJV8j34hGvnIX/dKVXJcEKv3qdL5oE31Jz3S4
 1KJTih1J5gBRTgbKlXytW09HOmDqwX2QsHmW1m9exfgXKn/2JicKJO9YvJcbr917
 BTVCveaWg4JGjYF45smjJwouNJn6bNs7j+TDrjWvrCHVmiImTAU=
 =50Dd
 -----END PGP SIGNATURE-----

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

i.MX defconfig changes for 6.10:

- Enable DW HDMI bridge driver for i.MX8M Plus SoC in arm64 defconfig
- Enable ONBOAD_USB_DEV driver in imx_v6_v7_defconfig to support USB2514
  Hub found on imx6qdl-udoo board

* tag 'imx-defconfig-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx_v6_v7_defconfig: Update ONBOARD_USB_HUB to ONBOAD_USB_DEV
  ARM: imx_v6_v7_defconfig: Select CONFIG_USB_ONBOARD_HUB
  arm64: defconfig: Enable DRM_IMX8MP_DW_HDMI_BRIDGE as module

Link: https://lore.kernel.org/r/20240428121247.10370-5-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 21:58:50 +02:00
Arnd Bergmann
948b25640f Qualcomm Arm64 Defconfig updates for v6.10
Ext4 security labels are enabled, as the expectation of setcap being
 functional is widespread.
 
 SC7280 display and GPU clock controllers are enabled, to make available
 related functionality. The driver for the Novatek display panel found in
 QCM6490 IDP is enabled.  The X1E80100 sound card and reset-gpio drivers
 are enabled to provide the necessary drivers for this. The regulator
 driver providing VBUS power on a few different platforms is enabled.
 ath12k is present on several recent platforms, so this is enabled as
 well.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmYtJagVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FnZAP/05pEfWRALsYqXIRMOr/TJaEzDaK
 C8vRDvEvKTWY3wjgha4U92UNeZrSHLoPAQYC2lQ6MKIGd7neYW3E3WfH5Jrn/vHt
 VwUGTYUSzfuoKdHiYPzsPGXhIRvAXiHXF8PjVGniXiBC3u+ZTaxkug8/6MJFrTEI
 977zoPux5UIu91pMY8fJUhmUsczkbPUocCAwEYTIApnz+w+GLtRmU6MW/IqoG8gG
 /CVZz3/bNXl+dEJTyveqKDlrD676sA2xkIMYB0X97vPbO2zS7zX9DmopOpZd5sZK
 064nwygE/XHMLuA7hTxyp/BcIHe3246kwDLGGNutNWPcBQZMdAyiL3iFBReagZND
 NPibr8zvOy6h05XyIJjIZleoY3au+/3n75Kr23CF+VFroAQBXKS7sHdHa7CQz7XO
 kHgkqVjFnfUR38OUtNja09tEQnsiQHpUO/zbulpu8vbD+XCmn0bgTBDGbufRex8y
 mhhR0Pj4rVILSWa/V9nIqIOkCtkHBXrE5FaZ7ZcKyB+3oN3Pe/ki22MIu11d1oqd
 RCVAdV8UiQN4yHIBx66EfemTmJuGJJkPqDvnZFTL/6E7ms4lHj2ASCRdxqTeoo1+
 RWmJmP0jJmmTmMAZJBx1sO800YNSN3nDaZ8G8PO1iMYspHcyL/qcE90mgu/rS6Eo
 8JVqOryu8ASj8Z+7
 =Eliq
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmYv+88ACgkQYKtH/8kJ
 UifBGBAArZrHB3HHCnegywQ8BMxKNAenFzAinI7Ax0iJqc5YwJijC2QABQyuKO2C
 HMVQnIhjrNQEf5nD7ueav0Aa1swt4h9axaiQgO5VWTUnMvyxMSMIIRruibpXy9TO
 yzEWlyZ3yeeVh2WLQwbtrxHBfay82aRTZyplB+qZtvD3xqA7p465IKpIiWBcH9te
 LM/CqxpKu4xui0JYybZEYqQNNVhQArqjmqI4im+XTAMFKIuT3SQHtdQVT97kvw6s
 GRB/douim1AwV5Adr1iSMv9mhaGlW0R9oZJ6oKXJa5KRHjTVZGYG66XBm4SuQsdd
 /8dt1+phGhHqNEl8S7m4I0Yh8qWl94l+QsID4D2G0W49eI4diS34835CjxHENHRP
 V20kO0Axxv/ISBSbDcytGFY6i8jq9xjplIoaf4Epj1d7MyodHXMWwfwWm50xWEBG
 KiGljmlzxt/b9kxsW6adLgID+AEgxP03q8iBgeNnTTkfV/QIC7LM4KfXBz9qADgg
 Dzj3yHNA3bIi9RzOsV0vzUSSUAPAEYD1n42H99dtgylg12v4Oz0Z9bTF+HjmCDsW
 N5LktcLwooNUo4LgV+L0bqAeaq6FfESs0RRRxPcfTM9yjt5TByOvFTe0VVZ8xEFd
 NXMhxjWKgMH+CNNJKbCCc3mO4/JMaH6yQ48g4pSulNw+ACVNdUs=
 =CgrU
 -----END PGP SIGNATURE-----

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

Qualcomm Arm64 Defconfig updates for v6.10

Ext4 security labels are enabled, as the expectation of setcap being
functional is widespread.

SC7280 display and GPU clock controllers are enabled, to make available
related functionality. The driver for the Novatek display panel found in
QCM6490 IDP is enabled.  The X1E80100 sound card and reset-gpio drivers
are enabled to provide the necessary drivers for this. The regulator
driver providing VBUS power on a few different platforms is enabled.
ath12k is present on several recent platforms, so this is enabled as
well.

* tag 'qcom-arm64-defconfig-for-6.10' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: defconfig: enable REGULATOR_QCOM_USB_VBUS
  arm64: defconfig: enable ext4 security labels
  arm64: defconfig: qcom: enable X1E80100 sound card
  arm64: defconfig: build ath12k as a module
  arm64: defconfig: Enable sc7280 display and gpu clock controllers
  arm64: defconfig: enable reset-gpio driver as module
  arm64: defconfig: enable Novatek NT36672E DSI Panel driver

Link: https://lore.kernel.org/r/20240427162037.1431822-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-04-29 21:58:07 +02:00
Gustavo Rodrigues
80f87d6bbc iio: adc: ad799x: Prefer to use octal permission
Octal permissions are preferred over the symbolics ones
for readbility. This ceases warning message pointed by checkpatch.

Co-developed-by: Bruna Lopes <brunaafl@usp.br>
Signed-off-by: Bruna Lopes <brunaafl@usp.br>
Signed-off-by: Gustavo Rodrigues <ogustavo@usp.br>
Reviewed-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20240428194326.2836387-4-ogustavo@usp.br
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2024-04-29 20:57:56 +01:00