Linux 5.15.5
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.15.5 kernel.
All users of the 5.15 kernel series must upgrade.
The updated 5.15.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.15.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
------------
Makefile | 2 arch/arc/kernel/process.c | 2 arch/arm/Kconfig | 1 arch/arm/boot/dts/bcm-nsp.dtsi | 4 arch/arm/boot/dts/bcm47094-linksys-panamera.dts | 2 arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 22 + arch/arm/boot/dts/bcm5301x.dtsi | 10 arch/arm/boot/dts/ls1021a-tsn.dts | 2 arch/arm/boot/dts/ls1021a.dtsi | 66 ++-- arch/arm/boot/dts/omap-gpmc-smsc9221.dtsi | 2 arch/arm/boot/dts/omap3-overo-tobiduo-common.dtsi | 2 arch/arm/boot/dts/qcom-ipq8064-rb3011.dts | 6 arch/arm/boot/dts/ste-ux500-samsung-skomer.dts | 8 arch/arm/boot/dts/sun8i-a33.dtsi | 4 arch/arm/boot/dts/sun8i-a83t.dtsi | 4 arch/arm/boot/dts/sun8i-h3.dtsi | 4 arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi | 6 arch/arm64/boot/dts/allwinner/sun50i-a64-cpu-opp.dtsi | 2 arch/arm64/boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi | 2 arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi | 2 arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi | 2 arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | 12 arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts | 1 arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 16 - arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 16 - arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dts | 4 arch/arm64/boot/dts/hisilicon/hi3660.dtsi | 4 arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 2 arch/arm64/boot/dts/qcom/ipq6018.dtsi | 2 arch/arm64/boot/dts/qcom/ipq8074.dtsi | 2 arch/arm64/boot/dts/qcom/msm8916.dtsi | 2 arch/arm64/boot/dts/qcom/msm8994.dtsi | 2 arch/arm64/boot/dts/qcom/msm8996.dtsi | 2 arch/arm64/boot/dts/qcom/msm8998.dtsi | 22 - arch/arm64/boot/dts/qcom/qcs404.dtsi | 2 arch/arm64/boot/dts/qcom/sdm630.dtsi | 2 arch/arm64/boot/dts/qcom/sdm845.dtsi | 2 arch/arm64/boot/dts/qcom/sm6125.dtsi | 2 arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts | 4 arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts | 4 arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 4 arch/arm64/kvm/hyp/nvhe/setup.c | 14 arch/hexagon/include/asm/timer-regs.h | 26 - arch/hexagon/include/asm/timex.h | 3 arch/hexagon/kernel/time.c | 12 arch/hexagon/lib/io.c | 4 arch/m68k/kernel/traps.c | 2 arch/mips/Kconfig | 3 arch/mips/bcm63xx/clk.c | 6 arch/mips/boot/compressed/Makefile | 6 arch/mips/generic/yamon-dt.c | 2 arch/mips/lantiq/clk.c | 6 arch/mips/sni/time.c | 4 arch/parisc/include/asm/rt_sigframe.h | 2 arch/parisc/kernel/signal.c | 13 arch/parisc/kernel/signal32.h | 2 arch/powerpc/boot/dts/charon.dts | 2 arch/powerpc/boot/dts/digsy_mtc.dts | 2 arch/powerpc/boot/dts/lite5200.dts | 2 arch/powerpc/boot/dts/lite5200b.dts | 2 arch/powerpc/boot/dts/media5200.dts | 2 arch/powerpc/boot/dts/mpc5200b.dtsi | 2 arch/powerpc/boot/dts/o2d.dts | 2 arch/powerpc/boot/dts/o2d.dtsi | 2 arch/powerpc/boot/dts/o2dnt2.dts | 2 arch/powerpc/boot/dts/o3dnt.dts | 2 arch/powerpc/boot/dts/pcm032.dts | 2 arch/powerpc/boot/dts/tqm5200.dts | 2 arch/powerpc/kernel/Makefile | 3 arch/powerpc/kernel/head_8xx.S | 13 arch/powerpc/kernel/signal.h | 10 arch/powerpc/kernel/signal_32.c | 6 arch/powerpc/kernel/signal_64.c | 9 arch/powerpc/kernel/watchdog.c | 6 arch/powerpc/kvm/book3s_hv_rmhandlers.S | 4 arch/powerpc/mm/numa.c | 44 +-- arch/powerpc/sysdev/dcr-low.S | 2 arch/powerpc/sysdev/xive/Kconfig | 1 arch/powerpc/sysdev/xive/common.c | 3 arch/riscv/Makefile | 2 arch/s390/Kconfig | 2 arch/s390/Makefile | 10 arch/s390/boot/startup.c | 88 ++---- arch/s390/include/asm/kexec.h | 6 arch/s390/kernel/crash_dump.c | 4 arch/s390/kernel/ipl.c | 3 arch/s390/kernel/machine_kexec_file.c | 18 + arch/s390/kernel/setup.c | 10 arch/s390/kernel/traps.c | 2 arch/s390/kernel/vdso64/Makefile | 5 arch/sh/Kconfig.debug | 1 arch/sh/include/asm/sfp-machine.h | 8 arch/sh/kernel/cpu/sh4a/smp-shx3.c | 5 arch/sh/math-emu/math.c | 103 ------- arch/sparc/kernel/signal_32.c | 4 arch/sparc/kernel/windows.c | 6 arch/um/kernel/trap.c | 2 arch/x86/Kconfig | 3 arch/x86/entry/vsyscall/vsyscall_64.c | 3 arch/x86/events/intel/core.c | 4 arch/x86/events/intel/uncore_snbep.c | 12 arch/x86/hyperv/hv_init.c | 3 arch/x86/include/asm/kvm_host.h | 1 arch/x86/kernel/cpu/sgx/main.c | 12 arch/x86/kernel/setup.c | 66 ++-- arch/x86/kernel/vm86_32.c | 4 arch/x86/kvm/hyperv.c | 4 arch/x86/kvm/mmu/mmu.c | 1 arch/x86/kvm/svm/sev.c | 7 arch/x86/kvm/vmx/nested.c | 22 + arch/x86/kvm/x86.c | 10 arch/x86/kvm/x86.h | 12 arch/x86/kvm/xen.c | 4 block/blk-cgroup.c | 9 block/blk-core.c | 4 block/ioprio.c | 9 drivers/ata/libata-core.c | 11 drivers/base/firmware_loader/main.c | 13 drivers/bus/ti-sysc.c | 110 +++++++ drivers/clk/at91/sama7g5.c | 11 drivers/clk/clk-ast2600.c | 12 drivers/clk/imx/clk-imx6ul.c | 2 drivers/clk/ingenic/cgu.c | 6 drivers/clk/qcom/gcc-msm8996.c | 15 - drivers/clk/sunxi-ng/ccu-sun4i-a10.c | 2 drivers/clk/sunxi-ng/ccu-sun50i-a100-r.c | 2 drivers/clk/sunxi-ng/ccu-sun50i-a100.c | 2 drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 2 drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c | 2 drivers/clk/sunxi-ng/ccu-sun50i-h6.c | 2 drivers/clk/sunxi-ng/ccu-sun50i-h616.c | 4 drivers/clk/sunxi-ng/ccu-sun5i.c | 2 drivers/clk/sunxi-ng/ccu-sun6i-a31.c | 2 drivers/clk/sunxi-ng/ccu-sun8i-a23.c | 2 drivers/clk/sunxi-ng/ccu-sun8i-a33.c | 2 drivers/clk/sunxi-ng/ccu-sun8i-a83t.c | 2 drivers/clk/sunxi-ng/ccu-sun8i-de2.c | 2 drivers/clk/sunxi-ng/ccu-sun8i-h3.c | 2 drivers/clk/sunxi-ng/ccu-sun8i-r.c | 2 drivers/clk/sunxi-ng/ccu-sun8i-r40.c | 2 drivers/clk/sunxi-ng/ccu-sun8i-v3s.c | 2 drivers/clk/sunxi-ng/ccu-sun9i-a80-de.c | 3 drivers/clk/sunxi-ng/ccu-sun9i-a80-usb.c | 3 drivers/clk/sunxi-ng/ccu-sun9i-a80.c | 2 drivers/clk/sunxi-ng/ccu-suniv-f1c100s.c | 2 drivers/clk/sunxi-ng/ccu_common.c | 89 +++++- drivers/clk/sunxi-ng/ccu_common.h | 6 drivers/dma/xilinx/xilinx_dpdma.c | 15 - drivers/gpio/Kconfig | 1 drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 1 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 35 ++ drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c | 4 drivers/gpu/drm/amd/display/dc/dml/display_mode_enums.h | 4 drivers/gpu/drm/amd/include/amd_shared.h | 3 drivers/gpu/drm/amd/pm/amdgpu_dpm.c | 10 drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h | 8 drivers/gpu/drm/drm_gem_cma_helper.c | 9 drivers/gpu/drm/drm_prime.c | 6 drivers/gpu/drm/i915/display/icl_dsi.c | 10 drivers/gpu/drm/i915/display/intel_bios.c | 85 ++++- drivers/gpu/drm/i915/display/intel_dp.c | 29 + drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 154 ++++++---- drivers/gpu/drm/nouveau/nouveau_drm.c | 42 ++ drivers/gpu/drm/nouveau/nouveau_drv.h | 5 drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigv100.c | 1 drivers/gpu/drm/udl/udl_connector.c | 2 drivers/hid/hid-ids.h | 3 drivers/hid/hid-multitouch.c | 13 drivers/hv/hv_balloon.c | 2 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 6 drivers/infiniband/core/sysfs.c | 4 drivers/infiniband/core/verbs.c | 3 drivers/infiniband/hw/bnxt_re/ib_verbs.c | 12 drivers/infiniband/hw/mlx4/main.c | 18 + drivers/infiniband/sw/rxe/rxe_loc.h | 1 drivers/infiniband/sw/rxe/rxe_mr.c | 69 +++- drivers/infiniband/sw/rxe/rxe_mw.c | 30 -- drivers/infiniband/sw/rxe/rxe_req.c | 14 drivers/infiniband/sw/rxe/rxe_verbs.h | 18 - drivers/iommu/apple-dart.c | 5 drivers/iommu/intel/iommu.c | 6 drivers/memory/tegra/tegra20-emc.c | 1 drivers/net/ethernet/broadcom/bnx2x/bnx2x_init_ops.h | 4 drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c | 2 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 4 drivers/net/ethernet/intel/e100.c | 18 - drivers/net/ethernet/intel/i40e/i40e.h | 2 drivers/net/ethernet/intel/i40e/i40e_main.c | 160 +++++++---- drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 121 ++------ drivers/net/ethernet/intel/iavf/iavf.h | 1 drivers/net/ethernet/intel/iavf/iavf_ethtool.c | 30 +- drivers/net/ethernet/intel/iavf/iavf_main.c | 55 ++- drivers/net/ethernet/intel/ice/ice.h | 5 drivers/net/ethernet/intel/ice/ice_main.c | 3 drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c | 78 ++--- drivers/net/ethernet/marvell/mvmdio.c | 2 drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 4 drivers/net/ethernet/mellanox/mlx5/core/cq.c | 5 drivers/net/ethernet/mellanox/mlx5/core/debugfs.c | 4 drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c | 26 + drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.h | 2 drivers/net/ethernet/mellanox/mlx5/core/en/tc_priv.h | 1 drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c | 8 drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c | 23 + drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 10 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 21 + drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 9 drivers/net/ethernet/mellanox/mlx5/core/lag.c | 28 - drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c | 24 + drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 23 - drivers/net/ipa/ipa_endpoint.c | 5 drivers/net/ipa/ipa_resource.c | 2 drivers/net/tun.c | 5 drivers/pinctrl/qcom/pinctrl-sdm845.c | 1 drivers/pinctrl/qcom/pinctrl-sm8350.c | 8 drivers/pinctrl/ralink/pinctrl-mt7620.c | 1 drivers/platform/x86/hp_accel.c | 2 drivers/platform/x86/think-lmi.c | 13 drivers/platform/x86/think-lmi.h | 1 drivers/ptp/ptp_ocp.c | 9 drivers/scsi/advansys.c | 4 drivers/scsi/lpfc/lpfc_crtn.h | 2 drivers/scsi/lpfc/lpfc_disc.h | 12 drivers/scsi/lpfc/lpfc_els.c | 7 drivers/scsi/lpfc/lpfc_hbadisc.c | 112 +++++++ drivers/scsi/lpfc/lpfc_init.c | 12 drivers/scsi/lpfc/lpfc_scsi.c | 10 drivers/scsi/lpfc/lpfc_sli.c | 15 - drivers/scsi/pm8001/pm8001_init.c | 11 drivers/scsi/pm8001/pm8001_sas.h | 1 drivers/scsi/qla2xxx/qla_mbx.c | 6 drivers/scsi/scsi_debug.c | 11 drivers/scsi/scsi_lib.c | 25 + drivers/scsi/scsi_sysfs.c | 30 +- drivers/scsi/smartpqi/smartpqi_init.c | 41 ++ drivers/scsi/smartpqi/smartpqi_sis.c | 51 +++ drivers/scsi/smartpqi/smartpqi_sis.h | 1 drivers/scsi/ufs/ufshcd.c | 9 drivers/sh/maple/maple.c | 5 drivers/spi/spi.c | 12 drivers/staging/rtl8723bs/core/rtw_mlme.c | 12 drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 11 drivers/staging/rtl8723bs/core/rtw_recv.c | 10 drivers/staging/rtl8723bs/core/rtw_sta_mgt.c | 33 +- drivers/staging/rtl8723bs/core/rtw_xmit.c | 16 - drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c | 2 drivers/staging/rtl8723bs/os_dep/ioctl_linux.c | 2 drivers/staging/wfx/bus_sdio.c | 17 - drivers/target/target_core_alua.c | 1 drivers/target/target_core_device.c | 2 drivers/target/target_core_internal.h | 1 drivers/target/target_core_transport.c | 76 +++-- drivers/tty/tty_buffer.c | 3 drivers/usb/host/max3421-hcd.c | 25 - drivers/usb/host/ohci-tmio.c | 2 drivers/usb/musb/tusb6010.c | 5 drivers/usb/typec/tipd/core.c | 2 drivers/video/console/sticon.c | 12 drivers/video/fbdev/efifb.c | 11 drivers/video/fbdev/simplefb.c | 11 fs/attr.c | 4 fs/btrfs/async-thread.c | 14 fs/btrfs/scrub.c | 4 fs/btrfs/volumes.c | 21 - fs/exec.c | 2 fs/f2fs/f2fs.h | 3 fs/f2fs/segment.c | 2 fs/f2fs/super.c | 4 fs/inode.c | 7 fs/nfsd/nfs4xdr.c | 7 fs/pstore/Kconfig | 1 fs/pstore/blk.c | 2 fs/udf/dir.c | 32 ++ fs/udf/namei.c | 3 fs/udf/super.c | 2 include/linux/bpf.h | 3 include/linux/dmaengine.h | 2 include/linux/fs.h | 2 include/linux/ipc_namespace.h | 15 + include/linux/mlx5/eswitch.h | 4 include/linux/platform_data/ti-sysc.h | 1 include/linux/printk.h | 4 include/linux/sched/signal.h | 2 include/linux/sched/task.h | 2 include/linux/skbuff.h | 16 + include/linux/trace_events.h | 2 include/linux/virtio_net.h | 7 include/net/nfc/nci_core.h | 1 include/rdma/rdma_netlink.h | 2 include/sound/hdaudio_ext.h | 2 include/target/target_core_base.h | 6 include/trace/events/f2fs.h | 12 ipc/shm.c | 189 +++++++++---- ipc/util.c | 6 kernel/bpf/cgroup.c | 2 kernel/bpf/helpers.c | 2 kernel/bpf/syscall.c | 57 ++- kernel/bpf/verifier.c | 27 + kernel/entry/syscall_user_dispatch.c | 12 kernel/printk/printk.c | 5 kernel/sched/autogroup.c | 2 kernel/sched/core.c | 47 ++- kernel/sched/fair.c | 4 kernel/sched/rt.c | 12 kernel/sched/sched.h | 3 kernel/signal.c | 60 +++- kernel/trace/bpf_trace.c | 2 kernel/trace/trace_events_hist.c | 14 lib/nmi_backtrace.c | 6 mm/Kconfig | 3 mm/damon/dbgfs.c | 15 - mm/highmem.c | 32 +- mm/hugetlb.c | 30 +- mm/slab.h | 2 net/core/filter.c | 6 net/core/skbuff.c | 14 net/core/sock.c | 6 net/ipv4/bpf_tcp_ca.c | 2 net/ipv4/tcp.c | 3 net/ipv4/tcp_output.c | 6 net/ipv4/udp.c | 11 net/mac80211/cfg.c | 12 net/mac80211/iface.c | 4 net/mac80211/rx.c | 2 net/mac80211/util.c | 7 net/mac80211/wme.c | 3 net/nfc/core.c | 32 +- net/nfc/nci/core.c | 30 +- net/sched/act_mirred.c | 11 net/smc/smc_core.c | 3 net/tipc/crypto.c | 4 net/tipc/link.c | 7 net/wireless/nl80211.c | 34 +- net/wireless/nl80211.h | 6 net/wireless/util.c | 1 samples/bpf/xdp_redirect_cpu_user.c | 5 samples/bpf/xdp_sample_user.c | 28 + security/selinux/ss/hashtab.c | 17 - sound/core/Makefile | 2 sound/hda/ext/hdac_ext_stream.c | 46 +-- sound/hda/hdac_stream.c | 4 sound/hda/intel-dsp-config.c | 22 + sound/isa/Kconfig | 2 sound/isa/gus/gus_dma.c | 2 sound/pci/Kconfig | 1 sound/soc/codecs/es8316.c | 7 sound/soc/codecs/nau8824.c | 40 ++ sound/soc/codecs/rt5651.c | 7 sound/soc/codecs/rt5682.c | 56 +++ sound/soc/codecs/rt5682.h | 20 + sound/soc/intel/boards/sof_sdw.c | 10 sound/soc/intel/common/soc-acpi-intel-tgl-match.c | 41 ++ sound/soc/mediatek/mt8195/mt8195-mt6359-rt1019-rt5682.c | 6 sound/soc/sh/rcar/dma.c | 2 sound/soc/soc-dapm.c | 29 + sound/soc/sof/intel/hda-dai.c | 7 sound/usb/clock.c | 4 sound/usb/implicit.c | 2 sound/usb/mixer_quirks.c | 34 ++ sound/usb/quirks-table.h | 58 +++ tools/build/feature/test-all.c | 1 tools/perf/bench/futex-lock-pi.c | 1 tools/perf/bench/futex-requeue.c | 1 tools/perf/bench/futex-wake-parallel.c | 1 tools/perf/bench/futex-wake.c | 1 tools/perf/tests/shell/record+zstd_comp_decomp.sh | 2 tools/perf/util/bpf-event.c | 6 tools/perf/util/env.c | 5 tools/perf/util/env.h | 2 tools/testing/selftests/gpio/Makefile | 1 tools/testing/selftests/net/gre_gso.sh | 16 - 372 files changed, 3118 insertions(+), 1563 deletions(-)
Adrian Hunter (2):
scsi: ufs: core: Fix task management completion timeout race
scsi: ufs: core: Fix another task management completion race
Ajish Koshy (1):
scsi: pm80xx: Fix memory leak during rmmod
Akeem G Abodunrin (1):
iavf: Restore VLAN filters after link down
Alex Elder (2):
net: ipa: HOLB register sometimes must be written twice
net: ipa: disable HOLB drop when updating timer
Alex Williamson (1):
platform/x86: think-lmi: Abort probe on analyze failure
Alexander Antonov (3):
perf/x86/intel/uncore: Fix filter_tid mask for CHA events on Skylake Server perf/x86/intel/uncore: Fix IIO event constraints for Skylake Server perf/x86/intel/uncore: Fix IIO event constraints for Snowridge
Alexander Egorenkov (1):
s390/dump: fix copying to user-space of swapped kdump oldmem
Alexander Lobakin (1):
samples/bpf: Fix summary per-sec stats in xdp_sample_user
Alexander Mikhalitsyn (2):
ipc: WARN if trying to remove ipc object which is absent
shm: extend forced shm destroy to support objects from several IPC nses
Alexei Starovoitov (1):
bpf: Fix inner map state pruning regression.
Alistair Delva (1):
block: Check ADMIN before NICE for IOPRIO_CLASS_RT
Alvin Lee (1):
drm/amd/display: Update swizzle mode enums
Amit Kumar Mahapatra (1):
arm64: zynqmp: Do not duplicate flash partition label property
Anand K Mistry (1):
drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap
Anatolij Gustschin (1):
powerpc/5200: dts: fix memory node unit name
Andreas Schwab (1):
riscv: fix building external modules
AngeloGioacchino Del Regno (1):
arm64: dts: qcom: msm8998: Fix CPU/L2 idle state latency and residency
Ard Biesheuvel (1):
kmap_local: don't assume kmap PTEs are linear arrays in memory
Arjun Roy (1):
tcp: Fix uninitialized access in skb frags array for Rx 0cp.
Arnaldo Carvalho de Melo (1):
tools build: Fix removal of feature-sync-compare-and-swap feature detection
Arnd Bergmann (1):
dmaengine: remove debugfs #ifdef
Baoquan He (1):
s390/kexec: fix memory leak of ipl report buffer
Bart Van Assche (2):
MIPS: sni: Fix the build
scsi: ufs: core: Improve SCSI abort handling
Bixuan Cui (1):
ASoC: mediatek: mt8195: Add missing of_node_put()
Bjorn Andersson (2):
pinctrl: qcom: sdm845: Enable dual edge errata
pinctrl: qcom: sm8350: Correct UFS and SDC offsets
Bob Pearson (1):
RDMA/rxe: Separate HW and SW l/rkeys
Boqun Feng (1):
Drivers: hv: balloon: Use VMBUS_RING_SIZE() wrapper for dm_ring_size
Borislav Petkov (1):
x86/boot: Pull up cmdline preparation and early param parsing
Brett Creeley (1):
ice: Fix VF true promiscuous mode
Chao Yu (2):
f2fs: fix wrong condition to trigger background checkpoint correctly
f2fs: fix incorrect return value in f2fs_sanity_check_ckpt()
Chengfeng Ye (2):
ALSA: gus: fix null pointer dereference on pointer block
ALSA: usb-audio: fix null pointer dereference on pointer cs_desc
Christian Brauner (1):
fs: handle circular mappings correctly
Christian Lamparter (1):
ARM: BCM53016: Specify switch ports for Meraki MR32
Christophe JAILLET (1):
platform/x86: hp_accel: Fix an error handling path in 'lis3lv02d_probe()'
Christophe Leroy (3):
powerpc/8xx: Fix Oops with STRICT_KERNEL_RWX without DEBUG_RODATA_TEST powerpc/signal32: Fix sigset_t copy
powerpc/8xx: Fix pinned TLBs with CONFIG_STRICT_KERNEL_RWX
Chuck Lever (1):
NFSD: Fix exposure in nfsd4_decode_bitmap()
Claudiu Beznea (1):
clk: at91: sama7g5: remove prescaler part of master clock
Colin Ian King (2):
MIPS: generic/yamon-dt: fix uninitialized variable error
btrfs: make 1-bit bit-fields of scrub_page unsigned int
Cong Wang (1):
udp: Validate checksum in udp_read_sock()
Cédric Le Goater (1):
powerpc/xive: Change IRQ domain to a tree domain
Damien Le Moal (3):
scsi: core: Fix scsi_mode_sense() buffer length handling
ata: libata: improve ata_read_log_page() error message
ata: libata: add missing ata_identify_page_supported() calls
Dan Carpenter (1):
ptp: ocp: Fix a couple NULL vs IS_ERR() checks
Daniel Borkmann (1):
bpf: Fix toctou on read-only map's constant scalar tracking
David Heidelberg (1):
ARM: dts: qcom: fix memory and mdio nodes naming for RB3011
David Woodhouse (1):
KVM: x86/xen: Fix get_attr of KVM_XEN_ATTR_TYPE_SHARED_INFO
Derek Fang (1):
ASoC: rt5682: fix a little pop while playback
Dmitrii Banshchikov (1):
bpf: Forbid bpf_ktime_get_coarse_ns and bpf_timer_* in tracing progs
Dmitry Baryshkov (1):
clk: qcom: gcc-msm8996: Drop (again) gcc_aggre1_pnoc_ahb_clk
Dmitry Osipenko (1):
memory: tegra20-emc: Add runtime dependency on devfreq governor module
Eric Dumazet (1):
net: add and use skb_unclone_keeptruesize() helper
Eric W. Biederman (11):
signal: Implement force_fatal_sig
exit/syscall_user_dispatch: Send ordinary signals on failure signal/powerpc: On swapcontext failure force SIGSEGV signal/s390: Use force_sigsegv in default_trap_handler signal/sparc32: Exit with a fatal signal when try_to_clear_window_buffer fails signal/sparc32: In setup_rt_frame and setup_fram use force_fatal_sig signal/vm86_32: Properly send SIGSEGV when the vm86 state cannot be saved. signal/x86: In emulate_vsyscall force a signal instead of calling do_exit
signal: Replace force_sigsegv(SIGSEGV) with force_fatal_sig(SIGSEGV)
signal: Don't always set SA_IMMUTABLE for forced signals
signal: Replace force_fatal_sig with force_exit_sig when in doubt
Eryk Rybak (3):
i40e: Fix correct max_pkt_size on VF RX queue
i40e: Fix changing previously set num_queue_pairs for PFs
i40e: Fix ping is lost after configuring ADq on VF
Evan Quan (1):
drm/amd/pm: avoid duplicate powergate/ungate setting
Ewan D. Milne (1):
scsi: qla2xxx: Fix mailbox direction flags in qla2xxx_get_adapter_id()
Fabio Aiuto (1):
staging: rtl8723bs: remove possible deadlock when disconnect (v2)
Felix Fietkau (1):
mac80211: drop check for DONT_REORDER in __ieee80211_select_queue
Frieder Schrempf (1):
arm64: dts: imx8mm-kontron: Fix reset delays for ethernet PHY
Gao Xiang (1):
f2fs: fix up f2fs_lookup tracepoints
Geert Uytterhoeven (1):
pstore/blk: Use "%lu" to format unsigned long
Geraldo Nascimento (1):
ALSA: usb-audio: disable implicit feedback sync for Behringer UFX1204 and UFX1604
Greg Kroah-Hartman (1):
Linux 5.15.5
Grzegorz Szczurek (2):
iavf: Fix for setting queues to 0
i40e: Fix display error code in dmesg
Guanghui Feng (1):
tty: tty_buffer: Fix the softlockup issue in flush_to_ldisc
Guo Zhi (1):
scsi: advansys: Fix kernel pointer leak
Hans Verkuil (1):
drm/nouveau: hdmigv100.c: fix corrupted HDMI Vendor InfoFrame
Hans de Goede (5):
staging: rtl8723bs: remove a second possible deadlock
staging: rtl8723bs: remove a third possible deadlock
ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ
ASoC: rt5651: Use IRQF_NO_AUTOEN when requesting the IRQ
ASoC: nau8824: Add DMI quirk mechanism for active-high jack-detect
Heiko Carstens (1):
s390/kexec: fix return code handling
Helge Deller (1):
Revert "parisc: Reduce sigreturn trampoline to 3 instructions"
Hyeong-Jun Kim (1):
f2fs: compress: disallow disabling compress on non-empty compressed file
Ian Rogers (1):
perf bpf: Avoid memory leak from perf_env__insert_btf()
Imre Deak (2):
drm/i915/dp: Ensure sink rate values are always valid drm/i915/dp: Ensure max link params are always valid
Jack Wang (1):
RDMA/mlx4: Do not fail the registration on port stats
Jacob Keller (1):
iavf: prevent accidental free of filter structure
Jakub Kicinski (1):
selftests: net: switch to socat in the GSO GRE test
James Clark (1):
perf tests: Remove bash construct from record+zstd_comp_decomp.sh
James Smart (4):
scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq()
scsi: lpfc: Fix use-after-free in lpfc_unreg_rpi() routine
scsi: lpfc: Fix link down processing to address NULL pointer dereference
scsi: lpfc: Allow fabric node recovery if recovery is in progress before devloss
Jan Kara (1):
udf: Fix crash after seekdir
Javier Martinez Canillas (1):
fbdev: Prevent probing generic drivers if a FB is already registered
Jedrzej Jagielski (1):
i40e: Fix creation of first queue by omitting it if is not power of two
Jeremy Cline (3):
drm/nouveau: Add a dedicated mutex for the clients list drm/nouveau: use drm_dev_unplug() during device removal drm/nouveau: clean up all clients on device removal
Jesse Brandeburg (1):
e100: fix device suspend/resume
Joel Stanley (1):
clk/ast2600: Fix soc revision for AHB
Johan Hovold (1):
drm/udl: fix control-message timeout
Johannes Berg (3):
nl80211: fix radio statistics in survey dump
mac80211: fix monitor_sdata RCU/locking assertions
mac80211: fix radiotap header generation
Jonathan Davies (1):
net: virtio_net_hdr_to_skb: count transport header in UFO
Josef Bacik (2):
fs: export an inode_update_time helper
btrfs: update device path inode time instead of bd_inode
José Expósito (1):
HID: multitouch: disable sticky fingers for UPERFECT Y
Jérôme Pouiller (1):
staging: wfx: ensure IRQ is ready before enabling it
Karen Sornek (1):
i40e: Fix warning message and call stack during rmmod i40e driver
Kees Cook (1):
Revert "mark pstore-blk as broken"
Keoseong Park (1):
f2fs: fix to use WHINT_MODE
Konrad Dybcio (1):
net/ipa: ipa_resource: Fix wrong for loop range
Kuldeep Singh (1):
arm64: dts: ls1012a: Add serial alias for ls1012a-rdb
Kumar Kartikeya Dwivedi (1):
samples/bpf: Fix incorrect use of strlen in xdp_redirect_cpu
Kuninori Morimoto (1):
ASoC: rsnd: fixup DMAEngine API
Laibin Qiu (1):
blkcg: Remove extra blkcg_bio_issue_init
Leon Romanovsky (3):
RDMA/core: Set send and receive CQ before forwarding to the driver RDMA/netlink: Add __maybe_unused to static inline in C file
ice: Delete always true check of PF pointer
Li Yang (2):
ARM: dts: ls1021a: move thermal-zones node out of soc/
ARM: dts: ls1021a-tsn: use generic "jedec,spi-nor" compatible for flash
Li Zhijian (1):
selftests: gpio: fix gpio compiling error
Like Xu (1):
perf/x86/vlbr: Add c->flags to vlbr event constraints
Lin Ma (3):
NFC: reorganize the functions in nci_request
NFC: reorder the logic in nfc_{un,}register_device
NFC: add NCI_UNREG flag to eliminate the race
Linus Walleij (1):
ARM: dts: ux500: Skomer regulator fixes
Lu Wei (1):
maple: fix wrong return value of maple_bus_init().
Luis Chamberlain (1):
firmware_loader: fix pre-allocated buf built-in firmware use
Maher Sanalla (1):
net/mlx5: Lag, update tracker when state change event received
Mahesh Rajashekhara (1):
scsi: smartpqi: Add controller handshake during kdump
Marcin Wojtas (1):
net: mvmdio: fix compilation warning
Mark Bloch (1):
net/mlx5: E-Switch, rebuild lag only when needed
Masahiro Yamada (1):
powerpc: clean vdso32 and vdso64 directories
Masami Hiramatsu (1):
tracing/histogram: Do not copy the fixed-size char array field over the field size
Mateusz Palczewski (1):
iavf: Fix return of set the new channel count
Mathias Krause (1):
sched/fair: Prevent dead task groups from regaining cfs_rq's
Matthew Brost (5):
drm/i915/guc: Fix outstanding G2H accounting
drm/i915/guc: Don't enable scheduling on a banned context, guc_id invalid, not registered drm/i915/guc: Workaround reset G2H is received after schedule done G2H drm/i915/guc: Don't drop ce->guc_active.lock when unwinding context drm/i915/guc: Unwind context requests in reverse order
Matthew Hagan (1):
ARM: dts: NSP: Fix mpcore, mmc node names
Matthias Brugger (1):
arm64: dts: rockchip: Disable CDN DP on Pinebook Pro
Maxim Levitsky (2):
KVM: x86/mmu: include EFER.LMA in extended mmu role
KVM: nVMX: don't use vcpu->arch.efer when checking host state on nested state load
Maxime Ripard (3):
ARM: dts: sunxi: Fix OPPs node name
arm64: dts: allwinner: h5: Fix GPU thermal zone node name
arm64: dts: allwinner: a100: Fix thermal zone node name
Meng Li (1):
net: stmmac: socfpga: add runtime suspend/resume callback for stratix10 platform
Michael Ellerman (2):
powerpc/dcr: Use cmplwi instead of 3-argument cmpli
KVM: PPC: Book3S HV: Use GLOBAL_TOC for kvmppc_h_set_dabr/xdabr()
Michael Walle (3):
arm64: dts: hisilicon: fix arm,sp805 compatible string
arm64: dts: freescale: fix arm,sp805 compatible string
spi: fix use-after-free of the add_lock mutex
Michal Maloszewski (1):
i40e: Fix NULL ptr dereference on VSI filter sync
Michal Simek (1):
arm64: zynqmp: Fix serial compatible string
Mike Christie (3):
scsi: target: Fix ordered tag handling
scsi: target: Fix alua_tg_pt_gps_count tracking
scsi: core: sysfs: Fix hang when device state is set via sysfs
Mina Almasry (1):
hugetlb, userfaultfd: fix reservation restore on userfaultfd error
Mitch Williams (1):
iavf: validate pointers
Nadav Amit (1):
hugetlbfs: flush TLBs correctly after huge_pmd_unshare
Nathan Chancellor (2):
hexagon: export raw I/O routines for modules
hexagon: clean up timer-regs.h
Neta Ostrovsky (1):
net/mlx5: Update error handler for UCTX and UMEM
Nguyen Dinh Phi (1):
cfg80211: call cfg80211_stop_ap when switch from P2P_GO type
Nicholas Nunley (3):
iavf: check for null in iavf_fix_features
iavf: free q_vectors before queues in iavf_disable_vf
iavf: don't clear a lock we don't hold
Nicholas Piggin (3):
powerpc/pseries: rename numa_dist_table to form2_distances powerpc/pseries: Fix numa FORM2 parsing fallback code
printk: restore flushing of NMI buffers on remote CPUs after NMI backtraces
Nick Desaulniers (1):
sh: check return code of request_irq
Nicolas Dichtel (1):
tun: fix bonding active backup with arp monitoring
Nikolay Borisov (1):
btrfs: fix memory ordering between normal and ordered work functions
Ondrej Mosnacek (1):
selinux: fix NULL-pointer dereference when hashtab allocation fails
Paul Blakey (1):
net/mlx5: E-Switch, Fix resetting of encap mode when entering switchdev
Paul Cercueil (1):
clk: ingenic: Fix bugs with divided dividers
Pavel Skripkin (2):
net: bnx2x: fix variable dereferenced before check
net: dpaa2-eth: fix use-after-free in dpaa2_eth_remove
Pierre-Louis Bossart (6):
ASoC: SOF: Intel: hda-dai: fix potential locking issue
ALSA: intel-dsp-config: add quirk for APL/GLK/TGL devices based on ES8336 codec
ASoC: Intel: soc-acpi: add missing quirk for TGL SDCA single amp
ASoC: Intel: sof_sdw: add missing quirk for Dell SKU 0A45
ALSA: hda: hdac_ext_stream: fix potential locking issues
ALSA: hda: hdac_stream: fix potential locking issue in snd_hdac_stream_assign()
Piotr Marczak (1):
iavf: Fix failure to exit out from last all-multicast mode
Quentin Perret (1):
KVM: arm64: Fix host stage-2 finalization
Raed Salem (1):
net/mlx5: E-Switch, return error if encap isn't supported
Rafał Miłecki (3):
ARM: dts: BCM5301X: Fix nodes names
ARM: dts: BCM5301X: Fix MDIO mux binding
arm64: dts: broadcom: bcm4908: Move reboot syscon out of bus
Randy Dunlap (10):
ALSA: ISA: not for M68K
sh: fix kconfig unmet dependency warning for FRAME_POINTER
sh: math-emu: drop unused functions
sh: define __BIG_ENDIAN for math-emu
mips: BCM63XX: ensure that CPU_SUPPORTS_32BIT_KERNEL is set
MIPS: boot/compressed/: add __bswapdi2() to target for ZSTD decompression
mips: bcm63xx: add support for clk_get_parent()
mips: lantiq: add support for clk_get_parent()
gpio: rockchip: needs GENERIC_IRQ_CHIP to fix build errors x86/Kconfig: Fix an unused variable error in dell-smm-hwmon
Reinette Chatre (1):
x86/sgx: Fix free page accounting
Roger Quadros (1):
ARM: dts: omap: fix gpmc,mux-add-data type
Roi Dayan (1):
net/mlx5e: CT, Fix multiple allocations and memleak of mod acts
Roman Li (1):
drm/amd/display: Limit max DSC target bpp for specific monitors
Rustam Kovhaev (1):
mm: kmemleak: slob: respect SLAB_NOLEAKTRACE flag
Samuel Holland (1):
clk: sunxi-ng: Unregister clocks/resets when unbinding
Sean Christopherson (2):
x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails
KVM: SEV: Disallow COPY_ENC_CONTEXT_FROM if target has created vCPUs
Selvin Xavier (1):
RDMA/bnxt_re: Check if the vlan is valid before reporting
SeongJae Park (2):
mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation mm/damon/dbgfs: fix missed use of damon_dbgfs_lock
Sergio Paracuellos (1):
pinctrl: ralink: include 'ralink_regs.h' in 'pinctrl-mt7620.c'
Shawn Guo (3):
arm64: dts: qcom: ipq6018: Fix qcom,controlled-remotely property
arm64: dts: qcom: ipq8074: Fix qcom,controlled-remotely property
arm64: dts: qcom: sdm845: Fix qcom,controlled-remotely property
Sohaib Mohamed (1):
perf bench futex: Fix memory leak of perf_cpu_map__new()
Sriharsha Basavapatna (1):
bnxt_en: reject indirect blk offload when hw-tc-offload is off
Stefan Riedmueller (1):
clk: imx: imx6ul: Move csi_sel mux to correct base register
Stephan Gerhold (1):
arm64: dts: qcom: Fix node name of rpm-msg-ram device nodes
Steven Rostedt (VMware) (1):
tracing: Add length protection to histogram string copies
Surabhi Boob (1):
iavf: Fix for the false positive ASQ/ARQ errors while issuing VF reset
Sven Peter (2):
usb: typec: tipd: Remove WARN_ON in tps6598x_block_read iommu/dart: Initialize DART_STREAMS_ENABLE
Sven Schnelle (2):
s390/vdso: filter out -mstack-guard and -mstack-size parisc/sticon: fix reverse colors
Tadeusz Struk (1):
tipc: check for null after calling kmemdup
Takashi Iwai (1):
ASoC: DAPM: Cover regression by kctl change notification fix
Tariq Toukan (1):
net/mlx5e: kTLS, Fix crash in RX resync flow
Teng Qi (1):
iio: imu: st_lsm6dsx: Avoid potential array overflow in st_lsm6dsx_set_odr()
Tetsuo Handa (1):
sock: fix /proc/net/sockstat underflow in sk_clone_lock()
Thomas Gleixner (1):
net: stmmac: Fix signed/unsigned wreckage
Thomas Zimmermann (1):
drm/cma-helper: Release non-coherent memory with dma_free_noncoherent()
Tom Lendacky (1):
KVM: x86: Assume a 64-bit hypercall for guests with protected state
Tony Lindgren (2):
bus: ti-sysc: Add quirk handling for reinit on context lost
bus: ti-sysc: Use context lost quirk for otg
Tvrtko Ursulin (1):
iommu/vt-d: Do not falsely log intel_iommu is unsupported kernel option
Uwe Kleine-König (1):
usb: max-3421: Use driver data instead of maintaining a list of bound devices
Valentine Fatiev (1):
net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove()
Vandita Kulkarni (1):
Revert "drm/i915/tgl/dsi: Gate the ddi clocks after pll mapping"
Vasily Gorbik (2):
s390/setup: avoid reserving memory above identity mapping s390/boot: simplify and fix kernel memory layout setup
Ville Syrjälä (1):
drm/i915: Fix type1 DVI DP dual mode adapter heuristic for modern platforms
Vincent Donnefort (1):
sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain()
Vlad Buslov (1):
net/mlx5e: Wait for concurrent flow deletion during neigh/fib events
Wen Gu (1):
net/smc: Make sure the link_id is unique
William Overton (1):
ALSA: usb-audio: Add support for the Pioneer DJM 750MK2 Mixer/Soundcard
Xin Long (2):
tipc: only accept encrypted MSG_CRYPTO msgs
net: sched: act_mirred: drop dst for the direction from egress to ingress
Yang Yingliang (2):
usb: musb: tusb6010: check return value after calling platform_get_resource()
usb: host: ohci-tmio: check return value after calling platform_get_resource()
Ye Bin (2):
scsi: scsi_debug: Fix out-of-bound read in resp_readcap16()
scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs()
Yu Kuai (1):
blk-cgroup: fix missing put device in error path from blkg_conf_pref()
hongao (1):
drm/amdgpu: fix set scaling mode Full/Full aspect/Center not works on vga and dvi connectors
wangyugui (1):
RDMA/core: Use kvzalloc when allocating the struct ib_port
黄乐 (1):
KVM: x86: Fix uninitialized eoi_exit_bitmap usage in vcpu_load_eoi_exitmap()
Greg Kroah-Hartman
maintainerMakefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 15 -SUBLEVEL = 4 +SUBLEVEL = 5 EXTRAVERSION = NAME = Trick or Treat
arch/arc/kernel/process.c +1 -1
@@ -294,7 +294,7 @@ int elf_check_arch(const struct elf32_hdr *x) eflags = x->e_flags;if ((eflags &EF_ARC_OSABI_MSK ) !=EF_ARC_OSABI_CURRENT ) {pr_err ("ABI mismatch - you need newer toolchain\n" ); -force_sigsegv (SIGSEGV ); +force_fatal_sig (SIGSEGV );return 0 ; }
arch/arm/Kconfig +1 -0
@@ -1455,6 +1455,7 @@ config HIGHMEM bool "High Memory Support" depends on MMU select KMAP_LOCAL + select KMAP_LOCAL_NON_LINEAR_PTE_ARRAY help The address space of ARM processors is only 4 Gigabytes large and it has to accommodate user address space, kernel address
arch/arm/boot/dts/bcm-nsp.dtsi +2 -2
@@ -77,7 +77,7 @@ pmu { interrupt-affinity = <&cpu0>, <&cpu1>; }; - mpcore@19000000 { + mpcore-bus@19000000 { compatible = "simple-bus"; ranges = <0x00000000 0x19000000 0x00023000>; #address-cells = <1>;
@@ -219,7 +219,7 @@ dma: dma@20000 { status = "disabled"; }; - sdio: sdhci@21000 { + sdio: mmc@21000 { compatible = "brcm,sdhci-iproc-cygnus"; reg = <0x21000 0x100>; interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
arch/arm/boot/dts/bcm47094-linksys-panamera.dts +1 -1
@@ -129,7 +129,7 @@ bluebar8 { }; }; - mdio-bus-mux@18003000 { + mdio-mux@18003000 { /* BIT(9) = 1 => external mdio */ mdio@200 {
arch/arm/boot/dts/bcm53016-meraki-mr32.dts +22 -0
@@ -195,3 +195,25 @@ partition4@800000 { }; }; }; + +&srab { + status = "okay"; + + ports { + port@0 { + reg = <0>; + label = "poe"; + }; + + port@5 { + reg = <5>; + label = "cpu"; + ethernet = <&gmac0>; + + fixed-link { + speed = <1000>; + duplex-full; + }; + }; + }; +};
arch/arm/boot/dts/bcm5301x.dtsi +5 -5
@@ -19,7 +19,7 @@ / { #size-cells = <1>; interrupt-parent = <&gic>; - chipcommonA@18000000 { + chipcommon-a-bus@18000000 { compatible = "simple-bus"; ranges = <0x00000000 0x18000000 0x00001000>; #address-cells = <1>;
@@ -44,7 +44,7 @@ uart1: serial@400 { }; }; - mpcore@19000000 { + mpcore-bus@19000000 { compatible = "simple-bus"; ranges = <0x00000000 0x19000000 0x00023000>; #address-cells = <1>;
@@ -369,8 +369,8 @@ mdio: mdio@18003000 { #address-cells = <1>; }; - mdio-bus-mux@18003000 { - compatible = "mdio-mux-mmioreg"; + mdio-mux@18003000 { + compatible = "mdio-mux-mmioreg", "mdio-mux"; mdio-parent-bus = <&mdio>; #address-cells = <1>; #size-cells = <0>;
@@ -415,7 +415,7 @@ i2c0: i2c@18009000 { status = "disabled"; }; - dmu@1800c000 { + dmu-bus@1800c000 { compatible = "simple-bus"; ranges = <0 0x1800c000 0x1000>; #address-cells = <1>;
arch/arm/boot/dts/ls1021a-tsn.dts +1 -1
@@ -251,7 +251,7 @@ &qspi { flash@0 { /* Rev. A uses 64MB flash, Rev. B & C use 32MB flash */ - compatible = "jedec,spi-nor", "s25fl256s1", "s25fl512s"; + compatible = "jedec,spi-nor"; spi-max-frequency = <20000000>; #address-cells = <1>; #size-cells = <1>;
arch/arm/boot/dts/ls1021a.dtsi +33 -33
76 lines not on this page · raw message
arch/arm/boot/dts/omap-gpmc-smsc9221.dtsi +1 -1
@@ -29,7 +29,7 @@ ethernet@gpmc { compatible = "smsc,lan9221","smsc,lan9115"; bank-width = <2>; - gpmc,mux-add-data; + gpmc,mux-add-data = <0>; gpmc,cs-on-ns = <0>; gpmc,cs-rd-off-ns = <42>; gpmc,cs-wr-off-ns = <36>;
arch/arm/boot/dts/omap3-overo-tobiduo-common.dtsi +1 -1
@@ -22,7 +22,7 @@ smsc2: ethernet@4,0 { compatible = "smsc,lan9221","smsc,lan9115"; bank-width = <2>; - gpmc,mux-add-data; + gpmc,mux-add-data = <0>; gpmc,cs-on-ns = <0>; gpmc,cs-rd-off-ns = <42>; gpmc,cs-wr-off-ns = <36>;
arch/arm/boot/dts/qcom-ipq8064-rb3011.dts +3 -3
@@ -19,12 +19,12 @@ chosen { stdout-path = "serial0:115200n8"; }; - memory@0 { + memory@42000000 { reg = <0x42000000 0x3e000000>; device_type = "memory"; }; - mdio0: mdio@0 { + mdio0: mdio-0 { status = "okay"; compatible = "virtual,mdio-gpio"; gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH>,
@@ -91,7 +91,7 @@ port@5 { }; }; - mdio1: mdio@1 { + mdio1: mdio-1 { status = "okay"; compatible = "virtual,mdio-gpio"; gpios = <&qcom_pinmux 11 GPIO_ACTIVE_HIGH>,
arch/arm/boot/dts/ste-ux500-samsung-skomer.dts +4 -4
@@ -292,10 +292,10 @@ ab8500_ldo_aux1 { }; ab8500_ldo_aux2 { - /* Supplies the Cypress TMA140 touchscreen only with 3.3V */ + /* Supplies the Cypress TMA140 touchscreen only with 3.0V */ regulator-name = "AUX2"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; }; ab8500_ldo_aux3 {
@@ -314,9 +314,9 @@ ab8500_ldo_aux4 { ab8500_ldo_aux5 { regulator-name = "AUX5"; + /* Intended for 1V8 for touchscreen but actually left unused */ regulator-min-microvolt = <1050000>; regulator-max-microvolt = <2790000>; - regulator-always-on; }; ab8500_ldo_aux6 {
arch/arm/boot/dts/sun8i-a33.dtsi +2 -2
@@ -46,7 +46,7 @@ #include <dt-bindings/thermal/thermal.h> / { - cpu0_opp_table: opp_table0 { + cpu0_opp_table: opp-table-cpu { compatible = "operating-points-v2"; opp-shared;
@@ -164,7 +164,7 @@ iio-hwmon { io-channels = <&ths>; }; - mali_opp_table: gpu-opp-table { + mali_opp_table: opp-table-gpu { compatible = "operating-points-v2"; opp-144000000 {
arch/arm/boot/dts/sun8i-a83t.dtsi +2 -2
@@ -200,7 +200,7 @@ de: display-engine { status = "disabled"; }; - cpu0_opp_table: opp_table0 { + cpu0_opp_table: opp-table-cluster0 { compatible = "operating-points-v2"; opp-shared;
@@ -253,7 +253,7 @@ opp-1200000000 { }; }; - cpu1_opp_table: opp_table1 { + cpu1_opp_table: opp-table-cluster1 { compatible = "operating-points-v2"; opp-shared;
arch/arm/boot/dts/sun8i-h3.dtsi +2 -2
@@ -44,7 +44,7 @@ #include <dt-bindings/thermal/thermal.h> / { - cpu0_opp_table: opp_table0 { + cpu0_opp_table: opp-table-cpu { compatible = "operating-points-v2"; opp-shared;
@@ -112,7 +112,7 @@ cpu3: cpu@3 { }; }; - gpu_opp_table: gpu-opp-table { + gpu_opp_table: opp-table-gpu { compatible = "operating-points-v2"; opp-120000000 {
arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi +3 -3
@@ -343,19 +343,19 @@ r_i2c1: i2c@7081800 { }; thermal-zones { - cpu-thermal-zone { + cpu-thermal { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&ths 0>; }; - ddr-thermal-zone { + ddr-thermal { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&ths 2>; }; - gpu-thermal-zone { + gpu-thermal { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&ths 1>;
arch/arm64/boot/dts/allwinner/sun50i-a64-cpu-opp.dtsi +1 -1
@@ -4,7 +4,7 @@ */ / { - cpu0_opp_table: opp_table0 { + cpu0_opp_table: opp-table-cpu { compatible = "operating-points-v2"; opp-shared;
arch/arm64/boot/dts/allwinner/sun50i-h5-cpu-opp.dtsi +1 -1
@@ -2,7 +2,7 @@ // Copyright (C) 2020 Chen-Yu Tsai <[email protected]> / { - cpu_opp_table: cpu-opp-table { + cpu_opp_table: opp-table-cpu { compatible = "operating-points-v2"; opp-shared;
arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi +1 -1
@@ -217,7 +217,7 @@ cpu-hot-limit { }; }; - gpu_thermal { + gpu-thermal { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&ths 1>;
arch/arm64/boot/dts/allwinner/sun50i-h6-cpu-opp.dtsi +1 -1
@@ -3,7 +3,7 @@ // Copyright (C) 2020 Clément Péron <[email protected]> / { - cpu_opp_table: cpu-opp-table { + cpu_opp_table: opp-table-cpu { compatible = "allwinner,sun50i-h6-operating-points"; nvmem-cells = <&cpu_speed_grade>; opp-shared;
arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi +6 -6
@@ -326,12 +326,12 @@ reset-controller@2644 { #reset-cells = <1>; }; }; + }; - reboot { - compatible = "syscon-reboot"; - regmap = <&timer>; - offset = <0x34>; - mask = <1>; - }; + reboot { + compatible = "syscon-reboot"; + regmap = <&timer>; + offset = <0x34>; + mask = <1>; }; };
arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts +1 -0
@@ -15,6 +15,7 @@ / { compatible = "fsl,ls1012a-rdb", "fsl,ls1012a"; aliases { + serial0 = &duart0; mmc0 = &esdhc0; mmc1 = &esdhc1; };
arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi +8 -8
@@ -847,7 +847,7 @@ pcs7_3: ethernet-phy@3 { }; cluster1_core0_watchdog: wdt@c000000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc000000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(16)>,
@@ -857,7 +857,7 @@ QORIQ_CLK_PLL_DIV(16)>, }; cluster1_core1_watchdog: wdt@c010000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc010000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(16)>,
@@ -867,7 +867,7 @@ QORIQ_CLK_PLL_DIV(16)>, }; cluster1_core2_watchdog: wdt@c020000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc020000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(16)>,
@@ -877,7 +877,7 @@ QORIQ_CLK_PLL_DIV(16)>, }; cluster1_core3_watchdog: wdt@c030000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc030000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(16)>,
@@ -887,7 +887,7 @@ QORIQ_CLK_PLL_DIV(16)>, }; cluster2_core0_watchdog: wdt@c100000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc100000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(16)>,
@@ -897,7 +897,7 @@ QORIQ_CLK_PLL_DIV(16)>, }; cluster2_core1_watchdog: wdt@c110000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc110000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(16)>,
@@ -907,7 +907,7 @@ QORIQ_CLK_PLL_DIV(16)>, }; cluster2_core2_watchdog: wdt@c120000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc120000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(16)>,
@@ -917,7 +917,7 @@ QORIQ_CLK_PLL_DIV(16)>, }; cluster2_core3_watchdog: wdt@c130000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc130000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(16)>,
arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi +8 -8
@@ -387,7 +387,7 @@ serial3: serial@21d0600 { }; cluster1_core0_watchdog: wdt@c000000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc000000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(4)>,
@@ -397,7 +397,7 @@ QORIQ_CLK_PLL_DIV(4)>, }; cluster1_core1_watchdog: wdt@c010000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc010000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(4)>,
@@ -407,7 +407,7 @@ QORIQ_CLK_PLL_DIV(4)>, }; cluster2_core0_watchdog: wdt@c100000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc100000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(4)>,
@@ -417,7 +417,7 @@ QORIQ_CLK_PLL_DIV(4)>, }; cluster2_core1_watchdog: wdt@c110000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc110000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(4)>,
@@ -427,7 +427,7 @@ QORIQ_CLK_PLL_DIV(4)>, }; cluster3_core0_watchdog: wdt@c200000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc200000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(4)>,
@@ -437,7 +437,7 @@ QORIQ_CLK_PLL_DIV(4)>, }; cluster3_core1_watchdog: wdt@c210000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc210000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(4)>,
@@ -447,7 +447,7 @@ QORIQ_CLK_PLL_DIV(4)>, }; cluster4_core0_watchdog: wdt@c300000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc300000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(4)>,
@@ -457,7 +457,7 @@ QORIQ_CLK_PLL_DIV(4)>, }; cluster4_core1_watchdog: wdt@c310000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xc310000 0x0 0x1000>; clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(4)>,
arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dts +2 -2
@@ -123,8 +123,8 @@ mdio { ethphy: ethernet-phy@0 { reg = <0>; - reset-assert-us = <100>; - reset-deassert-us = <100>; + reset-assert-us = <1>; + reset-deassert-us = <15000>; reset-gpios = <&gpio4 27 GPIO_ACTIVE_LOW>; }; };
arch/arm64/boot/dts/hisilicon/hi3660.dtsi +2 -2
@@ -1087,7 +1087,7 @@ dwmmc2: dwmmc2@ff3ff000 { }; watchdog0: watchdog@e8a06000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xe8a06000 0x0 0x1000>; interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; clocks = <&crg_ctrl HI3660_OSC32K>,
@@ -1096,7 +1096,7 @@ watchdog0: watchdog@e8a06000 { }; watchdog1: watchdog@e8a07000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xe8a07000 0x0 0x1000>; interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; clocks = <&crg_ctrl HI3660_OSC32K>,
arch/arm64/boot/dts/hisilicon/hi6220.dtsi +1 -1
@@ -840,7 +840,7 @@ dwmmc_2: dwmmc2@f723f000 { }; watchdog0: watchdog@f8005000 { - compatible = "arm,sp805-wdt", "arm,primecell"; + compatible = "arm,sp805", "arm,primecell"; reg = <0x0 0xf8005000 0x0 0x1000>; interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; clocks = <&ao_ctrl HI6220_WDT0_PCLK>,
arch/arm64/boot/dts/qcom/ipq6018.dtsi +1 -1
@@ -200,7 +200,7 @@ cryptobam: dma-controller@704000 { clock-names = "bam_clk"; #dma-cells = <1>; qcom,ee = <1>; - qcom,controlled-remotely = <1>; + qcom,controlled-remotely; qcom,config-pipe-trust-reg = <0>; };
arch/arm64/boot/dts/qcom/ipq8074.dtsi +1 -1
@@ -220,7 +220,7 @@ cryptobam: dma@704000 { clock-names = "bam_clk"; #dma-cells = <1>; qcom,ee = <1>; - qcom,controlled-remotely = <1>; + qcom,controlled-remotely; status = "disabled"; };
arch/arm64/boot/dts/qcom/msm8916.dtsi +1 -1
@@ -445,7 +445,7 @@ tsens_calsel: calsel@ec { }; }; - rpm_msg_ram: memory@60000 { + rpm_msg_ram: sram@60000 { compatible = "qcom,rpm-msg-ram"; reg = <0x00060000 0x8000>; };
arch/arm64/boot/dts/qcom/msm8994.dtsi +1 -1
@@ -715,7 +715,7 @@ gcc: clock-controller@fc400000 { reg = <0xfc400000 0x2000>; }; - rpm_msg_ram: memory@fc428000 { + rpm_msg_ram: sram@fc428000 { compatible = "qcom,rpm-msg-ram"; reg = <0xfc428000 0x4000>; };
arch/arm64/boot/dts/qcom/msm8996.dtsi +1 -1
@@ -638,7 +638,7 @@ pciephy_2: lane@37000 { }; }; - rpm_msg_ram: memory@68000 { + rpm_msg_ram: sram@68000 { compatible = "qcom,rpm-msg-ram"; reg = <0x00068000 0x6000>; };
arch/arm64/boot/dts/qcom/msm8998.dtsi +13 -9
@@ -308,38 +308,42 @@ idle-states { LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 { compatible = "arm,idle-state"; idle-state-name = "little-retention"; + /* CPU Retention (C2D), L2 Active */ arm,psci-suspend-param = <0x00000002>; entry-latency-us = <81>; exit-latency-us = <86>; - min-residency-us = <200>; + min-residency-us = <504>; }; LITTLE_CPU_SLEEP_1: cpu-sleep-0-1 { compatible = "arm,idle-state"; idle-state-name = "little-power-collapse"; + /* CPU + L2 Power Collapse (C3, D4) */ arm,psci-suspend-param = <0x40000003>; - entry-latency-us = <273>; - exit-latency-us = <612>; - min-residency-us = <1000>; + entry-latency-us = <814>; + exit-latency-us = <4562>; + min-residency-us = <9183>; local-timer-stop; }; BIG_CPU_SLEEP_0: cpu-sleep-1-0 { compatible = "arm,idle-state"; idle-state-name = "big-retention"; + /* CPU Retention (C2D), L2 Active */ arm,psci-suspend-param = <0x00000002>; entry-latency-us = <79>; exit-latency-us = <82>; - min-residency-us = <200>; + min-residency-us = <1302>; }; BIG_CPU_SLEEP_1: cpu-sleep-1-1 { compatible = "arm,idle-state"; idle-state-name = "big-power-collapse"; + /* CPU + L2 Power Collapse (C3, D4) */ arm,psci-suspend-param = <0x40000003>; - entry-latency-us = <336>; - exit-latency-us = <525>; - min-residency-us = <1000>; + entry-latency-us = <724>; + exit-latency-us = <2027>; + min-residency-us = <9419>; local-timer-stop; }; };
@@ -857,7 +861,7 @@ gcc: clock-controller@100000 { reg = <0x00100000 0xb0000>; }; - rpm_msg_ram: memory@778000 { + rpm_msg_ram: sram@778000 { compatible = "qcom,rpm-msg-ram"; reg = <0x00778000 0x7000>; };
arch/arm64/boot/dts/qcom/qcs404.dtsi +1 -1
@@ -318,7 +318,7 @@ turingcc: clock-controller@800000 { status = "disabled"; }; - rpm_msg_ram: memory@60000 { + rpm_msg_ram: sram@60000 { compatible = "qcom,rpm-msg-ram"; reg = <0x00060000 0x6000>; };
arch/arm64/boot/dts/qcom/sdm630.dtsi +1 -1
@@ -541,7 +541,7 @@ gcc: clock-controller@100000 { <&sleep_clk>; }; - rpm_msg_ram: memory@778000 { + rpm_msg_ram: sram@778000 { compatible = "qcom,rpm-msg-ram"; reg = <0x00778000 0x7000>; };
arch/arm64/boot/dts/qcom/sdm845.dtsi +1 -1
@@ -2320,7 +2320,7 @@ cryptobam: dma@1dc4000 { clock-names = "bam_clk"; #dma-cells = <1>; qcom,ee = <0>; - qcom,controlled-remotely = <1>; + qcom,controlled-remotely; iommus = <&apps_smmu 0x704 0x1>, <&apps_smmu 0x706 0x1>, <&apps_smmu 0x714 0x1>,
arch/arm64/boot/dts/qcom/sm6125.dtsi +1 -1
@@ -380,7 +380,7 @@ hsusb_phy1: phy@1613000 { status = "disabled"; }; - rpm_msg_ram: memory@45f0000 { + rpm_msg_ram: sram@45f0000 { compatible = "qcom,rpm-msg-ram"; reg = <0x045f0000 0x7000>; };
arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts +0 -4
@@ -385,10 +385,6 @@ mains_charger: dc-charger { }; }; -&cdn_dp { - status = "okay"; -}; - &cpu_b0 { cpu-supply = <&vdd_cpu_b>; };
arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts +2 -2
@@ -131,7 +131,7 @@ spi0_flash0: flash@0 { reg = <0>; partition@0 { - label = "data"; + label = "spi0-data"; reg = <0x0 0x100000>; }; };
@@ -149,7 +149,7 @@ spi1_flash0: flash@0 { reg = <0>; partition@0 { - label = "data"; + label = "spi1-data"; reg = <0x0 0x84000>; }; };
arch/arm64/boot/dts/xilinx/zynqmp.dtsi +2 -2
@@ -792,7 +792,7 @@ ttc3: timer@ff140000 { }; uart0: serial@ff000000 { - compatible = "cdns,uart-r1p12", "xlnx,xuartps"; + compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12"; status = "disabled"; interrupt-parent = <&gic>; interrupts = <0 21 4>;
@@ -802,7 +802,7 @@ uart0: serial@ff000000 { }; uart1: serial@ff010000 { - compatible = "cdns,uart-r1p12", "xlnx,xuartps"; + compatible = "xlnx,zynqmp-uart", "cdns,uart-r1p12"; status = "disabled"; interrupt-parent = <&gic>; interrupts = <0 22 4>;
arch/arm64/kvm/hyp/nvhe/setup.c +12 -2
@@ -177,7 +177,7 @@ static int finalize_host_mappings_walker(u64 addr, u64 end, u32 level, phys =kvm_pte_to_phys (pte);if (!addr_is_memory (phys)) -return 0 ; +return -EINVAL ;/* * Adjust the host stage-2 mappings to match the ownership attributes
@@ -206,8 +206,18 @@ static int finalize_host_mappings(void) .cb = finalize_host_mappings_walker, .flags = KVM_PGTABLE_WALK_LEAF, }; +int i, ret; + +for (i =0 ; i < hyp_memblock_nr; i++) { +struct memblock_region *reg = &hyp_memory[i]; +u64 start = (u64 )hyp_phys_to_virt (reg->base); + + ret =kvm_pgtable_walk (&pkvm_pgtable, start, reg->size, &walker); +if (ret) +return ret; + } -return kvm_pgtable_walk (&pkvm_pgtable,0 ,BIT (pkvm_pgtable.ia_bits), &walker); +return 0 ; }void __noreturn __pkvm_init_finalise (void )
arch/hexagon/include/asm/timer-regs.h deleted +0 -26
@@ -1,26 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ -/* -* Timer support for Hexagon -* -* Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. -*/ - -#ifndef _ASM_TIMER_REGS_H -#define _ASM_TIMER_REGS_H - -/* This stuff should go into a platform specific file */ -#define TCX0_CLK_RATE 19200 -#define TIMER_ENABLE 0 -#define TIMER_CLR_ON_MATCH 1 - -/* -* 8x50 HDD Specs 5-8. Simulator co-sim not fixed until -* release 1.1, and then it's "adjustable" and probably not defaulted. -*/ -#define RTOS_TIMER_INT 3 -#ifdef CONFIG_HEXAGON_COMET -#define RTOS_TIMER_REGS_ADDR 0xAB000000UL -#endif -#define SLEEP_CLK_RATE 32000 - -#endif
arch/hexagon/include/asm/timex.h +1 -2
@@ -7,11 +7,10 @@#define _ASM_TIMEX_H#include <asm-generic/timex.h> -#include <asm/timer-regs.h> #include <asm/hexagon_vm.h> /* Using TCX0 as our clock. CLOCK_TICK_RATE scheduled to be removed. */ -#define CLOCK_TICK_RATE TCX0_CLK_RATE +#define CLOCK_TICK_RATE 19200#define ARCH_HAS_READ_CURRENT_TIMER
arch/hexagon/kernel/time.c +10 -2
@@ -17,9 +17,10 @@#include <linux/of_irq.h> #include <linux/module.h> -#include <asm/timer-regs.h> #include <asm/hexagon_vm.h> +#define TIMER_ENABLE BIT(0) +/* * For the clocksource we need: * pcycle frequency (600MHz)
@@ -33,6 +34,13 @@ cycles_t pcycle_freq_mhz;cycles_t thread_freq_mhz;cycles_t sleep_clk_freq; +/* +* 8x50 HDD Specs 5-8. Simulator co-sim not fixed until +* release 1.1, and then it's "adjustable" and probably not defaulted. +*/ +#define RTOS_TIMER_INT 3 +#define RTOS_TIMER_REGS_ADDR 0xAB000000UL +static struct resource rtos_timer_resources[] = { { .start =RTOS_TIMER_REGS_ADDR ,
@@ -80,7 +88,7 @@ static int set_next_event(unsigned long delta, struct clock_event_device *evt)iowrite32 (0 , &rtos_timer->clear);iowrite32 (delta, &rtos_timer->match); -iowrite32 (1 <<TIMER_ENABLE , &rtos_timer->enable); +iowrite32 (TIMER_ENABLE , &rtos_timer->enable);return 0 ; }
arch/hexagon/lib/io.c +4 -0
@@ -27,6 +27,7 @@ void __raw_readsw(const void __iomem *addr, void *data, int len) *dst++ = *src; } +EXPORT_SYMBOL (__raw_readsw);/* * __raw_writesw - read words a short at a time
@@ -47,6 +48,7 @@ void __raw_writesw(void __iomem *addr, const void *data, int len) } +EXPORT_SYMBOL (__raw_writesw);/* Pretty sure len is pre-adjusted for the length of the access already */ void __raw_readsl (const void __iomem *addr,void *data,int len)
@@ -62,6 +64,7 @@ void __raw_readsl(const void __iomem *addr, void *data, int len) } +EXPORT_SYMBOL (__raw_readsl);void __raw_writesl (void __iomem *addr,const void *data,int len) {
@@ -76,3 +79,4 @@ void __raw_writesl(void __iomem *addr, const void *data, int len) } +EXPORT_SYMBOL (__raw_writesl);
arch/m68k/kernel/traps.c +1 -1
@@ -1145,7 +1145,7 @@ asmlinkage void set_esp0(unsigned long ssp)*/ asmlinkage void fpsp040_die(void) { -force_sigsegv (SIGSEGV ); +force_exit_sig (SIGSEGV ); }#ifdef CONFIG_M68KFPU_EMU
arch/mips/Kconfig +3 -0
@@ -332,6 +332,9 @@ config BCM63XX select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_BIG_ENDIAN select SYS_HAS_EARLY_PRINTK + select SYS_HAS_CPU_BMIPS32_3300 + select SYS_HAS_CPU_BMIPS4350 + select SYS_HAS_CPU_BMIPS4380 select SWAP_IO_SPACE select GPIOLIB select MIPS_L1_CACHE_SHIFT_4
arch/mips/bcm63xx/clk.c +6 -0
@@ -381,6 +381,12 @@ void clk_disable(struct clk *clk)EXPORT_SYMBOL (clk_disable); +struct clk *clk_get_parent (struct clk *clk) +{ +return NULL ; +} +EXPORT_SYMBOL (clk_get_parent); +unsigned long clk_get_rate (struct clk *clk) {if (!clk)
arch/mips/boot/compressed/Makefile +6 -0
@@ -56,6 +56,8 @@ $(obj)/uart-ath79.c: $(srctree)/arch/mips/ath79/early_printk.c vmlinuzobjs-$(CONFIG_KERNEL_XZ) += $(obj)/ashldi3.o +vmlinuzobjs-$(CONFIG_KERNEL_ZSTD) += $(obj)/bswapdi.o + extra-y += ashldi3.c $(obj)/ashldi3.c: $(obj)/%.c: $(srctree)/lib/%.c FORCE $(call if_changed,shipped)
@@ -64,6 +66,10 @@ extra-y += bswapsi.c $(obj)/bswapsi.c: $(obj)/%.c: $(srctree)/arch/mips/lib/%.c FORCE $(call if_changed,shipped) +extra-y += bswapdi.c +$(obj)/bswapdi.c: $(obj)/%.c: $(srctree)/arch/mips/lib/%.c FORCE + $(call if_changed,shipped) + targets := $(notdir $(vmlinuzobjs-y)) targets += vmlinux.bin
arch/mips/generic/yamon-dt.c +1 -1
@@ -75,7 +75,7 @@ static unsigned int __init gen_fdt_mem_array(__init int yamon_dt_append_memory (void *fdt,const struct yamon_mem_region *regions) { -unsigned long phys_memsize, memsize; +unsigned long phys_memsize =0 , memsize;__be32 mem_array[2 *MAX_MEM_ARRAY_ENTRIES ];unsigned int mem_entries;int i, err, mem_off;
arch/mips/lantiq/clk.c +6 -0
@@ -158,6 +158,12 @@ void clk_deactivate(struct clk *clk) }EXPORT_SYMBOL (clk_deactivate); +struct clk *clk_get_parent (struct clk *clk) +{ +return NULL ; +} +EXPORT_SYMBOL (clk_get_parent); +static inline u32 get_counter_resolution (void ) {u32 res;
arch/mips/sni/time.c +2 -2
@@ -18,14 +18,14 @@ static int a20r_set_periodic(struct clock_event_device *evt) { *(volatile u8 *)(A20R_PT_CLOCK_BASE +12 ) =0x34 ;wmb (); - *(volatile u8 *)(A20R_PT_CLOCK_BASE +0 ) =SNI_COUNTER0_DIV ; + *(volatile u8 *)(A20R_PT_CLOCK_BASE +0 ) =SNI_COUNTER0_DIV &0xff ;wmb (); *(volatile u8 *)(A20R_PT_CLOCK_BASE +0 ) =SNI_COUNTER0_DIV >>8 ;wmb (); *(volatile u8 *)(A20R_PT_CLOCK_BASE +12 ) =0xb4 ;wmb (); - *(volatile u8 *)(A20R_PT_CLOCK_BASE +8 ) =SNI_COUNTER2_DIV ; + *(volatile u8 *)(A20R_PT_CLOCK_BASE +8 ) =SNI_COUNTER2_DIV &0xff ;wmb (); *(volatile u8 *)(A20R_PT_CLOCK_BASE +8 ) =SNI_COUNTER2_DIV >>8 ;wmb ();
arch/parisc/include/asm/rt_sigframe.h +1 -1
@@ -2,7 +2,7 @@#ifndef _ASM_PARISC_RT_SIGFRAME_H#define _ASM_PARISC_RT_SIGFRAME_H -#define SIGRETURN_TRAMP 3 +#define SIGRETURN_TRAMP 4#define SIGRESTARTBLOCK_TRAMP 5#define TRAMP_SIZE (SIGRETURN_TRAMP + SIGRESTARTBLOCK_TRAMP)
arch/parisc/kernel/signal.c +7 -6
@@ -288,21 +288,22 @@ setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs,already in userspace. The first words of tramp are used to save the previous sigrestartblock trampoline that might be on the stack. We start the sigreturn trampoline at -SIGRESTARTBLOCK_TRAMP. */ +SIGRESTARTBLOCK_TRAMP+X. */ err |=__put_user (in_syscall ?INSN_LDI_R25_1 :INSN_LDI_R25_0 , &frame->tramp[SIGRESTARTBLOCK_TRAMP +0 ]); - err |=__put_user (INSN_BLE_SR2_R0 , - &frame->tramp[SIGRESTARTBLOCK_TRAMP +1 ]); err |=__put_user (INSN_LDI_R20 , + &frame->tramp[SIGRESTARTBLOCK_TRAMP +1 ]); + err |=__put_user (INSN_BLE_SR2_R0 , &frame->tramp[SIGRESTARTBLOCK_TRAMP +2 ]); + err |=__put_user (INSN_NOP , &frame->tramp[SIGRESTARTBLOCK_TRAMP +3 ]); - start = (unsigned long ) &frame->tramp[SIGRESTARTBLOCK_TRAMP +0 ]; - end = (unsigned long ) &frame->tramp[SIGRESTARTBLOCK_TRAMP +3 ]; + start = (unsigned long ) &frame->tramp[0 ]; + end = (unsigned long ) &frame->tramp[TRAMP_SIZE ];flush_user_dcache_range_asm (start, end);flush_user_icache_range_asm (start, end);/* TRAMP Words 0-4, Length 5 = SIGRESTARTBLOCK_TRAMP -* TRAMP Words 5-7, Length 3 = SIGRETURN_TRAMP +* TRAMP Words 5-9, Length 4 = SIGRETURN_TRAMP * So the SIGRETURN_TRAMP is at the end of SIGRESTARTBLOCK_TRAMP */ rp = (unsigned long ) &frame->tramp[SIGRESTARTBLOCK_TRAMP ];
arch/parisc/kernel/signal32.h +1 -1
@@ -36,7 +36,7 @@ struct compat_regfile {compat_int_t rf_sar; }; -#define COMPAT_SIGRETURN_TRAMP 3 +#define COMPAT_SIGRETURN_TRAMP 4#define COMPAT_SIGRESTARTBLOCK_TRAMP 5#define COMPAT_TRAMP_SIZE (COMPAT_SIGRETURN_TRAMP + \ COMPAT_SIGRESTARTBLOCK_TRAMP)
arch/powerpc/boot/dts/charon.dts +1 -1
@@ -35,7 +35,7 @@ PowerPC,5200@0 { }; }; - memory { + memory@0 { device_type = "memory"; reg = <0x00000000 0x08000000>; // 128MB };
arch/powerpc/boot/dts/digsy_mtc.dts +1 -1
@@ -16,7 +16,7 @@ / { model = "intercontrol,digsy-mtc"; compatible = "intercontrol,digsy-mtc"; - memory { + memory@0 { reg = <0x00000000 0x02000000>; // 32MB };
arch/powerpc/boot/dts/lite5200.dts +1 -1
@@ -32,7 +32,7 @@ PowerPC,5200@0 { }; }; - memory { + memory@0 { device_type = "memory"; reg = <0x00000000 0x04000000>; // 64MB };
arch/powerpc/boot/dts/lite5200b.dts +1 -1
@@ -31,7 +31,7 @@ tmr3 { led4 { gpios = <&gpio_simple 2 1>; }; }; - memory { + memory@0 { reg = <0x00000000 0x10000000>; // 256MB };
arch/powerpc/boot/dts/media5200.dts +1 -1
@@ -32,7 +32,7 @@ PowerPC,5200@0 { }; }; - memory { + memory@0 { reg = <0x00000000 0x08000000>; // 128MB RAM };
arch/powerpc/boot/dts/mpc5200b.dtsi +1 -1
@@ -33,7 +33,7 @@ powerpc: PowerPC,5200@0 { }; }; - memory: memory { + memory: memory@0 { device_type = "memory"; reg = <0x00000000 0x04000000>; // 64MB };
arch/powerpc/boot/dts/o2d.dts +1 -1
@@ -12,7 +12,7 @@ / { model = "ifm,o2d"; compatible = "ifm,o2d"; - memory { + memory@0 { reg = <0x00000000 0x08000000>; // 128MB };
arch/powerpc/boot/dts/o2d.dtsi +1 -1
@@ -19,7 +19,7 @@ / { model = "ifm,o2d"; compatible = "ifm,o2d"; - memory { + memory@0 { reg = <0x00000000 0x04000000>; // 64MB };
arch/powerpc/boot/dts/o2dnt2.dts +1 -1
@@ -12,7 +12,7 @@ / { model = "ifm,o2dnt2"; compatible = "ifm,o2d"; - memory { + memory@0 { reg = <0x00000000 0x08000000>; // 128MB };
arch/powerpc/boot/dts/o3dnt.dts +1 -1
@@ -12,7 +12,7 @@ / { model = "ifm,o3dnt"; compatible = "ifm,o2d"; - memory { + memory@0 { reg = <0x00000000 0x04000000>; // 64MB };
arch/powerpc/boot/dts/pcm032.dts +1 -1
@@ -20,7 +20,7 @@ / { model = "phytec,pcm032"; compatible = "phytec,pcm032"; - memory { + memory@0 { reg = <0x00000000 0x08000000>; // 128MB };
arch/powerpc/boot/dts/tqm5200.dts +1 -1
@@ -32,7 +32,7 @@ PowerPC,5200@0 { }; }; - memory { + memory@0 { device_type = "memory"; reg = <0x00000000 0x04000000>; // 64MB };
arch/powerpc/kernel/Makefile +3 -0
@@ -196,3 +196,6 @@ clean-files := vmlinux.lds # Force dependency (incbin is bad) $(obj)/vdso32_wrapper.o : $(obj)/vdso32/vdso32.so.dbg $(obj)/vdso64_wrapper.o : $(obj)/vdso64/vdso64.so.dbg + +# for cleaning +subdir- += vdso32 vdso64
arch/powerpc/kernel/head_8xx.S +7 -6
@@ -733,6 +733,7 @@ _GLOBAL(mmu_pin_tlb) #ifdef CONFIG_PIN_TLB_DATA LOAD_REG_IMMEDIATE(r6, PAGE_OFFSET) LOAD_REG_IMMEDIATE(r7, MI_SVALID | MI_PS8MEG | _PMD_ACCESSED) + li r8, 0 #ifdef CONFIG_PIN_TLB_IMMR li r0, 3 #else
@@ -741,26 +742,26 @@ _GLOBAL(mmu_pin_tlb) mtctr r0 cmpwi r4, 0 beq 4f - LOAD_REG_IMMEDIATE(r8, 0xf0 | _PAGE_RO | _PAGE_SPS | _PAGE_SH | _PAGE_PRESENT) LOAD_REG_ADDR(r9, _sinittext) 2: ori r0, r6, MD_EVALID + ori r12, r8, 0xf0 | _PAGE_RO | _PAGE_SPS | _PAGE_SH | _PAGE_PRESENT mtspr SPRN_MD_CTR, r5 mtspr SPRN_MD_EPN, r0 mtspr SPRN_MD_TWC, r7 - mtspr SPRN_MD_RPN, r8 + mtspr SPRN_MD_RPN, r12 addi r5, r5, 0x100 addis r6, r6, SZ_8M@h addis r8, r8, SZ_8M@h cmplw r6, r9 bdnzt lt, 2b - -4: LOAD_REG_IMMEDIATE(r8, 0xf0 | _PAGE_SPS | _PAGE_SH | _PAGE_PRESENT) +4: 2: ori r0, r6, MD_EVALID + ori r12, r8, 0xf0 | _PAGE_DIRTY | _PAGE_SPS | _PAGE_SH | _PAGE_PRESENT mtspr SPRN_MD_CTR, r5 mtspr SPRN_MD_EPN, r0 mtspr SPRN_MD_TWC, r7 - mtspr SPRN_MD_RPN, r8 + mtspr SPRN_MD_RPN, r12 addi r5, r5, 0x100 addis r6, r6, SZ_8M@h addis r8, r8, SZ_8M@h
@@ -781,7 +782,7 @@ _GLOBAL(mmu_pin_tlb) #endif #if defined(CONFIG_PIN_TLB_IMMR) || defined(CONFIG_PIN_TLB_DATA) lis r0, (MD_RSV4I | MD_TWAM)@h - mtspr SPRN_MI_CTR, r0 + mtspr SPRN_MD_CTR, r0 #endif mtspr SPRN_SRR1, r10 mtspr SPRN_SRR0, r11
arch/powerpc/kernel/signal.h +8 -2
@@ -25,8 +25,14 @@ static inline int __get_user_sigset(sigset_t *dst, const sigset_t __user *src)return __get_user (dst->sig[0 ], (u64 __user *)&src->sig[0 ]); } -#define unsafe_get_user_sigset (dst, src, label) \ - unsafe_get_user((dst)->sig[0], (u64 __user *)&(src)->sig[0], label) +#define unsafe_get_user_sigset (dst, src, label) do { \ + sigset_t *__dst = dst; \ + const sigset_t __user *__src = src; \ + int i; \ + \ + for (i = 0; i < _NSIG_WORDS; i++) \ + unsafe_get_user(__dst->sig[i], &__src->sig[i], label); \ +} while (0)#ifdef CONFIG_VSX extern unsigned long copy_vsx_to_user(void __user *to,
arch/powerpc/kernel/signal_32.c +4 -2
@@ -1062,8 +1062,10 @@ SYSCALL_DEFINE3(swapcontext, struct ucontext __user *, old_ctx,* or if another thread unmaps the region containing the context. * We kill the task with a SIGSEGV in this situation. */ -if (do_setcontext (new_ctx, regs,0 )) -do_exit (SIGSEGV ); +if (do_setcontext (new_ctx, regs,0 )) { +force_exit_sig (SIGSEGV ); +return -EFAULT ; + }set_thread_flag (TIF_RESTOREALL );return 0 ;
arch/powerpc/kernel/signal_64.c +6 -3
@@ -703,15 +703,18 @@ SYSCALL_DEFINE3(swapcontext, struct ucontext __user *, old_ctx,* We kill the task with a SIGSEGV in this situation. */ -if (__get_user_sigset (&set, &new_ctx->uc_sigmask)) -do_exit (SIGSEGV ); +if (__get_user_sigset (&set, &new_ctx->uc_sigmask)) { +force_exit_sig (SIGSEGV ); +return -EFAULT ; + }set_current_blocked (&set);if (!user_read_access_begin (new_ctx, ctx_size))return -EFAULT ;if (__unsafe_restore_sigcontext (current,NULL ,0 , &new_ctx->uc_mcontext)) {user_read_access_end (); -do_exit (SIGSEGV ); +force_exit_sig (SIGSEGV ); +return -EFAULT ; }user_read_access_end ();
arch/powerpc/kernel/watchdog.c +6 -0
@@ -187,6 +187,12 @@ static void watchdog_smp_panic(int cpu, u64 tb)if (sysctl_hardlockup_all_cpu_backtrace)trigger_allbutself_cpu_backtrace (); +/* +* Force flush any remote buffers that might be stuck in IRQ context +* and therefore could not run their irq_work. +*/ +printk_trigger_flush (); +if (hardlockup_panic)nmi_panic (NULL ,"Hard LOCKUP" );
arch/powerpc/kvm/book3s_hv_rmhandlers.S +2 -2
@@ -2005,7 +2005,7 @@ hcall_real_table: .globl hcall_real_table_end hcall_real_table_end: -_GLOBAL(kvmppc_h_set_xdabr) +_GLOBAL_TOC(kvmppc_h_set_xdabr) EXPORT_SYMBOL_GPL(kvmppc_h_set_xdabr) andi. r0, r5, DABRX_USER | DABRX_KERNEL beq 6f
@@ -2015,7 +2015,7 @@ EXPORT_SYMBOL_GPL(kvmppc_h_set_xdabr) 6: li r3, H_PARAMETER blr -_GLOBAL(kvmppc_h_set_dabr) +_GLOBAL_TOC(kvmppc_h_set_dabr) EXPORT_SYMBOL_GPL(kvmppc_h_set_dabr) li r5, DABRX_USER | DABRX_KERNEL 3:
arch/powerpc/mm/numa.c +20 -24
74 lines not on this page · raw message
arch/powerpc/sysdev/dcr-low.S +1 -1
@@ -11,7 +11,7 @@ #include <asm/export.h> #define DCR_ACCESS_PROLOG(table) \ - cmpli cr0,r3,1024; \ + cmplwi cr0,r3,1024; \ rlwinm r3,r3,4,18,27; \ lis r5,table@h; \ ori r5,r5,table@l; \
arch/powerpc/sysdev/xive/Kconfig +0 -1
@@ -3,7 +3,6 @@ config PPC_XIVE bool select PPC_SMP_MUXED_IPI select HARDIRQS_SW_RESEND - select IRQ_DOMAIN_NOMAP config PPC_XIVE_NATIVE bool
arch/powerpc/sysdev/xive/common.c +1 -2
@@ -1443,8 +1443,7 @@ static const struct irq_domain_ops xive_irq_domain_ops = {static void __init xive_init_host (struct device_node *np) { - xive_irq_domain =irq_domain_add_nomap (np,XIVE_MAX_IRQ , - &xive_irq_domain_ops,NULL ); + xive_irq_domain =irq_domain_add_tree (np, &xive_irq_domain_ops,NULL );if (WARN_ON (xive_irq_domain ==NULL ))return ;irq_set_default_host (xive_irq_domain);
arch/riscv/Makefile +2 -0
@@ -108,11 +108,13 @@ PHONY += vdso_install vdso_install: $(Q)$(MAKE) $(build)=arch/riscv/kernel/vdso $@ +ifeq ($(KBUILD_EXTMOD),) ifeq ($(CONFIG_MMU),y) prepare: vdso_prepare vdso_prepare: prepare0 $(Q)$(MAKE) $(build)=arch/riscv/kernel/vdso include/generated/vdso-offsets.h endif +endif ifneq ($(CONFIG_XIP_KERNEL),y) ifeq ($(CONFIG_RISCV_M_MODE)$(CONFIG_SOC_CANAAN),yy)
arch/s390/Kconfig +1 -1
@@ -47,7 +47,7 @@ config ARCH_SUPPORTS_UPROBES config KASAN_SHADOW_OFFSET hex depends on KASAN - default 0x18000000000000 + default 0x1C000000000000 config S390 def_bool y
arch/s390/Makefile +6 -4
@@ -79,10 +79,12 @@ KBUILD_AFLAGS_DECOMPRESSOR += $(aflags-y) KBUILD_CFLAGS_DECOMPRESSOR += $(cflags-y) ifneq ($(call cc-option,-mstack-size=8192 -mstack-guard=128),) -cflags-$(CONFIG_CHECK_STACK) += -mstack-size=$(STACK_SIZE) -ifeq ($(call cc-option,-mstack-size=8192),) -cflags-$(CONFIG_CHECK_STACK) += -mstack-guard=$(CONFIG_STACK_GUARD) -endif + CC_FLAGS_CHECK_STACK := -mstack-size=$(STACK_SIZE) + ifeq ($(call cc-option,-mstack-size=8192),) + CC_FLAGS_CHECK_STACK += -mstack-guard=$(CONFIG_STACK_GUARD) + endif + export CC_FLAGS_CHECK_STACK + cflags-$(CONFIG_CHECK_STACK) += $(CC_FLAGS_CHECK_STACK) endif ifdef CONFIG_EXPOLINE
arch/s390/boot/startup.c +31 -57
113 lines not on this page · raw message
arch/s390/include/asm/kexec.h +6 -0
@@ -74,6 +74,12 @@ void *kexec_file_add_components(struct kimage *image,int arch_kexec_do_relocs (int r_type,void *loc,unsigned long val,unsigned long addr); +#define ARCH_HAS_KIMAGE_ARCH + +struct kimage_arch { +void *ipl_buf; +}; +extern const struct kexec_file_ops s390_kexec_image_ops;extern const struct kexec_file_ops s390_kexec_elf_ops;
arch/s390/kernel/crash_dump.c +2 -2
@@ -191,8 +191,8 @@ static int copy_oldmem_user(void __user *dst, void *src, size_t count)return rc; }else {/* Check for swapped kdump oldmem areas */ -if (oldmem_data.start && from - oldmem_data.size < oldmem_data.size) { - from -= oldmem_data.size; +if (oldmem_data.start && from - oldmem_data.start < oldmem_data.size) { + from -= oldmem_data.start; len =min (count, oldmem_data.size - from); }else if (oldmem_data.start && from < oldmem_data.size) { len =min (count, oldmem_data.size - from);
arch/s390/kernel/ipl.c +2 -1
@@ -2156,7 +2156,7 @@ void *ipl_report_finish(struct ipl_report *report) buf =vzalloc (report->size);if (!buf) -return ERR_PTR (-ENOMEM ); + goto out; ptr = buf;memcpy (ptr, report->ipib, report->ipib->hdr.len);
@@ -2195,6 +2195,7 @@ void *ipl_report_finish(struct ipl_report *report) }BUG_ON (ptr > buf + report->size); +out:return buf; }
arch/s390/kernel/machine_kexec_file.c +17 -1
@@ -12,6 +12,7 @@#include <linux/kexec.h> #include <linux/module_signature.h> #include <linux/verification.h> +#include <linux/vmalloc.h> #include <asm/boot_data.h> #include <asm/ipl.h> #include <asm/setup.h>
@@ -170,6 +171,7 @@ static int kexec_file_add_ipl_report(struct kimage *image,struct kexec_buf buf;unsigned long addr;void *ptr, *end; +int ret; buf.image = image;
@@ -199,9 +201,13 @@ static int kexec_file_add_ipl_report(struct kimage *image, ptr += len; } + ret = -ENOMEM ; buf.buffer =ipl_report_finish (data->report); +if (!buf.buffer) + goto out; buf.bufsz = data->report->size; buf.memsz = buf.bufsz; + image->arch.ipl_buf = buf.buffer; data->memsz += buf.memsz;
@@ -209,7 +215,9 @@ static int kexec_file_add_ipl_report(struct kimage *image, data->kernel_buf + offsetof(struct lowcore , ipl_parmblock_ptr); *lc_ipl_parmblock_ptr = (__u32 )buf.mem; -return kexec_add_buffer (&buf); + ret =kexec_add_buffer (&buf); +out: +return ret; } void *kexec_file_add_components(struct kimage *image,
@@ -321,3 +329,11 @@ int arch_kexec_kernel_image_probe(struct kimage *image, void *buf,return kexec_image_probe_default (image, buf, buf_len); } + +int arch_kimage_file_post_load_cleanup (struct kimage *image) +{ +vfree (image->arch.ipl_buf); + image->arch.ipl_buf =NULL ; + +return kexec_image_post_load_cleanup_default (image); +}
arch/s390/kernel/setup.c +1 -9
@@ -633,14 +633,6 @@ static struct notifier_block kdump_mem_nb = {#endif -/* -* Make sure that the area above identity mapping is protected -*/ -static void __init reserve_above_ident_map (void ) -{ -memblock_reserve (ident_map_size,ULONG_MAX ); -} -/* * Reserve memory for kdump kernel to be loaded with kexec */
@@ -1005,11 +997,11 @@ void __init setup_arch(char **cmdline_p)setup_control_program_code ();/* Do some memory reservations *before* memory is added to memblock */ -reserve_above_ident_map ();reserve_kernel ();reserve_initrd ();reserve_certificate_list ();reserve_mem_detect_info (); +memblock_set_current_limit (ident_map_size);memblock_allow_resize ();/* Get information about *all* installed memory */
arch/s390/kernel/traps.c +1 -1
@@ -84,7 +84,7 @@ static void default_trap_handler(struct pt_regs *regs) {if (user_mode (regs)) {report_user_fault (regs,SIGSEGV ,0 ); -do_exit (SIGSEGV ); +force_exit_sig (SIGSEGV ); }else die (regs,"Unknown program exception" ); }
arch/s390/kernel/vdso64/Makefile +3 -2
@@ -8,8 +8,9 @@ ARCH_REL_TYPE_ABS += R_390_GOT|R_390_PLT include $(srctree)/lib/vdso/Makefile obj-vdso64 = vdso_user_wrapper.o note.o obj-cvdso64 = vdso64_generic.o getcpu.o -CFLAGS_REMOVE_getcpu.o = -pg $(CC_FLAGS_FTRACE) $(CC_FLAGS_EXPOLINE) -CFLAGS_REMOVE_vdso64_generic.o = -pg $(CC_FLAGS_FTRACE) $(CC_FLAGS_EXPOLINE) +VDSO_CFLAGS_REMOVE := -pg $(CC_FLAGS_FTRACE) $(CC_FLAGS_EXPOLINE) $(CC_FLAGS_CHECK_STACK) +CFLAGS_REMOVE_getcpu.o = $(VDSO_CFLAGS_REMOVE) +CFLAGS_REMOVE_vdso64_generic.o = $(VDSO_CFLAGS_REMOVE) # Build rules
arch/sh/Kconfig.debug +1 -0
@@ -54,6 +54,7 @@ config DUMP_CODE config DWARF_UNWINDER bool "Enable the DWARF unwinder for stacktraces" + depends on DEBUG_KERNEL select FRAME_POINTER default n help
arch/sh/include/asm/sfp-machine.h +8 -0
@@ -13,6 +13,14 @@#ifndef _SFP_MACHINE_H#define _SFP_MACHINE_H +#ifdef __BIG_ENDIAN__ +#define __BYTE_ORDER __BIG_ENDIAN +#define __LITTLE_ENDIAN 0 +#else +#define __BYTE_ORDER __LITTLE_ENDIAN +#define __BIG_ENDIAN 0 +#endif +#define _FP_W_TYPE_SIZE 32#define _FP_W_TYPE unsigned long#define _FP_WS_TYPE signed long
arch/sh/kernel/cpu/sh4a/smp-shx3.c +3 -2
@@ -73,8 +73,9 @@ static void shx3_prepare_cpus(unsigned int max_cpus)BUILD_BUG_ON (SMP_MSG_NR >=8 );for (i =0 ; i <SMP_MSG_NR ; i++) -request_irq (104 + i, ipi_interrupt_handler, -IRQF_PERCPU ,"IPI" , (void *)(long )i); +if (request_irq (104 + i, ipi_interrupt_handler, +IRQF_PERCPU ,"IPI" , (void *)(long )i)) +pr_err ("Failed to request irq %d\n" , i);for (i =0 ; i < max_cpus; i++)set_cpu_present (i, true);
arch/sh/math-emu/math.c +0 -103
109 lines not on this page · raw message
arch/sparc/kernel/signal_32.c +2 -2
@@ -244,7 +244,7 @@ static int setup_frame(struct ksignal *ksig, struct pt_regs *regs,get_sigframe (ksig, regs, sigframe_size);if (invalid_frame_pointer (sf, sigframe_size)) { -do_exit (SIGILL ); +force_exit_sig (SIGILL );return -EINVAL ; }
@@ -336,7 +336,7 @@ static int setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs, sf = (struct rt_signal_frame __user *)get_sigframe (ksig, regs, sigframe_size);if (invalid_frame_pointer (sf, sigframe_size)) { -do_exit (SIGILL ); +force_exit_sig (SIGILL );return -EINVAL ; }
arch/sparc/kernel/windows.c +4 -2
@@ -121,8 +121,10 @@ void try_to_clear_window_buffer(struct pt_regs *regs, int who)if ((sp &7 ) ||copy_to_user ((char __user *) sp, &tp->reg_window[window], -sizeof (struct reg_window32 ))) -do_exit (SIGILL ); +sizeof (struct reg_window32 ))) { +force_exit_sig (SIGILL ); +return ; + } } tp->w_saved =0 ; }
arch/um/kernel/trap.c +1 -1
@@ -158,7 +158,7 @@ static void bad_segv(struct faultinfo fi, unsigned long ip)void fatal_sigsegv (void ) { -force_sigsegv (SIGSEGV ); +force_fatal_sig (SIGSEGV );do_signal (¤t->thread.regs);/* * This is to tell gcc that we're not returning - do_signal
arch/x86/Kconfig +2 -1
@@ -1256,7 +1256,8 @@ config TOSHIBA config I8K tristate "Dell i8k legacy laptop support" - select HWMON + depends on HWMON + depends on PROC_FS select SENSORS_DELL_SMM help This option enables legacy /proc/i8k userspace interface in hwmon
arch/x86/entry/vsyscall/vsyscall_64.c +2 -1
@@ -226,7 +226,8 @@ bool emulate_vsyscall(unsigned long error_code,if ((!tmp && regs->orig_ax != syscall_nr) || regs->ip != address) {warn_bad_vsyscall (KERN_DEBUG , regs,"seccomp tried to change syscall nr or ip" ); -do_exit (SIGSYS ); +force_exit_sig (SIGSYS ); +return true; } regs->orig_ax =-1 ;if (tmp)
arch/x86/events/intel/core.c +3 -1
@@ -2999,8 +2999,10 @@ intel_vlbr_constraints(struct perf_event *event) {struct event_constraint *c = &vlbr_constraint; -if (unlikely (constraint_match (c, event->hw.config))) +if (unlikely (constraint_match (c, event->hw.config))) { + event->hw.flags |= c->flags;return c; + }return NULL ; }
arch/x86/events/intel/uncore_snbep.c +12 -0
@@ -3608,6 +3608,9 @@ static int skx_cha_hw_config(struct intel_uncore_box *box, struct perf_event *evstruct hw_perf_event_extra *reg1 = &event->hw.extra_reg;struct extra_reg *er;int idx =0 ; +/* Any of the CHA events may be filtered by Thread/Core-ID.*/ +if (event->hw.config &SNBEP_CBO_PMON_CTL_TID_EN ) + idx =SKX_CHA_MSR_PMON_BOX_FILTER_TID ;for (er = skx_uncore_cha_extra_regs; er->msr; er++) {if (er->event != (event->hw.config & er->config_mask))
@@ -3675,6 +3678,7 @@ static struct event_constraint skx_uncore_iio_constraints[] = {UNCORE_EVENT_CONSTRAINT (0xc0 ,0xc ),UNCORE_EVENT_CONSTRAINT (0xc5 ,0xc ),UNCORE_EVENT_CONSTRAINT (0xd4 ,0xc ), +UNCORE_EVENT_CONSTRAINT (0xd5 ,0xc ), EVENT_CONSTRAINT_END };
@@ -4525,6 +4529,13 @@ static void snr_iio_cleanup_mapping(struct intel_uncore_type *type)pmu_iio_cleanup_mapping (type, &snr_iio_mapping_group); } +static struct event_constraint snr_uncore_iio_constraints[] = { +UNCORE_EVENT_CONSTRAINT (0x83 ,0x3 ), +UNCORE_EVENT_CONSTRAINT (0xc0 ,0xc ), +UNCORE_EVENT_CONSTRAINT (0xd5 ,0xc ), +EVENT_CONSTRAINT_END +}; +static struct intel_uncore_type snr_uncore_iio = { .name ="iio" , .num_counters =4 ,
@@ -4536,6 +4547,7 @@ static struct intel_uncore_type snr_uncore_iio = { .event_mask_ext = SNR_IIO_PMON_RAW_EVENT_MASK_EXT, .box_ctl = SNR_IIO_MSR_PMON_BOX_CTL, .msr_offset = SNR_IIO_MSR_OFFSET, + .constraints = snr_uncore_iio_constraints, .ops = &ivbep_uncore_msr_ops, .format_group = &snr_uncore_iio_format_group, .attr_update = snr_iio_attr_update,
arch/x86/hyperv/hv_init.c +3 -0
@@ -147,6 +147,9 @@ void set_hv_tscchange_cb(void (*cb)(void))return ; } +if (!hv_vp_index) +return ; + hv_reenlightenment_cb = cb;/* Make sure callback is registered before we write to MSRs */
arch/x86/include/asm/kvm_host.h +1 -0
@@ -364,6 +364,7 @@ union kvm_mmu_extended_role { unsigned int cr4_smap:1; unsigned int cr4_smep:1; unsigned int cr4_la57:1; + unsigned int efer_lma:1; }; };
arch/x86/kernel/cpu/sgx/main.c +6 -6
@@ -28,8 +28,7 @@ static DECLARE_WAIT_QUEUE_HEAD(ksgxd_waitq);static LIST_HEAD (sgx_active_page_list);static DEFINE_SPINLOCK (sgx_reclaimer_lock); -/* The free page list lock protected variables prepend the lock. */ -static unsigned long sgx_nr_free_pages; +static atomic_long_t sgx_nr_free_pages =ATOMIC_LONG_INIT (0 );/* Nodes with one or more EPC sections. */ static nodemask_t sgx_numa_mask;
@@ -403,14 +402,15 @@ static void sgx_reclaim_pages(void)spin_lock (&node->lock);list_add_tail (&epc_page->list, &node->free_page_list); - sgx_nr_free_pages++;spin_unlock (&node->lock); +atomic_long_inc (&sgx_nr_free_pages); } }static bool sgx_should_reclaim (unsigned long watermark) { -return sgx_nr_free_pages < watermark && !list_empty (&sgx_active_page_list); +return atomic_long_read (&sgx_nr_free_pages) < watermark && + !list_empty (&sgx_active_page_list); }static int ksgxd (void *p)
@@ -471,9 +471,9 @@ static struct sgx_epc_page *__sgx_alloc_epc_page_from_node(int nid) page = list_first_entry(&node->free_page_list, struct sgx_epc_page, list);list_del_init (&page->list); - sgx_nr_free_pages--;spin_unlock (&node->lock); +atomic_long_dec (&sgx_nr_free_pages);return page; }
@@ -625,9 +625,9 @@ void sgx_free_epc_page(struct sgx_epc_page *page)spin_lock (&node->lock);list_add_tail (&page->list, &node->free_page_list); - sgx_nr_free_pages++;spin_unlock (&node->lock); +atomic_long_inc (&sgx_nr_free_pages); } static bool __init sgx_setup_epc_section(u64 phys_addr, u64 size,
arch/x86/kernel/setup.c +39 -27
84 lines not on this page · raw message
arch/x86/kernel/vm86_32.c +3 -1
@@ -142,6 +142,7 @@ void save_v86_state(struct kernel_vm86_regs *regs, int retval)user_access_end (); +exit_vm86:preempt_disable (); tsk->thread.sp0 = vm86->saved_sp0; tsk->thread.sysenter_cs = __KERNEL_CS;
@@ -161,7 +162,8 @@ void save_v86_state(struct kernel_vm86_regs *regs, int retval)user_access_end (); Efault:pr_alert ("could not access userspace vm86 info\n" ); -do_exit (SIGSEGV ); +force_exit_sig (SIGSEGV ); + goto exit_vm86; }static int do_vm86_irq_handling (int subfunction,int irqnumber);
arch/x86/kvm/hyperv.c +2 -2
@@ -2022,7 +2022,7 @@ static void kvm_hv_hypercall_set_result(struct kvm_vcpu *vcpu, u64 result) {bool longmode; - longmode =is_64_bit_mode (vcpu); + longmode =is_64_bit_hypercall (vcpu);if (longmode)kvm_rax_write (vcpu, result);else {
@@ -2171,7 +2171,7 @@ int kvm_hv_hypercall(struct kvm_vcpu *vcpu) }#ifdef CONFIG_X86_64 -if (is_64_bit_mode (vcpu)) { +if (is_64_bit_hypercall (vcpu)) { hc.param =kvm_rcx_read (vcpu); hc.ingpa =kvm_rdx_read (vcpu); hc.outgpa =kvm_r8_read (vcpu);
arch/x86/kvm/mmu/mmu.c +1 -0
@@ -4679,6 +4679,7 @@ static union kvm_mmu_extended_role kvm_calc_mmu_role_ext(struct kvm_vcpu *vcpu,/* PKEY and LA57 are active iff long mode is active. */ ext.cr4_pke =____is_efer_lma (regs) &&____is_cr4_pke (regs); ext.cr4_la57 =____is_efer_lma (regs) &&____is_cr4_la57 (regs); + ext.efer_lma =____is_efer_lma (regs); } ext.valid =1 ;
arch/x86/kvm/svm/sev.c +6 -1
@@ -1787,7 +1787,12 @@ int svm_vm_copy_asid_from(struct kvm *kvm, unsigned int source_fd)mutex_unlock (&source_kvm->lock);mutex_lock (&kvm->lock); -if (sev_guest (kvm)) { +/* +* Disallow out-of-band SEV/SEV-ES init if the target is already an +* SEV guest, or if vCPUs have been created. KVM relies on vCPUs being +* created after SEV/SEV-ES initialization, e.g. to init intercepts. +*/ +if (sev_guest (kvm) || kvm->created_vcpus) { ret = -EINVAL ; goto e_mirror_unlock; }
arch/x86/kvm/vmx/nested.c +17 -5
@@ -2854,6 +2854,17 @@ static int nested_vmx_check_controls(struct kvm_vcpu *vcpu,return 0 ; } +static int nested_vmx_check_address_space_size (struct kvm_vcpu *vcpu, +struct vmcs12 *vmcs12) +{ +#ifdef CONFIG_X86_64 +if (CC (!!(vmcs12->vm_exit_controls &VM_EXIT_HOST_ADDR_SPACE_SIZE ) != + !!(vcpu->arch.efer &EFER_LMA ))) +return -EINVAL ; +#endif +return 0 ; +} +static int nested_vmx_check_host_state (struct kvm_vcpu *vcpu,struct vmcs12 *vmcs12) {
@@ -2878,18 +2889,16 @@ static int nested_vmx_check_host_state(struct kvm_vcpu *vcpu,return -EINVAL ;#ifdef CONFIG_X86_64 - ia32e = !!(vcpu->arch.efer &EFER_LMA ); + ia32e = !!(vmcs12->vm_exit_controls &VM_EXIT_HOST_ADDR_SPACE_SIZE );#else ia32e = false;#endif if (ia32e) { -if (CC (!(vmcs12->vm_exit_controls &VM_EXIT_HOST_ADDR_SPACE_SIZE )) || -CC (!(vmcs12->host_cr4 &X86_CR4_PAE ))) +if (CC (!(vmcs12->host_cr4 &X86_CR4_PAE )))return -EINVAL ; }else { -if (CC (vmcs12->vm_exit_controls &VM_EXIT_HOST_ADDR_SPACE_SIZE ) || -CC (vmcs12->vm_entry_controls &VM_ENTRY_IA32E_MODE ) || +if (CC (vmcs12->vm_entry_controls &VM_ENTRY_IA32E_MODE ) ||CC (vmcs12->host_cr4 &X86_CR4_PCIDE ) ||CC ((vmcs12->host_rip) >>32 ))return -EINVAL ;
@@ -3559,6 +3568,9 @@ static int nested_vmx_run(struct kvm_vcpu *vcpu, bool launch)if (nested_vmx_check_controls (vcpu, vmcs12))return nested_vmx_fail (vcpu,VMXERR_ENTRY_INVALID_CONTROL_FIELD ); +if (nested_vmx_check_address_space_size (vcpu, vmcs12)) +return nested_vmx_fail (vcpu,VMXERR_ENTRY_INVALID_HOST_STATE_FIELD ); +if (nested_vmx_check_host_state (vcpu, vmcs12))return nested_vmx_fail (vcpu,VMXERR_ENTRY_INVALID_HOST_STATE_FIELD );
arch/x86/kvm/x86.c +7 -3
@@ -8737,7 +8737,7 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu)trace_kvm_hypercall (nr, a0, a1, a2, a3); - op_64_bit =is_64_bit_mode (vcpu); + op_64_bit =is_64_bit_hypercall (vcpu);if (!op_64_bit) { nr &=0xFFFFFFFF ; a0 &=0xFFFFFFFF ;
@@ -9429,12 +9429,16 @@ static void vcpu_load_eoi_exitmap(struct kvm_vcpu *vcpu)if (!kvm_apic_hw_enabled (vcpu->arch.apic))return ; -if (to_hv_vcpu (vcpu)) +if (to_hv_vcpu (vcpu)) {bitmap_or ((ulong *)eoi_exit_bitmap, vcpu->arch.ioapic_handled_vectors,to_hv_synic (vcpu)->vec_bitmap,256 ); +static_call (kvm_x86_load_eoi_exitmap)(vcpu, eoi_exit_bitmap); +return ; + } -static_call (kvm_x86_load_eoi_exitmap)(vcpu, eoi_exit_bitmap); +static_call (kvm_x86_load_eoi_exitmap)( + vcpu, (u64 *)vcpu->arch.ioapic_handled_vectors); } void kvm_arch_mmu_notifier_invalidate_range(struct kvm *kvm,
arch/x86/kvm/x86.h +12 -0
@@ -153,12 +153,24 @@ static inline bool is_64_bit_mode(struct kvm_vcpu *vcpu) {int cs_db, cs_l; +WARN_ON_ONCE (vcpu->arch.guest_state_protected); +if (!is_long_mode (vcpu))return false;static_call (kvm_x86_get_cs_db_l_bits)(vcpu, &cs_db, &cs_l);return cs_l; } +static inline bool is_64_bit_hypercall (struct kvm_vcpu *vcpu) +{ +/* +* If running with protected guest state, the CS register is not +* accessible. The hypercall register values will have had to been +* provided in 64-bit mode, so assume the guest is in 64-bit. +*/ +return vcpu->arch.guest_state_protected ||is_64_bit_mode (vcpu); +} +static inline bool x86_exception_has_error_code (unsigned int vector) { static u32 exception_has_error_code = BIT(DF_VECTOR) | BIT(TS_VECTOR) |
arch/x86/kvm/xen.c +2 -2
@@ -299,7 +299,7 @@ int kvm_xen_hvm_get_attr(struct kvm *kvm, struct kvm_xen_hvm_attr *data)break ;case KVM_XEN_ATTR_TYPE_SHARED_INFO : - data->u.shared_info.gfn =gpa_to_gfn (kvm->arch.xen.shinfo_gfn); + data->u.shared_info.gfn = kvm->arch.xen.shinfo_gfn; r =0 ;break ;
@@ -698,7 +698,7 @@ int kvm_xen_hypercall(struct kvm_vcpu *vcpu) kvm_hv_hypercall_enabled(vcpu))return kvm_hv_hypercall (vcpu); - longmode =is_64_bit_mode (vcpu); + longmode =is_64_bit_hypercall (vcpu);if (!longmode) { params[0 ] = (u32 )kvm_rbx_read (vcpu); params[1 ] = (u32 )kvm_rcx_read (vcpu);
block/blk-cgroup.c +5 -4
@@ -639,7 +639,7 @@ int blkg_conf_prep(struct blkcg *blkcg, const struct blkcg_policy *pol,*/ ret =blk_queue_enter (q,0 );if (ret) -return ret; + goto fail;rcu_read_lock ();spin_lock_irq (&q->queue_lock);
@@ -675,13 +675,13 @@ int blkg_conf_prep(struct blkcg *blkcg, const struct blkcg_policy *pol, new_blkg =blkg_alloc (pos, q,GFP_KERNEL );if (unlikely (!new_blkg)) { ret = -ENOMEM ; - goto fail; + goto fail_exit_queue; }if (radix_tree_preload (GFP_KERNEL )) {blkg_free (new_blkg); ret = -ENOMEM ; - goto fail; + goto fail_exit_queue; }rcu_read_lock ();
@@ -721,9 +721,10 @@ int blkg_conf_prep(struct blkcg *blkcg, const struct blkcg_policy *pol, fail_unlock:spin_unlock_irq (&q->queue_lock);rcu_read_unlock (); +fail_exit_queue: +blk_queue_exit (q); fail:blkdev_put_no_open (bdev); -blk_queue_exit (q);/* * If queue was bypassing, we should retry. Do so after a * short msleep(). It isn't strictly necessary but queue
block/blk-core.c +1 -3
@@ -887,10 +887,8 @@ static noinline_for_stack bool submit_bio_checks(struct bio *bio)if (unlikely (!current->io_context))create_task_io_context (current,GFP_ATOMIC , q->node); -if (blk_throtl_bio (bio)) { -blkcg_bio_issue_init (bio); +if (blk_throtl_bio (bio))return false; - }blk_cgroup_bio_start (bio);blkcg_bio_issue_init (bio);
block/ioprio.c +8 -1
@@ -69,7 +69,14 @@ int ioprio_check_cap(int ioprio)switch (class) {case IOPRIO_CLASS_RT : -if (!capable (CAP_SYS_NICE ) && !capable (CAP_SYS_ADMIN )) +/* +* Originally this only checked for CAP_SYS_ADMIN, +* which was implicitly allowed for pid 0 by security +* modules such as SELinux. Make sure we check +* CAP_SYS_ADMIN first to avoid a denial/avc for +* possibly missing CAP_SYS_NICE permission. +*/ +if (!capable (CAP_SYS_ADMIN ) && !capable (CAP_SYS_NICE ))return -EPERM ; fallthrough;/* rt has prio field too */
drivers/ata/libata-core.c +8 -3
@@ -2031,8 +2031,9 @@ unsigned int ata_read_log_page(struct ata_device *dev, u8 log, dev->horkage |=ATA_HORKAGE_NO_DMA_LOG ; goto retry; } -ata_dev_err (dev,"Read log page 0x%02x failed, Emask 0x%x\n" , - (unsigned int )page, err_mask); +ata_dev_err (dev, +"Read log 0x%02x page 0x%02x failed, Emask 0x%x\n" , + (unsigned int )log, (unsigned int )page, err_mask); }return err_mask;
@@ -2166,6 +2167,9 @@ static void ata_dev_config_ncq_prio(struct ata_device *dev)struct ata_port *ap = dev->link->ap;unsigned int err_mask; +if (!ata_identify_page_supported (dev,ATA_LOG_SATA_SETTINGS )) +return ; + err_mask = ata_read_log_page(dev, ATA_LOG_IDENTIFY_DEVICE, ATA_LOG_SATA_SETTINGS,
@@ -2442,7 +2446,8 @@ static void ata_dev_config_devslp(struct ata_device *dev)* Check device sleep capability. Get DevSlp timing variables * from SATA Settings page of Identify Device Data Log. */ -if (!ata_id_has_devslp (dev->id)) +if (!ata_id_has_devslp (dev->id) || + !ata_identify_page_supported (dev,ATA_LOG_SATA_SETTINGS ))return ; err_mask = ata_read_log_page(dev,
drivers/base/firmware_loader/main.c +7 -6
@@ -100,12 +100,15 @@ static struct firmware_cache fw_cache;extern struct builtin_fw __start_builtin_fw[];extern struct builtin_fw __end_builtin_fw[]; -static void fw_copy_to_prealloc_buf (struct firmware *fw, +static bool fw_copy_to_prealloc_buf (struct firmware *fw,void *buf,size_t size) { -if (!buf || size < fw->size) -return ; +if (!buf) +return true; +if (size < fw->size) +return false;memcpy (buf, fw->data, fw->size); +return true; } static bool fw_get_builtin_firmware(struct firmware *fw, const char *name,
@@ -117,9 +120,7 @@ static bool fw_get_builtin_firmware(struct firmware *fw, const char *name,if (strcmp (name, b_fw->name) ==0 ) { fw->size = b_fw->size; fw->data = b_fw->data; -fw_copy_to_prealloc_buf (fw, buf, size); - -return true; +return fw_copy_to_prealloc_buf (fw, buf, size); } }
drivers/bus/ti-sysc.c +103 -7
186 lines not on this page · raw message
drivers/clk/at91/sama7g5.c +1 -10
@@ -982,16 +982,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) } parent_names[0 ] ="cpupll_divpmcck" ; - hw =at91_clk_register_master_pres (regmap,"cpuck" ,1 , parent_names, - &mck0_layout, &mck0_characteristics, - &pmc_mck0_lock, -CLK_SET_RATE_PARENT ,0 ); -if (IS_ERR (hw)) - goto err_free; - - sama7g5_pmc->chws[PMC_CPU ] = hw; - - hw =at91_clk_register_master_div (regmap,"mck0" ,"cpuck" , + hw =at91_clk_register_master_div (regmap,"mck0" ,"cpupll_divpmcck" , &mck0_layout, &mck0_characteristics, &pmc_mck0_lock,0 );if (IS_ERR (hw))
drivers/clk/clk-ast2600.c +7 -5
@@ -51,6 +51,8 @@ static DEFINE_SPINLOCK(aspeed_g6_clk_lock);static struct clk_hw_onecell_data *aspeed_g6_clk_data;static void __iomem *scu_g6_base; +/* AST2600 revision: A0, A1, A2, etc */ +static u8 soc_rev;/* * Clocks marked with CLK_IS_CRITICAL:
@@ -191,9 +193,8 @@ static struct clk_hw *ast2600_calc_pll(const char *name, u32 val)static struct clk_hw *ast2600_calc_apll (const char *name,u32 val) {unsigned int mult, div; -u32 chip_id =readl (scu_g6_base +ASPEED_G6_SILICON_REV ); -if (((chip_id &CHIP_REVISION_ID ) >>16 ) >=2 ) { +if (soc_rev >=2 ) {if (val &BIT (24 )) {/* Pass through mode */ mult = div =1 ;
@@ -707,7 +708,7 @@ static const u32 ast2600_a1_axi_ahb200_tbl[] = {static void __init aspeed_g6_cc (struct regmap *map) {struct clk_hw *hw; -u32 val, div, divbits, chip_id, axi_div, ahb_div; +u32 val, div, divbits, axi_div, ahb_div;clk_hw_register_fixed_rate (NULL ,"clkin" ,NULL ,0 ,25000000 );
@@ -738,8 +739,7 @@ static void __init aspeed_g6_cc(struct regmap *map) axi_div =2 ; divbits = (val >>11 ) &0x3 ; -regmap_read (map,ASPEED_G6_SILICON_REV , &chip_id); -if (chip_id &BIT (16 )) { +if (soc_rev >=1 ) {if (!divbits) { ahb_div = ast2600_a1_axi_ahb200_tbl[(val >>8 ) &0x3 ];if (val &BIT (16 ))
@@ -784,6 +784,8 @@ static void __init aspeed_g6_cc_init(struct device_node *np)if (!scu_g6_base)return ; + soc_rev = (readl (scu_g6_base +ASPEED_G6_SILICON_REV ) &CHIP_REVISION_ID ) >>16 ; + aspeed_g6_clk_data =kzalloc (struct_size (aspeed_g6_clk_data, hws,ASPEED_G6_NUM_CLKS ),GFP_KERNEL );if (!aspeed_g6_clk_data)
drivers/clk/imx/clk-imx6ul.c +1 -1
@@ -161,7 +161,6 @@ static void __init imx6ul_clocks_init(struct device_node *ccm_node) hws[IMX6UL_PLL5_BYPASS ] =imx_clk_hw_mux_flags ("pll5_bypass" , base +0xa0 ,16 ,1 , pll5_bypass_sels,ARRAY_SIZE (pll5_bypass_sels),CLK_SET_RATE_PARENT ); hws[IMX6UL_PLL6_BYPASS ] =imx_clk_hw_mux_flags ("pll6_bypass" , base +0xe0 ,16 ,1 , pll6_bypass_sels,ARRAY_SIZE (pll6_bypass_sels),CLK_SET_RATE_PARENT ); hws[IMX6UL_PLL7_BYPASS ] =imx_clk_hw_mux_flags ("pll7_bypass" , base +0x20 ,16 ,1 , pll7_bypass_sels,ARRAY_SIZE (pll7_bypass_sels),CLK_SET_RATE_PARENT ); - hws[IMX6UL_CLK_CSI_SEL ] =imx_clk_hw_mux_flags ("csi_sel" , base +0x3c ,9 ,2 , csi_sels,ARRAY_SIZE (csi_sels),CLK_SET_RATE_PARENT );/* Do not bypass PLLs initially */ clk_set_parent (hws[IMX6UL_PLL1_BYPASS ]->clk, hws[IMX6UL_CLK_PLL1 ]->clk);
@@ -270,6 +269,7 @@ static void __init imx6ul_clocks_init(struct device_node *ccm_node) hws[IMX6UL_CLK_ECSPI_SEL ] =imx_clk_hw_mux ("ecspi_sel" , base +0x38 ,18 ,1 , ecspi_sels,ARRAY_SIZE (ecspi_sels)); hws[IMX6UL_CLK_LCDIF_PRE_SEL ] =imx_clk_hw_mux_flags ("lcdif_pre_sel" , base +0x38 ,15 ,3 , lcdif_pre_sels,ARRAY_SIZE (lcdif_pre_sels),CLK_SET_RATE_PARENT ); hws[IMX6UL_CLK_LCDIF_SEL ] =imx_clk_hw_mux ("lcdif_sel" , base +0x38 ,9 ,3 , lcdif_sels,ARRAY_SIZE (lcdif_sels)); + hws[IMX6UL_CLK_CSI_SEL ] =imx_clk_hw_mux ("csi_sel" , base +0x3c ,9 ,2 , csi_sels,ARRAY_SIZE (csi_sels)); hws[IMX6UL_CLK_LDB_DI0_DIV_SEL ] =imx_clk_hw_mux ("ldb_di0" , base +0x20 ,10 ,1 , ldb_di0_div_sels,ARRAY_SIZE (ldb_di0_div_sels)); hws[IMX6UL_CLK_LDB_DI1_DIV_SEL ] =imx_clk_hw_mux ("ldb_di1" , base +0x20 ,11 ,1 , ldb_di1_div_sels,ARRAY_SIZE (ldb_di1_div_sels));
drivers/clk/ingenic/cgu.c +3 -3
@@ -453,15 +453,15 @@ ingenic_clk_calc_div(struct clk_hw *hw, }/* Impose hardware constraints */ - div =min_t (unsigned, div,1 << clk_info->div.bits); - div =max_t (unsigned, div,1 ); + div = clamp_t(unsigned int, div, clk_info->div.div, + clk_info->div.div << clk_info->div.bits);/* * If the divider value itself must be divided before being written to * the divider register, we must ensure we don't have any bits set that * would be lost as a result of doing so. */ - div /= clk_info->div.div; + div =DIV_ROUND_UP (div, clk_info->div.div); div *= clk_info->div.div;return div;
drivers/clk/qcom/gcc-msm8996.c +0 -15
@@ -2937,20 +2937,6 @@ static struct clk_branch gcc_smmu_aggre0_ahb_clk = { }, }; -static struct clk_branch gcc_aggre1_pnoc_ahb_clk = { - .halt_reg =0x82014 , - .clkr = { - .enable_reg =0x82014 , - .enable_mask =BIT (0 ), - .hw.init = &(struct clk_init_data ){ - .name ="gcc_aggre1_pnoc_ahb_clk" , - .parent_names = (const char *[]){"periph_noc_clk_src" }, - .num_parents =1 , - .ops = &clk_branch2_ops, - }, - }, -}; -static struct clk_branch gcc_aggre2_ufs_axi_clk = { .halt_reg =0x83014 , .clkr = {
@@ -3474,7 +3460,6 @@ static struct clk_regmap *gcc_msm8996_clocks[] = { [GCC_AGGRE0_CNOC_AHB_CLK] = &gcc_aggre0_cnoc_ahb_clk.clkr, [GCC_SMMU_AGGRE0_AXI_CLK] = &gcc_smmu_aggre0_axi_clk.clkr, [GCC_SMMU_AGGRE0_AHB_CLK] = &gcc_smmu_aggre0_ahb_clk.clkr, - [GCC_AGGRE1_PNOC_AHB_CLK] = &gcc_aggre1_pnoc_ahb_clk.clkr, [GCC_AGGRE2_UFS_AXI_CLK] = &gcc_aggre2_ufs_axi_clk.clkr, [GCC_AGGRE2_USB3_AXI_CLK] = &gcc_aggre2_usb3_axi_clk.clkr, [GCC_QSPI_AHB_CLK] = &gcc_qspi_ahb_clk.clkr,
drivers/clk/sunxi-ng/ccu-sun4i-a10.c +1 -1
@@ -1464,7 +1464,7 @@ static void __init sun4i_ccu_init(struct device_node *node, val &= ~GENMASK (7 ,6 );writel (val | (2 <<6 ), reg +SUN4I_AHB_REG ); -sunxi_ccu_probe (node, reg, desc); +of_sunxi_ccu_probe (node, reg, desc); }static void __init sun4i_a10_ccu_setup (struct device_node *node)
drivers/clk/sunxi-ng/ccu-sun50i-a100-r.c +1 -1
@@ -196,7 +196,7 @@ static int sun50i_a100_r_ccu_probe(struct platform_device *pdev)if (IS_ERR (reg))return PTR_ERR (reg); -return sunxi_ccu_probe (pdev->dev.of_node, reg, &sun50i_a100_r_ccu_desc); +return devm_sunxi_ccu_probe (&pdev->dev, reg, &sun50i_a100_r_ccu_desc); }static const struct of_device_id sun50i_a100_r_ccu_ids[] = {
drivers/clk/sunxi-ng/ccu-sun50i-a100.c +1 -1
@@ -1247,7 +1247,7 @@ static int sun50i_a100_ccu_probe(struct platform_device *pdev)writel (val, reg + sun50i_a100_usb2_clk_regs[i]); } - ret =sunxi_ccu_probe (pdev->dev.of_node, reg, &sun50i_a100_ccu_desc); + ret =devm_sunxi_ccu_probe (&pdev->dev, reg, &sun50i_a100_ccu_desc);if (ret)return ret;
drivers/clk/sunxi-ng/ccu-sun50i-a64.c +1 -1
@@ -955,7 +955,7 @@ static int sun50i_a64_ccu_probe(struct platform_device *pdev)writel (0x515 , reg +SUN50I_A64_PLL_MIPI_REG ); - ret =sunxi_ccu_probe (pdev->dev.of_node, reg, &sun50i_a64_ccu_desc); + ret =devm_sunxi_ccu_probe (&pdev->dev, reg, &sun50i_a64_ccu_desc);if (ret)return ret;
drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c +1 -1
@@ -232,7 +232,7 @@ static void __init sunxi_r_ccu_init(struct device_node *node,return ; } -sunxi_ccu_probe (node, reg, desc); +of_sunxi_ccu_probe (node, reg, desc); }static void __init sun50i_h6_r_ccu_setup (struct device_node *node)
drivers/clk/sunxi-ng/ccu-sun50i-h6.c +1 -1
@@ -1240,7 +1240,7 @@ static int sun50i_h6_ccu_probe(struct platform_device *pdev) val |=BIT (24 );writel (val, reg +SUN50I_H6_HDMI_CEC_CLK_REG ); -return sunxi_ccu_probe (pdev->dev.of_node, reg, &sun50i_h6_ccu_desc); +return devm_sunxi_ccu_probe (&pdev->dev, reg, &sun50i_h6_ccu_desc); }static const struct of_device_id sun50i_h6_ccu_ids[] = {
drivers/clk/sunxi-ng/ccu-sun50i-h616.c +1 -3
@@ -1141,9 +1141,7 @@ static void __init sun50i_h616_ccu_setup(struct device_node *node) val |=BIT (24 );writel (val, reg +SUN50I_H616_HDMI_CEC_CLK_REG ); - i =sunxi_ccu_probe (node, reg, &sun50i_h616_ccu_desc); -if (i) -pr_err ("%pOF: probing clocks fails: %d\n" , node, i); +of_sunxi_ccu_probe (node, reg, &sun50i_h616_ccu_desc); } CLK_OF_DECLARE(sun50i_h616_ccu, "allwinner,sun50i-h616-ccu",
drivers/clk/sunxi-ng/ccu-sun5i.c +1 -1
@@ -1012,7 +1012,7 @@ static void __init sun5i_ccu_init(struct device_node *node, val &= ~GENMASK (7 ,6 );writel (val | (2 <<6 ), reg +SUN5I_AHB_REG ); -sunxi_ccu_probe (node, reg, desc); +of_sunxi_ccu_probe (node, reg, desc); }static void __init sun5i_a10s_ccu_setup (struct device_node *node)
drivers/clk/sunxi-ng/ccu-sun6i-a31.c +1 -1
@@ -1257,7 +1257,7 @@ static void __init sun6i_a31_ccu_setup(struct device_node *node) val |=0x3 <<12 ;writel (val, reg +SUN6I_A31_AHB1_REG ); -sunxi_ccu_probe (node, reg, &sun6i_a31_ccu_desc); +of_sunxi_ccu_probe (node, reg, &sun6i_a31_ccu_desc);ccu_mux_notifier_register (pll_cpu_clk.common.hw.clk, &sun6i_a31_cpu_nb);
drivers/clk/sunxi-ng/ccu-sun8i-a23.c +1 -1
@@ -745,7 +745,7 @@ static void __init sun8i_a23_ccu_setup(struct device_node *node) val &= ~BIT (16 );writel (val, reg +SUN8I_A23_PLL_MIPI_REG ); -sunxi_ccu_probe (node, reg, &sun8i_a23_ccu_desc); +of_sunxi_ccu_probe (node, reg, &sun8i_a23_ccu_desc); }CLK_OF_DECLARE (sun8i_a23_ccu,"allwinner,sun8i-a23-ccu" , sun8i_a23_ccu_setup);
drivers/clk/sunxi-ng/ccu-sun8i-a33.c +1 -1
@@ -805,7 +805,7 @@ static void __init sun8i_a33_ccu_setup(struct device_node *node) val &= ~BIT (16 );writel (val, reg +SUN8I_A33_PLL_MIPI_REG ); -sunxi_ccu_probe (node, reg, &sun8i_a33_ccu_desc); +of_sunxi_ccu_probe (node, reg, &sun8i_a33_ccu_desc);/* Gate then ungate PLL CPU after any rate changes */ ccu_pll_notifier_register (&sun8i_a33_pll_cpu_nb);
drivers/clk/sunxi-ng/ccu-sun8i-a83t.c +1 -1
@@ -906,7 +906,7 @@ static int sun8i_a83t_ccu_probe(struct platform_device *pdev)sun8i_a83t_cpu_pll_fixup (reg +SUN8I_A83T_PLL_C0CPUX_REG );sun8i_a83t_cpu_pll_fixup (reg +SUN8I_A83T_PLL_C1CPUX_REG ); -return sunxi_ccu_probe (pdev->dev.of_node, reg, &sun8i_a83t_ccu_desc); +return devm_sunxi_ccu_probe (&pdev->dev, reg, &sun8i_a83t_ccu_desc); }static const struct of_device_id sun8i_a83t_ccu_ids[] = {
drivers/clk/sunxi-ng/ccu-sun8i-de2.c +1 -1
@@ -342,7 +342,7 @@ static int sunxi_de2_clk_probe(struct platform_device *pdev) goto err_disable_mod_clk; } - ret =sunxi_ccu_probe (pdev->dev.of_node, reg, ccu_desc); + ret =devm_sunxi_ccu_probe (&pdev->dev, reg, ccu_desc);if (ret) goto err_assert_reset;
drivers/clk/sunxi-ng/ccu-sun8i-h3.c +1 -1
@@ -1154,7 +1154,7 @@ static void __init sunxi_h3_h5_ccu_init(struct device_node *node, val &= ~GENMASK (19 ,16 );writel (val | (0 <<16 ), reg +SUN8I_H3_PLL_AUDIO_REG ); -sunxi_ccu_probe (node, reg, desc); +of_sunxi_ccu_probe (node, reg, desc);/* Gate then ungate PLL CPU after any rate changes */ ccu_pll_notifier_register (&sun8i_h3_pll_cpu_nb);
drivers/clk/sunxi-ng/ccu-sun8i-r.c +1 -1
@@ -265,7 +265,7 @@ static void __init sunxi_r_ccu_init(struct device_node *node,return ; } -sunxi_ccu_probe (node, reg, desc); +of_sunxi_ccu_probe (node, reg, desc); }static void __init sun8i_a83t_r_ccu_setup (struct device_node *node)
drivers/clk/sunxi-ng/ccu-sun8i-r40.c +1 -1
@@ -1346,7 +1346,7 @@ static int sun8i_r40_ccu_probe(struct platform_device *pdev)if (IS_ERR (regmap))return PTR_ERR (regmap); - ret =sunxi_ccu_probe (pdev->dev.of_node, reg, &sun8i_r40_ccu_desc); + ret =devm_sunxi_ccu_probe (&pdev->dev, reg, &sun8i_r40_ccu_desc);if (ret)return ret;
drivers/clk/sunxi-ng/ccu-sun8i-v3s.c +1 -1
@@ -822,7 +822,7 @@ static void __init sun8i_v3_v3s_ccu_init(struct device_node *node, val &= ~GENMASK (19 ,16 );writel (val, reg +SUN8I_V3S_PLL_AUDIO_REG ); -sunxi_ccu_probe (node, reg, ccu_desc); +of_sunxi_ccu_probe (node, reg, ccu_desc); }static void __init sun8i_v3s_ccu_setup (struct device_node *node)
drivers/clk/sunxi-ng/ccu-sun9i-a80-de.c +1 -2
@@ -246,8 +246,7 @@ static int sun9i_a80_de_clk_probe(struct platform_device *pdev) goto err_disable_clk; } - ret =sunxi_ccu_probe (pdev->dev.of_node, reg, - &sun9i_a80_de_clk_desc); + ret =devm_sunxi_ccu_probe (&pdev->dev, reg, &sun9i_a80_de_clk_desc);if (ret) goto err_assert_reset;
drivers/clk/sunxi-ng/ccu-sun9i-a80-usb.c +1 -2
@@ -117,8 +117,7 @@ static int sun9i_a80_usb_clk_probe(struct platform_device *pdev)return ret; } - ret =sunxi_ccu_probe (pdev->dev.of_node, reg, - &sun9i_a80_usb_clk_desc); + ret =devm_sunxi_ccu_probe (&pdev->dev, reg, &sun9i_a80_usb_clk_desc);if (ret) goto err_disable_clk;
drivers/clk/sunxi-ng/ccu-sun9i-a80.c +1 -1
@@ -1231,7 +1231,7 @@ static int sun9i_a80_ccu_probe(struct platform_device *pdev)sun9i_a80_cpu_pll_fixup (reg +SUN9I_A80_PLL_C0CPUX_REG );sun9i_a80_cpu_pll_fixup (reg +SUN9I_A80_PLL_C1CPUX_REG ); -return sunxi_ccu_probe (pdev->dev.of_node, reg, &sun9i_a80_ccu_desc); +return devm_sunxi_ccu_probe (&pdev->dev, reg, &sun9i_a80_ccu_desc); }static const struct of_device_id sun9i_a80_ccu_ids[] = {
drivers/clk/sunxi-ng/ccu-suniv-f1c100s.c +1 -1
@@ -538,7 +538,7 @@ static void __init suniv_f1c100s_ccu_setup(struct device_node *node) val &= ~GENMASK (19 ,16 );writel (val | (3 <<16 ), reg +SUNIV_PLL_AUDIO_REG ); -sunxi_ccu_probe (node, reg, &suniv_ccu_desc); +of_sunxi_ccu_probe (node, reg, &suniv_ccu_desc);/* Gate then ungate PLL CPU after any rate changes */ ccu_pll_notifier_register (&suniv_pll_cpu_nb);
drivers/clk/sunxi-ng/ccu_common.c +75 -14
137 lines not on this page · raw message
drivers/clk/sunxi-ng/ccu_common.h +4 -2
@@ -63,7 +63,9 @@ struct ccu_pll_nb {int ccu_pll_notifier_register (struct ccu_pll_nb *pll_nb); -int sunxi_ccu_probe (struct device_node *node,void __iomem *reg, -const struct sunxi_ccu_desc *desc); +int devm_sunxi_ccu_probe (struct device *dev,void __iomem *reg, +const struct sunxi_ccu_desc *desc); +void of_sunxi_ccu_probe (struct device_node *node,void __iomem *reg, +const struct sunxi_ccu_desc *desc);#endif /* _COMMON_H_ */
drivers/dma/xilinx/xilinx_dpdma.c +1 -14
@@ -271,9 +271,6 @@ struct xilinx_dpdma_device {/* ----------------------------------------------------------------------------- * DebugFS */ - -#ifdef CONFIG_DEBUG_FS -#define XILINX_DPDMA_DEBUGFS_READ_MAX_SIZE 32#define XILINX_DPDMA_DEBUGFS_UINT16_MAX_STR "65535"
@@ -299,7 +296,7 @@ struct xilinx_dpdma_debugfs_request {static void xilinx_dpdma_debugfs_desc_done_irq (struct xilinx_dpdma_chan *chan) { -if (chan->id == dpdma_debugfs.chan_id) +if (IS_ENABLED (CONFIG_DEBUG_FS ) && chan->id == dpdma_debugfs.chan_id) dpdma_debugfs.xilinx_dpdma_irq_done_count++; }
@@ -462,16 +459,6 @@ static void xilinx_dpdma_debugfs_init(struct xilinx_dpdma_device *xdev)dev_err (xdev->dev,"Failed to create debugfs testcase file\n" ); } -#else -static void xilinx_dpdma_debugfs_init (struct xilinx_dpdma_device *xdev) -{ -} - -static void xilinx_dpdma_debugfs_desc_done_irq (struct xilinx_dpdma_chan *chan) -{ -} -#endif /* CONFIG_DEBUG_FS */ -/* ----------------------------------------------------------------------------- * I/O Accessors */
drivers/gpio/Kconfig +1 -0
@@ -523,6 +523,7 @@ config GPIO_REG config GPIO_ROCKCHIP tristate "Rockchip GPIO support" depends on ARCH_ROCKCHIP || COMPILE_TEST + select GENERIC_IRQ_CHIP select GPIOLIB_IRQCHIP default ARCH_ROCKCHIP help
drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c +1 -0
@@ -827,6 +827,7 @@ static int amdgpu_connector_vga_get_modes(struct drm_connector *connector)amdgpu_connector_get_edid (connector); ret =amdgpu_connector_ddc_get_modes (connector); +amdgpu_get_native_mode (connector);return ret; }
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +3 -0
@@ -3532,6 +3532,9 @@ int amdgpu_device_init(struct amdgpu_device *adev, adev->rmmio_size =pci_resource_len (adev->pdev,2 ); } +for (i =0 ; i <AMD_IP_BLOCK_TYPE_NUM ; i++) +atomic_set (&adev->pm.pwr_state[i],POWER_STATE_UNKNOWN ); + adev->rmmio =ioremap (adev->rmmio_base, adev->rmmio_size);if (adev->rmmio ==NULL ) {return -ENOMEM ;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +35 -0
@@ -40,6 +40,39 @@#include "dm_helpers.h" +struct monitor_patch_info { +unsigned int manufacturer_id; +unsigned int product_id; +void (*patch_func)(struct dc_edid_caps *edid_caps,unsigned int param); +unsigned int patch_param; +}; +static void set_max_dsc_bpp_limit (struct dc_edid_caps *edid_caps,unsigned int param); + +static const struct monitor_patch_info monitor_patch_table[] = { +{0x6D1E ,0x5BBF , set_max_dsc_bpp_limit,15 }, +{0x6D1E ,0x5B9A , set_max_dsc_bpp_limit,15 }, +}; + +static void set_max_dsc_bpp_limit (struct dc_edid_caps *edid_caps,unsigned int param) +{ +if (edid_caps) + edid_caps->panel_patch.max_dsc_target_bpp_limit = param; +} + +static int amdgpu_dm_patch_edid_caps (struct dc_edid_caps *edid_caps) +{ +int i, ret =0 ; + +for (i =0 ; i <ARRAY_SIZE (monitor_patch_table); i++) +if ((edid_caps->manufacturer_id == monitor_patch_table[i].manufacturer_id) + && (edid_caps->product_id == monitor_patch_table[i].product_id)) { + monitor_patch_table[i].patch_func (edid_caps, monitor_patch_table[i].patch_param); + ret++; + } + +return ret; +} +/* dm_helpers_parse_edid_caps * * Parse edid caps
@@ -125,6 +158,8 @@ enum dc_edid_status dm_helpers_parse_edid_caps(kfree (sads);kfree (sadb); +amdgpu_dm_patch_edid_caps (edid_caps); +return result; }
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c +3 -1
@@ -1854,7 +1854,9 @@ static void swizzle_to_dml_params(case DC_SW_VAR_D_X : *sw_mode = dm_sw_var_d_x;break ; - +case DC_SW_VAR_R_X : + *sw_mode = dm_sw_var_r_x; +break ;default :ASSERT (0 );/* Not supported */ break ;
drivers/gpu/drm/amd/display/dc/dml/display_mode_enums.h +2 -2
@@ -80,11 +80,11 @@ enum dm_swizzle_mode { dm_sw_SPARE_13 =24 , dm_sw_64kb_s_x =25 , dm_sw_64kb_d_x =26 , - dm_sw_SPARE_14 =27 , + dm_sw_64kb_r_x =27 , dm_sw_SPARE_15 =28 , dm_sw_var_s_x =29 , dm_sw_var_d_x =30 , - dm_sw_64kb_r_x, + dm_sw_var_r_x =31 , dm_sw_gfx7_2d_thin_l_vp, dm_sw_gfx7_2d_thin_gl, };
drivers/gpu/drm/amd/include/amd_shared.h +2 -1
@@ -98,7 +98,8 @@ enum amd_ip_block_type {AMD_IP_BLOCK_TYPE_ACP ,AMD_IP_BLOCK_TYPE_VCN ,AMD_IP_BLOCK_TYPE_MES , -AMD_IP_BLOCK_TYPE_JPEG +AMD_IP_BLOCK_TYPE_JPEG , + AMD_IP_BLOCK_TYPE_NUM, }; enum amd_clockgating_state {
drivers/gpu/drm/amd/pm/amdgpu_dpm.c +10 -0
@@ -927,6 +927,13 @@ int amdgpu_dpm_set_powergating_by_smu(struct amdgpu_device *adev, uint32_t block {int ret =0 ;const struct amd_pm_funcs *pp_funcs = adev->powerplay.pp_funcs; +enum ip_power_state pwr_state = gate ?POWER_STATE_OFF :POWER_STATE_ON ; + +if (atomic_read (&adev->pm.pwr_state[block_type]) == pwr_state) {
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h +8 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/display/intel_bios.c +63 -22
85 lines not on this page · raw message
drivers/gpu/drm/i915/display/intel_dp.c +21 -8
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c +95 -59
154 lines not on this page · raw message
drivers/gpu/drm/nouveau/nouveau_drm.c +37 -5
42 lines not on this page · raw message
drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmigv100.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/bnxt_re/ib_verbs.c +9 -3
Lines of this file are not shown. View the raw message.
drivers/infiniband/sw/rxe/rxe_mr.c +58 -11
69 lines not on this page · raw message
drivers/net/ethernet/broadcom/bnx2x/bnx2x_init_ops.h +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/i40e/i40e_main.c +104 -56
160 lines not on this page · raw message
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c +41 -80
121 lines not on this page · raw message
drivers/net/ethernet/intel/iavf/iavf_ethtool.c +22 -8
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/iavf/iavf_main.c +41 -14
55 lines not on this page · raw message
drivers/net/ethernet/intel/ice/ice_main.c +0 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c +39 -39
78 lines not on this page · raw message
drivers/net/ethernet/mellanox/mlx5/core/cmd.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/cq.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/debugfs.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c +17 -9
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.h +2 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en/tc_priv.h +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c +7 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c +17 -6
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +8 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +17 -4
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +1 -8
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/lag.c +13 -15
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c +22 -2
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +10 -13
Lines of this file are not shown. View the raw message.
drivers/pinctrl/ralink/pinctrl-mt7620.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/scsi/lpfc/lpfc_hbadisc.c +110 -2
112 lines not on this page · raw message
drivers/scsi/smartpqi/smartpqi_init.c +39 -2
41 lines not on this page · raw message
drivers/scsi/smartpqi/smartpqi_sis.c +51 -0
51 lines not on this page · raw message
drivers/staging/rtl8723bs/core/rtw_mlme.c +2 -10
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c +2 -9
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8723bs/core/rtw_recv.c +3 -7
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8723bs/core/rtw_sta_mgt.c +21 -12
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8723bs/core/rtw_xmit.c +7 -9
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c +0 -2
Lines of this file are not shown. View the raw message.
drivers/staging/rtl8723bs/os_dep/ioctl_linux.c +0 -2
Lines of this file are not shown. View the raw message.
drivers/target/target_core_transport.c +54 -22
76 lines not on this page · raw message
ipc/shm.c +143 -46
189 lines not on this page · raw message
kernel/bpf/syscall.c +36 -21
57 lines not on this page · raw message
kernel/sched/core.c +38 -9
47 lines not on this page · raw message
kernel/signal.c +45 -15
60 lines not on this page · raw message
sound/hda/ext/hdac_ext_stream.c +28 -18
46 lines not on this page · raw message
sound/soc/codecs/rt5682.c +48 -8
56 lines not on this page · raw message
sound/soc/intel/common/soc-acpi-intel-tgl-match.c +41 -0
41 lines not on this page · raw message
sound/soc/mediatek/mt8195/mt8195-mt6359-rt1019-rt5682.c +5 -1
Lines of this file are not shown. View the raw message.
sound/usb/quirks-table.h +58 -0
58 lines not on this page · raw message
tools/perf/tests/shell/record+zstd_comp_decomp.sh +1 -1
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.