Skip to contentSkip to conversation

Linux 6.1.68

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Dec 13, 2023 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.1.68 kernel.

All users of the 6.1 kernel series must upgrade.

The updated 6.1.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.1.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/ABI/testing/sysfs-bus-optee-devices                    |    9 
 Documentation/devicetree/bindings/interrupt-controller/qcom,mpm.yaml |    4 
 Makefile                                                             |    2 
 arch/arm/boot/dts/imx28-xea.dts                                      |    1 
 arch/arm/boot/dts/imx6ul-pico.dtsi                                   |    2 
 arch/arm/boot/dts/imx7s.dtsi                                         |    8 
 arch/arm/mach-imx/mmdc.c                                             |    7 
 arch/arm64/boot/dts/freescale/imx8mp.dtsi                            |    2 
 arch/arm64/boot/dts/freescale/imx8mq.dtsi                            |    4 
 arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts             |    2 
 arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts                         |    2 
 arch/arm64/boot/dts/mediatek/mt8173-evb.dts                          |    4 
 arch/arm64/boot/dts/mediatek/mt8183-evb.dts                          |   52 +-
 arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi               |    8 
 arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi                       |   96 +--
 arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts                      |   12 
 arch/arm64/boot/dts/mediatek/mt8183.dtsi                             |  242 +++++-----
 arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi                      |    2 
 arch/arm64/boot/dts/mediatek/mt8195.dtsi                             |    6 
 arch/arm64/boot/dts/rockchip/rk3328.dtsi                             |    2 
 arch/arm64/boot/dts/rockchip/rk3399.dtsi                             |    6 
 arch/loongarch/net/bpf_jit.c                                         |   12 
 arch/mips/Kconfig                                                    |    2 
 arch/mips/include/asm/mach-loongson64/boot_param.h                   |    9 
 arch/mips/kernel/process.c                                           |   25 -
 arch/mips/loongson64/env.c                                           |   10 
 arch/mips/loongson64/init.c                                          |   47 +
 arch/parisc/Kconfig                                                  |    7 
 arch/parisc/include/asm/bug.h                                        |   36 -
 arch/riscv/Kconfig.socs                                              |    1 
 arch/riscv/kernel/traps_misaligned.c                                 |    6 
 arch/s390/mm/pgtable.c                                               |    2 
 arch/x86/coco/tdx/tdx.c                                              |    1 
 arch/x86/entry/common.c                                              |   97 +++-
 arch/x86/entry/entry_64_compat.S                                     |   77 ---
 arch/x86/include/asm/ia32.h                                          |   23 
 arch/x86/include/asm/idtentry.h                                      |    4 
 arch/x86/include/asm/proto.h                                         |    4 
 arch/x86/kernel/cpu/amd.c                                            |    3 
 arch/x86/kernel/idt.c                                                |    2 
 arch/x86/kernel/sev.c                                                |   11 
 arch/x86/kvm/svm/svm.c                                               |    8 
 arch/x86/mm/mem_encrypt_amd.c                                        |   11 
 arch/x86/xen/enlighten_pv.c                                          |    2 
 arch/x86/xen/xen-asm.S                                               |    2 
 drivers/acpi/scan.c                                                  |    7 
 drivers/android/binder.c                                             |    1 
 drivers/base/devcoredump.c                                           |    3 
 drivers/base/regmap/regcache.c                                       |    3 
 drivers/gpio/gpiolib-sysfs.c                                         |   15 
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c                               |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c                          |   49 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_eeprom.c                           |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c                       |  119 ++--
 drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c                               |    2 
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c                                |    4 
 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c                                |    4 
 drivers/gpu/drm/bridge/Kconfig                                       |    1 
 drivers/gpu/drm/i915/display/icl_dsi.c                               |    7 
 drivers/gpu/drm/i915/display/intel_crt.c                             |    5 
 drivers/gpu/drm/i915/display/intel_display.c                         |   10 
 drivers/gpu/drm/i915/display/intel_display.h                         |    3 
 drivers/gpu/drm/i915/display/intel_dp.c                              |    5 
 drivers/gpu/drm/i915/display/intel_dp_mst.c                          |    4 
 drivers/gpu/drm/i915/display/intel_dvo.c                             |    6 
 drivers/gpu/drm/i915/display/intel_hdmi.c                            |    5 
 drivers/gpu/drm/i915/display/intel_lvds.c                            |    9 
 drivers/gpu/drm/i915/display/intel_sdvo.c                            |   22 
 drivers/gpu/drm/i915/display/intel_tv.c                              |    8 
 drivers/gpu/drm/i915/display/vlv_dsi.c                               |   18 
 drivers/gpu/drm/i915/i915_reg.h                                      |   46 -
 drivers/hwmon/acpi_power_meter.c                                     |    4 
 drivers/hwmon/nzxt-kraken2.c                                         |    4 
 drivers/hwtracing/coresight/coresight-etm4x-core.c                   |   12 
 drivers/hwtracing/ptt/hisi_ptt.c                                     |    5 
 drivers/i2c/busses/i2c-designware-common.c                           |   16 
 drivers/infiniband/core/umem.c                                       |    6 
 drivers/infiniband/hw/bnxt_re/main.c                                 |    2 
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c                           |   13 
 drivers/infiniband/hw/irdma/hw.c                                     |   49 +-
 drivers/infiniband/hw/irdma/main.c                                   |    2 
 drivers/infiniband/hw/irdma/main.h                                   |    2 
 drivers/infiniband/hw/irdma/verbs.c                                  |   28 -
 drivers/infiniband/hw/irdma/verbs.h                                  |    1 
 drivers/infiniband/ulp/rtrs/rtrs-clt.c                               |    7 
 drivers/infiniband/ulp/rtrs/rtrs-srv.c                               |   37 +
 drivers/iommu/iommu.c                                                |   19 
 drivers/iommu/of_iommu.c                                             |   12 
 drivers/md/md.c                                                      |  174 +++----
 drivers/md/raid5.c                                                   |    4 
 drivers/misc/mei/client.c                                            |    4 
 drivers/net/arcnet/arcdevice.h                                       |    2 
 drivers/net/arcnet/com20020-pci.c                                    |   89 +--
 drivers/net/ethernet/aquantia/atlantic/aq_ptp.c                      |   10 
 drivers/net/ethernet/aquantia/atlantic/aq_ptp.h                      |    4 
 drivers/net/ethernet/aquantia/atlantic/aq_ring.c                     |   18 
 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c                         |    1 
 drivers/net/ethernet/broadcom/tg3.c                                  |   42 +
 drivers/net/ethernet/broadcom/tg3.h                                  |    4 
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c                    |   29 +
 drivers/net/ethernet/hisilicon/hns/hns_enet.c                        |   53 +-
 drivers/net/ethernet/hisilicon/hns/hns_enet.h                        |    3 
 drivers/net/ethernet/intel/i40e/i40e_main.c                          |    2 
 drivers/net/ethernet/intel/iavf/iavf_ethtool.c                       |   12 
 drivers/net/ethernet/intel/iavf/iavf_txrx.h                          |    1 
 drivers/net/ethernet/marvell/octeontx2/af/mbox.h                     |    2 
 drivers/net/ethernet/marvell/octeontx2/af/mcs.c                      |   18 
 drivers/net/ethernet/marvell/octeontx2/af/mcs.h                      |    2 
 drivers/net/ethernet/marvell/octeontx2/af/mcs_reg.h                  |   31 +
 drivers/net/ethernet/marvell/octeontx2/af/rvu.c                      |    3 
 drivers/net/ethernet/marvell/octeontx2/af/rvu.h                      |    1 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c              |    5 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c                  |    8 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c                  |    8 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_reg.c                  |    4 
 drivers/net/ethernet/marvell/octeontx2/af/rvu_reg.h                  |    1 
 drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c            |    6 
 drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c                 |    9 
 drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c               |   20 
 drivers/net/ethernet/pensando/ionic/ionic_dev.h                      |    2 
 drivers/net/ethernet/pensando/ionic/ionic_lif.c                      |   16 
 drivers/net/ethernet/realtek/r8169_main.c                            |    7 
 drivers/net/ethernet/stmicro/stmmac/dwmac5.c                         |   45 -
 drivers/net/ethernet/stmicro/stmmac/dwmac5.h                         |    4 
 drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c                  |    3 
 drivers/net/ethernet/stmicro/stmmac/hwif.h                           |    4 
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c                    |    8 
 drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c                      |    1 
 drivers/net/hyperv/Kconfig                                           |    1 
 drivers/net/usb/r8152.c                                              |  110 ++--
 drivers/nvme/host/nvme.h                                             |    5 
 drivers/nvme/host/pci.c                                              |   16 
 drivers/of/dynamic.c                                                 |    5 
 drivers/parport/parport_pc.c                                         |   21 
 drivers/platform/mellanox/mlxbf-bootctl.c                            |   39 +
 drivers/platform/mellanox/mlxbf-pmc.c                                |   14 
 drivers/platform/surface/aggregator/core.c                           |    5 
 drivers/platform/x86/Kconfig                                         |    2 
 drivers/platform/x86/asus-nb-wmi.c                                   |   11 
 drivers/platform/x86/asus-wmi.c                                      |    8 
 drivers/platform/x86/wmi.c                                           |    5 
 drivers/powercap/dtpm_cpu.c                                          |   17 
 drivers/scsi/be2iscsi/be_main.c                                      |    1 
 drivers/tee/optee/device.c                                           |   17 
 drivers/tty/serial/8250/8250_dw.c                                    |    1 
 drivers/tty/serial/8250/8250_early.c                                 |    1 
 drivers/tty/serial/8250/8250_omap.c                                  |   14 
 drivers/tty/serial/amba-pl011.c                                      |  112 ++--
 drivers/tty/serial/sc16is7xx.c                                       |   12 
 drivers/usb/gadget/function/f_hid.c                                  |    7 
 drivers/usb/gadget/udc/core.c                                        |    4 
 drivers/usb/host/xhci-pci.c                                          |    2 
 drivers/usb/typec/class.c                                            |    5 
 drivers/vdpa/mlx5/net/mlx5_vnet.c                                    |    7 
 fs/nilfs2/sufile.c                                                   |   42 +
 fs/nilfs2/the_nilfs.c                                                |    6 
 fs/smb/client/cifsfs.c                                               |  174 ++++++-
 fs/smb/client/smb2ops.c                                              |    2 
 include/linux/cpuhotplug.h                                           |    1 
 include/linux/hrtimer.h                                              |    4 
 include/linux/hugetlb.h                                              |    5 
 include/linux/iommu.h                                                |    1 
 include/linux/kprobes.h                                              |   13 
 include/linux/rethook.h                                              |    7 
 include/linux/stmmac.h                                               |    1 
 include/net/genetlink.h                                              |    2 
 include/net/tcp.h                                                    |    9 
 include/rdma/ib_umem.h                                               |    9 
 include/rdma/ib_verbs.h                                              |    1 
 include/uapi/linux/netfilter/nf_tables.h                             |    2 
 io_uring/io_uring.c                                                  |    9 
 io_uring/rsrc.h                                                      |    7 
 kernel/cgroup/legacy_freezer.c                                       |    8 
 kernel/cpu.c                                                         |    8 
 kernel/events/core.c                                                 |   61 +-
 kernel/kprobes.c                                                     |    4 
 kernel/time/hrtimer.c                                                |   33 -
 kernel/trace/rethook.c                                               |   23 
 kernel/trace/ring_buffer.c                                           |   23 
 kernel/trace/trace.c                                                 |  177 ++-----
 lib/zstd/common/fse_decompress.c                                     |    2 
 mm/damon/sysfs.c                                                     |    2 
 mm/filemap.c                                                         |    2 
 mm/hugetlb.c                                                         |    7 
 net/core/drop_monitor.c                                              |    4 
 net/core/filter.c                                                    |   19 
 net/core/scm.c                                                       |    6 
 net/ipv4/ip_gre.c                                                    |   11 
 net/ipv4/tcp.c                                                       |   22 
 net/ipv4/tcp_input.c                                                 |    6 
 net/ipv6/ip6_fib.c                                                   |    6 
 net/netfilter/ipset/ip_set_core.c                                    |   14 
 net/netfilter/nf_tables_api.c                                        |    5 
 net/netfilter/nft_dynset.c                                           |   13 
 net/netfilter/nft_exthdr.c                                           |  108 ++++
 net/netfilter/nft_fib.c                                              |    8 
 net/netfilter/nft_set_pipapo.c                                       |    3 
 net/netfilter/xt_owner.c                                             |   16 
 net/netlink/genetlink.c                                              |    3 
 net/packet/af_packet.c                                               |   16 
 net/packet/internal.h                                                |    2 
 net/psample/psample.c                                                |    3 
 net/xdp/xsk.c                                                        |    5 
 scripts/checkstack.pl                                                |    8 
 scripts/dtc/dt-extract-compatibles                                   |   31 -
 scripts/kconfig/symbol.c                                             |   14 
 sound/core/pcm.c                                                     |    1 
 sound/pci/hda/patch_realtek.c                                        |    3 
 sound/soc/amd/yc/acp6x-mach.c                                        |    7 
 sound/soc/codecs/lpass-tx-macro.c                                    |    5 
 sound/soc/codecs/wm_adsp.c                                           |    8 
 sound/soc/fsl/fsl_sai.c                                              |   21 
 sound/usb/mixer_quirks.c                                             |   30 +
 213 files changed, 2292 insertions(+), 1307 deletions(-)

Alex Bee (1):
arm64: dts: rockchip: Expand reg size of vdec node for RK3399

Alex Deucher (1):
drm/amdgpu: simplify amdgpu_ras_eeprom.c

Alex Pakhunov (2):
tg3: Move the [rt]x_dropped counters to tg3_napi
tg3: Increment tx_dropped in tg3_tso_bug()

Andy Shevchenko (1):
serial: 8250_dw: Add ACPI ID for Granite Rapids-D UART

AngeloGioacchino Del Regno (6):
arm64: dts: mediatek: cherry: Fix interrupt cells for MT6360 on I2C7
arm64: dts: mediatek: mt8173-evb: Fix regulator-fixed node names
arm64: dts: mediatek: mt8195: Fix PM suspend/resume with venc clocks
arm64: dts: mediatek: mt8183: Fix unit address for scp reserved memory
arm64: dts: mediatek: mt8183: Move thermal-zones to the root node
arm64: dts: mediatek: mt8183-evb: Fix unit_address_vs_reg warning on ntc

Ankit Nautiyal (1):
drm/i915/display: Drop check for doublescan mode in modevalid

Armin Wolf (2):
platform/x86: wmi: Skip blocks with zero instances
hwmon: (acpi_power_meter) Fix 4.29 MW bug

Arnd Bergmann (2):
drm/bridge: tc358768: select CONFIG_VIDEOMODE_HELPERS
ARM: PL011: Fix DMA support

Ashwin Dayanand Kamat (1):
x86/sev: Fix kernel crash due to late update to read-only ghcb_version

Bin Li (1):
ALSA: hda/realtek: Enable headset on Lenovo M90 Gen5

Boerge Struempfel (1):
gpiolib: sysfs: Fix error handling on failed export

Borislav Petkov (AMD) (1):
x86/CPU/AMD: Check vendor in the AMD microcode callback

Brett Creeley (1):
ionic: Fix dim work handling in split interrupt mode

Cameron Williams (1):
parport: Add support for Brainboxes IX/UC/PX parallel cards

Candice Li (4):
drm/amdgpu: Update ras eeprom support for smu v13_0_0 and v13_0_10 drm/amdgpu: Add EEPROM I2C address support for ip discovery drm/amdgpu: Add I2C EEPROM support on smu v13_0_6 drm/amdgpu: Update EEPROM I2C address for smu v13_0_0

