Linux 6.8.9
Greg Kroah-Hartman
maintainerI'm announcing the release of the 6.8.9 kernel.
All users of the 6.8 kernel series must upgrade.
The updated 6.8.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.8.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Documentation/admin-guide/sysctl/net.rst | 5 Documentation/devicetree/bindings/eeprom/at24.yaml | 5 Makefile | 2 arch/Kconfig | 8 arch/arc/boot/dts/hsdk.dts | 1 arch/arm/boot/dts/microchip/at91-sama7g5ek.dts | 8 arch/arm/boot/dts/nxp/imx/imx6ull-tarragon-common.dtsi | 1 arch/arm64/boot/dts/mediatek/mt2712-evb.dts | 8 arch/arm64/boot/dts/mediatek/mt2712e.dtsi | 3 arch/arm64/boot/dts/mediatek/mt7622.dtsi | 34 - arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dts | 6 arch/arm64/boot/dts/mediatek/mt7986a.dtsi | 173 +++--- arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 1 arch/arm64/boot/dts/mediatek/mt8183.dtsi | 1 arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi | 6 arch/arm64/boot/dts/mediatek/mt8192.dtsi | 1 arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi | 36 + arch/arm64/boot/dts/mediatek/mt8195.dtsi | 5 arch/arm64/boot/dts/qcom/sc7280.dtsi | 4 arch/arm64/boot/dts/qcom/sc8180x.dtsi | 2 arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 11 arch/arm64/boot/dts/qcom/sm6350.dtsi | 4 arch/arm64/boot/dts/qcom/sm6375.dtsi | 2 arch/arm64/boot/dts/qcom/sm8250.dtsi | 6 arch/arm64/boot/dts/qcom/sm8450.dtsi | 16 arch/arm64/boot/dts/qcom/x1e80100.dtsi | 4 arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts | 1 arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi | 31 - arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts | 6 arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi | 4 arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts | 3 arch/loongarch/include/asm/perf_event.h | 8 arch/loongarch/mm/fault.c | 4 arch/riscv/include/asm/page.h | 2 arch/riscv/include/asm/pgtable.h | 2 arch/riscv/include/uapi/asm/hwprobe.h | 2 arch/riscv/mm/init.c | 2 arch/x86/Kconfig | 11 arch/x86/include/asm/coco.h | 1 arch/x86/include/asm/pgtable_types.h | 3 arch/x86/kernel/cpu/amd.c | 3 arch/x86/kernel/process_64.c | 2 arch/x86/kvm/pmu.c | 30 + arch/x86/kvm/vmx/pmu_intel.c | 16 block/bdev.c | 2 drivers/acpi/cppc_acpi.c | 72 ++ drivers/bluetooth/btmtk.c | 7 drivers/bluetooth/btusb.c | 11 drivers/bluetooth/hci_qca.c | 27 drivers/cxl/core/mbox.c | 38 - drivers/dma/idma64.c | 4 drivers/dma/idxd/cdev.c | 5 drivers/dma/idxd/debugfs.c | 4 drivers/dma/idxd/device.c | 8 drivers/dma/idxd/idxd.h | 2 drivers/dma/idxd/init.c | 2 drivers/dma/idxd/irq.c | 4 drivers/dma/idxd/perfmon.c | 9 drivers/dma/owl-dma.c | 4 drivers/dma/pl330.c | 3 drivers/dma/tegra186-gpc-dma.c | 3 drivers/dma/xilinx/xdma-regs.h | 3 drivers/dma/xilinx/xdma.c | 28 - drivers/dma/xilinx/xilinx_dpdma.c | 13 drivers/dpll/dpll_core.c | 61 +- drivers/firmware/qcom/qcom_qseecom_uefisecapp.c | 137 +++-- drivers/firmware/qcom/qcom_scm.c | 37 - drivers/gpio/gpio-tangier.c | 9 drivers/gpio/gpio-tegra186.c | 20 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 1 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c | 4 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 33 - drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 28 - drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 61 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 3 drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c | 3 drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c | 3 drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c | 26 drivers/gpu/drm/amd/amdkfd/kfd_process.c | 15 drivers/gpu/drm/amd/display/dc/dcn32/dcn32_dio_link_encoder.c | 85 ++- drivers/gpu/drm/amd/display/dc/dcn32/dcn32_dio_link_encoder.h | 5 drivers/gpu/drm/amd/display/dc/dcn35/dcn35_dio_link_encoder.c | 4 drivers/gpu/drm/amd/pm/amdgpu_pm.c | 7 drivers/gpu/drm/drm_gem_atomic_helper.c | 4 drivers/gpu/drm/gma500/Makefile | 1 drivers/gpu/drm/gma500/psb_device.c | 5 drivers/gpu/drm/gma500/psb_drv.h | 9 drivers/gpu/drm/gma500/psb_lid.c | 80 -- drivers/gpu/drm/xe/xe_gt.c | 4 drivers/gpu/drm/xe/xe_gt_ccs_mode.c | 19 drivers/gpu/drm/xe/xe_gt_ccs_mode.h | 2 drivers/gpu/drm/xe/xe_huc.c | 9 drivers/hid/hid-logitech-dj.c | 4 drivers/hid/i2c-hid/i2c-hid-core.c | 38 - drivers/hid/intel-ish-hid/ipc/ipc.c | 2 drivers/i2c/i2c-core-base.c | 12 drivers/irqchip/irq-gic-v3-its.c | 9 drivers/misc/eeprom/at24.c | 18 drivers/mmc/host/sdhci-msm.c | 16 drivers/mmc/host/sdhci-of-dwcmshc.c | 1 drivers/mtd/mtdcore.c | 2 drivers/mtd/nand/raw/diskonchip.c | 4 drivers/mtd/nand/raw/qcom_nandc.c | 7 drivers/net/dsa/mv88e6xxx/chip.c | 56 +- drivers/net/dsa/mv88e6xxx/port.h | 23 drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c | 21 drivers/net/ethernet/broadcom/b44.c | 14 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 82 +- drivers/net/ethernet/intel/i40e/i40e_main.c | 6 drivers/net/ethernet/intel/iavf/iavf_main.c | 30 + drivers/net/ethernet/intel/ice/ice_vf_lib.c | 16 drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c | 1 drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c | 1 drivers/net/ethernet/mellanox/mlxsw/core.c | 2 drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c | 16 drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c | 9 drivers/net/ethernet/mellanox/mlxsw/core_env.c | 20 drivers/net/ethernet/mellanox/mlxsw/pci.c | 10 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c | 11 drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c | 132 ++-- drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.h | 5 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 15 drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c | 8 drivers/net/ethernet/ti/am65-cpts.c | 5 drivers/net/ethernet/ti/icssg/icssg_prueth.c | 8 drivers/net/ethernet/wangxun/libwx/wx_lib.c | 2 drivers/net/gtp.c | 3 drivers/net/macsec.c | 46 + drivers/net/phy/dp83869.c | 3 drivers/net/phy/mediatek-ge-soc.c | 43 - drivers/net/usb/ax88179_178a.c | 11 drivers/net/vxlan/vxlan_core.c | 4 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c | 2 drivers/net/wireless/intel/iwlwifi/mvm/scan.c | 3 drivers/net/wireless/virtual/mac80211_hwsim.c | 2 drivers/nfc/trf7970a.c | 42 - drivers/phy/freescale/phy-fsl-imx8m-pcie.c | 6 drivers/phy/marvell/phy-mvebu-a3700-comphy.c | 9 drivers/phy/qualcomm/phy-qcom-m31.c | 2 drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 12 drivers/phy/qualcomm/phy-qcom-qmp.h | 2 drivers/phy/rockchip/phy-rockchip-naneng-combphy.c | 36 + drivers/phy/rockchip/phy-rockchip-snps-pcie3.c | 31 - drivers/phy/ti/phy-tusb1210.c | 23 drivers/soc/mediatek/mtk-svs.c | 7 drivers/soundwire/amd_manager.c | 15 drivers/soundwire/amd_manager.h | 3 drivers/usb/host/xhci-ring.c | 94 +-- drivers/video/fbdev/core/fb_defio.c | 2 fs/btrfs/backref.c | 12 fs/btrfs/extent_map.c | 2 fs/btrfs/inode.c | 13 fs/btrfs/scrub.c | 18 fs/btrfs/tests/extent-map-tests.c | 5 fs/netfs/buffered_write.c | 23 fs/proc/page.c | 7 fs/smb/client/cifsfs.c | 1 fs/smb/client/cifsglob.h | 2 fs/smb/client/cifspdu.h | 4 fs/smb/client/fs_context.c | 12 fs/smb/client/fs_context.h | 2 fs/smb/client/fscache.c | 13 fs/smb/client/misc.c | 3 fs/smb/client/smb2pdu.h | 2 fs/smb/client/transport.c | 7 include/drm/drm_gem.h | 13 include/linux/etherdevice.h | 25 include/linux/firmware/qcom/qcom_qseecom.h | 55 +- include/linux/firmware/qcom/qcom_scm.h | 10 include/linux/mm.h | 8 include/linux/page-flags.h | 144 ++--- include/net/af_unix.h | 3 include/net/bluetooth/hci.h | 8 include/net/bluetooth/hci_core.h | 38 + include/net/bluetooth/hci_sync.h | 20 include/net/bluetooth/l2cap.h | 2 include/net/macsec.h | 2 include/net/sock.h | 39 - include/net/tls.h | 3 include/trace/events/mmflags.h | 1 init/Kconfig | 2 kernel/bounds.c | 2 kernel/cpu.c | 4 kernel/crash_core.c | 5 kernel/sched/fair.c | 34 - lib/stackdepot.c | 4 mm/hugetlb.c | 29 - mm/zswap.c | 25 net/ax25/af_ax25.c | 2 net/bluetooth/6lowpan.c | 2 net/bluetooth/hci_conn.c | 168 +----- net/bluetooth/hci_event.c | 52 - net/bluetooth/hci_sync.c | 274 +++++++++- net/bluetooth/iso.c | 50 + net/bluetooth/l2cap_core.c | 12 net/bluetooth/l2cap_sock.c | 10 net/bluetooth/mgmt.c | 27 net/bluetooth/sco.c | 10 net/bridge/br_netlink.c | 2 net/core/sock.c | 1 net/core/sysctl_net_core.c | 9 net/ethernet/eth.c | 12 net/ipv4/icmp.c | 12 net/ipv4/route.c | 3 net/ipv4/tcp_ao.c | 3 net/ipv4/udp.c | 5 net/ipv6/udp.c | 5 net/mac80211/mesh.c | 8 net/mac80211/mesh.h | 36 + net/mac80211/mesh_pathtbl.c | 37 - net/mac80211/mlme.c | 9 net/mac80211/rx.c | 13 net/netfilter/ipvs/ip_vs_proto_sctp.c | 6 net/netfilter/nft_chain_filter.c | 4 net/openvswitch/conntrack.c | 4 net/tls/tls.h | 2 net/tls/tls_strp.c | 6 net/unix/garbage.c | 2 rust/Makefile | 1 rust/kernel/init.rs | 11 rust/kernel/lib.rs | 2 rust/kernel/net/phy.rs | 4 rust/macros/lib.rs | 12 scripts/Makefile.build | 2 tools/net/ynl/lib/ynl.py | 1 tools/testing/selftests/riscv/hwprobe/cbo.c | 2 tools/testing/selftests/riscv/hwprobe/hwprobe.h | 10 tools/testing/selftests/seccomp/seccomp_bpf.c | 41 + 229 files changed, 2385 insertions(+), 1506 deletions(-)
Adam Li (1):
net: make SK_MEMORY_PCPU_RESERV tunable
Akhil R (1):
dmaengine: tegra186: Fix residual calculation
Alex Deucher (4):
Revert "drm/amd/display: fix USB-C flag update after enc10 feature init"
drm: add drm_gem_object_is_shared_for_memory_stats() helper drm/amdgpu: add shared fdinfo stats
drm/amdgpu/sdma5.2: use legacy HDP flush for SDMA2/3
Alexey Brodkin (1):
ARC: [plat-hsdk]: Remove misplaced interrupt-cells property
Alice Ryhl (1):
rust: don't select CONSTRUCTORS
Amit Cohen (1):
mlxsw: Use refcount_t for reference counting
Andrei Simion (1):
ARM: dts: microchip: at91-sama7g5ek: Replace regulator-suspend-voltage with the valid property
Andrew Jones (1):
RISC-V: selftests: cbo: Ensure asm operands match constraints, take 2
Andrey Ryabinin (1):
stackdepot: respect __GFP_NOLOCKDEP allocation flag
Andy Shevchenko (2):
gpio: tangier: Use correct type for the IRQ chip data
idma64: Don't try to serve interrupts when device is powered off
Andy Yan (1):
arm64: dts: rockchip: Fix the i2c address of es8316 on Cool Pi CM5
AngeloGioacchino Del Regno (1):
soc: mediatek: mtk-svs: Append "-thermal" to thermal zone names
Arkadiusz Kubalewski (1):
dpll: fix dpll_pin_on_pin_register() for multiple parent pins
Arnd Bergmann (2):
mtd: diskonchip: work around ubsan link failure
dmaengine: owl: fix register access functions
Arınç ÜNAL (1):
arm64: dts: rockchip: set PHY address of MT7531 switch to 0x1f
Aswin Unnikrishnan (1):
rust: remove params from module macro example
Avraham Stern (1):
wifi: iwlwifi: mvm: remove old PASN station when adding a new one
Bartosz Golaszewski (1):
Bluetooth: qca: set power_ctrl_enabled on NULL returned by gpiod_get_optional()
Christian König (1):
drm/amdgpu: fix visible VRAM handling during faults
Christian Marangi (2):
mtd: rawnand: qcom: Fix broken OP_RESET_DEVICE command in qcom_misc_cmd_type_exec()
mtd: limit OTP NVMEM cell parse to non-NAND devices
Chun-Yi Lee (1):
Bluetooth: hci_sync: Using hci_cmd_sync_submit when removing Adv Monitor
Clément Léger (1):
riscv: hwprobe: fix invalid sign extension for RISCV_HWPROBE_EXT_ZVFHMIN
Colin Ian King (1):
wifi: mac80211: clean up assignments to pointer cache.
Conor Dooley (1):
rust: make mutually exclusive with CFI_CLANG
Dan Carpenter (1):
net: ti: icssg-prueth: Fix signedness bug in prueth_init_rx_chns()
Dan Williams (1):
cxl/core: Fix potential payload size confusion in cxl_mem_get_poison()
Daniel Golle (1):
net: phy: mediatek-ge-soc: follow netdev LED trigger semantics
Daniel Okazaki (1):
eeprom: at24: fix memory corruption race condition
David Bauer (1):
vxlan: drop packets from invalid src-address
David Howells (3):
cifs: Fix reacquisition of volume cookie on still-live connection
netfs: Fix writethrough-mode error handling
netfs: Fix the pre-flush when appending to a file in writethrough mode
David Kaplan (1):
x86/cpu: Fix check for RDPKRU in __show_regs()
Dragan Simic (1):
arm64: dts: rockchip: Remove unsupported node from the Pinebook Pro dts
Duanqiang Wen (1):
net: libwx: fix alloc msix vectors failed
Duoming Zhou (1):
ax25: Fix netdev refcount issue
Eric Dumazet (4):
icmp: prevent possible NULL dereferences from icmp_build_probe()
net: fix sk_memory_allocated_{add|sub} vs softirqs
ipv4: check for NULL idev in ip_route_use_hint()
net: usb: ax88179_178a: stop lying about skb->truesize
Erwan Velu (1):
i40e: Report MFS in decimal base instead of hex
Felix Fietkau (1):
wifi: mac80211: split mesh fast tx cache into local/proxied/forwarded
Felix Kuehling (2):
drm/amdkfd: Fix rescheduling of restore worker drm/amdkfd: Fix eviction fence handling
Fenghua Yu (1):
dmaengine: idxd: Fix oops during rmmod on single-CPU platforms
Gabor Juhos (1):
phy: qcom: m31: match requested regulator name with dt schema
George Shen (1):
drm/amd/display: Check DP Alt mode DPCS state via DMUB
Greg Kroah-Hartman (1):
Linux 6.8.9
Guanrui Huang (1):
irqchip/gic-v3-its: Prevent double free on error
Gustavo A. R. Silva (1):
smb: client: Fix struct_group() usage in __packed structs
Hangbin Liu (1):
bridge/br_netlink.c: no need to return void function
Hans de Goede (1):
phy: ti: tusb1210: Resolve charger-det crash if charger psy is unregistered
Himal Prasad Ghimiray (2):
drm/xe: Remove sysfs only once on action add failure drm/xe: call free_gsc_pkt only once on action add failure
Huacai Chen (1):
LoongArch: Fix callchain parse error with kernel tracepoint events
Hyunwoo Kim (3):
tcp: Fix Use-After-Free in tcp_ao_connect_init
net: gtp: Fix Use-After-Free in gtp_dellink
net: openvswitch: Fix Use-After-Free in ovs_ct_exit
Ido Schimmel (12):
mlxsw: core: Unregister EMAD trap using FORWARD action
mlxsw: core_env: Fix driver initialization with old firmware
mlxsw: pci: Fix driver initialization with old firmware
mlxsw: spectrum_acl_tcam: Fix race in region ID allocation
mlxsw: spectrum_acl_tcam: Fix race during rehash delayed work
mlxsw: spectrum_acl_tcam: Fix possible use-after-free during activity update
mlxsw: spectrum_acl_tcam: Fix possible use-after-free during rehash
mlxsw: spectrum_acl_tcam: Rate limit error message
mlxsw: spectrum_acl_tcam: Fix memory leak during rehash
mlxsw: spectrum_acl_tcam: Fix warning during rehash
mlxsw: spectrum_acl_tcam: Fix incorrect list API usage
mlxsw: spectrum_acl_tcam: Fix memory leak when canceling rehash work
Ikjoon Jang (1):
arm64: dts: mediatek: mt8183: Add power-domains properity to mfgcfg
Iskander Amara (2):
arm64: dts: rockchip: fix alphabetical ordering RK3399 puma
arm64: dts: rockchip: enable internal pull-up for Q7_THRM# on RK3399 Puma
Ismael Luceno (1):
ipvs: Fix checksumming on GSO of SCTP packets
Iulia Tanasescu (1):
Bluetooth: ISO: Reassemble PA data for bcast sink
Jacob Keller (1):
ice: fix LAG and VF lock dependency in ice_reset_vf()
Jakub Kicinski (2):
tools: ynl: don't ignore errors in NLMSG_DONE messages
eth: bnxt: fix counting packets discarded due to OOM and netpoll
Jarred White (2):
ACPI: CPPC: Use access_width over bit_width for system memory accesses
ACPI: CPPC: Fix bit_offset shift in MASK_VAL() macro
Jason Reeder (1):
net: ethernet: ti: am65-cpts: Fix PTPv1 message type on TX packets
Jiantao Shan (1):
LoongArch: Fix access error when read fault on a write-only VMA
Jiri Pirko (1):
dpll: check that pin is registered in __dpll_pin_unregister()
Johan Hovold (4):
Bluetooth: qca: fix NULL-deref on non-serdev suspend
Bluetooth: qca: fix NULL-deref on non-serdev setup
arm64: dts: qcom: sc8280xp: add missing PCIe minimum OPP
phy: qcom: qmp-combo: fix VCO div offset on v5_5nm and v6
Johannes Berg (3):
wifi: mac80211_hwsim: init peer measurement result
wifi: mac80211: remove link before AP
wifi: mac80211: fix unaligned le16 access
Johannes Thumshirn (1):
btrfs: fix information leak in btrfs_ioctl_logical_to_ino()
Johannes Weiner (1):
mm: zswap: fix shrinker NULL crash with cgroup_disable=memory
Jonas Dreßler (3):
Bluetooth: hci_event: Use HCI error defines instead of magic values
Bluetooth: hci_conn: Only do ACL connections sequentially
Bluetooth: Remove pending ACL connection attempts
Jose Ignacio Tornos Martinez (1):
arm64: dts: rockchip: regulator for sd needs to be always on for BPI-R2Pro
Justin Chen (1):
net: bcmasp: fix memory leak when bringing down interface
Kenny Levinsen (1):
HID: i2c-hid: Revert to await reset ACK before reading report descriptor
Kirill A. Shutemov (1):
x86/tdx: Preserve shared bit on mprotect()
Kuniyuki Iwashima (1):
af_unix: Suppress false-positive lockdep splat for spin_lock() in __unix_gc().
Laine Taffin Altman (1):
rust: init: remove impl Zeroable for Infallible
Lang Yu (1):
drm/amdgpu/umsch: don't execute umsch test when GPU is in reset/suspend
Lijo Lazar (1):
drm/amdgpu: Assign correct bits for SDMA HDP flush
Louis Chauvet (1):
dmaengine: xilinx: xdma: Fix synchronization issue
Luca Weiss (1):
arm64: dts: qcom: Fix type of "wdog" IRQs for remoteprocs
Lucas Stach (1):
drm/atomic-helper: fix parameter order in drm_format_conv_state_copy() call
Luiz Augusto von Dentz (10):
Bluetooth: hci_conn: Always use sk_timeo as conn_timeout
Bluetooth: hci_conn: Fix UAF Write in __hci_acl_create_connection_sync
Bluetooth: hci_sync: Add helper functions to manipulate cmd_sync queue
Bluetooth: hci_sync: Attempt to dequeue connection attempt
Bluetooth: hci_sync: Use advertised PHYs on hci_le_ext_create_conn_sync
Bluetooth: hci_event: Fix sending HCI_OP_READ_ENC_KEY_SIZE
Bluetooth: MGMT: Fix failing to MGMT_OP_ADD_UUID/MGMT_OP_REMOVE_UUID
Bluetooth: hci_sync: Fix UAF in hci_acl_create_conn_sync
Bluetooth: hci_sync: Fix UAF on create_le_conn_complete
Bluetooth: hci_sync: Fix UAF on hci_abort_conn_sync
MD Danish Anwar (1):
net: phy: dp83869: Fix MII mode failure
Ma Jun (1):
drm/amdgpu/pm: Remove gpu_od if it's an empty directory
Maksim Kiselev (1):
mmc: sdhci-of-dwcmshc: th1520: Increase tuning loop count to 128
Manivannan Sadhasivam (1):
arm64: dts: qcom: sm8450: Fix the msi-map entries
Mantas Pucka (1):
mmc: sdhci-msm: pervent access to suspended controller
Marcel Ziswiler (1):
phy: freescale: imx8m-pcie: fix pcie link-up instability
Mathias Nyman (1):
xhci: move event processing for one interrupter to a separate function
Matthew Wilcox (Oracle) (4):
mm: create FOLIO_FLAG_FALSE and FOLIO_TYPE_OPS macros
mm: support page_mapcount() on page_has_type() pages
mm: turn folio_test_hugetlb into a PageType
bounds: Use the right number of bits for power-of-two CONFIG_NR_CPUS
Matthias Schiffer (1):
net: dsa: mv88e6xx: fix supported_interfaces setup in mv88e6250_phylink_get_caps()
Maximilian Luz (2):
arm64: dts: qcom: sc8180x: Fix ss_phy_irq for secondary USB controller
firmware: qcom: uefisecapp: Fix memory related IO errors and crashes
Miaohe Lin (1):
mm/hugetlb: fix DEBUG_LOCKS_WARN_ON(1) when dissolve_free_hugetlb_folio()
Michael Chan (1):
bnxt_en: Fix error recovery for 5760X (P7) chips
Michael Heimpold (1):
ARM: dts: imx6ull-tarragon: fix USB over-current polarity
Michal Tomek (1):
phy: rockchip-snps-pcie3: fix bifurcation on rk3588
Miguel Ojeda (2):
kbuild: rust: remove unneeded @rustc_cfg to avoid ICE
kbuild: rust: force alloc extern to allow "empty" Rust files
Mikhail Kobuk (2):
phy: marvell: a3700-comphy: Fix out of bounds read
phy: marvell: a3700-comphy: Fix hardcoded array size
Miquel Raynal (1):
dmaengine: xilinx: xdma: Fix wrong offsets in the buffers addresses in dma descriptor
Miri Korenblit (1):
wifi: iwlwifi: mvm: return uid from iwl_mvm_build_scan_cmd
Muhammed Efe Cetin (1):
arm64: dts: rockchip: mark system power controller and fix typo on orangepi-5-plus
Mukul Joshi (1):
drm/amdgpu: Fix leak when GPU memory allocation fails
Nam Cao (2):
HID: i2c-hid: remove I2C_HID_READ_PENDING flag to prevent lock-up
fbdev: fix incorrect address computation in deferred IO
Naohiro Aota (1):
btrfs: scrub: run relocation repair when/only needed
Nathan Chancellor (1):
Bluetooth: Fix type of len in {l2cap,sco}_sock_getsockopt_old()
Nícolas F. R. A. Prado (5):
arm64: dts: mediatek: mt8192: Add missing gce-client-reg to mutex
arm64: dts: mediatek: mt8195: Add missing gce-client-reg to vpp/vdosys
arm64: dts: mediatek: mt8195: Add missing gce-client-reg to mutex
arm64: dts: mediatek: mt8195: Add missing gce-client-reg to mutex1
arm64: dts: mediatek: cherry: Describe CPU supplies
Oliver Neukum (1):
usb: xhci: correct return value in case of STS_HCE
Pablo Neira Ayuso (1):
netfilter: nf_tables: honor table dormant flag from netdev release event path
Patrik Jakobsson (1):
drm/gma500: Remove lid code
Paul Geurts (1):
NFC: trf7970a: disable all regulators on removal
Paulo Alcantara (1):
smb: client: fix rename(2) regression against samba
Peter Münster (1):
net: b44: set pause params only when interface is up
Peter Xu (1):
mm/hugetlb: fix missing hugetlb_lock for resv uncharge
Pin-yen Lin (3):
arm64: dts: mediatek: mt8192-asurada: Update min voltage constraint for MT6315
arm64: dts: mediatek: mt8195-cherry: Update min voltage constraint for MT6315
arm64: dts: mediatek: mt8183-kukui: Use default min voltage for MT6358
Prathamesh Shete (1):
gpio: tegra186: Fix tegra186_gpio_is_accessible() check
Qu Wenruo (1):
btrfs: fix wrong block_start calculation for btrfs_drop_extent_map_range()
Quentin Schulz (2):
arm64: dts: rockchip: enable internal pull-up on Q7_USB_ID for RK3399 Puma
arm64: dts: rockchip: enable internal pull-up on PCIE_WAKE# for RK3399 Puma
Rafał Miłecki (11):
arm64: dts: mediatek: mt7622: fix clock controllers
arm64: dts: mediatek: mt7622: fix IR nodename
arm64: dts: mediatek: mt7622: fix ethernet controller "compatible"
arm64: dts: mediatek: mt7622: drop "reset-names" from thermal block
arm64: dts: mediatek: mt7986: reorder properties
arm64: dts: mediatek: mt7986: drop invalid properties from ethsys
arm64: dts: mediatek: mt7986: drop "#reset-cells" from Ethernet controller
arm64: dts: mediatek: mt7986: reorder nodes
arm64: dts: mediatek: mt7986: drop invalid thermal block clock
arm64: dts: mediatek: mt7986: prefix BPI-R3 cooling maps with "map-"
arm64: dts: mediatek: mt2712: fix validation errors
Rahul Rameshbabu (4):
net/mlx5e: Advertise mlx5 ethernet driver updates sk_buff md_dst for MACsec
ethernet: Add helper for assigning packet type when dest address does not match device address
macsec: Enable devices to advertise whether they update sk_buff md_dst during offloads
macsec: Detect if Rx skb is macsec-related for offloading devices that update md_dst
Rajendra Nayak (1):
arm64: dts: qcom: x1e80100: Fix the compatible for cluster idle states
Rex Zhang (1):
dmaengine: idxd: Convert spinlock to mutex to lock evl workqueue
Rob Herring (1):
dt-bindings: eeprom: at24: Fix ST M24C64-D compatible schema
Sabrina Dubroca (1):
tls: fix lockless read of strp->msg_ready in ->poll
Samuel Holland (2):
riscv: Fix TASK_SIZE on 64-bit NOMMU
riscv: Fix loading 64-bit NOMMU kernels past the start of RAM
Sean Anderson (1):
dma: xilinx_dpdma: Fix locking
Sean Christopherson (3):
KVM: x86/pmu: Zero out PMU metadata on AMD if PMU is disabled
KVM: x86/pmu: Set enable bits for GP counters in PERF_GLOBAL_CTRL at "RESET"
cpu: Re-enable CPU mitigations by default for !X86 architectures
Sean Wang (1):
Bluetooth: btusb: mediatek: Fix double free of skb in coredump
Sebastian Reichel (2):
phy: rockchip-snps-pcie3: fix clearing PHP_GRF_PCIESEL_CON bits
phy: rockchip: naneng-combphy: Fix mux on rk3588
Sindhu Devale (1):
i40e: Do not use WQ_MEM_RECLAIM flag for workqueue
Stephen Boyd (2):
phy: qcom: qmp-combo: Fix register base for QSERDES_DP_PHY_MODE
phy: qcom: qmp-combo: Fix VCO div offset on v3
Steve French (2):
smb3: missing lock when picking channel
smb3: fix lock ordering potential deadlock in cifs_sync_mid_result
Su Hui (1):
octeontx2-af: fix the double free in rvu_npc_freemem()
Sudheer Mogilappagari (1):
iavf: Fix TC config comparison with existing adapter TC config
Sweet Tea Dorminy (1):
btrfs: fallback if compressed IO fails for ENOSPC
Takayuki Nagata (1):
cifs: reinstate original behavior again for forceuid/forcegid
Terry Tritton (3):
selftests/seccomp: user_notification_addfd check nextfd is available selftests/seccomp: Change the syscall used in KILL_THREAD test selftests/seccomp: Handle EINVAL on unshare(CLONE_NEWPID)
Tianchen Ding (2):
sched/eevdf: Always update V if se->on_rq when reweighting sched/eevdf: Fix miscalculation in reweight_entity() when se is not curr
Vanshidhar Konda (1):
ACPI: CPPC: Fix access width used for PCC registers
Vijendar Mukunda (1):
soundwire: amd: fix for wake interrupt handling for clockstop mode
Vikas Gupta (2):
bnxt_en: refactor reset close code
bnxt_en: Fix the PCI-AER routines
Vinod Koul (1):
dmaengine: Revert "dmaengine: pl330: issue_pending waits until WFP state"
WangYuli (1):
Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x0bda:0x4853
Wedson Almeida Filho (2):
rust: phy: implement Send for Registration
rust: kernel: require Send for Module implementations
Wenkuan Wang (1):
x86/CPU/AMD: Add models 0x10-0x1f to the Zen5 range
Wolfram Sang (1):
i2c: smbus: fix NULL function pointer dereference
Xuewen Yan (1):
sched/eevdf: Prevent vlag from going out of bounds in reweight_eevdf()
Yaraslau Furman (1):
HID: logitech-dj: allow mice to use all types of reports
Yick Xie (1):
udp: preserve the connected status if only UDP cmsg
Yu Kuai (1):
block: fix module reference leakage from bdev_open_by_dev error path
Zhang Lixu (1):
HID: intel-ish-hid: ipc: Fix dev_err usage with uninitialized dev->devc
Zijun Hu (1):
Bluetooth: btusb: Fix triggering coredump implementation for QCA
Greg Kroah-Hartman
maintainerDocumentation/admin-guide/sysctl/net.rst +5 -0
@@ -206,6 +206,11 @@ Will increase power usage. Default: 0 (off) +mem_pcpu_rsv +------------ + +Per-cpu reserved forward alloc cache size in page units. Default 1MB per CPU. + rmem_default ------------
Documentation/devicetree/bindings/eeprom/at24.yaml +1 -4
@@ -68,14 +68,10 @@ properties: pattern: cs16$ - items: pattern: c32$ - - items: - pattern: c32d-wl$ - items: pattern: cs32$ - items: pattern: c64$ - - items: - pattern: c64d-wl$ - items: pattern: cs64$ - items:
@@ -136,6 +132,7 @@ properties: - renesas,r1ex24128 - samsung,s524ad0xd1 - const: atmel,24c128 + - pattern: '^atmel,24c(32|64)d-wl$' # Actual vendor is st label: description: Descriptive name of the EEPROM.
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 6 PATCHLEVEL = 8 -SUBLEVEL = 8 +SUBLEVEL = 9 EXTRAVERSION = NAME = Hurr durr I'ma ninja sloth
arch/Kconfig +8 -0
@@ -9,6 +9,14 @@ # source "arch/$(SRCARCH)/Kconfig" +config ARCH_CONFIGURES_CPU_MITIGATIONS + bool + +if !ARCH_CONFIGURES_CPU_MITIGATIONS +config CPU_MITIGATIONS + def_bool y +endif + menu "General architecture-dependent options" config ARCH_HAS_SUBPAGE_FAULTS
arch/arc/boot/dts/hsdk.dts +0 -1
@@ -205,7 +205,6 @@ dmac_cfg_clk: dmac-gpu-cfg-clk { }; gmac: ethernet@8000 { - #interrupt-cells = <1>; compatible = "snps,dwmac"; reg = <0x8000 0x2000>; interrupts = <10>;
arch/arm/boot/dts/microchip/at91-sama7g5ek.dts +4 -4
@@ -293,7 +293,7 @@ vddcore: VDD_CORE { regulator-state-standby { regulator-on-in-suspend; - regulator-suspend-voltage = <1150000>; + regulator-suspend-microvolt = <1150000>; regulator-mode = <4>; };
@@ -314,7 +314,7 @@ vddcpu: VDD_OTHER { regulator-state-standby { regulator-on-in-suspend; - regulator-suspend-voltage = <1050000>; + regulator-suspend-microvolt = <1050000>; regulator-mode = <4>; };
@@ -331,7 +331,7 @@ vldo1: LDO1 { regulator-always-on; regulator-state-standby { - regulator-suspend-voltage = <1800000>; + regulator-suspend-microvolt = <1800000>; regulator-on-in-suspend; };
@@ -346,7 +346,7 @@ vldo2: LDO2 { regulator-max-microvolt = <3700000>; regulator-state-standby { - regulator-suspend-voltage = <1800000>; + regulator-suspend-microvolt = <1800000>; regulator-on-in-suspend; };
arch/arm/boot/dts/nxp/imx/imx6ull-tarragon-common.dtsi +1 -0
@@ -805,6 +805,7 @@ &usbotg1 { &pinctrl_usb_pwr>; dr_mode = "host"; power-active-high; + over-current-active-low; disable-over-current; status = "okay"; };
arch/arm64/boot/dts/mediatek/mt2712-evb.dts +4 -4
@@ -129,7 +129,7 @@ ethernet_phy0: ethernet-phy@5 { }; &pio { - eth_default: eth_default { + eth_default: eth-default-pins { tx_pins { pinmux = <MT2712_PIN_71_GBE_TXD3__FUNC_GBE_TXD3>, <MT2712_PIN_72_GBE_TXD2__FUNC_GBE_TXD2>,
@@ -156,7 +156,7 @@ mdio_pins { }; }; - eth_sleep: eth_sleep { + eth_sleep: eth-sleep-pins { tx_pins { pinmux = <MT2712_PIN_71_GBE_TXD3__FUNC_GPIO71>, <MT2712_PIN_72_GBE_TXD2__FUNC_GPIO72>,
@@ -182,14 +182,14 @@ mdio_pins { }; }; - usb0_id_pins_float: usb0_iddig { + usb0_id_pins_float: usb0-iddig-pins { pins_iddig { pinmux = <MT2712_PIN_12_IDDIG_P0__FUNC_IDDIG_A>; bias-pull-up; }; }; - usb1_id_pins_float: usb1_iddig { + usb1_id_pins_float: usb1-iddig-pins { pins_iddig { pinmux = <MT2712_PIN_14_IDDIG_P1__FUNC_IDDIG_B>; bias-pull-up;
arch/arm64/boot/dts/mediatek/mt2712e.dtsi +2 -1
@@ -249,10 +249,11 @@ topckgen: syscon@10000000 { #clock-cells = <1>; }; - infracfg: syscon@10001000 { + infracfg: clock-controller@10001000 { compatible = "mediatek,mt2712-infracfg", "syscon"; reg = <0 0x10001000 0 0x1000>; #clock-cells = <1>; + #reset-cells = <1>; }; pericfg: syscon@10003000 {
arch/arm64/boot/dts/mediatek/mt7622.dtsi +14 -20
@@ -252,7 +252,7 @@ scpsys: power-controller@10006000 { clock-names = "hif_sel"; }; - cir: cir@10009000 { + cir: ir-receiver@10009000 { compatible = "mediatek,mt7622-cir"; reg = <0 0x10009000 0 0x1000>; interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_LOW>;
@@ -283,16 +283,14 @@ thermal_calibration: calib@198 { }; }; - apmixedsys: apmixedsys@10209000 { - compatible = "mediatek,mt7622-apmixedsys", - "syscon"; + apmixedsys: clock-controller@10209000 { + compatible = "mediatek,mt7622-apmixedsys"; reg = <0 0x10209000 0 0x1000>; #clock-cells = <1>; }; - topckgen: topckgen@10210000 { - compatible = "mediatek,mt7622-topckgen", - "syscon"; + topckgen: clock-controller@10210000 { + compatible = "mediatek,mt7622-topckgen"; reg = <0 0x10210000 0 0x1000>; #clock-cells = <1>; };
@@ -515,7 +513,6 @@ thermal: thermal@1100b000 { <&pericfg CLK_PERI_AUXADC_PD>; clock-names = "therm", "auxadc"; resets = <&pericfg MT7622_PERI_THERM_SW_RST>; - reset-names = "therm"; mediatek,auxadc = <&auxadc>; mediatek,apmixedsys = <&apmixedsys>; nvmem-cells = <&thermal_calibration>;
@@ -734,9 +731,8 @@ wmac: wmac@18000000 { power-domains = <&scpsys MT7622_POWER_DOMAIN_WB>; }; - ssusbsys: ssusbsys@1a000000 { - compatible = "mediatek,mt7622-ssusbsys", - "syscon"; + ssusbsys: clock-controller@1a000000 { + compatible = "mediatek,mt7622-ssusbsys"; reg = <0 0x1a000000 0 0x1000>; #clock-cells = <1>; #reset-cells = <1>;
@@ -793,9 +789,8 @@ u2port1: usb-phy@1a0c5000 { }; }; - pciesys: pciesys@1a100800 { - compatible = "mediatek,mt7622-pciesys", - "syscon"; + pciesys: clock-controller@1a100800 { + compatible = "mediatek,mt7622-pciesys"; reg = <0 0x1a100800 0 0x1000>; #clock-cells = <1>; #reset-cells = <1>;
@@ -921,12 +916,13 @@ sata_port: sata-phy@1a243000 { }; }; - hifsys: syscon@1af00000 { - compatible = "mediatek,mt7622-hifsys", "syscon"; + hifsys: clock-controller@1af00000 { + compatible = "mediatek,mt7622-hifsys"; reg = <0 0x1af00000 0 0x70>; + #clock-cells = <1>; }; - ethsys: syscon@1b000000 { + ethsys: clock-controller@1b000000 { compatible = "mediatek,mt7622-ethsys", "syscon"; reg = <0 0x1b000000 0 0x1000>;
@@ -966,9 +962,7 @@ wed1: wed@1020b000 { }; eth: ethernet@1b100000 { - compatible = "mediatek,mt7622-eth", - "mediatek,mt2701-eth", - "syscon"; + compatible = "mediatek,mt7622-eth"; reg = <0 0x1b100000 0 0x20000>; interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_LOW>, <GIC_SPI 224 IRQ_TYPE_LEVEL_LOW>,
arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dts +3 -3
@@ -146,19 +146,19 @@ sfp2: sfp-2 { &cpu_thermal { cooling-maps { - cpu-active-high { + map-cpu-active-high { /* active: set fan to cooling level 2 */ cooling-device = <&fan 2 2>; trip = <&cpu_trip_active_high>; }; - cpu-active-med { + map-cpu-active-med { /* active: set fan to cooling level 1 */ cooling-device = <&fan 1 1>; trip = <&cpu_trip_active_med>; }; - cpu-active-low { + map-cpu-active-low { /* active: set fan to cooling level 0 */ cooling-device = <&fan 0 0>; trip = <&cpu_trip_active_low>;
arch/arm64/boot/dts/mediatek/mt7986a.dtsi +85 -88
336 lines not on this page · raw message
arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi +0 -1
@@ -433,7 +433,6 @@ &mt6358regulator { }; &mt6358_vgpu_reg { - regulator-min-microvolt = <625000>; regulator-max-microvolt = <900000>; regulator-coupled-with = <&mt6358_vsram_gpu_reg>;
arch/arm64/boot/dts/mediatek/mt8183.dtsi +1 -0
@@ -1628,6 +1628,7 @@ mfgcfg: syscon@13000000 { compatible = "mediatek,mt8183-mfgcfg", "syscon"; reg = <0 0x13000000 0 0x1000>; #clock-cells = <1>; + power-domains = <&spm MT8183_POWER_DOMAIN_MFG_ASYNC>; }; gpu: gpu@13040000 {
arch/arm64/boot/dts/mediatek/mt8192-asurada.dtsi +3 -3
@@ -1420,7 +1420,7 @@ regulators { mt6315_6_vbuck1: vbuck1 { regulator-compatible = "vbuck1"; regulator-name = "Vbcpu"; - regulator-min-microvolt = <300000>; + regulator-min-microvolt = <400000>; regulator-max-microvolt = <1193750>; regulator-enable-ramp-delay = <256>; regulator-allowed-modes = <0 1 2>;
@@ -1430,7 +1430,7 @@ mt6315_6_vbuck1: vbuck1 { mt6315_6_vbuck3: vbuck3 { regulator-compatible = "vbuck3"; regulator-name = "Vlcpu"; - regulator-min-microvolt = <300000>; + regulator-min-microvolt = <400000>; regulator-max-microvolt = <1193750>; regulator-enable-ramp-delay = <256>; regulator-allowed-modes = <0 1 2>;
@@ -1447,7 +1447,7 @@ regulators { mt6315_7_vbuck1: vbuck1 { regulator-compatible = "vbuck1"; regulator-name = "Vgpu"; - regulator-min-microvolt = <606250>; + regulator-min-microvolt = <400000>; regulator-max-microvolt = <800000>; regulator-enable-ramp-delay = <256>; regulator-allowed-modes = <0 1 2>;
arch/arm64/boot/dts/mediatek/mt8192.dtsi +1 -0
@@ -1456,6 +1456,7 @@ mutex: mutex@14001000 { reg = <0 0x14001000 0 0x1000>; interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH 0>; clocks = <&mmsys CLK_MM_DISP_MUTEX0>; + mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x1000 0x1000>; mediatek,gce-events = <CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_0>, <CMDQ_EVENT_DISP_STREAM_DONE_ENG_EVENT_1>; power-domains = <&spm MT8192_POWER_DOMAIN_DISP>;
arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi +34 -2
@@ -264,6 +264,38 @@ &auxadc { status = "okay"; }; +&cpu0 { + cpu-supply = <&mt6359_vcore_buck_reg>; +}; + +&cpu1 { + cpu-supply = <&mt6359_vcore_buck_reg>; +}; + +&cpu2 { + cpu-supply = <&mt6359_vcore_buck_reg>; +}; + +&cpu3 { + cpu-supply = <&mt6359_vcore_buck_reg>; +}; + +&cpu4 { + cpu-supply = <&mt6315_6_vbuck1>; +}; + +&cpu5 { + cpu-supply = <&mt6315_6_vbuck1>; +}; + +&cpu6 { + cpu-supply = <&mt6315_6_vbuck1>; +}; + +&cpu7 { + cpu-supply = <&mt6315_6_vbuck1>; +}; + &dp_intf0 { status = "okay";
@@ -1213,7 +1245,7 @@ regulators { mt6315_6_vbuck1: vbuck1 { regulator-compatible = "vbuck1"; regulator-name = "Vbcpu"; - regulator-min-microvolt = <300000>; + regulator-min-microvolt = <400000>; regulator-max-microvolt = <1193750>; regulator-enable-ramp-delay = <256>; regulator-ramp-delay = <6250>;
@@ -1231,7 +1263,7 @@ regulators { mt6315_7_vbuck1: vbuck1 { regulator-compatible = "vbuck1"; regulator-name = "Vgpu"; - regulator-min-microvolt = <625000>; + regulator-min-microvolt = <400000>; regulator-max-microvolt = <1193750>; regulator-enable-ramp-delay = <256>; regulator-ramp-delay = <6250>;
arch/arm64/boot/dts/mediatek/mt8195.dtsi +5 -0
@@ -1998,6 +1998,7 @@ vppsys0: syscon@14000000 { compatible = "mediatek,mt8195-vppsys0", "syscon"; reg = <0 0x14000000 0 0x1000>; #clock-cells = <1>; + mediatek,gce-client-reg = <&gce1 SUBSYS_1400XXXX 0 0x1000>; }; dma-controller@14001000 {
@@ -2221,6 +2222,7 @@ vppsys1: syscon@14f00000 { compatible = "mediatek,mt8195-vppsys1", "syscon"; reg = <0 0x14f00000 0 0x1000>; #clock-cells = <1>; + mediatek,gce-client-reg = <&gce1 SUBSYS_14f0XXXX 0 0x1000>; }; mutex@14f01000 {
@@ -3050,6 +3052,7 @@ vdosys0: syscon@1c01a000 { reg = <0 0x1c01a000 0 0x1000>; mboxes = <&gce0 0 CMDQ_THR_PRIO_4>; #clock-cells = <1>; + mediatek,gce-client-reg = <&gce0 SUBSYS_1c01XXXX 0xa000 0x1000>; };
@@ -3231,6 +3234,7 @@ mutex: mutex@1c016000 { interrupts = <GIC_SPI 658 IRQ_TYPE_LEVEL_HIGH 0>; power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>; clocks = <&vdosys0 CLK_VDO0_DISP_MUTEX0>; + mediatek,gce-client-reg = <&gce0 SUBSYS_1c01XXXX 0x6000 0x1000>; mediatek,gce-events = <CMDQ_EVENT_VDO0_DISP_STREAM_DONE_0>; };
@@ -3301,6 +3305,7 @@ mutex1: mutex@1c101000 { power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS1>; clocks = <&vdosys1 CLK_VDO1_DISP_MUTEX>; clock-names = "vdo1_mutex"; + mediatek,gce-client-reg = <&gce0 SUBSYS_1c10XXXX 0x1000 0x1000>; mediatek,gce-events = <CMDQ_EVENT_VDO1_STREAM_DONE_ENG_0>; };
arch/arm64/boot/dts/qcom/sc7280.dtsi +2 -2
@@ -3650,7 +3650,7 @@ remoteproc_adsp: remoteproc@3700000 { compatible = "qcom,sc7280-adsp-pas"; reg = <0 0x03700000 0 0x100>; - interrupts-extended = <&pdc 6 IRQ_TYPE_LEVEL_HIGH>, + interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>, <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
@@ -3887,7 +3887,7 @@ remoteproc_cdsp: remoteproc@a300000 { compatible = "qcom,sc7280-cdsp-pas"; reg = <0 0x0a300000 0 0x10000>; - interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_LEVEL_HIGH>, + interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_EDGE_RISING>, <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
arch/arm64/boot/dts/qcom/sc8180x.dtsi +1 -1
@@ -2641,7 +2641,7 @@ usb_sec: usb@a8f8800 { resets = <&gcc GCC_USB30_SEC_BCR>; power-domains = <&gcc USB30_SEC_GDSC>; interrupts-extended = <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>, - <&pdc 7 IRQ_TYPE_LEVEL_HIGH>, + <&pdc 40 IRQ_TYPE_LEVEL_HIGH>, <&pdc 10 IRQ_TYPE_EDGE_BOTH>, <&pdc 11 IRQ_TYPE_EDGE_BOTH>; interrupt-names = "hs_phy_irq", "ss_phy_irq",
arch/arm64/boot/dts/qcom/sc8280xp.dtsi +8 -3
@@ -1774,6 +1774,7 @@ pcie4: pcie@1c00000 { reset-names = "pci"; power-domains = <&gcc PCIE_4_GDSC>; + required-opps = <&rpmhpd_opp_nom>; phys = <&pcie4_phy>; phy-names = "pciephy";
@@ -1872,6 +1873,7 @@ pcie3b: pcie@1c08000 { reset-names = "pci"; power-domains = <&gcc PCIE_3B_GDSC>; + required-opps = <&rpmhpd_opp_nom>; phys = <&pcie3b_phy>; phy-names = "pciephy";
@@ -1970,6 +1972,7 @@ pcie3a: pcie@1c10000 { reset-names = "pci"; power-domains = <&gcc PCIE_3A_GDSC>; + required-opps = <&rpmhpd_opp_nom>; phys = <&pcie3a_phy>; phy-names = "pciephy";
@@ -2071,6 +2074,7 @@ pcie2b: pcie@1c18000 { reset-names = "pci"; power-domains = <&gcc PCIE_2B_GDSC>; + required-opps = <&rpmhpd_opp_nom>; phys = <&pcie2b_phy>; phy-names = "pciephy";
@@ -2169,6 +2173,7 @@ pcie2a: pcie@1c20000 { reset-names = "pci"; power-domains = <&gcc PCIE_2A_GDSC>; + required-opps = <&rpmhpd_opp_nom>; phys = <&pcie2a_phy>; phy-names = "pciephy";
@@ -2635,7 +2640,7 @@ remoteproc_adsp: remoteproc@3000000 { compatible = "qcom,sc8280xp-adsp-pas"; reg = <0 0x03000000 0 0x100>; - interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, + interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>, <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
@@ -4407,7 +4412,7 @@ remoteproc_nsp0: remoteproc@1b300000 { compatible = "qcom,sc8280xp-nsp0-pas"; reg = <0 0x1b300000 0 0x100>; - interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_LEVEL_HIGH>, + interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_EDGE_RISING>, <&smp2p_nsp0_in 0 IRQ_TYPE_EDGE_RISING>, <&smp2p_nsp0_in 1 IRQ_TYPE_EDGE_RISING>, <&smp2p_nsp0_in 2 IRQ_TYPE_EDGE_RISING>,
@@ -4538,7 +4543,7 @@ remoteproc_nsp1: remoteproc@21300000 { compatible = "qcom,sc8280xp-nsp1-pas"; reg = <0 0x21300000 0 0x100>; - interrupts-extended = <&intc GIC_SPI 887 IRQ_TYPE_LEVEL_HIGH>, + interrupts-extended = <&intc GIC_SPI 887 IRQ_TYPE_EDGE_RISING>, <&smp2p_nsp1_in 0 IRQ_TYPE_EDGE_RISING>, <&smp2p_nsp1_in 1 IRQ_TYPE_EDGE_RISING>, <&smp2p_nsp1_in 2 IRQ_TYPE_EDGE_RISING>,
arch/arm64/boot/dts/qcom/sm6350.dtsi +2 -2
@@ -1249,7 +1249,7 @@ adsp: remoteproc@3000000 { compatible = "qcom,sm6350-adsp-pas"; reg = <0 0x03000000 0 0x100>; - interrupts-extended = <&pdc 6 IRQ_TYPE_LEVEL_HIGH>, + interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>, <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
@@ -1509,7 +1509,7 @@ cdsp: remoteproc@8300000 { compatible = "qcom,sm6350-cdsp-pas"; reg = <0 0x08300000 0 0x10000>; - interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_LEVEL_HIGH>, + interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_EDGE_RISING>, <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>, <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>, <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
arch/arm64/boot/dts/qcom/sm6375.dtsi +1 -1
@@ -1559,7 +1559,7 @@ remoteproc_adsp: remoteproc@a400000 { compatible = "qcom,sm6375-adsp-pas"; reg = <0 0x0a400000 0 0x100>; - interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>, + interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_EDGE_RISING>, <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
arch/arm64/boot/dts/qcom/sm8250.dtsi +3 -3
@@ -3025,7 +3025,7 @@ slpi: remoteproc@5c00000 { compatible = "qcom,sm8250-slpi-pas"; reg = <0 0x05c00000 0 0x4000>; - interrupts-extended = <&pdc 9 IRQ_TYPE_LEVEL_HIGH>, + interrupts-extended = <&pdc 9 IRQ_TYPE_EDGE_RISING>, <&smp2p_slpi_in 0 IRQ_TYPE_EDGE_RISING>, <&smp2p_slpi_in 1 IRQ_TYPE_EDGE_RISING>, <&smp2p_slpi_in 2 IRQ_TYPE_EDGE_RISING>,
@@ -3729,7 +3729,7 @@ cdsp: remoteproc@8300000 { compatible = "qcom,sm8250-cdsp-pas"; reg = <0 0x08300000 0 0x10000>; - interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_LEVEL_HIGH>, + interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_EDGE_RISING>, <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>, <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>, <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
@@ -5887,7 +5887,7 @@ adsp: remoteproc@17300000 { compatible = "qcom,sm8250-adsp-pas"; reg = <0 0x17300000 0 0x100>; - interrupts-extended = <&pdc 6 IRQ_TYPE_LEVEL_HIGH>, + interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>, <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
arch/arm64/boot/dts/qcom/sm8450.dtsi +4 -12
@@ -1777,12 +1777,8 @@ pcie0: pcie@1c00000 { ranges = <0x01000000 0x0 0x00000000 0x0 0x60200000 0x0 0x100000>, <0x02000000 0x0 0x60300000 0x0 0x60300000 0x0 0x3d00000>; - /* - * MSIs for BDF (1:0.0) only works with Device ID 0x5980. - * Hence, the IDs are swapped. - */ - msi-map = <0x0 &gic_its 0x5981 0x1>, - <0x100 &gic_its 0x5980 0x1>; + msi-map = <0x0 &gic_its 0x5980 0x1>, + <0x100 &gic_its 0x5981 0x1>; msi-map-mask = <0xff00>; interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "msi";
@@ -1886,12 +1882,8 @@ pcie1: pcie@1c08000 { ranges = <0x01000000 0x0 0x00000000 0x0 0x40200000 0x0 0x100000>, <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1fd00000>; - /* - * MSIs for BDF (1:0.0) only works with Device ID 0x5a00. - * Hence, the IDs are swapped. - */ - msi-map = <0x0 &gic_its 0x5a01 0x1>, - <0x100 &gic_its 0x5a00 0x1>; + msi-map = <0x0 &gic_its 0x5a00 0x1>, + <0x100 &gic_its 0x5a01 0x1>; msi-map-mask = <0xff00>; interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "msi";
arch/arm64/boot/dts/qcom/x1e80100.dtsi +2 -2
@@ -278,7 +278,7 @@ CLUSTER_C4: cpu-sleep-0 { domain-idle-states { CLUSTER_CL4: cluster-sleep-0 { - compatible = "arm,idle-state"; + compatible = "domain-idle-state"; idle-state-name = "l2-ret"; arm,psci-suspend-param = <0x01000044>; entry-latency-us = <350>;
@@ -287,7 +287,7 @@ CLUSTER_CL4: cluster-sleep-0 { }; CLUSTER_CL5: cluster-sleep-1 { - compatible = "arm,idle-state"; + compatible = "domain-idle-state"; idle-state-name = "ret-pll-off"; arm,psci-suspend-param = <0x01000054>; entry-latency-us = <2200>;
arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts +0 -1
@@ -779,7 +779,6 @@ &pcie_phy { }; &pcie0 { - bus-scan-delay-ms = <1000>; ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; num-lanes = <4>; pinctrl-names = "default";
arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi +23 -8
@@ -416,16 +416,22 @@ &io_domains { gpio1830-supply = <&vcc_1v8>; }; -&pmu_io_domains { - status = "okay"; - pmu1830-supply = <&vcc_1v8>; -}; - -&pwm2 { - status = "okay"; +&pcie_clkreqn_cpm { + rockchip,pins = + <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>; }; &pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&q7_thermal_pin>; + + gpios { + q7_thermal_pin: q7-thermal-pin { + rockchip,pins = + <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + i2c8 { i2c8_xfer_a: i2c8-xfer { rockchip,pins =
@@ -458,11 +464,20 @@ vcc5v0_host_en: vcc5v0-host-en { usb3 { usb3_id: usb3-id { rockchip,pins = - <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; + <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>; }; }; }; +&pmu_io_domains { + status = "okay"; + pmu1830-supply = <&vcc_1v8>; +}; + +&pwm2 { + status = "okay"; +}; + &sdhci { /* * Signal integrity isn't great at 200MHz but 100MHz has proven stable
arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts +4 -2
@@ -416,6 +416,8 @@ regulator-state-mem { vccio_sd: LDO_REG5 { regulator-name = "vccio_sd"; + regulator-always-on; + regulator-boot-on; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>;
@@ -525,9 +527,9 @@ &mdio0 { #address-cells = <1>; #size-cells = <0>; - switch@0 { + switch@1f { compatible = "mediatek,mt7531"; - reg = <0>; + reg = <0x1f>; ports { #address-cells = <1>;
arch/arm64/boot/dts/rockchip/rk3588-coolpi-cm5.dtsi +2 -2
@@ -216,9 +216,9 @@ &i2c7 { pinctrl-0 = <&i2c7m0_xfer>; status = "okay"; - es8316: audio-codec@11 { + es8316: audio-codec@10 { compatible = "everest,es8316"; - reg = <0x11>; + reg = <0x10>; assigned-clocks = <&cru I2S0_8CH_MCLKOUT>; assigned-clock-rates = <12288000>; clocks = <&cru I2S0_8CH_MCLKOUT>;
arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts +2 -1
@@ -486,6 +486,7 @@ pmic@0 { pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>, <&rk806_dvs2_null>, <&rk806_dvs3_null>; spi-max-frequency = <1000000>; + system-power-controller; vcc1-supply = <&vcc5v0_sys>; vcc2-supply = <&vcc5v0_sys>;
@@ -507,7 +508,7 @@ pmic@0 { #gpio-cells = <2>; rk806_dvs1_null: dvs1-null-pins { - pins = "gpio_pwrctrl2"; + pins = "gpio_pwrctrl1"; function = "pin_fun0"; };
arch/loongarch/include/asm/perf_event.h +8 -0
@@ -7,6 +7,14 @@#ifndef __LOONGARCH_PERF_EVENT_H__#define __LOONGARCH_PERF_EVENT_H__ +#include <asm/ptrace.h> +#define perf_arch_bpf_user_pt_regs (regs) (struct user_pt_regs *)regs +#define perf_arch_fetch_caller_regs (regs, __ip) { \ + (regs)->csr_era = (__ip); \ + (regs)->regs[3] = current_stack_pointer; \ + (regs)->regs[22] = (unsigned long) __builtin_frame_address(0); \ +} +#endif /* __LOONGARCH_PERF_EVENT_H__ */
arch/loongarch/mm/fault.c +2 -2
@@ -202,10 +202,10 @@ static void __kprobes __do_page_fault(struct pt_regs *regs,if (!(vma->vm_flags &VM_WRITE )) goto bad_area; }else { -if (!(vma->vm_flags &VM_READ ) && address !=exception_era (regs)) - goto bad_area;if (!(vma->vm_flags &VM_EXEC ) && address ==exception_era (regs)) goto bad_area; +if (!(vma->vm_flags & (VM_READ |VM_WRITE )) && address !=exception_era (regs)) + goto bad_area; }/*
arch/riscv/include/asm/page.h +1 -1
@@ -89,7 +89,7 @@ typedef struct page *pgtable_t;#define PTE_FMT "%08lx"#endif -#ifdef CONFIG_64BIT +#if defined(CONFIG_64BIT ) && defined(CONFIG_MMU )/* * We override this value as its generic definition uses __pa too early in * the boot process (before kernel_map.va_pa_offset is set).
arch/riscv/include/asm/pgtable.h +1 -1
@@ -888,7 +888,7 @@ static inline pte_t pte_swp_clear_exclusive(pte_t pte)#define PAGE_SHARED __pgprot(0)#define PAGE_KERNEL __pgprot(0)#define swapper_pg_dir NULL -#define TASK_SIZE 0xffffffffUL +#define TASK_SIZE _AC(-1, UL)#define VMALLOC_START _AC(0, UL)#define VMALLOC_END TASK_SIZE
arch/riscv/include/uapi/asm/hwprobe.h +1 -1
@@ -54,7 +54,7 @@ struct riscv_hwprobe {#define RISCV_HWPROBE_EXT_ZFHMIN (1 << 28)#define RISCV_HWPROBE_EXT_ZIHINTNTL (1 << 29)#define RISCV_HWPROBE_EXT_ZVFH (1 << 30) -#define RISCV_HWPROBE_EXT_ZVFHMIN (1 << 31) +#define RISCV_HWPROBE_EXT_ZVFHMIN (1ULL << 31)#define RISCV_HWPROBE_EXT_ZFA (1ULL << 32)#define RISCV_HWPROBE_EXT_ZTSO (1ULL << 33)#define RISCV_HWPROBE_EXT_ZACAS (1ULL << 34)
arch/riscv/mm/init.c +1 -1
@@ -232,7 +232,7 @@ static void __init setup_bootmem(void)* In 64-bit, any use of __va/__pa before this point is wrong as we * did not know the start of DRAM before. */ -if (IS_ENABLED (CONFIG_64BIT )) +if (IS_ENABLED (CONFIG_64BIT ) &&IS_ENABLED (CONFIG_MMU )) kernel_map.va_pa_offset =PAGE_OFFSET - phys_ram_base;/*
arch/x86/Kconfig +6 -5
@@ -62,6 +62,7 @@ config X86 select ACPI_HOTPLUG_CPU if ACPI_PROCESSOR && HOTPLUG_CPU select ARCH_32BIT_OFF_T if X86_32 select ARCH_CLOCKSOURCE_INIT + select ARCH_CONFIGURES_CPU_MITIGATIONS select ARCH_CORRECT_STACKTRACE_ON_KRETPROBE select ARCH_ENABLE_HUGEPAGE_MIGRATION if X86_64 && HUGETLB_PAGE && MIGRATION select ARCH_ENABLE_MEMORY_HOTPLUG if X86_64
@@ -2467,17 +2468,17 @@ config PREFIX_SYMBOLS def_bool y depends on CALL_PADDING && !CFI_CLANG -menuconfig SPECULATION_MITIGATIONS - bool "Mitigations for speculative execution vulnerabilities" +menuconfig CPU_MITIGATIONS + bool "Mitigations for CPU vulnerabilities" default y help - Say Y here to enable options which enable mitigations for - speculative execution hardware vulnerabilities. + Say Y here to enable options which enable mitigations for hardware + vulnerabilities (usually related to speculative execution). If you say N, all mitigations will be disabled. You really should know what you are doing to say so. -if SPECULATION_MITIGATIONS +if CPU_MITIGATIONS config PAGE_TABLE_ISOLATION bool "Remove the kernel mapping in user mode"
arch/x86/include/asm/coco.h +1 -0
@@ -24,6 +24,7 @@ u64 cc_mkdec(u64 val);void cc_random_init (void );#else #define cc_vendor (CC_VENDOR_NONE) +static const u64 cc_mask =0 ;static inline u64 cc_mkenc (u64 val) {
arch/x86/include/asm/pgtable_types.h +2 -1
@@ -148,7 +148,7 @@#define _COMMON_PAGE_CHG_MASK (PTE_PFN_MASK | _PAGE_PCD | _PAGE_PWT | \ _PAGE_SPECIAL | _PAGE_ACCESSED | \ _PAGE_DIRTY_BITS | _PAGE_SOFT_DIRTY | \ - _PAGE_DEVMAP | _PAGE_ENC | _PAGE_UFFD_WP) + _PAGE_DEVMAP | _PAGE_CC | _PAGE_UFFD_WP)#define _PAGE_CHG_MASK (_COMMON_PAGE_CHG_MASK | _PAGE_PAT)#define _HPAGE_CHG_MASK (_COMMON_PAGE_CHG_MASK | _PAGE_PSE | _PAGE_PAT_LARGE)
@@ -173,6 +173,7 @@ enum page_cache_mode { };#endif +#define _PAGE_CC (_AT(pteval_t, cc_mask))#define _PAGE_ENC (_AT(pteval_t, sme_me_mask))#define _PAGE_CACHE_MASK (_PAGE_PWT | _PAGE_PCD | _PAGE_PAT)
arch/x86/kernel/cpu/amd.c +1 -2
@@ -572,8 +572,7 @@ static void bsp_init_amd(struct cpuinfo_x86 *c)case 0x1a :switch (c->x86_model) { - case 0x00 ... 0x0f: - case 0x20 ... 0x2f: + case 0x00 ... 0x2f: case 0x40 ... 0x4f: case 0x70 ... 0x7f:setup_force_cpu_cap (X86_FEATURE_ZEN5 );
arch/x86/kernel/process_64.c +1 -1
@@ -138,7 +138,7 @@ void __show_regs(struct pt_regs *regs, enum show_regs_mode mode, log_lvl, d3, d6, d7); } -if (cpu_feature_enabled (X86_FEATURE_OSPKE )) +if (cr4 &X86_CR4_PKE )printk ("%sPKRU: %08x\n" , log_lvl,read_pkru ()); }
arch/x86/kvm/pmu.c +29 -1
@@ -741,6 +741,8 @@ static void kvm_pmu_reset(struct kvm_vcpu *vcpu)*/ void kvm_pmu_refresh (struct kvm_vcpu *vcpu) { +struct kvm_pmu *pmu =vcpu_to_pmu (vcpu); +if (KVM_BUG_ON (kvm_vcpu_has_run (vcpu), vcpu->kvm))return ;
@@ -750,8 +752,34 @@ void kvm_pmu_refresh(struct kvm_vcpu *vcpu)*/ kvm_pmu_reset (vcpu); -bitmap_zero (vcpu_to_pmu (vcpu)->all_valid_pmc_idx,X86_PMC_IDX_MAX ); + pmu->version =0 ; + pmu->nr_arch_gp_counters =0 ; + pmu->nr_arch_fixed_counters =0 ; + pmu->counter_bitmask[KVM_PMC_GP ] =0 ; + pmu->counter_bitmask[KVM_PMC_FIXED ] =0 ; + pmu->reserved_bits =0xffffffff00200000ull ; + pmu->raw_event_mask =X86_RAW_EVENT_MASK ; + pmu->global_ctrl_mask = ~0ull ; + pmu->global_status_mask = ~0ull ; + pmu->fixed_ctr_ctrl_mask = ~0ull ; + pmu->pebs_enable_mask = ~0ull ; + pmu->pebs_data_cfg_mask = ~0ull ; +bitmap_zero (pmu->all_valid_pmc_idx,X86_PMC_IDX_MAX ); + +if (!vcpu->kvm->arch.enable_pmu) +return ; +static_call (kvm_x86_pmu_refresh)(vcpu); + +/* +* At RESET, both Intel and AMD CPUs set all enable bits for general +* purpose counters in IA32_PERF_GLOBAL_CTRL (so that software that +* was written for v1 PMUs don't unknowingly leave GP counters disabled +* in the global controls). Emulate that behavior when refreshing the +* PMU so that userspace doesn't need to manually set PERF_GLOBAL_CTRL. +*/ +if (kvm_pmu_has_perf_global_ctrl (pmu) && pmu->nr_arch_gp_counters) + pmu->global_ctrl =GENMASK_ULL (pmu->nr_arch_gp_counters -1 ,0 ); }void kvm_pmu_init (struct kvm_vcpu *vcpu)
arch/x86/kvm/vmx/pmu_intel.c +2 -14
@@ -491,19 +491,6 @@ static void intel_pmu_refresh(struct kvm_vcpu *vcpu)u64 counter_mask;int i; - pmu->nr_arch_gp_counters =0 ; - pmu->nr_arch_fixed_counters =0 ; - pmu->counter_bitmask[KVM_PMC_GP ] =0 ; - pmu->counter_bitmask[KVM_PMC_FIXED ] =0 ; - pmu->version =0 ; - pmu->reserved_bits =0xffffffff00200000ull ; - pmu->raw_event_mask =X86_RAW_EVENT_MASK ; - pmu->global_ctrl_mask = ~0ull ; - pmu->global_status_mask = ~0ull ; - pmu->fixed_ctr_ctrl_mask = ~0ull ; - pmu->pebs_enable_mask = ~0ull ; - pmu->pebs_data_cfg_mask = ~0ull ; -memset (&lbr_desc->records,0 ,sizeof (lbr_desc->records));/*
@@ -515,8 +502,9 @@ static void intel_pmu_refresh(struct kvm_vcpu *vcpu)return ; entry =kvm_find_cpuid_entry (vcpu,0xa ); -if (!entry || !vcpu->kvm->arch.enable_pmu) +if (!entry)return ; + eax.full = entry->eax; edx.full = entry->edx;
block/bdev.c +1 -1
@@ -873,7 +873,7 @@ struct bdev_handle *bdev_open_by_dev(dev_t dev, blk_mode_t mode, void *holder, goto abort_claiming; ret = -EBUSY ;if (!bdev_may_open (bdev, mode)) - goto abort_claiming; + goto put_module;if (bdev_is_partition (bdev)) ret =blkdev_get_part (bdev, mode);else
drivers/acpi/cppc_acpi.c +57 -15
165 lines not on this page · raw message
drivers/bluetooth/btmtk.c +3 -4
@@ -380,8 +380,10 @@ int btmtk_process_coredump(struct hci_dev *hdev, struct sk_buff *skb)switch (data->cd_info.state) {case HCI_DEVCOREDUMP_IDLE : err =hci_devcd_init (hdev,MTK_COREDUMP_SIZE ); -if (err <0 ) +if (err <0 ) { +kfree_skb (skb);break ; + } data->cd_info.cnt =0 ;/* It is supposed coredump can be done within 5 seconds */
@@ -407,9 +409,6 @@ int btmtk_process_coredump(struct hci_dev *hdev, struct sk_buff *skb)break ; } -if (err <0 ) -kfree_skb (skb); -return err; }EXPORT_SYMBOL_GPL (btmtk_process_coredump);
drivers/bluetooth/btusb.c +6 -5
@@ -542,6 +542,8 @@ static const struct usb_device_id quirks_table[] = {/* Realtek 8852BE Bluetooth devices */ { USB_DEVICE(0x0cb8, 0xc559), .driver_info = BTUSB_REALTEK | BTUSB_WIDEBAND_SPEECH }, + { USB_DEVICE(0x0bda, 0x4853), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, { USB_DEVICE(0x0bda, 0x887b), .driver_info = BTUSB_REALTEK | BTUSB_WIDEBAND_SPEECH }, { USB_DEVICE(0x0bda, 0xb85b), .driver_info = BTUSB_REALTEK |
@@ -3463,13 +3465,12 @@ static void btusb_dump_hdr_qca(struct hci_dev *hdev, struct sk_buff *skb)static void btusb_coredump_qca (struct hci_dev *hdev) { +int err;static const u8 param[] = {0x26 }; -struct sk_buff *skb; - skb =__hci_cmd_sync (hdev,0xfc0c ,1 , param,HCI_CMD_TIMEOUT ); -if (IS_ERR (skb)) -bt_dev_err (hdev,"%s: triggle crash failed (%ld)" , __func__,PTR_ERR (skb)); -kfree_skb (skb); + err =__hci_cmd_send (hdev,0xfc0c ,1 , param); +if (err <0 ) +bt_dev_err (hdev,"%s: triggle crash failed (%d)" , __func__, err); }/*
drivers/bluetooth/hci_qca.c +20 -7
@@ -1672,6 +1672,9 @@ static bool qca_wakeup(struct hci_dev *hdev)struct hci_uart *hu =hci_get_drvdata (hdev);bool wakeup; +if (!hu->serdev) +return true; +/* BT SoC attached through the serial bus is handled by the serdev driver. * So we need to use the device handle of the serdev driver to get the * status of device may wakeup.
@@ -1957,8 +1960,10 @@ static int qca_setup(struct hci_uart *hu)qca_debugfs_init (hdev); hu->hdev->hw_error = qca_hw_error; hu->hdev->cmd_timeout = qca_cmd_timeout; -if (device_can_wakeup (hu->serdev->ctrl->dev.parent)) - hu->hdev->wakeup = qca_wakeup; +if (hu->serdev) { +if (device_can_wakeup (hu->serdev->ctrl->dev.parent)) + hu->hdev->wakeup = qca_wakeup; + } }else if (ret == -ENOENT ) {/* No patch/nvm-config found, run with original fw/config */ set_bit (QCA_ROM_FW , &qca->flags);
@@ -2329,16 +2334,21 @@ static int qca_serdev_probe(struct serdev_device *serdev) (data->soc_type == QCA_WCN6750 || data->soc_type == QCA_WCN6855)) {dev_err (&serdev->dev,"failed to acquire BT_EN gpio\n" ); - power_ctrl_enabled = false; +return PTR_ERR (qcadev->bt_en); } +if (!qcadev->bt_en) + power_ctrl_enabled = false; + qcadev->sw_ctrl =devm_gpiod_get_optional (&serdev->dev,"swctrl" ,GPIOD_IN );if (IS_ERR (qcadev->sw_ctrl) && (data->soc_type ==QCA_WCN6750 || data->soc_type ==QCA_WCN6855 || - data->soc_type ==QCA_WCN7850 )) -dev_warn (&serdev->dev,"failed to acquire SW_CTRL gpio\n" ); + data->soc_type ==QCA_WCN7850 )) { +dev_err (&serdev->dev,"failed to acquire SW_CTRL gpio\n" ); +return PTR_ERR (qcadev->sw_ctrl); + } qcadev->susclk =devm_clk_get_optional (&serdev->dev,NULL );if (IS_ERR (qcadev->susclk)) {
@@ -2357,10 +2367,13 @@ static int qca_serdev_probe(struct serdev_device *serdev) qcadev->bt_en =devm_gpiod_get_optional (&serdev->dev,"enable" ,GPIOD_OUT_LOW );if (IS_ERR (qcadev->bt_en)) { -dev_warn (&serdev->dev,"failed to acquire enable gpio\n" ); - power_ctrl_enabled = false; +dev_err (&serdev->dev,"failed to acquire enable gpio\n" ); +return PTR_ERR (qcadev->bt_en); } +if (!qcadev->bt_en) + power_ctrl_enabled = false; + qcadev->susclk =devm_clk_get_optional (&serdev->dev,NULL );if (IS_ERR (qcadev->susclk)) {dev_warn (&serdev->dev,"failed to acquire clk\n" );
drivers/cxl/core/mbox.c +17 -21
@@ -946,25 +946,22 @@ static void cxl_mem_get_records_log(struct cxl_memdev_state *mds,struct cxl_memdev *cxlmd = mds->cxlds.cxlmd;struct device *dev = mds->cxlds.dev;struct cxl_get_event_payload *payload; -struct cxl_mbox_cmd mbox_cmd;u8 log_type = type;u16 nr_rec;mutex_lock (&mds->event.log_lock); payload = mds->event.buf; - mbox_cmd = (struct cxl_mbox_cmd ) { - .opcode =CXL_MBOX_OP_GET_EVENT_RECORD , - .payload_in = &log_type, - .size_in =sizeof (log_type), - .payload_out = payload, - .min_out =struct_size (payload, records,0 ), - }; - do { int rc, i; - - mbox_cmd.size_out = mds->payload_size; + struct cxl_mbox_cmd mbox_cmd = (struct cxl_mbox_cmd) { + .opcode = CXL_MBOX_OP_GET_EVENT_RECORD, + .payload_in = &log_type, + .size_in = sizeof(log_type), + .payload_out = payload, + .size_out = mds->payload_size, + .min_out = struct_size(payload, records, 0), + }; rc = cxl_internal_send_cmd(mds, &mbox_cmd); if (rc) {
@@ -1297,7 +1294,6 @@ int cxl_mem_get_poison(struct cxl_memdev *cxlmd, u64 offset, u64 len,struct cxl_memdev_state *mds =to_cxl_memdev_state (cxlmd->cxlds);struct cxl_mbox_poison_out *po;struct cxl_mbox_poison_in pi; -struct cxl_mbox_cmd mbox_cmd;int nr_records =0 ;int rc;
@@ -1309,16 +1305,16 @@ int cxl_mem_get_poison(struct cxl_memdev *cxlmd, u64 offset, u64 len, pi.offset =cpu_to_le64 (offset); pi.length =cpu_to_le64 (len /CXL_POISON_LEN_MULT ); - mbox_cmd = (struct cxl_mbox_cmd ) { - .opcode =CXL_MBOX_OP_GET_POISON , - .size_in =sizeof (pi), - .payload_in = &pi, - .size_out = mds->payload_size, - .payload_out = po, - .min_out =struct_size (po, record,0 ), - }; - do { + struct cxl_mbox_cmd mbox_cmd = (struct cxl_mbox_cmd){ + .opcode = CXL_MBOX_OP_GET_POISON, + .size_in = sizeof(pi), + .payload_in = &pi, + .size_out = mds->payload_size, + .payload_out = po, + .min_out = struct_size(po, record, 0), + }; + rc = cxl_internal_send_cmd(mds, &mbox_cmd); if (rc) break;
drivers/dma/idma64.c +4 -0
@@ -171,6 +171,10 @@ static irqreturn_t idma64_irq(int irq, void *dev)u32 status_err;unsigned short i; +/* Since IRQ may be shared, check if DMA controller is powered on */ +if (status ==GENMASK (31 ,0 )) +return IRQ_NONE ; +dev_vdbg (idma64->dma.dev,"%s: status=%#x\n" , __func__, status);/* Check if we have any interrupt from the DMA controller */
drivers/dma/idxd/cdev.c +2 -3
@@ -342,7 +342,7 @@ static void idxd_cdev_evl_drain_pasid(struct idxd_wq *wq, u32 pasid)if (!evl)return ; -spin_lock (&evl->lock); +mutex_lock (&evl->lock); status.bits =ioread64 (idxd->reg_base +IDXD_EVLSTATUS_OFFSET ); t = status.tail; h = status.head;
@@ -354,9 +354,8 @@ static void idxd_cdev_evl_drain_pasid(struct idxd_wq *wq, u32 pasid)set_bit (h, evl->bmap); h = (h +1 ) % size; } -spin_unlock (&evl->lock); -drain_workqueue (wq->wq); +mutex_unlock (&evl->lock); }static int idxd_cdev_release (struct inode *node,struct file *filep)
drivers/dma/idxd/debugfs.c +2 -2
@@ -66,7 +66,7 @@ static int debugfs_evl_show(struct seq_file *s, void *d)if (!evl || !evl->log)return 0 ; -spin_lock (&evl->lock); +mutex_lock (&evl->lock); evl_status.bits =ioread64 (idxd->reg_base +IDXD_EVLSTATUS_OFFSET ); t = evl_status.tail;
@@ -87,7 +87,7 @@ static int debugfs_evl_show(struct seq_file *s, void *d)dump_event_entry (idxd, s, i, &count, processed); } -spin_unlock (&evl->lock); +mutex_unlock (&evl->lock);return 0 ; }
drivers/dma/idxd/device.c +4 -4
@@ -775,7 +775,7 @@ static int idxd_device_evl_setup(struct idxd_device *idxd) goto err_alloc; } -spin_lock (&evl->lock); +mutex_lock (&evl->lock); evl->log = addr; evl->dma = dma_addr; evl->log_size = size;
@@ -796,7 +796,7 @@ static int idxd_device_evl_setup(struct idxd_device *idxd) gencfg.evl_en =1 ;iowrite32 (gencfg.bits, idxd->reg_base +IDXD_GENCFG_OFFSET ); -spin_unlock (&evl->lock); +mutex_unlock (&evl->lock);return 0 ; err_alloc:
@@ -819,7 +819,7 @@ static void idxd_device_evl_free(struct idxd_device *idxd)if (!gencfg.evl_en)return ; -spin_lock (&evl->lock); +mutex_lock (&evl->lock); gencfg.evl_en =0 ;iowrite32 (gencfg.bits, idxd->reg_base +IDXD_GENCFG_OFFSET );
@@ -836,7 +836,7 @@ static void idxd_device_evl_free(struct idxd_device *idxd) evl_dma = evl->dma; evl->log =NULL ; evl->size =IDXD_EVL_SIZE_MIN ; -spin_unlock (&evl->lock); +mutex_unlock (&evl->lock);dma_free_coherent (dev, evl_log_size, evl_log, evl_dma); }
drivers/dma/idxd/idxd.h +1 -1
@@ -293,7 +293,7 @@ struct idxd_driver_data {struct idxd_evl {/* Lock to protect event log access. */ -spinlock_t lock; +struct mutex lock;void *log;dma_addr_t dma;/* Total size of event log = number of entries * entry size. */
drivers/dma/idxd/init.c +1 -1
@@ -354,7 +354,7 @@ static int idxd_init_evl(struct idxd_device *idxd)if (!evl)return -ENOMEM ; -spin_lock_init (&evl->lock); +mutex_init (&evl->lock); evl->size =IDXD_EVL_SIZE_MIN ; idxd_name =dev_name (idxd_confdev (idxd));
drivers/dma/idxd/irq.c +2 -2
@@ -363,7 +363,7 @@ static void process_evl_entries(struct idxd_device *idxd) evl_status.bits =0 ; evl_status.int_pending =1 ; -spin_lock (&evl->lock); +mutex_lock (&evl->lock);/* Clear interrupt pending bit */ iowrite32 (evl_status.bits_upper32, idxd->reg_base +IDXD_EVLSTATUS_OFFSET +sizeof (u32));
@@ -380,7 +380,7 @@ static void process_evl_entries(struct idxd_device *idxd) evl_status.head = h;iowrite32 (evl_status.bits_lower32, idxd->reg_base +IDXD_EVLSTATUS_OFFSET ); -spin_unlock (&evl->lock); +mutex_unlock (&evl->lock); }irqreturn_t idxd_misc_thread (int vec,void *data)
drivers/dma/idxd/perfmon.c +3 -6
@@ -528,14 +528,11 @@ static int perf_event_cpu_offline(unsigned int cpu, struct hlist_node *node)return 0 ; target =cpumask_any_but (cpu_online_mask, cpu); -/* migrate events if there is a valid target */ -if (target < nr_cpu_ids) +if (target < nr_cpu_ids) {cpumask_set_cpu (target, &perfmon_dsa_cpu_mask); -else - target =-1 ; - -perf_pmu_migrate_context (&idxd_pmu->pmu, cpu, target); +perf_pmu_migrate_context (&idxd_pmu->pmu, cpu, target); + }return 0 ; }
drivers/dma/owl-dma.c +2 -2
@@ -250,7 +250,7 @@ static void pchan_update(struct owl_dma_pchan *pchan, u32 reg,else regval &= ~val; -writel (val, pchan->base + reg); +writel (regval, pchan->base + reg); }static void pchan_writel (struct owl_dma_pchan *pchan,u32 reg,u32 data)
@@ -274,7 +274,7 @@ static void dma_update(struct owl_dma *od, u32 reg, u32 val, bool state)else regval &= ~val; -writel (val, od->base + reg); +writel (regval, od->base + reg); }static void dma_writel (struct owl_dma *od,u32 reg,u32 data)
drivers/dma/pl330.c +0 -3
@@ -1053,9 +1053,6 @@ static bool _trigger(struct pl330_thread *thrd) thrd->req_running = idx; -if (desc->rqtype ==DMA_MEM_TO_DEV || desc->rqtype ==DMA_DEV_TO_MEM ) -UNTIL (thrd,PL330_STATE_WFP ); -return true; }
drivers/dma/tegra186-gpc-dma.c +3 -0
@@ -746,6 +746,9 @@ static int tegra_dma_get_residual(struct tegra_dma_channel *tdc) bytes_xfer = dma_desc->bytes_xfer + sg_req[dma_desc->sg_idx].len - (wcount *4 ); +if (dma_desc->bytes_req == bytes_xfer) +return 0 ; + residual = dma_desc->bytes_req - (bytes_xfer % dma_desc->bytes_req);return residual;
drivers/dma/xilinx/xdma-regs.h +3 -0
@@ -117,6 +117,9 @@ struct xdma_hw_desc { CHAN_CTRL_IE_WRITE_ERROR | \ CHAN_CTRL_IE_DESC_ERROR) +/* bits of the channel status register */ +#define XDMA_CHAN_STATUS_BUSY BIT(0) +#define XDMA_CHAN_STATUS_MASK CHAN_CTRL_START#define XDMA_CHAN_ERROR_MASK (CHAN_CTRL_IE_DESC_ALIGN_MISMATCH | \
drivers/dma/xilinx/xdma.c +19 -9
@@ -71,6 +71,8 @@ struct xdma_chan {enum dma_transfer_direction dir;struct dma_slave_config cfg;u32 irq; +struct completion last_interrupt; +bool stop_requested; };/**
@@ -376,6 +378,8 @@ static int xdma_xfer_start(struct xdma_chan *xchan)return ret; xchan->busy = true; + xchan->stop_requested = false; +reinit_completion (&xchan->last_interrupt);return 0 ; }
@@ -387,7 +391,6 @@ static int xdma_xfer_start(struct xdma_chan *xchan)static int xdma_xfer_stop (struct xdma_chan *xchan) {int ret; -u32 val;struct xdma_device *xdev = xchan->xdev_hdl;/* clear run stop bit to prevent any further auto-triggering */
@@ -395,13 +398,7 @@ static int xdma_xfer_stop(struct xdma_chan *xchan) CHAN_CTRL_RUN_STOP);if (ret)return ret; - -/* Clear the channel status register */ - ret =regmap_read (xdev->rmap, xchan->base +XDMA_CHAN_STATUS_RC , &val); -if (ret) -return ret; - -return 0 ; +return ret; }/**
@@ -474,6 +471,8 @@ static int xdma_alloc_channels(struct xdma_device *xdev, xchan->xdev_hdl = xdev; xchan->base = base + i *XDMA_CHAN_STRIDE ; xchan->dir = dir; + xchan->stop_requested = false; +init_completion (&xchan->last_interrupt); ret =xdma_channel_init (xchan);if (ret)
@@ -521,6 +520,7 @@ static int xdma_terminate_all(struct dma_chan *chan)spin_lock_irqsave (&xdma_chan->vchan.lock, flags); xdma_chan->busy = false; + xdma_chan->stop_requested = true; vd =vchan_next_desc (&xdma_chan->vchan);if (vd) {list_del (&vd->node);
@@ -542,6 +542,13 @@ static int xdma_terminate_all(struct dma_chan *chan)static void xdma_synchronize (struct dma_chan *chan) {struct xdma_chan *xdma_chan =to_xdma_chan (chan); +struct xdma_device *xdev = xdma_chan->xdev_hdl; +int st =0 ; + +/* If the engine continues running, wait for the last interrupt */ +regmap_read (xdev->rmap, xdma_chan->base +XDMA_CHAN_STATUS , &st); +if (st &XDMA_CHAN_STATUS_BUSY ) +wait_for_completion_timeout (&xdma_chan->last_interrupt,msecs_to_jiffies (1000 ));vchan_synchronize (&xdma_chan->vchan); }
@@ -704,7 +711,7 @@ xdma_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t address, desc_num =0 ;for (i =0 ; i < periods; i++) { desc_num +=xdma_fill_descs (sw_desc, *src, *dst, period_size, desc_num); - addr += i * period_size; + addr += period_size; } tx_desc =vchan_tx_prep (&xdma_chan->vchan, &sw_desc->vdesc, flags);
@@ -876,6 +883,9 @@ static irqreturn_t xdma_channel_isr(int irq, void *dev_id)u32 st;bool repeat_tx; +if (xchan->stop_requested) +complete (&xchan->last_interrupt); +spin_lock (&xchan->vchan.lock);/* get submitted request */
drivers/dma/xilinx/xilinx_dpdma.c +10 -3
@@ -214,7 +214,8 @@ struct xilinx_dpdma_tx_desc {* @running: true if the channel is running * @first_frame: flag for the first frame of stream * @video_group: flag if multi-channel operation is needed for video channels -* @lock: lock to access struct xilinx_dpdma_chan +* @lock: lock to access struct xilinx_dpdma_chan. Must be taken before +* @vchan.lock, if both are to be held. * @desc_pool: descriptor allocation pool * @err_task: error IRQ bottom half handler * @desc: References to descriptors being processed
@@ -1097,12 +1098,14 @@ static void xilinx_dpdma_chan_vsync_irq(struct xilinx_dpdma_chan *chan)* Complete the active descriptor, if any, promote the pending * descriptor to active, and queue the next transfer, if any. */ +spin_lock (&chan->vchan.lock);if (chan->desc.active)vchan_cookie_complete (&chan->desc.active->vdesc); chan->desc.active = pending; chan->desc.pending =NULL ;xilinx_dpdma_chan_queue_transfer (chan); +spin_unlock (&chan->vchan.lock); out:spin_unlock_irqrestore (&chan->lock, flags);
@@ -1264,10 +1267,12 @@ static void xilinx_dpdma_issue_pending(struct dma_chan *dchan)struct xilinx_dpdma_chan *chan =to_xilinx_chan (dchan);unsigned long flags; -spin_lock_irqsave (&chan->vchan.lock, flags); +spin_lock_irqsave (&chan->lock, flags); +spin_lock (&chan->vchan.lock);if (vchan_issue_pending (&chan->vchan))xilinx_dpdma_chan_queue_transfer (chan); -spin_unlock_irqrestore (&chan->vchan.lock, flags); +spin_unlock (&chan->vchan.lock); +spin_unlock_irqrestore (&chan->lock, flags); } static int xilinx_dpdma_config(struct dma_chan *dchan,
@@ -1495,7 +1500,9 @@ static void xilinx_dpdma_chan_err_task(struct tasklet_struct *t) XILINX_DPDMA_EINTR_CHAN_ERR_MASK << chan->id);spin_lock_irqsave (&chan->lock, flags); +spin_lock (&chan->vchan.lock);xilinx_dpdma_chan_queue_transfer (chan); +spin_unlock (&chan->vchan.lock);spin_unlock_irqrestore (&chan->lock, flags); }
drivers/dpll/dpll_core.c +36 -25
206 lines not on this page · raw message
drivers/firmware/qcom/qcom_qseecom_uefisecapp.c +91 -46
268 lines not on this page · raw message
drivers/firmware/qcom/qcom_scm.c +6 -31
@@ -1576,9 +1576,9 @@ EXPORT_SYMBOL_GPL(qcom_scm_qseecom_app_get_id);/** * qcom_scm_qseecom_app_send() - Send to and receive data from a given QSEE app. * @app_id: The ID of the target app. -* @req: Request buffer sent to the app (must be DMA-mappable). +* @req: DMA address of the request buffer sent to the app. * @req_size: Size of the request buffer. -* @rsp: Response buffer, written to by the app (must be DMA-mappable). +* @rsp: DMA address of the response buffer, written to by the app. * @rsp_size: Size of the response buffer. * * Sends a request to the QSEE app associated with the given ID and read back
@@ -1589,33 +1589,13 @@ EXPORT_SYMBOL_GPL(qcom_scm_qseecom_app_get_id);* * Return: Zero on success, nonzero on failure. */ -int qcom_scm_qseecom_app_send (u32 app_id,void *req,size_t req_size,void *rsp, -size_t rsp_size) +int qcom_scm_qseecom_app_send (u32 app_id,dma_addr_t req,size_t req_size, +dma_addr_t rsp,size_t rsp_size) {struct qcom_scm_qseecom_resp res = {};struct qcom_scm_desc desc = {}; -dma_addr_t req_phys; -dma_addr_t rsp_phys;int status; -/* Map request buffer */ - req_phys =dma_map_single (__scm->dev, req, req_size,DMA_TO_DEVICE ); - status =dma_mapping_error (__scm->dev, req_phys); -if (status) { -dev_err (__scm->dev,"qseecom: failed to map request buffer\n" ); -return status; - } - -/* Map response buffer */ - rsp_phys =dma_map_single (__scm->dev, rsp, rsp_size,DMA_FROM_DEVICE ); - status =dma_mapping_error (__scm->dev, rsp_phys); -if (status) { -dma_unmap_single (__scm->dev, req_phys, req_size,DMA_TO_DEVICE ); -dev_err (__scm->dev,"qseecom: failed to map response buffer\n" ); -return status; - } - -/* Set up SCM call data */ desc.owner =QSEECOM_TZ_OWNER_TZ_APPS ; desc.svc =QSEECOM_TZ_SVC_APP_ID_PLACEHOLDER ; desc.cmd =QSEECOM_TZ_CMD_APP_SEND ;
@@ -1623,18 +1603,13 @@ int qcom_scm_qseecom_app_send(u32 app_id, void *req, size_t req_size, void *rsp,QCOM_SCM_RW ,QCOM_SCM_VAL , QCOM_SCM_RW, QCOM_SCM_VAL); desc.args[0 ] = app_id; - desc.args[1 ] = req_phys; + desc.args[1 ] = req; desc.args[2 ] = req_size; - desc.args[3 ] = rsp_phys; + desc.args[3 ] = rsp; desc.args[4 ] = rsp_size; -/* Perform call */ status =qcom_scm_qseecom_call (&desc, &res); -/* Unmap buffers */ -dma_unmap_single (__scm->dev, rsp_phys, rsp_size,DMA_FROM_DEVICE ); -dma_unmap_single (__scm->dev, req_phys, req_size,DMA_TO_DEVICE ); -if (status)return status;
drivers/gpio/gpio-tangier.c +6 -3
@@ -195,7 +195,8 @@ static int tng_gpio_set_config(struct gpio_chip *chip, unsigned int offset,static void tng_irq_ack (struct irq_data *d) { -struct tng_gpio *priv =irq_data_get_irq_chip_data (d); +struct gpio_chip *gc =irq_data_get_irq_chip_data (d); +struct tng_gpio *priv =gpiochip_get_data (gc);irq_hw_number_t gpio =irqd_to_hwirq (d);void __iomem *gisr;u8 shift;
@@ -227,7 +228,8 @@ static void tng_irq_unmask_mask(struct tng_gpio *priv, u32 gpio, bool unmask)static void tng_irq_mask (struct irq_data *d) { -struct tng_gpio *priv =irq_data_get_irq_chip_data (d); +struct gpio_chip *gc =irq_data_get_irq_chip_data (d); +struct tng_gpio *priv =gpiochip_get_data (gc);irq_hw_number_t gpio =irqd_to_hwirq (d);tng_irq_unmask_mask (priv, gpio, false);
@@ -236,7 +238,8 @@ static void tng_irq_mask(struct irq_data *d)static void tng_irq_unmask (struct irq_data *d) { -struct tng_gpio *priv =irq_data_get_irq_chip_data (d); +struct gpio_chip *gc =irq_data_get_irq_chip_data (d); +struct tng_gpio *priv =gpiochip_get_data (gc);irq_hw_number_t gpio =irqd_to_hwirq (d);gpiochip_enable_irq (&priv->chip, gpio);
drivers/gpio/gpio-tegra186.c +11 -9
@@ -36,12 +36,6 @@#define TEGRA186_GPIO_SCR_SEC_REN BIT(27)#define TEGRA186_GPIO_SCR_SEC_G1W BIT(9)#define TEGRA186_GPIO_SCR_SEC_G1R BIT(1) -#define TEGRA186_GPIO_FULL_ACCESS (TEGRA186_GPIO_SCR_SEC_WEN | \ - TEGRA186_GPIO_SCR_SEC_REN | \ - TEGRA186_GPIO_SCR_SEC_G1R | \ - TEGRA186_GPIO_SCR_SEC_G1W) -#define TEGRA186_GPIO_SCR_SEC_ENABLE (TEGRA186_GPIO_SCR_SEC_WEN | \ - TEGRA186_GPIO_SCR_SEC_REN)/* control registers */ #define TEGRA186_GPIO_ENABLE_CONFIG 0x00
@@ -177,10 +171,18 @@ static inline bool tegra186_gpio_is_accessible(struct tegra_gpio *gpio, unsigned value =__raw_readl (secure +TEGRA186_GPIO_SCR ); -if ((value &TEGRA186_GPIO_SCR_SEC_ENABLE ) ==0 ) -return true; +/* +* When SCR_SEC_[R|W]EN is unset, then we have full read/write access to all the +* registers for given GPIO pin. +* When SCR_SEC[R|W]EN is set, then there is need to further check the accompanying +* SCR_SEC_G1[R|W] bit to determine read/write access to all the registers for given +* GPIO pin. +*/ -if ((value &TEGRA186_GPIO_FULL_ACCESS ) ==TEGRA186_GPIO_FULL_ACCESS ) +if (((value &TEGRA186_GPIO_SCR_SEC_REN ) ==0 || + ((value &TEGRA186_GPIO_SCR_SEC_REN ) && (value &TEGRA186_GPIO_SCR_SEC_G1R ))) && + ((value &TEGRA186_GPIO_SCR_SEC_WEN ) ==0 || + ((value &TEGRA186_GPIO_SCR_SEC_WEN ) && (value &TEGRA186_GPIO_SCR_SEC_G1W ))))return true;return false;
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +1 -0
@@ -1851,6 +1851,7 @@ int amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu( err_bo_create:amdgpu_amdkfd_unreserve_mem_limit (adev, aligned_size, flags, xcp_id); err_reserve_limit: +amdgpu_sync_free (&(*mem)->sync);mutex_destroy (&(*mem)->lock);if (gobj)drm_gem_object_put (gobj);
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +1 -1
@@ -819,7 +819,7 @@ static int amdgpu_cs_bo_validate(void *param, struct amdgpu_bo *bo) p->bytes_moved += ctx.bytes_moved;if (!amdgpu_gmc_vram_full_visible (&adev->gmc) && -amdgpu_bo_in_cpu_visible_vram (bo)) +amdgpu_res_cpu_visible (adev, bo->tbo.resource)) p->bytes_moved_vis += ctx.bytes_moved;if (unlikely (r == -ENOMEM ) && domain != bo->allowed_domains) {
drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c +4 -0
@@ -97,6 +97,10 @@ void amdgpu_show_fdinfo(struct drm_printer *p, struct drm_file *file) stats.requested_visible_vram/1024UL);drm_printf (p,"amd-requested-gtt:\t%llu KiB\n" , stats.requested_gtt/1024UL ); +drm_printf (p,"drm-shared-vram:\t%llu KiB\n" , stats.vram_shared/1024UL ); +drm_printf (p,"drm-shared-gtt:\t%llu KiB\n" , stats.gtt_shared/1024UL ); +drm_printf (p,"drm-shared-cpu:\t%llu KiB\n" , stats.cpu_shared/1024UL ); +for (hw_ip =0 ; hw_ip <AMDGPU_HW_IP_NUM ; ++hw_ip) {if (!usage[hw_ip])continue ;
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +22 -11
@@ -620,8 +620,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev,return r;if (!amdgpu_gmc_vram_full_visible (&adev->gmc) && - bo->tbo.resource->mem_type ==TTM_PL_VRAM && -amdgpu_bo_in_cpu_visible_vram (bo)) +amdgpu_res_cpu_visible (adev, bo->tbo.resource))amdgpu_cs_report_moved_bytes (adev, ctx.bytes_moved, ctx.bytes_moved);else
@@ -1275,26 +1274,39 @@ void amdgpu_bo_move_notify(struct ttm_buffer_object *bo, bool evict)void amdgpu_bo_get_memory (struct amdgpu_bo *bo,struct amdgpu_mem_stats *stats) { +struct amdgpu_device *adev =amdgpu_ttm_adev (bo->tbo.bdev); +struct ttm_resource *res = bo->tbo.resource;uint64_t size =amdgpu_bo_size (bo); +struct drm_gem_object *obj;unsigned int domain; +bool shared;/* Abort if the BO doesn't currently have a backing store */ -if (!bo->tbo.resource) +if (!res)return ; - domain =amdgpu_mem_type_to_domain (bo->tbo.resource->mem_type); + obj = &bo->tbo.base; + shared =drm_gem_object_is_shared_for_memory_stats (obj); + + domain =amdgpu_mem_type_to_domain (res->mem_type);switch (domain) {case AMDGPU_GEM_DOMAIN_VRAM : stats->vram += size; -if (amdgpu_bo_in_cpu_visible_vram (bo)) +if (amdgpu_res_cpu_visible (adev, bo->tbo.resource)) stats->visible_vram += size; +if (shared) + stats->vram_shared += size;break ;case AMDGPU_GEM_DOMAIN_GTT : stats->gtt += size; +if (shared) + stats->gtt_shared += size;break ;case AMDGPU_GEM_DOMAIN_CPU :default : stats->cpu += size; +if (shared) + stats->cpu_shared += size;break ; }
@@ -1381,10 +1393,7 @@ vm_fault_t amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo)/* Remember that this BO was accessed by the CPU */ abo->flags |=AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED ; -if (bo->resource->mem_type !=TTM_PL_VRAM ) -return 0 ; - -if (amdgpu_bo_in_cpu_visible_vram (abo)) +if (amdgpu_res_cpu_visible (adev, bo->resource))return 0 ;/* Can't move a pinned BO to visible VRAM */
@@ -1408,7 +1417,7 @@ vm_fault_t amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo)/* this should never happen */ if (bo->resource->mem_type ==TTM_PL_VRAM && - !amdgpu_bo_in_cpu_visible_vram (abo)) + !amdgpu_res_cpu_visible (adev, bo->resource))return VM_FAULT_SIGBUS ;ttm_bo_move_to_lru_tail_unlocked (bo);
@@ -1572,6 +1581,7 @@ uint32_t amdgpu_bo_get_preferred_domain(struct amdgpu_device *adev,*/ u64 amdgpu_bo_print_info (int id,struct amdgpu_bo *bo,struct seq_file *m) { +struct amdgpu_device *adev =amdgpu_ttm_adev (bo->tbo.bdev);struct dma_buf_attachment *attachment;struct dma_buf *dma_buf;const char *placement;
@@ -1580,10 +1590,11 @@ u64 amdgpu_bo_print_info(int id, struct amdgpu_bo *bo, struct seq_file *m)if (dma_resv_trylock (bo->tbo.base.resv)) {unsigned int domain; + domain =amdgpu_mem_type_to_domain (bo->tbo.resource->mem_type);switch (domain) {case AMDGPU_GEM_DOMAIN_VRAM : -if (amdgpu_bo_in_cpu_visible_vram (bo)) +if (amdgpu_res_cpu_visible (adev, bo->tbo.resource)) placement ="VRAM VISIBLE" ;else placement ="VRAM" ;
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h +6 -22
@@ -138,12 +138,18 @@ struct amdgpu_bo_vm {struct amdgpu_mem_stats {/* current VRAM usage, includes visible VRAM */ uint64_t vram; +/* current shared VRAM usage, includes visible VRAM */ +uint64_t vram_shared;/* current visible VRAM usage */ uint64_t visible_vram;/* current GTT usage */ uint64_t gtt; +/* current shared GTT usage */ +uint64_t gtt_shared;/* current system memory usage */ uint64_t cpu; +/* current shared system memory usage */ +uint64_t cpu_shared;/* sum of evicted buffers, includes visible VRAM */ uint64_t evicted_vram;/* sum of evicted buffers due to CPU access */
@@ -244,28 +250,6 @@ static inline u64 amdgpu_bo_mmap_offset(struct amdgpu_bo *bo)return drm_vma_node_offset_addr (&bo->tbo.base.vma_node); } -/** -* amdgpu_bo_in_cpu_visible_vram - check if BO is (partly) in visible VRAM -*/ -static inline bool amdgpu_bo_in_cpu_visible_vram (struct amdgpu_bo *bo) -{ -struct amdgpu_device *adev =amdgpu_ttm_adev (bo->tbo.bdev); -struct amdgpu_res_cursor cursor; - -if (!bo->tbo.resource || bo->tbo.resource->mem_type !=TTM_PL_VRAM ) -return false; - -amdgpu_res_first (bo->tbo.resource,0 ,amdgpu_bo_size (bo), &cursor); -while (cursor.remaining) { -if (cursor.start < adev->gmc.visible_vram_size) -return true; - -amdgpu_res_next (&cursor, cursor.size); - } - -return false; -} -/** * amdgpu_bo_explicit_sync - return whether the bo is explicitly synced */
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +38 -23
93 lines not on this page · raw message
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h +3 -0
@@ -139,6 +139,9 @@ int amdgpu_vram_mgr_reserve_range(struct amdgpu_vram_mgr *mgr,int amdgpu_vram_mgr_query_page_status (struct amdgpu_vram_mgr *mgr,uint64_t start); +bool amdgpu_res_cpu_visible (struct amdgpu_device *adev, +struct ttm_resource *res); +int amdgpu_ttm_init (struct amdgpu_device *adev);void amdgpu_ttm_fini (struct amdgpu_device *adev); void amdgpu_ttm_set_buffer_funcs_status(struct amdgpu_device *adev,
drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c +3 -0
@@ -766,6 +766,9 @@ static int umsch_mm_late_init(void *handle) {struct amdgpu_device *adev = (struct amdgpu_device *)handle; +if (amdgpu_in_reset (adev) || adev->in_s0ix || adev->in_suspend) +return 0 ; +return umsch_mm_test (adev); }
drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c +2 -1
@@ -366,7 +366,8 @@ static void sdma_v4_4_2_ring_emit_hdp_flush(struct amdgpu_ring *ring)u32 ref_and_mask =0 ;const struct nbio_hdp_flush_reg *nbio_hf_reg = adev->nbio.hdp_flush_reg; - ref_and_mask = nbio_hf_reg->ref_and_mask_sdma0 << ring->me; + ref_and_mask = nbio_hf_reg->ref_and_mask_sdma0 + << (ring->me % adev->sdma.num_inst_per_aid); sdma_v4_4_2_wait_reg_mem(ring, 0, 1, adev->nbio.funcs->get_hdp_flush_done_offset(adev),
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c +15 -11
@@ -292,17 +292,21 @@ static void sdma_v5_2_ring_emit_hdp_flush(struct amdgpu_ring *ring)u32 ref_and_mask =0 ;const struct nbio_hdp_flush_reg *nbio_hf_reg = adev->nbio.hdp_flush_reg; - ref_and_mask = nbio_hf_reg->ref_and_mask_sdma0 << ring->me; - -amdgpu_ring_write (ring,SDMA_PKT_HEADER_OP (SDMA_OP_POLL_REGMEM ) | -SDMA_PKT_POLL_REGMEM_HEADER_HDP_FLUSH (1 ) | -SDMA_PKT_POLL_REGMEM_HEADER_FUNC (3 ));/* == */ -amdgpu_ring_write (ring, (adev->nbio.funcs->get_hdp_flush_done_offset (adev)) <<2 ); -amdgpu_ring_write (ring, (adev->nbio.funcs->get_hdp_flush_req_offset (adev)) <<2 ); -amdgpu_ring_write (ring, ref_and_mask);/* reference */ -amdgpu_ring_write (ring, ref_and_mask);/* mask */ -amdgpu_ring_write (ring,SDMA_PKT_POLL_REGMEM_DW5_RETRY_COUNT (0xfff ) | -SDMA_PKT_POLL_REGMEM_DW5_INTERVAL (10 ));/* retry count, poll interval */ +if (ring->me >1 ) { +amdgpu_asic_flush_hdp (adev, ring); + }else { + ref_and_mask = nbio_hf_reg->ref_and_mask_sdma0 << ring->me; + +amdgpu_ring_write (ring,SDMA_PKT_HEADER_OP (SDMA_OP_POLL_REGMEM ) | +SDMA_PKT_POLL_REGMEM_HEADER_HDP_FLUSH (1 ) | +SDMA_PKT_POLL_REGMEM_HEADER_FUNC (3 ));/* == */ +amdgpu_ring_write (ring, (adev->nbio.funcs->get_hdp_flush_done_offset (adev)) <<2 ); +amdgpu_ring_write (ring, (adev->nbio.funcs->get_hdp_flush_req_offset (adev)) <<2 ); +amdgpu_ring_write (ring, ref_and_mask);/* reference */ +amdgpu_ring_write (ring, ref_and_mask);/* mask */ +amdgpu_ring_write (ring,SDMA_PKT_POLL_REGMEM_DW5_RETRY_COUNT (0xfff ) | +SDMA_PKT_POLL_REGMEM_DW5_INTERVAL (10 ));/* retry count, poll interval */ + } }/**
drivers/gpu/drm/amd/amdkfd/kfd_process.c +8 -7
@@ -1922,6 +1922,8 @@ static int signal_eviction_fence(struct kfd_process *p)rcu_read_lock (); ef =dma_fence_get_rcu_safe (&p->ef);rcu_read_unlock (); +if (!ef) +return -EINVAL ; ret =dma_fence_signal (ef);dma_fence_put (ef);
@@ -1949,10 +1951,9 @@ static void evict_process_worker(struct work_struct *work)* they are responsible stopping the queues and scheduling * the restore work. */ -if (!signal_eviction_fence (p)) -queue_delayed_work (kfd_restore_wq, &p->restore_work, -msecs_to_jiffies (PROCESS_RESTORE_TIME_MS )); -else +if (signal_eviction_fence (p) || +mod_delayed_work (kfd_restore_wq, &p->restore_work, +msecs_to_jiffies (PROCESS_RESTORE_TIME_MS )))kfd_process_restore_queues (p);pr_debug ("Finished evicting pasid 0x%x\n" , p->pasid);
@@ -2011,9 +2012,9 @@ static void restore_process_worker(struct work_struct *work)if (ret) {pr_debug ("Failed to restore BOs of pasid 0x%x, retry after %d ms\n" , p->pasid,PROCESS_BACK_OFF_TIME_MS ); - ret =queue_delayed_work (kfd_restore_wq, &p->restore_work, -msecs_to_jiffies (PROCESS_BACK_OFF_TIME_MS )); -WARN (!ret,"reschedule restore work failed\n" ); +if (mod_delayed_work (kfd_restore_wq, &p->restore_work, +msecs_to_jiffies (PROCESS_RESTORE_TIME_MS ))) +kfd_process_restore_queues (p); } }
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_dio_link_encoder.c +65 -20
127 lines not on this page · raw message
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_dio_link_encoder.h +5 -0
@@ -53,4 +53,9 @@ void dcn32_link_encoder_enable_dp_output(const struct dc_link_settings *link_settings, enum clock_source_id clock_source); +bool dcn32_link_encoder_is_in_alt_mode (struct link_encoder *enc); + +void dcn32_link_encoder_get_max_link_cap (struct link_encoder *enc, +struct dc_link_settings *link_settings); +#endif /* __DC_LINK_ENCODER__DCN32_H__ */
drivers/gpu/drm/amd/display/dc/dcn35/dcn35_dio_link_encoder.c +2 -2
@@ -184,6 +184,8 @@ void dcn35_link_encoder_construct( enc10->base.hpd_source = init_data->hpd_source; enc10->base.connector = init_data->connector; +if (enc10->base.connector.id ==CONNECTOR_ID_USBC ) + enc10->base.features.flags.bits.DP_IS_USB_C =1 ; enc10->base.preferred_engine =ENGINE_ID_UNKNOWN ;
@@ -238,8 +240,6 @@ void dcn35_link_encoder_construct( } enc10->base.features.flags.bits.HDMI_6GB_EN =1 ; -if (enc10->base.connector.id ==CONNECTOR_ID_USBC ) - enc10->base.features.flags.bits.DP_IS_USB_C =1 ;if (bp_funcs->get_connector_speed_cap_info) result = bp_funcs->get_connector_speed_cap_info(enc10->base.ctx->dc_bios,
drivers/gpu/drm/amd/pm/amdgpu_pm.c +7 -0
@@ -4217,6 +4217,13 @@ static int amdgpu_od_set_init(struct amdgpu_device *adev) } } +/* +* If gpu_od is the only member in the list, that means gpu_od is an +* empty directory, so remove it. +*/ +if (list_is_singular (&adev->pm.od_kobj_list)) + goto err_out; +return 0 ; err_out:
drivers/gpu/drm/drm_gem_atomic_helper.c +2 -2
@@ -224,8 +224,8 @@ __drm_gem_duplicate_shadow_plane_state(struct drm_plane *plane,__drm_atomic_helper_plane_duplicate_state (plane, &new_shadow_plane_state->base); -drm_format_conv_state_copy (&shadow_plane_state->fmtcnv_state, - &new_shadow_plane_state->fmtcnv_state); +drm_format_conv_state_copy (&new_shadow_plane_state->fmtcnv_state, + &shadow_plane_state->fmtcnv_state); }EXPORT_SYMBOL (__drm_gem_duplicate_shadow_plane_state);
drivers/gpu/drm/gma500/Makefile +0 -1
@@ -34,7 +34,6 @@ gma500_gfx-y += \ psb_intel_lvds.o \ psb_intel_modes.o \ psb_intel_sdvo.o \ - psb_lid.o \ psb_irq.o gma500_gfx-$(CONFIG_ACPI) += opregion.o
drivers/gpu/drm/gma500/psb_device.c +1 -4
@@ -73,8 +73,7 @@ static int psb_backlight_setup(struct drm_device *dev) }psb_intel_lvds_set_brightness (dev,PSB_MAX_BRIGHTNESS ); -/* This must occur after the backlight is properly initialised */ -psb_lid_timer_init (dev_priv); +return 0 ; }
@@ -259,8 +258,6 @@ static int psb_chip_setup(struct drm_device *dev)static void psb_chip_teardown (struct drm_device *dev) { -struct drm_psb_private *dev_priv =to_drm_psb_private (dev); -psb_lid_timer_takedown (dev_priv);gma_intel_teardown_gmbus (dev); }
drivers/gpu/drm/gma500/psb_drv.h +0 -9
@@ -162,7 +162,6 @@#define PSB_NUM_VBLANKS 2#define PSB_WATCHDOG_DELAY (HZ * 2) -#define PSB_LID_DELAY (HZ / 10)#define PSB_MAX_BRIGHTNESS 100
@@ -491,11 +490,7 @@ struct drm_psb_private {/* Hotplug handling */ struct work_struct hotplug_work; -/* LID-Switch */ -spinlock_t lid_lock; -struct timer_list lid_timer;struct psb_intel_opregion opregion; -u32 lid_last_state;/* Watchdog */ uint32_t apm_reg;
@@ -591,10 +586,6 @@ struct psb_ops {int i2c_bus;/* I2C bus identifier for Moorestown */ }; -/* psb_lid.c */ -extern void psb_lid_timer_init (struct drm_psb_private *dev_priv);
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/gma500/psb_lid.c deleted +0 -80
80 lines not on this page · raw message
drivers/net/dsa/mv88e6xxx/chip.c +52 -4
56 lines not on this page · raw message
drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c +14 -7
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnxt/bnxt.c +46 -36
82 lines not on this page · raw message
drivers/net/ethernet/intel/i40e/i40e_main.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/iavf/iavf_main.c +29 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_vf_lib.c +8 -8
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c +8 -8
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c +5 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/core_env.c +6 -14
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/pci.c +4 -6
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c +6 -5
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c +81 -51
132 lines not on this page · raw message
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.h +3 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c +8 -7
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c +4 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/ti/icssg/icssg_prueth.c +5 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/wangxun/libwx/wx_lib.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/macsec.c +36 -10
46 lines not on this page · raw message
drivers/net/phy/mediatek-ge-soc.c +26 -17
43 lines not on this page · raw message
drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/iwlwifi/mvm/scan.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/virtual/mac80211_hwsim.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/nfc/trf7970a.c +23 -19
42 lines not on this page · raw message
drivers/phy/freescale/phy-fsl-imx8m-pcie.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/phy/marvell/phy-mvebu-a3700-comphy.c +5 -4
Lines of this file are not shown. View the raw message.
drivers/phy/qualcomm/phy-qcom-qmp-combo.c +9 -3
Lines of this file are not shown. View the raw message.
drivers/phy/rockchip/phy-rockchip-naneng-combphy.c +33 -3
Lines of this file are not shown. View the raw message.
drivers/phy/rockchip/phy-rockchip-snps-pcie3.c +13 -18
Lines of this file are not shown. View the raw message.
drivers/usb/host/xhci-ring.c +45 -49
94 lines not on this page · raw message
include/linux/firmware/qcom/qcom_qseecom.h +51 -4
55 lines not on this page · raw message
include/linux/page-flags.h +82 -62
144 lines not on this page · raw message
net/bluetooth/hci_conn.c +30 -138
168 lines not on this page · raw message
net/bluetooth/hci_event.c +21 -31
52 lines not on this page · raw message
net/bluetooth/hci_sync.c +262 -12
274 lines not on this page · raw message
net/bluetooth/iso.c +46 -4
50 lines not on this page · raw message
tools/testing/selftests/riscv/hwprobe/cbo.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/riscv/hwprobe/hwprobe.h +10 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/seccomp/seccomp_bpf.c +31 -10
41 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.