3853405e89
152 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
fd88580ed5 |
Merge keystone/android12-5.10-keystone-qcom-release.32+ (0fad51f ) into msm-5.10
* refs/heads/tmp-0fad51f: ANDROID: sched: Add vendor hooks for update_load_avg ANDROID: Update ABI with __traceiter_*() additions ANDROID: Update the cf symbol list ANDROID: Update the qcom symbol list ANDROID: Update the hikey960 symbol list ANDROID: Update the generic symbol list ANDROID: Update the exynos symbol list ANDROID: Update the db845c symbol list UPSTREAM: arm64: Move PSTATE.TCO setting to separate functions FROMGIT: kasan: Add report for async mode FROMGIT: arm64: mte: Drop arch_enable_tagging() ANDROID: GKI: 4/23 KMI update FROMGIT: kasan: Add KASAN mode kernel parameter FROMGIT: arm64: mte: Add asynchronous mode support ANDROID: GKI: update ABI description FROMLIST: remoteproc: core: Move cdev add before device add ANDROID: mm: allow vmas with vm_ops to be speculatively handled ANDROID: sched: Add ANDROID_OEM_DATA_ARRAY in user_struct. ANDROID: sched: Add vendor hooks for sched. ANDROID: sched: Add vendor hooks to compute new cpu freq. Revert "Revert "net: xfrm: Localize sequence counter per network namespace"" FROMGIT: usb: typec: tcpm: Allow slow charging loops to comply to pSnkStby FROMGIT: usb: dwc3: gadget: Check for disabled LPM quirk ANDROID: GKI: arm64: reserve space in cpu_hwcaps and cpu_hwcap_keys arrays FROMLIST: export: Make CRCs robust to symbol trimming ANDROID: Kconfig.gki Add SND_SOC_TOPOLOGY ANDROID: GKI: Change UCLAMP_BUCKETS_COUNT to 20 FROMGIT: ASoC: soc-component: Add snd_soc_pcm_component_ack UPSTREAM: ASoC: dmaengine_pcm: add peripheral configuration UPSTREAM: dmaengine: add peripheral configuration UPSTREAM: PM: domains: use device's next wakeup to determine domain idle state UPSTREAM: PM: domains: inform PM domain of a device's next wakeup Revert "FROMLIST: PM / Domains: add domain feature flag for next wakeup" Revert "FROMLIST: PM / domains: inform PM domain of a device's next wakeup" Revert "FROMLIST: PM / Domains: use device's next wakeup to determine domain idle state" FROMGIT: mm: cma: add the CMA instance name to cma trace events FROMGIT: mm: cma: Add the CMA instance name to the cma_alloc_start trace event FROMGIT: mm: cma: add trace events for CMA alloc perf testing ANDROID: mm: compaction: fix isolate_and_split_free_page() redefinition ANDROID: vendor_hooks: Fix build-break due to psi_event ANDROID: GKI: Update abi_gki_aarch64_qcom list for kprobe module ANDROID: GKI: Enable CONFIG_HIST_TRIGGERS FROMGIT: tick/broadcast: Allow late registered device to enter oneshot mode UPSTREAM: arm64: uaccess: split user/kernel routines UPSTREAM: arm64: uaccess: refactor __{get,put}_user BACKPORT: arm64: uaccess: rename privileged uaccess routines ANDROID: Incremental fs: Add INCFS_IOC_GET_LAST_READ_ERROR ANDROID: Incremental fs: Fix INCFS_MAGIC_NUMBER casts ANDROID: Incremental fs: Add status to sysfs ANDROID: Incremental fs: fix u64 integer cast to pointer ANDROID: Incremental fs: stat should return actual used blocks ANDROID: Incremental fs: Add FS_IOC_READ_VERITY_METADATA ANDROID: export find_user() & free_uid()for GKI purpose. ANDROID: GKI: update ABI description ANDROID: GKI: Update abi_gki_aarch64_qcom for kgsl AO tracing support ANDROID: ABI: update symbols to unisoc whitelist for the fifth time ANDROID: sched: Add vendor hooks for cpu affinity. ANDROID: GKI: Update abi_gki_aarch64_qcom list for reverse migration ANDROID: abi_gki_aarch64_generic: Add a few more symbols FROMGIT: usb: dwc3: gadget: Remove FS bInterval_m1 limitation ANDROID: abi_gki_aarch64_qcom: Add __bitmap_or ANDROID: GKI: Update abi_gki_aarch64_qcom for gpio block read tracepoint FROMGIT: dt-bindings: connector: Add slow-charger-loop definition FROMGIT: usb: dwc3: gadget: Fix START_TRANSFER link state check FROMGIT: usb: gadget: Fix double free of device descriptor pointers FROMGIT: usb: typec: tcpm: Fix error while calculating PPS out values ANDROID: inline isolate_and_split_free_page ANDROID: kernel: clear debug_kinfo precisely ANDROID: cgroup: Add vendor hook for cpuset. ANDROID: GKI: Update abi_gki_aarch64_qcom for PSI tracepoints ANDROID: psi: Add vendor hooks for PSI tracing Linux 5.10.32 net: phy: marvell: fix detection of PHY on Topaz switches bpf: Move sanitize_val_alu out of op switch bpf: Improve verifier error messages for users bpf: Rework ptr_limit into alu_limit and add common error path arm64: mte: Ensure TIF_MTE_ASYNC_FAULT is set atomically ARM: 9071/1: uprobes: Don't hook on thumb instructions bpf: Move off_reg into sanitize_ptr_alu bpf: Ensure off_reg has no mixed signed bounds for all types r8169: don't advertise pause in jumbo mode r8169: tweak max read request size for newer chips also in jumbo mtu mode KVM: VMX: Don't use vcpu->run->internal.ndata as an array index KVM: VMX: Convert vcpu_vmx.exit_reason to a union bpf: Use correct permission flag for mixed signed bounds arithmetic arm64: dts: allwinner: h6: beelink-gs1: Remove ext. 32 kHz osc reference arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems ARM: OMAP2+: Fix uninitialized sr_inst ARM: footbridge: fix PCI interrupt mapping ARM: 9069/1: NOMMU: Fix conversion for_each_membock() to for_each_mem_range() ARM: OMAP2+: Fix warning for omap_init_time_of() gro: ensure frag0 meets IP header alignment ch_ktls: do not send snd_una update to TCB in middle ch_ktls: tcb close causes tls connection failure ch_ktls: fix device connection close ch_ktls: Fix kernel panic ibmvnic: remove duplicate napi_schedule call in open function ibmvnic: remove duplicate napi_schedule call in do_reset function ibmvnic: avoid calling napi_disable() twice ia64: tools: remove inclusion of ia64-specific version of errno.h header ia64: remove duplicate entries in generic_defconfig ethtool: pause: make sure we init driver stats i40e: fix the panic when running bpf in xdpdrv mode net: Make tcp_allowed_congestion_control readonly in non-init netns mm: ptdump: fix build failure net: ip6_tunnel: Unregister catch-all devices net: sit: Unregister catch-all devices net: davicom: Fix regulator not turned off on failed probe net/mlx5e: Fix setting of RS FEC mode netfilter: nft_limit: avoid possible divide error in nft_limit_init net/mlx5e: fix ingress_ifindex check in mlx5e_flower_parse_meta net: macb: fix the restore of cmp registers libbpf: Fix potential NULL pointer dereference netfilter: arp_tables: add pre_exit hook for table unregister netfilter: bridge: add pre_exit hooks for ebtable unregistration libnvdimm/region: Fix nvdimm_has_flush() to handle ND_REGION_ASYNC ice: Fix potential infinite loop when using u8 loop counter netfilter: conntrack: do not print icmpv6 as unknown via /proc netfilter: flowtable: fix NAT IPv6 offload mangling ixgbe: fix unbalanced device enable/disable in suspend/resume scsi: libsas: Reset num_scatter if libata marks qc as NODATA riscv: Fix spelling mistake "SPARSEMEM" to "SPARSMEM" vfio/pci: Add missing range check in vfio_pci_mmap arm64: alternatives: Move length validation in alternative_{insn, endif} arm64: fix inline asm in load_unaligned_zeropad() readdir: make sure to verify directory entry for legacy interfaces too dm verity fec: fix misaligned RS roots IO HID: wacom: set EV_KEY and EV_ABS only for non-HID_GENERIC type of devices Input: i8042 - fix Pegatron C15B ID entry Input: s6sy761 - fix coordinate read bit shift lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS virt_wifi: Return micros for BSS TSF values mac80211: clear sta->fast_rx when STA removed from 4-addr VLAN pcnet32: Use pci_resource_len to validate PCI resource net: ieee802154: forbid monitor for add llsec seclevel net: ieee802154: stop dump llsec seclevels for monitors net: ieee802154: forbid monitor for del llsec devkey net: ieee802154: forbid monitor for add llsec devkey net: ieee802154: stop dump llsec devkeys for monitors net: ieee802154: forbid monitor for del llsec dev net: ieee802154: forbid monitor for add llsec dev net: ieee802154: stop dump llsec devs for monitors net: ieee802154: forbid monitor for del llsec key net: ieee802154: forbid monitor for add llsec key net: ieee802154: stop dump llsec keys for monitors iwlwifi: add support for Qu with AX201 device scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state ASoC: fsl_esai: Fix TDM slot setup for I2S mode drm/msm: Fix a5xx/a6xx timestamps ARM: omap1: fix building with clang IAS ARM: keystone: fix integer overflow warning neighbour: Disregard DEAD dst in neigh_update gpu/xen: Fix a use after free in xen_drm_drv_init ASoC: max98373: Added 30ms turn on/off time delay ASoC: max98373: Changed amp shutdown register as volatile xfrm: BEET mode doesn't support fragments for inner packets iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd() arc: kernel: Return -EFAULT if copy_to_user() fails lockdep: Add a missing initialization hint to the "INFO: Trying to register non-static key" message ARM: dts: Fix moving mmc devices with aliases for omap4 & 5 ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade() dmaengine: idxd: fix wq cleanup of WQCFG registers dmaengine: plx_dma: add a missing put_device() on error path dmaengine: Fix a double free in dma_async_device_register dmaengine: dw: Make it dependent to HAS_IOMEM dmaengine: idxd: fix wq size store permission state dmaengine: idxd: fix opcap sysfs attribute output dmaengine: idxd: fix delta_rec and crc size field for completion record dmaengine: idxd: Fix clobbering of SWERR overflow bit on writeback gpio: sysfs: Obey valid_mask Input: nspire-keypad - enable interrupts only when opened mtd: rawnand: mtk: Fix WAITRDY break condition and timeout net/sctp: fix race condition in sctp_destroy_sock ANDROID: abi_gki_aarch64_qcom: Add android_rvh_sched_setaffinity ANDROID: gki_defconfig: temporarily disable KFENCE in GKI ANDROID: GKI: Update abi_gki_aarch64_qcom list for minidump ANDROID: implement wrapper for reverse migration ANDROID: cpuidle: enable TEO and MENU governors in gki_defconfig ANDROID: abi_gki_aarch64_qcom: Update symbol list ANDROID: clang: update to 12.0.5 ANDROID: Add initial Exynos symbol list Conflicts: Documentation/devicetree/bindings Documentation/devicetree/bindings/connector/usb-connector.yaml include/linux/pm_domain.h Change-Id: I5701e429fa31cfb870b758f09af62b9bdad0fac9 Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org> |
||
|
fb8304fcb8 |
UPSTREAM: PM: domains: use device's next wakeup to determine domain idle state
Currently, a PM domain's idle state is determined based on whether the QoS requirements are met. However, even entering an idle state may waste power if the minimum residency requirements aren't fulfilled. CPU PM domains use the next timer wakeup for the CPUs in the domain to determine the sleep duration of the domain. This is compared with the idle state residencies to determine the optimal idle state. For other PM domains, determining the sleep length is not that straight forward. But if the device's next_event is available, we can use that to determine the sleep duration of the PM domain. Let's update the domain governor logic to check for idle state residency based on the next wakeup of devices as well as QoS constraints. But since, not all domains may contain devices capable of specifying the next wakeup, let's enable this additional check only if specified by the domain's flags when initializing the domain. Signed-off-by: Lina Iyer <ilina@codeaurora.org> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> (cherry picked from commit c79aa080fb0f60a0e24c87014dc9c2f373e1379b) Bug: 170654157 Signed-off-by: Carlos Llamas <cmllamas@google.com> Change-Id: I70714c4d5840034771b2b4a6b1d38eb4c73d1f85 |
||
|
e049d04424 |
UPSTREAM: PM: domains: inform PM domain of a device's next wakeup
Some devices may have a predictable interrupt pattern while executing usecases. An example would be the VSYNC interrupt associated with display devices. A 60 Hz display could cause a interrupt every 16 ms. If the device were in a PM domain, the domain would need to be powered up for device to resume and handle the interrupt. Entering a domain idle state saves power, only if the residency of the idle state is met. Without knowing the idle duration of the domain, the governor would just choose the deepest idle state that matches the QoS requirements. The domain might be powered off just as the device is expecting to wake up. If devices could inform PM frameworks of their next event, the parent PM domain's idle duration can be determined. So let's add the dev_pm_genpd_set_next_wakeup() API for the device to inform PM domains of the impending wakeup. This information will be the domain governor to determine the best idle state given the wakeup. Signed-off-by: Lina Iyer <ilina@codeaurora.org> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> (cherry picked from commit 67e3242ee28052daa90e1fa193efc601939fde58) Bug: 170654157 Signed-off-by: Carlos Llamas <cmllamas@google.com> Change-Id: Id0b4c3a3d0f6223a24d94ae953777ff8c8f160f3 |
||
|
98de9de261 |
Revert "FROMLIST: PM / Domains: add domain feature flag for next wakeup"
This reverts commit
|
||
|
14f2208945 |
Revert "FROMLIST: PM / domains: inform PM domain of a device's next wakeup"
This reverts commit
|
||
|
f316415fb2 |
Revert "FROMLIST: PM / Domains: use device's next wakeup to determine domain idle state"
This reverts commit
|
||
|
642de2eea2 |
Merge android12-5.10.1+ (ec1fff1 ) into msm-5.10
* refs/heads/tmp-ec1fff1:
ANDROID: enable assymetric aarch32 for 32 bit app support
ANDROID: GKI: Export memblock_free to drivers
ANDROID: arch_topology: Export thermal pressure symbol
ANDROID: softirq: Export irq_handler_entry tracepoint
ANDROID: sched: Export sched_switch tracepoint symbol
Revert "ANDROID: GKI: Enable CONFIG_USB_XHCI_HCD"
UPSTREAM: binder: add flag to clear buffer on txn complete
Revert "ANDROID: db845c_gki.fragment: Drop CONFIG_USB_DWC3 from config frament"
Revert "ANDROID: GKI: enable CONFIG_USB_DWC3 to be build in"
FROMGIT: dt-bindings: arm-smmu: Add compatible string for Adreno GPU SMMU
FROMGIT: iommu/arm-smmu-qcom: Add implementation for the adreno GPU SMMU
ANDROID: GKI: Unhide VIRTIO_DMA_SHARED_BUFFER
ANDROID: Disable dynamic ftrace for allmodconfig builds
FROMLIST: x86, build: allow LTO to be selected
FROMLIST: x86, vdso: disable LTO only for vDSO
FROMLIST: kbuild: lto: postpone objtool
FROMLIST: objtool: Split noinstr validation from --vmlinux
FROMLIST: x86, build: use objtool mcount
FROMLIST: tracing: add support for objtool mcount
FROMLIST: objtool: Don't autodetect vmlinux.o
ANDROID: objtool: Fix __mcount_loc generation with Clang's assembler
FROMLIST: objtool: Add a pass for generating __mcount_loc
FROMLIST: arm64: allow LTO to be selected
FROMLIST: arm64: disable recordmcount with DYNAMIC_FTRACE_WITH_REGS
FROMLIST: arm64: vdso: disable LTO
FROMLIST: drivers/misc/lkdtm: disable LTO for rodata.o
FROMLIST: efi/libstub: disable LTO
FROMLIST: scripts/mod: disable LTO for empty.c
FROMLIST: modpost: lto: strip .lto from module names
FROMLIST: PCI: Fix PREL32 relocations for LTO
FROMLIST: init: lto: fix PREL32 relocations
FROMLIST: init: lto: ensure initcall ordering
FROMLIST: kbuild: lto: add a default list of used symbols
FROMLIST: kbuild: lto: merge module sections
FROMLIST: kbuild: lto: limit inlining
FROMLIST: kbuild: lto: fix module versioning
FROMLIST: kbuild: add support for Clang LTO
FROMLIST: tracing: move function tracer options to Kconfig
UPSTREAM: arm64/mm: add fallback option to allocate virtually contiguous memory
ANDROID: add initial symbol list for cuttlefish
ANDROID: add initial symbol list for db845c
ANDROID: create initial symbol lists for android12-5.10
ANDROID: binder: Export binder_transaction_received trace point
ANDROID: binder: consolidate wakeup vendor hooks into one
ANDROID: GKI: Drop CONFIG_LOCALVERSION on 5.10
ANDROID: usb: typec: tcpm: Add a helper function to port is toggling
ANDROID: disable BTF generation
FROMLIST: dma-buf: system_heap: Add a system-uncached heap re-using the system heap
FROMLIST: dma-buf: dma-heap: Keep track of the heap device struct
Linux 5.10.1
Revert "dm raid: fix discard limits for raid1 and raid10"
Revert "md: change mddev 'chunk_sectors' from int to unsigned"
ANDROID: GKI: remove lockup detection configs
ANDROID: tty: hvc_dcc: Save irq flags when locking
ANDROID: sched: Export sched_setattr_nocheck
ANDROID: sched/fair: fix place_entity() vendor hook
ANDROID: sched/fair: export sysctl_sched_latency symbol
FROMLIST: PM / Domains: use device's next wakeup to determine domain idle state
FROMLIST: PM / domains: inform PM domain of a device's next wakeup
FROMLIST: PM / Domains: add domain feature flag for next wakeup
ANDROID: sched: Export key used by module
ANDROID: cgroup: Export functions used by modules
ANDROID: build.config: set branch to android12-5.10
Linux 5.10
FROMGIT: cpuidle: psci: Enable suspend-to-idle for PSCI OSI mode
FROMGIT: PM: domains: Enable dev_pm_genpd_suspend|resume() for suspend-to-idle
FROMGIT: PM: domains: Rename pm_genpd_syscore_poweroff|poweron()
md: change mddev 'chunk_sectors' from int to unsigned
x86/kprobes: Fix optprobe to detect INT3 padding correctly
Input: goodix - add upside-down quirk for Teclast X98 Pro tablet
tools/kvm_stat: Exempt time-based counters
KVM: mmu: Fix SPTE encoding of MMIO generation upper half
bpf: Fix enum names for bpf_this_cpu_ptr() and bpf_per_cpu_ptr() helpers
mm/hugetlb: clear compound_nr before freeing gigantic pages
kasan: fix object remaining in offline per-cpu quarantine
elfcore: fix building with clang
initramfs: fix clang build failure
kbuild: avoid static_assert for genksyms
selftest/fpu: avoid clang warning
proc: use untagged_addr() for pagemap_read addresses
revert "mm/filemap: add static for function __add_to_page_cache_locked"
Input: cm109 - do not stomp on control URB
ANDROID: configs: GKI: disable ARMv8.3 PAC
mtd: rawnand: xway: Do not force a particular software ECC engine
mtd: rawnand: socrates: Do not force a particular software ECC engine
mtd: rawnand: plat_nand: Do not force a particular software ECC engine
mtd: rawnand: pasemi: Do not force a particular software ECC engine
mtd: rawnand: orion: Do not force a particular software ECC engine
mtd: rawnand: mpc5121: Do not force a particular software ECC engine
mtd: rawnand: gpio: Do not force a particular software ECC engine
mtd: rawnand: au1550: Do not force a particular software ECC engine
mtd: rawnand: ams-delta: Do not force a particular software ECC engine
Revert "scsi: storvsc: Validate length of incoming packet in storvsc_on_channel_callback()"
FROMGIT: usb: typec: tcpci: Enable bleed discharge when auto discharge is enabled
FROMGIT: usb: typec: Add class for plug alt mode device
FROMGIT: USB: typec: tcpci: Add Bleed discharge to POWER_CONTROL definition
FROMGIT: USB: typec: tcpm: Add a 30ms room for tPSSourceOn in PR_SWAP
FROMGIT: USB: typec: tcpm: Fix PR_SWAP error handling
FROMGIT: USB: typec: tcpm: Hard Reset after not receiving a Request
RISC-V: Define get_cycles64() regardless of M-mode
drm/i915/display: Go softly softly on initial modeset failure
ANDROID: dm: dm-user: New target that proxies BIOs to userspace
ANDROID: uapi: Add dm-user structure definition
x86/apic/vector: Fix ordering in vector assignment
NFS: Disable READ_PLUS by default
NFSv4.2: Fix 5 seconds delay when doing inter server copy
NFS: Fix rpcrdma_inline_fixup() crash with new LISTXATTRS operation
ANDROID: x86: configs: gki: add missing CONFIG_BLK_CGROUP
selftests: fix poll error in udpgro.sh
selftests/bpf: Fix "dubious pointer arithmetic" test
selftests/bpf: Fix array access with signed variable test
selftests/bpf: Add test for signed 32-bit bound check bug
bpf: Fix propagation of 32-bit signed bounds from 64-bit bounds.
ANDROID: Incremental fs: Set credentials before reading/writing
ANDROID: Incremental fs: Fix incfs_test use of atol, open
ANDROID: Incremental fs: Change per UID timeouts to microseconds
ANDROID: Incremental fs: Add v2 feature flag
ANDROID: Incremental fs: Add zstd feature flag
ANDROID: sched: Add rvh for cpu controller cgroup attach
x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled
FROMGIT: usb: typec: intel_pmc_mux: Configure cable generation value for USB4
ANDROID: sched: Fix sched_cpu_drain CONFIG_HOTPLUG_CPU dependence
x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP
ANDROID: db845c_gki.fragment: Drop CONFIG_USB_DWC3 from config frament
zonefs: fix page reference and BIO leak
Input: i8042 - add Acer laptops to the i8042 reset list
Revert "md: add md_submit_discard_bio() for submitting discard bio"
Revert "md/raid10: extend r10bio devs to raid disks"
Revert "md/raid10: pull codes that wait for blocked dev into one function"
Revert "md/raid10: improve raid10 discard request"
Revert "md/raid10: improve discard request for far layout"
Revert "dm raid: remove unnecessary discard limits for raid10"
MAINTAINERS: Add entry for Marvell Prestera Ethernet Switch driver
net: sched: Fix dump of MPLS_OPT_LSE_LABEL attribute in cls_flower
drm/amd/pm: typo fix (CUSTOM -> COMPUTE)
Input: cros_ec_keyb - send 'scancodes' in addition to key events
ANDROID: Revert "GKI: build in a kernel command line of "rw""
net/mlx4_en: Handle TX error CQE
net/mlx4_en: Avoid scheduling restart task if it is already running
BACKPORT: dma-buf: system_heap: Allocate higher order pages if available
BACKPORT: dma-buf: heaps: Skip sync if not mapped
BACKPORT: dma-buf: heaps: Remove heap-helpers code
BACKPORT: dma-buf: heaps: Move heap-helper logic into the cma_heap implementation
BACKPORT: dma-buf: system_heap: Rework system heap to use sgtables instead of pagelists
tcp: fix cwnd-limited bug for TSO deferral where we send nothing
net: flow_offload: Fix memory leak for indirect flow block
tcp: Retain ECT bits for tos reflection
ethtool: fix stack overflow in ethnl_parse_bitset()
e1000e: fix S0ix flow to allow S0i3.2 subset entry
ice: avoid premature Rx buffer reuse
ixgbe: avoid premature Rx buffer reuse
i40e: avoid premature Rx buffer reuse
igb: avoid transmit queue timeout in xdp path
igb: use xdp_do_flush
igb: skb add metasize for xdp
igb: XDP extack message on error
igb: take VLAN double header into account
igb: XDP xmit back fix error code
Revert "geneve: pull IP header before ECN decapsulation"
firmware: xilinx: Mark pm_api_features_map with static keyword
ARM: dts: mmp2-olpc-xo-1-75: clear the warnings when make dtbs
RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait
FROMGIT: usb: typec: tcpci_maxim: Enable VSAFE0V signalling
FROMGIT: scsi: ufs: Print host regs in IRQ handler when AH8 error happens
BACKPORT: FROMGIT: scsi: ufs: Fix a race condition between ufshcd_abort() and eh_work()
FROMGIT: scsi: ufs: Serialize eh_work with system PM events and async scan
ANDROID: GKI: enable CONFIG_USB_DWC3 to be build in
can: isotp: isotp_setsockopt(): block setsockopt on bound sockets
selftests/bpf/test_offload.py: Filter bpftool internal map when counting maps
selftests/bpf/test_offload.py: Reset ethtool features after failed setting
selftests/bpf/test_offload.py: Fix expected case of extack messages
selftests/bpf/test_offload.py: Only check verifier log on verification fails
netdevsim: Add debugfs toggle to reject BPF programs in verifier
selftests/bpf/test_offload.py: Remove check for program load flags match
xdp: Remove the xdp_attachment_flags_ok() callback
drm/amdgpu: Initialise drm_gem_object_funcs for imported BOs
drm/amdgpu: fix size calculation with stolen vga memory
drm/amd/pm: update smu10.h WORKLOAD_PPLIB setting for raven
drm/amdkfd: Fix leak in dmabuf import
drm/amdgpu: fix sdma instance fw version and feature version init
drm/amd/display: Add wm table for Renoir
drm/amd/display: Prevent bandwidth overflow
drm/amdgpu: fix debugfs creation/removal, again
drm/amdgpu/disply: set num_crtc earlier
FROMGIT: usb: typec: tcpci: Add support to report vSafe0V
FROMGIT: usb: typec: tcpm: Introduce vsafe0v for vbus
FROMGIT: usb: typec: tcpm: Clear send_discover in tcpm_check_send_discover
FROMGIT: usb: typec: tcpm: Pass down negotiated rev to update retry count
FROMGIT: usb: typec: intel_pmc_mux: Use correct response message bits
netfilter: nft_ct: Remove confirmation check for NFT_CT_ID
xen: don't use page->lru for ZONE_DEVICE memory
xen: add helpers for caching grant mapping pages
gpio: eic-sprd: break loop when getting NULL device resource
membarrier: Execute SYNC_CORE on the calling thread
membarrier: Explicitly sync remote cores when SYNC_CORE is requested
membarrier: Add an actual barrier before rseq_preempt()
x86/membarrier: Get rid of a dubious optimization
pinctrl: intel: Actually disable Tx and Rx buffers on GPIO request
mm/madvise: remove racy mm ownership check
drm/amdgpu/powerplay: parse fan table for CI asics
bpf, doc: Update KP's email in MAINTAINERS
FROMGIT: f2fs: fix race of pending_pages in decompression
tcp: select sane initial rcvq_space.space for big MSS
net: ll_temac: Fix potential NULL dereference in temac_probe()
afs: Fix memory leak when mounting with multiple source parameters
net: tipc: prevent possible null deref of link
ANDROID: x86: entry: fix LSL open coding
Revert "scsi: megaraid_sas: Added support for shared host tagset for cpuhotplug"
net: stmmac: overwrite the dma_cap.addr64 according to HW design
net: stmmac: delete the eee_ctrl_timer after napi disabled
net: stmmac: free tx skb buffer in stmmac_resume()
net: stmmac: start phylink instance before stmmac_hw_setup()
net: stmmac: increase the timeout for dma reset
[regression fix] really dumb fuckup in sparc64 __csum_partial_copy() changes
netfilter: nftables: comment indirect serialization of commit_mutex with rtnl_mutex
netfilter: nft_dynset: fix timeouts later than 23 days
bonding: fix feature flag setting at init time
Revert "cgroup/cpuset: Convert cpuset_mutex to percpu_rwsem"
ANDROID: cpu/hotplug: vendor hook for resume cpus
ANDROID: cpu/hotplug: rebuild sched domains immediately
ANDROID: cpu/hotplug: add migration to paused_cpus
ANDROID: cpu/hotplug: add pause/resume_cpus interface
ANDROID: cpu/hotplug: protect _cpu_down against partial HP
ANDROID: cgroup/cpuset: rely on active_mask for guaranteed online CPU
ANDROID: sched/fair: update_max_interval() active_mask dependant
ANDROID: sched/rt: cpu_active_mask intersection
ANDROID: stop_machine: stop_one_cpu_async
io_uring: fix file leak on error path of io ctx creation
tools/bpftool: Fix PID fetching with a lot of results
drm/i915/gt: Declare gen9 has 64 mocs entries!
drm/i915/display/dp: Compute the correct slice count for VDSC on DP
drm/i915: fix size_t greater or equal to zero comparison
drm/i915/gt: Cancel the preemption timeout on responding to it
drm/i915/gt: Ignore repeated attempts to suspend request flow across reset
drm/i915/gem: Propagate error from cancelled submit due to context closure
drm/i915/gem: Check the correct variable in selftest
netfilter: x_tables: Switch synchronization to RCU
ANDROID: Disable hermetic toolchain for allmodconfig builds
pinctrl: aspeed: Fix GPIO requests on pass-through banks
media: vidtv: fix some warnings
scsi: hisi_sas: Select a suitable queue for internal I/Os
scsi: core: Fix race between handling STS_RESOURCE and completion
net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux
dpaa2-mac: Add a missing of_node_put after of_device_is_available
mptcp: print new line in mptcp_seq_show() if mptcp isn't in use
bridge: Fix a deadlock when enabling multicast snooping
enetc: Fix reporting of h/w packet counters
powerpc/mm: Fix KUAP warning by providing copy_from_kernel_nofault_allowed()
clk: renesas: r9a06g032: Drop __packed for portability
clk: imx: scu: fix MXC_CLK_SCU module build break
RDMA/core: Fix empty gid table for non IB/RoCE devices
lwt_bpf: Replace preempt_disable() with migrate_disable()
lwt: Disable BH too in run_lwt_bpf()
io_uring: fix mis-seting personality's creds
MAINTAINERS: add a limited ARM and ARM64 SoC entry
MAINTAINERS: correct SoC Git address (formerly: arm-soc)
ARM: keystone: remove SECTION_SIZE_BITS/MAX_PHYSMEM_BITS
iommu/amd: Set DTE[IntTabLen] to represent 512 IRTEs
udp: fix the proto value passed to ip_protocol_deliver_rcu for the segments
net: hns3: remove a misused pragma packed
Input: soc_button_array - add Lenovo Yoga Tablet2 1051L to the dmi_use_low_level_irq list
Input: raydium_ts_i2c - do not split tx transactions
Linux 5.10-rc7
mm/mmap.c: fix mmap return value when vma is merged after call_mmap()
hugetlb_cgroup: fix offline of hugetlb cgroup with reservations
mm/filemap: add static for function __add_to_page_cache_locked
userfaultfd: selftests: fix SIGSEGV if huge mmap fails
tools/testing/selftests/vm: fix build error
mailmap: add two more addresses of Uwe Kleine-König
mm/swapfile: do not sleep with a spin lock held
mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPING
mm: list_lru: set shrinker map bit when child nr_items is not zero
mm: memcg/slab: fix obj_cgroup_charge() return value handling
coredump: fix core_pattern parse error
zlib: export S390 symbols for zlib modules
kbuild: avoid split lines in .mod files
Revert "mei: virtio: virtualization frontend driver"
x86/sev-es: Use new for_each_insn_prefix() macro to loop over prefixes bytes
x86/insn-eval: Use new for_each_insn_prefix() macro to loop over prefixes bytes
x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes
net: mscc: ocelot: fix dropping of unknown IPv4 multicast on Seville
net: marvell: prestera: Fix error return code in prestera_port_create()
vrf: packets with lladdr src needs dst at input with orig_iif when needs strict
can: softing: softing_netdev_open(): fix error handling
ch_ktls: fix build warning for ipv4-only config
i2c: mlxbf: Fix the return check of devm_ioremap and ioremap
i2c: mlxbf: select CONFIG_I2C_SLAVE
mac80211: mesh: fix mesh_pathtbl_init() error path
[SECURITY] fix namespaced fscaps when !CONFIG_SECURITY
openvswitch: fix error return code in validate_and_copy_dec_ttl()
net: bridge: vlan: fix error return code in __vlan_add()
ipv4: fix error return code in rtm_to_fib_config()
ethernet: select CONFIG_CRC32 as needed
net: ipa: pass the correct size when freeing DMA memory
block: fix incorrect branching in blk_max_size_offset()
net/sched: fq_pie: initialize timer earlier in fq_pie_init()
tracing: Fix userstacktrace option for instances
dm: remove invalid sparse __acquires and __releases annotations
dm: fix double RCU unlock in dm_dax_zero_page_range() error path
dm: fix IO splitting
tty: Fix ->session locking
tty: Fix ->pgrp locking in tiocspgrp()
xsk: Return error code if force_zc is set
usb: gadget: f_fs: Use local copy of descriptors for userspace copy
usb: ohci-omap: Fix descriptor conversion
Revert "usb-storage: fix sdev->host->dma_dev"
Revert "uas: fix sdev->host->dma_dev"
Revert "uas: bump hw_max_sectors to 2048 blocks for SS or faster drives"
mmc: mediatek: mark PM functions as __maybe_unused
mmc: block: Fixup condition for CMD13 polling for RPMB requests
mac80211: set SDATA_STATE_RUNNING for monitor interfaces
cfg80211: initialize rekey_data
mac80211: fix return value of ieee80211_chandef_he_6ghz_oper
mmc: tmio: improve bringing HW to a sane state with MMC_POWER_OFF
USB: serial: kl5kusb105: fix memleak on open
misc: eeprom: at24: fix NVMEM name with custom AT24 device name
pinctrl: amd: remove debounce filter setting in IRQ type setting
kvm: x86/mmu: Use cpuid to determine max gfn
kvm: svm: de-allocate svm_cpu_data for all cpus in svm_cpu_uninit()
cifs: refactor create_sd_buf() and and avoid corrupting the buffer
cifs: add NULL check for ses->tcon_ipc
smb3: set COMPOUND_FID to FileID field of subsequent compound request
scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()"
ANDROID: Sched: Add restricted vendor hooks for scheduler
net/mlx5: DR, Proper handling of unsupported Connect-X6DX SW steering
net/mlx5e: kTLS, Enforce HW TX csum offload with kTLS
net: mlx5e: fix fs_tcp.c build when IPV6 is not enabled
net/mlx5: Fix wrong address reclaim when command interface is down
net/sched: act_mpls: ensure LSE is pullable before reading it
net: openvswitch: ensure LSE is pullable before reading it
net: skbuff: ensure LSE is pullable before decrementing the MPLS ttl
net: mvpp2: Fix error return code in mvpp2_open()
chelsio/chtls: fix a double free in chtls_setkey()
uapi: fix statx attribute value overlap for DAX & MOUNT_ROOT
pwm: sl28cpld: fix getting driver data in pwm callbacks
lib/syscall: fix syscall registers retrieval on 32-bit platforms
ANDROID: tracing: Add restricted vendor hooks for preemptirq events
selftests: kvm/set_memory_region_test: Fix race in move region test
x86/platform/uv: Fix UV4 hub revision adjustment
ANDROID: Sched: Export scheduler symbols needed by vendor modules
rtw88: debug: Fix uninitialized memory in debugfs code
USB: serial: ch341: sort device-id entries
USB: serial: ch341: add new Product ID for CH341A
perf/x86/intel: Check PEBS status correctly
perf/x86/intel: Fix a warning on x86_pmu_stop() with large PEBS
intel_idle: Build fix
FROMLIST: scripts: merge_config: add strict mode to fail upon any redefinition
drm/amdgpu/vcn3.0: remove old DPG workaround
drm/amdgpu/vcn3.0: stall DPG when WPTR/RPTR reset
drm/amd/display: Init clock value by current vbios CLKs
drm/amdgpu/pm/smu11: Fix fan set speed bug
vxlan: fix error return code in __vxlan_dev_create()
net: pasemi: fix error return code in pasemi_mac_open()
cxgb3: fix error return code in t3_sge_alloc_qset()
net/x25: prevent a couple of overflows
drm/i915/display: Defer initial modeset until after GGTT is initialised
drm/i915/display: return earlier from intel_modeset_init() without display
drm/i915/gt: Limit frequency drop to RPe on parking
drm/i915/gt: Retain default context state across shrinking
drm/i915/gt: Split the breadcrumb spinlock between global and contexts
drm/i915/gt: Protect context lifetime with RCU
xsk: Change the tx writeable condition
xsk: Replace datagram_poll by sock_poll_wait
FROMLIST: scsi: ufs: clear uac for RPMB after ufshcd resets
i2c: imx: Don't generate STOP condition if arbitration has been lost
i2c: imx: Check for I2SR_IAL after every byte
i2c: imx: Fix reset of I2SR_IAL flag
dpaa_eth: copy timestamp fields to new skb in A-050385 workaround
net: ip6_gre: set dev->hard_header_len when using header_ops
mt76: usb: fix crash on device removal
iwlwifi: pcie: add some missing entries for AX210
iwlwifi: pcie: invert values of NO_160 device config entries
iwlwifi: pcie: add one missing entry for AX210
iwlwifi: update MAINTAINERS entry
scsi: bnx2i: Requires MMU
s390: fix irq state tracing
s390/pci: fix CPU address in MSI for directed IRQ
ANDROID: binder: Add vendor hooks
i2c: qcom: Fix IRQ error misassignement
i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc()
ANDROID: gki: build-in DMA_VIRTUAL_CHANNELS
media: vidtv: fix kernel-doc markups
powerpc/64s/powernv: Fix memory corruption when saving SLB entries on MCE
media: [next] media: vidtv: fix a read from an object after it has been freed
media: vb2: set cache sync hints when init buffers
FROMGIT: arm64: mm: account for hotplug memory when randomizing the linear region
gpio: mvebu: fix potential user-after-free on probe
KVM: arm64: Add usage of stage 2 fault lookup level in user_mem_abort()
KVM: arm64: Fix handling of merging tables into a block entry
KVM: arm64: Fix memory leak on stage2 update of a valid PTE
gpio: zynq: fix reference leak in zynq_gpio functions
gpiolib: Don't free if pin ranges are not defined
gpio: dwapb: fix NULL pointer dereference at dwapb_gpio_suspend()
gpio: arizona: disable pm_runtime in case of failure
vhost_vdpa: return -EFAULT if copy_to_user() fails
vdpa: mlx5: fix vdpa/vhost dependencies
selftests/bpf: Drain ringbuf samples at the end of test
libbpf: Fix ring_buffer__poll() to return number of consumed samples
geneve: pull IP header before ECN decapsulation
inet_ecn: Fix endianness of checksum update when setting ECT(1)
RDMA/efa: Use the correct current and new states in modify QP
RDMA/qedr: iWARP invalid(zero) doorbell address fix
tipc: fix incompatible mtu of transmission
ANDROID: usb: gadget: f_midi: Avoid invalid pointer access
dm writecache: remove BUG() and fail gracefully instead
dm table: Remove BUG_ON(in_interrupt())
dm: fix bug with RCU locking in dm_blk_report_zones
Revert "dm cache: fix arm link errors with inline"
fs: 9p: add generic splice_write file operation
net: broadcom CNIC: requires MMU
ibmvnic: Fix TX completion error handling
ibmvnic: Ensure that SCRQ entry reads are correctly ordered
ANDROID: mm: Create vendor hooks to control ZONE_MOVABLE allocations
ANDROID: mm: add cma pcp list
ANDROID: cma: redirect page allocation to CMA
block: use gcd() to fix chunk_sectors limit stacking
Input: atmel_mxt_ts - fix lost interrupts
fpga: Specify HAS_IOMEM dependency for FPGA_DFL
fs: 9p: add generic splice_read file operations
x86/resctrl: Fix AMD L3 QOS CDP enable/disable
ANDROID: spi: of: Populate fwnode in of_register_spi_device
media: pulse8-cec: add support for FW v10 and up
media: pulse8-cec: fix duplicate free at disconnect or probe error
media: mtk-cir: fix calculation of chk period
kbuild: Disable CONFIG_LD_ORPHAN_WARN for ld.lld 10.0.1
kbuild: Hoist '--orphan-handling' into Kconfig
ANDROID: net: xfrm: always export pktgen_xfrm_outer_mode_output
KVM: PPC: Book3S HV: XIVE: Fix vCPU id sanity check
arm64: dts: allwinner: H5: NanoPi Neo Plus2: phy-mode rgmii-id
arm64: dts: allwinner: A64 Sopine: phy-mode rgmii-id
USB: serial: option: fix Quectel BG96 matching
ANDROID: pcie/dwc: driver: export dw_handle_msi_irq
Input: xpad - support Ardwiino Controllers
Input: i8042 - add ByteSpeed touchpad to noloop table
scsi: mpt3sas: Increase IOCInit request timeout to 30s
scsi: mpt3sas: Fix ioctl timeout
scsi: storvsc: Validate length of incoming packet in storvsc_on_channel_callback()
docs: bootconfig: Add the endianness of fields
tools/bootconfig: Store size and checksum in footer as le32
bootconfig: Load size and checksum in the footer as le32
ring-buffer: Always check to put back before stamp when crossing pages
scsi: storvsc: Fix error return in storvsc_probe()
ftrace: Fix DYNAMIC_FTRACE_WITH_DIRECT_CALLS dependency
ftrace: Fix updating FTRACE_FL_TRAMP
tracing: Fix alignment of static buffer
tracing: Remove WARN_ON in start_thread()
samples/ftrace: Mark my_tramp[12]? global
vxlan: Copy needed_tailroom from lowerdev
vxlan: Add needed_headroom for lower device
chelsio/chtls: fix panic during unload reload chtls
ARM: dts: imx6qdl-kontron-samx6i: fix I2C_PM scl pin
ARM: dts: imx6qdl-wandboard-revd1: Remove PAD_GPIO_6 from enetgrp
ANDROID: sched: Track wake_q length
drm/i915/gt: Program mocs:63 for cache eviction on gen9
ARM: imx: Use correct SRC base address
gfs2: Fix deadlock between gfs2_{create_inode,inode_lookup} and delete_work_func
xdp: Handle MEM_TYPE_XSK_BUFF_POOL correctly in xdp_return_buff()
ktest.pl: Fix incorrect reboot for grub2bls
cifs: fix potential use-after-free in cifs_echo_request()
cifs: allow syscalls to be restarted in __smb_send_rqst()
ring-buffer: Set the right timestamp in the slow path of __rb_reserve_next()
ring-buffer: Update write stamp with the correct ts
io_uring: fix recvmsg setup with compat buf-select
arm64: mte: Fix typo in macro definition
pNFS/flexfiles: Fix array overflow when flexfiles mirroring is enabled
ANDROID: sched/cpuset: Add vendor hook to change tasks affinity
ANDROID: sched/core: Add vendor hook to change task affinity
arm64: entry: fix EL1 debug transitions
arm64: entry: fix NMI {user, kernel}->kernel transitions
arm64: entry: fix non-NMI kernel<->kernel transitions
arm64: ptrace: prepare for EL1 irq/rcu tracking
arm64: entry: fix non-NMI user<->kernel transitions
arm64: entry: move el1 irq/nmi logic to C
arm64: entry: prepare ret_to_user for function call
arm64: entry: move enter_from_user_mode to entry-common.c
arm64: entry: mark entry code as noinstr
arm64: mark idle code as noinstr
arm64: syscall: exit userspace before unmasking exceptions
can: kvaser_pciefd: kvaser_pciefd_open(): fix error handling
can: c_can: c_can_power_up(): fix error handling
can: sun4i_can: sun4i_can_err(): don't count arbitration lose as an error
can: sja1000: sja1000_err(): don't count arbitration lose as an error
can: m_can: tcan4x5x_can_probe(): fix error path: remove erroneous clk_disable_unprepare()
powerpc/pseries: Pass MSI affinity to irq_create_mapping()
genirq/irqdomain: Add an irq_create_mapping_affinity() function
drm/omap: sdi: fix bridge enable/disable
MAINTAINERS: Move Jason Cooper to CREDITS
habanalabs: put devices before driver removal
habanalabs: free host huge va_range if not used
speakup: Reject setting the speakup line discipline outside of speakup
usb: cdns3: core: fix goto label for error path
usb: cdns3: gadget: clear trb->length as zero after preparing every trb
usb: cdns3: Fix hardware based role switch
Linux 5.10-rc6
drm/panel: sony-acx565akm: Fix race condition in probe
drm/rockchip: Avoid uninitialized use of endpoint id in LVDS
dt-bindings: net: correct interrupt flags in examples
ibmvnic: reduce wait for completion time
ibmvnic: no reset timeout for 5 seconds after reset
ibmvnic: send_login should check for crq errors
ibmvnic: track pending login
ibmvnic: delay next reset if hard reset fails
ibmvnic: restore adapter state on failed reset
ibmvnic: avoid memset null scrq msgs
ibmvnic: stop free_all_rwi on failed reset
ibmvnic: handle inconsistent login with reset
selftests: tc-testing: enable CONFIG_NET_SCH_RED as a module
ipv4: Fix tos mask in inet_rtm_getroute()
netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal
ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model
ALSA: hda/realtek: Fix bass speaker DAC assignment on Asus Zephyrus G14
ALSA: hda/generic: Add option to enforce preferred_dacs pairs
ANDROID: GKI: export dev_pm_qos_read_value
FROMGIT: usb: typec: Add type sysfs attribute file for partners
FROMGIT: usb: pd: DFP product types
FROMGIT: usb: typec: Constify static attribute_group structs
FROMGIT: usb: typec: Expose Product Type VDOs via sysfs
FROMGIT: usb: typec: Consolidate sysfs ABI documentation
FROMGIT: usb: typec: Fix num_altmodes kernel-doc error
FROMGIT: usb: typec: Add plug num_altmodes sysfs attr
FROMGIT: usb: typec: Add number of altmodes partner attr
FROMGIT: usb: typec: Remove one bit support for the Thunderbolt rounded/non-rounded cable
FROMGIT: platform/chrome: cros_ec_typec: Correct the Thunderbolt rounded/non-rounded cable support
sock: set sk_err to ee_errno on dequeue from errq
mptcp: fix NULL ptr dereference on bad MPJ
net: openvswitch: fix TTL decrement action netlink message format
ANDROID: drm: expose drm_mode_convert_to_umode to display module
perf probe: Change function definition check due to broken DWARF
perf probe: Fix to die_entrypc() returns error correctly
perf stat: Use proper cpu for shadow stats
perf record: Synthesize cgroup events only if needed
perf diff: Fix error return value in __cmd_diff()
perf tools: Update copy of libbpf's hashmap.c
ANDROID: Revert "thermal: Make thermal_zone_device_is_enabled() available to core only"
x86/mce: Do not overwrite no_way_out if mce_end() fails
FROMGIT: usb: typec: intel_pmc_mux: Configure Thunderbolt cable generation bits
FROMGIT: usb: typec: Correct the bit values for the Thunderbolt rounded/non-rounded cable support
FROMGIT: usb: typec: ucsi: Work around PPM losing change information
FROMGIT: usb: typec: ucsi: acpi: Always decode connector change information
ANDROID: kernel: cgroup: cpuset: Clear cpus_requested for empty buf
ANDROID: cpuset: Make cpusets restore on hotplug
ANDROID: sched: Export symbols for vendor EAS wakup path function
ANDROID: sched: Add vendor hooks for skipping sugov update
ANDROID: sched: Add vendor hooks for override sugov behavior
ANDROID: attribute page lock and waitqueue functions as sched
ANDROID: sched: Add vendor hooks for find_energy_efficient_cpu
kvm: x86/mmu: Fix get_mmio_spte() on CPUs supporting 5-level PT
ANDROID: arch_topology: Export symbol for thermal pressure notification
ANDROID: sched/core: Export symbols needed by modules
ANDROID: modpost: Forbid double exports
FROMLIST: modpost: Make static exports fatal
ANDROID: GKI: enable CONFIG_THERMAL_NETLINK
KVM: x86: Fix split-irqchip vs interrupt injection window request
KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint
ALSA: usb-audio: US16x08: fix value count for level meters
ANDROID: sched: Add env->cpus to android_rvh_sched_nohz_balancer_kick
usb: typec: stusb160x: fix power-opmode property with typec-power-opmode
FROMGIT: usb: typec: tcpm: Stay in SNK_TRY_WAIT_DEBOUNCE_CHECK_VBUS till Rp is seen
FROMGIT: usb: typec: tcpm: Disregard vbus off while in PR_SWAP_SNK_SRC_SOURCE_ON
FROMGIT: usb: typec: tcpci_maxim: Fix the compatible string
netfilter: nftables_offload: build mask based from the matching bytes
netfilter: nftables_offload: set address type in control dissector
ipvs: fix possible memory leak in ip_vs_control_net_init
powerpc/numa: Fix a regression on memoryless node 0
printk: finalize records with trailing newlines
ANDROID: extract-cert: omit PKCS#11 support if building against BoringSSL
USB: serial: option: add support for Thales Cinterion EXS82
can: af_can: can_rx_unregister(): remove WARN() statement from list operation sanity check
can: m_can: m_can_dev_setup(): add support for bosch mcan version 3.3.0
can: m_can: fix nominal bitiming tseg2 min for version >= 3.1
can: m_can: m_can_open(): remove IRQF_TRIGGER_FALLING from request_threaded_irq()'s flags
FROMGIT: dt-bindings: usb: Maxim type-c controller device tree binding document
FROMGIT: usb: typec: tcpci_maxim: Fix uninitialized return variable
FROMGIT: usb: typec: tcpci_maxim: Enable auto discharge disconnect
FROMGIT: usb: typec: tcpci: Implement Auto discharge disconnect callbacks
ALSA: hda/realtek - Add new codec supported for ALC897
FROMGIT: usb: typec: tcpm: Implement enabling Auto Discharge disconnect support
batman-adv: Don't always reallocate the fragmentation skb head
batman-adv: Reserve needed_*room for fragments
batman-adv: Consider fragmentation for needed_headroom
FROMGIT: usb: typec: tcpci_maxim: Fix vbus stuck on upon diconnecting sink
FROMGIT: usb: typec: tcpci: frs sourcing vbus callback
FROMGIT: usb: typec: tcpm: frs sourcing vbus callback
ANDROID: staging: ion: export some ion symbols
ANDROID: staging: ion: Remove unused local variable 'vaddr'
ANDROID: staging: ion: remove kmap from begin[end]_cpu_access
ANDROID: staging: ion: Fix potential memory corruption
ANDROID: staging: ion: optimize cache operation for non-cached buffer
ANDROID: staging: ion: use dma_[un]map_sg_attrs
ANDROID: staging: ion: Export query function to be used in modules
FROMGIT: usb: typec: tcpm: Refactor logic for new-source-frs-typec-current
ANDROID: USB: gadget: f_accessory: add support for SuperSpeed Plus
FROMLIST: USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
FROMLIST: USB: gadget: f_midi: setup SuperSpeed Plus descriptors
FROMLIST: USB: gadget: f_fs: add SuperSpeed Plus support
FROMLIST: USB: gadget: f_acm: add support for SuperSpeed Plus
ANDROID: configs: gki: add CONFIG_PSTORE_PMSG
ANDROID: configs: gki: add CONFIG_LEDS_TRIGGER_TRANSIENT
gfs2: Upgrade shared glocks for atime updates
drm/tegra: sor: Disable clocks on error in tegra_sor_init()
mm: memcg: relayout structure mem_cgroup to avoid cache interference
drm/nouveau: make sure ret is initialized in nouveau_ttm_io_mem_reserve
io_uring: fix files grab/cancel race
RDMA/hns: Bugfix for memory window mtpt configuration
RDMA/hns: Fix retry_cnt and rnr_cnt when querying QP
RDMA/hns: Fix wrong field of SRQ number the device supports
iommu/vt-d: Don't read VCCAP register unless it exists
platform/x86: touchscreen_dmi: Add info for the Irbis TW118 tablet
platform/x86: touchscreen_dmi: Add info for the Predia Basic tablet
platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC
platform/x86: toshiba_acpi: Fix the wrong variable assignment
platform/x86: acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE
platform/x86: thinkpad_acpi: Whitelist P15 firmware for dual fan control
platform/x86: thinkpad_acpi: Send tablet mode switch at wakeup time
platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad Yoga 11e 4th gen
platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e
platform/x86: thinkpad_acpi: add P1 gen3 second fan support
powerpc/64s: Trim offlined CPUs from mm_cpumasks
kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling
powerpc/64s/pseries: Fix hash tlbiel_all_isa300 for guest kernels
powerpc/64s: Fix hash ISA v3.0 TLBIEL instruction generation
ASoC: rt5682: change SAR voltage threshold
drm: mxsfb: Implement .format_mod_supported
drm: mxsfb: fix fence synchronization
ANDROID: configs: gki: add CONFIG_PRINTK_CALLER
can: mcp251xfd: mcp251xfd_probe(): bail out if no IRQ was given
can: gs_usb: fix endianess problem with candleLight firmware
MAINTAINERS: Adding help for coresight subsystem
media: vidtv.rst: add kernel-doc markups
media: vidtv.rst: update vidtv documentation
media: vidtv: simplify EIT write function
media: vidtv: simplify NIT write function
media: vidtv: simplify SDT write function
media: vidtv: cleanup PMT write table function
media: vidtv: cleanup PAT write function
media: vidtv: cleanup PSI table header function
media: vidtv: cleanup PSI descriptor write function
media: vidtv: simplify the crc writing logic
media: vidtv: simplify PSI write function
media: vidtv: add date to the current event
media: vidtv: fix service_id at SDT table
media: vidtv: fix service type
media: vidtv: add a PID entry for the NIT table
media: vidtv: properly fill EIT service_id
media: vidtv: fix the network ID range
media: vidtv: improve EIT data
media: vidtv: cleanup null packet initialization logic
media: vidtv: pre-initialize mux arrays
media: vidtv: remove some unused functions
media: vidtv: do some cleanups at the driver
drm/nouveau: fix relocations applying logic and a double-free
media: vidtv: avoid copying data for PES structs
media: vidtv: avoid data copy when initializing the multiplexer
media: vidtv: fix some notes at the tone generator
media: vidtv: fix the tone generator logic
media: vidtv: fix the name of the program
media: vidtv: don't use recursive functions
media: vidtv: add error checks
media: vidtv: reorganize includes
media: vidtv: psi: fix missing assignments in while loops
media: vidtv: Move s302m specific fields into encoder context
media: vidtv: psi: extract descriptor chaining code into a helper
media: vidtv: psi: Implement an Event Information Table (EIT)
media: vidtv: psi: add a Network Information Table (NIT)
media: vidtv: extract the initial CRC value to into a #define
ch_ktls: lock is not freed
net/tls: Protect from calling tls_dev_del for TLS RX twice
devlink: Make sure devlink instance and port are in same net namespace
devlink: Hold rtnl lock while reading netdev attributes
ptp: clockmatrix: bug fix for idtcm_strverscmp
IB/hfi1: Ensure correct mm is used at all times
netfilter: nf_tables: avoid false-postive lockdep splat
netfilter: ipset: prevent uninit-value in hash_ip6_add
bpf: Add MAINTAINERS entry for BPF LSM
enetc: Let the hardware auto-advance the taprio base-time of 0
gro_cells: reduce number of synchronize_net() calls
net: stmmac: fix incorrect merge of patch upstream
ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init
x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb
RISC-V: fix barrier() use in <vdso/processor.h>
RISC-V: Add missing jump label initialization
riscv: Explicitly specify the build id style in vDSO Makefile again
gfs2: Don't freeze the file system during unmount
gfs2: check for empty rgrp tree in gfs2_ri_update
ANDROID: sync encrypt+casefold support with patches going upstream
efi: EFI_EARLYCON should depend on EFI
efivarfs: revert "fix memory leak in efivarfs_create()"
efi/efivars: Set generic ops before loading SSDT
RDMA/i40iw: Address an mmap handler exploit in i40iw
arm64: tegra: Fix Tegra234 VDK node names
arm64: tegra: Wrong AON HSP reg property size
arm64: tegra: Fix USB_VBUS_EN0 regulator on Jetson TX1
arm64: tegra: Correct the UART for Jetson Xavier NX
arm64: tegra: Disable the ACONNECT for Jetson TX2
spi: dw: Fix spi registration for controllers overriding CS
ASoC: wm_adsp: fix error return code in wm_adsp_load()
x86/tboot: Don't disable swiotlb when iommu is forced on
trace: fix potenial dangerous pointer
optee: add writeback to valid memory type
vhost-vdpa: fix page pinning leakage in error path (rework)
vringh: fix vringh_iov_push_*() documentation
vhost scsi: fix lun reset completion handling
drm/ast: Reload gamma LUT after changing primary plane's color format
drm/amdgpu: Fix size calculation when init onchip memory
Documentation: netdev-FAQ: suggest how to post co-dependent series
Input: i8042 - fix error return code in i8042_setup_aux()
Input: soc_button_array - add missing include
ibmvnic: enhance resetting status check during module exit
ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq
ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues
net: ena: fix packet's addresses for rx_offset feature
net: ena: set initial DMA width to avoid intel iommu issue
net: ena: handle bad request id in ena_netdev
mm: fix VM_BUG_ON(PageTail) and BUG_ON(PageWriteback)
nfc: s3fwrn5: use signed integer for parsing GPIO numbers
dpaa2-eth: Fix compile error due to missing devlink support
gfs2: set lockdep subclass for iopen glocks
gfs2: Fix deadlock dumping resource group glocks
MAINTAINERS: Update page pool entry
bpftool: Fix error return value in build_btf_type_table
tcp: Set ECT0 bit in tos/tclass for synack when BPF needs ECN
net, xsk: Avoid taking multiple skbuff references
devlink: Fix reload stats structure
aquantia: Remove the build_skb path
Kbuild: do not emit debug info for assembly with LLVM_IAS=1
kbuild: use -fmacro-prefix-map for .S sources
Makefile.extrawarn: move -Wcast-align to W=3
drm/amdgpu: update golden setting for sienna_cichlid
drm/amd/display: Avoid HDCP initialization in devices without output
drm/i915/gt: Free stale request on destroying the virtual engine
drm/i915/gt: Don't cancel the interrupt shadow too early
drm/i915/gt: Track signaled breadcrumbs outside of the breadcrumb spinlock
drm/amdgpu: fix a page fault
drm/amdgpu: fix SI UVD firmware validate resume fail
drm/amd/amdgpu: fix null pointer in runtime pm
drm/i915/gt: Defer enabling the breadcrumb interrupt to after submission
drm/i915/gvt: correct a false comment of flag F_UNALIGN
drm/i915/perf: workaround register corruption in OATAILPTR
ANDROID: vfs: d_canonical_path cleanup #if 0
intel_idle: Fix intel_idle() vs tracing
sched/idle: Fix arch_cpu_idle() vs tracing
io_uring: fix ITER_BVEC check
io_uring: fix shift-out-of-bounds when round up cq size
ARM: dts: sun7i: pcduino3-nano: enable RGMII RX/TX delay on PHY
spi: imx: fix the unbalanced spi runtime pm management
firmware: xilinx: Use hash-table for api feature check
firmware: xilinx: Fix SD DLL node reset issue
ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294
x86/resctrl: Add necessary kernfs_put() calls to prevent refcount leak
x86/resctrl: Remove superfluous kernfs_get() calls to prevent refcount leak
mmc: sdhci-of-arasan: Fix clock registration error for Keem Bay SOC
mmc: mediatek: Extend recheck_sdio_irq fix to more variants
ANDROID: sched: add missing data type for cpu variable
net/packet: fix packet receive on L3 devices without visible hard header
soc: fsl: dpio: Get the cpumask through cpumask_of(cpu)
ANDROID: sched: Add restrict vendor hooks for load balance
i40e: Fix removing driver while bare-metal VFs pass traffic
vsock/virtio: discard packets only when socket is really closed
ANDROID: db845c_gki.fragment: Remove USB_XHCI_HCD and XHCI_PCI_RENESAS configs
tcp: fix race condition when creating child sockets from syncookies
ANDROID: sched/fair: Have sync honor fits_capacity
ANDROID: usb: f_accessory: avoid requeuing write req if disconnected
FROMGIT: scsi: ufs: Put HBA into LPM during gating
ANDROID: add vendor hooks to override show_cpufinfo_max_freq
IB/mthca: fix return value of error branch in mthca_init_cq()
btrfs: fix lockdep splat when enabling and disabling qgroups
btrfs: do nofs allocations when adding and removing qgroup relations
btrfs: fix lockdep splat when reading qgroup config on mount
btrfs: tree-checker: add missing returns after data_ref alignment checks
btrfs: don't access possibly stale fs_info data for printing duplicate device
ASoC: qcom: Fix enabling BCLK and LRCLK in LPAIF invalid state
habanalabs/gaudi: fix missing code in ECC handling
ANDROID: arm64: gki_defconfig: Disable VHE
drm/vc4: kms: Don't disable the muxing of an active CRTC
drm/vc4: kms: Store the unassigned channel list in the state
ANDROID: GKI: enable CONFIG_SCSI_UFS_BSG=y
arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect()
arm64: pgtable: Fix pte_accessible()
ANDROID: GKI: Enable CONFIG_USB_TYPEC_UCSI
ANDROID: GKI: enable CONFIG_SCSI_UFS_DWC_TC_PLATFORM
ANDROID: GKI: enable a bunch of HID config options =y
iommu: Check return of __iommu_attach_device()
arm-smmu-qcom: Ensure the qcom_scm driver has finished probing
spi: spi-nxp-fspi: fix fspi panic by unexpected interrupts
mmc: mediatek: Fix system suspend/resume support for CQHCI
iommu/amd: Enforce 4k mapping for certain IOMMU data structures
xsk: Fix incorrect netdev reference count
ANDROID: GKI: Enable CONFIG_USB_XHCI_HCD
ACPI/IORT: Fix doc warnings in iort.c
arm64/fpsimd: add <asm/insn.h> to <asm/kprobes.h> to fix fpsimd build
s390: fix fpu restore in entry.S
powerpc/64s: Fix allnoconfig build since uaccess flush
cpufreq: scmi: Fix build for !CONFIG_COMMON_CLK
drm/exynos: depend on COMMON_CLK to fix compile tests
Linux 5.10-rc5
afs: Fix speculative status fetch going out of order wrt to modifications
mm: fix madvise WILLNEED performance problem
libfs: fix error cast of negative value in simple_attr_write()
mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault()
mm: memcg/slab: fix root memcg vmstats
mm: fix readahead_page_batch for retry entries
mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports
compiler-clang: remove version check for BPF Tracing
mm/madvise: fix memory leak from process_madvise
irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend
irqchip/exiu: Fix the index of fwspec for IRQ type
ibmvnic: skip tx timeout reset while in resetting
ibmvnic: notify peers when failover and migration happen
ibmvnic: fix call_netdevice_notifiers in do_reset
tun: honor IOCB_NOWAIT flag
net/af_iucv: set correct sk_protocol for child sockets
usbnet: ipheth: fix connectivity with iOS 14
cxgb4: Fix build failure when CONFIG_TLS=m
bonding: wait for sysfs kobject destruction before freeing struct slave
drm/mediatek: dsi: Modify horizontal front/back porch byte formula
s390/qeth: fix tear down of async TX buffers
s390/qeth: fix af_iucv notification race
s390/qeth: make af_iucv TX notification call more robust
s390/qeth: Remove pnso workaround
tcp: Set INET_ECN_xmit configuration in tcp_reinit_congestion_control
tcp: Allow full IP tos/IPv6 tclass to be reflected in L3 header
dpaa2-eth: select XGMAC_MDIO for MDIO bus support
ANDROID: gki_defconfig: Enable SERIAL_MSM_GENI_EARLY_CONSOLE
ANDROID: gki_defconfig: Remove QCOM_COMMAND_DB=y
cxgb4: fix the panic caused by non smac rewrite
selftests/seccomp: sh: Fix register names
selftests/seccomp: powerpc: Fix typo in macro variable name
block/keyslot-manager: prevent crash when num_slots=1
net/tls: missing received data after fast remote close
bnxt_en: Release PCI regions when DMA mask setup fails during probe.
rose: Fix Null pointer dereference in rose_send_frame()
MAINTAINERS: Change Solarflare maintainers
spi: Take the SPI IO-mutex in the spi_setup() method
ARM: dts: sun8i: v3s: fix GIC node memory range
USB: core: Change %pK for __user pointers to %px
MAINTAINERS: Update email address for Sean Christopherson
USB: core: Fix regression in Hercules audio card
usb: gadget: Fix memleak in gadgetfs_fill_super
usb: gadget: f_midi: Fix memleak in f_midi_alloc
USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb-audio card
xsk: Fix umem cleanup bug at socket destruct
MAINTAINERS: Update XDP and AF_XDP entries
interconnect: fix memory trashing in of_count_icc_providers()
ALSA: hda/realtek - Fixed Dell AIO wrong sound tone
interconnect: qcom: qcs404: Remove GPU and display RPM IDs
interconnect: qcom: msm8916: Remove rpm-ids from non-RPM nodes
video: hyperv_fb: Fix the cache type when mapping the VRAM
mtd: rawnand: socrates: Move the ECC initialization to ->attach_chip()
mtd: rawnand: sharpsl: Move the ECC initialization to ->attach_chip()
mtd: rawnand: r852: Move the ECC initialization to ->attach_chip()
USB: serial: option: add Fibocom NL668 variants
ANDROID: sched: rt: rearrange invocation of find_lowest_rq() vendor hook
bnxt_en: fix error return code in bnxt_init_board()
bnxt_en: fix error return code in bnxt_init_one()
ext4: fix bogus warning in ext4_update_dx_flag()
jbd2: fix kernel-doc markups
scsi: ufs: Fix race between shutdown and runtime resume flow
ANDROID: GKI: enable CONFIG_SUN4I_TIMER
xfs: revert "xfs: fix rmap key and record comparison functions"
ANDROID: mm/memblock: export memblock_end_of_DRAM
mtd: rawnand: plat_nand: Move the ECC initialization to ->attach_chip()
mtd: rawnand: pasemi: Move the ECC initialization to ->attach_chip()
mtd: rawnand: tmio: Move the ECC initialization to ->attach_chip()
mtd: rawnand: txx9ndfmc: Move the ECC initialization to ->attach_chip()
mtd: rawnand: orion: Move the ECC initialization to ->attach_chip()
mtd: rawnand: mpc5121: Move the ECC initialization to ->attach_chip()
mtd: rawnand: lpc32xx_slc: Move the ECC initialization to ->attach_chip()
mtd: rawnand: lpc32xx_mlc: Move the ECC initialization to ->attach_chip()
mtd: rawnand: fsmc: Move the ECC initialization to ->attach_chip()
mtd: rawnand: diskonchip: Move the ECC initialization to ->attach_chip()
mtd: rawnand: davinci: Move the ECC initialization to ->attach_chip()
mtd: rawnand: cs553x: Move the ECC initialization to ->attach_chip()
ext4: drop fast_commit from /proc/mounts
mtd: rawnand: au1550: Move the ECC initialization to ->attach_chip()
mtd: rawnand: ams-delta: Move the ECC initialization to ->attach_chip()
mtd: rawnand: xway: Move the ECC initialization to ->attach_chip()
mtd: rawnand: gpio: Move the ECC initialization to ->attach_chip()
drm/i915/gt: Fixup tgl mocs for PTE tracking
fail_function: Remove a redundant mutex unlock
selftest/bpf: Test bpf_probe_read_user_str() strips trailing bytes after NUL
lib/strncpy_from_user.c: Mask out bytes after NUL terminator.
ANDROID: Sched: Export sched_feat_keys symbol needed by vendor modules
drm/vram-helper: Fix use of top-down placement
net/smc: fix direct access to ib_gid_addr->ndev in smc_ib_determine_gid()
net/smc: fix matching of existing link groups
ipv6: Remove dependency of ipv6_frag_thdr_truncated on ipv6 module
ANDROID: sched: Export few scheduler symbols for vendor modules
ALSA: mixart: Fix mutex deadlock
xfs: don't allow NOWAIT DIO across extent boundaries
libbpf: Fix VERSIONED_SYM_COUNT number parsing
HID: logitech-dj: Fix Dinovo Mini when paired with a MX5x00 receiver
HID: logitech-dj: Fix an error in mse_bluetooth_descriptor
drm/vc4: hdmi: Disable Wifi Frequencies
dt-bindings: display: Add a property to deal with WiFi coexistence
thunderbolt: Fix use-after-free in remove_unplugged_switch()
Revert "iommu/vt-d: Take CONFIG_PCI_ATS into account"
docs: bootconfig: Update file format on initrd image
tools/bootconfig: Align the bootconfig applied initrd image size to 4
tools/bootconfig: Fix to check the write failure correctly
tools/bootconfig: Fix errno reference after printf()
drm/vc4: kms: Document the muxing corner cases
drm/vc4: kms: Split the HVS muxing check in a separate function
drm/vc4: kms: Rename NUM_CHANNELS
drm/vc4: kms: Remove useless define
drm/vc4: kms: Switch to drmm_add_action_or_reset
drm/vc4: hdmi: Block odd horizontal timings
drm/vc4: hdmi: Make sure our clock rate is within limits
ASoC: Intel: bytcr_rt5640: Fix HP Pavilion x2 Detachable quirks
powerpc/64s: rename pnv|pseries_setup_rfi_flush to _setup_security_mitigations
selftests/powerpc: refactor entry and rfi_flush tests
selftests/powerpc: entry flush test
powerpc: Only include kup-radix.h for 64-bit Book3S
powerpc/64s: flush L1D after user accesses
powerpc/64s: flush L1D on kernel entry
selftests/powerpc: rfi_flush: disable entry flush if present
ALSA: hda/ca0132: Fix compile warning without PCI
MAINTAINERS: Temporarily add myself to the IOMMU entry
iommu/vt-d: Fix compile error with CONFIG_PCI_ATS not set
ARM: dts: dra76x: m_can: fix order of clocks
bus: ti-sysc: suppress err msg for timers used as clockevent/source
drm/i915/gt: Remember to free the virtual breadcrumbs
drm/i915: Handle max_bpc==16
scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE
scsi: ufs: Fix unexpected values from ufshcd_read_desc_param()
net/mlx4_core: Fix init_hca fields offset
atm: nicstar: Unmap DMA on send error
page_frag: Recover from memory pressure
ANDROID: uid_sys_stats: report uid_cputime stats in microseconds
drm/amd/display: Always get CRTC updated constant values inside commit tail
net: dsa: mv88e6xxx: Wait for EEPROM done after HW reset
mlxsw: core: Use variable timeout for EMAD retries
mlxsw: Fix firmware flashing
net: Have netpoll bring-up DSA management interface
atl1e: fix error return code in atl1e_probe()
atl1c: fix error return code in atl1c_probe()
ah6: fix error return code in ah6_input()
net: usb: qmi_wwan: Set DTR quirk for MR400
regulator: ti-abb: Fix array out of bound read access on the first transition
ASOC: Intel: kbl_rt5663_rt5514_max98927: Do not try to disable disabled clock
xfs: return corresponding errcode if xfs_initialize_perag() fail
xfs: ensure inobt record walks always make forward progress
xfs: fix forkoff miscalculation related to XFS_LITINO(mp)
xfs: directory scrub should check the null bestfree entries too
xfs: strengthen rmap record flags checking
xfs: fix the minrecs logic when dealing with inode root child blocks
can: m_can: process interrupt only when not runtime suspended
gfs2: Fix regression in freeze_go_sync
can: flexcan: flexcan_chip_start(): fix erroneous flexcan_transceiver_enable() during bus-off recovery
io_uring: order refnode recycling
io_uring: get an active ref_node from files_data
iommu/vt-d: Avoid panic if iommu init fails in tboot system
dmaengine: fix error codes in channel_register()
MAINTAINERS: add uv.c also to KVM/s390
s390/uv: handle destroy page legacy interface
x86/dumpstack: Do not try to access user space code of other tasks
can: kvaser_usb: kvaser_usb_hydra: Fix KCAN bittiming limits
can: kvaser_pciefd: Fix KCAN bittiming limits
drm/sun4i: backend: Fix probe failure with multiple backends
ARC: stack unwinding: reorganize how initial register state setup
ARC: stack unwinding: don't assume non-current task is sleeping
ARC: mm: fix spelling mistakes
ARC: bitops: Remove unecessary operation and value
powerpc/64s/exception: KVM Fix for host DSI being taken in HPT guest MMU context
ipv4: use IS_ENABLED instead of ifdef
qed: fix ILT configuration of SRC block
inet_diag: Fix error path to cancel the meseage in inet_req_diag_fill()
tools/testing/scatterlist: Fix test to compile and run
bpf, sockmap: Avoid failures from skb_to_sgvec when skb has frag_list
bpf, sockmap: Handle memory acct if skb_verdict prog redirects to self
bpf, sockmap: Avoid returning unneeded EAGAIN when redirecting to self
bpf, sockmap: Use truesize with sk_rmem_schedule()
bpf, sockmap: Ensure SO_RCVBUF memory is observed on ingress redirect
bpf, sockmap: Fix partial copy_page_to_iter so progress can still be made
net/tls: Fix wrong record sn in async mode of device resync
interconnect: qcom: msm8974: Don't boost the NoC rate during boot
interconnect: qcom: msm8974: Prevent integer overflow in rate
io_uring: don't double complete failed reissue request
netdevsim: set .owner to THIS_MODULE
seccomp: Set PF_SUPERPRIV when checking capability
ptrace: Set PF_SUPERPRIV when checking capability
enetc: Workaround for MDIO register access issue
MAINTAINERS: Remove myself as LPC32xx maintainers
net/mlx5: fix error return code in mlx5e_tc_nic_init()
net/mlx5: E-Switch, Fail mlx5_esw_modify_vport_rate if qos disabled
net/mlx5: Disable QoS when min_rates on all VFs are zero
net/mlx5: Clear bw_share upon VF disable
net/mlx5: Add handling of port type in rule deletion
net/mlx5e: Fix check if netdev is bond slave
net/mlx5e: Fix IPsec packet drop by mlx5e_tc_update_skb
net/mlx5e: Set IPsec WAs only in IP's non checksum partial case.
net/mlx5e: Fix refcount leak on kTLS RX resync
tcp: only postpone PROBE_RTT if RTT is < current min_rtt estimate
net: ftgmac100: Fix crash when removing driver
KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace
net: b44: fix error return code in b44_init_one()
qed: fix error return code in qed_iwarp_ll2_start()
drm/sun4i: dw-hdmi: fix error return code in sun8i_dw_hdmi_bind()
spi: npcm-fiu: Don't leak SPI master in probe error path
spi: dw: Set transfer handler before unmasking the IRQs
dm writecache: fix the maximum number of arguments
dm writecache: advance the number of arguments when reporting max_age
dm integrity: don't use drivers that have CRYPTO_ALG_ALLOCATES_MEMORY
arm64: dts: qcom: clear the warnings caused by empty dma-ranges
arm64: dts: broadcom: clear the warnings caused by empty dma-ranges
xtensa: uaccess: Add missing __user to strncpy_from_user() prototype
ALSA: usb-audio: Add delay quirk for all Logitech USB devices
perf/x86: fix sysfs type mismatches
lockdep: Put graph lock/unlock under lock_recursion protection
sched/deadline: Fix priority inheritance with multiple scheduling classes
sched: Fix rq->nr_iowait ordering
sched: Fix data-race in wakeup
sched/fair: Fix overutilized update in enqueue_task_fair()
MIPS: Alchemy: Fix memleak in alchemy_clk_setup_cpu
mmc: sdhci-of-arasan: Issue DLL reset explicitly
mmc: sdhci-of-arasan: Use Mask writes for Tap delays
mmc: sdhci-of-arasan: Allow configuring zero tap values
mmc: sdhci-pci: Prefer SDR25 timing for High Speed mode for BYT-based Intel controllers
powerpc: Drop -me200 addition to build flags
x86/microcode/intel: Check patch signature before saving microcode for early loading
MIPS: kernel: Fix for_each_memblock conversion
KVM: SVM: fix error return code in svm_create_vcpu()
cpufreq: scmi: Fix OPP addition failure with a dummy clock provider
cpufreq: tegra186: Fix get frequency callback
scsi: target: iscsi: Fix cmd abort fabric stop race
scsi: libiscsi: Fix NOP race condition
bnxt_en: Avoid unnecessary NVM_GET_DEV_INFO cmd error log on VFs.
bnxt_en: Fix counter overflow logic.
bnxt_en: Free port stats during firmware reset.
bnxt_en: read EEPROM A2h address using page 0
net: ipa: lock when freeing transaction
net/tls: fix corrupted data in recvmsg
net: qualcomm: rmnet: Fix incorrect receive packet handling during cleanup
net: mvneta: fix possible memory leak in mvneta_swbm_add_rx_fragment
net: stmmac: Use rtnl_lock/unlock on netif_set_real_num_rx_queues() call
net: bridge: add missing counters to ndo_get_stats64 callback
net: ethernet: ti: cpsw: fix error return code in cpsw_probe()
net: stmmac: dwmac-intel-plat: fix error return code in intel_eth_plat_probe()
qlcnic: fix error return code in qlcnic_83xx_restart_hw()
cx82310_eth: fix error return code in cx82310_bind()
drm/i915/selftests: Fix wrong return value of perf_request_latency()
drm/i915/selftests: Fix wrong return value of perf_series_engines()
drm/i915: Avoid memory leak with more than 16 workarounds on a list
drm/i915/tgl: Fix Media power gate sequence.
MAINTAINERS: update cxgb4 and cxgb3 maintainer
drm/amdgpu: remove experimental flag from arcturus
net: lantiq: Wait for the GPHY firmware to be ready
selftests/bpf: Fix error return code in run_getsockopt_test()
mm: never attempt async page lock if we've transferred data already
ASoC: Intel: catpt: Correct clock selection for dai trigger
ASoC: Intel: catpt: Skip position update for unprepared streams
spi: cadence-quadspi: Fix error return code in cqspi_probe
ASoC: qcom: lpass-platform: Fix memory leak
ASoC: Intel: KMB: Fix S24_LE configuration
KVM: SVM: Fix offset computation bug in __sev_dbg_decrypt().
drm/amd/display: Add missing pflip irq for dcn2.0
ACPI, APEI, Fix error return value in apei_map_generic_address()
MAINTAINERS: Add Martin Schiller as a maintainer for the X.25 stack
ipv6/netfilter: Discard first fragment not including all headers
media: venus: pm_helpers: Fix kernel module reload
media: venus: venc: Fix setting of profile and level
net: fec: Fix reference count leak in fec series ops
PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter
dmaengine: pl330: _prep_dma_memcpy: Fix wrong burst size
dmaengine: ioatdma: remove unused function missed during dma_v2 removal
perf test: Avoid an msan warning in a copied stack.
dmaengine: idxd: fix mapping of portal size
perf inject: Fix file corruption due to event deletion
arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed
s390/dasd: fix null pointer dereference for ERP requests
ALSA: hda: Add Alderlake-S PCI ID and HDMI codec vid
ACPI: fan: Initialize performance state sysfs attribute
iommu/vt-d: Take CONFIG_PCI_ATS into account
KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing ESB page
cpuidle: tegra: Annotate tegra_pm_set_cpu_in_lp2() with RCU_NONIDLE
xtensa: disable preemption around cache alias management calls
xtensa: fix TLBTEMP area placement
pinctrl: baytrail: Avoid clearing debounce value when turning it off
pinctrl: merrifield: Set default bias in case no particular value given
pinctrl: jasperlake: Fix HOSTSW_OWN offset
pinctrl: jasperlake: Unhide SPI group of pins
KVM: arm64: Correctly align nVHE percpu data
usb: typec: qcom-pmic-typec: fix builtin build errors
ALSA: usb-audio: Use ALC1220-VB-DT mapping for ASUS ROG Strix TRX40 mobo
phy: mediatek: fix spelling mistake in Kconfig "veriosn" -> "version"
phy: qualcomm: Fix 28 nm Hi-Speed USB PHY OF dependency
phy: qualcomm: usb: Fix SuperSpeed PHY OF dependency
phy: intel: PHY_INTEL_KEEMBAY_EMMC should depend on ARCH_KEEMBAY
usb: cdns3: gadget: calculate TD_SIZE based on TD
usb: cdns3: gadget: initialize link_trb as NULL
smb3: Handle error case during offload read path
smb3: Avoid Mid pending list corruption
smb3: Call cifs reconnect from demultiplex thread
cifs: fix a memleak with modefromsid
fix return values of seq_read_iter()
Linux 5.10-rc4
powerpc/64s: Fix KVM system reset handling when CONFIG_PPC_PSERIES=y
vhost scsi: Add support for LUN resets.
vhost scsi: add lun parser helper
vhost scsi: fix cmd completion race
vhost scsi: alloc cmds per vq instead of session
vhost: add helper to check if a vq has been setup
vdpasim: fix "mac_pton" undefined error
can: m_can: m_can_stop(): set device to software init mode before closing
can: m_can: Fix freeing of can device from peripherials
can: m_can: m_can_class_free_dev(): introduce new function
can: m_can: m_can_handle_state_change(): fix state change
can: tcan4x5x: tcan4x5x_can_remove(): fix order of deregistration
can: tcan4x5x: tcan4x5x_can_probe(): add missing error checking for devm_regmap_init()
can: tcan4x5x: replace depends on REGMAP_SPI with depends on SPI
can: flexcan: fix failure handling of pm_runtime_get_sync()
can: flexcan: flexcan_setup_stop_mode(): add missing "req_bit" to stop mode property comment
can: peak_usb: fix potential integer overflow on shift of a int
can: mcba_usb: mcba_usb_start_xmit(): first fill skb, then pass to can_put_echo_skb()
can: ti_hecc: Fix memleak in ti_hecc_probe
can: dev: can_restart(): post buffer from the right context
can: af_can: prevent potential access of uninitialized member in canfd_rcv()
can: af_can: prevent potential access of uninitialized member in can_rcv()
kvm: mmu: fix is_tdp_mmu_check when the TDP MMU is not in use
batman-adv: set .owner to THIS_MODULE
devlink: Add missing genlmsg_cancel() in devlink_nl_sb_port_pool_fill()
net: stmmac: dwmac_lib: enlarge dma reset timeout
lan743x: prevent entire kernel HANG on open, for some platforms
lan743x: fix issue causing intermittent kernel log warnings
netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist()
sctp: change to hold/put transport for proto_unreach_timer
afs: Fix afs_write_end() when called with copied == 0 [ver #3]
vsock: forward all packets to the host when no H2G is registered
net: dsa: mv88e6xxx: Avoid VTU corruption on 6097
ocfs2: initialize ip_next_orphan
panic: don't dump stack twice on warn
hugetlbfs: fix anon huge page migration race
mm: memcontrol: fix missing wakeup polling thread
kernel/watchdog: fix watchdog_allowed_mask not used warning
reboot: fix overflow parsing reboot cpu number
Revert "kernel/reboot.c: convert simple_strtoul to kstrtoint"
compiler.h: fix barrier_data() on clang
mm/gup: use unpin_user_pages() in __gup_longterm_locked()
mm/slub: fix panic in slab_alloc_node()
mailmap: fix entry for Dmitry Baryshkov/Eremin-Solenikov
mm/vmscan: fix NR_ISOLATED_FILE corruption on 64-bit
mm/compaction: stop isolation if too many pages are isolated and we have pages to migrate
mm/compaction: count pages and stop correctly during page isolation
net: phy: smsc: add missed clk_disable_unprepare in smsc_phy_probe()
blk-cgroup: fix a hd_struct leak in blkcg_fill_root_iostats
iio: accel: kxcjk1013: Add support for KIOX010A ACPI DSM for setting tablet-mode
iio: accel: kxcjk1013: Replace is_smo8500_device with an acpi_type enum
io_uring: handle -EOPNOTSUPP on path resolution
bpf: Relax return code check for subprograms
nvme: fix memory leak freeing command effects
nvme: directly cache command effects log
nvme: free sq/cq dbbuf pointers when dbbuf set fails
drm/nouveau/kms/nv50-: Use atomic encoder callbacks everywhere
drm/nouveau/ttm: avoid using nouveau_drm.ttm.type_vram prior to nv50
drm/nouveau/kms: Fix NULL pointer dereference in nouveau_connector_detect_depth
ipv6: Fix error path to cancel the meseage
ip_tunnels: Set tunnel option flag when tunnel metadata is present
proc: don't allow async path resolution of /proc/self components
net: ethernet: ti: am65-cpts: update ret when ptp_clock is ERROR
net: marvell: prestera: fix error return code in prestera_pci_probe()
net: phy: mscc: remove non-MACSec compatible phy
net: Exempt multicast addresses from five-second neighbor lifetime
net: ethernet: ti: cpsw: fix cpts irq after suspend
block: mark flush request as IDLE when it is really finished
btrfs: tree-checker: add missing return after error in root_item
btrfs: qgroup: don't commit transaction when we already hold the handle
btrfs: fix missing delalloc new bit for new delalloc ranges
ANDROID: sched_clock: Add vendor hook to print epoch values
drm/tegra: output: Do not put OF node twice
ANDROID: enable LLVM_IAS=1 for clang's integrated assembler for x86_64
ANDROID: x86: entry: work around LLVM_IAS=1 bug in LSL
spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe
ALSA: firewire: Clean up a locking issue in copy_resp_to_buf()
IB/hfi1: Fix error return code in hfi1_init_dd()
ANDROID: ARM: Bump command line size
ANDROID: ARM: Use zImage instead of Image
docs: ABI: testing: iio: stm32: remove re-introduced unsupported ABI
tools, bpftool: Add missing close before bpftool net attach exit
dt-bindings: clock: imx5: fix example
dt-bindings: can: fsl,flexcan.yaml: fix compatible for i.MX35 and i.MX53
hwmon: (amd_energy) modify the visibility of the counters
usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode
MAINTAINERS: add usb raw gadget entry
usb: typec: ucsi: Report power supply changes
regulator: workaround self-referent regulators
regulator: avoid resolve_supply() infinite recursion
regulator: fix memory leak with repeated set_machine_constraints()
ASoC: rt1015: increase the time to detect BCLK
xhci: hisilicon: fix refercence leak in xhci_histb_probe
Revert "usb: musb: convert to devm_platform_ioremap_resource_byname"
ARM: dts: exynos: revert "add input clock to CMU in Exynos4412 Odroid"
KVM: SVM: Update cr3_lm_rsvd_bits for AMD SEV guests
KVM: x86: Introduce cr3_lm_rsvd_bits in kvm_vcpu_arch
KVM: x86: clflushopt should be treated as a no-op by emulation
iommu/vt-d: Cure VF irqdomain hickup
ALSA: ctl: fix error path at adding user-defined element set
ALSA: hda/realtek - HP Headset Mic can't detect after boot
ALSA: hda/realtek - Add supported mute Led for HP
arm64: cpu_errata: Apply Erratum 845719 to KRYO2XX Silver
arm64: proton-pack: Add KRYO2XX silver CPUs to spectre-v2 safe-list
arm64: kpti: Add KRYO2XX gold/silver CPU cores to kpti safelist
arm64: Add MIDR value for KRYO2XX gold/silver CPU cores
arm64/mm: Validate hotplug range before creating linear mapping
ANDROID: scsi: ufs: Allow prepare_command to return error code
FROMLIST: scsi: ufs: show lba and length for unmap commands
mac80211: free sta in sta_info_insert_finish() on errors
drm/amdgpu: enable DCN for navi10 headless SKU
drm/amdgpu: add ta firmware load for green-sardine
drm/i915/gvt: return error when failing to take the module reference
net: x25: Increase refcnt of "struct x25_neigh" in x25_rx_call_request
net: ethernet: mtk-star-emac: fix error return code in mtk_star_enable()
bootconfig: Extend the magic check range to the preceding 3 bytes
selinux: Fix error return code in sel_ib_pkey_sid_slow()
net: ethernet: mtk-star-emac: return ok when xmit drops
net/ncsi: Fix netlink registration
drm/i915: Correctly set SFC capability for video engines
drm/i915/gem: Pull phys pread/pwrite implementations to the backend
drm/i915/gem: Allow backends to override pread implementation
x86/platform/uv: Fix copied UV5 output archtype
KVM: arm64: Handle SCXTNUM_ELx traps
KVM: arm64: Unify trap handlers injecting an UNDEF
KVM: arm64: Allow setting of ID_AA64PFR0_EL1.CSV2 from userspace
drm: bridge: dw-hdmi: Avoid resetting force in the detect function
loop: Fix occasional uevent drop
block: add a return value to set_capacity_revalidate_and_notify
SUNRPC: Fix oops in the rpc_xdr_buf event class
perf test: Update branch sample pattern for cs-etm
perf test: Fix a typo in cs-etm testing
tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench mem memcpy'
perf lock: Don't free "lock_seq_stat" if read_count isn't zero
perf lock: Correct field name "flags"
MAINTAINERS/bpf: Update Andrii's entry.
spi: lpspi: Fix use-after-free on unbind
lan743x: fix use of uninitialized variable
net: udp: fix IP header access and skb lookup on Fast/frag0 UDP GRO
net: udp: fix UDP header access on Fast/frag0 UDP GRO
gfs2: Fix case in which ail writes are done to jdata holes
Revert "gfs2: Ignore journal log writes for jdata holes"
RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs
selftests/bpf: Fix unused attribute usage in subprogs_unused test
RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device()
FROMLIST: fuse: Fix colliding FUSE_PASSTHROUGH flag
RDMA/cm: Make the local_id_table xarray non-irq
devlink: Avoid overwriting port attributes of registered port
vrf: Fix fast path output packet handling with async Netfilter rules
NFS: Remove unnecessary inode lock in nfs_fsync_dir()
NFS: Remove unnecessary inode locking in nfs_llseek_dir()
NFS: Fix listxattr receive buffer size
NFSv4.2: fix failure to unregister shrinker
spi: bcm-qspi: Fix use-after-free on unbind
spi: bcm2835aux: Fix use-after-free on unbind
spi: bcm2835: Fix use-after-free on unbind
spi: Introduce device-managed SPI controller allocation
HID: Add Logitech Dinovo Edge battery quirk
HID: logitech-hidpp: Add HIDPP_CONSUMER_VENDOR_KEYS quirk for the Dinovo Edge
hwmon: (applesmc) Re-work SMC comms
hwmon: (pwm-fan) Fix RPM calculation
HID: logitech-dj: Handle quad/bluetooth keyboards with a builtin trackpad
gfs2: fix possible reference leak in gfs2_check_blk_type
thermal: ti-soc-thermal: Disable the CPU PM notifier for OMAP4430
s390/cpum_sf.c: fix file permission for cpum_sfb_size
s390: update defconfigs
mac80211: minstrel: fix tx status processing corner case
mac80211: minstrel: remove deferred sampling code
mac80211: fix memory leak on filtered powersave frames
serial: ar933x_uart: disable clk on error handling path in probe
tty: serial: imx: keep console clocks always on
speakup: Do not let the line discipline be used several times
tty: serial: imx: fix potential deadlock
rfkill: Fix use-after-free in rfkill_resume()
drm/i915/gvt: Set ENHANCED_FRAME_CAP bit
fscrypt: fix inline encryption not used on new files
Input: elan_i2c - fix firmware update on newer ICs
ANDROID: gic-v3: Add vendor hook to GIC v3
cosa: Add missing kfree in error path of cosa_write
Input: resistive-adc-touch - fix kconfig dependency on IIO_BUFFER
net: switch to the kernel.org patchwork instance
ANDROID: arm64: gki_defconfig: Disable RANDOMIZE_MODULE_REGION_FULL
ch_ktls: stop the txq if reaches threshold
ch_ktls: tcb update fails sometimes
ch_ktls/cxgb4: handle partial tag alone SKBs
ch_ktls: don't free skb before sending FIN
ch_ktls: packet handling prior to start marker
ch_ktls: Correction in middle record handling
ch_ktls: missing handling of header alone
ch_ktls: Correction in trimmed_len calculation
cxgb4/ch_ktls: creating skbs causes panic
ch_ktls: Update cheksum information
ch_ktls: Correction in finding correct length
cxgb4/ch_ktls: decrypted bit is not enough
dt-bindings: can: fsl,flexcan.yaml: fix fsl,stop-mode
of/address: Fix of_node memory leak in of_dma_is_coherent
net/x25: Fix null-ptr-deref in x25_connect
arm64: dts: fsl-ls1028a-kontron-sl28: specify in-band mode for ENETC
tipc: fix memory leak in tipc_topsrv_start()
Revert "ext4: fix superblock checksum calculation race"
ext4: handle dax mount option collision
ANDROID: ext4: fix encrypt+casefold support
io_uring: round-up cq size before comparing with rounded sq size
xfs: fix a missing unlock on error in xfs_fs_map_blocks
spi: fsi: Fix transfer returning without finalizing message
spi: fix client driver breakages when using GPIO descriptors
regulator: pfuze100: limit pfuze-support-disable-sw to pfuze{100,200}
x86/platform/uv: Drop last traces of uv_flush_tlb_others
Drivers: hv: vmbus: Allow cleanup of VMBUS_CONNECT_CPU if disconnected
bpf: Fix unsigned 'datasec_id' compared with zero in check_pseudo_btf_id
gpio: sifive: Fix SiFive gpio probe
KVM: s390: remove diag318 reset code
KVM: s390: pv: Mark mm as protected after the set secure parameters and improve cleanup
ALSA: hda/realtek: Add some Clove SSID in the ALC293(ALC1220)
ARM: dts: am437x-l4: fix compatible for cpsw switch dt node
scsi: ufshcd: Fix missing destroy_workqueue()
MAINTAINERS: remove Ursula Braun as s390 network maintainer
net/af_iucv: fix null pointer dereference on shutdown
lan743x: fix "BUG: invalid wait context" when setting rx mode
net: dsa: mv88e6xxx: Fix memleak in mv88e6xxx_region_atu_snapshot
net: Update window_clamp if SOCK_RCVBUF is set
rcu: Don't invoke try_invoke_on_locked_down_task() with irqs disabled
vfs: move __sb_{start,end}_write* to fs.h
vfs: separate __sb_start_write into blocking and non-blocking helpers
vfs: remove lockdep bogosity in __sb_start_write
xfs: fix brainos in the refcount scrubber's rmap fragment processor
xfs: fix rmap key and record comparison functions
xfs: set the unwritten bit in rmap lookup flags in xchk_bmap_get_rmapextents
xfs: fix flags argument to rmap lookup when converting shared file rmaps
net: phy: realtek: support paged operations on RTL8201CP
lan743x: correctly handle chips with internal PHY
netlabel: fix our progress tracking in netlbl_unlabel_staticlist()
drm/mcde: Fix unbalanced regulator
MAINTAINERS: Update repositories for Intel Ethernet Drivers
igc: Fix returning wrong statistics
i40e, xsk: uninitialized variable in i40e_clean_rx_irq_zc()
i40e: Fix MAC address setting for a VF via Host/VM
selftest: fix flower terse dump tests
ANDROID: scsi: ufs: revise and fix custom keyslot manager support
ANDROID: vendor_hooks: Add hook for jiffies updates
ANDROID: clk: Enable writable debugfs files
um: Call pgtable_pmd_page_dtor() in __pmd_free_tlb()
kunit: fix display of failed expectations for strings
kunit: tool: fix extra trailing \n in raw + parsed test output
kunit: tool: print out stderr from make (like build warnings)
KUnit: Docs: usage: wording fixes
KUnit: Docs: style: fix some Kconfig example issues
KUnit: Docs: fix a wording typo
kunit: Do not pollute source directory with generated files (test.log)
ANDROID: enable LLVM_IAS=1 for clang's integrated assembler for aarch64
FROMLIST: Kbuild: do not emit debug info for assembly with LLVM_IAS=1
kunit: Do not pollute source directory with generated files (.kunitconfig)
kunit: tool: fix pre-existing python type annotation errors
kunit: Fix kunit.py parse subcommand (use null build_dir)
ANDROID: printk: add vendor hook for console flush
ANDROID: Reduce log level for couple of prints in hotplug flow
kunit: tool: unmark test_data as binary blobs
drm/tegra: replace idr_init() by idr_init_base()
ANDROID: GKI: Enable CONFIG_RT_SOFTINT_OPTIMIZATION
ANDROID: trace: Add trace points for tasklet entry/exit
ANDROID: Revert "softirq: Let ksoftirqd do its job"
ANDROID: Revert "Mark HI and TASKLET softirq synchronous"
ANDROID: softirq: defer softirq processing to ksoftirqd if CPU is busy with RT
ANDROID: sched: avoid migrating when softint on tgt cpu should be short
ANDROID: sched: avoid placing RT threads on cores handling softirqs
Revert "ANDROID: Kbuild, LLVMLinux: allow overriding clang target triple"
iwlwifi: mvm: fix kernel panic in case of assert during CSA
iwlwifi: pcie: set LTR to avoid completion timeout
iwlwifi: mvm: write queue_sync_state only for sync
iwlwifi: mvm: properly cancel a session protection for P2P
iwlwifi: mvm: use the HOT_SPOT_CMD to cancel an AUX ROC
iwlwifi: sta: set max HE max A-MPDU according to HE capa
efi/x86: Free efi_pgd with free_pages()
ACPI: DPTF: Support Alder Lake
Documentation: ACPI: fix spelling mistakes
sched/debug: Fix memory corruption caused by multiple small reads of flags
sched/fair: Prefer prev cpu in asymmetric wakeup path
sched/fair: Ensure tasks spreading in LLC during LB
perf/x86/intel/uncore: Fix Add BW copypasta
lockdep: Avoid to modify chain keys in validate_chain()
drm/tegra: sor: Ensure regulators are disabled on teardown
cpufreq: intel_pstate: Take CPUFREQ_GOV_STRICT_TARGET into account
cpufreq: Add strict_target to struct cpufreq_policy
cpufreq: Introduce CPUFREQ_GOV_STRICT_TARGET
cpufreq: Introduce governor flags
regulator: core: don't disable regulator if is_enabled return error.
tools/power turbostat: update version number
powercap: restrict energy meter to root access
nbd: fix a block_device refcount leak in nbd_release
pinctrl: qcom: sm8250: Specify PDC map
pinctrl: qcom: Move clearing pending IRQ to .irq_request_resources callback
pinctrl: amd: use higher precision for 512 RtcClk
pinctrl: amd: fix incorrect way to disable debounce filter
arm64: smp: Tell RCU about CPUs that fail to come online
arm64: psci: Avoid printing in cpu_psci_cpu_die()
arm64: kexec_file: Fix sparse warning
arm64: errata: Fix handling of
|
||
|
283e327164 |
FROMLIST: PM / Domains: use device's next wakeup to determine domain idle state
Currently, a PM domain's idle state is determined based on whether the QoS requirements are met. This may not save power, if the idle state residency requirements are not met. CPU PM domains use the next timer wakeup for the CPUs in the domain to determine the sleep duration of the domain. This is compared with the idle state residencies to determine the optimal idle state. For other PM domains, determining the sleep length is not that straight forward. But if the device's next_event is available, we can use that to determine the sleep duration of the PM domain. Let's update the domain governor logic to check for idle state residency based on the next wakeup of devices as well as QoS constraints. Bug: 170654157 Link: https://lore.kernel.org/linux-pm/CAJZ5v0g+nK+jV+Gy+BKEALRtsXDK0HnDbz07Nv3KPK5L3V3OKg@mail.gmail.com/T/#meedddf8b7c5c6b3972b71922a6caae88fd499168 Signed-off-by: Lina Iyer <ilina@codeaurora.org> Change-Id: Ibbb5fb28720ab87fb551ce09e478e5f6822e9004 |
||
|
7a9d53c2ea |
FROMLIST: PM / domains: inform PM domain of a device's next wakeup
Some devices may have a predictable interrupt pattern while executing usecases. An example would be the VSYNC interrupt associated with display devices. A 60 Hz display could cause a interrupt every 16 ms. If the device were in a PM domain, the domain would need to be powered up for device to resume and handle the interrupt. Entering a domain idle state saves power, only if the residency of the idle state is met. Without knowing the idle duration of the domain, the governor would just choose the deepest idle state that matches the QoS requirements. The domain might be powered off just as the device is expecting to wake up. If devices could inform PM frameworks of their next event, the parent PM domain's idle duration can be determined. So let's add the dev_pm_genpd_set_next_wakeup() API for the device to inform PM domains of the impending wakeup. This information will be the domain governor to determine the best idle state given the wakeup. Bug: 170654157 Link: https://lore.kernel.org/linux-pm/CAJZ5v0g+nK+jV+Gy+BKEALRtsXDK0HnDbz07Nv3KPK5L3V3OKg@mail.gmail.com/T/#m55f3f4a218f6c91431066505841ba5339486b1ab Signed-off-by: Lina Iyer <ilina@codeaurora.org> Change-Id: I34371ef21fde9c045ecf739e9b53c3128656db8e |
||
|
e6c313525b |
FROMLIST: PM / Domains: add domain feature flag for next wakeup
PM domains may support entering multiple power down states when the component devices and sub-domains are suspended. Also, they may specify the residency value for an idle state, only after which the idle state may provide power benefits. If the domain does not specify the residency for any of its idle states, the governor's choice is much simplified. Let's make this optional with the use of a PM domain feature flag. Bug: 170654157 Link: https://lore.kernel.org/linux-pm/CAJZ5v0g+nK+jV+Gy+BKEALRtsXDK0HnDbz07Nv3KPK5L3V3OKg@mail.gmail.com/T/#meffa01877c7c78964b3ddf55bd88959969ed8ad2 Signed-off-by: Lina Iyer <ilina@codeaurora.org> Change-Id: Ie98bebf15f81428b53512f37935af2e885edec97 |
||
|
8522dd981c |
FROMGIT: PM: domains: Rename pm_genpd_syscore_poweroff|poweron()
To better describe what the pm_genpd_syscore_poweroff|poweron() functions actually do, let's rename them to dev_pm_genpd_suspend|resume() and update the rather few callers of them accordingly (a couple of clocksource drivers). Moreover, let's take the opportunity to add some documentation of these exported functions, as that is currently missing. Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit fc51989062138744b56e47190915ce68484e73f3 git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git) Bug: 175076037 Change-Id: I8b59f0ca12e63b39f2a39528eb566232c78172c9 Signed-off-by: Lina Iyer <ilina@codeaurora.org> |
||
|
c6a113b523 |
PM: domains: enable domain idle state accounting
To enable better debug of PM domains, keep a track of successful and failing attempts to enter each domain idle state. This statistics are exported in debugfs when reading the idle_states node associated with each PM domain. Signed-off-by: Lina Iyer <ilina@codeaurora.org> [ rjw: Subject and changelog edits ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
d4f8138354 |
PM: domains: Add support for PM domain on/off notifiers for genpd
A device may have specific HW constraints that must be obeyed to, before its corresponding PM domain (genpd) can be powered off - and vice verse at power on. These constraints can't be managed through the regular runtime PM based deployment for a device, because the access pattern for it, isn't always request based. In other words, using the runtime PM callbacks to deal with the constraints doesn't work for these cases. For these reasons, let's instead add a PM domain power on/off notification mechanism to genpd. To add/remove a notifier for a device, the device must already have been attached to the genpd, which also means that it needs to be a part of the PM domain topology. To add/remove a notifier, let's introduce two genpd specific functions: - dev_pm_genpd_add|remove_notifier() Note that, to further clarify when genpd power on/off notifiers may be used, one can compare with the existing CPU_CLUSTER_PM_ENTER|EXIT notifiers. In the long run, the genpd power on/off notifiers should be able to replace them, but that requires additional genpd based platform support for the current users. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Tested-by: Lina Iyer <ilina@codeaurora.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
49f618e1b6 |
PM: domains: Rename power state enums for genpd
To clarify the code a bit, let's rename GPD_STATE_ACTIVE into GENPD_STATE_ON and GPD_STATE_POWER_OFF to GENPD_STATE_OFF. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> [ rjw: Subject edit ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
afb0367a80 |
PM: domains: Restore comment indentation for generic_pm_domain.child_links
The rename of generic_pm_domain.slave_links to
generic_pm_domain.child_links accidentally dropped the TAB to align the
member's comment. Re-add the lost TAB to restore indentation.
Fixes:
|
||
|
8d87ae48ce |
PM: domains: Fix up terminology with parent/child
The genpd infrastructure uses the terms master/slave, but such uses have no external exposures (not even in Documentation/driver-api/pm/*) and are not mandated by nor associated with any external specifications. Change the language used through-out to parent/child. There was one possible exception in the debugfs node "pm_genpd/pm_genpd_summary" but its path has no hits outside of the kernel itself when performing a code search[1], and it seems even this single usage has been non-functional since it was introduced due to a typo in the Python ("apend" instead of correct "append"). Fix the typo while we're at it. Link: https://codesearch.debian.net/ # [1] Signed-off-by: Kees Cook <keescook@chromium.org> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
dedd14925e |
PM / Domains: Introduce a genpd OF helper that removes a subdomain
We already have the of_genpd_add_subdomain() helper, but no corresponding of_genpd_remove_subdomain(), so let's add it. Subsequent changes starts to make use of it. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Rafael J. Wysocki <rafael@kernel.org> |
||
|
ca765a8cfe |
PM / Domains: Introduce dev_pm_domain_start()
For a subsystem/driver that either doesn't support runtime PM or makes use of pm_runtime_set_active() during ->probe(), may try to access its device when probing, even if it may not be fully powered on from the PM domain's point of view. This may be the case when the used PM domain is a genpd provider, that implements genpd's ->start|stop() device callbacks. There are cases where the subsystem/driver managed to avoid the above problem, simply by calling pm_runtime_enable() and pm_runtime_get_sync() during ->probe(). However, this approach comes with a drawback, especially if the subsystem/driver implements a ->runtime_resume() callback. More precisely, the subsystem/driver then needs to use a device flag, which is checked in its ->runtime_resume() callback, as to avoid powering on its resources the first time the callback is invoked. This is needed because the subsystem/driver has already powered on the resources for the device, during ->probe() and before it called pm_runtime_get_sync(). In a way to avoid this boilerplate code and the inefficient check for "if (first_time_suspend)" in the ->runtime_resume() callback for these subsystems/drivers, let's introduce and export a dev_pm_domain_start() function, that may be called during ->probe() instead. Moreover, let the dev_pm_domain_start() invoke an optional ->start() callback, added to the struct dev_pm_domain, as to allow a PM domain specific implementation. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
0d1e16c640 |
PM / Domains: Align in-parameter names for some genpd functions
Align in-parameter names for the declarations of pm_genpd_add| remove_subdomain() and of_genpd_add_subdomain() according to their implementations, as to improve consistency. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
55716d2643 |
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 428
Based on 1 normalized pattern(s): this file is released under the gplv2 extracted by the scancode license scanner the SPDX license identifier GPL-2.0-only has been chosen to replace the boilerplate/reference in 68 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Armijn Hemel <armijn@tjaldur.nl> Reviewed-by: Allison Randal <allison@lohutok.net> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190531190114.292346262@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|
ed61e18a4b |
PM / Domains: Add GENPD_FLAG_RPM_ALWAYS_ON flag
This is for power domains which can only be powered off for suspend but not as part of runtime PM. Suggested-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
f9ccd7c3a1 |
PM / Domains: Allow to attach a CPU via genpd_dev_pm_attach_by_id|name()
Attaching a device via genpd_dev_pm_attach_by_id|name() makes genpd allocate a virtual device that it attaches instead. This leads to a problem in case when the base device belongs to a CPU. More precisely, it means genpd_get_cpu() compares against the virtual device, thus it fails to find a matching CPU device. Address this limitation by passing the base device to genpd_get_cpu() rather than the virtual device. Moreover, to deal with detach correctly from genpd_remove_device(), store the CPU number in struct generic_pm_domain_data, so as to be able to clear the corresponding bit in the cpumask for the genpd. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
e94999688e |
PM / Domains: Add genpd governor for CPUs
After some preceding changes, PM domains managed by genpd may contain CPU devices, so idle state residency values should be taken into account during the state selection process. [The residency value is the minimum amount of time to be spent by a CPU (or a group of CPUs) in an idle state in order to save more energy than could be saved by picking up a shallower idle state.] For this purpose, add a new genpd governor, pm_domain_cpu_gov, to be used for selecting idle states of PM domains with CPU devices attached either directly or through subdomains. The new governor computes the minimum expected idle duration for all online CPUs attached to a PM domain and its subdomains. Next, it finds the deepest idle state whose target residency is within the expected idle duration and selects it as the target idle state of the domain. It should be noted that the minimum expected idle duration computation is based on the closest timer event information stored in the per-CPU variables cpuidle_devices for all of the CPUs in the domain. That needs to be revisited in future, as obviously there are other reasons why a CPU may be woken up from idle. Co-developed-by: Lina Iyer <lina.iyer@linaro.org> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
eb594b7325 |
PM / Domains: Add support for CPU devices to genpd
To enable a CPU device to be attached to a PM domain managed by genpd, make a few changes to it for convenience. To be able to quickly find out what CPUs are attached to a genpd, which typically becomes useful from a genpd governor as subsequent changes are about to show, add a cpumask to struct generic_pm_domain to be updated when a CPU device gets attached to the genpd containing that cpumask. Also, propagate the cpumask changes upwards in the domain hierarchy to the master PM domains. This way, the cpumask for a genpd hierarchically reflects all CPUs attached to the topology below it. Finally, make this an opt-in feature, to avoid having to manage CPUs and the cpumask for a genpd that don't need it. To that end, add a new genpd configuration bit, GENPD_FLAG_CPU_DOMAIN. Co-developed-by: Lina Iyer <lina.iyer@linaro.org> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
49a27e2790 |
PM / Domains: Add generic data pointer to struct genpd_power_state
Add a data pointer to the genpd_power_state struct, to allow a genpd backend driver to store per-state specific data. To introduce the pointer, change the way genpd deals with freeing of the corresponding allocated data. More precisely, clarify the responsibility of whom that shall free the data, by adding a ->free_states() callback to the generic_pm_domain structure. The one allocating the data will be expected to set the callback, to allow genpd to invoke it from genpd_remove(). Co-developed-by: Lina Iyer <lina.iyer@linaro.org> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> [ rjw: Subject & changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
eeb35df052 |
PM / Domains: Mark "name" const in dev_pm_domain_attach_by_name()
As of the patch ("PM / Domains: Mark "name" const in
genpd_dev_pm_attach_by_name()") it's clear that the name in
dev_pm_domain_attach_by_name() can be const. Mark it as so. This
allows drivers to pass in a name that was declared "const" in a
driver.
Fixes:
|
||
|
7416f1f206 |
PM / Domains: Mark "name" const in genpd_dev_pm_attach_by_name()
The genpd_dev_pm_attach_by_name() simply takes the name and passes it
to of_property_match_string() where the argument is "const char *".
Adding a const here allows a later patch to add a const to
dev_pm_domain_attach_by_name() which allows drivers to pass in a name
that was declared "const" in a driver.
Fixes:
|
||
|
18edf49c45 |
PM / Domains: Propagate performance state updates
Currently a genpd only handles the performance state requirements from the devices under its control. This commit extends that to also handle the performance state requirement(s) put on the master genpd by its sub-domains. There is a separate value required for each master that the genpd has and so a new field is added to the struct gpd_link (link->performance_state), which represents the link between a genpd and its master. The struct gpd_link also got another field prev_performance_state, which is used by genpd core as a temporary variable during transitions. On a call to dev_pm_genpd_set_performance_state(), the genpd core first updates the performance state of the masters of the device's genpd and then updates the performance state of the genpd. The masters do the same and propagate performance state updates to their masters before updating their own. The performance state transition from genpd to its master is done with the help of dev_pm_opp_xlate_performance_state(), which looks at the OPP tables of both the domains to translate the state. Tested-by: Rajendra Nayak <rnayak@codeaurora.org> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> |
||
|
1067ae3e42 |
PM / Domains: Save OPP table pointer in genpd
dev_pm_genpd_set_performance_state() will be required to call dev_pm_opp_xlate_performance_state() going forward to translate from performance state of a sub-domain to performance state of its master. And dev_pm_opp_xlate_performance_state() needs pointers to the OPP tables of both genpd and its master. Lets fetch and save them while the OPP tables are added. Fetching the OPP tables should never fail as we just added the OPP tables and so add a WARN_ON() for such a bug instead of full error paths. Tested-by: Rajendra Nayak <rnayak@codeaurora.org> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> |
||
|
4c6a343e57 |
OPP: Rename and relocate of_genpd_opp_to_performance_state()
The OPP core already has the performance state values for each of the genpd's OPPs and there is no need to call the genpd callback again to get the performance state for the case where the end device doesn't have an OPP table and has the "required-opps" property directly in its node. This commit renames of_genpd_opp_to_performance_state() as of_get_required_opp_performance_state() and moves it to the OPP core, as it is all about OPP stuff now. Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> |
||
|
e38f89d310 |
PM / Domains: Add genpd_opp_to_performance_state()
The OPP core currently stores the performance state in the consumer device's OPP table, but that is going to change going forward and performance state will rather be set directly in the genpd's OPP table. For that we need to get the performance state for genpd's device structure (genpd->dev) instead of the consumer device's structure. Add a new helper to do that. Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> |
||
|
e5089c2c73 |
PM / Domains: Document flags for genpd
The current documented description of the GENPD_FLAG_* flags, are too simplified, so let's extend them. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
27dceb81f4 |
PM / Domains: Introduce dev_pm_domain_attach_by_name()
For the multiple PM domain case, let's introduce a new API called dev_pm_domain_attach_by_name(). This allows a consumer driver to associate its device with one of its PM domains, by using a name based lookup. Do note that, currently it's only genpd that supports multiple PM domains per device, but dev_pm_domain_attach_by_name() can easily by extended to cover other PM domain types, if/when needed. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Tested-by: Rajendra Nayak <rnayak@codeaurora.org> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
5d6be70add |
PM / Domains: Introduce option to attach a device by name to genpd
For the multiple PM domain case, let's introduce a new function called genpd_dev_pm_attach_by_name(). This allows a device to be associated with its PM domain through genpd, by using a name based lookup. Note that, genpd_dev_pm_attach_by_name() shall only be called by the driver core / PM core, similar to how the existing dev_pm_domain_attach_by_id() makes use of genpd_dev_pm_attach_by_id(). However, this is implemented by following changes on top. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Tested-by: Rajendra Nayak <rnayak@codeaurora.org> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
ad6384ba3a |
PM / Domains: Rename opp_node to np
The DT node passed here isn't necessarily an OPP node, as this routine can also be used for cases where the "required-opps" property is present directly in the device's node. Rename it. This also removes a stale comment. Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
5e03aa61a7 |
PM / Domains: Fix return value of of_genpd_opp_to_performance_state()
of_genpd_opp_to_performance_state() should return 0 for errors, but the dummy routine isn't doing that. Fix it. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
82e12d9e0b |
PM / Domains: Add dev_pm_domain_attach_by_id() to manage multi PM domains
The existing dev_pm_domain_attach() function, allows a single PM domain to be attached per device. To be able to support devices that are partitioned across multiple PM domains, let's introduce a new interface, dev_pm_domain_attach_by_id(). The dev_pm_domain_attach_by_id() returns a new allocated struct device with the corresponding attached PM domain. This enables for example a driver to operate on the new device from a power management point of view. The driver may then also benefit from using the received device, to set up so called device-links towards its original device. Depending on the situation, these links may then be dynamically changed. The new interface is typically called by drivers during their probe phase, in case they manages devices which uses multiple PM domains. If that is the case, the driver also becomes responsible of managing the detaching of the PM domains, which typically should be done at the remove phase. Detaching is done by calling the existing dev_pm_domain_detach() function and for each of the received devices from dev_pm_domain_attach_by_id(). Note, currently its only genpd that supports multiple PM domains per device, but dev_pm_domain_attach_by_id() can easily by extended to cover other PM domain types, if/when needed. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Jon Hunter <jonathanh@nvidia.com> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
3c095f32a9 |
PM / Domains: Add support for multi PM domains per device to genpd
To support devices being partitioned across multiple PM domains, let's begin with extending genpd to cope with these kind of configurations. Therefore, add a new exported function genpd_dev_pm_attach_by_id(), which is similar to the existing genpd_dev_pm_attach(), but with the difference that it allows its callers to provide an index to the PM domain that it wants to attach. Note that, genpd_dev_pm_attach_by_id() shall only be called by the driver core / PM core, similar to how the existing dev_pm_domain_attach() makes use of genpd_dev_pm_attach(). However, this is implemented by following changes on top. Because, only one PM domain can be attached per device, genpd needs to create a virtual device that it can attach/detach instead. More precisely, let the new function genpd_dev_pm_attach_by_id() register a virtual struct device via calling device_register(). Then let it attach this device to the corresponding PM domain, rather than the one that is provided by the caller. The actual attaching is done via re-using the existing genpd OF functions. At successful attachment, genpd_dev_pm_attach_by_id() returns the created virtual device, which allows the caller to operate on it to deal with power management. Following changes on top, provides more details in this regards. To deal with detaching of a PM domain for the multiple PM domains case, let's also extend the existing genpd_dev_pm_detach() function, to cover the cleanup of the created virtual device, via make it call device_unregister() on it. In this way, there is no need to introduce a new function to deal with detach for the multiple PM domain case, but instead the existing one is re-used. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Jon Hunter <jonathanh@nvidia.com> Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
924f448699 |
PM / Domains: Drop genpd as in-param for pm_genpd_remove_device()
There is no need to pass a genpd struct to pm_genpd_remove_device(), as we already have the information about the PM domain (genpd) through the device structure. Additionally, we don't allow to remove a PM domain from a device, other than the one it may have assigned to it, so really it does not make sense to have a separate in-param for it. For these reason, drop it and update the current only call to pm_genpd_remove_device() from amdgpu_acp. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
1a7a67072f |
PM / Domains: Drop __pm_genpd_add_device()
There are still a few non-DT existing users of genpd, however neither of them uses __pm_genpd_add_device(), hence let's drop it. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
781b9d6b84 |
PM / Domains: Drop extern declarations of functions in pm_domain.h
Using "extern" to declare a function in a public header file is somewhat pointless, but also doesn't hurt. However, to make all the function declarations in pm_domain.h to be consistent, let's drop the use of "extern". Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
8ad17c8eb1 |
Merge branch 'opp/genpd-pstate-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm
Pull Operating Performance Points (OPP) library changes for v4.18 from Viresh Kumar. * 'opp/genpd-pstate-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm: PM / OPP: Remove dev_pm_opp_{un}register_get_pstate_helper() PM / OPP: Get performance state using genpd helper PM / Domain: Implement of_genpd_opp_to_performance_state() PM / Domain: Add support to parse domain's OPP table PM / Domain: Add struct device to genpd PM / OPP: Implement dev_pm_opp_get_of_node() PM / OPP: Implement of_dev_pm_opp_find_required_opp() PM / OPP: Implement dev_pm_opp_of_add_table_indexed() PM / OPP: "opp-hz" is optional for power domains PM / OPP: dt-bindings: Make "opp-hz" optional for power domains PM / OPP: dt-bindings: Rename "required-opp" as "required-opps" soc/tegra: pmc: Don't allocate struct tegra_powergate on stack |
||
|
919b7308fc |
PM / Domains: Allow a better error handling of dev_pm_domain_attach()
The callers of dev_pm_domain_attach() currently checks the returned error code for -EPROBE_DEFER and needs to ignore other error codes. This is an unnecessary limitation, which also leads to a rather strange behaviour in the error path. Address this limitation, by changing the return codes from acpi_dev_pm_attach() and genpd_dev_pm_attach(). More precisely, let them return 0, when no PM domain is needed for the device and then return 1, in case the device was successfully attached to its PM domain. In this way, dev_pm_domain_attach(), gets a better understanding of what happens in the attach attempts and also allowing its caller to better act on real errors codes. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
6e41766a6a |
PM / Domain: Implement of_genpd_opp_to_performance_state()
This implements of_genpd_opp_to_performance_state() which can be used from the device drivers or the OPP core to find the performance state encoded in the "required-opps" property of a node. Normally this would be called only once for each OPP of the device for which the OPP table of the device is getting generated. Different platforms may encode the performance state differently using the OPP table (they may simply return value of opp-hz or opp-microvolt, or apply some algorithm on top of those values) and so a new callback ->opp_to_performance_state() is implemented to allow platform specific drivers to convert the power domain OPP to a performance state value. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> |
||
|
401ea1572d |
PM / Domain: Add struct device to genpd
The power-domain core would be using the OPP core going forward and the OPP core has the basic requirement of a device structure for its working. Add a struct device to the genpd structure. This doesn't register the device with device core as the "dev" pointer is mostly used by the OPP core as a cookie for now and registering the device is not mandatory. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> |
||
|
d0af45f1f6 |
PM / Domains: Remove gpd_dev_ops.active_wakeup() callback
There are no more users left of the gpd_dev_ops.active_wakeup() callback. All have been converted to GENPD_FLAG_ACTIVE_WAKEUP. Hence remove the callback. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Reviewed-by: Kevin Hilman <khilman@baylibre.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
95a20ef6f7 |
PM / Domains: Allow genpd users to specify default active wakeup behavior
It is quite common for PM Domains to require slave devices to be kept active during system suspend if they are to be used as wakeup sources. To enable this, currently each PM Domain or driver has to provide its own gpd_dev_ops.active_wakeup() callback. Introduce a new flag GENPD_FLAG_ACTIVE_WAKEUP to consolidate this. If specified, all slave devices configured as wakeup sources will be kept active during system suspend. PM Domains that need more fine-grained controls, based on the slave device, can still provide their own callbacks, as before. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Reviewed-by: Kevin Hilman <khilman@baylibre.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
42f6284ae6 |
PM / Domains: Add support to select performance-state of domains
Some platforms have the capability to configure the performance state of PM domains. This patch enhances the genpd core to support such platforms. The performance levels (within the genpd core) are identified by positive integer values, a lower value represents lower performance state. This patch adds a new genpd API, which is called by user drivers (like OPP framework): - int dev_pm_genpd_set_performance_state(struct device *dev, unsigned int state); This updates the performance state constraint of the device on its PM domain. On success, the genpd will have its performance state set to a value which is >= "state" passed to this routine. The genpd core calls the genpd->set_performance_state() callback, if implemented, else -ENODEV is returned to the caller. The PM domain drivers need to implement the following callback if they want to support performance states. - int (*set_performance_state)(struct generic_pm_domain *genpd, unsigned int state); This is called internally by the genpd core on several occasions. The genpd core passes the genpd pointer and the aggregate of the performance states of the devices supported by that genpd to this callback. This callback must update the performance state of the genpd (in a platform dependent way). The power domains can avoid supplying above callback, if they don't support setting performance-states. Currently we aren't propagating performance state changes of a subdomain to its masters as we don't have hardware that needs it right now. Over that, the performance states of subdomain and its masters may not have one-to-one mapping and would require additional information. We can get back to this once we have hardware that needs it. Tested-by: Rajendra Nayak <rnayak@codeaurora.org> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
afece3ab9a |
PM / Domains: Add time accounting to various genpd states
This patch adds support to calculate the time spent by the generic power domains in on and various idle states. Signed-off-by: Thara Gopinath <thara.gopinath@linaro.org> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
|
408455245a |
PM / Domains: Allow overriding the ->xlate() callback
Allow generic power domain providers to override the ->xlate() callback in case the default genpd_xlate_onecell() translation callback is not good enough. One potential use-case for this is to allow generic power domains to be specified by an ID rather than an index. Signed-off-by: Thierry Reding <treding@nvidia.com> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Thierry Reding <treding@nvidia.com> |