Upgrade drivers/firmware to support Arm SystemReady IR
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2071830
Depends: https://bugzilla.redhat.com/show_bug.cgi?id=2071840
While POWER systems already use Open Firmware (drivers/of), which
in turn depends on drivers/firmware, it is not exactly the same as
full DeviceTree support. Arm SystemReady IR platforms use DeviceTree
extensively, and for Arm systems such components as PSCI, SCMI, FFA
and the EFI stub need to be ready. This patch set brings drivers/firmware
up to date with Linux 5.19-rc3 so that all of the DeviceTree functionality
needed for Arm SystemReady IR can be supported.
This patch set does not include device specific patches for non-iMX8M
Arm platforms, however, since they are not being targeted at this point
in time.
NB: this is one of a series of patch sets needed to fully support
Arm SystemReady IR in the kernel; drivers/of and drivers/base/property.c
are also being updated. Individual drivers for specific SystemReady
IR compliant platforms will also be needed.
v5:
-- Added missing fixes.
-- Added a patch to remove a previous conflict in a USB patch
v4:
-- Removed commit (c2024251b023, upstream fb561bf9abde49f7e00fdbf9ed2ccf2d86cac8ee)
that has been reverted by upstream bdde97ac4bea26d48f60e353396b2b4fb0234ac4.
-- Removed diffstat from this cover letter.
-- Changed CONFIG_EFI_COCO_SECRET so it reflects ARK usage.
v3:
-- fixing the s390x patches inadvertently removed a chunk preventing
a the build from succeeding on 390x. Put the chunk back in.
v2:
-- remove a redundant debug CONFIG setting for SCMI
-- include an additional patch for s390x (7a47c52142c1 upstream)
-- add 7a47c52142c1 ("s390/ccwgroup: Drop if with an always false
condition") to remove a conflict
-- removed an additional conflict in virtio-rng.c that was actually
a needed change.
Signed-off-by: Al Stone <ahs3@redhat.com>
Al Stone (5):
rhel: Enable ARM SCMI transport mechanism
rhel: Enable Simple FrameBuffer support
rhel: Configure ARM SCMI SMC transport AtomicEnable
rhel: Enable EFI COCO secret
rhel: Enable EFI DXE memory attributes
Alyssa Ross (1):
firmware: arm_scmi: Remove space in MODULE_ALIAS name
Andre Przywara (1):
firmware: smccc: Register smccc_trng platform device
Ard Biesheuvel (11):
efi/cper: use stack buffer for error record decoding
efi/libstub: add prototype of
efi_tcg2_protocol::hash_log_extend_event()
efi/libstub: consolidate initrd handling across architectures
efi/libstub: x86/mixed: increase supported argument count
efi: runtime: avoid EFIv2 runtime services on Apple x86 machines
firmware: arm_scmi: Disable ftrace for Clang Thumb2 builds
efi: libstub: pass image handle to handle_kernel_image()
efi/arm64: libstub: run image in place if randomized by the loader
efi: stub: prefer mirrored memory for randomized allocations
efi/x86: libstub: Make DXE calls mixed mode safe
efi: clean up Kconfig dependencies on CONFIG_EFI
Arnd Bergmann (2):
firmware: arm_scmi: Remove __exit annotation
firmware: arm_ffa: Remove unused 'compat_version' variable
Baskov Evgeniy (2):
efi: libstub: declare DXE services table
efi: libstub: ensure allocated memory to be executable
Charles Keepax (11):
firmware: cs_dsp: Add lockdep asserts to interface functions
firmware: cs_dsp: Add version checks on coefficient loading
firmware: cs_dsp: Add pre_run callback
firmware: cs_dsp: Print messages from bin files
firmware: cs_dsp: Add support for rev 2 coefficient files
firmware: cs_dsp: Perform NULL check in cs_dsp_coeff_write/read_ctrl
firmware: cs_dsp: Clarify some kernel doc comments
firmware: cs_dsp: Add offset to cs_dsp read/write
firmware: cs_dsp: Allow creation of event controls
firmware: cs_dsp: Move lockdep asserts to avoid potential null pointer
firmware: cs_dsp: Clear core reset for cache
Cristian Marussi (65):
firmware: arm_scmi: Add support for type handling in common functions
firmware: arm_scmi: Remove scmi_dump_header_dbg() helper
firmware: arm_scmi: Add optional transport_init/exit support
firmware: arm_scmi: Introduce monotonically increasing tokens
firmware: arm_scmi: Handle concurrent and out-of-order messages
firmware: arm_scmi: Make .clear_channel optional
firmware: arm_scmi: Make polling mode optional
firmware: arm_scmi: Make SCMI transports configurable
firmware: arm_scmi: Add priv parameter to scmi_rx_callback
firmware: arm_scmi: Use WARN_ON() to check configured transports
firmware: arm_scmi: Fix virtio transport Kconfig dependency
firmware: arm_scmi: Simplify spinlocks in virtio transport
firmware: arm_scmi: Add proper barriers to scmi virtio device
firmware: arm_scmi: Fix null de-reference on error path
firmware: arm_scmi: Fix type error in sensor protocol
firmware: arm_scmi: Review some virtio log messages
firmware: arm_scmi: Fix type error assignment in voltage protocol
firmware: arm_scmi: Make virtio Version_1 compliance optional
firmware: arm_scmi: Perform earlier cinfo lookup call in do_xfer
firmware: arm_scmi: Set polling timeout to max_rx_timeout_ms
firmware: arm_scmi: Refactor message response path
include: trace: Add new scmi_xfer_response_wait event
firmware: arm_scmi: Use new trace event scmi_xfer_response_wait
firmware: arm_scmi: Add configurable polling mode for transports
firmware: arm_scmi: Make smc transport use common completions
firmware: arm_scmi: Add sync_cmds_completed_on_ret transport flag
firmware: arm_scmi: Make smc support sync_cmds_completed_on_ret
firmware: arm_scmi: Make optee support sync_cmds_completed_on_ret
firmware: arm_scmi: Add support for atomic transports
firmware: arm_scmi: Add atomic mode support to smc transport
firmware: arm_scmi: Add new parameter to mark_txdone
firmware: arm_scmi: Add a virtio channel refcount
firmware: arm_scmi: Review virtio free_list handling
firmware: arm_scmi: Add atomic mode support to virtio transport
firmware: arm_scmi: Support optional system wide atomic-threshold-us
firmware: arm_scmi: Add atomic support to clock protocol
firmware: arm_scmi: Add support for clock_enable_latency
firmware: arm_scmi: Remove clear channel call on the TX channel
firmware: arm_scmi: Fix sorting of retrieved clock rates
firmware: arm_scmi: Make protocols initialisation fail on basic errors
firmware: arm_scmi: Fix list protocols enumeration in the base
protocol
firmware: arm_scmi: Validate BASE_DISCOVER_LIST_PROTOCOLS response
firmware: arm_scmi: Dynamically allocate implemented protocols array
firmware: arm_scmi: Make name_get operations return a const
firmware: arm_scmi: Check CLOCK_RATE_SET_COMPLETE async response
firmware: arm_scmi: Remove unneeded NULL termination of clk name
firmware: arm_scmi: Split protocol specific definitions in a dedicated
header
firmware: arm_scmi: Introduce a common SCMI v3.1 .extended_name_get
helper
firmware: arm_scmi: Add SCMI v3.1 protocol extended names support
firmware: arm_scmi: Parse clock_enable_latency conditionally
firmware: arm_scmi: Add iterators for multi-part commands
firmware: arm_scmi: Use common iterators in the sensor protocol
firmware: arm_scmi: Add SCMI v3.1 SENSOR_AXIS_NAME_GET support
firmware: arm_scmi: Use common iterators in the clock protocol
firmware: arm_scmi: Use common iterators in the voltage protocol
firmware: arm_scmi: Use common iterators in the perf protocol
firmware: arm_scmi: Add SCMI v3.1 perf power-cost in microwatts
firmware: arm_scmi: Add checks for min/max limits in
PERFORMANCE_LIMITS_SET
firmware: arm_scmi: Add SCMI v3.1 clock notifications
firmware: arm_scmi: Add SCMI v3.1 VOLTAGE_LEVEL_SET_COMPLETE
firmware: arm_scmi: Fix late checks on pointer dereference
firmware: arm_scmi: Avoid using extended string-buffers sizes if not
necessary
firmware: arm_scmi: Relax CLOCK_DESCRIBE_RATES out-of-spec checks
firmware: arm_scmi: Remove all the unused local variables
firmware: arm_scmi: Fix SENSOR_AXIS_NAME_GET behaviour when
unsupported
Dov Murik (2):
efi: Save location of EFI confidential computing area
efi: Register efi_secret platform device if EFI secret area is
declared
Eric Snowberg (1):
efi/mokvar: move up init order
Eric W. Biederman (1):
exit/kthread: Have kernel threads return instead of calling do_exit
Etienne Carriere (2):
firmware: arm_scmi: Add optee transport
firmware: arm_scmi: Support optee shared memory in the optee transport
Evgeniy Baskov (1):
efi/x86: libstub: Fix typo in __efi64_argmap* name
Greg Kroah-Hartman (5):
firmware: memmap: use default_groups in kobj_type
qemu_fw_cfg: use default_groups in kobj_type
firmware: dmi-sysfs: use default_groups in kobj_type
firmware: edd: remove empty default_attrs array
efi: use default_groups in kobj_type
Hans de Goede (1):
firmware: dmi: Move product_sku info to the end of the modalias
Heinrich Schuchardt (1):
efi/libstub: Simplify "Exiting bootservices" message
Igor Skalkin (3):
firmware: arm_scmi: Make shmem support optional for transports
firmware: arm_scmi: Add method to override max message number
firmware: arm_scmi: Add virtio transport
Ilias Apalodimas (1):
efi/libstub: measure loaded initrd info into the TPM
Jann Horn (2):
efivars: Respect "block" flag in efivar_entry_set_safe()
pstore: Don't use semaphores in always-atomic-context code
Javier Martinez Canillas (7):
drivers/firmware: move x86 Generic System Framebuffers support
drivers/firmware: consolidate EFI framebuffer setup for all arches
drivers/firmware: fix SYSFB depends to prevent build failures
drivers/firmware: Don't mark as busy the simple-framebuffer IO
resource
efi: Move efifb_setup_from_dmi() prototype from arch headers
video: vga16fb: Only probe for EGA and VGA 16 color graphic cards
fbdev: Prevent probing generic drivers if a FB is already registered
Johan Hovold (5):
firmware: qemu_fw_cfg: fix NULL-pointer deref on duplicate entries
firmware: qemu_fw_cfg: fix kobject leak in probe error path
firmware: qemu_fw_cfg: fix sysfs information leak
firmware: qemu_fw_cfg: remove sysfs entries explicitly
firmware: sysfb: fix platform-device leak in error path
Lv Ruyi (1):
firmware: arm_scmi: Replace zero-length array with flexible-array
member
Marc Bonnici (2):
firmware: arm_ffa: Add support for MEM_LEND
firmware: arm_ffa: Fix handling of fragmented memory descriptors
Miaoqian Lin (2):
drivers/firmware: Add missing platform_device_put() in
sysfb_create_simplefb
firmware: dmi-sysfs: Fix memory leak in dmi_sysfs_register_handle
Michael Ellerman (1):
powerpc/64: Include cache.h directly in paca.h
Michael S. Tsirkin (1):
virtio: wrap config->reset calls
Michal Suchanek (2):
sysfb: Make config option dependencies explicit
sysfb: Enable boot time VESA graphic mode selection
Mihai Carabas (1):
efi/libstub: arm64: Fix image check alignment at entry
Ming Qian (1):
firmware: imx: scu-pd: imx8q: add vpu mu resources
Nava kishore Manne (1):
drivers: firmware: Add PDI load API support
Paul Semel (1):
arm64: kasan: fix include error in MTE functions
Peng Fan (2):
firmware: arm_scmi: pm: Propagate return value to caller
firmware: imx: add get resource owner api
Peter Collingbourne (1):
printk: stop including cache.h from printk.h
Peter Hilber (2):
firmware: arm_scmi: Add message passing abstractions for transports
firmware: arm_scmi: Add optional link_supplier() transport op
Randy Dunlap (2):
efi: sysfb_efi: fix build when EFI is not set
efi: fix return value of __setup handlers
Rasmus Villemoes (1):
efi: cper: fix scnprintf() use in cper_mem_err_location()
Richard Fitzgerald (1):
firmware: cs_dsp: Fix overrun of unterminated control name string
Rishabh Bhatnagar (1):
firmware: arm_scmi: Free mailbox channels if probe fails
Shuai Xue (5):
efi: cper: check section header more appropriately
ACPI: APEI: explicit init of HEST and GHES in apci_init()
efi/cper: Add a cper_mem_err_status_str() to decode error description
EDAC/ghes: Unify CPER memory error location reporting
efi/cper: Reformat CPER memory error location to more readable
Simon Trimmer (1):
firmware: cs_dsp: tidy includes in cs_dsp.c and cs_dsp.h
Sudeep Holla (9):
firmware: arm_ffa: Add missing remove callback to ffa_bus_type
firmware: arm_ffa: Fix __ffa_devices_unregister
firmware: arm_ffa: Handle compatibility with different firmware
versions
firmware: arm_scmi: optee: Drop the support for the OPTEE shared
dynamic buffer
firmware: arm_scpi: Fix string overflow in SCPI genpd driver
firmware: arm_scmi: Fix sparse warnings in OPTEE transport driver
firmware: arm_scmi: Set clock latency to U32_MAX if it is not
supported
firmware: arm_ffa: Fix uuid parameter to ffa_partition_probe
firmware: arm_ffa: Remove incorrect assignment of driver_data
Uwe Kleine-König (4):
s390/cio: Make struct css_driver::remove return void
s390/scm: Make struct scm_driver::remove return void
PCI: endpoint: Make struct pci_epf_driver::remove return void
bus: Make remove callback return void
Vincent Guittot (1):
firmware: arm_scmi: Fix base agent discover response
Wei Yongjun (1):
firmware: arm_scmi: optee: Fix missing mutex_init()
Yang Yingliang (1):
edd: simplify the check of 'attr->test' in edd_populate_dir()
jing yangyang (1):
firmware/psci: fix application of sizeof to pointer
kernel test robot (1):
firmware: arm_scmi: Fix boolconv.cocci warnings
Edited by Al Stone