aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLCPD Auto Merger2021-01-04 09:13:20 -0600
committerLCPD Auto Merger2021-01-04 09:13:20 -0600
commit3fd7fd045532afba76bed354a442cf0a7793a02c (patch)
tree13d995cac4e0c24dc2ebfd6146c24472cfae6a71
parentf8a71e7d6ad5a5248e11a5b54e59e86a84ba651b (diff)
parentb1313fe517ca3703119dcc99ef3bbf75ab42bcfb (diff)
downloadkernel-ti-linux-5.10.y.tar.gz
kernel-ti-linux-5.10.y.tar.xz
kernel-ti-linux-5.10.y.zip
Merge branch 'linux-5.10.y' of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux into ti-linux-5.10.yti-linux-5.10.y
* 'linux-5.10.y' of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux: (717 commits) Linux 5.10.4 x86/CPU/AMD: Save AMD NodeId as cpu_die_id drm/edid: fix objtool warning in drm_cvt_modes() null_blk: Fail zone append to conventional zones null_blk: Fix zone size initialization Revert: "ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS" rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time thermal/drivers/cpufreq_cooling: Update cpufreq_state only if state has changed remoteproc: sysmon: Ensure remote notification ordering regulator: axp20x: Fix DLDO2 voltage control register mask for AXP22x PCI: Fix pci_slot_release() NULL pointer dereference of: fix linker-section match-table corruption mt76: add back the SUPPORTS_REORDERING_BUFFER flag tracing: Disable ftrace selftests when any tracer is running platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12 libnvdimm/namespace: Fix reaping of invalidated block-window-namespace labels memory: renesas-rpc-if: Fix unbalanced pm_runtime_enable in rpcif_{enable,disable}_rpm memory: renesas-rpc-if: Return correct value to the caller of rpcif_manual_xfer() memory: renesas-rpc-if: Fix a node reference leak in rpcif_probe() memory: jz4780_nemc: Fix an error pointer vs NULL check in probe() ... Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
-rw-r--r--Documentation/locking/seqlock.rst21
-rw-r--r--Documentation/x86/topology.rst9
-rw-r--r--Makefile2
-rw-r--r--arch/Kconfig16
-rw-r--r--arch/arm/boot/compressed/head.S4
-rw-r--r--arch/arm/boot/dts/armada-xp-98dx3236.dtsi5
-rw-r--r--arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dts5
-rw-r--r--arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts4
-rw-r--r--arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dts2
-rw-r--r--arch/arm/boot/dts/aspeed-g6.dtsi2
-rw-r--r--arch/arm/boot/dts/at91-sam9x60ek.dts13
-rw-r--r--arch/arm/boot/dts/at91-sama5d3_xplained.dts7
-rw-r--r--arch/arm/boot/dts/at91-sama5d4_xplained.dts7
-rw-r--r--arch/arm/boot/dts/at91sam9rl.dtsi19
-rw-r--r--arch/arm/boot/dts/meson8b-odroidc1.dts2
-rw-r--r--arch/arm/boot/dts/meson8m2-mxiii-plus.dts2
-rw-r--r--arch/arm/boot/dts/omap4-panda-es.dts2
-rw-r--r--arch/arm/boot/dts/sama5d2.dtsi7
-rw-r--r--arch/arm/boot/dts/tegra20-ventana.dts11
-rw-r--r--arch/arm/crypto/aes-ce-core.S32
-rw-r--r--arch/arm/crypto/aes-neonbs-glue.c8
-rw-r--r--arch/arm/kernel/entry-armv.S25
-rw-r--r--arch/arm/kernel/head.S6
-rw-r--r--arch/arm/vfp/entry.S17
-rw-r--r--arch/arm/vfp/vfphw.S5
-rw-r--r--arch/arm/vfp/vfpmodule.c72
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts2
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi2
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi2
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts2
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts2
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi2
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi2
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts2
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts4
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts2
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts2
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts2
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-sm1.dtsi2
-rw-r--r--arch/arm64/boot/dts/exynos/exynos7.dtsi12
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts12
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi4
-rw-r--r--arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts2
-rw-r--r--arch/arm64/boot/dts/marvell/armada-7040.dtsi4
-rw-r--r--arch/arm64/boot/dts/marvell/armada-8040.dtsi4
-rw-r--r--arch/arm64/boot/dts/mediatek/mt8183.dtsi2
-rw-r--r--arch/arm64/boot/dts/nvidia/tegra194.dtsi4
-rw-r--r--arch/arm64/boot/dts/qcom/ipq6018.dtsi6
-rw-r--r--arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi11
-rw-r--r--arch/arm64/boot/dts/qcom/sc7180.dtsi5
-rw-r--r--arch/arm64/boot/dts/qcom/sdm845.dtsi3
-rw-r--r--arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts39
-rw-r--r--arch/arm64/boot/dts/qcom/sm8250-mtp.dts2
-rw-r--r--arch/arm64/boot/dts/renesas/cat875.dtsi1
-rw-r--r--arch/arm64/boot/dts/renesas/hihope-rzg2-ex.dtsi1
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts1
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3328.dtsi16
-rw-r--r--arch/arm64/boot/dts/ti/k3-am65-main.dtsi4
-rw-r--r--arch/arm64/boot/dts/ti/k3-j721e-main.dtsi2
-rw-r--r--arch/arm64/crypto/poly1305-armv8.pl2
-rw-r--r--arch/arm64/crypto/poly1305-core.S_shipped2
-rw-r--r--arch/arm64/include/asm/kvm_host.h1
-rw-r--r--arch/arm64/kernel/mte.c3
-rw-r--r--arch/arm64/kvm/sys_regs.c1
-rw-r--r--arch/m68k/mac/config.c17
-rw-r--r--arch/mips/bcm47xx/Kconfig1
-rw-r--r--arch/mips/kernel/setup.c4
-rw-r--r--arch/powerpc/boot/Makefile2
-rw-r--r--arch/powerpc/include/asm/bitops.h23
-rw-r--r--arch/powerpc/include/asm/book3s/32/mmu-hash.h1
-rw-r--r--arch/powerpc/include/asm/book3s/32/pgtable.h4
-rw-r--r--arch/powerpc/include/asm/cpm1.h1
-rw-r--r--arch/powerpc/include/asm/cputable.h7
-rw-r--r--arch/powerpc/include/asm/nohash/pgtable.h4
-rw-r--r--arch/powerpc/kernel/Makefile3
-rw-r--r--arch/powerpc/kernel/head_32.h25
-rw-r--r--arch/powerpc/kernel/head_64.S10
-rw-r--r--arch/powerpc/kernel/paca.c4
-rw-r--r--arch/powerpc/kernel/rtas.c2
-rw-r--r--arch/powerpc/kernel/setup-common.c4
-rw-r--r--arch/powerpc/kernel/setup.h6
-rw-r--r--arch/powerpc/kernel/setup_64.c2
-rw-r--r--arch/powerpc/kernel/smp.c2
-rw-r--r--arch/powerpc/lib/sstep.c10
-rw-r--r--arch/powerpc/mm/fault.c8
-rw-r--r--arch/powerpc/mm/mem.c2
-rw-r--r--arch/powerpc/perf/core-book3s.c13
-rw-r--r--arch/powerpc/perf/isa207-common.c30
-rw-r--r--arch/powerpc/perf/isa207-common.h20
-rw-r--r--arch/powerpc/perf/power10-pmu.c11
-rw-r--r--arch/powerpc/platforms/8xx/micropatch.c11
-rw-r--r--arch/powerpc/platforms/Kconfig.cputype2
-rw-r--r--arch/powerpc/platforms/powermac/sleep.S132
-rw-r--r--arch/powerpc/platforms/powernv/memtrace.c44
-rw-r--r--arch/powerpc/platforms/powernv/npu-dma.c16
-rw-r--r--arch/powerpc/platforms/powernv/pci-sriov.c2
-rw-r--r--arch/powerpc/platforms/pseries/hotplug-cpu.c1
-rw-r--r--arch/powerpc/platforms/pseries/suspend.c4
-rw-r--r--arch/powerpc/xmon/nonstdio.c2
-rw-r--r--arch/powerpc/xmon/xmon.c2
-rw-r--r--arch/riscv/mm/init.c2
-rw-r--r--arch/s390/kernel/entry.S44
-rw-r--r--arch/s390/kernel/smp.c18
-rw-r--r--arch/s390/lib/test_unwind.c7
-rw-r--r--arch/s390/purgatory/head.S9
-rw-r--r--arch/sparc/mm/init_64.c2
-rw-r--r--arch/um/drivers/chan_user.c4
-rw-r--r--arch/um/drivers/xterm.c5
-rw-r--r--arch/um/kernel/time.c5
-rw-r--r--arch/um/os-Linux/irq.c2
-rw-r--r--arch/um/os-Linux/umid.c17
-rw-r--r--arch/x86/events/intel/core.c5
-rw-r--r--arch/x86/events/intel/lbr.c2
-rw-r--r--arch/x86/include/asm/apic.h1
-rw-r--r--arch/x86/include/asm/cacheinfo.h4
-rw-r--r--arch/x86/include/asm/mce.h3
-rw-r--r--arch/x86/kernel/apic/apic.c14
-rw-r--r--arch/x86/kernel/apic/x2apic_phys.c9
-rw-r--r--arch/x86/kernel/cpu/amd.c11
-rw-r--r--arch/x86/kernel/cpu/cacheinfo.c6
-rw-r--r--arch/x86/kernel/cpu/hygon.c11
-rw-r--r--arch/x86/kernel/cpu/mce/core.c3
-rw-r--r--arch/x86/kernel/kprobes/core.c5
-rw-r--r--arch/x86/kernel/tboot.c1
-rw-r--r--arch/x86/kvm/cpuid.h14
-rw-r--r--arch/x86/kvm/svm/sev.c22
-rw-r--r--arch/x86/kvm/svm/svm.c14
-rw-r--r--arch/x86/kvm/vmx/vmx.c8
-rw-r--r--arch/x86/mm/ident_map.c12
-rw-r--r--crypto/Kconfig2
-rw-r--r--crypto/ecdh.c9
-rw-r--r--drivers/accessibility/speakup/speakup_dectlk.c2
-rw-r--r--drivers/acpi/acpi_pnp.c3
-rw-r--r--drivers/acpi/device_pm.c41
-rw-r--r--drivers/acpi/nfit/core.c6
-rw-r--r--drivers/acpi/resource.c2
-rw-r--r--drivers/android/binder.c1
-rw-r--r--drivers/android/binder_alloc.c48
-rw-r--r--drivers/android/binder_alloc.h4
-rw-r--r--drivers/base/core.c2
-rw-r--r--drivers/block/null_blk_zoned.c28
-rw-r--r--drivers/block/rnbd/rnbd-clt-sysfs.c17
-rw-r--r--drivers/block/rnbd/rnbd-clt.c13
-rw-r--r--drivers/block/rnbd/rnbd-clt.h4
-rw-r--r--drivers/block/xen-blkback/xenbus.c4
-rw-r--r--drivers/bluetooth/btmtksdio.c2
-rw-r--r--drivers/bluetooth/btusb.c10
-rw-r--r--drivers/bluetooth/hci_h5.c3
-rw-r--r--drivers/bus/fsl-mc/fsl-mc-allocator.c4
-rw-r--r--drivers/bus/fsl-mc/fsl-mc-bus.c5
-rw-r--r--drivers/bus/mhi/core/init.c6
-rw-r--r--drivers/bus/mips_cdmm.c4
-rw-r--r--drivers/clk/at91/sam9x60.c6
-rw-r--r--drivers/clk/at91/sama7g5.c6
-rw-r--r--drivers/clk/bcm/clk-bcm2711-dvp.c1
-rw-r--r--drivers/clk/clk-fsl-sai.c12
-rw-r--r--drivers/clk/clk-s2mps11.c1
-rw-r--r--drivers/clk/clk-versaclock5.c4
-rw-r--r--drivers/clk/ingenic/cgu.c14
-rw-r--r--drivers/clk/meson/Kconfig1
-rw-r--r--drivers/clk/mvebu/armada-37xx-xtal.c4
-rw-r--r--drivers/clk/qcom/gcc-sc7180.c4
-rw-r--r--drivers/clk/renesas/r8a779a0-cpg-mssr.c13
-rw-r--r--drivers/clk/sunxi-ng/ccu-sun50i-a64.c1
-rw-r--r--drivers/clk/sunxi-ng/ccu-sun8i-h3.c1
-rw-r--r--drivers/clk/tegra/clk-dfll.c4
-rw-r--r--drivers/clk/tegra/clk-id.h1
-rw-r--r--drivers/clk/tegra/clk-tegra-periph.c2
-rw-r--r--drivers/clk/ti/fapll.c11
-rw-r--r--drivers/clocksource/Kconfig2
-rw-r--r--drivers/clocksource/arm_arch_timer.c27
-rw-r--r--drivers/clocksource/ingenic-timer.c2
-rw-r--r--drivers/clocksource/timer-cadence-ttc.c18
-rw-r--r--drivers/clocksource/timer-orion.c11
-rw-r--r--drivers/counter/microchip-tcb-capture.c16
-rw-r--r--drivers/cpufreq/Kconfig.arm2
-rw-r--r--drivers/cpufreq/armada-8k-cpufreq.c6
-rw-r--r--drivers/cpufreq/highbank-cpufreq.c7
-rw-r--r--drivers/cpufreq/intel_pstate.c16
-rw-r--r--drivers/cpufreq/loongson1-cpufreq.c1
-rw-r--r--drivers/cpufreq/mediatek-cpufreq.c1
-rw-r--r--drivers/cpufreq/qcom-cpufreq-nvmem.c1
-rw-r--r--drivers/cpufreq/scpi-cpufreq.c1
-rw-r--r--drivers/cpufreq/sti-cpufreq.c7
-rw-r--r--drivers/cpufreq/sun50i-cpufreq-nvmem.c1
-rw-r--r--drivers/cpufreq/vexpress-spc-cpufreq.c1
-rw-r--r--drivers/crypto/Kconfig1
-rw-r--r--drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c20
-rw-r--r--drivers/crypto/amcc/crypto4xx_core.c2
-rw-r--r--drivers/crypto/caam/caamalg.c4
-rw-r--r--drivers/crypto/caam/caamalg_qi.c4
-rw-r--r--drivers/crypto/caam/caamalg_qi2.c3
-rw-r--r--drivers/crypto/inside-secure/safexcel.c2
-rw-r--r--drivers/crypto/omap-aes.c3
-rw-r--r--drivers/crypto/qat/qat_common/qat_hal.c2
-rw-r--r--drivers/crypto/talitos.c10
-rw-r--r--drivers/dax/super.c1
-rw-r--r--drivers/dma-buf/dma-resv.c2
-rw-r--r--drivers/dma/mv_xor_v2.c4
-rw-r--r--drivers/dma/ti/k3-udma.c3
-rw-r--r--drivers/edac/amd64_edac.c26
-rw-r--r--drivers/edac/i10nm_base.c11
-rw-r--r--drivers/edac/mce_amd.c2
-rw-r--r--drivers/extcon/extcon-max77693.c2
-rw-r--r--drivers/firmware/arm_scmi/notify.c10
-rw-r--r--drivers/firmware/efi/efi.c1
-rw-r--r--drivers/firmware/tegra/bpmp-debugfs.c6
-rw-r--r--drivers/fsi/fsi-master-aspeed.c45
-rw-r--r--drivers/gpio/gpiolib.c3
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c10
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c10
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h2
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c9
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c6
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c6
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c7
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_crat.c13
-rw-r--r--drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c3
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c4
-rw-r--r--drivers/gpu/drm/amd/display/modules/color/color_gamma.c2
-rw-r--r--drivers/gpu/drm/aspeed/Kconfig1
-rw-r--r--drivers/gpu/drm/bridge/ti-tpd12s015.c2
-rw-r--r--drivers/gpu/drm/drm_dp_aux_dev.c2
-rw-r--r--drivers/gpu/drm/drm_edid.c2
-rw-r--r--drivers/gpu/drm/gma500/cdv_intel_dp.c2
-rw-r--r--drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c2
-rw-r--r--drivers/gpu/drm/imx/dcss/dcss-plane.c11
-rw-r--r--drivers/gpu/drm/mcde/mcde_drv.c4
-rw-r--r--drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c2
-rw-r--r--drivers/gpu/drm/meson/meson_drv.c12
-rw-r--r--drivers/gpu/drm/meson/meson_dw_hdmi.c60
-rw-r--r--drivers/gpu/drm/msm/Kconfig2
-rw-r--r--drivers/gpu/drm/msm/adreno/a5xx_gpu.c24
-rw-r--r--drivers/gpu/drm/msm/adreno/a6xx_gpu.c11
-rw-r--r--drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c6
-rw-r--r--drivers/gpu/drm/msm/dp/dp_catalog.c13
-rw-r--r--drivers/gpu/drm/msm/dp/dp_catalog.h1
-rw-r--r--drivers/gpu/drm/msm/dp/dp_ctrl.c28
-rw-r--r--drivers/gpu/drm/msm/dp/dp_display.c154
-rw-r--r--drivers/gpu/drm/msm/dp/dp_link.c41
-rw-r--r--drivers/gpu/drm/msm/dp/dp_link.h1
-rw-r--r--drivers/gpu/drm/msm/dp/dp_reg.h2
-rw-r--r--drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c8
-rw-r--r--drivers/gpu/drm/msm/dsi/pll/dsi_pll_7nm.c8
-rw-r--r--drivers/gpu/drm/msm/msm_drv.h5
-rw-r--r--drivers/gpu/drm/mxsfb/mxsfb_drv.c10
-rw-r--r--drivers/gpu/drm/omapdrm/omap_dmm_tiler.c1
-rw-r--r--drivers/gpu/drm/panel/panel-simple.c1
-rw-r--r--drivers/gpu/drm/panfrost/panfrost_device.c1
-rw-r--r--drivers/gpu/drm/panfrost/panfrost_device.h6
-rw-r--r--drivers/gpu/drm/panfrost/panfrost_job.c183
-rw-r--r--drivers/gpu/drm/tve200/tve200_drv.c4
-rw-r--r--drivers/gpu/drm/udl/udl_modeset.c4
-rw-r--r--drivers/hsi/controllers/omap_ssi_core.c2
-rw-r--r--drivers/hwmon/ina3221.c2
-rw-r--r--drivers/hwmon/k10temp.c98
-rw-r--r--drivers/hwtracing/coresight/coresight-catu.c2
-rw-r--r--drivers/hwtracing/coresight/coresight-cti-core.c2
-rw-r--r--drivers/hwtracing/coresight/coresight-etb10.c2
-rw-r--r--drivers/hwtracing/coresight/coresight-etm3x-core.c4
-rw-r--r--drivers/hwtracing/coresight/coresight-etm4x-core.c4
-rw-r--r--drivers/hwtracing/coresight/coresight-funnel.c6
-rw-r--r--drivers/hwtracing/coresight/coresight-replicator.c6
-rw-r--r--drivers/hwtracing/coresight/coresight-stm.c2
-rw-r--r--drivers/hwtracing/coresight/coresight-tmc-core.c2
-rw-r--r--drivers/hwtracing/coresight/coresight-tpiu.c2
-rw-r--r--drivers/i2c/busses/i2c-qcom-geni.c6
-rw-r--r--drivers/iio/adc/Kconfig2
-rw-r--r--drivers/iio/adc/ad_sigma_delta.c18
-rw-r--r--drivers/iio/adc/at91_adc.c2
-rw-r--r--drivers/iio/adc/rockchip_saradc.c2
-rw-r--r--drivers/iio/adc/ti-ads124s08.c13
-rw-r--r--drivers/iio/imu/bmi160/bmi160.h7
-rw-r--r--drivers/iio/imu/bmi160/bmi160_core.c6
-rw-r--r--drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c26
-rw-r--r--drivers/iio/industrialio-buffer.c6
-rw-r--r--drivers/iio/light/rpr0521.c17
-rw-r--r--drivers/iio/light/st_uvis25.h5
-rw-r--r--drivers/iio/light/st_uvis25_core.c8
-rw-r--r--drivers/iio/magnetometer/mag3110.c13
-rw-r--r--drivers/iio/pressure/mpl3115.c9
-rw-r--r--drivers/iio/trigger/iio-trig-hrtimer.c4
-rw-r--r--drivers/infiniband/core/cma.c195
-rw-r--r--drivers/infiniband/core/device.c7
-rw-r--r--drivers/infiniband/core/uverbs_std_types_device.c14
-rw-r--r--drivers/infiniband/core/uverbs_std_types_mr.c4
-rw-r--r--drivers/infiniband/core/verbs.c4
-rw-r--r--drivers/infiniband/hw/bnxt_re/ib_verbs.c5
-rw-r--r--drivers/infiniband/hw/cxgb4/cq.c3
-rw-r--r--drivers/infiniband/hw/hns/hns_roce_ah.c61
-rw-r--r--drivers/infiniband/hw/hns/hns_roce_cq.c5
-rw-r--r--drivers/infiniband/hw/hns/hns_roce_device.h10
-rw-r--r--drivers/infiniband/hw/hns/hns_roce_hem.c4
-rw-r--r--drivers/infiniband/hw/hns/hns_roce_hw_v2.c56
-rw-r--r--drivers/infiniband/hw/hns/hns_roce_main.c11
-rw-r--r--drivers/infiniband/hw/hns/hns_roce_pd.c11
-rw-r--r--drivers/infiniband/hw/hns/hns_roce_qp.c18
-rw-r--r--drivers/infiniband/hw/hns/hns_roce_srq.c10
-rw-r--r--drivers/infiniband/hw/mlx5/mr.c21
-rw-r--r--drivers/infiniband/hw/mthca/mthca_cq.c2
-rw-r--r--drivers/infiniband/hw/mthca/mthca_dev.h1
-rw-r--r--drivers/infiniband/sw/rxe/rxe_req.c3
-rw-r--r--drivers/infiniband/ulp/rtrs/rtrs-clt.c8
-rw-r--r--drivers/infiniband/ulp/rtrs/rtrs-srv.c86
-rw-r--r--drivers/input/keyboard/omap4-keypad.c89
-rw-r--r--drivers/input/mouse/cyapa_gen6.c2
-rw-r--r--drivers/input/touchscreen/ads7846.c52
-rw-r--r--drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c90
-rw-r--r--drivers/iommu/arm/arm-smmu/arm-smmu.c13
-rw-r--r--drivers/iommu/arm/arm-smmu/arm-smmu.h1
-rw-r--r--drivers/iommu/intel/iommu.c2
-rw-r--r--drivers/irqchip/irq-alpine-msi.c3
-rw-r--r--drivers/irqchip/irq-ti-sci-inta.c2
-rw-r--r--drivers/irqchip/irq-ti-sci-intr.c14
-rw-r--r--drivers/irqchip/qcom-pdc.c21
-rw-r--r--drivers/leds/leds-lp50xx.c6
-rw-r--r--drivers/leds/leds-netxbig.c35
-rw-r--r--drivers/leds/leds-turris-omnia.c4
-rw-r--r--drivers/macintosh/adb-iop.c56
-rw-r--r--drivers/mailbox/arm_mhu_db.c2
-rw-r--r--drivers/md/dm-ioctl.c1
-rw-r--r--drivers/md/md-cluster.c67
-rw-r--r--drivers/md/md.c14
-rw-r--r--drivers/media/common/siano/smsdvb-main.c5
-rw-r--r--drivers/media/i2c/imx214.c2
-rw-r--r--drivers/media/i2c/imx219.c17
-rw-r--r--drivers/media/i2c/max2175.c2
-rw-r--r--drivers/media/i2c/max9271.c8
-rw-r--r--drivers/media/i2c/ov5640.c82
-rw-r--r--drivers/media/i2c/rdacm20.c13
-rw-r--r--drivers/media/i2c/tvp5150.c1
-rw-r--r--drivers/media/pci/intel/ipu3/ipu3-cio2.c62
-rw-r--r--drivers/media/pci/intel/ipu3/ipu3-cio2.h1
-rw-r--r--drivers/media/pci/netup_unidvb/netup_unidvb_spi.c5
-rw-r--r--drivers/media/pci/saa7146/mxb.c19
-rw-r--r--drivers/media/pci/solo6x10/solo6x10-g723.c2
-rw-r--r--drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c9
-rw-r--r--drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c19
-rw-r--r--drivers/media/platform/mtk-vcodec/mtk_vcodec_enc_pm.c26
-rw-r--r--drivers/media/platform/qcom/venus/core.c32
-rw-r--r--drivers/media/platform/qcom/venus/pm_helpers.c10
-rw-r--r--drivers/media/rc/sunxi-cir.c2
-rw-r--r--drivers/media/usb/gspca/gspca.c1
-rw-r--r--drivers/media/usb/tm6000/tm6000-video.c5
-rw-r--r--drivers/media/v4l2-core/v4l2-fwnode.c6
-rw-r--r--drivers/memory/Kconfig2
-rw-r--r--drivers/memory/jz4780-nemc.c6
-rw-r--r--drivers/memory/renesas-rpc-if.c7
-rw-r--r--drivers/memstick/core/memstick.c1
-rw-r--r--drivers/memstick/host/r592.c12
-rw-r--r--drivers/mfd/Kconfig1
-rw-r--r--drivers/mfd/htc-i2cpld.c2
-rw-r--r--drivers/mfd/motorola-cpcap.c6
-rw-r--r--drivers/mfd/stmfx.c10
-rw-r--r--drivers/misc/pci_endpoint_test.c8
-rw-r--r--drivers/mmc/host/pxamci.c1
-rw-r--r--drivers/mmc/host/sdhci-tegra.c2
-rw-r--r--drivers/mtd/mtdcore.c4
-rw-r--r--drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c38
-rw-r--r--drivers/mtd/nand/raw/meson_nand.c7
-rw-r--r--drivers/mtd/nand/raw/qcom_nandc.c2
-rw-r--r--drivers/mtd/nand/spi/core.c4
-rw-r--r--drivers/mtd/parsers/cmdlinepart.c14
-rw-r--r--drivers/mtd/spi-nor/atmel.c77
-rw-r--r--drivers/mtd/spi-nor/core.c25
-rw-r--r--drivers/mtd/spi-nor/core.h1
-rw-r--r--drivers/mtd/spi-nor/sst.c3
-rw-r--r--drivers/net/can/m_can/m_can.c4
-rw-r--r--drivers/net/dsa/qca/ar9331.c33
-rw-r--r--drivers/net/ethernet/allwinner/sun4i-emac.c7
-rw-r--r--drivers/net/ethernet/broadcom/genet/bcmgenet.c4
-rw-r--r--drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c2
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_xsk.c5
-rw-r--r--drivers/net/ethernet/intel/ice/ice_xsk.c5
-rw-r--r--drivers/net/ethernet/korina.c2
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/main.c6
-rw-r--r--drivers/net/ethernet/microchip/lan743x_main.c43
-rw-r--r--drivers/net/ethernet/mscc/ocelot_vsc7514.c8
-rw-r--r--drivers/net/ethernet/netronome/nfp/flower/main.c6
-rw-r--r--drivers/net/ethernet/pensando/ionic/ionic_lif.c63
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c1
-rw-r--r--drivers/net/virtio_net.c1
-rw-r--r--drivers/net/wireless/admtek/adm8211.c6
-rw-r--r--drivers/net/wireless/ath/ath10k/usb.c7
-rw-r--r--drivers/net/wireless/ath/ath10k/wmi-tlv.c4
-rw-r--r--drivers/net/wireless/ath/ath10k/wmi.c9
-rw-r--r--drivers/net/wireless/ath/ath10k/wmi.h1
-rw-r--r--drivers/net/wireless/ath/ath11k/core.h2
-rw-r--r--drivers/net/wireless/ath/ath11k/dp_tx.c5
-rw-r--r--drivers/net/wireless/ath/ath11k/hw.c4
-rw-r--r--drivers/net/wireless/ath/ath11k/mac.c54
-rw-r--r--drivers/net/wireless/ath/ath11k/qmi.c6
-rw-r--r--drivers/net/wireless/ath/ath11k/reg.c6
-rw-r--r--drivers/net/wireless/ath/ath11k/wmi.c31
-rw-r--r--drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c3
-rw-r--r--drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c6
-rw-r--r--drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c1
-rw-r--r--drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c2
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/ops.c6
-rw-r--r--drivers/net/wireless/intersil/orinoco/orinoco_usb.c14
-rw-r--r--drivers/net/wireless/marvell/mwifiex/main.c2
-rw-r--r--drivers/net/wireless/mediatek/mt76/dma.c2
-rw-r--r--drivers/net/wireless/mediatek/mt76/mac80211.c1
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7603/pci.c3
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7615/mac.c14
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7615/mmio.c3
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7615/sdio_txrx.c2
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt76x0/pci.c3
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt76x2/pci.c3
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c2
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7915/pci.c5
-rw-r--r--drivers/net/wireless/quantenna/qtnfmac/pcie/pcie.c6
-rw-r--r--drivers/net/wireless/rsi/rsi_91x_usb.c30
-rw-r--r--drivers/net/wireless/st/cw1200/main.c2
-rw-r--r--drivers/net/xen-netback/xenbus.c6
-rw-r--r--drivers/nfc/s3fwrn5/firmware.c4
-rw-r--r--drivers/nvdimm/label.c13
-rw-r--r--drivers/pci/controller/pcie-brcmstb.c1
-rw-r--r--drivers/pci/controller/pcie-iproc.c23
-rw-r--r--drivers/pci/pci-acpi.c4
-rw-r--r--drivers/pci/pci.c14
-rw-r--r--drivers/pci/quirks.c17
-rw-r--r--drivers/pci/slot.c6
-rw-r--r--drivers/phy/mediatek/Kconfig4
-rw-r--r--drivers/phy/mediatek/phy-mtk-hdmi.c5
-rw-r--r--drivers/phy/renesas/phy-rcar-gen3-usb2.c6
-rw-r--r--drivers/phy/tegra/xusb.c2
-rw-r--r--drivers/pinctrl/core.c2
-rw-r--r--drivers/pinctrl/pinctrl-falcon.c14
-rw-r--r--drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c2
-rw-r--r--drivers/pinctrl/sunxi/pinctrl-sunxi.c6
-rw-r--r--drivers/platform/chrome/cros_ec_spi.c1
-rw-r--r--drivers/platform/x86/dell-smbios-base.c1
-rw-r--r--drivers/platform/x86/intel-vbtn.c18
-rw-r--r--drivers/platform/x86/mlx-platform.c33
-rw-r--r--drivers/power/supply/axp288_charger.c28
-rw-r--r--drivers/power/supply/bq24190_charger.c20
-rw-r--r--drivers/power/supply/bq25890_charger.c2
-rw-r--r--drivers/power/supply/max17042_battery.c3
-rw-r--r--drivers/ps3/ps3stor_lib.c2
-rw-r--r--drivers/pwm/pwm-imx27.c3
-rw-r--r--drivers/pwm/pwm-lp3943.c1
-rw-r--r--drivers/pwm/pwm-sun4i.c6
-rw-r--r--drivers/pwm/pwm-zx.c1
-rw-r--r--drivers/regulator/axp20x-regulator.c2
-rw-r--r--drivers/remoteproc/mtk_common.h26
-rw-r--r--drivers/remoteproc/mtk_scp.c5
-rw-r--r--drivers/remoteproc/qcom_q6v5_adsp.c13
-rw-r--r--drivers/remoteproc/qcom_q6v5_mss.c5
-rw-r--r--drivers/remoteproc/qcom_q6v5_pas.c5
-rw-r--r--drivers/remoteproc/qcom_sysmon.c25
-rw-r--r--drivers/remoteproc/ti_k3_dsp_remoteproc.c4
-rw-r--r--drivers/rtc/rtc-ep93xx.c6
-rw-r--r--drivers/rtc/rtc-pcf2127.c12
-rw-r--r--drivers/s390/block/dasd_alias.c22
-rw-r--r--drivers/s390/cio/device.c4
-rw-r--r--drivers/scsi/aacraid/commctrl.c22
-rw-r--r--drivers/scsi/aacraid/linit.c61
-rw-r--r--drivers/scsi/fnic/fnic_main.c1
-rw-r--r--drivers/scsi/hisi_sas/hisi_sas_v3_hw.c26
-rw-r--r--drivers/scsi/lpfc/lpfc.h2
-rw-r--r--drivers/scsi/lpfc/lpfc_disc.h2
-rw-r--r--drivers/scsi/lpfc/lpfc_hbadisc.c35
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c46
-rw-r--r--drivers/scsi/lpfc/lpfc_mem.c11
-rw-r--r--drivers/scsi/lpfc/lpfc_nvme.c18
-rw-r--r--drivers/scsi/lpfc/lpfc_sli.c74
-rw-r--r--drivers/scsi/lpfc/lpfc_sli4.h6
-rw-r--r--drivers/scsi/pm8001/pm8001_init.c3
-rw-r--r--drivers/scsi/pm8001/pm80xx_hwi.c2
-rw-r--r--drivers/scsi/qedi/qedi_main.c4
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c71
-rw-r--r--drivers/scsi/qla2xxx/qla_mbx.c9
-rw-r--r--drivers/scsi/qla2xxx/qla_tmpl.c9
-rw-r--r--drivers/scsi/qla2xxx/qla_tmpl.h2
-rw-r--r--drivers/scsi/scsi_lib.c126
-rw-r--r--drivers/scsi/scsi_transport_iscsi.c4
-rw-r--r--drivers/scsi/ufs/ufshcd.c5
-rw-r--r--drivers/slimbus/qcom-ctrl.c9
-rw-r--r--drivers/slimbus/qcom-ngd-ctrl.c6
-rw-r--r--drivers/soc/amlogic/meson-canvas.c4
-rw-r--r--drivers/soc/mediatek/mtk-scpsys.c5
-rw-r--r--drivers/soc/qcom/pdr_interface.c2
-rw-r--r--drivers/soc/qcom/qcom-geni-se.c17
-rw-r--r--drivers/soc/qcom/smp2p.c5
-rw-r--r--drivers/soc/renesas/rmobile-sysc.c1
-rw-r--r--drivers/soc/rockchip/io-domain.c1
-rw-r--r--drivers/soc/ti/knav_dma.c13
-rw-r--r--drivers/soc/ti/knav_qmss_queue.c4
-rw-r--r--drivers/soc/ti/omap_prm.c4
-rw-r--r--drivers/soundwire/master.c14
-rw-r--r--drivers/soundwire/qcom.c2
-rw-r--r--drivers/soundwire/sysfs_slave_dpn.c1
-rw-r--r--drivers/spi/Kconfig1
-rw-r--r--drivers/spi/atmel-quadspi.c27
-rw-r--r--drivers/spi/spi-ar934x.c14
-rw-r--r--drivers/spi/spi-bcm63xx-hsspi.c4
-rw-r--r--drivers/spi/spi-davinci.c2
-rw-r--r--drivers/spi/spi-dw-bt1.c4
-rw-r--r--drivers/spi/spi-fsl-dspi.c6
-rw-r--r--drivers/spi/spi-fsl-spi.c11
-rw-r--r--drivers/spi/spi-geni-qcom.c3
-rw-r--r--drivers/spi/spi-gpio.c15
-rw-r--r--drivers/spi/spi-img-spfi.c4
-rw-r--r--drivers/spi/spi-imx.c2
-rw-r--r--drivers/spi/spi-mem.c1
-rw-r--r--drivers/spi/spi-mt7621.c11
-rw-r--r--drivers/spi/spi-mtk-nor.c2
-rw-r--r--drivers/spi/spi-mxic.c10
-rw-r--r--drivers/spi/spi-mxs.c1
-rw-r--r--drivers/spi/spi-npcm-fiu.c8
-rw-r--r--drivers/spi/spi-pic32.c1
-rw-r--r--drivers/spi/spi-pxa2xx.c5
-rw-r--r--drivers/spi/spi-qcom-qspi.c42
-rw-r--r--drivers/spi/spi-rb4xx.c2
-rw-r--r--drivers/spi/spi-rpc-if.c9
-rw-r--r--drivers/spi/spi-sc18is602.c13
-rw-r--r--drivers/spi/spi-sh.c13
-rw-r--r--drivers/spi/spi-sprd.c1
-rw-r--r--drivers/spi/spi-st-ssc4.c5
-rw-r--r--drivers/spi/spi-stm32-qspi.c8
-rw-r--r--drivers/spi/spi-stm32.c1
-rw-r--r--drivers/spi/spi-synquacer.c15
-rw-r--r--drivers/spi/spi-tegra114.c2
-rw-r--r--drivers/spi/spi-tegra20-sflash.c1
-rw-r--r--drivers/spi/spi-tegra20-slink.c2
-rw-r--r--drivers/spi/spi-ti-qspi.c1
-rw-r--r--drivers/spi/spi.c19
-rw-r--r--drivers/staging/comedi/drivers/mf6x4.c3
-rw-r--r--drivers/staging/gasket/gasket_interrupt.c15
-rw-r--r--drivers/staging/greybus/audio_codec.c2
-rw-r--r--drivers/staging/greybus/audio_helper.c3
-rw-r--r--drivers/staging/hikey9xx/hi6421-spmi-pmic.c4
-rw-r--r--drivers/staging/media/rkisp1/rkisp1-capture.c1
-rw-r--r--drivers/staging/media/sunxi/cedrus/cedrus_video.c4
-rw-r--r--drivers/staging/vc04_services/vchiq-mmal/Kconfig2
-rw-r--r--drivers/thermal/cpufreq_cooling.c4
-rw-r--r--drivers/tty/serial/8250/8250_mtk.c13
-rw-r--r--drivers/tty/serial/pmac_zilog.c14
-rw-r--r--drivers/usb/host/ehci-omap.c1
-rw-r--r--drivers/usb/host/max3421-hcd.c3
-rw-r--r--drivers/usb/host/oxu210hp-hcd.c4
-rw-r--r--drivers/usb/serial/digi_acceleport.c45
-rw-r--r--drivers/usb/serial/keyspan_pda.c63
-rw-r--r--drivers/usb/serial/mos7720.c2
-rw-r--r--drivers/vdpa/mlx5/net/mlx5_vnet.c5
-rw-r--r--drivers/vfio/pci/vfio_pci.c7
-rw-r--r--drivers/vfio/pci/vfio_pci_nvlink2.c7
-rw-r--r--drivers/vhost/scsi.c3
-rw-r--r--drivers/video/fbdev/atmel_lcdfb.c2
-rw-r--r--drivers/virtio/virtio_ring.c8
-rw-r--r--drivers/watchdog/Kconfig4
-rw-r--r--drivers/watchdog/qcom-wdt.c2
-rw-r--r--drivers/watchdog/sprd_wdt.c34
-rw-r--r--drivers/watchdog/watchdog_core.c22
-rw-r--r--drivers/xen/xen-pciback/xenbus.c2
-rw-r--r--drivers/xen/xenbus/xenbus.h2
-rw-r--r--drivers/xen/xenbus/xenbus_client.c8
-rw-r--r--drivers/xen/xenbus/xenbus_probe.c1
-rw-r--r--drivers/xen/xenbus/xenbus_probe_backend.c7
-rw-r--r--drivers/xen/xenbus/xenbus_xs.c34
-rw-r--r--fs/btrfs/ctree.h1
-rw-r--r--fs/btrfs/extent-tree.c33
-rw-r--r--fs/btrfs/ioctl.c39
-rw-r--r--fs/btrfs/transaction.c42
-rw-r--r--fs/ceph/caps.c11
-rw-r--r--fs/cifs/smb2misc.c16
-rw-r--r--fs/cifs/smb2ops.c3
-rw-r--r--fs/cifs/smb2pdu.c7
-rw-r--r--fs/cifs/smb2pdu.h14
-rw-r--r--fs/erofs/data.c26
-rw-r--r--fs/eventpoll.c25
-rw-r--r--fs/ext4/extents.c4
-rw-r--r--fs/ext4/inode.c19
-rw-r--r--fs/ext4/mballoc.c1
-rw-r--r--fs/ext4/super.c14
-rw-r--r--fs/f2fs/node.c2
-rw-r--r--fs/f2fs/super.c1
-rw-r--r--fs/fuse/virtio_fs.c2
-rw-r--r--fs/inode.c4
-rw-r--r--fs/io-wq.h1
-rw-r--r--fs/io_uring.c178
-rw-r--r--fs/jffs2/readinode.c16
-rw-r--r--fs/jffs2/super.c17
-rw-r--r--fs/jfs/jfs_dmap.h2
-rw-r--r--fs/lockd/host.c20
-rw-r--r--fs/nfs/flexfilelayout/flexfilelayout.c2
-rw-r--r--fs/nfs/inode.c2
-rw-r--r--fs/nfs/nfs4proc.c10
-rw-r--r--fs/nfs/nfs4xdr.c10
-rw-r--r--fs/nfs_common/grace.c6
-rw-r--r--fs/nfsd/filecache.c2
-rw-r--r--fs/nfsd/nfs4state.c1
-rw-r--r--fs/nfsd/nfssvc.c3
-rw-r--r--fs/notify/dnotify/dnotify.c2
-rw-r--r--fs/notify/fanotify/fanotify.c7
-rw-r--r--fs/notify/fsnotify.c107
-rw-r--r--fs/notify/inotify/inotify.h9
-rw-r--r--fs/notify/inotify/inotify_fsnotify.c51
-rw-r--r--fs/notify/inotify/inotify_user.c8
-rw-r--r--fs/open.c4
-rw-r--r--fs/overlayfs/file.c87
-rw-r--r--fs/proc/generic.c24
-rw-r--r--fs/proc/internal.h7
-rw-r--r--fs/proc/proc_net.c16
-rw-r--r--fs/proc_namespace.c9
-rw-r--r--fs/ubifs/auth.c4
-rw-r--r--fs/ubifs/io.c13
-rw-r--r--include/acpi/acpi_bus.h5
-rw-r--r--include/linux/fs.h3
-rw-r--r--include/linux/fsnotify_backend.h9
-rw-r--r--include/linux/iio/adc/ad_sigma_delta.h6
-rw-r--r--include/linux/mm_types.h8
-rw-r--r--include/linux/of.h1
-rw-r--r--include/linux/proc_fs.h8
-rw-r--r--include/linux/rmap.h1
-rw-r--r--include/linux/seq_buf.h2
-rw-r--r--include/linux/sunrpc/xprt.h1
-rw-r--r--include/linux/trace_seq.h4
-rw-r--r--include/media/v4l2-fwnode.h6
-rw-r--r--include/media/v4l2-mediabus.h2
-rw-r--r--include/rdma/uverbs_ioctl.h10
-rw-r--r--include/uapi/linux/android/binder.h1
-rw-r--r--include/uapi/linux/devlink.h2
-rw-r--r--include/xen/xenbus.h15
-rw-r--r--kernel/audit_fsnotify.c2
-rw-r--r--kernel/audit_tree.c2
-rw-r--r--kernel/audit_watch.c2
-rw-r--r--kernel/cgroup/cpuset.c33
-rw-r--r--kernel/fork.c1
-rw-r--r--kernel/irq/irqdomain.c11
-rw-r--r--kernel/rcu/tree.c118
-rw-r--r--kernel/sched/core.c6
-rw-r--r--kernel/sched/deadline.c5
-rw-r--r--kernel/sched/sched.h42
-rw-r--r--kernel/trace/bpf_trace.c8
-rw-r--r--kernel/trace/ring_buffer.c17
-rw-r--r--kernel/trace/trace.c19
-rw-r--r--kernel/trace/trace.h5
-rw-r--r--kernel/trace/trace_boot.c2
-rw-r--r--kernel/trace/trace_events.c2
-rw-r--r--kernel/trace/trace_kprobe.c9
-rw-r--r--kernel/trace/trace_selftest.c2
-rw-r--r--lib/dynamic_debug.c9
-rw-r--r--mm/gup.c220
-rw-r--r--mm/huge_memory.c2
-rw-r--r--mm/hugetlb.c1
-rw-r--r--mm/init-mm.c1
-rw-r--r--mm/madvise.c9
-rw-r--r--mm/memcontrol.c5
-rw-r--r--mm/memory-failure.c8
-rw-r--r--mm/memory.c13
-rw-r--r--mm/memory_hotplug.c2
-rw-r--r--mm/migrate.c8
-rw-r--r--mm/page_alloc.c13
-rw-r--r--mm/rmap.c9
-rw-r--r--mm/vmalloc.c6
-rw-r--r--mm/vmscan.c14
-rw-r--r--mm/z3fold.c174
-rw-r--r--net/bluetooth/hci_event.c5
-rw-r--r--net/bluetooth/hci_request.c12
-rw-r--r--net/bluetooth/sco.c5
-rw-r--r--net/mac80211/rx.c2
-rw-r--r--net/mac80211/vht.c14
-rw-r--r--net/sunrpc/debugfs.c4
-rw-r--r--net/sunrpc/sched.c65
-rw-r--r--net/sunrpc/xprt.c65
-rw-r--r--net/sunrpc/xprtrdma/module.c1
-rw-r--r--net/sunrpc/xprtrdma/rpc_rdma.c40
-rw-r--r--net/sunrpc/xprtrdma/transport.c1
-rw-r--r--net/sunrpc/xprtsock.c7
-rw-r--r--net/wireless/scan.c2
-rwxr-xr-x[-rw-r--r--]samples/bpf/lwt_len_hist.sh2
-rwxr-xr-x[-rw-r--r--]samples/bpf/test_lwt_bpf.sh0
-rw-r--r--samples/bpf/xdpsock_user.c2
-rwxr-xr-xscripts/checkpatch.pl2
-rw-r--r--scripts/kconfig/preprocess.c2
-rwxr-xr-xscripts/kernel-doc4
-rw-r--r--security/integrity/ima/ima_crypto.c20
-rw-r--r--security/selinux/hooks.c16
-rw-r--r--security/smack/smack_access.c5
-rw-r--r--sound/core/memalloc.c3
-rw-r--r--sound/core/oss/pcm_oss.c22
-rw-r--r--sound/pci/hda/hda_codec.c2
-rw-r--r--sound/pci/hda/hda_sysfs.c2
-rw-r--r--sound/pci/hda/patch_ca0132.c4
-rw-r--r--sound/pci/hda/patch_hdmi.c98
-rw-r--r--sound/pci/hda/patch_realtek.c46
-rw-r--r--sound/soc/amd/acp-da7219-max98357a.c9
-rw-r--r--sound/soc/amd/raven/pci-acp3x.c4
-rw-r--r--sound/soc/amd/renoir/rn-pci-acp3x.c32
-rw-r--r--sound/soc/atmel/Kconfig1
-rw-r--r--sound/soc/codecs/cros_ec_codec.c2
-rw-r--r--sound/soc/codecs/cx2072x.c4
-rw-r--r--sound/soc/codecs/max98390.c2
-rw-r--r--sound/soc/codecs/wm8994.c6
-rw-r--r--sound/soc/codecs/wm8997.c2
-rw-r--r--sound/soc/codecs/wm8998.c4
-rw-r--r--sound/soc/codecs/wm_adsp.c5
-rw-r--r--sound/soc/intel/Kconfig2
-rw-r--r--sound/soc/intel/boards/sof_maxim_common.c4
-rw-r--r--sound/soc/jz4740/jz4740-i2s.c4
-rw-r--r--sound/soc/meson/Kconfig2
-rw-r--r--sound/soc/qcom/Kconfig1
-rw-r--r--sound/soc/qcom/common.c13
-rw-r--r--sound/soc/qcom/lpass-hdmi.c2
-rw-r--r--sound/soc/qcom/qdsp6/q6afe-clocks.c1
-rw-r--r--sound/soc/soc-pcm.c2
-rw-r--r--sound/soc/sof/intel/Kconfig2
-rw-r--r--sound/soc/sunxi/sun4i-i2s.c4
-rw-r--r--sound/usb/card.c3
-rw-r--r--sound/usb/clock.c6
-rw-r--r--sound/usb/quirks.c1
-rw-r--r--tools/build/feature/Makefile2
-rw-r--r--tools/lib/bpf/libbpf.c12
-rw-r--r--tools/perf/tests/expand-cgroup.c2
-rw-r--r--tools/perf/tests/pmu-events.c2
-rw-r--r--tools/perf/util/parse-regs-options.c2
-rw-r--r--tools/perf/util/probe-file.c13
-rw-r--r--tools/testing/selftests/bpf/Makefile3
-rw-r--r--tools/testing/selftests/bpf/progs/local_storage.c24
-rw-r--r--tools/testing/selftests/bpf/progs/test_tunnel_kern.c42
-rw-r--r--tools/testing/selftests/bpf/test_sockmap.c36
-rwxr-xr-xtools/testing/selftests/bpf/test_tunnel.sh43
-rwxr-xr-xtools/testing/selftests/run_kselftest.sh2
-rw-r--r--tools/testing/selftests/seccomp/config1
726 files changed, 5417 insertions, 3421 deletions
diff --git a/Documentation/locking/seqlock.rst b/Documentation/locking/seqlock.rst
index a334b584f2b3..64405e5da63e 100644
--- a/Documentation/locking/seqlock.rst
+++ b/Documentation/locking/seqlock.rst
@@ -89,7 +89,7 @@ Read path::
89 89
90.. _seqcount_locktype_t: 90.. _seqcount_locktype_t:
91 91
92Sequence counters with associated locks (``seqcount_LOCKTYPE_t``) 92Sequence counters with associated locks (``seqcount_LOCKNAME_t``)
93----------------------------------------------------------------- 93-----------------------------------------------------------------
94 94
95As discussed at :ref:`seqcount_t`, sequence count write side critical 95As discussed at :ref:`seqcount_t`, sequence count write side critical
@@ -115,27 +115,26 @@ The following sequence counters with associated locks are defined:
115 - ``seqcount_mutex_t`` 115 - ``seqcount_mutex_t``
116 - ``seqcount_ww_mutex_t`` 116 - ``seqcount_ww_mutex_t``
117 117
118The plain seqcount read and write APIs branch out to the specific 118The sequence counter read and write APIs can take either a plain
119seqcount_LOCKTYPE_t implementation at compile-time. This avoids kernel 119seqcount_t or any of the seqcount_LOCKNAME_t variants above.
120API explosion per each new seqcount LOCKTYPE.
121 120
122Initialization (replace "LOCKTYPE" with one of the supported locks):: 121Initialization (replace "LOCKNAME" with one of the supported locks)::
123 122
124 /* dynamic */ 123 /* dynamic */
125 seqcount_LOCKTYPE_t foo_seqcount; 124 seqcount_LOCKNAME_t foo_seqcount;
126 seqcount_LOCKTYPE_init(&foo_seqcount, &lock); 125 seqcount_LOCKNAME_init(&foo_seqcount, &lock);
127 126
128 /* static */ 127 /* static */
129 static seqcount_LOCKTYPE_t foo_seqcount = 128 static seqcount_LOCKNAME_t foo_seqcount =
130 SEQCNT_LOCKTYPE_ZERO(foo_seqcount, &lock); 129 SEQCNT_LOCKNAME_ZERO(foo_seqcount, &lock);
131 130
132 /* C99 struct init */ 131 /* C99 struct init */
133 struct { 132 struct {
134 .seq = SEQCNT_LOCKTYPE_ZERO(foo.seq, &lock), 133 .seq = SEQCNT_LOCKNAME_ZERO(foo.seq, &lock),
135 } foo; 134 } foo;
136 135
137Write path: same as in :ref:`seqcount_t`, while running from a context 136Write path: same as in :ref:`seqcount_t`, while running from a context
138with the associated LOCKTYPE lock acquired. 137with the associated write serialization lock acquired.
139 138
140Read path: same as in :ref:`seqcount_t`. 139Read path: same as in :ref:`seqcount_t`.
141 140
diff --git a/Documentation/x86/topology.rst b/Documentation/x86/topology.rst
index e29739904e37..7f58010ea86a 100644
--- a/Documentation/x86/topology.rst
+++ b/Documentation/x86/topology.rst
@@ -41,6 +41,8 @@ Package
41Packages contain a number of cores plus shared resources, e.g. DRAM 41Packages contain a number of cores plus shared resources, e.g. DRAM
42controller, shared caches etc. 42controller, shared caches etc.
43 43
44Modern systems may also use the term 'Die' for package.
45
44AMD nomenclature for package is 'Node'. 46AMD nomenclature for package is 'Node'.
45 47
46Package-related topology information in the kernel: 48Package-related topology information in the kernel:
@@ -53,11 +55,18 @@ Package-related topology information in the kernel:
53 55
54 The number of dies in a package. This information is retrieved via CPUID. 56 The number of dies in a package. This information is retrieved via CPUID.
55 57
58 - cpuinfo_x86.cpu_die_id:
59
60 The physical ID of the die. This information is retrieved via CPUID.
61
56 - cpuinfo_x86.phys_proc_id: 62 - cpuinfo_x86.phys_proc_id:
57 63
58 The physical ID of the package. This information is retrieved via CPUID 64 The physical ID of the package. This information is retrieved via CPUID
59 and deduced from the APIC IDs of the cores in the package. 65 and deduced from the APIC IDs of the cores in the package.
60 66
67 Modern systems use this value for the socket. There may be multiple
68 packages within a socket. This value may differ from cpu_die_id.
69
61 - cpuinfo_x86.logical_proc_id: 70 - cpuinfo_x86.logical_proc_id:
62 71
63 The logical ID of the package. As we do not trust BIOSes to enumerate the 72 The logical ID of the package. As we do not trust BIOSes to enumerate the
diff --git a/Makefile b/Makefile
index a72bc404123d..1e50d6af932a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
1# SPDX-License-Identifier: GPL-2.0 1# SPDX-License-Identifier: GPL-2.0
2VERSION = 5 2VERSION = 5
3PATCHLEVEL = 10 3PATCHLEVEL = 10
4SUBLEVEL = 3 4SUBLEVEL = 4
5EXTRAVERSION = 5EXTRAVERSION =
6NAME = Kleptomaniac Octopus 6NAME = Kleptomaniac Octopus
7 7
diff --git a/arch/Kconfig b/arch/Kconfig
index ba4e966484ab..ddd4641446bd 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -143,6 +143,22 @@ config UPROBES
143 managed by the kernel and kept transparent to the probed 143 managed by the kernel and kept transparent to the probed
144 application. ) 144 application. )
145 145
146config HAVE_64BIT_ALIGNED_ACCESS
147 def_bool 64BIT && !HAVE_EFFICIENT_UNALIGNED_ACCESS
148 help
149 Some architectures require 64 bit accesses to be 64 bit
150 aligned, which also requires structs containing 64 bit values
151 to be 64 bit aligned too. This includes some 32 bit
152 architectures which can do 64 bit accesses, as well as 64 bit
153 architectures without unaligned access.
154
155 This symbol should be selected by an architecture if 64 bit
156 accesses are required to be 64 bit aligned in this way even
157 though it is not a 64 bit architecture.
158
159 See Documentation/unaligned-memory-access.txt for more
160 information on the topic of unaligned memory accesses.
161
146config HAVE_EFFICIENT_UNALIGNED_ACCESS 162config HAVE_EFFICIENT_UNALIGNED_ACCESS
147 bool 163 bool
148 help 164 help
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index caa27322a0ab..3a392983ac07 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -116,7 +116,7 @@
116 /* 116 /*
117 * Debug print of the final appended DTB location 117 * Debug print of the final appended DTB location
118 */ 118 */
119 .macro dbgadtb, begin, end 119 .macro dbgadtb, begin, size
120#ifdef DEBUG 120#ifdef DEBUG
121 kputc #'D' 121 kputc #'D'
122 kputc #'T' 122 kputc #'T'
@@ -129,7 +129,7 @@
129 kputc #'(' 129 kputc #'('
130 kputc #'0' 130 kputc #'0'
131 kputc #'x' 131 kputc #'x'
132 kphex \end, 8 /* End of appended DTB */ 132 kphex \size, 8 /* Size of appended DTB */
133 kputc #')' 133 kputc #')'
134 kputc #'\n' 134 kputc #'\n'
135#endif 135#endif
diff --git a/arch/arm/boot/dts/armada-xp-98dx3236.dtsi b/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
index 654648b05c7c..aeccedd12574 100644
--- a/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
+++ b/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
@@ -266,11 +266,6 @@
266 reg = <0x11000 0x100>; 266 reg = <0x11000 0x100>;
267}; 267};
268 268
269&i2c1 {
270 compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
271 reg = <0x11100 0x100>;
272};
273
274&mpic { 269&mpic {
275 reg = <0x20a00 0x2d0>, <0x21070 0x58>; 270 reg = <0x20a00 0x2d0>, <0x21070 0x58>;
276}; 271};
diff --git a/arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dts b/arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dts
index 2d44d9ad4e40..e6ad821a8635 100644
--- a/arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-facebook-tiogapass.dts
@@ -82,11 +82,6 @@
82 status = "okay"; 82 status = "okay";
83}; 83};
84 84
85&vuart {
86 // VUART Host Console
87 status = "okay";
88};
89
90&uart1 { 85&uart1 {
91 // Host Console 86 // Host Console
92 status = "okay"; 87 status = "okay";
diff --git a/arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts b/arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts
index 1deb30ec912c..6e9baf3bba53 100644
--- a/arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-intel-s2600wf.dts
@@ -22,9 +22,9 @@
22 #size-cells = <1>; 22 #size-cells = <1>;
23 ranges; 23 ranges;
24 24
25 vga_memory: framebuffer@7f000000 { 25 vga_memory: framebuffer@9f000000 {
26 no-map; 26 no-map;
27 reg = <0x7f000000 0x01000000>; 27 reg = <0x9f000000 0x01000000>; /* 16M */
28 }; 28 };
29 }; 29 };
30 30
diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dts b/arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dts
index 4d070d6ba09f..e86c22ce6d12 100644
--- a/arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dts
@@ -26,7 +26,7 @@
26 #size-cells = <1>; 26 #size-cells = <1>;
27 ranges; 27 ranges;
28 28
29 flash_memory: region@ba000000 { 29 flash_memory: region@b8000000 {
30 no-map; 30 no-map;
31 reg = <0xb8000000 0x4000000>; /* 64M */ 31 reg = <0xb8000000 0x4000000>; /* 64M */
32 }; 32 };
diff --git a/arch/arm/boot/dts/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed-g6.dtsi
index b58220a49cbd..bf97aaad7be9 100644
--- a/arch/arm/boot/dts/aspeed-g6.dtsi
+++ b/arch/arm/boot/dts/aspeed-g6.dtsi
@@ -357,7 +357,7 @@
357 #gpio-cells = <2>; 357 #gpio-cells = <2>;
358 gpio-controller; 358 gpio-controller;
359 compatible = "aspeed,ast2600-gpio"; 359 compatible = "aspeed,ast2600-gpio";
360 reg = <0x1e780000 0x800>; 360 reg = <0x1e780000 0x400>;
361 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 361 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
362 gpio-ranges = <&pinctrl 0 0 208>; 362 gpio-ranges = <&pinctrl 0 0 208>;
363 ngpios = <208>; 363 ngpios = <208>;
diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
index eae28b82c7fd..73b6b1f89de9 100644
--- a/arch/arm/boot/dts/at91-sam9x60ek.dts
+++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
@@ -569,11 +569,14 @@
569 atmel,pins = <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 569 atmel,pins = <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
570 }; 570 };
571 }; 571 };
572}; /* pinctrl */
573 572
574&pmc { 573 usb1 {
575 atmel,osc-bypass; 574 pinctrl_usb_default: usb_default {
576}; 575 atmel,pins = <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
576 AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
577 };
578 };
579}; /* pinctrl */
577 580
578&pwm0 { 581&pwm0 {
579 pinctrl-names = "default"; 582 pinctrl-names = "default";
@@ -684,6 +687,8 @@
684 atmel,vbus-gpio = <0 687 atmel,vbus-gpio = <0
685 &pioD 15 GPIO_ACTIVE_HIGH 688 &pioD 15 GPIO_ACTIVE_HIGH
686 &pioD 16 GPIO_ACTIVE_HIGH>; 689 &pioD 16 GPIO_ACTIVE_HIGH>;
690 pinctrl-names = "default";
691 pinctrl-0 = <&pinctrl_usb_default>;
687 status = "okay"; 692 status = "okay";
688}; 693};
689 694
diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
index cf13632edd44..5179258f9247 100644
--- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
@@ -242,6 +242,11 @@
242 atmel,pins = 242 atmel,pins =
243 <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PE9, conflicts with A9 */ 243 <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PE9, conflicts with A9 */
244 }; 244 };
245 pinctrl_usb_default: usb_default {
246 atmel,pins =
247 <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
248 AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
249 };
245 }; 250 };
246 }; 251 };
247 }; 252 };
@@ -259,6 +264,8 @@
259 &pioE 3 GPIO_ACTIVE_LOW 264 &pioE 3 GPIO_ACTIVE_LOW
260 &pioE 4 GPIO_ACTIVE_LOW 265 &pioE 4 GPIO_ACTIVE_LOW
261 >; 266 >;
267 pinctrl-names = "default";
268 pinctrl-0 = <&pinctrl_usb_default>;
262 status = "okay"; 269 status = "okay";
263 }; 270 };
264 271
diff --git a/arch/arm/boot/dts/at91-sama5d4_xplained.dts b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
index e5974a17374c..0b3ad1b580b8 100644
--- a/arch/arm/boot/dts/at91-sama5d4_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
@@ -134,6 +134,11 @@
134 atmel,pins = 134 atmel,pins =
135 <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; 135 <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;
136 }; 136 };
137 pinctrl_usb_default: usb_default {
138 atmel,pins =
139 <AT91_PIOE 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
140 AT91_PIOE 14 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
141 };
137 pinctrl_key_gpio: key_gpio_0 { 142 pinctrl_key_gpio: key_gpio_0 {
138 atmel,pins = 143 atmel,pins =
139 <AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; 144 <AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
@@ -159,6 +164,8 @@
159 &pioE 11 GPIO_ACTIVE_HIGH 164 &pioE 11 GPIO_ACTIVE_HIGH
160 &pioE 14 GPIO_ACTIVE_HIGH 165 &pioE 14 GPIO_ACTIVE_HIGH
161 >; 166 >;
167 pinctrl-names = "default";
168 pinctrl-0 = <&pinctrl_usb_default>;
162 status = "okay"; 169 status = "okay";
163 }; 170 };
164 171
diff --git a/arch/arm/boot/dts/at91sam9rl.dtsi b/arch/arm/boot/dts/at91sam9rl.dtsi
index 5653e70c84b4..36a42a9fe195 100644
--- a/arch/arm/boot/dts/at91sam9rl.dtsi
+++ b/arch/arm/boot/dts/at91sam9rl.dtsi
@@ -282,23 +282,26 @@
282 atmel,adc-use-res = "highres"; 282 atmel,adc-use-res = "highres";
283 283
284 trigger0 { 284 trigger0 {
285 trigger-name = "timer-counter-0"; 285 trigger-name = "external-rising";
286 trigger-value = <0x1>; 286 trigger-value = <0x1>;
287 trigger-external;
287 }; 288 };
289
288 trigger1 { 290 trigger1 {
289 trigger-name = "timer-counter-1"; 291 trigger-name = "external-falling";
290 trigger-value = <0x3>; 292 trigger-value = <0x2>;
293 trigger-external;
291 }; 294 };
292 295
293 trigger2 { 296 trigger2 {
294 trigger-name = "timer-counter-2"; 297 trigger-name = "external-any";
295 trigger-value = <0x5>; 298 trigger-value = <0x3>;
299 trigger-external;
296 }; 300 };
297 301
298 trigger3 { 302 trigger3 {
299 trigger-name = "external"; 303 trigger-name = "continuous";
300 trigger-value = <0x13>; 304 trigger-value = <0x6>;
301 trigger-external;
302 }; 305 };
303 }; 306 };
304 307
diff --git a/arch/arm/boot/dts/meson8b-odroidc1.dts b/arch/arm/boot/dts/meson8b-odroidc1.dts
index 0c26467de4d0..5963566dbcc9 100644
--- a/arch/arm/boot/dts/meson8b-odroidc1.dts
+++ b/arch/arm/boot/dts/meson8b-odroidc1.dts
@@ -224,7 +224,7 @@
224 reg = <0>; 224 reg = <0>;
225 225
226 reset-assert-us = <10000>; 226 reset-assert-us = <10000>;
227 reset-deassert-us = <30000>; 227 reset-deassert-us = <80000>;
228 reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>; 228 reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
229 229
230 interrupt-parent = <&gpio_intc>; 230 interrupt-parent = <&gpio_intc>;
diff --git a/arch/arm/boot/dts/meson8m2-mxiii-plus.dts b/arch/arm/boot/dts/meson8m2-mxiii-plus.dts
index cc498191ddd1..8f4eb1ed4581 100644
--- a/arch/arm/boot/dts/meson8m2-mxiii-plus.dts
+++ b/arch/arm/boot/dts/meson8m2-mxiii-plus.dts
@@ -81,7 +81,7 @@
81 reg = <0>; 81 reg = <0>;
82 82
83 reset-assert-us = <10000>; 83 reset-assert-us = <10000>;
84 reset-deassert-us = <30000>; 84 reset-deassert-us = <80000>;
85 reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>; 85 reset-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_LOW>;
86 }; 86 };
87 }; 87 };
diff --git a/arch/arm/boot/dts/omap4-panda-es.dts b/arch/arm/boot/dts/omap4-panda-es.dts
index cfa85aa3da08..6afa8fd7c412 100644
--- a/arch/arm/boot/dts/omap4-panda-es.dts
+++ b/arch/arm/boot/dts/omap4-panda-es.dts
@@ -46,7 +46,7 @@
46 46
47 button_pins: pinmux_button_pins { 47 button_pins: pinmux_button_pins {
48 pinctrl-single,pins = < 48 pinctrl-single,pins = <
49 OMAP4_IOPAD(0x11b, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio_113 */ 49 OMAP4_IOPAD(0x0fc, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio_113 */
50 >; 50 >;
51 }; 51 };
52}; 52};
diff --git a/arch/arm/boot/dts/sama5d2.dtsi b/arch/arm/boot/dts/sama5d2.dtsi
index 2ddc85dff8ce..2c4952427296 100644
--- a/arch/arm/boot/dts/sama5d2.dtsi
+++ b/arch/arm/boot/dts/sama5d2.dtsi
@@ -656,6 +656,7 @@
656 clocks = <&pmc PMC_TYPE_PERIPHERAL 51>; 656 clocks = <&pmc PMC_TYPE_PERIPHERAL 51>;
657 #address-cells = <1>; 657 #address-cells = <1>;
658 #size-cells = <1>; 658 #size-cells = <1>;
659 no-memory-wc;
659 ranges = <0 0xf8044000 0x1420>; 660 ranges = <0 0xf8044000 0x1420>;
660 }; 661 };
661 662
@@ -724,7 +725,7 @@
724 725
725 can0: can@f8054000 { 726 can0: can@f8054000 {
726 compatible = "bosch,m_can"; 727 compatible = "bosch,m_can";
727 reg = <0xf8054000 0x4000>, <0x210000 0x4000>; 728 reg = <0xf8054000 0x4000>, <0x210000 0x1c00>;
728 reg-names = "m_can", "message_ram"; 729 reg-names = "m_can", "message_ram";
729 interrupts = <56 IRQ_TYPE_LEVEL_HIGH 7>, 730 interrupts = <56 IRQ_TYPE_LEVEL_HIGH 7>,
730 <64 IRQ_TYPE_LEVEL_HIGH 7>; 731 <64 IRQ_TYPE_LEVEL_HIGH 7>;
@@ -1130,7 +1131,7 @@
1130 1131
1131 can1: can@fc050000 { 1132 can1: can@fc050000 {
1132 compatible = "bosch,m_can"; 1133 compatible = "bosch,m_can";
1133 reg = <0xfc050000 0x4000>, <0x210000 0x4000>; 1134 reg = <0xfc050000 0x4000>, <0x210000 0x3800>;
1134 reg-names = "m_can", "message_ram"; 1135 reg-names = "m_can", "message_ram";
1135 interrupts = <57 IRQ_TYPE_LEVEL_HIGH 7>, 1136 interrupts = <57 IRQ_TYPE_LEVEL_HIGH 7>,
1136 <65 IRQ_TYPE_LEVEL_HIGH 7>; 1137 <65 IRQ_TYPE_LEVEL_HIGH 7>;
@@ -1140,7 +1141,7 @@
1140 assigned-clocks = <&pmc PMC_TYPE_GCK 57>; 1141 assigned-clocks = <&pmc PMC_TYPE_GCK 57>;
1141 assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>; 1142 assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>;
1142 assigned-clock-rates = <40000000>; 1143 assigned-clock-rates = <40000000>;
1143 bosch,mram-cfg = <0x1100 0 0 64 0 0 32 32>; 1144 bosch,mram-cfg = <0x1c00 0 0 64 0 0 32 32>;
1144 status = "disabled"; 1145 status = "disabled";
1145 }; 1146 };
1146 1147
diff --git a/arch/arm/boot/dts/tegra20-ventana.dts b/arch/arm/boot/dts/tegra20-ventana.dts
index b158771ac0b7..055334ae3d28 100644
--- a/arch/arm/boot/dts/tegra20-ventana.dts
+++ b/arch/arm/boot/dts/tegra20-ventana.dts
@@ -3,6 +3,7 @@
3 3
4#include <dt-bindings/input/input.h> 4#include <dt-bindings/input/input.h>
5#include "tegra20.dtsi" 5#include "tegra20.dtsi"
6#include "tegra20-cpu-opp.dtsi"
6 7
7/ { 8/ {
8 model = "NVIDIA Tegra20 Ventana evaluation board"; 9 model = "NVIDIA Tegra20 Ventana evaluation board";
@@ -592,6 +593,16 @@
592 #clock-cells = <0>; 593 #clock-cells = <0>;
593 }; 594 };
594 595
596 cpus {
597 cpu0: cpu@0 {
598 operating-points-v2 = <&cpu0_opp_table>;
599 };
600
601 cpu@1 {
602 operating-points-v2 = <&cpu0_opp_table>;
603 };
604 };
605
595 gpio-keys { 606 gpio-keys {
596 compatible = "gpio-keys"; 607 compatible = "gpio-keys";
597 608
diff --git a/arch/arm/crypto/aes-ce-core.S b/arch/arm/crypto/aes-ce-core.S
index 4d1707388d94..312428d83eed 100644
--- a/arch/arm/crypto/aes-ce-core.S
+++ b/arch/arm/crypto/aes-ce-core.S
@@ -386,20 +386,32 @@ ENTRY(ce_aes_ctr_encrypt)
386.Lctrloop4x: 386.Lctrloop4x:
387 subs r4, r4, #4 387 subs r4, r4, #4
388 bmi .Lctr1x 388 bmi .Lctr1x
389 add r6, r6, #1 389
390 /*
391 * NOTE: the sequence below has been carefully tweaked to avoid
392 * a silicon erratum that exists in Cortex-A57 (#1742098) and
393 * Cortex-A72 (#1655431) cores, where AESE/AESMC instruction pairs
394 * may produce an incorrect result if they take their input from a
395 * register of which a single 32-bit lane has been updated the last
396 * time it was modified. To work around this, the lanes of registers
397 * q0-q3 below are not manipulated individually, and the different
398 * counter values are prepared by successive manipulations of q7.
399 */
400 add ip, r6, #1
390 vmov q0, q7 401 vmov q0, q7
402 rev ip, ip
403 add lr, r6, #2
404 vmov s31, ip @ set lane 3 of q1 via q7
405 add ip, r6, #3
406 rev lr, lr
391 vmov q1, q7 407 vmov q1, q7
392 rev ip, r6 408 vmov s31, lr @ set lane 3 of q2 via q7
393 add r6, r6, #1 409 rev ip, ip
394 vmov q2, q7 410 vmov q2, q7
395 vmov s7, ip 411 vmov s31, ip @ set lane 3 of q3 via q7
396 rev ip, r6 412 add r6, r6, #4
397 add r6, r6, #1
398 vmov q3, q7 413 vmov q3, q7
399 vmov s11, ip 414
400 rev ip, r6
401 add r6, r6, #1
402 vmov s15, ip
403 vld1.8 {q4-q5}, [r1]! 415 vld1.8 {q4-q5}, [r1]!
404 vld1.8 {q6}, [r1]! 416 vld1.8 {q6}, [r1]!
405 vld1.8 {q15}, [r1]! 417 vld1.8 {q15}, [r1]!
diff --git a/arch/arm/crypto/aes-neonbs-glue.c b/arch/arm/crypto/aes-neonbs-glue.c
index bda8bf17631e..f70af1d0514b 100644
--- a/arch/arm/crypto/aes-neonbs-glue.c
+++ b/arch/arm/crypto/aes-neonbs-glue.c
@@ -19,7 +19,7 @@ MODULE_AUTHOR("Ard Biesheuvel <ard.biesheuvel@linaro.org>");
19MODULE_LICENSE("GPL v2"); 19MODULE_LICENSE("GPL v2");
20 20
21MODULE_ALIAS_CRYPTO("ecb(aes)"); 21MODULE_ALIAS_CRYPTO("ecb(aes)");
22MODULE_ALIAS_CRYPTO("cbc(aes)"); 22MODULE_ALIAS_CRYPTO("cbc(aes)-all");
23MODULE_ALIAS_CRYPTO("ctr(aes)"); 23MODULE_ALIAS_CRYPTO("ctr(aes)");
24MODULE_ALIAS_CRYPTO("xts(aes)"); 24MODULE_ALIAS_CRYPTO("xts(aes)");
25 25
@@ -191,7 +191,8 @@ static int cbc_init(struct crypto_skcipher *tfm)
191 struct aesbs_cbc_ctx *ctx = crypto_skcipher_ctx(tfm); 191 struct aesbs_cbc_ctx *ctx = crypto_skcipher_ctx(tfm);
192 unsigned int reqsize; 192 unsigned int reqsize;
193 193
194 ctx->enc_tfm = crypto_alloc_skcipher("cbc(aes)", 0, CRYPTO_ALG_ASYNC); 194 ctx->enc_tfm = crypto_alloc_skcipher("cbc(aes)", 0, CRYPTO_ALG_ASYNC |
195 CRYPTO_ALG_NEED_FALLBACK);
195 if (IS_ERR(ctx->enc_tfm)) 196 if (IS_ERR(ctx->enc_tfm))
196 return PTR_ERR(ctx->enc_tfm); 197 return PTR_ERR(ctx->enc_tfm);
197 198
@@ -441,7 +442,8 @@ static struct skcipher_alg aes_algs[] = { {
441 .base.cra_blocksize = AES_BLOCK_SIZE, 442 .base.cra_blocksize = AES_BLOCK_SIZE,
442 .base.cra_ctxsize = sizeof(struct aesbs_cbc_ctx), 443 .base.cra_ctxsize = sizeof(struct aesbs_cbc_ctx),
443 .base.cra_module = THIS_MODULE, 444 .base.cra_module = THIS_MODULE,
444 .base.cra_flags = CRYPTO_ALG_INTERNAL, 445 .base.cra_flags = CRYPTO_ALG_INTERNAL |
446 CRYPTO_ALG_NEED_FALLBACK,
445 447
446 .min_keysize = AES_MIN_KEY_SIZE, 448 .min_keysize = AES_MIN_KEY_SIZE,
447 .max_keysize = AES_MAX_KEY_SIZE, 449 .max_keysize = AES_MAX_KEY_SIZE,
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index 55a47df04773..1c9e6d1452c5 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -252,31 +252,10 @@ __und_svc:
252#else 252#else
253 svc_entry 253 svc_entry
254#endif 254#endif
255 @
256 @ call emulation code, which returns using r9 if it has emulated
257 @ the instruction, or the more conventional lr if we are to treat
258 @ this as a real undefined instruction
259 @
260 @ r0 - instruction
261 @
262#ifndef CONFIG_THUMB2_KERNEL
263 ldr r0, [r4, #-4]
264#else
265 mov r1, #2
266 ldrh r0, [r4, #-2] @ Thumb instruction at LR - 2
267 cmp r0, #0xe800 @ 32-bit instruction if xx >= 0
268 blo __und_svc_fault
269 ldrh r9, [r4] @ bottom 16 bits
270 add r4, r4, #2
271 str r4, [sp, #S_PC]
272 orr r0, r9, r0, lsl #16
273#endif
274 badr r9, __und_svc_finish
275 mov r2, r4
276 bl call_fpe
277 255
278 mov r1, #4 @ PC correction to apply 256 mov r1, #4 @ PC correction to apply
279__und_svc_fault: 257 THUMB( tst r5, #PSR_T_BIT ) @ exception taken in Thumb mode?
258 THUMB( movne r1, #2 ) @ if so, fix up PC correction
280 mov r0, sp @ struct pt_regs *regs 259 mov r0, sp @ struct pt_regs *regs
281 bl __und_fault 260 bl __und_fault
282 261
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index f8904227e7fd..98c1e68bdfcb 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -672,11 +672,7 @@ ARM_BE8(rev16 ip, ip)
672 bcc 1b 672 bcc 1b
673 bx lr 673 bx lr
674#else 674#else
675#ifdef CONFIG_CPU_ENDIAN_BE8
676 moveq r0, #0x00004000 @ set bit 22, mov to mvn instruction
677#else
678 moveq r0, #0x400000 @ set bit 22, mov to mvn instruction 675 moveq r0, #0x400000 @ set bit 22, mov to mvn instruction
679#endif
680 b 2f 676 b 2f
6811: ldr ip, [r7, r3] 6771: ldr ip, [r7, r3]
682#ifdef CONFIG_CPU_ENDIAN_BE8 678#ifdef CONFIG_CPU_ENDIAN_BE8
@@ -685,7 +681,7 @@ ARM_BE8(rev16 ip, ip)
685 tst ip, #0x000f0000 @ check the rotation field 681 tst ip, #0x000f0000 @ check the rotation field
686 orrne ip, ip, r6, lsl #24 @ mask in offset bits 31-24 682 orrne ip, ip, r6, lsl #24 @ mask in offset bits 31-24
687 biceq ip, ip, #0x00004000 @ clear bit 22 683 biceq ip, ip, #0x00004000 @ clear bit 22
688 orreq ip, ip, r0 @ mask in offset bits 7-0 684 orreq ip, ip, r0, ror #8 @ mask in offset bits 7-0
689#else 685#else
690 bic ip, ip, #0x000000ff 686 bic ip, ip, #0x000000ff
691 tst ip, #0xf00 @ check the rotation field 687 tst ip, #0xf00 @ check the rotation field
diff --git a/arch/arm/vfp/entry.S b/arch/arm/vfp/entry.S
index 0186cf9da890..27b0a1f27fbd 100644
--- a/arch/arm/vfp/entry.S
+++ b/arch/arm/vfp/entry.S
@@ -37,20 +37,3 @@ ENDPROC(vfp_null_entry)
37 .align 2 37 .align 2
38.LCvfp: 38.LCvfp:
39 .word vfp_vector 39 .word vfp_vector
40
41@ This code is called if the VFP does not exist. It needs to flag the
42@ failure to the VFP initialisation code.
43
44 __INIT
45ENTRY(vfp_testing_entry)
46 dec_preempt_count_ti r10, r4
47 ldr r0, VFP_arch_address
48 str r0, [r0] @ set to non-zero value
49 ret r9 @ we have handled the fault
50ENDPROC(vfp_testing_entry)
51
52 .align 2
53VFP_arch_address:
54 .word VFP_arch
55
56 __FINIT
diff --git a/arch/arm/vfp/vfphw.S b/arch/arm/vfp/vfphw.S
index 4fcff9f59947..d5837bf05a9a 100644
--- a/arch/arm/vfp/vfphw.S
+++ b/arch/arm/vfp/vfphw.S
@@ -79,11 +79,6 @@ ENTRY(vfp_support_entry)
79 DBGSTR3 "instr %08x pc %08x state %p", r0, r2, r10 79 DBGSTR3 "instr %08x pc %08x state %p", r0, r2, r10
80 80
81 .fpu vfpv2 81 .fpu vfpv2
82 ldr r3, [sp, #S_PSR] @ Neither lazy restore nor FP exceptions
83 and r3, r3, #MODE_MASK @ are supported in kernel mode
84 teq r3, #USR_MODE
85 bne vfp_kmode_exception @ Returns through lr
86
87 VFPFMRX r1, FPEXC @ Is the VFP enabled? 82 VFPFMRX r1, FPEXC @ Is the VFP enabled?
88 DBGSTR1 "fpexc %08x", r1 83 DBGSTR1 "fpexc %08x", r1
89 tst r1, #FPEXC_EN 84 tst r1, #FPEXC_EN
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c
index 8c9e7f9f0277..2cb355c1b5b7 100644
--- a/arch/arm/vfp/vfpmodule.c
+++ b/arch/arm/vfp/vfpmodule.c
@@ -23,6 +23,7 @@
23#include <asm/cputype.h> 23#include <asm/cputype.h>
24#include <asm/system_info.h> 24#include <asm/system_info.h>
25#include <asm/thread_notify.h> 25#include <asm/thread_notify.h>
26#include <asm/traps.h>
26#include <asm/vfp.h> 27#include <asm/vfp.h>
27 28
28#include "vfpinstr.h" 29#include "vfpinstr.h"
@@ -31,7 +32,6 @@
31/* 32/*
32 * Our undef handlers (in entry.S) 33 * Our undef handlers (in entry.S)
33 */ 34 */
34asmlinkage void vfp_testing_entry(void);
35asmlinkage void vfp_support_entry(void); 35asmlinkage void vfp_support_entry(void);
36asmlinkage void vfp_null_entry(void); 36asmlinkage void vfp_null_entry(void);
37 37
@@ -42,7 +42,7 @@ asmlinkage void (*vfp_vector)(void) = vfp_null_entry;
42 * Used in startup: set to non-zero if VFP checks fail 42 * Used in startup: set to non-zero if VFP checks fail
43 * After startup, holds VFP architecture 43 * After startup, holds VFP architecture
44 */ 44 */
45unsigned int VFP_arch; 45static unsigned int __initdata VFP_arch;
46 46
47/* 47/*
48 * The pointer to the vfpstate structure of the thread which currently 48 * The pointer to the vfpstate structure of the thread which currently
@@ -436,7 +436,7 @@ static void vfp_enable(void *unused)
436 * present on all CPUs within a SMP complex. Needs to be called prior to 436 * present on all CPUs within a SMP complex. Needs to be called prior to
437 * vfp_init(). 437 * vfp_init().
438 */ 438 */
439void vfp_disable(void) 439void __init vfp_disable(void)
440{ 440{
441 if (VFP_arch) { 441 if (VFP_arch) {
442 pr_debug("%s: should be called prior to vfp_init\n", __func__); 442 pr_debug("%s: should be called prior to vfp_init\n", __func__);
@@ -642,7 +642,9 @@ static int vfp_starting_cpu(unsigned int unused)
642 return 0; 642 return 0;
643} 643}
644 644
645void vfp_kmode_exception(void) 645#ifdef CONFIG_KERNEL_MODE_NEON
646
647static int vfp_kmode_exception(struct pt_regs *regs, unsigned int instr)
646{ 648{
647 /* 649 /*
648 * If we reach this point, a floating point exception has been raised 650 * If we reach this point, a floating point exception has been raised
@@ -660,9 +662,51 @@ void vfp_kmode_exception(void)
660 pr_crit("BUG: unsupported FP instruction in kernel mode\n"); 662 pr_crit("BUG: unsupported FP instruction in kernel mode\n");
661 else 663 else
662 pr_crit("BUG: FP instruction issued in kernel mode with FP unit disabled\n"); 664 pr_crit("BUG: FP instruction issued in kernel mode with FP unit disabled\n");
665 pr_crit("FPEXC == 0x%08x\n", fmrx(FPEXC));
666 return 1;
663} 667}
664 668
665#ifdef CONFIG_KERNEL_MODE_NEON 669static struct undef_hook vfp_kmode_exception_hook[] = {{
670 .instr_mask = 0xfe000000,
671 .instr_val = 0xf2000000,
672 .cpsr_mask = MODE_MASK | PSR_T_BIT,
673 .cpsr_val = SVC_MODE,
674 .fn = vfp_kmode_exception,
675}, {
676 .instr_mask = 0xff100000,
677 .instr_val = 0xf4000000,
678 .cpsr_mask = MODE_MASK | PSR_T_BIT,
679 .cpsr_val = SVC_MODE,
680 .fn = vfp_kmode_exception,
681}, {
682 .instr_mask = 0xef000000,
683 .instr_val = 0xef000000,
684 .cpsr_mask = MODE_MASK | PSR_T_BIT,
685 .cpsr_val = SVC_MODE | PSR_T_BIT,
686 .fn = vfp_kmode_exception,
687}, {
688 .instr_mask = 0xff100000,
689 .instr_val = 0xf9000000,
690 .cpsr_mask = MODE_MASK | PSR_T_BIT,
691 .cpsr_val = SVC_MODE | PSR_T_BIT,
692 .fn = vfp_kmode_exception,
693}, {
694 .instr_mask = 0x0c000e00,
695 .instr_val = 0x0c000a00,
696 .cpsr_mask = MODE_MASK,
697 .cpsr_val = SVC_MODE,
698 .fn = vfp_kmode_exception,
699}};
700
701static int __init vfp_kmode_exception_hook_init(void)
702{
703 int i;
704
705 for (i = 0; i < ARRAY_SIZE(vfp_kmode_exception_hook); i++)
706 register_undef_hook(&vfp_kmode_exception_hook[i]);
707 return 0;
708}
709subsys_initcall(vfp_kmode_exception_hook_init);
666 710
667/* 711/*
668 * Kernel-side NEON support functions 712 * Kernel-side NEON support functions
@@ -708,6 +752,21 @@ EXPORT_SYMBOL(kernel_neon_end);
708 752
709#endif /* CONFIG_KERNEL_MODE_NEON */ 753#endif /* CONFIG_KERNEL_MODE_NEON */
710 754
755static int __init vfp_detect(struct pt_regs *regs, unsigned int instr)
756{
757 VFP_arch = UINT_MAX; /* mark as not present */
758 regs->ARM_pc += 4;
759 return 0;
760}
761
762static struct undef_hook vfp_detect_hook __initdata = {
763 .instr_mask = 0x0c000e00,
764 .instr_val = 0x0c000a00,
765 .cpsr_mask = MODE_MASK,
766 .cpsr_val = SVC_MODE,
767 .fn = vfp_detect,
768};
769
711/* 770/*
712 * VFP support code initialisation. 771 * VFP support code initialisation.
713 */ 772 */
@@ -728,10 +787,11 @@ static int __init vfp_init(void)
728 * The handler is already setup to just log calls, so 787 * The handler is already setup to just log calls, so
729 * we just need to read the VFPSID register. 788 * we just need to read the VFPSID register.
730 */ 789 */
731 vfp_vector = vfp_testing_entry; 790 register_undef_hook(&vfp_detect_hook);
732 barrier(); 791 barrier();
733 vfpsid = fmrx(FPSID); 792 vfpsid = fmrx(FPSID);
734 barrier(); 793 barrier();
794 unregister_undef_hook(&vfp_detect_hook);
735 vfp_vector = vfp_null_entry; 795 vfp_vector = vfp_null_entry;
736 796
737 pr_info("VFP support v0.3: "); 797 pr_info("VFP support v0.3: ");
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
index 1b07c8c06eac..463a72d6bb7c 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
@@ -340,7 +340,7 @@
340 eee-broken-1000t; 340 eee-broken-1000t;
341 341
342 reset-assert-us = <10000>; 342 reset-assert-us = <10000>;
343 reset-deassert-us = <30000>; 343 reset-deassert-us = <80000>;
344 reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; 344 reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
345 345
346 interrupt-parent = <&gpio_intc>; 346 interrupt-parent = <&gpio_intc>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
index 6982632ae646..39a09661c5f6 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi
@@ -413,7 +413,7 @@
413 max-speed = <1000>; 413 max-speed = <1000>;
414 414
415 reset-assert-us = <10000>; 415 reset-assert-us = <10000>;
416 reset-deassert-us = <30000>; 416 reset-deassert-us = <80000>;
417 reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; 417 reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
418 418
419 interrupt-parent = <&gpio_intc>; 419 interrupt-parent = <&gpio_intc>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi
index 2802ddbb83ac..feb088504740 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi
@@ -264,7 +264,7 @@
264 max-speed = <1000>; 264 max-speed = <1000>;
265 265
266 reset-assert-us = <10000>; 266 reset-assert-us = <10000>;
267 reset-deassert-us = <30000>; 267 reset-deassert-us = <80000>;
268 reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; 268 reset-gpios = <&gpio GPIOZ_15 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
269 269
270 interrupt-parent = <&gpio_intc>; 270 interrupt-parent = <&gpio_intc>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
index 7be3e354093b..de27beafe9db 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
@@ -165,7 +165,7 @@
165 reg = <0>; 165 reg = <0>;
166 166
167 reset-assert-us = <10000>; 167 reset-assert-us = <10000>;
168 reset-deassert-us = <30000>; 168 reset-deassert-us = <80000>;
169 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 169 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
170 170
171 interrupt-parent = <&gpio_intc>; 171 interrupt-parent = <&gpio_intc>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
index 70fcfb7b0683..50de1d01e565 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
@@ -200,7 +200,7 @@
200 reg = <0>; 200 reg = <0>;
201 201
202 reset-assert-us = <10000>; 202 reset-assert-us = <10000>;
203 reset-deassert-us = <30000>; 203 reset-deassert-us = <80000>;
204 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 204 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
205 205
206 interrupt-parent = <&gpio_intc>; 206 interrupt-parent = <&gpio_intc>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
index 222ee8069cfa..9b0b81f191f1 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
@@ -126,7 +126,7 @@
126 reg = <0>; 126 reg = <0>;
127 127
128 reset-assert-us = <10000>; 128 reset-assert-us = <10000>;
129 reset-deassert-us = <30000>; 129 reset-deassert-us = <80000>;
130 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 130 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
131 131
132 interrupt-parent = <&gpio_intc>; 132 interrupt-parent = <&gpio_intc>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
index ad812854a107..a350fee1264d 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
@@ -147,7 +147,7 @@
147 reg = <0>; 147 reg = <0>;
148 148
149 reset-assert-us = <10000>; 149 reset-assert-us = <10000>;
150 reset-deassert-us = <30000>; 150 reset-deassert-us = <80000>;
151 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 151 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
152 152
153 interrupt-parent = <&gpio_intc>; 153 interrupt-parent = <&gpio_intc>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
index b08c4537f260..b2ab05c22090 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
@@ -82,7 +82,7 @@
82 82
83 /* External PHY reset is shared with internal PHY Led signal */ 83 /* External PHY reset is shared with internal PHY Led signal */
84 reset-assert-us = <10000>; 84 reset-assert-us = <10000>;
85 reset-deassert-us = <30000>; 85 reset-deassert-us = <80000>;
86 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 86 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
87 87
88 interrupt-parent = <&gpio_intc>; 88 interrupt-parent = <&gpio_intc>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
index bff8ec2c1c70..62d3e04299b6 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
@@ -194,7 +194,7 @@
194 reg = <0>; 194 reg = <0>;
195 195
196 reset-assert-us = <10000>; 196 reset-assert-us = <10000>;
197 reset-deassert-us = <30000>; 197 reset-deassert-us = <80000>;
198 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 198 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
199 199
200 interrupt-parent = <&gpio_intc>; 200 interrupt-parent = <&gpio_intc>;
@@ -341,7 +341,7 @@
341 #size-cells = <1>; 341 #size-cells = <1>;
342 compatible = "winbond,w25q16", "jedec,spi-nor"; 342 compatible = "winbond,w25q16", "jedec,spi-nor";
343 reg = <0>; 343 reg = <0>;
344 spi-max-frequency = <3000000>; 344 spi-max-frequency = <104000000>;
345 }; 345 };
346}; 346};
347 347
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
index 83eca3af44ce..dfa7a37a1281 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
@@ -112,7 +112,7 @@
112 max-speed = <1000>; 112 max-speed = <1000>;
113 113
114 reset-assert-us = <10000>; 114 reset-assert-us = <10000>;
115 reset-deassert-us = <30000>; 115 reset-deassert-us = <80000>;
116 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 116 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
117 }; 117 };
118}; 118};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
index ea45ae0c71b7..8edbfe040805 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
@@ -64,7 +64,7 @@
64 64
65 /* External PHY reset is shared with internal PHY Led signal */ 65 /* External PHY reset is shared with internal PHY Led signal */
66 reset-assert-us = <10000>; 66 reset-assert-us = <10000>;
67 reset-deassert-us = <30000>; 67 reset-deassert-us = <80000>;
68 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 68 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
69 69
70 interrupt-parent = <&gpio_intc>; 70 interrupt-parent = <&gpio_intc>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
index c89c9f846fb1..dde7cfe12cff 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
@@ -114,7 +114,7 @@
114 max-speed = <1000>; 114 max-speed = <1000>;
115 115
116 reset-assert-us = <10000>; 116 reset-assert-us = <10000>;
117 reset-deassert-us = <30000>; 117 reset-deassert-us = <80000>;
118 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>; 118 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
119 }; 119 };
120}; 120};
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
index 71317f5aada1..c309517abae3 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
@@ -130,7 +130,7 @@
130 opp-microvolt = <790000>; 130 opp-microvolt = <790000>;
131 }; 131 };
132 132
133 opp-1512000000 { 133 opp-1500000000 {
134 opp-hz = /bits/ 64 <1500000000>; 134 opp-hz = /bits/ 64 <1500000000>;
135 opp-microvolt = <800000>; 135 opp-microvolt = <800000>;
136 }; 136 };
diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi b/arch/arm64/boot/dts/exynos/exynos7.dtsi
index b9ed6a33e290..7599e1a00ff5 100644
--- a/arch/arm64/boot/dts/exynos/exynos7.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi
@@ -79,8 +79,10 @@
79 }; 79 };
80 80
81 psci { 81 psci {
82 compatible = "arm,psci-0.2"; 82 compatible = "arm,psci";
83 method = "smc"; 83 method = "smc";
84 cpu_off = <0x84000002>;
85 cpu_on = <0xC4000003>;
84 }; 86 };
85 87
86 soc: soc@0 { 88 soc: soc@0 {
@@ -481,13 +483,6 @@
481 pmu_system_controller: system-controller@105c0000 { 483 pmu_system_controller: system-controller@105c0000 {
482 compatible = "samsung,exynos7-pmu", "syscon"; 484 compatible = "samsung,exynos7-pmu", "syscon";
483 reg = <0x105c0000 0x5000>; 485 reg = <0x105c0000 0x5000>;
484
485 reboot: syscon-reboot {
486 compatible = "syscon-reboot";
487 regmap = <&pmu_system_controller>;
488 offset = <0x0400>;
489 mask = <0x1>;
490 };
491 }; 486 };
492 487
493 rtc: rtc@10590000 { 488 rtc: rtc@10590000 {
@@ -687,3 +682,4 @@
687}; 682};
688 683
689#include "exynos7-pinctrl.dtsi" 684#include "exynos7-pinctrl.dtsi"
685#include "arm/exynos-syscon-restart.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts
index 8161dd237971..b3fa4dbeebd5 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts
@@ -155,20 +155,10 @@
155 }; 155 };
156 156
157 partition@210000 { 157 partition@210000 {
158 reg = <0x210000 0x0f0000>; 158 reg = <0x210000 0x1d0000>;
159 label = "bootloader"; 159 label = "bootloader";
160 }; 160 };
161 161
162 partition@300000 {
163 reg = <0x300000 0x040000>;
164 label = "DP firmware";
165 };
166
167 partition@340000 {
168 reg = <0x340000 0x0a0000>;
169 label = "trusted firmware";
170 };
171
172 partition@3e0000 { 162 partition@3e0000 {
173 reg = <0x3e0000 0x020000>; 163 reg = <0x3e0000 0x020000>;
174 label = "bootloader environment"; 164 label = "bootloader environment";
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
index 7a6fb7e1fb82..33aa0efa2293 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
@@ -309,7 +309,7 @@
309 <0x0 0x20000000 0x0 0x10000000>; 309 <0x0 0x20000000 0x0 0x10000000>;
310 reg-names = "fspi_base", "fspi_mmap"; 310 reg-names = "fspi_base", "fspi_mmap";
311 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 311 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
312 clocks = <&clockgen 4 3>, <&clockgen 4 3>; 312 clocks = <&clockgen 2 0>, <&clockgen 2 0>;
313 clock-names = "fspi_en", "fspi"; 313 clock-names = "fspi_en", "fspi";
314 status = "disabled"; 314 status = "disabled";
315 }; 315 };
@@ -934,7 +934,7 @@
934 ethernet@0,4 { 934 ethernet@0,4 {
935 compatible = "fsl,enetc-ptp"; 935 compatible = "fsl,enetc-ptp";
936 reg = <0x000400 0 0 0 0>; 936 reg = <0x000400 0 0 0 0>;
937 clocks = <&clockgen 4 0>; 937 clocks = <&clockgen 2 3>;
938 little-endian; 938 little-endian;
939 fsl,extts-fifo; 939 fsl,extts-fifo;
940 }; 940 };
diff --git a/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts b/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
index f3a678e0fd99..bf76ebe46379 100644
--- a/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
+++ b/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
@@ -146,7 +146,7 @@
146 pinctrl-names = "default"; 146 pinctrl-names = "default";
147 pinctrl-0 = <&rgmii_pins>; 147 pinctrl-0 = <&rgmii_pins>;
148 phy-mode = "rgmii-id"; 148 phy-mode = "rgmii-id";
149 phy = <&phy1>; 149 phy-handle = <&phy1>;
150 status = "okay"; 150 status = "okay";
151}; 151};
152 152
diff --git a/arch/arm64/boot/dts/marvell/armada-7040.dtsi b/arch/arm64/boot/dts/marvell/armada-7040.dtsi
index 7a3198cd7a07..2f440711d21d 100644
--- a/arch/arm64/boot/dts/marvell/armada-7040.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-7040.dtsi
@@ -15,10 +15,6 @@
15 "marvell,armada-ap806"; 15 "marvell,armada-ap806";
16}; 16};
17 17
18&smmu {
19 status = "okay";
20};
21
22&cp0_pcie0 { 18&cp0_pcie0 {
23 iommu-map = 19 iommu-map =
24 <0x0 &smmu 0x480 0x20>, 20 <0x0 &smmu 0x480 0x20>,
diff --git a/arch/arm64/boot/dts/marvell/armada-8040.dtsi b/arch/arm64/boot/dts/marvell/armada-8040.dtsi
index 79e8ce59baa8..22c2d6ebf381 100644
--- a/arch/arm64/boot/dts/marvell/armada-8040.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-8040.dtsi
@@ -15,10 +15,6 @@
15 "marvell,armada-ap806"; 15 "marvell,armada-ap806";
16}; 16};
17 17
18&smmu {
19 status = "okay";
20};
21
22&cp0_pcie0 { 18&cp0_pcie0 {
23 iommu-map = 19 iommu-map =
24 <0x0 &smmu 0x480 0x20>, 20 <0x0 &smmu 0x480 0x20>,
diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
index 9cfd961c45eb..08a914d3a643 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
@@ -363,7 +363,7 @@
363 compatible = "mediatek,mt8183-gce"; 363 compatible = "mediatek,mt8183-gce";
364 reg = <0 0x10238000 0 0x4000>; 364 reg = <0 0x10238000 0 0x4000>;
365 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_LOW>; 365 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_LOW>;
366 #mbox-cells = <3>; 366 #mbox-cells = <2>;
367 clocks = <&infracfg CLK_INFRA_GCE>; 367 clocks = <&infracfg CLK_INFRA_GCE>;
368 clock-names = "gce"; 368 clock-names = "gce";
369 }; 369 };
diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
index 93438d2b9469..6946fb210e48 100644
--- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
@@ -378,7 +378,7 @@
378 nvidia,schmitt = <TEGRA_PIN_DISABLE>; 378 nvidia,schmitt = <TEGRA_PIN_DISABLE>;
379 nvidia,lpdr = <TEGRA_PIN_ENABLE>; 379 nvidia,lpdr = <TEGRA_PIN_ENABLE>;
380 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 380 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
381 nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>; 381 nvidia,io-hv = <TEGRA_PIN_ENABLE>;
382 nvidia,tristate = <TEGRA_PIN_DISABLE>; 382 nvidia,tristate = <TEGRA_PIN_DISABLE>;
383 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 383 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
384 }; 384 };
@@ -390,7 +390,7 @@
390 nvidia,schmitt = <TEGRA_PIN_DISABLE>; 390 nvidia,schmitt = <TEGRA_PIN_DISABLE>;
391 nvidia,lpdr = <TEGRA_PIN_ENABLE>; 391 nvidia,lpdr = <TEGRA_PIN_ENABLE>;
392 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 392 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
393 nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>; 393 nvidia,io-hv = <TEGRA_PIN_ENABLE>;
394 nvidia,tristate = <TEGRA_PIN_DISABLE>; 394 nvidia,tristate = <TEGRA_PIN_DISABLE>;
395 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 395 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
396 }; 396 };
diff --git a/arch/arm64/boot/dts/qcom/ipq6018.dtsi b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
index 59e0cbfa2214..cdc1e3d60c58 100644
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
@@ -156,8 +156,8 @@
156 no-map; 156 no-map;
157 }; 157 };
158 158
159 tz: tz@48500000 { 159 tz: memory@4a600000 {
160 reg = <0x0 0x48500000 0x0 0x00200000>; 160 reg = <0x0 0x4a600000 0x0 0x00400000>;
161 no-map; 161 no-map;
162 }; 162 };
163 163
@@ -167,7 +167,7 @@
167 }; 167 };
168 168
169 q6_region: memory@4ab00000 { 169 q6_region: memory@4ab00000 {
170 reg = <0x0 0x4ab00000 0x0 0x02800000>; 170 reg = <0x0 0x4ab00000 0x0 0x05500000>;
171 no-map; 171 no-map;
172 }; 172 };
173 }; 173 };
diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
index b18d21e42f59..f7ac4c4033db 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
@@ -78,6 +78,9 @@
78 sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 78 sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
79 scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 79 scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
80 80
81 pinctrl-names = "default";
82 pinctrl-0 = <&muic_i2c_default>;
83
81 #address-cells = <1>; 84 #address-cells = <1>;
82 #size-cells = <0>; 85 #size-cells = <0>;
83 86
@@ -314,6 +317,14 @@
314 }; 317 };
315 }; 318 };
316 319
320 muic_i2c_default: muic-i2c-default {
321 pins = "gpio105", "gpio106";
322 function = "gpio";
323
324 drive-strength = <2>;
325 bias-disable;
326 };
327
317 muic_int_default: muic-int-default { 328 muic_int_default: muic-int-default {
318 pins = "gpio12"; 329 pins = "gpio12";
319 function = "gpio"; 330 function = "gpio";
diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index 6678f1e8e395..c71f3afc1cc9 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -1394,7 +1394,8 @@
1394 ipa: ipa@1e40000 { 1394 ipa: ipa@1e40000 {
1395 compatible = "qcom,sc7180-ipa"; 1395 compatible = "qcom,sc7180-ipa";
1396 1396
1397 iommus = <&apps_smmu 0x440 0x3>; 1397 iommus = <&apps_smmu 0x440 0x0>,
1398 <&apps_smmu 0x442 0x0>;
1398 reg = <0 0x1e40000 0 0x7000>, 1399 reg = <0 0x1e40000 0 0x7000>,
1399 <0 0x1e47000 0 0x2000>, 1400 <0 0x1e47000 0 0x2000>,
1400 <0 0x1e04000 0 0x2c000>; 1401 <0 0x1e04000 0 0x2c000>;
@@ -2811,7 +2812,7 @@
2811 interrupt-controller; 2812 interrupt-controller;
2812 #interrupt-cells = <1>; 2813 #interrupt-cells = <1>;
2813 2814
2814 interconnects = <&mmss_noc MASTER_MDP0 &mc_virt SLAVE_EBI1>; 2815 interconnects = <&mmss_noc MASTER_MDP0 0 &mc_virt SLAVE_EBI1 0>;
2815 interconnect-names = "mdp0-mem"; 2816 interconnect-names = "mdp0-mem";
2816 2817
2817 iommus = <&apps_smmu 0x800 0x2>; 2818 iommus = <&apps_smmu 0x800 0x2>;
diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index 40e8c11f23ab..f97f354af86f 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -2141,7 +2141,8 @@
2141 ipa: ipa@1e40000 { 2141 ipa: ipa@1e40000 {
2142 compatible = "qcom,sdm845-ipa"; 2142 compatible = "qcom,sdm845-ipa";
2143 2143
2144 iommus = <&apps_smmu 0x720 0x3>; 2144 iommus = <&apps_smmu 0x720 0x0>,
2145 <&apps_smmu 0x722 0x0>;
2145 reg = <0 0x1e40000 0 0x7000>, 2146 reg = <0 0x1e40000 0 0x7000>,
2146 <0 0x1e47000 0 0x2000>, 2147 <0 0x1e47000 0 0x2000>,
2147 <0 0x1e04000 0 0x2c000>; 2148 <0 0x1e04000 0 0x2c000>;
diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
index d03ca3190746..76a8c996d497 100644
--- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
+++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
@@ -264,23 +264,28 @@
264 status = "okay"; 264 status = "okay";
265 clock-frequency = <400000>; 265 clock-frequency = <400000>;
266 266
267 hid@15 { 267 tsel: hid@15 {
268 compatible = "hid-over-i2c"; 268 compatible = "hid-over-i2c";
269 reg = <0x15>; 269 reg = <0x15>;
270 hid-descr-addr = <0x1>; 270 hid-descr-addr = <0x1>;
271 271
272 interrupts-extended = <&tlmm 37 IRQ_TYPE_EDGE_RISING>; 272 interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
273
274 pinctrl-names = "default";
275 pinctrl-0 = <&i2c3_hid_active>;
273 }; 276 };
274 277
275 hid@2c { 278 tsc2: hid@2c {
276 compatible = "hid-over-i2c"; 279 compatible = "hid-over-i2c";
277 reg = <0x2c>; 280 reg = <0x2c>;
278 hid-descr-addr = <0x20>; 281 hid-descr-addr = <0x20>;
279 282
280 interrupts-extended = <&tlmm 37 IRQ_TYPE_EDGE_RISING>; 283 interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;
281 284
282 pinctrl-names = "default"; 285 pinctrl-names = "default";
283 pinctrl-0 = <&i2c2_hid_active>; 286 pinctrl-0 = <&i2c3_hid_active>;
287
288 status = "disabled";
284 }; 289 };
285}; 290};
286 291
@@ -288,15 +293,15 @@
288 status = "okay"; 293 status = "okay";
289 clock-frequency = <400000>; 294 clock-frequency = <400000>;
290 295
291 hid@10 { 296 tsc1: hid@10 {
292 compatible = "hid-over-i2c"; 297 compatible = "hid-over-i2c";
293 reg = <0x10>; 298 reg = <0x10>;
294 hid-descr-addr = <0x1>; 299 hid-descr-addr = <0x1>;
295 300
296 interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>; 301 interrupts-extended = <&tlmm 125 IRQ_TYPE_LEVEL_LOW>;
297 302
298 pinctrl-names = "default"; 303 pinctrl-names = "default";
299 pinctrl-0 = <&i2c6_hid_active>; 304 pinctrl-0 = <&i2c5_hid_active>;
300 }; 305 };
301}; 306};
302 307
@@ -304,7 +309,7 @@
304 status = "okay"; 309 status = "okay";
305 clock-frequency = <400000>; 310 clock-frequency = <400000>;
306 311
307 hid@5c { 312 ecsh: hid@5c {
308 compatible = "hid-over-i2c"; 313 compatible = "hid-over-i2c";
309 reg = <0x5c>; 314 reg = <0x5c>;
310 hid-descr-addr = <0x1>; 315 hid-descr-addr = <0x1>;
@@ -312,7 +317,7 @@
312 interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>; 317 interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>;
313 318
314 pinctrl-names = "default"; 319 pinctrl-names = "default";
315 pinctrl-0 = <&i2c12_hid_active>; 320 pinctrl-0 = <&i2c11_hid_active>;
316 }; 321 };
317}; 322};
318 323
@@ -426,8 +431,8 @@
426&tlmm { 431&tlmm {
427 gpio-reserved-ranges = <0 4>, <81 4>; 432 gpio-reserved-ranges = <0 4>, <81 4>;
428 433
429 i2c2_hid_active: i2c2-hid-active { 434 i2c3_hid_active: i2c2-hid-active {
430 pins = <37>; 435 pins = "gpio37";
431 function = "gpio"; 436 function = "gpio";
432 437
433 input-enable; 438 input-enable;
@@ -435,8 +440,8 @@
435 drive-strength = <2>; 440 drive-strength = <2>;
436 }; 441 };
437 442
438 i2c6_hid_active: i2c6-hid-active { 443 i2c5_hid_active: i2c5-hid-active {
439 pins = <125>; 444 pins = "gpio125";
440 function = "gpio"; 445 function = "gpio";
441 446
442 input-enable; 447 input-enable;
@@ -444,8 +449,8 @@
444 drive-strength = <2>; 449 drive-strength = <2>;
445 }; 450 };
446 451
447 i2c12_hid_active: i2c12-hid-active { 452 i2c11_hid_active: i2c11-hid-active {
448 pins = <92>; 453 pins = "gpio92";
449 function = "gpio"; 454 function = "gpio";
450 455
451 input-enable; 456 input-enable;
@@ -454,7 +459,7 @@
454 }; 459 };
455 460
456 wcd_intr_default: wcd_intr_default { 461 wcd_intr_default: wcd_intr_default {
457 pins = <54>; 462 pins = "gpio54";
458 function = "gpio"; 463 function = "gpio";
459 464
460 input-enable; 465 input-enable;
diff --git a/arch/arm64/boot/dts/qcom/sm8250-mtp.dts b/arch/arm64/boot/dts/qcom/sm8250-mtp.dts
index fd194ed7fbc8..98675e1f8204 100644
--- a/arch/arm64/boot/dts/qcom/sm8250-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/sm8250-mtp.dts
@@ -14,7 +14,7 @@
14 14
15/ { 15/ {
16 model = "Qualcomm Technologies, Inc. SM8250 MTP"; 16 model = "Qualcomm Technologies, Inc. SM8250 MTP";
17 compatible = "qcom,sm8250-mtp"; 17 compatible = "qcom,sm8250-mtp", "qcom,sm8250";
18 18
19 aliases { 19 aliases {
20 serial0 = &uart12; 20 serial0 = &uart12;
diff --git a/arch/arm64/boot/dts/renesas/cat875.dtsi b/arch/arm64/boot/dts/renesas/cat875.dtsi
index 33daa9570684..801ea54b027c 100644
--- a/arch/arm64/boot/dts/renesas/cat875.dtsi
+++ b/arch/arm64/boot/dts/renesas/cat875.dtsi
@@ -21,7 +21,6 @@
21 status = "okay"; 21 status = "okay";
22 22
23 phy0: ethernet-phy@0 { 23 phy0: ethernet-phy@0 {
24 rxc-skew-ps = <1500>;
25 reg = <0>; 24 reg = <0>;
26 interrupt-parent = <&gpio2>; 25 interrupt-parent = <&gpio2>;
27 interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 26 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
diff --git a/arch/arm64/boot/dts/renesas/hihope-rzg2-ex.dtsi b/arch/arm64/boot/dts/renesas/hihope-rzg2-ex.dtsi
index 178401a34cbf..b9e46aed5336 100644
--- a/arch/arm64/boot/dts/renesas/hihope-rzg2-ex.dtsi
+++ b/arch/arm64/boot/dts/renesas/hihope-rzg2-ex.dtsi
@@ -23,7 +23,6 @@
23 status = "okay"; 23 status = "okay";
24 24
25 phy0: ethernet-phy@0 { 25 phy0: ethernet-phy@0 {
26 rxc-skew-ps = <1500>;
27 reg = <0>; 26 reg = <0>;
28 interrupt-parent = <&gpio2>; 27 interrupt-parent = <&gpio2>;
29 interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 28 interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
index b70ffb1c6a63..b76282e704de 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
@@ -334,6 +334,7 @@
334}; 334};
335 335
336&usb20_otg { 336&usb20_otg {
337 dr_mode = "host";
337 status = "okay"; 338 status = "okay";
338}; 339};
339 340
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index bbdb19a3e85d..db0d5c8e5f96 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -1237,8 +1237,8 @@
1237 1237
1238 uart0 { 1238 uart0 {
1239 uart0_xfer: uart0-xfer { 1239 uart0_xfer: uart0-xfer {
1240 rockchip,pins = <1 RK_PB1 1 &pcfg_pull_up>, 1240 rockchip,pins = <1 RK_PB1 1 &pcfg_pull_none>,
1241 <1 RK_PB0 1 &pcfg_pull_none>; 1241 <1 RK_PB0 1 &pcfg_pull_up>;
1242 }; 1242 };
1243 1243
1244 uart0_cts: uart0-cts { 1244 uart0_cts: uart0-cts {
@@ -1256,8 +1256,8 @@
1256 1256
1257 uart1 { 1257 uart1 {
1258 uart1_xfer: uart1-xfer { 1258 uart1_xfer: uart1-xfer {
1259 rockchip,pins = <3 RK_PA4 4 &pcfg_pull_up>, 1259 rockchip,pins = <3 RK_PA4 4 &pcfg_pull_none>,
1260 <3 RK_PA6 4 &pcfg_pull_none>; 1260 <3 RK_PA6 4 &pcfg_pull_up>;
1261 }; 1261 };
1262 1262
1263 uart1_cts: uart1-cts { 1263 uart1_cts: uart1-cts {
@@ -1275,15 +1275,15 @@
1275 1275
1276 uart2-0 { 1276 uart2-0 {
1277 uart2m0_xfer: uart2m0-xfer { 1277 uart2m0_xfer: uart2m0-xfer {
1278 rockchip,pins = <1 RK_PA0 2 &pcfg_pull_up>, 1278 rockchip,pins = <1 RK_PA0 2 &pcfg_pull_none>,
1279 <1 RK_PA1 2 &pcfg_pull_none>; 1279 <1 RK_PA1 2 &pcfg_pull_up>;
1280 }; 1280 };
1281 }; 1281 };
1282 1282
1283 uart2-1 { 1283 uart2-1 {
1284 uart2m1_xfer: uart2m1-xfer { 1284 uart2m1_xfer: uart2m1-xfer {
1285 rockchip,pins = <2 RK_PA0 1 &pcfg_pull_up>, 1285 rockchip,pins = <2 RK_PA0 1 &pcfg_pull_none>,
1286 <2 RK_PA1 1 &pcfg_pull_none>; 1286 <2 RK_PA1 1 &pcfg_pull_up>;
1287 }; 1287 };
1288 }; 1288 };
1289 1289
diff --git a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
index 533525229a8d..b9662205be9b 100644
--- a/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am65-main.dtsi
@@ -834,7 +834,7 @@
834 }; 834 };
835 }; 835 };
836 836
837 dss: dss@04a00000 { 837 dss: dss@4a00000 {
838 compatible = "ti,am65x-dss"; 838 compatible = "ti,am65x-dss";
839 reg = <0x0 0x04a00000 0x0 0x1000>, /* common */ 839 reg = <0x0 0x04a00000 0x0 0x1000>, /* common */
840 <0x0 0x04a02000 0x0 0x1000>, /* vidl1 */ 840 <0x0 0x04a02000 0x0 0x1000>, /* vidl1 */
@@ -867,6 +867,8 @@
867 867
868 status = "disabled"; 868 status = "disabled";
869 869
870 dma-coherent;
871
870 dss_ports: ports { 872 dss_ports: ports {
871 #address-cells = <1>; 873 #address-cells = <1>;
872 #size-cells = <0>; 874 #size-cells = <0>;
diff --git a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
index e2a96b2c423c..c66ded9079be 100644
--- a/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi
@@ -1278,7 +1278,7 @@
1278 }; 1278 };
1279 }; 1279 };
1280 1280
1281 dss: dss@04a00000 { 1281 dss: dss@4a00000 {
1282 compatible = "ti,j721e-dss"; 1282 compatible = "ti,j721e-dss";
1283 reg = 1283 reg =
1284 <0x00 0x04a00000 0x00 0x10000>, /* common_m */ 1284 <0x00 0x04a00000 0x00 0x10000>, /* common_m */
diff --git a/arch/arm64/crypto/poly1305-armv8.pl b/arch/arm64/crypto/poly1305-armv8.pl
index 6e5576d19af8..cbc980fb02e3 100644
--- a/arch/arm64/crypto/poly1305-armv8.pl
+++ b/arch/arm64/crypto/poly1305-armv8.pl
@@ -840,7 +840,6 @@ poly1305_blocks_neon:
840 ldp d14,d15,[sp,#64] 840 ldp d14,d15,[sp,#64]
841 addp $ACC2,$ACC2,$ACC2 841 addp $ACC2,$ACC2,$ACC2
842 ldr x30,[sp,#8] 842 ldr x30,[sp,#8]
843 .inst 0xd50323bf // autiasp
844 843
845 //////////////////////////////////////////////////////////////// 844 ////////////////////////////////////////////////////////////////
846 // lazy reduction, but without narrowing 845 // lazy reduction, but without narrowing
@@ -882,6 +881,7 @@ poly1305_blocks_neon:
882 str x4,[$ctx,#8] // set is_base2_26 881 str x4,[$ctx,#8] // set is_base2_26
883 882
884 ldr x29,[sp],#80 883 ldr x29,[sp],#80
884 .inst 0xd50323bf // autiasp
885 ret 885 ret
886.size poly1305_blocks_neon,.-poly1305_blocks_neon 886.size poly1305_blocks_neon,.-poly1305_blocks_neon
887 887
diff --git a/arch/arm64/crypto/poly1305-core.S_shipped b/arch/arm64/crypto/poly1305-core.S_shipped
index 8d1c4e420ccd..fb2822abf63a 100644
--- a/arch/arm64/crypto/poly1305-core.S_shipped
+++ b/arch/arm64/crypto/poly1305-core.S_shipped
@@ -779,7 +779,6 @@ poly1305_blocks_neon:
779 ldp d14,d15,[sp,#64] 779 ldp d14,d15,[sp,#64]
780 addp v21.2d,v21.2d,v21.2d 780 addp v21.2d,v21.2d,v21.2d
781 ldr x30,[sp,#8] 781 ldr x30,[sp,#8]
782 .inst 0xd50323bf // autiasp
783 782
784 //////////////////////////////////////////////////////////////// 783 ////////////////////////////////////////////////////////////////
785 // lazy reduction, but without narrowing 784 // lazy reduction, but without narrowing
@@ -821,6 +820,7 @@ poly1305_blocks_neon:
821 str x4,[x0,#8] // set is_base2_26 820 str x4,[x0,#8] // set is_base2_26
822 821
823 ldr x29,[sp],#80 822 ldr x29,[sp],#80
823 .inst 0xd50323bf // autiasp
824 ret 824 ret
825.size poly1305_blocks_neon,.-poly1305_blocks_neon 825.size poly1305_blocks_neon,.-poly1305_blocks_neon
826 826
diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
index 0cd9f0f75c13..cc060c41adaa 100644
--- a/arch/arm64/include/asm/kvm_host.h
+++ b/arch/arm64/include/asm/kvm_host.h
@@ -214,6 +214,7 @@ enum vcpu_sysreg {
214#define c2_TTBR1 (TTBR1_EL1 * 2) /* Translation Table Base Register 1 */ 214#define c2_TTBR1 (TTBR1_EL1 * 2) /* Translation Table Base Register 1 */
215#define c2_TTBR1_high (c2_TTBR1 + 1) /* TTBR1 top 32 bits */ 215#define c2_TTBR1_high (c2_TTBR1 + 1) /* TTBR1 top 32 bits */
216#define c2_TTBCR (TCR_EL1 * 2) /* Translation Table Base Control R. */ 216#define c2_TTBCR (TCR_EL1 * 2) /* Translation Table Base Control R. */
217#define c2_TTBCR2 (c2_TTBCR + 1) /* Translation Table Base Control R. 2 */
217#define c3_DACR (DACR32_EL2 * 2)/* Domain Access Control Register */ 218#define c3_DACR (DACR32_EL2 * 2)/* Domain Access Control Register */
218#define c5_DFSR (ESR_EL1 * 2) /* Data Fault Status Register */ 219#define c5_DFSR (ESR_EL1 * 2) /* Data Fault Status Register */
219#define c5_IFSR (IFSR32_EL2 * 2)/* Instruction Fault Status Register */ 220#define c5_IFSR (IFSR32_EL2 * 2)/* Instruction Fault Status Register */
diff --git a/arch/arm64/kernel/mte.c b/arch/arm64/kernel/mte.c
index 52a0638ed967..ef15c8a2a49d 100644
--- a/arch/arm64/kernel/mte.c
+++ b/arch/arm64/kernel/mte.c
@@ -189,7 +189,8 @@ long get_mte_ctrl(struct task_struct *task)
189 189
190 switch (task->thread.sctlr_tcf0) { 190 switch (task->thread.sctlr_tcf0) {
191 case SCTLR_EL1_TCF0_NONE: 191 case SCTLR_EL1_TCF0_NONE:
192 return PR_MTE_TCF_NONE; 192 ret |= PR_MTE_TCF_NONE;
193 break;
193 case SCTLR_EL1_TCF0_SYNC: 194 case SCTLR_EL1_TCF0_SYNC:
194 ret |= PR_MTE_TCF_SYNC; 195 ret |= PR_MTE_TCF_SYNC;
195 break; 196 break;
diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c
index c1fac9836af1..2b28bf1a5326 100644
--- a/arch/arm64/kvm/sys_regs.c
+++ b/arch/arm64/kvm/sys_regs.c
@@ -1987,6 +1987,7 @@ static const struct sys_reg_desc cp15_regs[] = {
1987 { Op1( 0), CRn( 2), CRm( 0), Op2( 0), access_vm_reg, NULL, c2_TTBR0 }, 1987 { Op1( 0), CRn( 2), CRm( 0), Op2( 0), access_vm_reg, NULL, c2_TTBR0 },
1988 { Op1( 0), CRn( 2), CRm( 0), Op2( 1), access_vm_reg, NULL, c2_TTBR1 }, 1988 { Op1( 0), CRn( 2), CRm( 0), Op2( 1), access_vm_reg, NULL, c2_TTBR1 },
1989 { Op1( 0), CRn( 2), CRm( 0), Op2( 2), access_vm_reg, NULL, c2_TTBCR }, 1989 { Op1( 0), CRn( 2), CRm( 0), Op2( 2), access_vm_reg, NULL, c2_TTBCR },
1990 { Op1( 0), CRn( 2), CRm( 0), Op2( 3), access_vm_reg, NULL, c2_TTBCR2 },
1990 { Op1( 0), CRn( 3), CRm( 0), Op2( 0), access_vm_reg, NULL, c3_DACR }, 1991 { Op1( 0), CRn( 3), CRm( 0), Op2( 0), access_vm_reg, NULL, c3_DACR },
1991 { Op1( 0), CRn( 5), CRm( 0), Op2( 0), access_vm_reg, NULL, c5_DFSR }, 1992 { Op1( 0), CRn( 5), CRm( 0), Op2( 0), access_vm_reg, NULL, c5_DFSR },
1992 { Op1( 0), CRn( 5), CRm( 0), Op2( 1), access_vm_reg, NULL, c5_IFSR }, 1993 { Op1( 0), CRn( 5), CRm( 0), Op2( 1), access_vm_reg, NULL, c5_IFSR },
diff --git a/arch/m68k/mac/config.c b/arch/m68k/mac/config.c
index 0ac53d87493c..2bea1799b8de 100644
--- a/arch/m68k/mac/config.c
+++ b/arch/m68k/mac/config.c
@@ -777,16 +777,12 @@ static struct resource scc_b_rsrcs[] = {
777struct platform_device scc_a_pdev = { 777struct platform_device scc_a_pdev = {
778 .name = "scc", 778 .name = "scc",
779 .id = 0, 779 .id = 0,
780 .num_resources = ARRAY_SIZE(scc_a_rsrcs),
781 .resource = scc_a_rsrcs,
782}; 780};
783EXPORT_SYMBOL(scc_a_pdev); 781EXPORT_SYMBOL(scc_a_pdev);
784 782
785struct platform_device scc_b_pdev = { 783struct platform_device scc_b_pdev = {
786 .name = "scc", 784 .name = "scc",
787 .id = 1, 785 .id = 1,
788 .num_resources = ARRAY_SIZE(scc_b_rsrcs),
789 .resource = scc_b_rsrcs,
790}; 786};
791EXPORT_SYMBOL(scc_b_pdev); 787EXPORT_SYMBOL(scc_b_pdev);
792 788
@@ -813,10 +809,15 @@ static void __init mac_identify(void)
813 809
814 /* Set up serial port resources for the console initcall. */ 810 /* Set up serial port resources for the console initcall. */
815 811
816 scc_a_rsrcs[0].start = (resource_size_t) mac_bi_data.sccbase + 2; 812 scc_a_rsrcs[0].start = (resource_size_t)mac_bi_data.sccbase + 2;
817 scc_a_rsrcs[0].end = scc_a_rsrcs[0].start; 813 scc_a_rsrcs[0].end = scc_a_rsrcs[0].start;
818 scc_b_rsrcs[0].start = (resource_size_t) mac_bi_data.sccbase; 814 scc_a_pdev.num_resources = ARRAY_SIZE(scc_a_rsrcs);
819 scc_b_rsrcs[0].end = scc_b_rsrcs[0].start; 815 scc_a_pdev.resource = scc_a_rsrcs;
816
817 scc_b_rsrcs[0].start = (resource_size_t)mac_bi_data.sccbase;
818 scc_b_rsrcs[0].end = scc_b_rsrcs[0].start;
819 scc_b_pdev.num_resources = ARRAY_SIZE(scc_b_rsrcs);
820 scc_b_pdev.resource = scc_b_rsrcs;
820 821
821 switch (macintosh_config->scc_type) { 822 switch (macintosh_config->scc_type) {
822 case MAC_SCC_PSC: 823 case MAC_SCC_PSC:
diff --git a/arch/mips/bcm47xx/Kconfig b/arch/mips/bcm47xx/Kconfig
index 6889f74e06f5..490bb6da74b7 100644
--- a/arch/mips/bcm47xx/Kconfig
+++ b/arch/mips/bcm47xx/Kconfig
@@ -27,6 +27,7 @@ config BCM47XX_BCMA
27 select BCMA 27 select BCMA
28 select BCMA_HOST_SOC 28 select BCMA_HOST_SOC
29 select BCMA_DRIVER_MIPS 29 select BCMA_DRIVER_MIPS
30 select BCMA_DRIVER_PCI if PCI
30 select BCMA_DRIVER_PCI_HOSTMODE if PCI 31 select BCMA_DRIVER_PCI_HOSTMODE if PCI
31 select BCMA_DRIVER_GPIO 32 select BCMA_DRIVER_GPIO
32 default y 33 default y
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index ca579deef939..9d11f68a9e8b 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -498,8 +498,8 @@ static void __init request_crashkernel(struct resource *res)
498 498
499static void __init check_kernel_sections_mem(void) 499static void __init check_kernel_sections_mem(void)
500{ 500{
501 phys_addr_t start = PFN_PHYS(PFN_DOWN(__pa_symbol(&_text))); 501 phys_addr_t start = __pa_symbol(&_text);
502 phys_addr_t size = PFN_PHYS(PFN_UP(__pa_symbol(&_end))) - start; 502 phys_addr_t size = __pa_symbol(&_end) - start;
503 503
504 if (!memblock_is_region_memory(start, size)) { 504 if (!memblock_is_region_memory(start, size)) {
505 pr_info("Kernel sections are not in the memory maps\n"); 505 pr_info("Kernel sections are not in the memory maps\n");
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index f8ce6d2dde7b..e4b364b5da9e 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -368,6 +368,8 @@ initrd-y := $(filter-out $(image-y), $(initrd-y))
368targets += $(image-y) $(initrd-y) 368targets += $(image-y) $(initrd-y)
369targets += $(foreach x, dtbImage uImage cuImage simpleImage treeImage, \ 369targets += $(foreach x, dtbImage uImage cuImage simpleImage treeImage, \
370 $(patsubst $(x).%, dts/%.dtb, $(filter $(x).%, $(image-y)))) 370 $(patsubst $(x).%, dts/%.dtb, $(filter $(x).%, $(image-y))))
371targets += $(foreach x, dtbImage uImage cuImage simpleImage treeImage, \
372 $(patsubst $(x).%, dts/fsl/%.dtb, $(filter $(x).%, $(image-y))))
371 373
372$(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz 374$(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz
373 375
diff --git a/arch/powerpc/include/asm/bitops.h b/arch/powerpc/include/asm/bitops.h
index 4a4d3afd5340..299ab33505a6 100644
--- a/arch/powerpc/include/asm/bitops.h
+++ b/arch/powerpc/include/asm/bitops.h
@@ -216,15 +216,34 @@ static inline void arch___clear_bit_unlock(int nr, volatile unsigned long *addr)
216 */ 216 */
217static inline int fls(unsigned int x) 217static inline int fls(unsigned int x)
218{ 218{
219 return 32 - __builtin_clz(x); 219 int lz;
220
221 if (__builtin_constant_p(x))
222 return x ? 32 - __builtin_clz(x) : 0;
223 asm("cntlzw %0,%1" : "=r" (lz) : "r" (x));
224 return 32 - lz;
220} 225}
221 226
222#include <asm-generic/bitops/builtin-__fls.h> 227#include <asm-generic/bitops/builtin-__fls.h>
223 228
229/*
230 * 64-bit can do this using one cntlzd (count leading zeroes doubleword)
231 * instruction; for 32-bit we use the generic version, which does two
232 * 32-bit fls calls.
233 */
234#ifdef CONFIG_PPC64
224static inline int fls64(__u64 x) 235static inline int fls64(__u64 x)
225{ 236{
226 return 64 - __builtin_clzll(x); 237 int lz;
238
239 if (__builtin_constant_p(x))
240 return x ? 64 - __builtin_clzll(x) : 0;
241 asm("cntlzd %0,%1" : "=r" (lz) : "r" (x));
242 return 64 - lz;
227} 243}
244#else
245#include <asm-generic/bitops/fls64.h>
246#endif
228 247
229#ifdef CONFIG_PPC64 248#ifdef CONFIG_PPC64
230unsigned int __arch_hweight8(unsigned int w); 249unsigned int __arch_hweight8(unsigned int w);
diff --git a/arch/powerpc/include/asm/book3s/32/mmu-hash.h b/arch/powerpc/include/asm/book3s/32/mmu-hash.h
index 2e277ca0170f..a8982d52f6b1 100644
--- a/arch/powerpc/include/asm/book3s/32/mmu-hash.h
+++ b/arch/powerpc/include/asm/book3s/32/mmu-hash.h
@@ -94,6 +94,7 @@ typedef struct {
94} mm_context_t; 94} mm_context_t;
95 95
96void update_bats(void); 96void update_bats(void);
97static inline void cleanup_cpu_mmu_context(void) { };
97 98
98/* patch sites */ 99/* patch sites */
99extern s32 patch__hash_page_A0, patch__hash_page_A1, patch__hash_page_A2; 100extern s32 patch__hash_page_A0, patch__hash_page_A1, patch__hash_page_A2;
diff --git a/arch/powerpc/include/asm/book3s/32/pgtable.h b/arch/powerpc/include/asm/book3s/32/pgtable.h
index 1376be95e975..523d3e6e2400 100644
--- a/arch/powerpc/include/asm/book3s/32/pgtable.h
+++ b/arch/powerpc/include/asm/book3s/32/pgtable.h
@@ -524,9 +524,9 @@ static inline void __set_pte_at(struct mm_struct *mm, unsigned long addr,
524 if (pte_val(*ptep) & _PAGE_HASHPTE) 524 if (pte_val(*ptep) & _PAGE_HASHPTE)
525 flush_hash_entry(mm, ptep, addr); 525 flush_hash_entry(mm, ptep, addr);
526 __asm__ __volatile__("\ 526 __asm__ __volatile__("\
527 stw%U0%X0 %2,%0\n\ 527 stw%X0 %2,%0\n\
528 eieio\n\ 528 eieio\n\
529 stw%U0%X0 %L2,%1" 529 stw%X1 %L2,%1"
530 : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4)) 530 : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4))
531 : "r" (pte) : "memory"); 531 : "r" (pte) : "memory");
532 532
diff --git a/arch/powerpc/include/asm/cpm1.h b/arch/powerpc/include/asm/cpm1.h
index a116fe931789..3bdd74739cb8 100644
--- a/arch/powerpc/include/asm/cpm1.h
+++ b/arch/powerpc/include/asm/cpm1.h
@@ -68,6 +68,7 @@ extern void cpm_reset(void);
68#define PROFF_SPI ((uint)0x0180) 68#define PROFF_SPI ((uint)0x0180)
69#define PROFF_SCC3 ((uint)0x0200) 69#define PROFF_SCC3 ((uint)0x0200)
70#define PROFF_SMC1 ((uint)0x0280) 70#define PROFF_SMC1 ((uint)0x0280)
71#define PROFF_DSP1 ((uint)0x02c0)
71#define PROFF_SCC4 ((uint)0x0300) 72#define PROFF_SCC4 ((uint)0x0300)
72#define PROFF_SMC2 ((uint)0x0380) 73#define PROFF_SMC2 ((uint)0x0380)
73 74
diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h
index 3d2f94afc13a..398eba399879 100644
--- a/arch/powerpc/include/asm/cputable.h
+++ b/arch/powerpc/include/asm/cputable.h
@@ -369,7 +369,7 @@ static inline void cpu_feature_keys_init(void) { }
369 CPU_FTR_PPC_LE | CPU_FTR_NEED_PAIRED_STWCX) 369 CPU_FTR_PPC_LE | CPU_FTR_NEED_PAIRED_STWCX)
370#define CPU_FTRS_82XX (CPU_FTR_COMMON | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_NOEXECUTE) 370#define CPU_FTRS_82XX (CPU_FTR_COMMON | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_NOEXECUTE)
371#define CPU_FTRS_G2_LE (CPU_FTR_COMMON | CPU_FTR_MAYBE_CAN_DOZE | \ 371#define CPU_FTRS_G2_LE (CPU_FTR_COMMON | CPU_FTR_MAYBE_CAN_DOZE | \
372 CPU_FTR_MAYBE_CAN_NAP) 372 CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_NOEXECUTE)
373#define CPU_FTRS_E300 (CPU_FTR_MAYBE_CAN_DOZE | \ 373#define CPU_FTRS_E300 (CPU_FTR_MAYBE_CAN_DOZE | \
374 CPU_FTR_MAYBE_CAN_NAP | \ 374 CPU_FTR_MAYBE_CAN_NAP | \
375 CPU_FTR_COMMON | CPU_FTR_NOEXECUTE) 375 CPU_FTR_COMMON | CPU_FTR_NOEXECUTE)
@@ -409,7 +409,6 @@ static inline void cpu_feature_keys_init(void) { }
409 CPU_FTR_DBELL | CPU_FTR_POPCNTB | CPU_FTR_POPCNTD | \ 409 CPU_FTR_DBELL | CPU_FTR_POPCNTB | CPU_FTR_POPCNTD | \
410 CPU_FTR_DEBUG_LVL_EXC | CPU_FTR_EMB_HV | CPU_FTR_ALTIVEC_COMP | \ 410 CPU_FTR_DEBUG_LVL_EXC | CPU_FTR_EMB_HV | CPU_FTR_ALTIVEC_COMP | \
411 CPU_FTR_CELL_TB_BUG | CPU_FTR_SMT) 411 CPU_FTR_CELL_TB_BUG | CPU_FTR_SMT)
412#define CPU_FTRS_GENERIC_32 (CPU_FTR_COMMON | CPU_FTR_NODSISRALIGN)
413 412
414/* 64-bit CPUs */ 413/* 64-bit CPUs */
415#define CPU_FTRS_PPC970 (CPU_FTR_LWSYNC | \ 414#define CPU_FTRS_PPC970 (CPU_FTR_LWSYNC | \
@@ -520,8 +519,6 @@ enum {
520 CPU_FTRS_7447 | CPU_FTRS_7447A | CPU_FTRS_82XX | 519 CPU_FTRS_7447 | CPU_FTRS_7447A | CPU_FTRS_82XX |
521 CPU_FTRS_G2_LE | CPU_FTRS_E300 | CPU_FTRS_E300C2 | 520 CPU_FTRS_G2_LE | CPU_FTRS_E300 | CPU_FTRS_E300C2 |
522 CPU_FTRS_CLASSIC32 | 521 CPU_FTRS_CLASSIC32 |
523#else
524 CPU_FTRS_GENERIC_32 |
525#endif 522#endif
526#ifdef CONFIG_PPC_8xx 523#ifdef CONFIG_PPC_8xx
527 CPU_FTRS_8XX | 524 CPU_FTRS_8XX |
@@ -596,8 +593,6 @@ enum {
596 CPU_FTRS_7447 & CPU_FTRS_7447A & CPU_FTRS_82XX & 593 CPU_FTRS_7447 & CPU_FTRS_7447A & CPU_FTRS_82XX &
597 CPU_FTRS_G2_LE & CPU_FTRS_E300 & CPU_FTRS_E300C2 & 594 CPU_FTRS_G2_LE & CPU_FTRS_E300 & CPU_FTRS_E300C2 &
598 CPU_FTRS_CLASSIC32 & 595 CPU_FTRS_CLASSIC32 &
599#else
600 CPU_FTRS_GENERIC_32 &
601#endif 596#endif
602#ifdef CONFIG_PPC_8xx 597#ifdef CONFIG_PPC_8xx
603 CPU_FTRS_8XX & 598 CPU_FTRS_8XX &
diff --git a/arch/powerpc/include/asm/nohash/pgtable.h b/arch/powerpc/include/asm/nohash/pgtable.h
index 6277e7596ae5..ac75f4ab0dba 100644
--- a/arch/powerpc/include/asm/nohash/pgtable.h
+++ b/arch/powerpc/include/asm/nohash/pgtable.h
@@ -192,9 +192,9 @@ static inline void __set_pte_at(struct mm_struct *mm, unsigned long addr,
192 */ 192 */
193 if (IS_ENABLED(CONFIG_PPC32) && IS_ENABLED(CONFIG_PTE_64BIT) && !percpu) { 193 if (IS_ENABLED(CONFIG_PPC32) && IS_ENABLED(CONFIG_PTE_64BIT) && !percpu) {
194 __asm__ __volatile__("\ 194 __asm__ __volatile__("\
195 stw%U0%X0 %2,%0\n\ 195 stw%X0 %2,%0\n\
196 eieio\n\ 196 eieio\n\
197 stw%U0%X0 %L2,%1" 197 stw%X1 %L2,%1"
198 : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4)) 198 : "=m" (*ptep), "=m" (*((unsigned char *)ptep+4))
199 : "r" (pte) : "memory"); 199 : "r" (pte) : "memory");
200 return; 200 return;
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
index bf0bf1b900d2..fe2ef598e2ea 100644
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
@@ -173,6 +173,9 @@ KCOV_INSTRUMENT_cputable.o := n
173KCOV_INSTRUMENT_setup_64.o := n 173KCOV_INSTRUMENT_setup_64.o := n
174KCOV_INSTRUMENT_paca.o := n 174KCOV_INSTRUMENT_paca.o := n
175 175
176CFLAGS_setup_64.o += -fno-stack-protector
177CFLAGS_paca.o += -fno-stack-protector
178
176extra-$(CONFIG_PPC_FPU) += fpu.o 179extra-$(CONFIG_PPC_FPU) += fpu.o
177extra-$(CONFIG_ALTIVEC) += vector.o 180extra-$(CONFIG_ALTIVEC) += vector.o
178extra-$(CONFIG_PPC64) += entry_64.o 181extra-$(CONFIG_PPC64) += entry_64.o
diff --git a/arch/powerpc/kernel/head_32.h b/arch/powerpc/kernel/head_32.h
index 7c767765071d..c88e66adecb5 100644
--- a/arch/powerpc/kernel/head_32.h
+++ b/arch/powerpc/kernel/head_32.h
@@ -131,18 +131,28 @@
131#ifdef CONFIG_VMAP_STACK 131#ifdef CONFIG_VMAP_STACK
132 mfspr r11, SPRN_SRR0 132 mfspr r11, SPRN_SRR0
133 mtctr r11 133 mtctr r11
134#endif
135 andi. r11, r9, MSR_PR 134 andi. r11, r9, MSR_PR
136 lwz r11,TASK_STACK-THREAD(r12) 135 mr r11, r1
136 lwz r1,TASK_STACK-THREAD(r12)
137 beq- 99f 137 beq- 99f
138 addi r11, r11, THREAD_SIZE - INT_FRAME_SIZE 138 addi r1, r1, THREAD_SIZE - INT_FRAME_SIZE
139#ifdef CONFIG_VMAP_STACK
140 li r10, MSR_KERNEL & ~(MSR_IR | MSR_RI) /* can take DTLB miss */ 139 li r10, MSR_KERNEL & ~(MSR_IR | MSR_RI) /* can take DTLB miss */
141 mtmsr r10 140 mtmsr r10
142 isync 141 isync
142 tovirt(r12, r12)
143 stw r11,GPR1(r1)
144 stw r11,0(r1)
145 mr r11, r1
146#else
147 andi. r11, r9, MSR_PR
148 lwz r11,TASK_STACK-THREAD(r12)
149 beq- 99f
150 addi r11, r11, THREAD_SIZE - INT_FRAME_SIZE
151 tophys(r11, r11)
152 stw r1,GPR1(r11)
153 stw r1,0(r11)
154 tovirt(r1, r11) /* set new kernel sp */
143#endif 155#endif
144 tovirt_vmstack r12, r12
145 tophys_novmstack r11, r11
146 mflr r10 156 mflr r10
147 stw r10, _LINK(r11) 157 stw r10, _LINK(r11)
148#ifdef CONFIG_VMAP_STACK 158#ifdef CONFIG_VMAP_STACK
@@ -150,9 +160,6 @@
150#else 160#else
151 mfspr r10,SPRN_SRR0 161 mfspr r10,SPRN_SRR0
152#endif 162#endif
153 stw r1,GPR1(r11)
154 stw r1,0(r11)
155 tovirt_novmstack r1, r11 /* set new kernel sp */
156 stw r10,_NIP(r11) 163 stw r10,_NIP(r11)
157 mfcr r10 164 mfcr r10
158 rlwinm r10,r10,0,4,2 /* Clear SO bit in CR */ 165 rlwinm r10,r10,0,4,2 /* Clear SO bit in CR */
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
index 1510b2a56669..2d6581db0c7b 100644
--- a/arch/powerpc/kernel/head_64.S
+++ b/arch/powerpc/kernel/head_64.S
@@ -417,6 +417,10 @@ generic_secondary_common_init:
417 /* From now on, r24 is expected to be logical cpuid */ 417 /* From now on, r24 is expected to be logical cpuid */
418 mr r24,r5 418 mr r24,r5
419 419
420 /* Create a temp kernel stack for use before relocation is on. */
421 ld r1,PACAEMERGSP(r13)
422 subi r1,r1,STACK_FRAME_OVERHEAD
423
420 /* See if we need to call a cpu state restore handler */ 424 /* See if we need to call a cpu state restore handler */
421 LOAD_REG_ADDR(r23, cur_cpu_spec) 425 LOAD_REG_ADDR(r23, cur_cpu_spec)
422 ld r23,0(r23) 426 ld r23,0(r23)
@@ -445,10 +449,6 @@ generic_secondary_common_init:
445 sync /* order paca.run and cur_cpu_spec */ 449 sync /* order paca.run and cur_cpu_spec */
446 isync /* In case code patching happened */ 450 isync /* In case code patching happened */
447 451
448 /* Create a temp kernel stack for use before relocation is on. */
449 ld r1,PACAEMERGSP(r13)
450 subi r1,r1,STACK_FRAME_OVERHEAD
451
452 b __secondary_start 452 b __secondary_start
453#endif /* SMP */ 453#endif /* SMP */
454 454
@@ -990,7 +990,7 @@ start_here_common:
990 bl start_kernel 990 bl start_kernel
991 991
992 /* Not reached */ 992 /* Not reached */
993 trap 9930: trap
994 EMIT_BUG_ENTRY 0b, __FILE__, __LINE__, 0 994 EMIT_BUG_ENTRY 0b, __FILE__, __LINE__, 0
995 .previous 995 .previous
996 996
diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c
index 0ad15768d762..7f5aae3c387d 100644
--- a/arch/powerpc/kernel/paca.c
+++ b/arch/powerpc/kernel/paca.c
@@ -208,7 +208,7 @@ static struct rtas_args * __init new_rtas_args(int cpu, unsigned long limit)
208struct paca_struct **paca_ptrs __read_mostly; 208struct paca_struct **paca_ptrs __read_mostly;
209EXPORT_SYMBOL(paca_ptrs); 209EXPORT_SYMBOL(paca_ptrs);
210 210
211void __init __nostackprotector initialise_paca(struct paca_struct *new_paca, int cpu) 211void __init initialise_paca(struct paca_struct *new_paca, int cpu)
212{ 212{
213#ifdef CONFIG_PPC_PSERIES 213#ifdef CONFIG_PPC_PSERIES
214 new_paca->lppaca_ptr = NULL; 214 new_paca->lppaca_ptr = NULL;
@@ -241,7 +241,7 @@ void __init __nostackprotector initialise_paca(struct paca_struct *new_paca, int
241} 241}
242 242
243/* Put the paca pointer into r13 and SPRG_PACA */ 243/* Put the paca pointer into r13 and SPRG_PACA */
244void __nostackprotector setup_paca(struct paca_struct *new_paca) 244void setup_paca(struct paca_struct *new_paca)
245{ 245{
246 /* Setup r13 */ 246 /* Setup r13 */
247 local_paca = new_paca; 247 local_paca = new_paca;
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c
index 954f41676f69..cccb32cf0e08 100644
--- a/arch/powerpc/kernel/rtas.c
+++ b/arch/powerpc/kernel/rtas.c
@@ -1030,7 +1030,7 @@ static struct rtas_filter rtas_filters[] __ro_after_init = {
1030 { "ibm,display-message", -1, 0, -1, -1, -1 }, 1030 { "ibm,display-message", -1, 0, -1, -1, -1 },
1031 { "ibm,errinjct", -1, 2, -1, -1, -1, 1024 }, 1031 { "ibm,errinjct", -1, 2, -1, -1, -1, 1024 },
1032 { "ibm,close-errinjct", -1, -1, -1, -1, -1 }, 1032 { "ibm,close-errinjct", -1, -1, -1, -1, -1 },
1033 { "ibm,open-errinct", -1, -1, -1, -1, -1 }, 1033 { "ibm,open-errinjct", -1, -1, -1, -1, -1 },
1034 { "ibm,get-config-addr-info2", -1, -1, -1, -1, -1 }, 1034 { "ibm,get-config-addr-info2", -1, -1, -1, -1, -1 },
1035 { "ibm,get-dynamic-sensor-state", -1, 1, -1, -1, -1 }, 1035 { "ibm,get-dynamic-sensor-state", -1, 1, -1, -1, -1 },
1036 { "ibm,get-indices", -1, 2, 3, -1, -1 }, 1036 { "ibm,get-indices", -1, 2, 3, -1, -1 },
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index 808ec9fab605..da8c71f321ad 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -919,8 +919,6 @@ void __init setup_arch(char **cmdline_p)
919 919
920 /* On BookE, setup per-core TLB data structures. */ 920 /* On BookE, setup per-core TLB data structures. */
921 setup_tlb_core_data(); 921 setup_tlb_core_data();
922
923 smp_release_cpus();
924#endif 922#endif
925 923
926 /* Print various info about the machine that has been gathered so far. */ 924 /* Print various info about the machine that has been gathered so far. */
@@ -944,6 +942,8 @@ void __init setup_arch(char **cmdline_p)
944 exc_lvl_early_init(); 942 exc_lvl_early_init();
945 emergency_stack_init(); 943 emergency_stack_init();
946 944
945 smp_release_cpus();
946
947 initmem_init(); 947 initmem_init();
948 948
949 early_memtest(min_low_pfn << PAGE_SHIFT, max_low_pfn << PAGE_SHIFT); 949 early_memtest(min_low_pfn << PAGE_SHIFT, max_low_pfn << PAGE_SHIFT);
diff --git a/arch/powerpc/kernel/setup.h b/arch/powerpc/kernel/setup.h
index 2ec835574cc9..2dd0d9cb5a20 100644
--- a/arch/powerpc/kernel/setup.h
+++ b/arch/powerpc/kernel/setup.h
@@ -8,12 +8,6 @@
8#ifndef __ARCH_POWERPC_KERNEL_SETUP_H 8#ifndef __ARCH_POWERPC_KERNEL_SETUP_H
9#define __ARCH_POWERPC_KERNEL_SETUP_H 9#define __ARCH_POWERPC_KERNEL_SETUP_H
10 10
11#ifdef CONFIG_CC_IS_CLANG
12#define __nostackprotector
13#else
14#define __nostackprotector __attribute__((__optimize__("no-stack-protector")))
15#endif
16
17void initialize_cache_info(void); 11void initialize_cache_info(void);
18void irqstack_early_init(void); 12void irqstack_early_init(void);
19 13
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 74fd47f46fa5..c28e949cc222 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -283,7 +283,7 @@ void __init record_spr_defaults(void)
283 * device-tree is not accessible via normal means at this point. 283 * device-tree is not accessible via normal means at this point.
284 */ 284 */
285 285
286void __init __nostackprotector early_setup(unsigned long dt_ptr) 286void __init early_setup(unsigned long dt_ptr)
287{ 287{
288 static __initdata struct paca_struct boot_paca; 288 static __initdata struct paca_struct boot_paca;
289 289
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 8c2857cbd960..7d6cf75a7fd8 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -919,7 +919,7 @@ static struct sched_domain_topology_level powerpc_topology[] = {
919 { NULL, }, 919 { NULL, },
920}; 920};
921 921
922static int init_big_cores(void) 922static int __init init_big_cores(void)
923{ 923{
924 int cpu; 924 int cpu;
925 925
diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c
index 855457ed09b5..b18bce1a209f 100644
--- a/arch/powerpc/lib/sstep.c
+++ b/arch/powerpc/lib/sstep.c
@@ -1346,6 +1346,9 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs,
1346 switch (opcode) { 1346 switch (opcode) {
1347#ifdef __powerpc64__ 1347#ifdef __powerpc64__
1348 case 1: 1348 case 1:
1349 if (!cpu_has_feature(CPU_FTR_ARCH_31))
1350 return -1;
1351
1349 prefix_r = GET_PREFIX_R(word); 1352 prefix_r = GET_PREFIX_R(word);
1350 ra = GET_PREFIX_RA(suffix); 1353 ra = GET_PREFIX_RA(suffix);
1351 rd = (suffix >> 21) & 0x1f; 1354 rd = (suffix >> 21) & 0x1f;
@@ -2733,6 +2736,9 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs,
2733 } 2736 }
2734 break; 2737 break;
2735 case 1: /* Prefixed instructions */ 2738 case 1: /* Prefixed instructions */
2739 if (!cpu_has_feature(CPU_FTR_ARCH_31))
2740 return -1;
2741
2736 prefix_r = GET_PREFIX_R(word); 2742 prefix_r = GET_PREFIX_R(word);
2737 ra = GET_PREFIX_RA(suffix); 2743 ra = GET_PREFIX_RA(suffix);
2738 op->update_reg = ra; 2744 op->update_reg = ra;
@@ -2751,6 +2757,7 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs,
2751 case 41: /* plwa */ 2757 case 41: /* plwa */
2752 op->type = MKOP(LOAD, PREFIXED | SIGNEXT, 4); 2758 op->type = MKOP(LOAD, PREFIXED | SIGNEXT, 4);
2753 break; 2759 break;
2760#ifdef CONFIG_VSX
2754 case 42: /* plxsd */ 2761 case 42: /* plxsd */
2755 op->reg = rd + 32; 2762 op->reg = rd + 32;
2756 op->type = MKOP(LOAD_VSX, PREFIXED, 8); 2763 op->type = MKOP(LOAD_VSX, PREFIXED, 8);
@@ -2791,13 +2798,14 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs,
2791 op->element_size = 16; 2798 op->element_size = 16;
2792 op->vsx_flags = VSX_CHECK_VEC; 2799 op->vsx_flags = VSX_CHECK_VEC;
2793 break; 2800 break;
2801#endif /* CONFIG_VSX */
2794 case 56: /* plq */ 2802 case 56: /* plq */
2795 op->type = MKOP(LOAD, PREFIXED, 16); 2803 op->type = MKOP(LOAD, PREFIXED, 16);
2796 break; 2804 break;
2797 case 57: /* pld */ 2805 case 57: /* pld */
2798 op->type = MKOP(LOAD, PREFIXED, 8); 2806 op->type = MKOP(LOAD, PREFIXED, 8);
2799 break; 2807 break;
2800 case 60: /* stq */ 2808 case 60: /* pstq */
2801 op->type = MKOP(STORE, PREFIXED, 16); 2809 op->type = MKOP(STORE, PREFIXED, 16);
2802 break; 2810 break;
2803 case 61: /* pstd */ 2811 case 61: /* pstd */
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c
index 0add963a849b..72e1b51beb10 100644
--- a/arch/powerpc/mm/fault.c
+++ b/arch/powerpc/mm/fault.c
@@ -303,7 +303,6 @@ static inline void cmo_account_page_fault(void)
303static inline void cmo_account_page_fault(void) { } 303static inline void cmo_account_page_fault(void) { }
304#endif /* CONFIG_PPC_SMLPAR */ 304#endif /* CONFIG_PPC_SMLPAR */
305 305
306#ifdef CONFIG_PPC_BOOK3S
307static void sanity_check_fault(bool is_write, bool is_user, 306static void sanity_check_fault(bool is_write, bool is_user,
308 unsigned long error_code, unsigned long address) 307 unsigned long error_code, unsigned long address)
309{ 308{
@@ -320,6 +319,9 @@ static void sanity_check_fault(bool is_write, bool is_user,
320 return; 319 return;
321 } 320 }
322 321
322 if (!IS_ENABLED(CONFIG_PPC_BOOK3S))
323 return;
324
323 /* 325 /*
324 * For hash translation mode, we should never get a 326 * For hash translation mode, we should never get a
325 * PROTFAULT. Any update to pte to reduce access will result in us 327 * PROTFAULT. Any update to pte to reduce access will result in us
@@ -354,10 +356,6 @@ static void sanity_check_fault(bool is_write, bool is_user,
354 356
355 WARN_ON_ONCE(error_code & DSISR_PROTFAULT); 357 WARN_ON_ONCE(error_code & DSISR_PROTFAULT);
356} 358}
357#else
358static void sanity_check_fault(bool is_write, bool is_user,
359 unsigned long error_code, unsigned long address) { }
360#endif /* CONFIG_PPC_BOOK3S */
361 359
362/* 360/*
363 * Define the correct "is_write" bit in error_code based 361 * Define the correct "is_write" bit in error_code based
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
index 3fc325bebe4d..22eb1c718e62 100644
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
@@ -532,7 +532,7 @@ void __flush_dcache_icache(void *p)
532 * space occurs, before returning to user space. 532 * space occurs, before returning to user space.
533 */ 533 */
534 534
535 if (cpu_has_feature(MMU_FTR_TYPE_44x)) 535 if (mmu_has_feature(MMU_FTR_TYPE_44x))
536 return; 536 return;
537 537
538 invalidate_icache_range(addr, addr + PAGE_SIZE); 538 invalidate_icache_range(addr, addr + PAGE_SIZE);
diff --git a/arch/powerpc/perf/core-book3s.c b/arch/powerpc/perf/core-book3s.c
index 08643cba1494..43599e671d38 100644
--- a/arch/powerpc/perf/core-book3s.c
+++ b/arch/powerpc/perf/core-book3s.c
@@ -137,6 +137,9 @@ static void pmao_restore_workaround(bool ebb) { }
137 137
138bool is_sier_available(void) 138bool is_sier_available(void)
139{ 139{
140 if (!ppmu)
141 return false;
142
140 if (ppmu->flags & PPMU_HAS_SIER) 143 if (ppmu->flags & PPMU_HAS_SIER)
141 return true; 144 return true;
142 145
@@ -2122,6 +2125,16 @@ static void record_and_restart(struct perf_event *event, unsigned long val,
2122 perf_event_update_userpage(event); 2125 perf_event_update_userpage(event);
2123 2126
2124 /* 2127 /*
2128 * Due to hardware limitation, sometimes SIAR could sample a kernel
2129 * address even when freeze on supervisor state (kernel) is set in
2130 * MMCR2. Check attr.exclude_kernel and address to drop the sample in
2131 * these cases.
2132 */
2133 if (event->attr.exclude_kernel && record)
2134 if (is_kernel_addr(mfspr(SPRN_SIAR)))
2135 record = 0;
2136
2137 /*
2125 * Finally record data if requested. 2138 * Finally record data if requested.
2126 */ 2139 */
2127 if (record) { 2140 if (record) {
diff --git a/arch/powerpc/perf/isa207-common.c b/arch/powerpc/perf/isa207-common.c
index 2848904df638..e1a21d34c6e4 100644
--- a/arch/powerpc/perf/isa207-common.c
+++ b/arch/powerpc/perf/isa207-common.c
@@ -247,6 +247,9 @@ void isa207_get_mem_weight(u64 *weight)
247 u64 sier = mfspr(SPRN_SIER); 247 u64 sier = mfspr(SPRN_SIER);
248 u64 val = (sier & ISA207_SIER_TYPE_MASK) >> ISA207_SIER_TYPE_SHIFT; 248 u64 val = (sier & ISA207_SIER_TYPE_MASK) >> ISA207_SIER_TYPE_SHIFT;
249 249
250 if (cpu_has_feature(CPU_FTR_ARCH_31))
251 mantissa = P10_MMCRA_THR_CTR_MANT(mmcra);
252
250 if (val == 0 || val == 7) 253 if (val == 0 || val == 7)
251 *weight = 0; 254 *weight = 0;
252 else 255 else
@@ -311,9 +314,11 @@ int isa207_get_constraint(u64 event, unsigned long *maskp, unsigned long *valp)
311 } 314 }
312 315
313 if (unit >= 6 && unit <= 9) { 316 if (unit >= 6 && unit <= 9) {
314 if (cpu_has_feature(CPU_FTR_ARCH_31) && (unit == 6)) { 317 if (cpu_has_feature(CPU_FTR_ARCH_31)) {
315 mask |= CNST_L2L3_GROUP_MASK; 318 if (unit == 6) {
316 value |= CNST_L2L3_GROUP_VAL(event >> p10_L2L3_EVENT_SHIFT); 319 mask |= CNST_L2L3_GROUP_MASK;
320 value |= CNST_L2L3_GROUP_VAL(event >> p10_L2L3_EVENT_SHIFT);
321 }
317 } else if (cpu_has_feature(CPU_FTR_ARCH_300)) { 322 } else if (cpu_has_feature(CPU_FTR_ARCH_300)) {
318 mask |= CNST_CACHE_GROUP_MASK; 323 mask |= CNST_CACHE_GROUP_MASK;
319 value |= CNST_CACHE_GROUP_VAL(event & 0xff); 324 value |= CNST_CACHE_GROUP_VAL(event & 0xff);
@@ -339,12 +344,22 @@ int isa207_get_constraint(u64 event, unsigned long *maskp, unsigned long *valp)
339 value |= CNST_L1_QUAL_VAL(cache); 344 value |= CNST_L1_QUAL_VAL(cache);
340 } 345 }
341 346
347 if (cpu_has_feature(CPU_FTR_ARCH_31)) {
348 mask |= CNST_RADIX_SCOPE_GROUP_MASK;
349 value |= CNST_RADIX_SCOPE_GROUP_VAL(event >> p10_EVENT_RADIX_SCOPE_QUAL_SHIFT);
350 }
351
342 if (is_event_marked(event)) { 352 if (is_event_marked(event)) {
343 mask |= CNST_SAMPLE_MASK; 353 mask |= CNST_SAMPLE_MASK;
344 value |= CNST_SAMPLE_VAL(event >> EVENT_SAMPLE_SHIFT); 354 value |= CNST_SAMPLE_VAL(event >> EVENT_SAMPLE_SHIFT);
345 } 355 }
346 356
347 if (cpu_has_feature(CPU_FTR_ARCH_300)) { 357 if (cpu_has_feature(CPU_FTR_ARCH_31)) {
358 if (event_is_threshold(event)) {
359 mask |= CNST_THRESH_CTL_SEL_MASK;
360 value |= CNST_THRESH_CTL_SEL_VAL(event >> EVENT_THRESH_SHIFT);
361 }
362 } else if (cpu_has_feature(CPU_FTR_ARCH_300)) {
348 if (event_is_threshold(event) && is_thresh_cmp_valid(event)) { 363 if (event_is_threshold(event) && is_thresh_cmp_valid(event)) {
349 mask |= CNST_THRESH_MASK; 364 mask |= CNST_THRESH_MASK;
350 value |= CNST_THRESH_VAL(event >> EVENT_THRESH_SHIFT); 365 value |= CNST_THRESH_VAL(event >> EVENT_THRESH_SHIFT);
@@ -456,6 +471,13 @@ int isa207_compute_mmcr(u64 event[], int n_ev,
456 } 471 }
457 } 472 }
458 473
474 /* Set RADIX_SCOPE_QUAL bit */
475 if (cpu_has_feature(CPU_FTR_ARCH_31)) {
476 val = (event[i] >> p10_EVENT_RADIX_SCOPE_QUAL_SHIFT) &
477 p10_EVENT_RADIX_SCOPE_QUAL_MASK;
478 mmcr1 |= val << p10_MMCR1_RADIX_SCOPE_QUAL_SHIFT;
479 }
480
459 if (is_event_marked(event[i])) { 481 if (is_event_marked(event[i])) {
460 mmcra |= MMCRA_SAMPLE_ENABLE; 482 mmcra |= MMCRA_SAMPLE_ENABLE;
461 483
diff --git a/arch/powerpc/perf/isa207-common.h b/arch/powerpc/perf/isa207-common.h
index 7025de5e60e7..454b32c31440 100644
--- a/arch/powerpc/perf/isa207-common.h
+++ b/arch/powerpc/perf/isa207-common.h
@@ -101,6 +101,9 @@
101#define p10_EVENT_CACHE_SEL_MASK 0x3ull 101#define p10_EVENT_CACHE_SEL_MASK 0x3ull
102#define p10_EVENT_MMCR3_MASK 0x7fffull 102#define p10_EVENT_MMCR3_MASK 0x7fffull
103#define p10_EVENT_MMCR3_SHIFT 45 103#define p10_EVENT_MMCR3_SHIFT 45
104#define p10_EVENT_RADIX_SCOPE_QUAL_SHIFT 9
105#define p10_EVENT_RADIX_SCOPE_QUAL_MASK 0x1
106#define p10_MMCR1_RADIX_SCOPE_QUAL_SHIFT 45
104 107
105#define p10_EVENT_VALID_MASK \ 108#define p10_EVENT_VALID_MASK \
106 ((p10_SDAR_MODE_MASK << p10_SDAR_MODE_SHIFT | \ 109 ((p10_SDAR_MODE_MASK << p10_SDAR_MODE_SHIFT | \
@@ -112,6 +115,7 @@
112 (p9_EVENT_COMBINE_MASK << p9_EVENT_COMBINE_SHIFT) | \ 115 (p9_EVENT_COMBINE_MASK << p9_EVENT_COMBINE_SHIFT) | \
113 (p10_EVENT_MMCR3_MASK << p10_EVENT_MMCR3_SHIFT) | \ 116 (p10_EVENT_MMCR3_MASK << p10_EVENT_MMCR3_SHIFT) | \
114 (EVENT_MARKED_MASK << EVENT_MARKED_SHIFT) | \ 117 (EVENT_MARKED_MASK << EVENT_MARKED_SHIFT) | \
118 (p10_EVENT_RADIX_SCOPE_QUAL_MASK << p10_EVENT_RADIX_SCOPE_QUAL_SHIFT) | \
115 EVENT_LINUX_MASK | \ 119 EVENT_LINUX_MASK | \
116 EVENT_PSEL_MASK)) 120 EVENT_PSEL_MASK))
117/* 121/*
@@ -125,9 +129,9 @@
125 * 129 *
126 * 28 24 20 16 12 8 4 0 130 * 28 24 20 16 12 8 4 0
127 * | - - - - | - - - - | - - - - | - - - - | - - - - | - - - - | - - - - | - - - - | 131 * | - - - - | - - - - | - - - - | - - - - | - - - - | - - - - | - - - - | - - - - |
128 * [ ] | [ ] [ sample ] [ ] [6] [5] [4] [3] [2] [1] 132 * [ ] | [ ] | [ sample ] [ ] [6] [5] [4] [3] [2] [1]
129 * | | | | 133 * | | | | |
130 * BHRB IFM -* | | | Count of events for each PMC. 134 * BHRB IFM -* | | |*radix_scope | Count of events for each PMC.
131 * EBB -* | | p1, p2, p3, p4, p5, p6. 135 * EBB -* | | p1, p2, p3, p4, p5, p6.
132 * L1 I/D qualifier -* | 136 * L1 I/D qualifier -* |
133 * nc - number of counters -* 137 * nc - number of counters -*
@@ -145,6 +149,9 @@
145#define CNST_THRESH_VAL(v) (((v) & EVENT_THRESH_MASK) << 32) 149#define CNST_THRESH_VAL(v) (((v) & EVENT_THRESH_MASK) << 32)
146#define CNST_THRESH_MASK CNST_THRESH_VAL(EVENT_THRESH_MASK) 150#define CNST_THRESH_MASK CNST_THRESH_VAL(EVENT_THRESH_MASK)
147 151
152#define CNST_THRESH_CTL_SEL_VAL(v) (((v) & 0x7ffull) << 32)
153#define CNST_THRESH_CTL_SEL_MASK CNST_THRESH_CTL_SEL_VAL(0x7ff)
154
148#define CNST_EBB_VAL(v) (((v) & EVENT_EBB_MASK) << 24) 155#define CNST_EBB_VAL(v) (((v) & EVENT_EBB_MASK) << 24)
149#define CNST_EBB_MASK CNST_EBB_VAL(EVENT_EBB_MASK) 156#define CNST_EBB_MASK CNST_EBB_VAL(EVENT_EBB_MASK)
150 157
@@ -165,6 +172,9 @@
165#define CNST_L2L3_GROUP_VAL(v) (((v) & 0x1full) << 55) 172#define CNST_L2L3_GROUP_VAL(v) (((v) & 0x1full) << 55)
166#define CNST_L2L3_GROUP_MASK CNST_L2L3_GROUP_VAL(0x1f) 173#define CNST_L2L3_GROUP_MASK CNST_L2L3_GROUP_VAL(0x1f)
167 174
175#define CNST_RADIX_SCOPE_GROUP_VAL(v) (((v) & 0x1ull) << 21)
176#define CNST_RADIX_SCOPE_GROUP_MASK CNST_RADIX_SCOPE_GROUP_VAL(1)
177
168/* 178/*
169 * For NC we are counting up to 4 events. This requires three bits, and we need 179 * For NC we are counting up to 4 events. This requires three bits, and we need
170 * the fifth event to overflow and set the 4th bit. To achieve that we bias the 180 * the fifth event to overflow and set the 4th bit. To achieve that we bias the
@@ -221,6 +231,10 @@
221#define MMCRA_THR_CTR_EXP(v) (((v) >> MMCRA_THR_CTR_EXP_SHIFT) &\ 231#define MMCRA_THR_CTR_EXP(v) (((v) >> MMCRA_THR_CTR_EXP_SHIFT) &\
222 MMCRA_THR_CTR_EXP_MASK) 232 MMCRA_THR_CTR_EXP_MASK)
223 233
234#define P10_MMCRA_THR_CTR_MANT_MASK 0xFFul
235#define P10_MMCRA_THR_CTR_MANT(v) (((v) >> MMCRA_THR_CTR_MANT_SHIFT) &\
236 P10_MMCRA_THR_CTR_MANT_MASK)
237
224/* MMCRA Threshold Compare bit constant for power9 */ 238/* MMCRA Threshold Compare bit constant for power9 */
225#define p9_MMCRA_THR_CMP_SHIFT 45 239#define p9_MMCRA_THR_CMP_SHIFT 45
226 240
diff --git a/arch/powerpc/perf/power10-pmu.c b/arch/powerpc/perf/power10-pmu.c
index 9dbe8f9b89b4..cf44fb744613 100644
--- a/arch/powerpc/perf/power10-pmu.c
+++ b/arch/powerpc/perf/power10-pmu.c
@@ -23,10 +23,10 @@
23 * 23 *
24 * 28 24 20 16 12 8 4 0 24 * 28 24 20 16 12 8 4 0
25 * | - - - - | - - - - | - - - - | - - - - | - - - - | - - - - | - - - - | - - - - | 25 * | - - - - | - - - - | - - - - | - - - - | - - - - | - - - - | - - - - | - - - - |
26 * [ ] [ sample ] [ ] [ ] [ pmc ] [unit ] [ ] m [ pmcxsel ] 26 * [ ] [ sample ] [ ] [ ] [ pmc ] [unit ] [ ] | m [ pmcxsel ]
27 * | | | | | | 27 * | | | | | | |
28 * | | | | | *- mark 28 * | | | | | | *- mark
29 * | | | *- L1/L2/L3 cache_sel | 29 * | | | *- L1/L2/L3 cache_sel | |*-radix_scope_qual
30 * | | sdar_mode | 30 * | | sdar_mode |
31 * | *- sampling mode for marked events *- combine 31 * | *- sampling mode for marked events *- combine
32 * | 32 * |
@@ -59,6 +59,7 @@
59 * 59 *
60 * MMCR1[16] = cache_sel[0] 60 * MMCR1[16] = cache_sel[0]
61 * MMCR1[17] = cache_sel[1] 61 * MMCR1[17] = cache_sel[1]
62 * MMCR1[18] = radix_scope_qual
62 * 63 *
63 * if mark: 64 * if mark:
64 * MMCRA[63] = 1 (SAMPLE_ENABLE) 65 * MMCRA[63] = 1 (SAMPLE_ENABLE)
@@ -175,6 +176,7 @@ PMU_FORMAT_ATTR(src_sel, "config:45-46");
175PMU_FORMAT_ATTR(invert_bit, "config:47"); 176PMU_FORMAT_ATTR(invert_bit, "config:47");
176PMU_FORMAT_ATTR(src_mask, "config:48-53"); 177PMU_FORMAT_ATTR(src_mask, "config:48-53");
177PMU_FORMAT_ATTR(src_match, "config:54-59"); 178PMU_FORMAT_ATTR(src_match, "config:54-59");
179PMU_FORMAT_ATTR(radix_scope, "config:9");
178 180
179static struct attribute *power10_pmu_format_attr[] = { 181static struct attribute *power10_pmu_format_attr[] = {
180 &format_attr_event.attr, 182 &format_attr_event.attr,
@@ -194,6 +196,7 @@ static struct attribute *power10_pmu_format_attr[] = {
194 &format_attr_invert_bit.attr, 196 &format_attr_invert_bit.attr,
195 &format_attr_src_mask.attr, 197 &format_attr_src_mask.attr,
196 &format_attr_src_match.attr, 198 &format_attr_src_match.attr,
199 &format_attr_radix_scope.attr,
197 NULL, 200 NULL,
198}; 201};
199 202
diff --git a/arch/powerpc/platforms/8xx/micropatch.c b/arch/powerpc/platforms/8xx/micropatch.c
index aed4bc75f352..aef179fcbd4f 100644
--- a/arch/powerpc/platforms/8xx/micropatch.c
+++ b/arch/powerpc/platforms/8xx/micropatch.c
@@ -360,6 +360,17 @@ void __init cpm_load_patch(cpm8xx_t *cp)
360 if (IS_ENABLED(CONFIG_SMC_UCODE_PATCH)) { 360 if (IS_ENABLED(CONFIG_SMC_UCODE_PATCH)) {
361 smc_uart_t *smp; 361 smc_uart_t *smp;
362 362
363 if (IS_ENABLED(CONFIG_PPC_EARLY_DEBUG_CPM)) {
364 int i;
365
366 for (i = 0; i < sizeof(*smp); i += 4) {
367 u32 __iomem *src = (u32 __iomem *)&cp->cp_dparam[PROFF_SMC1 + i];
368 u32 __iomem *dst = (u32 __iomem *)&cp->cp_dparam[PROFF_DSP1 + i];
369
370 out_be32(dst, in_be32(src));
371 }
372 }
373
363 smp = (smc_uart_t *)&cp->cp_dparam[PROFF_SMC1]; 374 smp = (smc_uart_t *)&cp->cp_dparam[PROFF_SMC1];
364 out_be16(&smp->smc_rpbase, 0x1ec0); 375 out_be16(&smp->smc_rpbase, 0x1ec0);
365 smp = (smc_uart_t *)&cp->cp_dparam[PROFF_SMC2]; 376 smp = (smc_uart_t *)&cp->cp_dparam[PROFF_SMC2];
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
index c194c4ae8bc7..32a9c4c09b98 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -36,7 +36,7 @@ config PPC_BOOK3S_6xx
36 select PPC_HAVE_PMU_SUPPORT 36 select PPC_HAVE_PMU_SUPPORT
37 select PPC_HAVE_KUEP 37 select PPC_HAVE_KUEP
38 select PPC_HAVE_KUAP 38 select PPC_HAVE_KUAP
39 select HAVE_ARCH_VMAP_STACK if !ADB_PMU 39 select HAVE_ARCH_VMAP_STACK
40 40
41config PPC_85xx 41config PPC_85xx
42 bool "Freescale 85xx" 42 bool "Freescale 85xx"
diff --git a/arch/powerpc/platforms/powermac/sleep.S b/arch/powerpc/platforms/powermac/sleep.S
index 7e0f8ba6e54a..d497a60003d2 100644
--- a/arch/powerpc/platforms/powermac/sleep.S
+++ b/arch/powerpc/platforms/powermac/sleep.S
@@ -44,7 +44,8 @@
44#define SL_TB 0xa0 44#define SL_TB 0xa0
45#define SL_R2 0xa8 45#define SL_R2 0xa8
46#define SL_CR 0xac 46#define SL_CR 0xac
47#define SL_R12 0xb0 /* r12 to r31 */ 47#define SL_LR 0xb0
48#define SL_R12 0xb4 /* r12 to r31 */
48#define SL_SIZE (SL_R12 + 80) 49#define SL_SIZE (SL_R12 + 80)
49 50
50 .section .text 51 .section .text
@@ -63,105 +64,107 @@ _GLOBAL(low_sleep_handler)
63 blr 64 blr
64#else 65#else
65 mflr r0 66 mflr r0
66 stw r0,4(r1) 67 lis r11,sleep_storage@ha
67 stwu r1,-SL_SIZE(r1) 68 addi r11,r11,sleep_storage@l
69 stw r0,SL_LR(r11)
68 mfcr r0 70 mfcr r0
69 stw r0,SL_CR(r1) 71 stw r0,SL_CR(r11)
70 stw r2,SL_R2(r1) 72 stw r1,SL_SP(r11)
71 stmw r12,SL_R12(r1) 73 stw r2,SL_R2(r11)
74 stmw r12,SL_R12(r11)
72 75
73 /* Save MSR & SDR1 */ 76 /* Save MSR & SDR1 */
74 mfmsr r4 77 mfmsr r4
75 stw r4,SL_MSR(r1) 78 stw r4,SL_MSR(r11)
76 mfsdr1 r4 79 mfsdr1 r4
77 stw r4,SL_SDR1(r1) 80 stw r4,SL_SDR1(r11)
78 81
79 /* Get a stable timebase and save it */ 82 /* Get a stable timebase and save it */
801: mftbu r4 831: mftbu r4
81 stw r4,SL_TB(r1) 84 stw r4,SL_TB(r11)
82 mftb r5 85 mftb r5
83 stw r5,SL_TB+4(r1) 86 stw r5,SL_TB+4(r11)
84 mftbu r3 87 mftbu r3
85 cmpw r3,r4 88 cmpw r3,r4
86 bne 1b 89 bne 1b
87 90
88 /* Save SPRGs */ 91 /* Save SPRGs */
89 mfsprg r4,0 92 mfsprg r4,0
90 stw r4,SL_SPRG0(r1) 93 stw r4,SL_SPRG0(r11)
91 mfsprg r4,1 94 mfsprg r4,1
92 stw r4,SL_SPRG0+4(r1) 95 stw r4,SL_SPRG0+4(r11)
93 mfsprg r4,2 96 mfsprg r4,2
94 stw r4,SL_SPRG0+8(r1) 97 stw r4,SL_SPRG0+8(r11)
95 mfsprg r4,3 98 mfsprg r4,3
96 stw r4,SL_SPRG0+12(r1) 99 stw r4,SL_SPRG0+12(r11)
97 100
98 /* Save BATs */ 101 /* Save BATs */
99 mfdbatu r4,0 102 mfdbatu r4,0
100 stw r4,SL_DBAT0(r1) 103 stw r4,SL_DBAT0(r11)
101 mfdbatl r4,0 104 mfdbatl r4,0
102 stw r4,SL_DBAT0+4(r1) 105 stw r4,SL_DBAT0+4(r11)
103 mfdbatu r4,1 106 mfdbatu r4,1
104 stw r4,SL_DBAT1(r1) 107 stw r4,SL_DBAT1(r11)
105 mfdbatl r4,1 108 mfdbatl r4,1
106 stw r4,SL_DBAT1+4(r1) 109 stw r4,SL_DBAT1+4(r11)
107 mfdbatu r4,2 110 mfdbatu r4,2
108 stw r4,SL_DBAT2(r1) 111 stw r4,SL_DBAT2(r11)
109 mfdbatl r4,2 112 mfdbatl r4,2
110 stw r4,SL_DBAT2+4(r1) 113 stw r4,SL_DBAT2+4(r11)
111 mfdbatu r4,3 114 mfdbatu r4,3
112 stw r4,SL_DBAT3(r1) 115 stw r4,SL_DBAT3(r11)
113 mfdbatl r4,3 116 mfdbatl r4,3
114 stw r4,SL_DBAT3+4(r1) 117 stw r4,SL_DBAT3+4(r11)
115 mfibatu r4,0 118 mfibatu r4,0
116 stw r4,SL_IBAT0(r1) 119 stw r4,SL_IBAT0(r11)
117 mfibatl r4,0 120 mfibatl r4,0
118 stw r4,SL_IBAT0+4(r1) 121 stw r4,SL_IBAT0+4(r11)
119 mfibatu r4,1 122 mfibatu r4,1
120 stw r4,SL_IBAT1(r1) 123 stw r4,SL_IBAT1(r11)
121 mfibatl r4,1 124 mfibatl r4,1
122 stw r4,SL_IBAT1+4(r1) 125 stw r4,SL_IBAT1+4(r11)
123 mfibatu r4,2 126 mfibatu r4,2
124 stw r4,SL_IBAT2(r1) 127 stw r4,SL_IBAT2(r11)
125 mfibatl r4,2 128 mfibatl r4,2
126 stw r4,SL_IBAT2+4(r1) 129 stw r4,SL_IBAT2+4(r11)
127 mfibatu r4,3 130 mfibatu r4,3
128 stw r4,SL_IBAT3(r1) 131 stw r4,SL_IBAT3(r11)
129 mfibatl r4,3 132 mfibatl r4,3
130 stw r4,SL_IBAT3+4(r1) 133 stw r4,SL_IBAT3+4(r11)
131 134
132BEGIN_MMU_FTR_SECTION 135BEGIN_MMU_FTR_SECTION
133 mfspr r4,SPRN_DBAT4U 136 mfspr r4,SPRN_DBAT4U
134 stw r4,SL_DBAT4(r1) 137 stw r4,SL_DBAT4(r11)
135 mfspr r4,SPRN_DBAT4L 138 mfspr r4,SPRN_DBAT4L
136 stw r4,SL_DBAT4+4(r1) 139 stw r4,SL_DBAT4+4(r11)
137 mfspr r4,SPRN_DBAT5U 140 mfspr r4,SPRN_DBAT5U
138 stw r4,SL_DBAT5(r1) 141 stw r4,SL_DBAT5(r11)
139 mfspr r4,SPRN_DBAT5L 142 mfspr r4,SPRN_DBAT5L
140 stw r4,SL_DBAT5+4(r1) 143 stw r4,SL_DBAT5+4(r11)
141 mfspr r4,SPRN_DBAT6U 144 mfspr r4,SPRN_DBAT6U
142 stw r4,SL_DBAT6(r1) 145 stw r4,SL_DBAT6(r11