linux/drivers
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
..
accel drm for 6.9: 2024-03-13 18:34:05 -07:00
accessibility Char/Misc and other driver subsystem updates for 6.9-rc1 2024-03-21 13:21:31 -07:00
acpi ACPI: thermal: Register thermal zones without valid trip points 2024-04-02 21:38:45 +02:00
amba
android Char/Misc and other driver subsystem updates for 6.9-rc1 2024-03-21 13:21:31 -07:00
ata ata: sata_gemini: Check clk_enable() result 2024-04-04 12:42:00 +09:00
atm atm: fore200e: Convert to platform remove callback returning void 2024-03-07 20:36:32 -08:00
auxdisplay auxdisplay: img-ascii-lcd: Convert to platform remove callback returning void 2024-03-12 17:37:54 +02:00
base regmap: Fixes for v6.9 2024-04-05 17:21:16 -07:00
bcma
block nullblk: Fix cleanup order in null_add_dev() error path 2024-04-02 07:43:24 -06:00
bluetooth Bluetooth: qca: fix device-address endianness 2024-03-29 09:48:37 -04:00
bus Driver updates for ti-sysc 2024-04-29 22:25:14 +02:00
cache
cdrom cdrom: gdrom: Convert to platform remove callback returning void 2024-03-07 11:53:30 -07:00
cdx cdx: add MSI support for CDX bus 2024-03-07 21:52:03 +00:00
char Char/Misc and other driver subsystem updates for 6.9-rc1 2024-03-21 13:21:31 -07:00
clk ARM: late SoC changes for 6.9 2024-03-19 11:57:26 -07:00
clocksource A set of updates for clocksource and clockevent drivers: 2024-03-23 14:42:45 -07:00
comedi Char/Misc and other driver subsystem updates for 6.9-rc1 2024-03-21 13:21:31 -07:00
connector
counter
cpufreq RISC-V Patches for the 6.9 Merge Window 2024-03-22 10:41:13 -07:00
cpuidle RISC-V Patches for the 6.9 Merge Window 2024-03-22 10:41:13 -07:00
crypto x86/CPU/AMD: Track SNP host status with cc_platform_*() 2024-04-04 10:40:30 +02:00
cxl cxl: remove CONFIG_CXL_PMU entry in drivers/cxl/Kconfig 2024-03-27 01:58:34 +09:00
dax libnvdimm updates for v6.9 2024-03-15 11:58:32 -07:00
dca
devfreq
dio dio: make dio_bus_type const 2024-03-07 20:37:04 +00:00
dma dmaengine updates for v6.9 2024-03-15 12:25:13 -07:00
dma-buf Merge drm/drm-fixes into drm-misc-fixes 2024-03-25 21:11:58 +01:00
dpll dpll: indent DPLL option type by a tab 2024-03-25 19:40:23 -07:00
edac - Add a FRU (Field Replaceable Unit) memory poison manager which 2024-03-11 18:14:06 -07:00
eisa
extcon
firewire firewire: ohci: mask bus reset interrupts between ISR and bottom half 2024-04-06 09:36:46 +09:00
firmware Arm FF-A updates for v6.10 2024-04-29 22:53:53 +02:00
fpga Char/Misc and other driver subsystem updates for 6.9-rc1 2024-03-21 13:21:31 -07:00
fsi
gnss
gpio gpio: cdev: fix missed label sanitizing in debounce_setup() 2024-04-04 18:57:08 +02:00
gpu Display fixes: 2024-04-05 12:32:14 +10:00
greybus Char/Misc and other driver subsystem updates for 6.9-rc1 2024-03-21 13:21:31 -07:00
hid hid-for-linus-2024031301 2024-03-14 09:56:15 -07:00
hsi
hte
hv hyperv-next for v6.9 2024-03-21 10:01:02 -07:00
hwmon - Kuan-Wei Chiu has developed the well-named series "lib min_heap: Min 2024-03-14 18:03:09 -07:00
hwspinlock hwspinlock: omap: Use index to get hwspinlock pointer 2024-03-05 20:01:14 -08:00
hwtracing
i2c i2c: pxa: hide unused icr_bits[] variable 2024-04-04 01:07:57 +02:00
i3c
idle cpuidle: ACPI/intel: fix MWAIT hint target C-state computation 2024-03-05 21:25:18 +01:00
iio Char/Misc and other driver subsystem updates for 6.9-rc1 2024-03-21 13:21:31 -07:00
infiniband RDMA v6.9 2024-03-18 15:34:03 -07:00
input TTY/Serial driver update for 6.9-rc1 2024-03-21 12:44:10 -07:00
interconnect interconnect changes for 6.9 2024-03-06 14:03:31 +00:00
iommu x86/CPU/AMD: Track SNP host status with cc_platform_*() 2024-04-04 10:40:30 +02:00
ipack ipack: make ipack_bus_type const 2024-03-07 20:32:47 +00:00
irqchip irqchip/armada-370-xp: Suppress unused-function warning 2024-03-26 02:12:16 +01:00
isdn isdn: capi: make capi_class constant 2024-03-07 20:26:24 -08:00
leds - Kuan-Wei Chiu has developed the well-named series "lib min_heap: Min 2024-03-14 18:03:09 -07:00
macintosh powerpc updates for 6.9 2024-03-15 17:53:48 -07:00
mailbox imx: add support for i.MX95 ELE/V2X MU 2024-03-13 12:23:36 -07:00
mcb mcb: constify the struct device_type usage 2024-03-07 20:38:15 +00:00
md dm integrity: fix out-of-range warning 2024-03-29 09:48:07 -04:00
media Linux 6.8 2024-03-18 17:30:46 +00:00
memory memory: mtk-smi: fix module autoloading 2024-04-11 08:22:26 +02:00
memstick MMC core: 2024-03-13 10:59:28 -07:00
message
mfd TTY/Serial driver update for 6.9-rc1 2024-03-21 12:44:10 -07:00
misc hardening fixes for v6.9-rc1 2024-03-23 08:43:21 -07:00
mmc sdhci-of-dwcmshc: disable PM runtime in dwcmshc_remove() 2024-03-25 13:12:46 +01:00
most most: core: make mostbus const 2024-03-07 20:32:38 +00:00
mtd fs,block: yield devices early 2024-03-27 13:17:15 +01:00
mux
net Including fixes from netfilter, bluetooth and bpf. 2024-04-04 14:49:10 -07:00
nfc
ntb
nubus
nvdimm libnvdimm updates for v6.9 2024-03-15 11:58:32 -07:00
nvme nvme-fc: rename free_ctrl callback to match name pattern 2024-04-04 08:47:56 -07:00
nvmem nvmem: core: Print error on wrong bits DT property 2024-03-07 20:21:53 +00:00
of STM32 Firewall bus for v6.10, round 1 2024-04-29 22:18:22 +02:00
opp OPP: Extend dev_pm_opp_data with turbo support 2024-03-11 10:39:24 +05:30
parisc parisc: led: Convert to platform remove callback returning void 2024-03-08 10:00:07 +01:00
parport parport: sunbpp: Convert to platform remove callback returning void 2024-03-07 21:50:06 +00:00
pci pci-v6.9-changes 2024-03-14 10:58:27 -07:00
pcmcia pcmcia: cs: make pcmcia_socket_class constant 2024-03-10 09:07:00 +01:00
peci
perf drivers/perf: riscv: Disable PERF_SAMPLE_BRANCH_* while not supported 2024-03-26 14:09:18 -07:00
phy USB/Thunderbolt changes for 6.9-rc1 2024-03-21 12:35:20 -07:00
pinctrl Arm SCMI updates for v6.10 2024-04-29 22:49:58 +02:00
platform Char/Misc and other driver subsystem updates for 6.9-rc1 2024-03-21 13:21:31 -07:00
pmdomain Core: 2024-03-13 11:33:10 -07:00
pnp
power power supply and reset changes for the 6.9 series 2024-03-14 10:19:48 -07:00
powercap powercap: intel_rapl: Convert to platform remove callback returning void 2024-03-13 20:45:54 +01:00
pps pps: use cflags-y instead of EXTRA_CFLAGS 2024-03-07 21:51:39 +00:00
ps3
ptp Networking changes for 6.9. 2024-03-12 17:44:08 -07:00
pwm pwm: Fix setting period with #pwm-cells = <1> and of_pwm_single_xlate() 2024-03-29 13:50:10 +01:00
rapidio
ras RAS: Avoid build errors when CONFIG_DEBUG_FS=n 2024-03-26 21:48:21 +01:00
regulator regulator: tps65132: Add of_match table 2024-03-25 19:28:27 +00:00
remoteproc remoteproc updates for v6.9 2024-03-21 10:37:39 -07:00
reset
rpmsg
rtc RTC for 6.9 2024-03-21 17:16:46 -07:00
s390 s390/qeth: handle deferred cc1 2024-03-25 19:46:49 -07:00
sbus This includes the following changes related to sparc for v6.9: 2024-03-15 12:47:21 -07:00
scsi scsi: libsas: Align SMP request allocation to ARCH_DMA_MINALIGN 2024-04-01 21:34:23 -04:00
sh
siox SIOX changes for 6.9-rc1 2024-03-21 15:18:18 -07:00
slimbus slimbus: core: make slimbus_bus const 2024-03-07 20:21:39 +00:00
soc MediaTek driver updates for v6.10 2024-04-29 22:27:17 +02:00
soundwire soundwire updates for 6.9 2024-03-15 12:22:52 -07:00
spi spi: mchp-pci1xxx: Fix a possible null pointer dereference in pci1xxx_spi_probe 2024-04-03 11:04:58 +01:00
spmi
ssb
staging staging: vc04_services: fix information leak in create_component() 2024-03-25 19:10:01 +01:00
target Merge branch '6.9/scsi-queue' into 6.9/scsi-fixes 2024-03-25 14:03:35 -04:00
tc
tee TEE driver for Trusted Services 2024-04-29 22:29:44 +02:00
thermal thermal: gov_power_allocator: Allow binding without trip points 2024-04-03 16:32:15 +02:00
thunderbolt USB/Thunderbolt changes for 6.9-rc1 2024-03-21 12:35:20 -07:00
tty TTY/Serial driver update for 6.9-rc1 2024-03-21 12:44:10 -07:00
ufs scsi: ufs: core: Fix MCQ mode dev command timeout 2024-04-01 21:43:46 -04:00
uio Fix build errors due to new UIO_MEM_DMA_COHERENT mess 2024-03-27 09:48:47 -07:00
usb USB: core: Fix deadlock in port "disable" sysfs attribute 2024-03-26 15:02:28 +01:00
vdpa vDPA: report virtio-blk flush info to user space 2024-03-19 02:45:51 -04:00
vfio VFIO updates for v6.9-rc1 2024-03-15 13:21:13 -07:00
vhost virtio: features, fixes 2024-03-19 08:57:39 -07:00
video fbdev: Select I/O-memory framebuffer ops for SBus 2024-03-25 21:34:08 +01:00
virt virt: efi_secret: Convert to platform remove callback returning void 2024-03-09 11:37:18 +01:00
virtio virtio: packed: fix unmap leak for indirect desc table 2024-03-19 03:19:22 -04:00
w1
watchdog linux-watchdog 6.9-rc1 tag 2024-03-17 12:06:10 -07:00
xen xen: branch for v6.9-rc1 2024-03-19 08:48:09 -07:00
zorro
Kconfig
Makefile Revert "leds: Only descend into leds directory when CONFIG_NEW_LEDS is set" 2024-03-07 08:48:10 +00:00