Carlos Llamas (1):
binder: fix memory leaks of spam and pending work

Christophe JAILLET (1):
hwmon: (nzxt-kraken2) Fix error handling path in kraken2_probe()

ChunHao Lin (1):
r8169: fix rtl8125b PAUSE frames blasting when suspended

Claudio Imbrenda (1):
KVM: s390/mm: Properly reset no-dat

Clément Léger (1):
riscv: fix misaligned access handling of C.SWSP and C.SDSP

Dan Carpenter (1):
mm/damon/sysfs: eliminate potential uninitialized variable warning

Daniel Borkmann (1):
packet: Move reference count in packet_sock to atomic_long_t

Daniel Mack (1):
serial: sc16is7xx: address RX timeout interrupt errata

Daniil Maximov (1):
net: atlantic: Fix NULL dereference of skb pointer in

David Howells (3):
cifs: Fix non-availability of dedup breaking generic/304
cifs: Fix flushing, invalidation and file size with copy_file_range()
cifs: Fix flushing, invalidation and file size with FICLONE

David Jeffery (1):
md/raid6: use valid sector values to determine if an I/O should wait on the reshape

David Thompson (1):
mlxbf-bootctl: correctly identify secure boot with development keys

Dinghao Liu (3):
net: bnxt: fix a potential use-after-free in bnxt_init_tc
ASoC: wm_adsp: fix memleak in wm_adsp_buffer_populate
scsi: be2iscsi: Fix a memleak in beiscsi_init_wrb_handle()

Douglas Anderson (5):

      r8152: Rename RTL8152_UNPLUG to RTL8152_INACCESSIBLE
      r8152: Add RTL8152_INACCESSIBLE checks to more loops
      r8152: Add RTL8152_INACCESSIBLE to r8156b_wait_loading_flash()
      r8152: Add RTL8152_INACCESSIBLE to r8153_pre_firmware_1()
      r8152: Add RTL8152_INACCESSIBLE to r8153_aldps_en()

Eric Dumazet (2):
ipv6: fix potential NULL deref in fib6_add()
tcp: do not accept ACK of bytes we never sent

Eugen Hristev (2):
arm64: dts: mediatek: mt7622: fix memory node warning check
arm64: dts: mediatek: mt8183-kukui-jacuzzi: fix dsi unnecessary cells properties

Fabio Estevam (2):
ARM: dts: imx6ul-pico: Describe the Ethernet PHY clock
ARM: dts: imx28-xea: Pass the 'model' property

Florian Westphal (2):
netfilter: nf_tables: fix 'exist' matching on bigendian arches
netfilter: nft_set_pipapo: skip inactive elements during set walk

Francesco Dolcini (1):
platform/surface: aggregator: fix recv_buf() return value

Geetha sowjanya (3):
octeontx2-af: Fix mcs sa cam entries size
octeontx2-af: Fix mcs stats register address
octeontx2-af: Add missing mcs flr handler call

Georg Gottleuber (1):
nvme-pci: Add sleep quirk for Kingston drives

Greg Kroah-Hartman (1):

      Linux 6.1.68

Hans de Goede (1):
platform/x86: asus-wmi: Move i8042 filter install to shared asus-wmi code

Heiko Carstens (1):
checkstack: fix printed address

Helge Deller (2):
parisc: Reduce size of the bug_table on 64-bit kernel by half
parisc: Fix asm operand number out of range build error in bug table

Hengqi Chen (2):
LoongArch: BPF: Don't sign extend memory load operand
LoongArch: BPF: Don't sign extend function return value

Hsin-Yi Wang (1):
arm64: dts: mt8183: kukui: Fix underscores in node names

Hugh Dickins (1):
mm: fix oops when filemap_map_pmd() without prealloc_pte

Ido Schimmel (2):
psample: Require 'CAP_NET_ADMIN' when joining "packets" group
drop_monitor: Require 'CAP_SYS_ADMIN' when joining "events" group

Ivan Vecera (1):
i40e: Fix unexpected MFS warning message

JP Kobryn (1):
kprobes: consistent rcu api usage for kretprobe holder

Jack Wang (4):
RDMA/rtrs-srv: Do not unconditionally enable irq RDMA/rtrs-clt: Start hb after path_up RDMA/rtrs-clt: Fix the max_send_wr setting RDMA/rtrs-clt: Remove the warnings for req in_use check

Jacob Keller (1):
iavf: validate tx_coalesce_usecs even if rx_coalesce_usecs is zero

Jan Bottorff (1):
i2c: designware: Fix corrupted memory seen in the ISR

Jani Nikula (1):
drm/i915/sdvo: stop caching has_hdmi_monitor in struct intel_sdvo

Jason Zhang (1):
ALSA: pcm: fix out-of-bounds in snd_pcm_state_names

Jeremy Sowden (1):
netfilter: nft_exthdr: add boolean DCCP option matching

Jia Jie Ho (1):
riscv: Kconfig: Add select ARM_AMBA to SOC_STARFIVE

Jianheng Zhang (1):
net: stmmac: fix FPE events losing

Jiaxun Yang (3):
MIPS: Loongson64: Reserve vgabios memory on boot
MIPS: Loongson64: Handle more memory types passed from firmware
MIPS: Loongson64: Enable DMA noncoherent support

John Fastabend (1):
bpf: sockmap, updating the sg structure should also update curr

Jonas Karlman (1):
arm64: dts: rockchip: Expand reg size of vdec node for RK3328

Jozsef Kadlecsik (1):
netfilter: ipset: fix race condition between swap/destroy and kernel side add/del/test

Junhao He (1):
hwtracing: hisi_ptt: Add dummy callback pmu::read()

Junxian Huang (1):
RDMA/hns: Fix unnecessary err return when using invalid congest control algorithm

Kalesh AP (1):
RDMA/bnxt_re: Correct module description string

Kirill A. Shutemov (2):
x86/coco: Disable 32-bit emulation by default on TDX and SEV x86/tdx: Allow 32-bit emulation by default

Konrad Dybcio (1):
dt-bindings: interrupt-controller: Allow #power-domain-cells

Konstantin Aladyshev (1):
usb: gadget: f_hid: fix report descriptor allocation

Krzysztof Kozlowski (1):

      arm64: dts: mediatek: add missing space before {

Kunwu Chan (3):
platform/mellanox: Add null pointer checks for devm_kasprintf() platform/mellanox: Check devm_hwmon_device_register_with_groups() return value
ARM: imx: Check return value of devm_kasprintf in imx_mmdc_perf_init

Luben Tuikov (5):
drm/amdgpu: Remove redundant I2C EEPROM address drm/amdgpu: Decouple RAS EEPROM addresses from chips drm/amdgpu: Add support for RAS table at 0x40000 drm/amdgpu: Remove second moot switch to set EEPROM I2C address drm/amdgpu: Return from switch early for EEPROM I2C address

Luca Ceresoli (1):
of: dynamic: Fix of_reconfig_get_state_change() return value documentation

Lukasz Luba (1):
powercap: DTPM: Fix missing cpufreq_cpu_put() calls

Malcolm Hart (1):
ASoC: amd: yc: Fix non-functional mic on ASUS E1504FA

Mario Limonciello (1):
ALSA: hda/realtek: Add Framework laptop 16 to quirks

Masahiro Yamada (1):
kconfig: fix memory leak from range properties

Masami Hiramatsu (Google) (1):
rethook: Use __rcu pointer for rethook::handler

Mathias Nyman (1):
Revert "xhci: Loosen RPM as default policy to cover for AMD xHC 1.1"

Matthias Reichl (1):
regmap: fix bogus error on regcache_sync success

Md Haris Iqbal (3):
RDMA/rtrs-srv: Check return values while processing info request RDMA/rtrs-srv: Free srv_mr iu only when always_invalidate is true RDMA/rtrs-srv: Destroy path files after making sure no IOs in-flight

Mike Kravetz (1):
hugetlb: fix null-ptr-deref in hugetlb_vma_lock_write

Mike Marciniszyn (1):
RDMA/core: Fix umem iterator when PAGE_SIZE is greater then HCA pgsz

Mukesh Ojha (1):
devcoredump: Send uevent once devcd is ready

Mustafa Ismail (2):
RDMA/irdma: Do not modify to SQD on error
RDMA/irdma: Add wait for suspend on SQD

Nathan Rossi (1):
arm64: dts: imx8mp: imx8mq: Add parkmode-disable-ss-quirk on DWC3

Naveen Mamindlapalli (1):
octeontx2-pf: consider both Rx and Tx packet stats for adaptive interrupt coalescing

Neil Armstrong (1):
ASoC: codecs: lpass-tx-macro: set active_decimator correct default value

Nick Terrell (1):
zstd: Fix array-index-out-of-bounds UBSAN warning

Nikolay Borisov (1):

      x86: Introduce ia32_enabled()

Nithin Dabilpuram (1):
octeontx2-af: Adjust Tx credits when MCS external bypass is disabled

Nícolas F. R. A. Prado (2):
dt: dt-extract-compatibles: Handle cfile arguments in generator function
dt: dt-extract-compatibles: Don't follow symlinks when walking tree

Pablo Neira Ayuso (2):
netfilter: nf_tables: bail out on mismatching dynset and set expressions
netfilter: nf_tables: validate family when identifying table via handle

Paolo Abeni (1):
tcp: fix mid stream window clamp.

Paulo Alcantara (1):
smb: client: fix potential NULL deref in parse_dfs_referrals()

Pavel Begunkov (2):
io_uring/af_unix: disable sending io_uring over sockets
io_uring: fix mutex_unlock with unreferenced ctx

Peng Fan (1):
arm64: dts: imx8mq: drop usb3-resume-missing-cas from usb

Peter Zijlstra (1):
perf: Fix perf_event_validate_size()

Petr Pavlu (3):
tracing: Fix a warning when allocating buffered events fails
tracing: Fix incomplete locking when disabling buffered events
tracing: Fix a possible race when disabling buffered events

Phil Sutter (1):

      netfilter: xt_owner: Fix for unsafe access of sk->sk_socket

Philipp Zabel (1):
ARM: dts: imx7: Declare timers compatible with fsl,imx6dl-gpt

Prike Liang (1):
drm/amdgpu: correct the amdgpu runtime dereference usage count

RD Babiera (1):
usb: typec: class: fix typec_altmode_put_partner to put plugs

Rahul Bhansali (1):
octeontx2-af: Update Tx link register range

Randy Dunlap (1):
hv_netvsc: rndis_filter needs to select NLS

Robin Murphy (1):
iommu: Avoid more races around device probe

Ronald Wahl (3):
serial: 8250: 8250_omap: Clear UART_HAS_RHR_IT_DIS bit
serial: 8250: 8250_omap: Do not start RX DMA on THRI interrupt
serial: 8250_omap: Add earlycon support for the AM654 UART controller

Roy Luo (1):
USB: gadget: core: adjust uevent timing on gadget unbind

Ryusuke Konishi (2):
nilfs2: fix missing error check for sb_set_blocksize call
nilfs2: prevent WARNING in nilfs_sufile_set_segment_usage()

Sarah Grant (1):
ALSA: usb-audio: Add Pioneer DJM-450 mixer controls

Sean Christopherson (1):
KVM: SVM: Update EFER software model on CR0 trap for SEV-ES

Shannon Nelson (1):
ionic: fix snprintf format length warning

Shengjiu Wang (1):
ASoC: fsl_sai: Fix no frame sync clock issue on i.MX8MP

Shifeng Li (2):
RDMA/irdma: Fix UAF in irdma_sc_ccq_get_cqe_info() RDMA/irdma: Avoid free the non-cqp_request scratch

Shigeru Yoshida (1):
ipv4: ip_gre: Avoid skb_pull() failure in ipgre_xmit()

Sindhu Devale (1):
RDMA/irdma: Refactor error handling in create CQP

Srinivasan Shanmugam (1):
drm/amd/amdgpu: Fix warnings in amdgpu/amdgpu_display.c

Steve Sistare (1):
vdpa/mlx5: preserve CVQ vringh index

Steven Rostedt (Google) (5):
ring-buffer: Test last update in 32bit version of __rb_time_read()
tracing: Always update snapshot buffer size
tracing: Disable snapshot buffer when stopping instance tracers
ring-buffer: Force absolute timestamp on discard of event
tracing: Stop current tracer when resizing buffer

Su Hui (2):
misc: mei: client.c: return negative error code in mei_cl_write
misc: mei: client.c: fix problem of return '-EOVERFLOW' in mei_cl_write

Subbaraya Sundeep (2):
octeontx2-pf: Add missing mutex lock in otx2_get_pauseparam
octeontx2-af: Check return value of nix_get_nixlf before using nixlf

Sumit Garg (1):
tee: optee: Fix supplicant based device enumeration

Thomas Bogendoerfer (1):
MIPS: kernel: Clear FPU states when setting up kernel threads

Thomas Gleixner (3):

      hrtimers: Push pending hrtimers away from outgoing CPU earlier
      x86/entry: Convert INT 0x80 emulation to IDTENTRY
      x86/entry: Do not allow external 0x80 interrupts

Thomas Reichinger (1):
arcnet: restoring support for multiple Sohard Arcnet cards

Tim Bosse (1):
ALSA: hda/realtek: add new Framework laptop to quirks

Tim Huang (1):
drm/amdgpu: fix memory overflow in the IB test

Tim Van Patten (1):
cgroup_freezer: cgroup_freezing: Check if not frozen

Uwe Kleine-König (2):
coresight: etm4x: Make etm4_remove_dev() return void
coresight: etm4x: Remove bogous __exit annotation for some functions

Ville Syrjälä (2):
drm/i915/lvds: Use REG_BIT() & co.
drm/i915: Skip some timing checks on BXT/GLK DSI transcoders

Ye Bin (1):
md: introduce md_ro_state

Yewon Choi (1):
xsk: Skip polling event check for unbound socket

Yonglong Liu (2):
net: hns: fix wrong head when modify the tx feature when sending packets
net: hns: fix fake link up on xge port

Yu Kuai (1):
md: don't leave 'MD_RECOVERY_FROZEN' in error path of md_set_readonly()

YuanShang (1):
drm/amdgpu: correct chunk_ptr to a pointer to chunk.

Zheng Yejian (1):
tracing: Set actual size after ring buffer resize

Zhipeng Lu (1):
octeontx2-af: fix a use-after-free in rvu_npa_register_reporters

author maintainer
#1 lore raw
Documentation/ABI/testing/sysfs-bus-optee-devices +9 -0
index 0f58701367b6..af31e5a22d89 100644
@@ -6,3 +6,12 @@ Description:
 		OP-TEE bus provides reference to registered drivers under this directory. The <uuid>
 		matches Trusted Application (TA) driver and corresponding TA in secure OS. Drivers
 		are free to create needed API under optee-ta-<uuid> directory.
+
+What:		/sys/bus/tee/devices/optee-ta-<uuid>/need_supplicant
+Date:		November 2023
+KernelVersion:	6.7
+Contact:	[email protected]
+Description:
+		Allows to distinguish whether an OP-TEE based TA/device requires user-space
+		tee-supplicant to function properly or not. This attribute will be present for
+		devices which depend on tee-supplicant to be running.
Documentation/devicetree/bindings/interrupt-controller/qcom,mpm.yaml +4 -0
index 509d20c091af..6a206111d4e0 100644
@@ -62,6 +62,9 @@ properties:
         - description: MPM pin number
         - description: GIC SPI number for the MPM pin
 
+  '#power-domain-cells':
+    const: 0
+
 required:
   - compatible
   - reg
@@ -93,4 +96,5 @@ examples:
                            <86 183>,
                            <90 260>,
                            <91 260>;
+        #power-domain-cells = <0>;
     };
Makefile +1 -1
index c27600b90cad..2a8ad0cec2f1 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 1
-SUBLEVEL = 67
+SUBLEVEL = 68
 EXTRAVERSION =
 NAME = Curry Ramen
 
arch/arm/boot/dts/imx28-xea.dts +1 -0
index a400c108f66a..6c5e6856648a 100644
@@ -8,6 +8,7 @@
 #include "imx28-lwe.dtsi"
 
 / {
+	model = "Liebherr XEA board";
 	compatible = "lwn,imx28-xea", "fsl,imx28";
 };
 
arch/arm/boot/dts/imx6ul-pico.dtsi +2 -0
index 357ffb2f5ad6..dd6790852b0d 100644
@@ -121,6 +121,8 @@ ethphy1: ethernet-phy@1 {
 			max-speed = <100>;
 			interrupt-parent = <&gpio5>;
 			interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
+			clocks = <&clks IMX6UL_CLK_ENET_REF>;
+			clock-names = "rmii-ref";
 		};
 	};
 };
arch/arm/boot/dts/imx7s.dtsi +4 -4
index 667568aa4326..45947707134b 100644
@@ -454,7 +454,7 @@ iomuxc_lpsr: pinctrl@302c0000 {
 			};
 
 			gpt1: timer@302d0000 {
-				compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt";
+				compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt";
 				reg = <0x302d0000 0x10000>;
 				interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&clks IMX7D_GPT1_ROOT_CLK>,
@@ -463,7 +463,7 @@ gpt1: timer@302d0000 {
 			};
 
 			gpt2: timer@302e0000 {
-				compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt";
+				compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt";
 				reg = <0x302e0000 0x10000>;
 				interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&clks IMX7D_GPT2_ROOT_CLK>,
@@ -473,7 +473,7 @@ gpt2: timer@302e0000 {
 			};
 
 			gpt3: timer@302f0000 {
-				compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt";
+				compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt";
 				reg = <0x302f0000 0x10000>;
 				interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&clks IMX7D_GPT3_ROOT_CLK>,
@@ -483,7 +483,7 @@ gpt3: timer@302f0000 {
 			};
 
 			gpt4: timer@30300000 {
-				compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt";
+				compatible = "fsl,imx7d-gpt", "fsl,imx6dl-gpt";
 				reg = <0x30300000 0x10000>;
 				interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&clks IMX7D_GPT4_ROOT_CLK>,
arch/arm/mach-imx/mmdc.c +6 -1
index b9efe9da06e0..3d76e8c28c51 100644
@@ -502,6 +502,10 @@ static int imx_mmdc_perf_init(struct platform_device *pdev, void __iomem *mmdc_b
 
 	name = devm_kasprintf(&pdev->dev,
 				GFP_KERNEL, "mmdc%d", ret);
+	if (!name) {
+		ret = -ENOMEM;
+		goto pmu_release_id;
+	}
 
 	pmu_mmdc->mmdc_ipg_clk = mmdc_ipg_clk;
 	pmu_mmdc->devtype_data = (struct fsl_mmdc_devtype_data *)of_id->data;
@@ -524,9 +528,10 @@ static int imx_mmdc_perf_init(struct platform_device *pdev, void __iomem *mmdc_b
 
 pmu_register_err:
 	pr_warn("MMDC Perf PMU failed (%d), disabled\n", ret);
-	ida_simple_remove(&mmdc_ida, pmu_mmdc->id);
 	cpuhp_state_remove_instance_nocalls(cpuhp_mmdc_state, &pmu_mmdc->node);
 	hrtimer_cancel(&pmu_mmdc->hrtimer);
+pmu_release_id:
+	ida_simple_remove(&mmdc_ida, pmu_mmdc->id);
 pmu_free:
 	kfree(pmu_mmdc);
 	return ret;
arch/arm64/boot/dts/freescale/imx8mp.dtsi +2 -0
index 25630a395db5..8c34b3e12a66 100644
@@ -1301,6 +1301,7 @@ usb_dwc3_0: usb@38100000 {
 				phys = <&usb3_phy0>, <&usb3_phy0>;
 				phy-names = "usb2-phy", "usb3-phy";
 				snps,gfladj-refclk-lpm-sel-quirk;
+				snps,parkmode-disable-ss-quirk;
 			};
 
 		};
@@ -1343,6 +1344,7 @@ usb_dwc3_1: usb@38200000 {
 				phys = <&usb3_phy1>, <&usb3_phy1>;
 				phy-names = "usb2-phy", "usb3-phy";
 				snps,gfladj-refclk-lpm-sel-quirk;
+				snps,parkmode-disable-ss-quirk;
 			};
 		};
 
arch/arm64/boot/dts/freescale/imx8mq.dtsi +2 -2
index bf8f02c1535c..e642cb7d54d7 100644
@@ -1431,7 +1431,7 @@ usb_dwc3_0: usb@38100000 {
 			phys = <&usb3_phy0>, <&usb3_phy0>;
 			phy-names = "usb2-phy", "usb3-phy";
 			power-domains = <&pgc_otg1>;
-			usb3-resume-missing-cas;
+			snps,parkmode-disable-ss-quirk;
 			status = "disabled";
 		};
 
@@ -1463,7 +1463,7 @@ usb_dwc3_1: usb@38200000 {
 			phys = <&usb3_phy1>, <&usb3_phy1>;
 			phy-names = "usb2-phy", "usb3-phy";
 			power-domains = <&pgc_otg2>;
-			usb3-resume-missing-cas;
+			snps,parkmode-disable-ss-quirk;
 			status = "disabled";
 		};
 
arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts +1 -1
index d3f9eab2b784..2c35ed0734a4 100644
@@ -72,7 +72,7 @@ led-1 {
 		};
 	};
 
-	memory {
+	memory@40000000 {
 		reg = <0 0x40000000 0 0x40000000>;
 	};
 
arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts +1 -1
index 36722cabe626..f9313b697ac1 100644
@@ -54,7 +54,7 @@ key-wps {
 		};
 	};
 
-	memory {
+	memory@40000000 {
 		reg = <0 0x40000000 0 0x20000000>;
 	};
 
arch/arm64/boot/dts/mediatek/mt8173-evb.dts +2 -2
index 0b5f154007be..49c7185243cc 100644
@@ -43,7 +43,7 @@ extcon_usb: extcon_iddig {
 		id-gpio = <&pio 16 GPIO_ACTIVE_HIGH>;
 	};
 
-	usb_p1_vbus: regulator@0 {
+	usb_p1_vbus: regulator-usb-p1 {
 		compatible = "regulator-fixed";
 		regulator-name = "usb_vbus";
 		regulator-min-microvolt = <5000000>;
@@ -52,7 +52,7 @@ usb_p1_vbus: regulator@0 {
 		enable-active-high;
 	};
 
-	usb_p0_vbus: regulator@1 {
+	usb_p0_vbus: regulator-usb-p0 {
 		compatible = "regulator-fixed";
 		regulator-name = "vbus";
 		regulator-min-microvolt = <5000000>;
arch/arm64/boot/dts/mediatek/mt8183-evb.dts +26 -26

136 lines not on this page · raw message

arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi +5 -3
index 3ac83be53627..dccf367c7ec6 100644
@@ -101,6 +101,8 @@ cros_ec_pwm: pwm {
 
 &dsi0 {
 	status = "okay";
+	/delete-property/#size-cells;
+	/delete-property/#address-cells;
 	/delete-node/panel@0;
 	ports {
 		port {
@@ -437,20 +439,20 @@ pins2 {
 	};
 
 	touchscreen_pins: touchscreen-pins {
-		touch_int_odl {
+		touch-int-odl {
 			pinmux = <PINMUX_GPIO155__FUNC_GPIO155>;
 			input-enable;
 			bias-pull-up;
 		};
 
-		touch_rst_l {
+		touch-rst-l {
 			pinmux = <PINMUX_GPIO156__FUNC_GPIO156>;
 			output-high;
 		};
 	};
 
 	trackpad_pins: trackpad-pins {
-		trackpad_int {
+		trackpad-int {
 			pinmux = <PINMUX_GPIO7__FUNC_GPIO7>;
 			input-enable;
 			bias-disable; /* pulled externally */
arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi +48 -48

352 lines not on this page · raw message

arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts +6 -6
index a1d01639df30..dd8d39861d9c 100644
@@ -178,7 +178,7 @@ &mmc1 {
 
 &pio {
 	i2c_pins_0: i2c0 {
-		pins_i2c{
+		pins_i2c {
 			pinmux = <PINMUX_GPIO82__FUNC_SDA0>,
 				 <PINMUX_GPIO83__FUNC_SCL0>;
 			mediatek,pull-up-adv = <3>;
@@ -187,7 +187,7 @@ pins_i2c{
 	};
 
 	i2c_pins_1: i2c1 {
-		pins_i2c{
+		pins_i2c {
 			pinmux = <PINMUX_GPIO81__FUNC_SDA1>,
 				 <PINMUX_GPIO84__FUNC_SCL1>;
 			mediatek,pull-up-adv = <3>;
@@ -196,7 +196,7 @@ pins_i2c{
 	};
 
 	i2c_pins_2: i2c2 {
-		pins_i2c{
+		pins_i2c {
 			pinmux = <PINMUX_GPIO103__FUNC_SCL2>,
 				 <PINMUX_GPIO104__FUNC_SDA2>;
 			mediatek,pull-up-adv = <3>;
@@ -205,7 +205,7 @@ pins_i2c{
 	};
 
 	i2c_pins_3: i2c3 {
-		pins_i2c{
+		pins_i2c {
 			pinmux = <PINMUX_GPIO50__FUNC_SCL3>,
 				 <PINMUX_GPIO51__FUNC_SDA3>;
 			mediatek,pull-up-adv = <3>;
@@ -214,7 +214,7 @@ pins_i2c{
 	};
 
 	i2c_pins_4: i2c4 {
-		pins_i2c{
+		pins_i2c {
 			pinmux = <PINMUX_GPIO105__FUNC_SCL4>,
 				 <PINMUX_GPIO106__FUNC_SDA4>;
 			mediatek,pull-up-adv = <3>;
@@ -223,7 +223,7 @@ pins_i2c{
 	};
 
 	i2c_pins_5: i2c5 {
-		pins_i2c{
+		pins_i2c {
 			pinmux = <PINMUX_GPIO48__FUNC_SCL5>,
 				 <PINMUX_GPIO49__FUNC_SDA5>;
 			mediatek,pull-up-adv = <3>;
arch/arm64/boot/dts/mediatek/mt8183.dtsi +121 -121

252 lines not on this page · raw message

arch/arm64/boot/dts/mediatek/mt8195-cherry.dtsi +1 -1
index 9b62e161db26..4b8a1c462906 100644
@@ -207,7 +207,7 @@ &i2c7 {
 	pinctrl-0 = <&i2c7_pins>;
 
 	pmic@34 {
-		#interrupt-cells = <1>;
+		#interrupt-cells = <2>;
 		compatible = "mediatek,mt6360";
 		reg = <0x34>;
 		interrupt-controller;
arch/arm64/boot/dts/mediatek/mt8195.dtsi +5 -1
index ef2764a595ed..414cbe345127 100644
@@ -471,6 +471,8 @@ power-domain@MT8195_POWER_DOMAIN_VDEC1 {
 
 					power-domain@MT8195_POWER_DOMAIN_VENC_CORE1 {
 						reg = <MT8195_POWER_DOMAIN_VENC_CORE1>;
+						clocks = <&vencsys_core1 CLK_VENC_CORE1_LARB>;
+						clock-names = "venc1-larb";
 						mediatek,infracfg = <&infracfg_ao>;
 						#power-domain-cells = <0>;
 					};
@@ -533,6 +535,8 @@ power-domain@MT8195_POWER_DOMAIN_VDEC2 {
 
 						power-domain@MT8195_POWER_DOMAIN_VENC {
 							reg = <MT8195_POWER_DOMAIN_VENC>;
+							clocks = <&vencsys CLK_VENC_LARB>;
+							clock-names = "venc0-larb";
 							mediatek,infracfg = <&infracfg_ao>;
 							#power-domain-cells = <0>;
 						};
@@ -1985,7 +1989,7 @@ larb20: larb@1b010000 {
 			reg = <0 0x1b010000 0 0x1000>;
 			mediatek,larb-id = <20>;
 			mediatek,smi = <&smi_common_vpp>;
-			clocks = <&vencsys_core1 CLK_VENC_CORE1_LARB>,
+			clocks = <&vencsys_core1 CLK_VENC_CORE1_VENC>,
 				 <&vencsys_core1 CLK_VENC_CORE1_GALS>,
 				 <&vppsys0 CLK_VPP0_GALS_VDO0_VDO1_VENCSYS_CORE1>;
 			clock-names = "apb", "smi", "gals";
arch/arm64/boot/dts/rockchip/rk3328.dtsi +1 -1
index 49ae15708a0b..905a50aa5dc3 100644
@@ -666,7 +666,7 @@ vpu_mmu: iommu@ff350800 {
 
 	vdec: video-codec@ff360000 {
 		compatible = "rockchip,rk3328-vdec", "rockchip,rk3399-vdec";
-		reg = <0x0 0xff360000 0x0 0x400>;
+		reg = <0x0 0xff360000 0x0 0x480>;
 		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>,
 			 <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>;
arch/arm64/boot/dts/rockchip/rk3399.dtsi +4 -2
index 5f3caf01bade..a7e6eccb14cc 100644
@@ -1062,7 +1062,9 @@ power-domain@RK3399_PD_VCODEC {
 			power-domain@RK3399_PD_VDU {
 				reg = <RK3399_PD_VDU>;
 				clocks = <&cru ACLK_VDU>,
-					 <&cru HCLK_VDU>;
+					 <&cru HCLK_VDU>,
+					 <&cru SCLK_VDU_CA>,
+					 <&cru SCLK_VDU_CORE>;
 				pm_qos = <&qos_video_m1_r>,
 					 <&qos_video_m1_w>;
 				#power-domain-cells = <0>;
@@ -1338,7 +1340,7 @@ vpu_mmu: iommu@ff650800 {
 
 	vdec: video-codec@ff660000 {
 		compatible = "rockchip,rk3399-vdec";
-		reg = <0x0 0xff660000 0x0 0x400>;
+		reg = <0x0 0xff660000 0x0 0x480>;
 		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>;
 		clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>,
 			 <&cru SCLK_VDU_CA>, <&cru SCLK_VDU_CORE>;
arch/loongarch/net/bpf_jit.c +2 -10
index 82b4402810da..40ed49d9adff 100644
@@ -796,8 +796,6 @@ static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ctx, bool ext
 
 	/* function return */
 	case BPF_JMP | BPF_EXIT:
-		emit_sext_32(ctx, regmap[BPF_REG_0], true);
-
 		if (i == ctx->prog->len - 1)
 			break;
 
@@ -844,14 +842,8 @@ static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ctx, bool ext
 			}
 			break;
 		case BPF_DW:
-			if (is_signed_imm12(off)) {
-				emit_insn(ctx, ldd, dst, src, off);
-			} else if (is_signed_imm14(off)) {
-				emit_insn(ctx, ldptrd, dst, src, off);
-			} else {
-				move_imm(ctx, t1, off, is32);
-				emit_insn(ctx, ldxd, dst, src, t1);
-			}
+			move_imm(ctx, t1, off, is32);
+			emit_insn(ctx, ldxd, dst, src, t1);
 			break;
 		}
 		break;
arch/mips/Kconfig +2 -0
index 0e62f5edaee2..585783c9907e 100644
@@ -483,6 +483,7 @@ config MACH_LOONGSON2EF
 
 config MACH_LOONGSON64
 	bool "Loongson 64-bit family of machines"
+	select ARCH_DMA_DEFAULT_COHERENT
 	select ARCH_SPARSEMEM_ENABLE
 	select ARCH_MIGHT_HAVE_PC_PARPORT
 	select ARCH_MIGHT_HAVE_PC_SERIO
@@ -1304,6 +1305,7 @@ config CPU_LOONGSON64
 	select CPU_SUPPORTS_MSA
 	select CPU_DIEI_BROKEN if !LOONGSON3_ENHANCEMENT
 	select CPU_MIPSR2_IRQ_VI
+	select DMA_NONCOHERENT
 	select WEAK_ORDERING
 	select WEAK_REORDERING_BEYOND_LLSC
 	select MIPS_ASID_BITS_VARIABLE
arch/mips/include/asm/mach-loongson64/boot_param.h +7 -2
index 035b1a69e2d0..e007edd6b60a 100644
@@ -14,7 +14,11 @@
 #define ADAPTER_ROM		8
 #define ACPI_TABLE		9
 #define SMBIOS_TABLE		10
-#define MAX_MEMORY_TYPE		11
+#define UMA_VIDEO_RAM		11
+#define VUMA_VIDEO_RAM		12
+#define MAX_MEMORY_TYPE		13
+
+#define MEM_SIZE_IS_IN_BYTES	(1 << 31)
 
 #define LOONGSON3_BOOT_MEM_MAP_MAX 128
 struct efi_memory_map_loongson {
@@ -117,7 +121,8 @@ struct irq_source_routing_table {
 	u64 pci_io_start_addr;
 	u64 pci_io_end_addr;
 	u64 pci_config_addr;
-	u32 dma_mask_bits;
+	u16 dma_mask_bits;
+	u16 dma_noncoherent;
 } __packed;
 
 struct interface_info {
arch/mips/kernel/process.c +13 -12
index bbe9ce471791..17d80e2f2e4c 100644
@@ -121,6 +121,19 @@ int copy_thread(struct task_struct *p, const struct kernel_clone_args *args)
 	/*  Put the stack after the struct pt_regs.  */
 	childksp = (unsigned long) childregs;
 	p->thread.cp0_status = (read_c0_status() & ~(ST0_CU2|ST0_CU1)) | ST0_KERNEL_CUMASK;
+
+	/*
+	 * New tasks lose permission to use the fpu. This accelerates context
+	 * switching for most programs since they don't use the fpu.
+	 */
+	clear_tsk_thread_flag(p, TIF_USEDFPU);
+	clear_tsk_thread_flag(p, TIF_USEDMSA);
+	clear_tsk_thread_flag(p, TIF_MSA_CTX_LIVE);
+
+#ifdef CONFIG_MIPS_MT_FPAFF
+	clear_tsk_thread_flag(p, TIF_FPUBOUND);
+#endif /* CONFIG_MIPS_MT_FPAFF */
+
 	if (unlikely(args->fn)) {
 		/* kernel thread */
 		unsigned long status = p->thread.cp0_status;
@@ -149,20 +162,8 @@ int copy_thread(struct task_struct *p, const struct kernel_clone_args *args)
 	p->thread.reg29 = (unsigned long) childregs;
 	p->thread.reg31 = (unsigned long) ret_from_fork;
 
-	/*
-	 * New tasks lose permission to use the fpu. This accelerates context
-	 * switching for most programs since they don't use the fpu.
-	 */
 	childregs->cp0_status &= ~(ST0_CU2|ST0_CU1);
 
-	clear_tsk_thread_flag(p, TIF_USEDFPU);
-	clear_tsk_thread_flag(p, TIF_USEDMSA);
-	clear_tsk_thread_flag(p, TIF_MSA_CTX_LIVE);
-
-#ifdef CONFIG_MIPS_MT_FPAFF
-	clear_tsk_thread_flag(p, TIF_FPUBOUND);
-#endif /* CONFIG_MIPS_MT_FPAFF */
-
 #ifdef CONFIG_MIPS_FP_SUPPORT
 	atomic_set(&p->thread.bd_emu_frame, BD_EMUFRAME_NONE);
 #endif
arch/mips/loongson64/env.c +9 -1
index c961e2999f15..ef3750a6ffac 100644
@@ -13,6 +13,8 @@
  * Copyright (C) 2009 Lemote Inc.
  * Author: Wu Zhangjin, [email protected]
  */
+
+#include <linux/dma-map-ops.h>
 #include <linux/export.h>
 #include <linux/pci_ids.h>
 #include <asm/bootinfo.h>
@@ -147,8 +149,14 @@ void __init prom_lefi_init_env(void)
 
 	loongson_sysconf.dma_mask_bits = eirq_source->dma_mask_bits;
 	if (loongson_sysconf.dma_mask_bits < 32 ||
-		loongson_sysconf.dma_mask_bits > 64)
+			loongson_sysconf.dma_mask_bits > 64) {
 		loongson_sysconf.dma_mask_bits = 32;
+		dma_default_coherent = true;
+	} else {
+		dma_default_coherent = !eirq_source->dma_noncoherent;
+	}
+
+	pr_info("Firmware: Coherent DMA: %s\n", dma_default_coherent ? "on" : "off");
 
 	loongson_sysconf.restart_addr = boot_p->reset_system.ResetWarm;
 	loongson_sysconf.poweroff_addr = boot_p->reset_system.Shutdown;
arch/mips/loongson64/init.c +31 -16

69 lines not on this page · raw message

arch/parisc/Kconfig +5 -2
index 67c26e81e215..345d5e021484 100644
@@ -105,9 +105,12 @@ config ARCH_HAS_ILOG2_U64
 	default n
 
 config GENERIC_BUG
-	bool
-	default y
+	def_bool y
 	depends on BUG
+	select GENERIC_BUG_RELATIVE_POINTERS if 64BIT
+
+config GENERIC_BUG_RELATIVE_POINTERS
+	bool
 
 config GENERIC_HWEIGHT
 	bool
arch/parisc/include/asm/bug.h +18 -18
index b9cad0bb4461..833555f74ffa 100644
@@ -17,26 +17,27 @@
 #define	PARISC_BUG_BREAK_ASM	"break 0x1f, 0x1fff"
 #define	PARISC_BUG_BREAK_INSN	0x03ffe01f  /* PARISC_BUG_BREAK_ASM */
 
-#if defined(CONFIG_64BIT)
-#define ASM_WORD_INSN		".dword\t"
+#ifdef CONFIG_GENERIC_BUG_RELATIVE_POINTERS
+# define __BUG_REL(val) ".word " __stringify(val) " - ."
 #else
-#define ASM_WORD_INSN		".word\t"
+# define __BUG_REL(val) ".word " __stringify(val)
 #endif
 
+
 #ifdef CONFIG_DEBUG_BUGVERBOSE
 #define BUG()								\
 	do {								\
 		asm volatile("\n"					\
 			     "1:\t" PARISC_BUG_BREAK_ASM "\n"		\
 			     "\t.pushsection __bug_table,\"a\"\n"	\
-			     "\t.align %4\n"				\
-			     "2:\t" ASM_WORD_INSN "1b, %c0\n"		\
+			     "\t.align 4\n"				\
+			     "2:\t" __BUG_REL(1b) "\n"			\
+			     "\t" __BUG_REL(%c0)  "\n"			\
 			     "\t.short %1, %2\n"			\
-			     "\t.blockz %3-2*%4-2*2\n"			\
+			     "\t.blockz %3-2*4-2*2\n"			\
 			     "\t.popsection"				\
 			     : : "i" (__FILE__), "i" (__LINE__),	\
-			     "i" (0), "i" (sizeof(struct bug_entry)),	\
-			     "i" (sizeof(long)) );			\
+			     "i" (0), "i" (sizeof(struct bug_entry)) );	\
 		unreachable();						\
 	} while(0)
 
@@ -54,15 +55,15 @@
 		asm volatile("\n"					\
 			     "1:\t" PARISC_BUG_BREAK_ASM "\n"		\
 			     "\t.pushsection __bug_table,\"a\"\n"	\
-			     "\t.align %4\n"				\
-			     "2:\t" ASM_WORD_INSN "1b, %c0\n"		\
+			     "\t.align 4\n"				\
+			     "2:\t" __BUG_REL(1b) "\n"			\
+			     "\t" __BUG_REL(%c0)  "\n"			\
 			     "\t.short %1, %2\n"			\
-			     "\t.blockz %3-2*%4-2*2\n"			\
+			     "\t.blockz %3-2*4-2*2\n"			\
 			     "\t.popsection"				\
 			     : : "i" (__FILE__), "i" (__LINE__),	\
 			     "i" (BUGFLAG_WARNING|(flags)),		\
-			     "i" (sizeof(struct bug_entry)),		\
-			     "i" (sizeof(long)) );			\
+			     "i" (sizeof(struct bug_entry)) );		\
 	} while(0)
 #else
 #define __WARN_FLAGS(flags)						\
@@ -70,14 +71,13 @@
 		asm volatile("\n"					\
 			     "1:\t" PARISC_BUG_BREAK_ASM "\n"		\
 			     "\t.pushsection __bug_table,\"a\"\n"	\
-			     "\t.align %2\n"				\
-			     "2:\t" ASM_WORD_INSN "1b\n"		\
+			     "\t.align 4\n"				\
+			     "2:\t" __BUG_REL(1b) "\n"			\
 			     "\t.short %0\n"				\
-			     "\t.blockz %1-%2-2\n"			\
+			     "\t.blockz %1-4-2\n"			\
 			     "\t.popsection"				\
 			     : : "i" (BUGFLAG_WARNING|(flags)),		\
-			     "i" (sizeof(struct bug_entry)),		\
-			     "i" (sizeof(long)) );			\
+			     "i" (sizeof(struct bug_entry)) );		\
 	} while(0)
 #endif
 
arch/riscv/Kconfig.socs +1 -0
index 69774bb362d6..29d78eefc889 100644
@@ -23,6 +23,7 @@ config SOC_STARFIVE
 	select PINCTRL
 	select RESET_CONTROLLER
 	select SIFIVE_PLIC
+	select ARM_AMBA
 	help
 	  This enables support for StarFive SoC platform hardware.
 
arch/riscv/kernel/traps_misaligned.c +2 -4
index 378f5b151443..5348d842c745 100644
@@ -342,16 +342,14 @@ int handle_misaligned_store(struct pt_regs *regs)
 	} else if ((insn & INSN_MASK_C_SD) == INSN_MATCH_C_SD) {
 		len = 8;
 		val.data_ulong = GET_RS2S(insn, regs);
-	} else if ((insn & INSN_MASK_C_SDSP) == INSN_MATCH_C_SDSP &&
-		   ((insn >> SH_RD) & 0x1f)) {
+	} else if ((insn & INSN_MASK_C_SDSP) == INSN_MATCH_C_SDSP) {
 		len = 8;
 		val.data_ulong = GET_RS2C(insn, regs);
 #endif
 	} else if ((insn & INSN_MASK_C_SW) == INSN_MATCH_C_SW) {
 		len = 4;
 		val.data_ulong = GET_RS2S(insn, regs);
-	} else if ((insn & INSN_MASK_C_SWSP) == INSN_MATCH_C_SWSP &&
-		   ((insn >> SH_RD) & 0x1f)) {
+	} else if ((insn & INSN_MASK_C_SWSP) == INSN_MATCH_C_SWSP) {
 		len = 4;
 		val.data_ulong = GET_RS2C(insn, regs);
 	} else {
arch/s390/mm/pgtable.c +1 -1
index 4909dcd762e8..9977d637f836 100644
@@ -731,7 +731,7 @@ void ptep_zap_unused(struct mm_struct *mm, unsigned long addr,
 		pte_clear(mm, addr, ptep);
 	}
 	if (reset)
-		pgste_val(pgste) &= ~_PGSTE_GPS_USAGE_MASK;
+		pgste_val(pgste) &= ~(_PGSTE_GPS_USAGE_MASK | _PGSTE_GPS_NODAT);
 	pgste_set_unlock(ptep, pgste);
 	preempt_enable();
 }
arch/x86/coco/tdx/tdx.c +1 -0
index 8a1d48b8c2a3..d0565a9e7d8c 100644
@@ -8,6 +8,7 @@
 #include <asm/coco.h>
 #include <asm/tdx.h>
 #include <asm/vmx.h>
+#include <asm/ia32.h>
 #include <asm/insn.h>
 #include <asm/insn-eval.h>
 #include <asm/pgtable.h>
arch/x86/entry/common.c +96 -1

121 lines not on this page · raw message

arch/x86/entry/entry_64_compat.S +0 -77

80 lines not on this page · raw message

arch/x86/include/asm/ia32.h +22 -1
index fada857f0a1e..9805629479d9 100644
@@ -68,6 +68,27 @@ extern void ia32_pick_mmap_layout(struct mm_struct *mm);
 
 #endif
 
-#endif /* CONFIG_IA32_EMULATION */
+extern bool __ia32_enabled;
+
+static inline bool ia32_enabled(void)
+{
+	return __ia32_enabled;
+}
+
+static inline void ia32_disable(void)
+{
+	__ia32_enabled = false;
+}
+
+#else /* !CONFIG_IA32_EMULATION */
+
+static inline bool ia32_enabled(void)
+{
+	return IS_ENABLED(CONFIG_X86_32);
+}
+
+static inline void ia32_disable(void) {}
+
+#endif
 
 #endif /* _ASM_X86_IA32_H */
arch/x86/include/asm/idtentry.h +4 -0
index 72184b0b2219..fca710a93eb9 100644
@@ -569,6 +569,10 @@ DECLARE_IDTENTRY_RAW(X86_TRAP_UD,		exc_invalid_op);
 DECLARE_IDTENTRY_RAW(X86_TRAP_BP,		exc_int3);
 DECLARE_IDTENTRY_RAW_ERRORCODE(X86_TRAP_PF,	exc_page_fault);
 
+#if defined(CONFIG_IA32_EMULATION)
+DECLARE_IDTENTRY_RAW(IA32_SYSCALL_VECTOR,	int80_emulation);
+#endif
+
 #ifdef CONFIG_X86_MCE
 #ifdef CONFIG_X86_64
 DECLARE_IDTENTRY_MCE(X86_TRAP_MC,	exc_machine_check);
arch/x86/include/asm/proto.h +0 -4
index 12ef86b19910..84294b66b916 100644
@@ -32,10 +32,6 @@ void entry_SYSCALL_compat(void);
 void entry_SYSCALL_compat_safe_stack(void);
 void entry_SYSRETL_compat_unsafe_stack(void);
 void entry_SYSRETL_compat_end(void);
-void entry_INT80_compat(void);
-#ifdef CONFIG_XEN_PV
-void xen_entry_INT80_compat(void);
-#endif
 #endif
 
 void x86_configure_nx(void);
arch/x86/kernel/cpu/amd.c +3 -0
index b66960358381..c1d09c8844d6 100644
@@ -1291,6 +1291,9 @@ static void zenbleed_check_cpu(void *unused)
 
 void amd_check_microcode(void)
 {
+	if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD)
+		return;
+
 	on_each_cpu(zenbleed_check_cpu, NULL, 1);
 }
 
arch/x86/kernel/idt.c +1 -1
index a58c6bc1cd68..f5a3374e62cb 100644
@@ -117,7 +117,7 @@ static const __initconst struct idt_data def_idts[] = {
 
 	SYSG(X86_TRAP_OF,		asm_exc_overflow),
 #if defined(CONFIG_IA32_EMULATION)
-	SYSG(IA32_SYSCALL_VECTOR,	entry_INT80_compat),
+	SYSG(IA32_SYSCALL_VECTOR,	asm_int80_emulation),
 #elif defined(CONFIG_X86_32)
 	SYSG(IA32_SYSCALL_VECTOR,	entry_INT80_32),
 #endif
arch/x86/kernel/sev.c +7 -4
index 68b2a9d3dbc6..c8dfb0fdde7f 100644
@@ -1279,10 +1279,6 @@ void setup_ghcb(void)
 	if (!cc_platform_has(CC_ATTR_GUEST_STATE_ENCRYPT))
 		return;
 
-	/* First make sure the hypervisor talks a supported protocol. */
-	if (!sev_es_negotiate_protocol())
-		sev_es_terminate(SEV_TERM_SET_GEN, GHCB_SEV_ES_GEN_REQ);
-
 	/*
 	 * Check whether the runtime #VC exception handler is active. It uses
 	 * the per-CPU GHCB page which is set up by sev_es_init_vc_handling().
@@ -1297,6 +1293,13 @@ void setup_ghcb(void)
 		return;
 	}
 
+	/*
+	 * Make sure the hypervisor talks a supported protocol.
+	 * This gets called only in the BSP boot phase.
+	 */
+	if (!sev_es_negotiate_protocol())
+		sev_es_terminate(SEV_TERM_SET_GEN, GHCB_SEV_ES_GEN_REQ);
+
 	/*
 	 * Clear the boot_ghcb. The first exception comes in before the bss
 	 * section is cleared.
arch/x86/kvm/svm/svm.c +5 -3
index 4194aa4c5f0e..4a663812562d 100644
@@ -1786,15 +1786,17 @@ void svm_set_cr0(struct kvm_vcpu *vcpu, unsigned long cr0)
 	bool old_paging = is_paging(vcpu);
 
 #ifdef CONFIG_X86_64
-	if (vcpu->arch.efer & EFER_LME && !vcpu->arch.guest_state_protected) {
+	if (vcpu->arch.efer & EFER_LME) {
 		if (!is_paging(vcpu) && (cr0 & X86_CR0_PG)) {
 			vcpu->arch.efer |= EFER_LMA;
-			svm->vmcb->save.efer |= EFER_LMA | EFER_LME;
+			if (!vcpu->arch.guest_state_protected)
+				svm->vmcb->save.efer |= EFER_LMA | EFER_LME;
 		}
 
 		if (is_paging(vcpu) && !(cr0 & X86_CR0_PG)) {
 			vcpu->arch.efer &= ~EFER_LMA;
-			svm->vmcb->save.efer &= ~(EFER_LMA | EFER_LME);
+			if (!vcpu->arch.guest_state_protected)
+				svm->vmcb->save.efer &= ~(EFER_LMA | EFER_LME);
 		}
 	}
 #endif
arch/x86/mm/mem_encrypt_amd.c +11 -0
index 3ea0f763540a..3e93af083e03 100644
@@ -34,6 +34,7 @@
 #include <asm/msr.h>
 #include <asm/cmdline.h>
 #include <asm/sev.h>
+#include <asm/ia32.h>
 
 #include "mm_internal.h"
 
@@ -502,6 +503,16 @@ void __init sme_early_init(void)
 	x86_platform.guest.enc_status_change_finish  = amd_enc_status_change_finish;
 	x86_platform.guest.enc_tlb_flush_required    = amd_enc_tlb_flush_required;
 	x86_platform.guest.enc_cache_flush_required  = amd_enc_cache_flush_required;
+
+	/*
+	 * The VMM is capable of injecting interrupt 0x80 and triggering the
+	 * compatibility syscall path.
+	 *
+	 * By default, the 32-bit emulation is disabled in order to ensure
+	 * the safety of the VM.
+	 */
+	if (sev_status & MSR_AMD64_SEV_ENABLED)
+		ia32_disable();
 }
 
 void __init mem_encrypt_free_decrypted_mem(void)
arch/x86/xen/enlighten_pv.c +1 -1
index 333539bdbdaa..9280e15de3af 100644
@@ -623,7 +623,7 @@ static struct trap_array_entry trap_array[] = {
 	TRAP_ENTRY(exc_int3,				false ),
 	TRAP_ENTRY(exc_overflow,			false ),
 #ifdef CONFIG_IA32_EMULATION
-	{ entry_INT80_compat,          xen_entry_INT80_compat,          false },
+	TRAP_ENTRY(int80_emulation,			false ),
 #endif
 	TRAP_ENTRY(exc_page_fault,			false ),
 	TRAP_ENTRY(exc_divide_error,			false ),
arch/x86/xen/xen-asm.S +1 -1
index 6b4fdf6b9542..dec5e03e7a2c 100644
@@ -156,7 +156,7 @@ xen_pv_trap asm_xenpv_exc_machine_check
 #endif /* CONFIG_X86_MCE */
 xen_pv_trap asm_exc_simd_coprocessor_error
 #ifdef CONFIG_IA32_EMULATION
-xen_pv_trap entry_INT80_compat
+xen_pv_trap asm_int80_emulation
 #endif
 xen_pv_trap asm_exc_xen_unknown_trap
 xen_pv_trap asm_exc_xen_hypervisor_callback
drivers/acpi/scan.c +6 -1
index a0e347f6f97e..94154a849a3e 100644
@@ -1563,17 +1563,22 @@ static const struct iommu_ops *acpi_iommu_configure_id(struct device *dev,
 	int err;
 	const struct iommu_ops *ops;
 
+	/* Serialise to make dev->iommu stable under our potential fwspec */
+	mutex_lock(&iommu_probe_device_lock);
 	/*
 	 * If we already translated the fwspec there is nothing left to do,
 	 * return the iommu_ops.
 	 */
 	ops = acpi_iommu_fwspec_ops(dev);
-	if (ops)
+	if (ops) {
+		mutex_unlock(&iommu_probe_device_lock);
 		return ops;
+	}
 
 	err = iort_iommu_configure_id(dev, id_in);
 	if (err && err != -EPROBE_DEFER)
 		err = viot_iommu_configure(dev);
+	mutex_unlock(&iommu_probe_device_lock);
 
 	/*
 	 * If we have reason to believe the IOMMU driver missed the initial
drivers/android/binder.c +1 -0
index e4a6da81cd4b..9cc3a2b1b4fc 100644
@@ -4788,6 +4788,7 @@ static void binder_release_work(struct binder_proc *proc,
 				"undelivered TRANSACTION_ERROR: %u\n",
 				e->cmd);
 		} break;
+		case BINDER_WORK_TRANSACTION_ONEWAY_SPAM_SUSPECT:
 		case BINDER_WORK_TRANSACTION_COMPLETE: {
 			binder_debug(BINDER_DEBUG_DEAD_TRANSACTION,
 				"undelivered TRANSACTION_COMPLETE\n");
drivers/base/devcoredump.c +3 -0
index 1c06781f7114..f3bd9f104bd1 100644
@@ -363,6 +363,7 @@ void dev_coredumpm(struct device *dev, struct module *owner,
 	devcd->devcd_dev.class = &devcd_class;
 
 	mutex_lock(&devcd->mutex);
+	dev_set_uevent_suppress(&devcd->devcd_dev, true);
 	if (device_add(&devcd->devcd_dev))
 		goto put_device;
 
@@ -377,6 +378,8 @@ void dev_coredumpm(struct device *dev, struct module *owner,
 		              "devcoredump"))
 		dev_warn(dev, "devcoredump create_link failed\n");
 
+	dev_set_uevent_suppress(&devcd->devcd_dev, false);
+	kobject_uevent(&devcd->devcd_dev.kobj, KOBJ_ADD);
 	INIT_DELAYED_WORK(&devcd->del_wk, devcd_del);
 	schedule_delayed_work(&devcd->del_wk, DEVCD_TIMEOUT);
 	mutex_unlock(&devcd->mutex);
drivers/base/regmap/regcache.c +1 -2
index cf3fa998093d..4f3dd9316fb2 100644
@@ -410,8 +410,7 @@ int regcache_sync(struct regmap *map)
 			rb_entry(node, struct regmap_range_node, node);
 
 		/* If there's nothing in the cache there's nothing to sync */
-		ret = regcache_read(map, this->selector_reg, &i);
-		if (ret != 0)
+		if (regcache_read(map, this->selector_reg, &i) != 0)
 			continue;
 
 		ret = _regmap_write(map, this->selector_reg, i);
drivers/gpio/gpiolib-sysfs.c +9 -6
index cd27bf173dec..a64648682c72 100644
@@ -463,14 +463,17 @@ static ssize_t export_store(struct class *class,
 		goto done;
 
 	status = gpiod_set_transitory(desc, false);
-	if (!status) {
-		status = gpiod_export(desc, true);
-		if (status < 0)
-			gpiod_free(desc);
-		else
-			set_bit(FLAG_SYSFS, &desc->flags);
+	if (status) {
+		gpiod_free(desc);
+		goto done;
 	}
 
+	status = gpiod_export(desc, true);
+	if (status < 0)
+		gpiod_free(desc);
+	else
+		set_bit(FLAG_SYSFS, &desc->flags);
+
 done:
 	if (status)
 		pr_debug("%s: status %d\n", __func__, status);
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +1 -1
index ced4e7e8f98b..133e4e03c143 100644
@@ -201,7 +201,7 @@ static int amdgpu_cs_pass1(struct amdgpu_cs_parser *p,
 	}
 
 	for (i = 0; i < p->nchunks; i++) {
-		struct drm_amdgpu_cs_chunk __user **chunk_ptr = NULL;
+		struct drm_amdgpu_cs_chunk __user *chunk_ptr = NULL;
 		struct drm_amdgpu_cs_chunk user_chunk;
 		uint32_t __user *cdata;
 
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c +27 -22

137 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/amdgpu_eeprom.c +2 -0
index 4d9eb0137f8c..d6c4293829aa 100644
@@ -79,6 +79,8 @@
  * That is, for an I2C EEPROM driver everything is controlled by
  * the "eeprom_addr".
  *
+ * See also top of amdgpu_ras_eeprom.c.
+ *
  * P.S. If you need to write, lock and read the Identification Page,
  * (M24M02-DR device only, which we do not use), change the "7" to
  * "0xF" in the macro below, and let the client set bit 20 to 1 in
drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c +66 -53

147 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c +1 -1
index 23e7e5126eae..66a6f7a37ebc 100644
@@ -397,7 +397,7 @@ static int gfx_v11_0_ring_test_ib(struct amdgpu_ring *ring, long timeout)
 		adev->wb.wb[index] = cpu_to_le32(0xCAFEDEAD);
 		cpu_ptr = &adev->wb.wb[index];
 
-		r = amdgpu_ib_get(adev, NULL, 16, AMDGPU_IB_POOL_DIRECT, &ib);
+		r = amdgpu_ib_get(adev, NULL, 20, AMDGPU_IB_POOL_DIRECT, &ib);
 		if (r) {
 			DRM_ERROR("amdgpu: failed to get ib (%ld).\n", r);
 			goto err1;
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +2 -2
index 7f0b18b0d4c4..71ef25425c7f 100644
@@ -883,8 +883,8 @@ static int gfx_v8_0_ring_test_ib(struct amdgpu_ring *ring, long timeout)
 	gpu_addr = adev->wb.gpu_addr + (index * 4);
 	adev->wb.wb[index] = cpu_to_le32(0xCAFEDEAD);
 	memset(&ib, 0, sizeof(ib));
-	r = amdgpu_ib_get(adev, NULL, 16,
-					AMDGPU_IB_POOL_DIRECT, &ib);
+
+	r = amdgpu_ib_get(adev, NULL, 20, AMDGPU_IB_POOL_DIRECT, &ib);
 	if (r)
 		goto err1;
 
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +2 -2
index fe371022e510..84ca601f7d5f 100644
@@ -1034,8 +1034,8 @@ static int gfx_v9_0_ring_test_ib(struct amdgpu_ring *ring, long timeout)
 	gpu_addr = adev->wb.gpu_addr + (index * 4);
 	adev->wb.wb[index] = cpu_to_le32(0xCAFEDEAD);
 	memset(&ib, 0, sizeof(ib));
-	r = amdgpu_ib_get(adev, NULL, 16,
-					AMDGPU_IB_POOL_DIRECT, &ib);
+
+	r = amdgpu_ib_get(adev, NULL, 20, AMDGPU_IB_POOL_DIRECT, &ib);
 	if (r)
 		goto err1;
 
drivers/gpu/drm/bridge/Kconfig +1 -0
index 57946d80b02d..12baf9ba03c9 100644
@@ -309,6 +309,7 @@ config DRM_TOSHIBA_TC358768
 	select REGMAP_I2C
 	select DRM_PANEL
 	select DRM_MIPI_DSI
+	select VIDEOMODE_HELPERS
 	help
 	  Toshiba TC358768AXBG/TC358778XBG DSI bridge chip driver.
 
drivers/gpu/drm/i915/display/icl_dsi.c +7 -0
index 8219310025de..f7422f0cf579 100644
@@ -1500,6 +1500,13 @@ static void gen11_dsi_post_disable(struct intel_atomic_state *state,
 static enum drm_mode_status gen11_dsi_mode_valid(struct drm_connector *connector,
 						 struct drm_display_mode *mode)
 {
+	struct drm_i915_private *i915 = to_i915(connector->dev);
+	enum drm_mode_status status;
+
+	status = intel_cpu_transcoder_mode_valid(i915, mode);
+	if (status != MODE_OK)
+		return status;
+
 	/* FIXME: DSC? */
 	return intel_dsi_mode_valid(connector, mode);
 }
drivers/gpu/drm/i915/display/intel_crt.c +5 -0
index 4a8ff2f97608..e60b2cf84b85 100644
@@ -343,8 +343,13 @@ intel_crt_mode_valid(struct drm_connector *connector,
 	struct drm_device *dev = connector->dev;
 	struct drm_i915_private *dev_priv = to_i915(dev);
 	int max_dotclk = dev_priv->max_dotclk_freq;
+	enum drm_mode_status status;
 	int max_clock;
 
+	status = intel_cpu_transcoder_mode_valid(dev_priv, mode);
+	if (status != MODE_OK)
+		return status;
+
 	if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
 		return MODE_NO_DBLESCAN;
 
drivers/gpu/drm/i915/display/intel_display.c +10 -0
index 96e679a176e9..1777a12f2f42 100644
@@ -8229,6 +8229,16 @@ intel_mode_valid(struct drm_device *dev,
 	    mode->vtotal > vtotal_max)
 		return MODE_V_ILLEGAL;
 
+	return MODE_OK;
+}
+
+enum drm_mode_status intel_cpu_transcoder_mode_valid(struct drm_i915_private *dev_priv,
+						     const struct drm_display_mode *mode)
+{
+	/*
+	 * Additional transcoder timing limits,
+	 * excluding BXT/GLK DSI transcoders.
+	 */
 	if (DISPLAY_VER(dev_priv) >= 5) {
 		if (mode->hdisplay < 64 ||
 		    mode->htotal - mode->hdisplay < 32)
drivers/gpu/drm/i915/display/intel_display.h +3 -0
index 884e8e67b17c..b4f941674357 100644
@@ -554,6 +554,9 @@ enum drm_mode_status
 intel_mode_valid_max_plane_size(struct drm_i915_private *dev_priv,
 				const struct drm_display_mode *mode,
 				bool bigjoiner);
+enum drm_mode_status
+intel_cpu_transcoder_mode_valid(struct drm_i915_private *i915,
+				const struct drm_display_mode *mode);
 enum phy intel_port_to_phy(struct drm_i915_private *i915, enum port port);
 bool is_trans_port_sync_mode(const struct intel_crtc_state *state);
 bool intel_crtc_is_bigjoiner_slave(const struct intel_crtc_state *crtc_state);
drivers/gpu/drm/i915/display/intel_dp.c +3 -2
index 594ea037050a..5970f4149090 100644
@@ -973,8 +973,9 @@ intel_dp_mode_valid(struct drm_connector *_connector,
 	enum drm_mode_status status;
 	bool dsc = false, bigjoiner = false;
 
-	if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
-		return MODE_NO_DBLESCAN;
+	status = intel_cpu_transcoder_mode_valid(dev_priv, mode);
+	if (status != MODE_OK)
+		return status;
 
 	if (mode->flags & DRM_MODE_FLAG_DBLCLK)
 		return MODE_H_ILLEGAL;
drivers/gpu/drm/i915/display/intel_dp_mst.c +4 -0
index 9a6822256ddf..eec32f682012 100644
@@ -703,6 +703,10 @@ intel_dp_mst_mode_valid_ctx(struct drm_connector *connector,
 		return 0;
 	}
 
+	*status = intel_cpu_transcoder_mode_valid(dev_priv, mode);
+	if (*status != MODE_OK)
+		return 0;
+
 	if (mode->flags & DRM_MODE_FLAG_DBLSCAN) {
 		*status = MODE_NO_DBLESCAN;
 		return 0;
drivers/gpu/drm/i915/display/intel_dvo.c +6 -0
index 5572e43026e4..511c58907008 100644
@@ -225,10 +225,16 @@ intel_dvo_mode_valid(struct drm_connector *connector,
 {
 	struct intel_connector *intel_connector = to_intel_connector(connector);
 	struct intel_dvo *intel_dvo = intel_attached_dvo(intel_connector);
+	struct drm_i915_private *i915 = to_i915(intel_connector->base.dev);
 	const struct drm_display_mode *fixed_mode =
 		intel_panel_fixed_mode(intel_connector, mode);
 	int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
 	int target_clock = mode->clock;
+	enum drm_mode_status status;
+
+	status = intel_cpu_transcoder_mode_valid(i915, mode);
+	if (status != MODE_OK)
+		return status;
 
 	if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
 		return MODE_NO_DBLESCAN;
drivers/gpu/drm/i915/display/intel_hdmi.c +3 -2
index 7816b2a33fee..2600019fc8b9 100644
@@ -1987,8 +1987,9 @@ intel_hdmi_mode_valid(struct drm_connector *connector,
 	bool has_hdmi_sink = intel_has_hdmi_sink(hdmi, connector->state);
 	bool ycbcr_420_only;
 
-	if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
-		return MODE_NO_DBLESCAN;
+	status = intel_cpu_transcoder_mode_valid(dev_priv, mode);
+	if (status != MODE_OK)
+		return status;
 
 	if ((mode->flags & DRM_MODE_FLAG_3D_MASK) == DRM_MODE_FLAG_3D_FRAME_PACKING)
 		clock *= 2;
drivers/gpu/drm/i915/display/intel_lvds.c +7 -2
index a749a5a66d62..40b5d3d3c7e1 100644
@@ -92,9 +92,9 @@ bool intel_lvds_port_enabled(struct drm_i915_private *dev_priv,
 
 	/* asserts want to know the pipe even if the port is disabled */
 	if (HAS_PCH_CPT(dev_priv))
-		*pipe = (val & LVDS_PIPE_SEL_MASK_CPT) >> LVDS_PIPE_SEL_SHIFT_CPT;
+		*pipe = REG_FIELD_GET(LVDS_PIPE_SEL_MASK_CPT, val);
 	else
-		*pipe = (val & LVDS_PIPE_SEL_MASK) >> LVDS_PIPE_SEL_SHIFT;
+		*pipe = REG_FIELD_GET(LVDS_PIPE_SEL_MASK, val);
 
 	return val & LVDS_PORT_EN;
 }
@@ -389,11 +389,16 @@ intel_lvds_mode_valid(struct drm_connector *connector,
 		      struct drm_display_mode *mode)
 {
 	struct intel_connector *intel_connector = to_intel_connector(connector);
+	struct drm_i915_private *i915 = to_i915(intel_connector->base.dev);
 	const struct drm_display_mode *fixed_mode =
 		intel_panel_fixed_mode(intel_connector, mode);
 	int max_pixclk = to_i915(connector->dev)->max_dotclk_freq;
 	enum drm_mode_status status;
 
+	status = intel_cpu_transcoder_mode_valid(i915, mode);
+	if (status != MODE_OK)
+		return status;
+
 	if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
 		return MODE_NO_DBLESCAN;
 
drivers/gpu/drm/i915/display/intel_sdvo.c +14 -8
index 2c2e0f041f86..8294dddfd9de 100644
@@ -115,7 +115,6 @@ struct intel_sdvo {
 
 	enum port port;
 
-	bool has_hdmi_monitor;
 	bool has_hdmi_audio;
 
 	/* DDC bus used by this SDVO encoder */
@@ -1278,10 +1277,13 @@ static void i9xx_adjust_sdvo_tv_clock(struct intel_crtc_state *pipe_config)
 	pipe_config->clock_set = true;
 }
 
-static bool intel_has_hdmi_sink(struct intel_sdvo *sdvo,
+static bool intel_has_hdmi_sink(struct intel_sdvo_connector *intel_sdvo_connector,
 				const struct drm_connector_state *conn_state)
 {
-	return sdvo->has_hdmi_monitor &&
+	struct drm_connector *connector = conn_state->connector;
+
+	return intel_sdvo_connector->is_hdmi &&
+		connector->display_info.is_hdmi &&
 		READ_ONCE(to_intel_digital_connector_state(conn_state)->force_audio) != HDMI_AUDIO_OFF_DVI;
 }
 
@@ -1360,7 +1362,7 @@ static int intel_sdvo_compute_config(struct intel_encoder *encoder,
 	pipe_config->pixel_multiplier =
 		intel_sdvo_get_pixel_multiplier(adjusted_mode);
 
-	pipe_config->has_hdmi_sink = intel_has_hdmi_sink(intel_sdvo, conn_state);
+	pipe_config->has_hdmi_sink = intel_has_hdmi_sink(intel_sdvo_connector, conn_state);
 
 	if (pipe_config->has_hdmi_sink) {
 		if (intel_sdvo_state->base.force_audio == HDMI_AUDIO_AUTO)
@@ -1871,13 +1873,19 @@ static enum drm_mode_status
 intel_sdvo_mode_valid(struct drm_connector *connector,
 		      struct drm_display_mode *mode)
 {
+	struct drm_i915_private *i915 = to_i915(connector->dev);
 	struct intel_sdvo *intel_sdvo = intel_attached_sdvo(to_intel_connector(connector));
 	struct intel_sdvo_connector *intel_sdvo_connector =
 		to_intel_sdvo_connector(connector);
-	int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
-	bool has_hdmi_sink = intel_has_hdmi_sink(intel_sdvo, connector->state);
+	bool has_hdmi_sink = intel_has_hdmi_sink(intel_sdvo_connector, connector->state);
+	int max_dotclk = i915->max_dotclk_freq;
+	enum drm_mode_status status;
 	int clock = mode->clock;
 
+	status = intel_cpu_transcoder_mode_valid(i915, mode);
+	if (status != MODE_OK)
+		return status;
+
 	if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
 		return MODE_NO_DBLESCAN;
 
@@ -2064,7 +2072,6 @@ intel_sdvo_tmds_sink_detect(struct drm_connector *connector)
 		if (edid->input & DRM_EDID_INPUT_DIGITAL) {
 			status = connector_status_connected;
 			if (intel_sdvo_connector->is_hdmi) {
-				intel_sdvo->has_hdmi_monitor = drm_detect_hdmi_monitor(edid);
 				intel_sdvo->has_hdmi_audio = drm_detect_monitor_audio(edid);
 			}
 		} else
@@ -2116,7 +2123,6 @@ intel_sdvo_detect(struct drm_connector *connector, bool force)
 
 	intel_sdvo->attached_output = response;
 
-	intel_sdvo->has_hdmi_monitor = false;
 	intel_sdvo->has_hdmi_audio = false;
 
 	if ((intel_sdvo_connector->output_flag & response) == 0)
drivers/gpu/drm/i915/display/intel_tv.c +7 -1
index dcf89d701f0f..fb25be800e75 100644
@@ -956,8 +956,14 @@ static enum drm_mode_status
 intel_tv_mode_valid(struct drm_connector *connector,
 		    struct drm_display_mode *mode)
 {
+	struct drm_i915_private *i915 = to_i915(connector->dev);
 	const struct tv_mode *tv_mode = intel_tv_mode_find(connector->state);
-	int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
+	int max_dotclk = i915->max_dotclk_freq;
+	enum drm_mode_status status;
+
+	status = intel_cpu_transcoder_mode_valid(i915, mode);
+	if (status != MODE_OK)
+		return status;
 
 	if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
 		return MODE_NO_DBLESCAN;
drivers/gpu/drm/i915/display/vlv_dsi.c +17 -1
index 00c80f29ad99..114088ca59ed 100644
@@ -1627,9 +1627,25 @@ static const struct drm_encoder_funcs intel_dsi_funcs = {
 	.destroy = intel_dsi_encoder_destroy,
 };
 
+static enum drm_mode_status vlv_dsi_mode_valid(struct drm_connector *connector,
+					       struct drm_display_mode *mode)
+{
+	struct drm_i915_private *i915 = to_i915(connector->dev);
+
+	if (IS_VALLEYVIEW(i915) || IS_CHERRYVIEW(i915)) {
+		enum drm_mode_status status;
+
+		status = intel_cpu_transcoder_mode_valid(i915, mode);
+		if (status != MODE_OK)
+			return status;
+	}
+
+	return intel_dsi_mode_valid(connector, mode);
+}
+
 static const struct drm_connector_helper_funcs intel_dsi_connector_helper_funcs = {
 	.get_modes = intel_dsi_get_modes,
-	.mode_valid = intel_dsi_mode_valid,
+	.mode_valid = vlv_dsi_mode_valid,
 	.atomic_check = intel_digital_connector_atomic_check,
 };
 
drivers/gpu/drm/i915/i915_reg.h +22 -24

81 lines not on this page · raw message

drivers/hwmon/acpi_power_meter.c +4 -0
index 0962c12eba5a..2147afb72558 100644
@@ -31,6 +31,7 @@
 #define POWER_METER_CAN_NOTIFY	(1 << 3)
 #define POWER_METER_IS_BATTERY	(1 << 8)
 #define UNKNOWN_HYSTERESIS	0xFFFFFFFF
+#define UNKNOWN_POWER		0xFFFFFFFF
 
 #define METER_NOTIFY_CONFIG	0x80
 #define METER_NOTIFY_TRIP	0x81
@@ -348,6 +349,9 @@ static ssize_t show_power(struct device *dev,
 	update_meter(resource);
 	mutex_unlock(&resource->lock);
 
+	if (resource->power == UNKNOWN_POWER)
+		return -ENODATA;
+
 	return sprintf(buf, "%llu\n", resource->power * 1000);
 }
 
drivers/hwmon/nzxt-kraken2.c +2 -2
index 89f7ea4f42d4..badbcaf01f90 100644
@@ -161,13 +161,13 @@ static int kraken2_probe(struct hid_device *hdev,
 	ret = hid_hw_start(hdev, HID_CONNECT_HIDRAW);
 	if (ret) {
 		hid_err(hdev, "hid hw start failed with %d\n", ret);
-		goto fail_and_stop;
+		return ret;
 	}
 
 	ret = hid_hw_open(hdev);
 	if (ret) {
 		hid_err(hdev, "hid hw open failed with %d\n", ret);
-		goto fail_and_close;
+		goto fail_and_stop;
 	}
 
 	priv->hwmon_dev = hwmon_device_register_with_info(&hdev->dev, "kraken2",
drivers/hwtracing/coresight/coresight-etm4x-core.c +5 -7
index 1cf7478da6ee..fda48a0afc1a 100644
@@ -2072,7 +2072,7 @@ static void clear_etmdrvdata(void *info)
 	etmdrvdata[cpu] = NULL;
 }
 
-static int __exit etm4_remove_dev(struct etmv4_drvdata *drvdata)
+static void etm4_remove_dev(struct etmv4_drvdata *drvdata)
 {
 	etm_perf_symlink(drvdata->csdev, false);
 	/*
@@ -2094,10 +2094,9 @@ static int __exit etm4_remove_dev(struct etmv4_drvdata *drvdata)
 	cscfg_unregister_csdev(drvdata->csdev);
 	coresight_unregister(drvdata->csdev);
 
-	return 0;
 }
 
-static void __exit etm4_remove_amba(struct amba_device *adev)
+static void etm4_remove_amba(struct amba_device *adev)
 {
 	struct etmv4_drvdata *drvdata = dev_get_drvdata(&adev->dev);
 
@@ -2105,15 +2104,14 @@ static void __exit etm4_remove_amba(struct amba_device *adev)
 		etm4_remove_dev(drvdata);
 }
 
-static int __exit etm4_remove_platform_dev(struct platform_device *pdev)
+static int etm4_remove_platform_dev(struct platform_device *pdev)
 {
-	int ret = 0;
 	struct etmv4_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
 
 	if (drvdata)
-		ret = etm4_remove_dev(drvdata);
+		etm4_remove_dev(drvdata);
 	pm_runtime_disable(&pdev->dev);
-	return ret;
+	return 0;
 }
 
 static const struct amba_id etm4_ids[] = {
drivers/hwtracing/ptt/hisi_ptt.c +5 -0
index 4140efd66409..016220ba0add 100644
@@ -837,6 +837,10 @@ static void hisi_ptt_pmu_del(struct perf_event *event, int flags)
 	hisi_ptt_pmu_stop(event, PERF_EF_UPDATE);
 }
 
+static void hisi_ptt_pmu_read(struct perf_event *event)
+{
+}
+
 static void hisi_ptt_remove_cpuhp_instance(void *hotplug_node)
 {
 	cpuhp_state_remove_instance_nocalls(hisi_ptt_pmu_online, hotplug_node);
@@ -880,6 +884,7 @@ static int hisi_ptt_register_pmu(struct hisi_ptt *hisi_ptt)
 		.stop		= hisi_ptt_pmu_stop,
 		.add		= hisi_ptt_pmu_add,
 		.del		= hisi_ptt_pmu_del,
+		.read		= hisi_ptt_pmu_read,
 	};
 
 	reg = readl(hisi_ptt->iobase + HISI_PTT_LOCATION);
drivers/i2c/busses/i2c-designware-common.c +8 -8
index 6fdb25a5f801..ad98c85ec2e7 100644
@@ -63,7 +63,7 @@ static int dw_reg_read(void *context, unsigned int reg, unsigned int *val)
 {
 	struct dw_i2c_dev *dev = context;
 
-	*val = readl_relaxed(dev->base + reg);
+	*val = readl(dev->base + reg);
 
 	return 0;
 }
@@ -72,7 +72,7 @@ static int dw_reg_write(void *context, unsigned int reg, unsigned int val)
 {
 	struct dw_i2c_dev *dev = context;
 
-	writel_relaxed(val, dev->base + reg);
+	writel(val, dev->base + reg);
 
 	return 0;
 }
@@ -81,7 +81,7 @@ static int dw_reg_read_swab(void *context, unsigned int reg, unsigned int *val)
 {
 	struct dw_i2c_dev *dev = context;
 
-	*val = swab32(readl_relaxed(dev->base + reg));
+	*val = swab32(readl(dev->base + reg));
 
 	return 0;
 }
@@ -90,7 +90,7 @@ static int dw_reg_write_swab(void *context, unsigned int reg, unsigned int val)
 {
 	struct dw_i2c_dev *dev = context;
 
-	writel_relaxed(swab32(val), dev->base + reg);
+	writel(swab32(val), dev->base + reg);
 
 	return 0;
 }
@@ -99,8 +99,8 @@ static int dw_reg_read_word(void *context, unsigned int reg, unsigned int *val)
 {
 	struct dw_i2c_dev *dev = context;
 
-	*val = readw_relaxed(dev->base + reg) |
-		(readw_relaxed(dev->base + reg + 2) << 16);
+	*val = readw(dev->base + reg) |
+		(readw(dev->base + reg + 2) << 16);
 
 	return 0;
 }
@@ -109,8 +109,8 @@ static int dw_reg_write_word(void *context, unsigned int reg, unsigned int val)
 {
 	struct dw_i2c_dev *dev = context;
 
-	writew_relaxed(val, dev->base + reg);
-	writew_relaxed(val >> 16, dev->base + reg + 2);
+	writew(val, dev->base + reg);
+	writew(val >> 16, dev->base + reg + 2);
 
 	return 0;
 }
drivers/infiniband/core/umem.c +0 -6
index 957634eceba8..8ce569bf7525 100644
@@ -96,12 +96,6 @@ unsigned long ib_umem_find_best_pgsz(struct ib_umem *umem,
 		return page_size;
 	}
 
-	/* rdma_for_each_block() has a bug if the page size is smaller than the
-	 * page size used to build the umem. For now prevent smaller page sizes
-	 * from being returned.
-	 */
-	pgsz_bitmap &= GENMASK(BITS_PER_LONG - 1, PAGE_SHIFT);
-
 	/* The best result is the smallest page size that results in the minimum
 	 * number of required pages. Compute the largest page size that could
 	 * work based on VA address bits that don't change.
drivers/infiniband/hw/bnxt_re/main.c +1 -1
index e58893387bb4..43d396a7d8e1 100644
@@ -70,7 +70,7 @@ static char version[] =
 		BNXT_RE_DESC "\n";
 
 MODULE_AUTHOR("Eddie Wai <[email protected]>");
-MODULE_DESCRIPTION(BNXT_RE_DESC " Driver");
+MODULE_DESCRIPTION(BNXT_RE_DESC);
 MODULE_LICENSE("Dual BSD/GPL");
 
 /* globals */
drivers/infiniband/hw/hns/hns_roce_hw_v2.c +9 -4
index 8a9d28f81149..c2ee80546d12 100644
@@ -4913,10 +4913,15 @@ static int check_cong_type(struct ib_qp *ibqp,
 		cong_alg->wnd_mode_sel = WND_LIMIT;
 		break;
 	default:
-		ibdev_err(&hr_dev->ib_dev,
-			  "error type(%u) for congestion selection.\n",
-			  hr_dev->caps.cong_type);
-		return -EINVAL;
+		ibdev_warn(&hr_dev->ib_dev,
+			   "invalid type(%u) for congestion selection.\n",
+			   hr_dev->caps.cong_type);
+		hr_dev->caps.cong_type = CONG_TYPE_DCQCN;
+		cong_alg->alg_sel = CONG_DCQCN;
+		cong_alg->alg_sub_sel = UNSUPPORT_CONG_LEVEL;
+		cong_alg->dip_vld = DIP_INVALID;
+		cong_alg->wnd_mode_sel = WND_LIMIT;
+		break;
 	}
 
 	return 0;
drivers/infiniband/hw/irdma/hw.c +29 -20

131 lines not on this page · raw message

drivers/infiniband/hw/irdma/main.c +1 -1
index 514453777e07..be1030d1adfa 100644
@@ -48,7 +48,7 @@ static void irdma_prep_tc_change(struct irdma_device *iwdev)
 	/* Wait for all qp's to suspend */
 	wait_event_timeout(iwdev->suspend_wq,
 			   !atomic_read(&iwdev->vsi.qp_suspend_reqs),
-			   IRDMA_EVENT_TIMEOUT);
+			   msecs_to_jiffies(IRDMA_EVENT_TIMEOUT_MS));
 	irdma_ws_reset(&iwdev->vsi);
 }
 
drivers/infiniband/hw/irdma/main.h +1 -1
index 9cbe64311f98..6a6b14d8fca4 100644
@@ -78,7 +78,7 @@ extern struct auxiliary_driver i40iw_auxiliary_drv;
 
 #define MAX_DPC_ITERATIONS	128
 
-#define IRDMA_EVENT_TIMEOUT		50000
+#define IRDMA_EVENT_TIMEOUT_MS		5000
 #define IRDMA_VCHNL_EVENT_TIMEOUT	100000
 #define IRDMA_RST_TIMEOUT_HZ		4
 
drivers/infiniband/hw/irdma/verbs.c +21 -7
index 3b8b2341981e..447e1bcc82a3 100644
@@ -1098,6 +1098,21 @@ static int irdma_query_pkey(struct ib_device *ibdev, u32 port, u16 index,
 	return 0;
 }
 
+static int irdma_wait_for_suspend(struct irdma_qp *iwqp)
+{
+	if (!wait_event_timeout(iwqp->iwdev->suspend_wq,
+				!iwqp->suspend_pending,
+				msecs_to_jiffies(IRDMA_EVENT_TIMEOUT_MS))) {
+		iwqp->suspend_pending = false;
+		ibdev_warn(&iwqp->iwdev->ibdev,
+			   "modify_qp timed out waiting for suspend. qp_id = %d, last_ae = 0x%x\n",
+			   iwqp->ibqp.qp_num, iwqp->last_aeq);
+		return -EBUSY;
+	}
+
+	return 0;
+}
+
 /**
  * irdma_modify_qp_roce - modify qp request
  * @ibqp: qp's pointer for modify
@@ -1359,17 +1374,11 @@ int irdma_modify_qp_roce(struct ib_qp *ibqp, struct ib_qp_attr *attr,
 
 			info.next_iwarp_state = IRDMA_QP_STATE_SQD;
 			issue_modify_qp = 1;
+			iwqp->suspend_pending = true;
 			break;
 		case IB_QPS_SQE:
 		case IB_QPS_ERR:
 		case IB_QPS_RESET:
-			if (iwqp->iwarp_state == IRDMA_QP_STATE_RTS) {
-				spin_unlock_irqrestore(&iwqp->lock, flags);
-				info.next_iwarp_state = IRDMA_QP_STATE_SQD;
-				irdma_hw_modify_qp(iwdev, iwqp, &info, true);
-				spin_lock_irqsave(&iwqp->lock, flags);
-			}
-
 			if (iwqp->iwarp_state == IRDMA_QP_STATE_ERROR) {
 				spin_unlock_irqrestore(&iwqp->lock, flags);
 				if (udata && udata->inlen) {
@@ -1406,6 +1415,11 @@ int irdma_modify_qp_roce(struct ib_qp *ibqp, struct ib_qp_attr *attr,
 			ctx_info->rem_endpoint_idx = udp_info->arp_idx;
 			if (irdma_hw_modify_qp(iwdev, iwqp, &info, true))
 				return -EINVAL;
+			if (info.next_iwarp_state == IRDMA_QP_STATE_SQD) {
+				ret = irdma_wait_for_suspend(iwqp);
+				if (ret)
+					return ret;
+			}
 			spin_lock_irqsave(&iwqp->lock, flags);
 			if (iwqp->iwarp_state == info.curr_iwarp_state) {
 				iwqp->iwarp_state = info.next_iwarp_state;
drivers/infiniband/hw/irdma/verbs.h +1 -0
index a536e9fa85eb..9f9e273bbff3 100644
@@ -193,6 +193,7 @@ struct irdma_qp {
 	u8 flush_issued : 1;
 	u8 sig_all : 1;
 	u8 pau_mode : 1;
+	u8 suspend_pending : 1;
 	u8 rsvd : 1;
 	u8 iwarp_state;
 	u16 term_sq_flush_code;
drivers/infiniband/ulp/rtrs/rtrs-clt.c +3 -4
index a67f58359de9..cc07c91f9c54 100644
@@ -382,7 +382,7 @@ static void complete_rdma_req(struct rtrs_clt_io_req *req, int errno,
 	struct rtrs_clt_path *clt_path;
 	int err;
 
-	if (WARN_ON(!req->in_use))
+	if (!req->in_use)
 		return;
 	if (WARN_ON(!req->con))
 		return;
@@ -1694,7 +1694,7 @@ static int create_con_cq_qp(struct rtrs_clt_con *con)
 		clt_path->s.dev_ref++;
 		max_send_wr = min_t(int, wr_limit,
 			      /* QD * (REQ + RSP + FR REGS or INVS) + drain */
-			      clt_path->queue_depth * 3 + 1);
+			      clt_path->queue_depth * 4 + 1);
 		max_recv_wr = min_t(int, wr_limit,
 			      clt_path->queue_depth * 3 + 1);
 		max_send_sge = 2;
@@ -2346,8 +2346,6 @@ static int init_conns(struct rtrs_clt_path *clt_path)
 	if (err)
 		goto destroy;
 
-	rtrs_start_hb(&clt_path->s);
-
 	return 0;
 
 destroy:
@@ -2621,6 +2619,7 @@ static int init_path(struct rtrs_clt_path *clt_path)
 		goto out;
 	}
 	rtrs_clt_path_up(clt_path);
+	rtrs_start_hb(&clt_path->s);
 out:
 	mutex_unlock(&clt_path->init_mutex);
 
drivers/infiniband/ulp/rtrs/rtrs-srv.c +27 -10
index 22d7ba05e9fe..e978ee4bb73a 100644
@@ -63,8 +63,9 @@ static bool rtrs_srv_change_state(struct rtrs_srv_path *srv_path,
 {
 	enum rtrs_srv_state old_state;
 	bool changed = false;
+	unsigned long flags;
 
-	spin_lock_irq(&srv_path->state_lock);
+	spin_lock_irqsave(&srv_path->state_lock, flags);
 	old_state = srv_path->state;
 	switch (new_state) {
 	case RTRS_SRV_CONNECTED:
@@ -85,7 +86,7 @@ static bool rtrs_srv_change_state(struct rtrs_srv_path *srv_path,
 	}
 	if (changed)
 		srv_path->state = new_state;
-	spin_unlock_irq(&srv_path->state_lock);
+	spin_unlock_irqrestore(&srv_path->state_lock, flags);
 
 	return changed;
 }
@@ -548,7 +549,10 @@ static void unmap_cont_bufs(struct rtrs_srv_path *srv_path)
 		struct rtrs_srv_mr *srv_mr;
 
 		srv_mr = &srv_path->mrs[i];
-		rtrs_iu_free(srv_mr->iu, srv_path->s.dev->ib_dev, 1);
+
+		if (always_invalidate)
+			rtrs_iu_free(srv_mr->iu, srv_path->s.dev->ib_dev, 1);
+
 		ib_dereg_mr(srv_mr->mr);
 		ib_dma_unmap_sg(srv_path->s.dev->ib_dev, srv_mr->sgt.sgl,
 				srv_mr->sgt.nents, DMA_BIDIRECTIONAL);
@@ -714,20 +718,23 @@ static void rtrs_srv_info_rsp_done(struct ib_cq *cq, struct ib_wc *wc)
 	WARN_ON(wc->opcode != IB_WC_SEND);
 }
 
-static void rtrs_srv_path_up(struct rtrs_srv_path *srv_path)
+static int rtrs_srv_path_up(struct rtrs_srv_path *srv_path)
 {
 	struct rtrs_srv_sess *srv = srv_path->srv;
 	struct rtrs_srv_ctx *ctx = srv->ctx;
-	int up;
+	int up, ret = 0;
 
 	mutex_lock(&srv->paths_ev_mutex);
 	up = ++srv->paths_up;
 	if (up == 1)
-		ctx->ops.link_ev(srv, RTRS_SRV_LINK_EV_CONNECTED, NULL);
+		ret = ctx->ops.link_ev(srv, RTRS_SRV_LINK_EV_CONNECTED, NULL);
 	mutex_unlock(&srv->paths_ev_mutex);
 
 	/* Mark session as established */
-	srv_path->established = true;
+	if (!ret)
+		srv_path->established = true;
+
+	return ret;
 }
 
 static void rtrs_srv_path_down(struct rtrs_srv_path *srv_path)
@@ -856,7 +863,12 @@ static int process_info_req(struct rtrs_srv_con *con,
 		goto iu_free;
 	kobject_get(&srv_path->kobj);
 	get_device(&srv_path->srv->dev);
-	rtrs_srv_change_state(srv_path, RTRS_SRV_CONNECTED);
+	err = rtrs_srv_change_state(srv_path, RTRS_SRV_CONNECTED);
+	if (!err) {
+		rtrs_err(s, "rtrs_srv_change_state(), err: %d\n", err);
+		goto iu_free;
+	}
+
 	rtrs_srv_start_hb(srv_path);
 
 	/*
@@ -865,7 +877,11 @@ static int process_info_req(struct rtrs_srv_con *con,
 	 * all connections are successfully established.  Thus, simply notify
 	 * listener with a proper event if we are the first path.
 	 */
-	rtrs_srv_path_up(srv_path);
+	err = rtrs_srv_path_up(srv_path);
+	if (err) {
+		rtrs_err(s, "rtrs_srv_path_up(), err: %d\n", err);
+		goto iu_free;
+	}
 
 	ib_dma_sync_single_for_device(srv_path->s.dev->ib_dev,
 				      tx_iu->dma_addr,
@@ -1521,7 +1537,6 @@ static void rtrs_srv_close_work(struct work_struct *work)
 
 	srv_path = container_of(work, typeof(*srv_path), close_work);
 
-	rtrs_srv_destroy_path_files(srv_path);
 	rtrs_srv_stop_hb(srv_path);
 
 	for (i = 0; i < srv_path->s.con_num; i++) {
@@ -1541,6 +1556,8 @@ static void rtrs_srv_close_work(struct work_struct *work)
 	/* Wait for all completion */
 	wait_for_completion(&srv_path->complete_done);
 
+	rtrs_srv_destroy_path_files(srv_path);
+
 	/* Notify upper layer if we are the last path */
 	rtrs_srv_path_down(srv_path);
 
drivers/iommu/iommu.c +9 -10
index 2bcd1f23d07d..8b3897239477 100644
@@ -278,12 +278,13 @@ static void dev_iommu_free(struct device *dev)
 	kfree(param);
 }
 
+DEFINE_MUTEX(iommu_probe_device_lock);
+
 static int __iommu_probe_device(struct device *dev, struct list_head *group_list)
 {
 	const struct iommu_ops *ops = dev->bus->iommu_ops;
 	struct iommu_device *iommu_dev;
 	struct iommu_group *group;
-	static DEFINE_MUTEX(iommu_probe_device_lock);
 	int ret;
 
 	if (!ops)
@@ -295,11 +296,9 @@ static int __iommu_probe_device(struct device *dev, struct list_head *group_list
 	 * probably be able to use device_lock() here to minimise the scope,
 	 * but for now enforcing a simple global ordering is fine.
 	 */
-	mutex_lock(&iommu_probe_device_lock);
-	if (!dev_iommu_get(dev)) {
-		ret = -ENOMEM;
-		goto err_unlock;
-	}
+	lockdep_assert_held(&iommu_probe_device_lock);
+	if (!dev_iommu_get(dev))
+		return -ENOMEM;
 
 	if (!try_module_get(ops->owner)) {
 		ret = -EINVAL;
@@ -326,7 +325,6 @@ static int __iommu_probe_device(struct device *dev, struct list_head *group_list
 	mutex_unlock(&group->mutex);
 	iommu_group_put(group);
 
-	mutex_unlock(&iommu_probe_device_lock);
 	iommu_device_link(iommu_dev, dev);
 
 	return 0;
@@ -341,9 +339,6 @@ static int __iommu_probe_device(struct device *dev, struct list_head *group_list
 err_free:
 	dev_iommu_free(dev);
 
-err_unlock:
-	mutex_unlock(&iommu_probe_device_lock);
-
 	return ret;
 }
 
@@ -353,7 +348,9 @@ int iommu_probe_device(struct device *dev)
 	struct iommu_group *group;
 	int ret;
 
+	mutex_lock(&iommu_probe_device_lock);
 	ret = __iommu_probe_device(dev, NULL);
+	mutex_unlock(&iommu_probe_device_lock);
 	if (ret)
 		goto err_out;
 
@@ -1684,7 +1681,9 @@ static int probe_iommu_group(struct device *dev, void *data)
 		return 0;
 	}
 
+	mutex_lock(&iommu_probe_device_lock);
 	ret = __iommu_probe_device(dev, group_list);
+	mutex_unlock(&iommu_probe_device_lock);
 	if (ret == -ENODEV)
 		ret = 0;
 
drivers/iommu/of_iommu.c +9 -3
index 5696314ae69e..1fa1db3be852 100644

Lines of this file are not shown. View the raw message.

drivers/md/md.c +94 -80

174 lines not on this page · raw message

drivers/md/raid5.c +2 -2
index 98d4e93efa31..e4564ca1f243 100644

Lines of this file are not shown. View the raw message.

drivers/misc/mei/client.c +2 -2
index 0b2fbe1335a7..c70c89209fe5 100644

Lines of this file are not shown. View the raw message.

drivers/net/arcnet/arcdevice.h +2 -0
index 19e996a829c9..b54275389f8a 100644

Lines of this file are not shown. View the raw message.

drivers/net/arcnet/com20020-pci.c +46 -43

89 lines not on this page · raw message

drivers/net/ethernet/aquantia/atlantic/aq_ptp.c +5 -5
index 80b44043e6c5..28c9b6f1a54f 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/aquantia/atlantic/aq_ptp.h +2 -2
index 28ccb7ca2df9..210b723f2207 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/aquantia/atlantic/aq_ring.c +12 -6
index 2dc8d215a591..b5a49166fa97 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c +1 -0
index d8afcf8d6b30..4d6663ff8472 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/broadcom/tg3.c +36 -6

42 lines not on this page · raw message

drivers/net/ethernet/broadcom/tg3.h +2 -2
index 1000c894064f..8d753f8c5b06 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c +29 -0
index 928d934cb21a..f75668c47935 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/hisilicon/hns/hns_enet.c +31 -22

53 lines not on this page · raw message

drivers/net/ethernet/hisilicon/hns/hns_enet.h +2 -1
index ffa9d6573f54..3f3ee032f631 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/i40e/i40e_main.c +1 -1
index 9f5824eb8808..b4157ff370a3 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/iavf/iavf_ethtool.c +2 -10
index c13b4fa659ee..31e02624aca4 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/iavf/iavf_txrx.h +0 -1
index 7e6ee32d19b6..10ba36602c0c 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/af/mbox.h +1 -1
index a0c31f5b2ce0..03ebabd61635 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/af/mcs.c +15 -3
index c43f19dfbd74..c1775bd01c2b 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/af/mcs.h +2 -0
index 0f89dcb76465..f927cc61dfd2 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/af/mcs_reg.h +27 -4
index f3ab01fc363c..f4c6de89002c 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/af/rvu.c +3 -0
index 733add3a9dc6..d88d86bf07b0 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/af/rvu.h +1 -0
index a3346ea7876c..95a7bc396e8e 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c +1 -4
index dc7bd2ce78f7..d60951299899 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c +8 -0
index 731004713698..959f36efdc4a 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c +7 -1
index 16cfc802e348..f65805860c8d 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/af/rvu_reg.c +2 -2
index b3150f053291..d46ac29adb96 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/af/rvu_reg.h +1 -0
index 39f7a7cb2755..b690e5566f12 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c +5 -1
index aaf1af2a402e..af779ae40d3c 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c +9 -0
index 18c5d2b3f7f9..55807e2043ed 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c +10 -10
index 20d801d30c73..aee392a15b23 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/pensando/ionic/ionic_dev.h +1 -1
index 93a425842166..13dfcf9f75da 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/pensando/ionic/ionic_lif.c +8 -8
index a89ab455af67..f7634884c750 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/realtek/r8169_main.c +6 -1
index abfa375b0887..d22457f2cf9c 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/stmicro/stmmac/dwmac5.c +19 -26

45 lines not on this page · raw message

drivers/net/ethernet/stmicro/stmmac/dwmac5.h +3 -1
index 53c138d0ff48..34e620790eb3 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c +2 -1
index f30e08a106cb..c2181c277291 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/stmicro/stmmac/hwif.h +3 -1
index 592b4067f9b8..b2b9cf04bc72 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +7 -1
index 9f76c2f7d513..69aac8ed84f6 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c +1 -0
index 773e415cc2de..390c900832cd 100644

Lines of this file are not shown. View the raw message.

drivers/net/hyperv/Kconfig +1 -0
index ca7bf7f897d3..c8cbd85adcf9 100644

Lines of this file are not shown. View the raw message.

drivers/net/usb/r8152.c +62 -48

110 lines not on this page · raw message

drivers/nvme/host/nvme.h +5 -0
index 69f9e69208f6..118bf08a708b 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/pci.c +15 -1
index 886c3fc9578e..3d01290994d8 100644

Lines of this file are not shown. View the raw message.

drivers/of/dynamic.c +3 -2
index 0fbf331a748f..9bb9fe0fad07 100644

Lines of this file are not shown. View the raw message.

drivers/parport/parport_pc.c +21 -0
index 5784dc20fb38..4605758d3214 100644

Lines of this file are not shown. View the raw message.

drivers/platform/mellanox/mlxbf-bootctl.c +26 -13
index 1c7a288b59a5..6a171a4f9dc6 100644

Lines of this file are not shown. View the raw message.

drivers/platform/mellanox/mlxbf-pmc.c +14 -0
index 2d4bbe99959e..db7a1d360cd2 100644

Lines of this file are not shown. View the raw message.

drivers/platform/surface/aggregator/core.c +4 -1
index 1a6373dea109..6152be38398c 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/Kconfig +1 -1
index 1396a839dd8a..d5acef3202da 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/asus-nb-wmi.c +0 -11
index df1db54d4e18..af3da303e2b1 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/asus-wmi.c +8 -0
index 49dd55b8e8fa..296150eaef92 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/wmi.c +5 -0
index 2b79377cc21e..b3f3e23a64ee 100644

Lines of this file are not shown. View the raw message.

drivers/powercap/dtpm_cpu.c +13 -4
index 8a2f18fa3faf..9193c3b8edeb 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/be2iscsi/be_main.c +1 -0
index 50a577ac3bb4..b6df0d431907 100644

Lines of this file are not shown. View the raw message.

drivers/tee/optee/device.c +15 -2
index 64f0e047c23d..4b1092127694 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/8250/8250_dw.c +1 -0
index 7db51781289e..88035100b86c 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/8250/8250_early.c +1 -0
index f271becfc46c..02c9b98a6bbf 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/8250/8250_omap.c +8 -6
index 2e21f74a2470..0b04d810b3e6 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/amba-pl011.c +54 -58

112 lines not on this page · raw message

drivers/tty/serial/sc16is7xx.c +12 -0
index b398fba94296..b4b849415c50 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/function/f_hid.c +4 -3
index 6be6009f911e..f1ca9250cad9 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/udc/core.c +2 -2
index 1c0c61e8ba69..c40f2ecbe1b8 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-pci.c +0 -2
index 24bcf6ab12d8..e02ef31da68e 100644

Lines of this file are not shown. View the raw message.

drivers/usb/typec/class.c +3 -2
index 3c3bab33e03a..49d6b2388b87 100644

Lines of this file are not shown. View the raw message.

drivers/vdpa/mlx5/net/mlx5_vnet.c +6 -1
index bf99654371b3..2b7e796c4889 100644

Lines of this file are not shown. View the raw message.

fs/nilfs2/sufile.c +35 -7

42 lines not on this page · raw message

fs/nilfs2/the_nilfs.c +5 -1
index 0f0667957c81..71400496ed36 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/cifsfs.c +159 -15

174 lines not on this page · raw message

fs/smb/client/smb2ops.c +2 -0
index e628848a1df9..6ef3c00de5ca 100644

Lines of this file are not shown. View the raw message.

include/linux/cpuhotplug.h +1 -0
index c7e0d80dbf6a..67575bc8a7e2 100644

Lines of this file are not shown. View the raw message.

include/linux/hrtimer.h +2 -2
index 0ee140176f10..f2044d5a652b 100644

Lines of this file are not shown. View the raw message.

include/linux/hugetlb.h +1 -4
index e46f6b49eb38..1c6f35ba1604 100644

Lines of this file are not shown. View the raw message.

include/linux/iommu.h +1 -0
index 3c9da1f8979e..9d87090953bc 100644

Lines of this file are not shown. View the raw message.

include/linux/kprobes.h +4 -9
index 85a64cb95d75..8de5d51a0b5e 100644

Lines of this file are not shown. View the raw message.

include/linux/rethook.h +6 -1
index bdbe6717f45a..a00963f33bc1 100644

Lines of this file are not shown. View the raw message.

include/linux/stmmac.h +1 -0
index d82ff9fa1a6e..9f4a4f70270d 100644

Lines of this file are not shown. View the raw message.

include/net/genetlink.h +2 -0
index 9f97f73615b6..b9e5a22ae3ff 100644

Lines of this file are not shown. View the raw message.

include/net/tcp.h +7 -2
index 19646fdec23d..c3d56b337f35 100644

Lines of this file are not shown. View the raw message.

include/rdma/ib_umem.h +8 -1
index 92a673cd9b4f..77b83ea62dd6 100644

Lines of this file are not shown. View the raw message.

include/rdma/ib_verbs.h +1 -0
index 975d6e9efbcb..558250900326 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/netfilter/nf_tables.h +2 -0
index 466fd3f4447c..af8f4c304d27 100644

Lines of this file are not shown. View the raw message.

io_uring/io_uring.c +3 -6
index f413ebed81ab..35894955b454 100644

Lines of this file are not shown. View the raw message.

io_uring/rsrc.h +0 -7
index d60c758326b4..acaf8dad0540 100644

Lines of this file are not shown. View the raw message.

kernel/cgroup/legacy_freezer.c +7 -1
index 122dacb3a443..66d1708042a7 100644

Lines of this file are not shown. View the raw message.

kernel/cpu.c +7 -1
index 0e4d362e9082..551468d9c5a8 100644

Lines of this file are not shown. View the raw message.

kernel/events/core.c +38 -23

61 lines not on this page · raw message

kernel/kprobes.c +2 -2
index 3da9726232ff..dbfddfa86c14 100644

Lines of this file are not shown. View the raw message.

kernel/time/hrtimer.c +12 -21
index e4f0e3b0c4f4..5561dabc9b22 100644

Lines of this file are not shown. View the raw message.

kernel/trace/rethook.c +14 -9
index 468006cce7ca..3686626b52c5 100644

Lines of this file are not shown. View the raw message.

kernel/trace/ring_buffer.c +10 -13
index b7383358c4ea..c02a4cb87991 100644

Lines of this file are not shown. View the raw message.

kernel/trace/trace.c +70 -107

177 lines not on this page · raw message

lib/zstd/common/fse_decompress.c +1 -1
index 2c8bbe3e4c14..f37b7aec088e 100644

Lines of this file are not shown. View the raw message.

mm/damon/sysfs.c +1 -1
index dbf5e4de97a0..9ea21b6d266b 100644

Lines of this file are not shown. View the raw message.

mm/filemap.c +1 -1
index 2d930470aaca..d633ab8cd56f 100644

Lines of this file are not shown. View the raw message.

mm/hugetlb.c +7 -0
index aa4a68dfb3b9..37288a7f0fa6 100644

Lines of this file are not shown. View the raw message.

net/core/drop_monitor.c +3 -1
index f084a4a6b7ab..8e0a90b45df2 100644

Lines of this file are not shown. View the raw message.

net/core/filter.c +19 -0
index adc327f4af1e..3a6110ea4009 100644

Lines of this file are not shown. View the raw message.

net/core/scm.c +6 -0
index acb7d776fa6e..e762a4b8a1d2 100644

Lines of this file are not shown. View the raw message.

net/ipv4/ip_gre.c +7 -4
index 5b8242265617..d67d026d7f97 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp.c +19 -3
index 288678f17cca..58409ea2da0a 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp_input.c +5 -1
index 65dae3d43684..34460c9b37ae 100644

Lines of this file are not shown. View the raw message.

net/ipv6/ip6_fib.c +1 -5
index eb6640f9a792..1840735e9cb0 100644

Lines of this file are not shown. View the raw message.

net/netfilter/ipset/ip_set_core.c +7 -7
index 20eede37d522..d47dfdcb899b 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nf_tables_api.c +3 -2
index 421211eba838..05fa5141af51 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_dynset.c +9 -4
index cf9a1ae87d9b..a470e5f61284 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_exthdr.c +107 -1

108 lines not on this page · raw message

net/netfilter/nft_fib.c +6 -2
index 1f12d7ade606..5748415f74d0 100644

Lines of this file are not shown. View the raw message.

net/netfilter/nft_set_pipapo.c +3 -0
index deea6196d992..4e1cc31729b8 100644

Lines of this file are not shown. View the raw message.

net/netfilter/xt_owner.c +12 -4
index e85ce69924ae..50332888c8d2 100644

Lines of this file are not shown. View the raw message.

net/netlink/genetlink.c +3 -0
index 3e16527beb91..505d3b910cc2 100644

Lines of this file are not shown. View the raw message.

net/packet/af_packet.c +8 -8
index 451bd8bfafd2..51882f07ef70 100644

Lines of this file are not shown. View the raw message.

net/packet/internal.h +1 -1
index 3bae8ea7a36f..b2edfe6fc8e7 100644

Lines of this file are not shown. View the raw message.

net/psample/psample.c +2 -1
index 81a794e36f53..c34e902855db 100644

Lines of this file are not shown. View the raw message.

net/xdp/xsk.c +2 -3
index f7592638e61d..5c8e02d56fd4 100644

Lines of this file are not shown. View the raw message.

scripts/checkstack.pl +2 -6
index d48dfed6d3db..a0f9101d5fd4 100755

Lines of this file are not shown. View the raw message.

scripts/dtc/dt-extract-compatibles +22 -9
index a1119762ed08..9686a1cf8549 100755

Lines of this file are not shown. View the raw message.

scripts/kconfig/symbol.c +6 -8
index 0572330bf8a7..a76925b46ce6 100644

Lines of this file are not shown. View the raw message.

sound/core/pcm.c +1 -0
index 9d95e3731123..2415a3c3ac6c 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/patch_realtek.c +3 -0
index d1944c83b03a..c6cae3369a6a 100644

Lines of this file are not shown. View the raw message.

sound/soc/amd/yc/acp6x-mach.c +7 -0
index c494de5f5c06..1dde1f3196ac 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/lpass-tx-macro.c +5 -0
index 9f59518005a5..840bbe991cd3 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/wm_adsp.c +6 -2
index 8a2e9771bb50..2cfca78f0401 100644

Lines of this file are not shown. View the raw message.

sound/soc/fsl/fsl_sai.c +21 -0
index 96fd9095e544..6364d9be28fb 100644

Lines of this file are not shown. View the raw message.

sound/usb/mixer_quirks.c +30 -0
index ab0d459f4271..1f32e3ae3aa3 100644

Lines of this file are not shown. View the 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.