Linux 5.10.37
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.10.37 kernel.
All users of the 5.10 kernel series must upgrade.
The updated 5.10.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.10.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Documentation/devicetree/bindings/serial/st,stm32-uart.yaml | 3 Documentation/driver-api/xilinx/eemi.rst | 31 Documentation/userspace-api/media/v4l/subdev-formats.rst | 4 Makefile | 2 arch/arm/boot/dts/aspeed-bmc-ibm-rainier.dts | 4 arch/arm/boot/dts/exynos4210-i9100.dts | 2 arch/arm/boot/dts/exynos4412-midas.dtsi | 6 arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 2 arch/arm/boot/dts/exynos5250-smdk5250.dts | 2 arch/arm/boot/dts/exynos5250-snow-common.dtsi | 2 arch/arm/boot/dts/r8a7790-lager.dts | 3 arch/arm/boot/dts/r8a7791-koelsch.dts | 3 arch/arm/boot/dts/r8a7791-porter.dts | 2 arch/arm/boot/dts/r8a7793-gose.dts | 3 arch/arm/boot/dts/r8a7794-alt.dts | 3 arch/arm/boot/dts/r8a7794-silk.dts | 2 arch/arm/boot/dts/s5pv210-fascinate4g.dts | 2 arch/arm/boot/dts/stm32mp15-pinctrl.dtsi | 21 arch/arm/boot/dts/uniphier-pxs2.dtsi | 2 arch/arm/crypto/poly1305-glue.c | 2 arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi | 2 arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 4 arch/arm64/boot/dts/qcom/sdm845.dtsi | 2 arch/arm64/boot/dts/qcom/sm8150.dtsi | 2 arch/arm64/boot/dts/qcom/sm8250.dtsi | 6 arch/arm64/boot/dts/renesas/hihope-common.dtsi | 3 arch/arm64/boot/dts/renesas/r8a774a1-beacon-rzg2m-kit.dts | 3 arch/arm64/boot/dts/renesas/r8a774c0-cat874.dts | 2 arch/arm64/boot/dts/renesas/r8a77980.dtsi | 16 arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts | 3 arch/arm64/boot/dts/renesas/r8a779a0.dtsi | 5 arch/arm64/boot/dts/renesas/salvator-common.dtsi | 3 arch/arm64/boot/dts/renesas/ulcb-kf.dtsi | 1 arch/arm64/boot/dts/renesas/ulcb.dtsi | 2 arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi | 2 arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi | 4 arch/arm64/crypto/poly1305-glue.c | 2 arch/arm64/include/asm/kvm_host.h | 1 arch/arm64/include/asm/processor.h | 3 arch/arm64/kvm/arm.c | 2 arch/arm64/kvm/debug.c | 88 - arch/arm64/kvm/reset.c | 5 arch/arm64/kvm/vgic/vgic-kvm-device.c | 7 arch/arm64/mm/init.c | 33 arch/ia64/kernel/efi.c | 11 arch/m68k/include/asm/mvme147hw.h | 3 arch/m68k/kernel/sys_m68k.c | 2 arch/m68k/mvme147/config.c | 14 arch/m68k/mvme16x/config.c | 14 arch/mips/Kconfig | 1 arch/mips/boot/dts/brcm/bcm3368.dtsi | 2 arch/mips/boot/dts/brcm/bcm63268.dtsi | 2 arch/mips/boot/dts/brcm/bcm6358.dtsi | 2 arch/mips/boot/dts/brcm/bcm6362.dtsi | 2 arch/mips/boot/dts/brcm/bcm6368.dtsi | 2 arch/mips/crypto/poly1305-glue.c | 2 arch/mips/include/asm/asmmacro.h | 3 arch/mips/loongson64/init.c | 2 arch/mips/pci/pci-legacy.c | 9 arch/mips/pci/pci-mt7620.c | 5 arch/mips/pci/pci-rt2880.c | 37 arch/powerpc/Kconfig | 2 arch/powerpc/Kconfig.debug | 1 arch/powerpc/include/asm/book3s/64/pgtable.h | 4 arch/powerpc/include/asm/book3s/64/radix.h | 6 arch/powerpc/include/asm/fixmap.h | 9 arch/powerpc/include/asm/nohash/64/pgtable.h | 5 arch/powerpc/include/asm/smp.h | 5 arch/powerpc/kernel/fadump.c | 2 arch/powerpc/kernel/prom.c | 2 arch/powerpc/kernel/smp.c | 39 arch/powerpc/kvm/book3s_hv.c | 3 arch/powerpc/mm/book3s64/radix_pgtable.c | 4 arch/powerpc/perf/isa207-common.c | 4 arch/powerpc/perf/power10-events-list.h | 4 arch/powerpc/platforms/52xx/lite5200_sleep.S | 2 arch/powerpc/platforms/pseries/pci_dlpar.c | 4 arch/powerpc/platforms/pseries/vio.c | 4 arch/powerpc/sysdev/xive/common.c | 35 arch/s390/kernel/setup.c | 4 arch/s390/kvm/gaccess.c | 30 arch/s390/kvm/gaccess.h | 60 arch/s390/kvm/kvm-s390.c | 4 arch/s390/kvm/vsie.c | 109 + arch/x86/Kconfig | 1 arch/x86/crypto/poly1305_glue.c | 6 arch/x86/events/amd/iommu.c | 6 arch/x86/events/amd/uncore.c | 6 arch/x86/kernel/apic/x2apic_uv_x.c | 3 arch/x86/kernel/cpu/microcode/core.c | 8 arch/x86/kernel/e820.c | 4 arch/x86/kernel/kprobes/core.c | 17 arch/x86/kernel/smpboot.c | 90 - arch/x86/kvm/emulate.c | 80 - arch/x86/kvm/mmu/mmu.c | 63 - arch/x86/kvm/svm/sev.c | 3 arch/x86/kvm/svm/svm.c | 9 arch/x86/kvm/vmx/nested.c | 17 arch/x86/kvm/vmx/vmx.c | 13 arch/x86/kvm/x86.c | 2 arch/x86/power/hibernate.c | 89 - crypto/async_tx/async_xor.c | 1 drivers/acpi/cppc_acpi.c | 14 drivers/ata/libahci_platform.c | 4 drivers/ata/pata_arasan_cf.c | 15 drivers/ata/pata_ixp4xx_cf.c | 6 drivers/ata/sata_mv.c | 4 drivers/base/devtmpfs.c | 2 drivers/base/node.c | 26 drivers/base/regmap/regmap-debugfs.c | 1 drivers/block/null_blk_zoned.c | 1 drivers/block/xen-blkback/common.h | 1 drivers/block/xen-blkback/xenbus.c | 38 drivers/bus/qcom-ebi2.c | 4 drivers/char/ttyprintk.c | 11 drivers/clk/clk-ast2600.c | 4 drivers/clk/imx/clk-imx25.c | 12 drivers/clk/imx/clk-imx27.c | 13 drivers/clk/imx/clk-imx35.c | 10 drivers/clk/imx/clk-imx5.c | 30 drivers/clk/imx/clk-imx6q.c | 16 drivers/clk/imx/clk-imx6sl.c | 16 drivers/clk/imx/clk-imx6sll.c | 24 drivers/clk/imx/clk-imx6sx.c | 16 drivers/clk/imx/clk-imx7d.c | 22 drivers/clk/imx/clk-imx7ulp.c | 31 drivers/clk/imx/clk-imx8mm.c | 18 drivers/clk/imx/clk-imx8mn.c | 18 drivers/clk/imx/clk-imx8mp.c | 17 drivers/clk/imx/clk-imx8mq.c | 18 drivers/clk/imx/clk.c | 41 drivers/clk/imx/clk.h | 4 drivers/clk/mvebu/armada-37xx-periph.c | 83 - drivers/clk/qcom/a53-pll.c | 1 drivers/clk/qcom/apss-ipq-pll.c | 1 drivers/clk/uniphier/clk-uniphier-mux.c | 4 drivers/clk/zynqmp/pll.c | 24 drivers/clocksource/ingenic-ost.c | 4 drivers/clocksource/timer-ti-dm-systimer.c | 13 drivers/cpufreq/armada-37xx-cpufreq.c | 76 + drivers/cpuidle/Kconfig.arm | 2 drivers/crypto/allwinner/Kconfig | 14 drivers/crypto/allwinner/sun8i-ss/sun8i-ss-hash.c | 9 drivers/crypto/allwinner/sun8i-ss/sun8i-ss-prng.c | 4 drivers/crypto/ccp/sev-dev.c | 3 drivers/crypto/ccp/tee-dev.c | 49 drivers/crypto/ccp/tee-dev.h | 20 drivers/crypto/chelsio/chcr_algo.c | 19 drivers/crypto/qat/qat_c3xxxvf/adf_drv.c | 4 drivers/crypto/qat/qat_c62xvf/adf_drv.c | 4 drivers/crypto/qat/qat_common/adf_isr.c | 29 drivers/crypto/qat/qat_common/adf_transport.c | 1 drivers/crypto/qat/qat_common/adf_vf_isr.c | 17 drivers/crypto/qat/qat_dh895xccvf/adf_drv.c | 4 drivers/crypto/sa2ul.c | 8 drivers/devfreq/devfreq.c | 5 drivers/firmware/Kconfig | 1 drivers/firmware/qcom_scm-smc.c | 12 drivers/firmware/qcom_scm.c | 88 - drivers/firmware/qcom_scm.h | 7 drivers/firmware/xilinx/zynqmp.c | 5 drivers/fpga/xilinx-spi.c | 24 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c | 19 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 6 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 1 drivers/gpu/drm/amd/amdkfd/kfd_iommu.c | 6 drivers/gpu/drm/amd/amdkfd/kfd_iommu.h | 9 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 17 drivers/gpu/drm/amd/display/dc/dce/dce_abm.c | 2 drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c | 6 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_dccg.c | 2 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c | 26 drivers/gpu/drm/amd/display/dc/hdcp/hdcp_msg.c | 9 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 1 drivers/gpu/drm/bridge/Kconfig | 3 drivers/gpu/drm/bridge/panel.c | 12 drivers/gpu/drm/drm_dp_mst_topology.c | 17 drivers/gpu/drm/drm_probe_helper.c | 7 drivers/gpu/drm/i915/gvt/display.c | 212 +++ drivers/gpu/drm/i915/gvt/gvt.c | 8 drivers/gpu/drm/i915/gvt/mmio.c | 5 drivers/gpu/drm/i915/gvt/vgpu.c | 5 drivers/gpu/drm/mcde/mcde_dsi.c | 2 drivers/gpu/drm/panel/panel-novatek-nt35510.c | 3 drivers/gpu/drm/panel/panel-samsung-s6d16d0.c | 4 drivers/gpu/drm/panel/panel-samsung-s6e63m0-dsi.c | 1 drivers/gpu/drm/panel/panel-sony-acx424akp.c | 3 drivers/gpu/drm/panfrost/panfrost_mmu.c | 13 drivers/gpu/drm/qxl/qxl_cmd.c | 2 drivers/gpu/drm/qxl/qxl_display.c | 4 drivers/gpu/drm/qxl/qxl_drv.c | 2 drivers/gpu/drm/qxl/qxl_gem.c | 2 drivers/gpu/drm/qxl/qxl_object.c | 5 drivers/gpu/drm/qxl/qxl_object.h | 1 drivers/gpu/drm/qxl/qxl_release.c | 18 drivers/gpu/drm/radeon/radeon_dp_mst.c | 3 drivers/gpu/drm/radeon/radeon_kms.c | 1 drivers/gpu/drm/stm/ltdc.c | 33 drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 9 drivers/gpu/drm/xlnx/zynqmp_dp.c | 2 drivers/hid/hid-ids.h | 1 drivers/hid/hid-lenovo.c | 47 drivers/hid/hid-plantronics.c | 60 drivers/hsi/hsi_core.c | 3 drivers/hv/channel.c | 2 drivers/hv/channel_mgmt.c | 30 drivers/hwmon/pmbus/pxe1610.c | 9 drivers/i2c/busses/i2c-cadence.c | 9 drivers/i2c/busses/i2c-emev2.c | 5 drivers/i2c/busses/i2c-img-scb.c | 4 drivers/i2c/busses/i2c-imx-lpi2c.c | 2 drivers/i2c/busses/i2c-imx.c | 4 drivers/i2c/busses/i2c-jz4780.c | 5 drivers/i2c/busses/i2c-mlxbf.c | 2 drivers/i2c/busses/i2c-mt65xx.c | 2 drivers/i2c/busses/i2c-omap.c | 8 drivers/i2c/busses/i2c-rcar.c | 64 - drivers/i2c/busses/i2c-sh7760.c | 5 drivers/i2c/busses/i2c-sprd.c | 4 drivers/i2c/busses/i2c-stm32f7.c | 12 drivers/i2c/busses/i2c-xiic.c | 4 drivers/i3c/master.c | 5 drivers/iio/accel/adis16201.c | 2 drivers/iio/adc/Kconfig | 2 drivers/iio/adc/ad7476.c | 18 drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 20 drivers/infiniband/core/cm.c | 3 drivers/infiniband/core/cma.c | 12 drivers/infiniband/hw/bnxt_re/qplib_fp.c | 1 drivers/infiniband/hw/bnxt_re/qplib_res.c | 1 drivers/infiniband/hw/cxgb4/resource.c | 2 drivers/infiniband/hw/hfi1/firmware.c | 1 drivers/infiniband/hw/hfi1/mmu_rb.c | 2 drivers/infiniband/hw/i40iw/i40iw_pble.c | 6 drivers/infiniband/hw/mlx5/fs.c | 9 drivers/infiniband/hw/mlx5/qp.c | 15 drivers/infiniband/hw/qedr/qedr_iw_cm.c | 4 drivers/infiniband/sw/rxe/rxe_av.c | 2 drivers/infiniband/sw/siw/siw_mem.c | 4 drivers/infiniband/ulp/isert/ib_isert.c | 16 drivers/infiniband/ulp/rtrs/rtrs-clt.c | 2 drivers/infiniband/ulp/srpt/ib_srpt.c | 1 drivers/iommu/amd/init.c | 2 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 2 drivers/iommu/intel/iommu.c | 50 drivers/iommu/intel/pasid.c | 16 drivers/iommu/intel/pasid.h | 1 drivers/iommu/intel/svm.c | 18 drivers/iommu/iommu.c | 24 drivers/irqchip/irq-gic-v3-mbi.c | 2 drivers/mailbox/sprd-mailbox.c | 43 drivers/md/md-bitmap.c | 2 drivers/md/md.c | 73 - drivers/media/common/saa7146/saa7146_core.c | 2 drivers/media/common/saa7146/saa7146_video.c | 3 drivers/media/dvb-frontends/m88ds3103.c | 4 drivers/media/i2c/imx219.c | 49 drivers/media/pci/saa7134/saa7134-core.c | 2 drivers/media/platform/aspeed-video.c | 9 drivers/media/platform/qcom/venus/core.c | 7 drivers/media/platform/sunxi/sun6i-csi/sun6i_video.c | 4 drivers/media/test-drivers/vivid/vivid-vid-out.c | 2 drivers/media/tuners/m88rs6000t.c | 6 drivers/media/v4l2-core/v4l2-ctrls.c | 17 drivers/memory/omap-gpmc.c | 7 drivers/memory/pl353-smc.c | 2 drivers/memory/renesas-rpc-if.c | 2 drivers/memory/samsung/exynos5422-dmc.c | 4 drivers/mfd/stm32-timers.c | 7 drivers/misc/lis3lv02d/lis3lv02d.c | 21 drivers/misc/vmw_vmci/vmci_doorbell.c | 2 drivers/misc/vmw_vmci/vmci_guest.c | 2 drivers/mtd/maps/physmap-core.c | 4 drivers/mtd/mtdchar.c | 8 drivers/mtd/mtdcore.c | 3 drivers/mtd/mtdpart.c | 2 drivers/mtd/nand/raw/brcmnand/brcmnand.c | 6 drivers/mtd/nand/raw/fsmc_nand.c | 2 drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 2 drivers/mtd/nand/raw/qcom_nandc.c | 7 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 10 drivers/net/ethernet/cavium/liquidio/cn23xx_pf_regs.h | 2 drivers/net/ethernet/cavium/thunder/nicvf_queues.c | 2 drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c | 22 drivers/net/ethernet/freescale/Makefile | 4 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 3 drivers/net/ethernet/marvell/prestera/prestera_main.c | 3 drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c | 2 drivers/net/ethernet/netronome/nfp/nfp_devlink.c | 1 drivers/net/ethernet/qualcomm/emac/emac-mac.c | 4 drivers/net/ethernet/renesas/ravb_main.c | 35 drivers/net/ethernet/sfc/ef10.c | 3 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 12 drivers/net/ethernet/ti/davinci_emac.c | 4 drivers/net/ethernet/xscale/ixp4xx_eth.c | 5 drivers/net/fddi/Kconfig | 15 drivers/net/fddi/defxx.c | 47 drivers/net/geneve.c | 4 drivers/net/phy/intel-xway.c | 21 drivers/net/phy/marvell.c | 52 drivers/net/phy/smsc.c | 7 drivers/net/wan/hdlc_fr.c | 5 drivers/net/wan/lapbether.c | 32 drivers/net/wireless/ath/ath10k/htc.c | 2 drivers/net/wireless/ath/ath10k/wmi-tlv.c | 3 drivers/net/wireless/ath/ath9k/htc_drv_init.c | 2 drivers/net/wireless/ath/ath9k/hw.c | 2 drivers/net/wireless/intel/ipw2x00/libipw_wx.c | 6 drivers/net/wireless/marvell/mwl8k.c | 1 drivers/net/wireless/mediatek/mt76/dma.c | 2 drivers/net/wireless/mediatek/mt76/mt7615/mac.c | 36 drivers/net/wireless/mediatek/mt76/mt7615/main.c | 6 drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h | 10 drivers/net/wireless/mediatek/mt76/mt7615/pci_init.c | 3 drivers/net/wireless/mediatek/mt76/mt7615/sdio_txrx.c | 11 drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c | 2 drivers/net/wireless/mediatek/mt76/mt7915/mac.c | 37 drivers/net/wireless/mediatek/mt76/mt7915/main.c | 6 drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h | 10 drivers/net/wireless/mediatek/mt76/sdio.c | 3 drivers/net/wireless/mediatek/mt7601u/eeprom.c | 2 drivers/net/wireless/microchip/wilc1000/sdio.c | 2 drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.c | 500 ++++++-- drivers/net/wireless/realtek/rtw88/debug.c | 2 drivers/net/wireless/realtek/rtw88/phy.c | 5 drivers/net/wireless/ti/wlcore/boot.c | 13 drivers/net/wireless/ti/wlcore/debugfs.h | 7 drivers/nfc/pn533/pn533.c | 3 drivers/nvme/host/multipath.c | 4 drivers/nvme/host/pci.c | 2 drivers/nvme/host/tcp.c | 4 drivers/nvme/target/tcp.c | 43 drivers/nvmem/qfprom.c | 21 drivers/of/overlay.c | 1 drivers/pci/controller/dwc/pci-keystone.c | 3 drivers/pci/controller/pci-xgene.c | 3 drivers/pci/vpd.c | 1 drivers/phy/cadence/phy-cadence-sierra.c | 7 drivers/phy/marvell/Kconfig | 4 drivers/phy/ti/phy-j721e-wiz.c | 23 drivers/pinctrl/pinctrl-single.c | 63 - drivers/platform/x86/pmc_atom.c | 28 drivers/power/supply/bq25980_charger.c | 40 drivers/regulator/bd9576-regulator.c | 11 drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 6 drivers/scsi/ibmvscsi/ibmvfc.c | 57 drivers/scsi/jazz_esp.c | 4 drivers/scsi/pm8001/pm8001_hwi.c | 2 drivers/scsi/pm8001/pm80xx_hwi.c | 4 drivers/scsi/sni_53c710.c | 5 drivers/scsi/sun3x_esp.c | 4 drivers/scsi/ufs/ufshcd-pltfrm.c | 2 drivers/soc/aspeed/aspeed-lpc-snoop.c | 4 drivers/soc/qcom/mdt_loader.c | 17 drivers/soc/qcom/pdr_interface.c | 2 drivers/soc/tegra/regulators-tegra30.c | 2 drivers/soundwire/bus.c | 3 drivers/soundwire/stream.c | 10 drivers/spi/spi-fsl-lpspi.c | 2 drivers/spi/spi-fsl-spi.c | 23 drivers/spi/spi-rockchip.c | 13 drivers/spi/spi-stm32.c | 27 drivers/spi/spi-zynqmp-gqspi.c | 154 +- drivers/spi/spi.c | 9 drivers/staging/comedi/drivers/tests/ni_routes_test.c | 6 drivers/staging/fwserial/fwserial.c | 19 drivers/staging/greybus/uart.c | 13 drivers/staging/media/atomisp/i2c/atomisp-lm3554.c | 19 drivers/staging/media/atomisp/pci/atomisp_ioctl.c | 4 drivers/staging/media/atomisp/pci/hmm/hmm_bo.c | 13 drivers/staging/media/omap4iss/iss.c | 4 drivers/staging/media/rkisp1/rkisp1-resizer.c | 9 drivers/staging/media/sunxi/cedrus/cedrus_regs.h | 17 drivers/staging/rtl8192u/r8192U_core.c | 2 drivers/tty/amiserial.c | 1 drivers/tty/moxa.c | 18 drivers/tty/serial/omap-serial.c | 51 drivers/tty/serial/sc16is7xx.c | 2 drivers/tty/serial/serial_core.c | 6 drivers/tty/serial/stm32-usart.c | 610 +++++----- drivers/tty/serial/stm32-usart.h | 5 drivers/tty/tty_io.c | 8 drivers/tty/tty_ioctl.c | 63 - drivers/usb/class/cdc-acm.c | 16 drivers/usb/dwc2/core_intr.c | 154 +- drivers/usb/dwc2/hcd.c | 10 drivers/usb/gadget/udc/aspeed-vhub/core.c | 3 drivers/usb/gadget/udc/aspeed-vhub/epn.c | 2 drivers/usb/gadget/udc/fotg210-udc.c | 26 drivers/usb/gadget/udc/pch_udc.c | 123 +- drivers/usb/gadget/udc/r8a66597-udc.c | 2 drivers/usb/gadget/udc/s3c2410_udc.c | 24 drivers/usb/gadget/udc/snps_udc_plat.c | 4 drivers/usb/host/xhci-mtk-sch.c | 80 + drivers/usb/host/xhci-mtk.h | 6 drivers/usb/roles/class.c | 2 drivers/usb/serial/ti_usb_3410_5052.c | 9 drivers/usb/serial/usb_wwan.c | 9 drivers/usb/typec/stusb160x.c | 4 drivers/usb/typec/tcpm/tcpci.c | 21 drivers/usb/typec/tcpm/tcpm.c | 105 + drivers/usb/typec/tps6598x.c | 4 drivers/usb/usbip/vudc_sysfs.c | 2 drivers/vfio/fsl-mc/vfio_fsl_mc.c | 74 - drivers/vfio/mdev/mdev_sysfs.c | 2 drivers/vfio/pci/vfio_pci.c | 131 +- fs/afs/dir.c | 7 fs/afs/dir_silly.c | 3 fs/afs/fs_operation.c | 6 fs/afs/inode.c | 12 fs/afs/internal.h | 2 fs/afs/write.c | 1 fs/io_uring.c | 14 fs/nfsd/nfs4proc.c | 12 fs/overlayfs/copy_up.c | 3 fs/overlayfs/overlayfs.h | 30 fs/overlayfs/readdir.c | 12 fs/overlayfs/util.c | 31 fs/proc/array.c | 2 fs/xfs/libxfs/xfs_attr.c | 1 include/crypto/internal/poly1305.h | 3 include/crypto/poly1305.h | 6 include/keys/trusted-type.h | 1 include/linux/firmware/xlnx-zynqmp.h | 37 include/linux/gpio/driver.h | 9 include/linux/hid.h | 2 include/linux/intel-iommu.h | 3 include/linux/iommu.h | 2 include/linux/kvm_host.h | 4 include/linux/platform_device.h | 3 include/linux/pm_runtime.h | 2 include/linux/smp.h | 2 include/linux/spi/spi.h | 3 include/linux/tty.h | 1 include/linux/tty_driver.h | 11 include/linux/udp.h | 16 include/net/addrconf.h | 1 include/net/bluetooth/hci_core.h | 1 include/net/netfilter/nf_tables_offload.h | 12 include/uapi/linux/if_packet.h | 12 include/uapi/linux/tty_flags.h | 4 init/init_task.c | 2 kernel/bpf/ringbuf.c | 24 kernel/bpf/verifier.c | 30 kernel/rcu/tree.c | 1 kernel/sched/core.c | 2 kernel/sched/debug.c | 42 kernel/sched/fair.c | 3 kernel/sched/sched.h | 7 kernel/smp.c | 20 kernel/up.c | 2 lib/bug.c | 33 lib/crypto/poly1305-donna32.c | 3 lib/crypto/poly1305-donna64.c | 3 lib/crypto/poly1305.c | 3 mm/memcontrol.c | 10 mm/memory-failure.c | 2 mm/slab.c | 3 mm/slab.h | 6 mm/slab_common.c | 2 mm/slub.c | 9 mm/sparse.c | 1 net/bluetooth/hci_conn.c | 4 net/bluetooth/hci_event.c | 3 net/bluetooth/hci_request.c | 12 net/bridge/br_multicast.c | 33 net/core/dev.c | 8 net/ipv4/route.c | 42 net/ipv4/tcp_cong.c | 4 net/ipv4/udp.c | 3 net/ipv6/mcast_snoop.c | 12 net/mac80211/main.c | 7 net/netfilter/nf_tables_offload.c | 44 net/netfilter/nft_cmp.c | 41 net/netfilter/nft_payload.c | 13 net/nfc/digital_dep.c | 2 net/nfc/llcp_sock.c | 4 net/packet/af_packet.c | 52 net/packet/internal.h | 5 net/sctp/socket.c | 38 net/tipc/crypto.c | 2 net/vmw_vsock/virtio_transport_common.c | 28 net/vmw_vsock/vmci_transport.c | 3 net/wireless/scan.c | 2 net/xdp/xsk.c | 8 samples/kfifo/bytestream-example.c | 8 samples/kfifo/inttype-example.c | 8 samples/kfifo/record-example.c | 8 security/integrity/ima/ima_template.c | 4 security/keys/trusted-keys/trusted_tpm1.c | 32 security/keys/trusted-keys/trusted_tpm2.c | 10 security/selinux/include/classmap.h | 5 sound/core/init.c | 2 sound/pci/hda/patch_realtek.c | 162 +- sound/soc/codecs/ak5558.c | 4 sound/soc/codecs/tlv320aic32x4.c | 12 sound/soc/codecs/wm8960.c | 12 sound/soc/generic/audio-graph-card.c | 2 sound/soc/generic/simple-card.c | 2 sound/soc/intel/Makefile | 2 sound/soc/intel/boards/kbl_da7219_max98927.c | 38 sound/soc/intel/boards/sof_wm8804.c | 6 sound/soc/intel/skylake/Makefile | 2 sound/soc/samsung/tm2_wm5110.c | 2 sound/usb/card.c | 14 sound/usb/midi.c | 2 sound/usb/quirks.c | 16 sound/usb/usbaudio.h | 2 tools/bpf/bpftool/btf.c | 3 tools/bpf/bpftool/main.c | 3 tools/bpf/bpftool/map.c | 2 tools/lib/bpf/bpf_core_read.h | 16 tools/lib/bpf/bpf_tracing.h | 40 tools/lib/bpf/btf.h | 1 tools/lib/bpf/libbpf.h | 1 tools/lib/perf/include/perf/event.h | 7 tools/perf/pmu-events/arch/x86/amdzen1/cache.json | 2 tools/perf/pmu-events/arch/x86/amdzen1/recommended.json | 6 tools/perf/pmu-events/arch/x86/amdzen2/cache.json | 2 tools/perf/pmu-events/arch/x86/amdzen2/recommended.json | 6 tools/perf/trace/beauty/fsconfig.sh | 7 tools/perf/util/jitdump.c | 30 tools/perf/util/session.c | 15 tools/perf/util/symbol_fprintf.c | 2 tools/power/x86/turbostat/turbostat.c | 62 - tools/testing/selftests/bpf/Makefile | 5 tools/testing/selftests/bpf/prog_tests/core_reloc.c | 51 tools/testing/selftests/bpf/progs/btf__core_reloc_existence___err_wrong_arr_kind.c | 3 tools/testing/selftests/bpf/progs/btf__core_reloc_existence___err_wrong_arr_value_type.c | 3 tools/testing/selftests/bpf/progs/btf__core_reloc_existence___err_wrong_int_kind.c | 3 tools/testing/selftests/bpf/progs/btf__core_reloc_existence___err_wrong_int_sz.c | 3 tools/testing/selftests/bpf/progs/btf__core_reloc_existence___err_wrong_int_type.c | 3 tools/testing/selftests/bpf/progs/btf__core_reloc_existence___err_wrong_struct_type.c | 3 tools/testing/selftests/bpf/progs/btf__core_reloc_existence___wrong_field_defs.c | 3 tools/testing/selftests/bpf/progs/core_reloc_types.h | 20 tools/testing/selftests/bpf/verifier/array_access.c | 2 tools/testing/selftests/drivers/net/mlxsw/tc_flower_scale.sh | 6 tools/testing/selftests/lib.mk | 3 tools/testing/selftests/net/forwarding/mirror_gre_vlan_bridge_1q.sh | 2 virt/kvm/coalesced_mmio.c | 19 virt/kvm/kvm_main.c | 20 541 files changed, 5100 insertions(+), 3177 deletions(-)
Adam Ford (1):
clk: imx: Fix reparenting of UARTs not associated with stdout
Alain Volmat (1):
spi: stm32: Fix use-after-free on unbind
Alexander Lobakin (2):
xsk: Respect device's headroom and tailroom on generic xmit path
gro: fix napi_gro_frags() Fast GRO breakage due to IP alignment check
Alexandru Ardelean (1):
iio: adc: Kconfig: make AD9467 depend on ADI_AXI_ADC symbol
Alexandru Elisei (1):
KVM: arm64: Initialize VCPU mdcr_el2 before loading it
Alison Schofield (1):
x86, sched: Treat Intel SNC topology as default, COD as exception
Amir Goldstein (1):
ovl: invalidate readdir cache on changes to dir with origin
Andre Edich (1):
net: phy: lan87xx: fix access to wrong register of LAN87xx
Andrew Scull (1):
bug: Remove redundant condition check in report_bug
Andrii Nakryiko (7):
libbpf: Add explicit padding to bpf_xdp_set_link_opts
bpftool: Fix maybe-uninitialized warnings
selftests/bpf: Re-generate vmlinux.h and BPF skeletons if bpftool changed selftests/bpf: Fix BPF_CORE_READ_BITFIELD() macro selftests/bpf: Fix field existence CO-RE reloc tests selftests/bpf: Fix core_reloc test runner
bpf: Prevent writable memory-mapping of read-only ringbuf pages
Andy Shevchenko (7):
usb: gadget: pch_udc: Revert d3cb25a12138 completely
usb: gadget: pch_udc: Replace cpu_to_le32() by lower_32_bits()
usb: gadget: pch_udc: Check if driver is present before calling ->setup()
usb: gadget: pch_udc: Check for DMA mapping error
usb: gadget: pch_udc: Initialize device pointer before use
usb: gadget: pch_udc: Provide a GPIO line used on Intel Minnowboard (v1) driver core: platform: Declare early_platform_cleanup() prototype
Annaliese McDermond (3):
ASoC: tlv320aic32x4: Register clocks before registering component
ASoC: tlv320aic32x4: Increase maximum register in regmap
sc16is7xx: Defer probe if device read fails
Antonio Borneo (1):
spi: stm32: drop devres version of spi_register_master
Archie Pusaka (1):
Bluetooth: verify AMP hci_chan before amp_destroy
Arnaldo Carvalho de Melo (1):
perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed chars
Arnd Bergmann (6):
spi: rockchip: avoid objtool warning
crypto: poly1305 - fix poly1305_core_setkey() declaration irqchip/gic-v3: Fix OF_BAD_ADDR error handling
wlcore: fix overlapping snprintf arguments in debugfs
net: enetc: fix link error again
smp: Fix smp_call_function_single_async prototype
Artur Petrosyan (2):
usb: dwc2: Fix host mode hibernation exit with remote wakeup flow.
usb: dwc2: Fix hibernation between host and device modes.
Arun Easi (1):
PCI: Allow VPD access for QLogic ISP2722
Athira Rajeev (2):
powerpc/perf: Fix PMU constraint check for EBB events powerpc/perf: Fix the threshold event selection for memory events in power10
Ayush Sawal (1):
crypto: chelsio - Read rxchannel-id from firmware
Badhri Jagan Sridharan (4):
usb: typec: tcpm: Address incorrect values of tcpm psy for fixed supply
usb: typec: tcpm: Address incorrect values of tcpm psy for pps supply
usb: typec: tcpm: update power supply once partner accepts
usb: typec: tcpci: Check ROLE_CONTROL while interpreting CC_STATUS
Bjorn Andersson (2):
soc: qcom: mdt_loader: Validate that p_filesz < p_memsz
soc: qcom: mdt_loader: Detect truncated read of segments
Bob Pearson (1):
RDMA/rxe: Fix a bug in rxe_fill_ip_info()
Boris Brezillon (2):
drm/panfrost: Clear MMU irqs before handling the fault drm/panfrost: Don't try to map pages that are already mapped
Brian King (1):
scsi: ibmvfc: Fix invalid state machine BUG_ON()
Catalin Marinas (1):
arm64: Remove arm64_dma32_phys_limit and its uses
Cezary Rojewski (1):
ASoC: Intel: Skylake: Compile when any configuration is selected
Chen Huang (1):
powerpc: Fix HAVE_HARDLOCKUP_DETECTOR_ARCH build configuration
Chen Hui (2):
clk: qcom: a53-pll: Add missing MODULE_DEVICE_TABLE
clk: qcom: apss-ipq-pll: Add missing MODULE_DEVICE_TABLE
Chris von Recklinghausen (1):
PM: hibernate: x86: Use crc32 instead of md5 for hibernation e820 integrity check
Christian König (1):
drm/amdgpu: fix concurrent VM flushes on Vega/Navi v2
Christoph Hellwig (2):
md: split mddev_find
md: factor out a mddev_find_locked helper from mddev_find
Christophe JAILLET (3):
usb: gadget: s3c: Fix incorrect resources releasing
usb: gadget: s3c: Fix the error handling path in 's3c2410_udc_probe()'
media: venus: core: Fix some resource leaks in the error path of 'venus_probe()'
Christophe Leroy (2):
powerpc/64: Fix the definition of the fixmap area powerpc/52xx: Fix an invalid ASM expression ('addi' used instead of 'add')
Chuck Lever (1):
NFSD: Fix sparse warning in nfs4proc.c
Chunfeng Yun (2):
usb: xhci-mtk: remove or operator for setting schedule parameters
usb: xhci-mtk: improve bandwidth scheduling with TT
Claudio Imbrenda (5):
KVM: s390: VSIE: correctly handle MVPG when in VSIE
KVM: s390: split kvm_s390_logical_to_effective
KVM: s390: VSIE: fix MVPG handling for prefixing and MSO
KVM: s390: split kvm_s390_real_to_abs
KVM: s390: extend kvm_s390_shadow_fault to return entry pointer
Colin Ian King (22):
drm/radeon: fix copy of uninitialized variable back to userspace
memory: gpmc: fix out of bounds read and dereference on gpmc_cs[]
crypto: sun8i-ss - Fix memory leak of object d when dma_iv fails to map
staging: rtl8192u: Fix potential infinite loop
crypto: sun8i-ss - Fix memory leak of pad
crypto: sa2ul - Fix memory leak of rxd
usb: gadget: r8a66597: Add missing null check on return from platform_get_resource
media: vivid: fix assignment of dev->fbuf_out_flags
media: [next] staging: media: atomisp: fix memory leak of object flash
media: m88rs6000t: avoid potential out-of-bounds reads on arrays
clk: uniphier: Fix potential infinite loop
scsi: pm80xx: Fix potential infinite loop
ASoC: Intel: boards: sof-wm8804: add check for PLL setting
liquidio: Fix unintented sign extension of a left shift of a u16
xfs: fix return of uninitialized value in variable error
mt7601u: fix always true expression
cxgb4: Fix unintentional sign extension issues
net: thunderx: Fix unintentional sign extension issue
net/mlx5: Fix bit-wise and with zero
ALSA: usb: midi: don't return -ENOMEM when usb_urb_ep_type_check fails
net: davinci_emac: Fix incorrect masking of tx and rx error channel
wlcore: Fix buffer overrun by snprintf due to incorrect buffer size
Colin Xu (2):
drm/i915/gvt: Fix virtual display setup for BXT/APL drm/i915/gvt: Fix vfio_edid issue for BXT/APL
Corentin Labbe (2):
crypto: sun8i-ss - fix result memory leak on error path
crypto: allwinner - add missing CRYPTO_ prefix
Cédric Le Goater (2):
powerpc/xive: Drop check on irq_data in xive_core_debug_show() powerpc/xive: Fix xmon command "dxi"
Dafna Hirschfeld (1):
media: rkisp1: rsz: crash fix when setting src format
Dan Carpenter (17):
ipw2x00: potential buffer overflow in libipw_wx_set_encodeext()
ovl: fix missing revert_creds() on error path
mtd: rawnand: fsmc: Fix error code in fsmc_nand_probe()
regulator: bd9576: Fix return from bd957x_probe()
node: fix device cleanups in error handling code
Drivers: hv: vmbus: Use after free in __vmbus_open()
soc: aspeed: fix a ternary sign expansion bug drm/amd/display: Fix off by one in hdmi_14_process_transaction()
media: atomisp: Fix use after free in atomisp_alloc_css_stat_bufs()
drm: xlnx: zynqmp: fix a memset in zynqmp_dp_train()
HSI: core: fix resource leaks in hsi_add_client_from_dt()
nfc: pn533: prevent potential memory corruption
rtw88: Fix an error code in rtw_debugfs_set_rsvd_page() drm/i915/gvt: Fix error code in intel_gvt_init_device() drm/amd/pm: fix error code in smu_set_power_limit()
bnxt_en: fix ternary sign extension bug in bnxt_show_temp()
kfifo: fix ternary sign extension bugs
Daniel Borkmann (2):
bpf: Fix propagation of 32 bit unsigned bounds from 64 bit bounds
bpf: Fix alu32 const subreg bound tracking on bitwise operations
Danielle Ratson (1):
selftests: mlxsw: Remove a redundant if statement in tc_flower_scale test
Dario Binacchi (2):
serial: omap: don't disable rs485 if rts gpio is missing
serial: omap: fix rs485 half-duplex filtering
David Bauer (1):
mtd: don't lock when recursively deleting partitions
David Edmondson (1):
KVM: x86: dump_vmcs should not assume GUEST_IA32_EFER is valid
David Hildenbrand (1):
s390: fix detection of vector enhancements facility 1 vs. vector packed decimal facility
David Howells (2):
afs: Fix updating of i_mode due to 3rd party change
afs: Fix speculative status fetches
Dejin Zheng (1):
PCI: xgene: Fix cfg resource mapping
Dmitry Osipenko (1):
soc/tegra: regulators: Fix locking up when voltage-spread is out of range
Dong Aisheng (1):
PM / devfreq: Use more accurate returned new_freq as resume_freq
Eddie James (1):
ARM: dts: aspeed: Rainier: Fix humidity sensor bus address
Edward Cree (1):
sfc: ef10: fix TX queue lookup in TX event handling
Elad Grupi (1):
nvmet-tcp: fix a segmentation fault during io parsing error
Eric Auger (2):
KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read
KVM: arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION read
Eric Dumazet (2):
inet: use bigger hash table for IP ID generation net/packet: remove data races in fanout operations
Erwan Le Ray (14):
serial: stm32: fix code cleaning warnings and checks
serial: stm32: add "_usart" prefix in functions name
serial: stm32: fix probe and remove order for dma
serial: stm32: fix startup by enabling usart for reception
serial: stm32: fix incorrect characters on console
serial: stm32: fix TX and RX FIFO thresholds
serial: stm32: fix a deadlock condition with wakeup event
serial: stm32: fix wake-up flag handling
serial: stm32: fix a deadlock in set_termios
serial: stm32: fix tx dma completion, release channel
serial: stm32: call stm32_transmit_chars locked
serial: stm32: fix FIFO flush in startup and set_termios
serial: stm32: add FIFO flush when port is closed
serial: stm32: fix tx_empty condition
Fabian Vogt (6):
fotg210-udc: Fix DMA on EP0 for length > max packet size
fotg210-udc: Fix EP0 IN requests bigger than two packets
fotg210-udc: Remove a dubious condition leading to fotg210_done
fotg210-udc: Mask GRP2 interrupts we don't handle
fotg210-udc: Don't DMA more than the buffer can take
fotg210-udc: Complete OUT requests on short packets
Fabien Parent (1):
arm64: dts: mediatek: fix reset GPIO level on pumpkin
Fabrice Gasnier (1):
mfd: stm32-timers: Avoid clearing auto reload register
Felix Fietkau (3):
mt76: fix potential DMA mapping leak
mt76: mt7615: fix tx skb dma unmap
mt76: mt7915: fix tx skb dma unmap
Felix Kuehling (1):
drm/amdkfd: fix build error with AMD_IOMMU_V2=m
Finn Thain (1):
m68k: mvme147,mvme16x: Don't wipe PCC timer config bits
Florent Revest (1):
libbpf: Initialize the bpf_seq_printf parameters array field by field
Geert Uytterhoeven (1):
phy: marvell: ARMADA375_USBCLUSTER_PHY should not default to y, unconditionally
Gerd Hoffmann (2):
drm/qxl: use ttm bo priorities
Revert "drm/qxl: do not run release if qxl failed to init"
Gioh Kim (1):
RDMA/rtrs-clt: destroy sysfs after removing session from active list
Giovanni Cabiddu (1):
crypto: qat - fix error path in adf_isr_resource_alloc()
Greg Kroah-Hartman (1):
Linux 5.10.37
Hanna Hawa (2):
pinctrl: pinctrl-single: remove unused parameter
pinctrl: pinctrl-single: fix pcs_pin_dbg_show() when bits_per_mux is not zero
Hannes Reinecke (1):
nvme: retrigger ANA log update if group descriptor isn't found
Hans Verkuil (1):
media: v4l2-ctrls.c: fix race condition in hdl->requests list
Hans de Goede (6):
usb: roles: Call try_module_get() from usb_role_switch_find_by_fwnode()
misc: lis3lv02d: Fix false-positive WARN on various HP models
HID: lenovo: Use brightness_set_blocking callback for setting LEDs brightness
HID: lenovo: Fix lenovo_led_set_tp10ubkbd() error handling
HID: lenovo: Check hid_get_drvdata() returns non NULL in lenovo_event()
HID: lenovo: Map mic-mute button to KEY_F20 instead of KEY_MICMUTE
Harry Wentland (1):
drm/amd/display: Reject non-zero src_y and src_x for video planes
He Ying (2):
cpuidle: Fix ARM_QCOM_SPM_CPUIDLE configuration
firmware: qcom-scm: Fix QCOM_SCM configuration
Heiko Carstens (1):
KVM: s390: fix guarded storage control register handling
Heming Zhao (1):
md-cluster: fix use-after-free issue when removing rdev
Huang Pei (2):
MIPS: fix local_irq_{disable,enable} in asmmacro.h
MIPS: loongson64: fix bug when PAGE_SIZE > 16KB
Håkon Bugge (1):
RDMA/core: Fix corrupted SL on passive side
Ian Abbott (1):
staging: comedi: tests: ni_routes_test: Fix compilation error
Igor Pylypiv (1):
scsi: pm80xx: Increase timeout for pm80xx mpi_uninit_check()
Ilya Leoshkevich (1):
selftests: fix prepending $(OUTPUT) to $(TEST_PROGS)
Ilya Lipnitskiy (3):
MIPS: pci-mt7620: fix PLL lock check
MIPS: pci-rt2880: fix slot 0 configuration
MIPS: pci-legacy: stop using of_pci_range_to_resource
Ingo Molnar (1):
x86/platform/uv: Fix !KEXEC build failure
Jacob Pan (1):
iommu/vt-d: Reject unsupported page request modes
Jae Hyun Yoo (2):
Revert "i3c master: fix missing destroy_workqueue() on error in i3c_master_register"
media: aspeed: fix clock handling logic
James Bottomley (1):
security: keys: trusted: fix TPM2 authorizations
Jan Glauber (1):
md: Fix missing unused status line of /proc/mdstat
Jane Chu (1):
mm/memory-failure: unnecessary amount of unmapping
Jann Horn (1):
tty: Remove dead termiox code
Jason Gunthorpe (4):
vfio/fsl-mc: Re-order vfio_fsl_mc_probe()
vfio/pci: Move VGA and VF initialization to functions vfio/pci: Re-order vfio_pci_probe()
vfio/mdev: Do not allow a mdev_type to have a NULL parent pointer
Jernej Skrabec (1):
media: cedrus: Fix H265 status definitions
Jia Zhou (1):
ALSA: core: remove redundant spin_lock pair in snd_card_disconnect
Jia-Ju Bai (2):
mtd: maps: fix error return code of physmap_flash_remove()
media: platform: sunxi: sun6i-csi: fix error return code of sun6i_video_start_streaming()
Jiri Kosina (1):
Bluetooth: avoid deadlock between hci_dev->lock and socket lock
Johan Hovold (18):
Revert "USB: cdc-acm: fix rounding error in TIOCSSERIAL"
tty: moxa: fix TIOCSSERIAL jiffies conversions
tty: amiserial: fix TIOCSSERIAL permission check
USB: serial: usb_wwan: fix TIOCSSERIAL jiffies conversions
staging: greybus: uart: fix TIOCSSERIAL jiffies conversions
USB: serial: ti_usb_3410_5052: fix TIOCSSERIAL permission check
staging: fwserial: fix TIOCSSERIAL jiffies conversions
tty: moxa: fix TIOCSSERIAL permission check
staging: fwserial: fix TIOCSSERIAL permission check
staging: fwserial: fix TIOCSSERIAL implementation
staging: fwserial: fix TIOCGSERIAL implementation
staging: greybus: uart: fix unprivileged TIOCCSERIAL
USB: cdc-acm: fix unprivileged TIOCCSERIAL
USB: cdc-acm: fix TIOCGSERIAL implementation
tty: actually undefine superseded ASYNC flags
tty: fix return value for unsupported ioctls
tty: fix return value for unsupported termiox ioctls
serial: core: return early on unsupported ioctls
Johannes Berg (2):
cfg80211: scan: drop entry from hidden_list on overflow
mac80211: bail out if cipher schemes are invalid
Jonathan Cameron (2):
iio:accel:adis16201: Fix wrong axis assignment that prevents loading iio:adc:ad7476: Fix remove handling
Jonathon Reinhart (1):
net: Only allow init netns to set default tcp cong to a restricted algo
Jordan Niethe (1):
powerpc/64s: Fix pte update for kernel memory on radix
KP Singh (1):
libbpf: Add explicit padding to btf_dump_emit_type_decl_opts
[email protected] (1):
seccomp: Fix CONFIG tests for Seccomp_filters
Kishon Vijay Abraham I (4):
PCI: keystone: Let AM65 use the pci_ops defined in pcie-designware-host.c
phy: cadence: Sierra: Fix PHY power_on sequence
phy: ti: j721e-wiz: Invoke wiz_init() before of_platform_device_create()
phy: ti: j721e-wiz: Delete "clk_div_sel" clk provider during cleanup
Krzysztof Kozlowski (11):
ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100
ARM: dts: exynos: correct fuel gauge interrupt trigger level on Midas family
ARM: dts: exynos: correct MUIC interrupt trigger level on Midas family
ARM: dts: exynos: correct PMIC interrupt trigger level on Midas family
ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid X/U3 family
ARM: dts: exynos: correct PMIC interrupt trigger level on SMDK5250
ARM: dts: exynos: correct PMIC interrupt trigger level on Snow
ARM: dts: s5pv210: correct fuel gauge interrupt trigger level on Fascinate family
memory: renesas-rpc-if: fix possible NULL pointer dereference of resource
memory: samsung: exynos5422-dmc: handle clk_set_parent() failure
ASoC: simple-card: fix possible uninitialized single_cpu local variable
Kunihiko Hayashi (2):
ARM: dts: uniphier: Change phy-mode to RGMII-ID to enable delay pins for RTL8211E
arm64: dts: uniphier: Change phy-mode to RGMII-ID to enable delay pins for RTL8211E
Lad Prabhakar (2):
media: i2c: imx219: Move out locking/unlocking of vflip and hflip controls from imx219_set_stream
media: i2c: imx219: Balance runtime PM use-count
Lars-Peter Clausen (1):
iio: inv_mpu6050: Fully validate gyro and accel scale writes
Len Brown (1):
Revert "tools/power turbostat: adjust for temperature offset"
Leo Yan (3):
perf tools: Change fields type in perf_record_time_conv perf jit: Let convert_timestamp() to be backwards-compatible perf session: Add swap operation for event TIME_CONV
Li Huafei (1):
ima: Fix the error code for restoring the PCR value
Liam Howlett (1):
m68k: Add missing mmap_read_lock() to sys_cacheflush()
Lin Ma (1):
bluetooth: eliminate the potential race condition when removing the HCI controller
Linus Lüssing (1):
net: bridge: mcast: fix broken length + header check for MRDv6 Adv.
Linus Walleij (2):
drm/mcde/panel: Inverse misunderstood flag
net: ethernet: ixp4xx: Set the DMA masks explicitly
Liu Ying (1):
media: docs: Fix data organization of MEDIA_BUS_FMT_RGB101010_1X30
Lorenzo Bianconi (2):
mt76: mt7915: fix aggr len debugfs node
mt76: mt7615: fix mib stats counter reporting to mac80211
Lu Baolu (6):
iommu/vt-d: Don't set then clear private data in prq_event_thread() iommu/vt-d: Report right snoop capability when using FL for IOVA iommu/vt-d: Report the right page fault address iommu/vt-d: Preset Access/Dirty bits for IOVA over FL iommu/vt-d: Remove WO permissions on second-level paging entries iommu/vt-d: Invalidate PASID cache when root/context entry changed
Luca Ceresoli (1):
fpga: fpga-mgr: xilinx-spi: fix error messages on -EPROBE_DEFER
Lukasz Luba (1):
PM / devfreq: Unlock mutex and free devfreq struct in error path
Lukasz Majczak (1):
ASoC: Intel: kbl_da7219_max98927: Fix kabylake_ssp_fixup function
Lv Yunlong (10):
mtd: rawnand: gpmi: Fix a double free in gpmi_nand_init
crypto: qat - Fix a double free in adf_create_ring drivers/block/null_blk/main: Fix a double free in null_init. IB/isert: Fix a use after free in isert_connect_request
mwl8k: Fix a double Free in mwl8k_probe_hw
ath10k: Fix a use after free in ath10k_htc_send_bundle net:emac/emac-mac: Fix a use after free in emac_mac_tx_buf_send RDMA/siw: Fix a use after free in siw_alloc_mr RDMA/bnxt_re: Fix a double free in bnxt_qplib_alloc_res net:nfc:digital: Fix a double free in digital_tg_recv_dep_req
Maciej W. Rozycki (2):
FDDI: defxx: Bail out gracefully with unassigned PCI resource for CSR
FDDI: defxx: Make MMIO the configuration default except for EISA
Manivannan Sadhasivam (2):
mtd: Handle possible -EPROBE_DEFER from parse_mtd_partitions()
mtd: rawnand: qcom: Return actual error code instead of -ENODEV
Maor Gottlieb (1):
RDMA/mlx5: Fix drop packet rule in egress table
Marc Zyngier (1):
KVM: arm64: Fully zero the vcpu state on reset
Marcus Folkesson (1):
wilc1000: write value to WILC_INTR2_ENABLE register
Marek Behún (2):
cpufreq: armada-37xx: Fix setting TBG parent for load levels
clk: mvebu: armada-37xx-periph: remove .set_parent method for CPU PM clock
Marek Vasut (1):
drm/stm: Fix bus_flags handling
Mark Zhang (1):
RDMA/mlx5: Fix mlx5 rates to IB rates map
Martin Schiller (1):
net: phy: intel-xway: enable integrated led functions
Masami Hiramatsu (1):
x86/kprobes: Fix to check non boostable prefixes correctly
Maxim Kochetkov (2):
net: phy: marvell: fix m88e1011_set_downshift
net: phy: marvell: fix m88e1111_set_downshift
Maxim Mikityanskiy (1):
HID: plantronics: Workaround for double volume key presses
Meng Li (1):
regmap: set debugfs_name to NULL after it is freed
Michael Chan (1):
bnxt_en: Fix RX consumer index logic in the error path.
Michael Ellerman (1):
powerpc/pseries: Only register vio drivers if vio bus exists
Michael Kelley (1):
Drivers: hv: vmbus: Increase wait time for VMbus unload
Michael Walle (1):
mtd: require write permissions for locking and badblock ioctls
Michal Simek (1):
firmware: xilinx: Add a blank line after function declaration
Mike Marciniszyn (1):
IB/hfi1: Use kzalloc() for mmu_rb_handler allocation
Mike Travis (1):
x86/platform/uv: Set section block size for hubless architectures
Muchun Song (1):
mm: memcontrol: slab: fix obtain a reference to a freeing memcg
Nathan Chancellor (5):
ACPI: CPPC: Replace cppc_attr with kobj_attribute x86/events/amd/iommu: Fix sysfs type mismatch perf/amd/uncore: Fix sysfs type mismatch powerpc/fadump: Mark fadump_calculate_reserve_size as __init powerpc/prom: Mark identical_pvr_fixup as __init
Nicholas Piggin (1):
KVM: PPC: Book3S HV P9: Restore host CTRL SPR after guest exit
Niklas Cassel (1):
nvme-pci: don't simple map sgl when sgls are disabled
Nikolay Borisov (1):
mm/sl?b.c: remove ctor argument from kmem_cache_flags
Nirmoy Das (1):
drm/amd/display: use GFP_ATOMIC in dcn20_resource_construct
Nobuhiro Iwamatsu (1):
firmware: xilinx: Remove zynqmp_pm_get_eemi_ops() in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE)
Noralf Trønnes (1):
drm/probe-helper: Check epoch counter in output_poll_execute()
Olga Kornievskaia (1):
NFSv4.2: fix copy stateid copying for the async copy
Ong Boon Leong (1):
net: stmmac: fix TSO and TBS feature enabling during driver open
Or Cohen (1):
net/nfc: fix use-after-free llcp_sock_bind/connect
Orson Zhai (1):
mailbox: sprd: Introduce refcnt when clients requests/free channels
Otavio Pontes (1):
x86/microcode: Check for offline CPUs before requesting new microcode
Pablo Neira Ayuso (3):
netfilter: nft_payload: fix C-VLAN offload support
netfilter: nftables_offload: VLAN id needs host byteorder in flow dissector
netfilter: nftables_offload: special ethertype handling for VLAN
Pali Rohár (5):
cpufreq: armada-37xx: Fix the AVS value for load L1
clk: mvebu: armada-37xx-periph: Fix switching CPU freq from 250 Mhz to 1 GHz
clk: mvebu: armada-37xx-periph: Fix workaround for switching from L1 to L0
cpufreq: armada-37xx: Fix driver cleanup when registration failed
cpufreq: armada-37xx: Fix determining base CPU frequency
Pan Bian (1):
bus: qcom: Put child node before return
Paolo Abeni (1):
udp: never accept GSO_FRAGLIST packets
Paul Cercueil (1):
drm: bridge/panel: Cleanup connector on bridge detach
Paul Durrant (1):
xen-blkback: fix compatibility bug with single page rings
Paul Fertser (1):
hwmon: (pmbus/pxe1610) don't bail out when not all pages are active
Paul Menzel (1):
iommu/amd: Put newline after closing bracket in warning
Paul Moore (1):
selinux: add proper NULL termination to the secclass_map permissions
Pavel Begunkov (1):
io_uring: fix overflows checks in provide buffers
Petr Machata (1):
selftests: net: mirror_gre_vlan_bridge_1q: Make an FDB entry static
Phillip Potter (1):
net: geneve: modify IP header check in geneve6_xmit_skb and geneve_xmit_skb
Pierre-Louis Bossart (1):
ASoC: samsung: tm2_wm5110: check of of_parse return value
Ping-Ke Shih (2):
rtw88: Fix array overrun in rtw_get_tx_power_params()
rtlwifi: 8821ae: upgrade PHY and RF parameters
Potnuri Bharat Teja (1):
RDMA/cxgb4: add missing qpid increment
Qii Wang (1):
i2c: mediatek: Fix wrong dma sync flag
Qinglang Miao (9):
soc: qcom: pdr: Fix error return code in pdr_register_listener
i2c: cadence: fix reference leak when pm_runtime_get_sync fails
i2c: img-scb: fix reference leak when pm_runtime_get_sync fails
i2c: imx-lpi2c: fix reference leak when pm_runtime_get_sync fails
i2c: imx: fix reference leak when pm_runtime_get_sync fails
i2c: omap: fix reference leak when pm_runtime_get_sync fails
i2c: sprd: fix reference leak when pm_runtime_get_sync fails
i2c: stm32f7: fix reference leak when pm_runtime_get_sync fails
i2c: xiic: fix reference leak when pm_runtime_get_sync fails
Quanyang Wang (11):
spi: spi-zynqmp-gqspi: use wait_for_completion_timeout to make zynqmp_qspi_exec_op not interruptible
spi: spi-zynqmp-gqspi: add mutex locking for exec_op
spi: spi-zynqmp-gqspi: transmit dummy circles by using the controller's internal functionality
spi: spi-zynqmp-gqspi: fix incorrect operating mode in zynqmp_qspi_read_op
spi: spi-zynqmp-gqspi: fix clk_enable/disable imbalance issue
spi: spi-zynqmp-gqspi: fix hang issue when suspend/resume
spi: spi-zynqmp-gqspi: fix use-after-free in zynqmp_qspi_exec_op
spi: spi-zynqmp-gqspi: return -ENOMEM if dma_map_single fails
drm/tilcdc: send vblank event when disabling crtc
clk: zynqmp: move zynqmp_pll_set_mode out of round_rate callback
clk: zynqmp: pll: add set_pll_mode to check condition in zynqmp_pll_enable
Rander Wang (1):
soundwire: stream: fix memory leak in stream config error path
Randy Dunlap (2):
drm: bridge: fix LONTIUM use of mipi_dsi_() functions
powerpc: iommu: fix build when neither PCI or IBMVIO is set
Rasmus Villemoes (1):
devtmpfs: fix placement of complete() call
Ravi Kumar Bokka (1):
drivers: nvmem: Fix voltage settings for QTI qfprom-efuse
Ricardo Rivera-Matos (1):
power: supply: bq25980: Move props from battery node
Rijo Thomas (1):
crypto: ccp - fix command queuing to TEE ring buffer
Ryder Lee (3):
mt76: mt7615: use ieee80211_free_txskb() in mt7615_tx_token_put()
mt76: mt7915: fix mib stats counter reporting to mac80211
mt76: mt7615: fix memleak when mt7615_unregister_device()Sagi Grimberg (2):
nvme-tcp: block BH in sk state_change sk callback
nvmet-tcp: fix incorrect locking in state_change sk callback
Sai Prakash Ranjan (2):
arm64: dts: qcom: sm8250: Fix level triggered PMU interrupt polarity
arm64: dts: qcom: sm8250: Fix timer interrupt to specify EL2 physical timer
Salil Mehta (1):
net: hns3: Limiting the scope of vector_ring_chain variable
Sami Loone (1):
ALSA: hda/realtek: ALC285 Thinkpad jack pin quirk is unreachable
Sean Christopherson (15):
KVM: x86: Defer the MMU unload to the normal path on an global INVPCID
KVM: x86/mmu: Alloc page for PDPTEs when shadowing 32-bit NPT with 64-bit
KVM: x86: Remove emulator's broken checks on CR0/CR3/CR4 loads
KVM: nSVM: Set the shadow root level to the TDP level for nested NPT
KVM: SVM: Don't strip the C-bit from CR2 on #PF interception
KVM: SVM: Do not allow SEV/SEV-ES initialization after vCPUs are created
KVM: SVM: Inject #GP on guest MSR_TSC_AUX accesses if RDTSCP unsupported
KVM: nVMX: Defer the MMU reload to the normal path on an EPTP switch
KVM: nVMX: Truncate bits 63:32 of VMCS field on nested check in !64-bit
KVM: nVMX: Truncate base/index GPR value on address calc in !64-bit
KVM: Destroy I/O bus devices on unregister failure _after_ sync'ing SRCU
KVM: Stop looking for coalesced MMIO zones if the bus is destroyed
KVM: x86/mmu: Retry page faults that hit an invalid memslot
crypto: ccp: Detect and reject "invalid" addresses destined for PSP
KVM: VMX: Intercept FS/GS_BASE MSR accesses for 32-bit KVM
Sean Wang (2):
mt76: mt7663s: make all of packets 4-bytes aligned in sdio tx aggregation
mt76: mt7663s: fix the possible device hang in high traffic
Sergei Trofimovich (1):
ia64: fix EFI_DEBUG build
Sergey Shtylyov (16):
pata_arasan_cf: fix IRQ check
pata_ipx4xx_cf: fix IRQ check
sata_mv: add IRQ checks
ata: libahci_platform: fix IRQ check
scsi: ufs: ufshcd-pltfrm: Fix deferred probing
scsi: hisi_sas: Fix IRQ checks
scsi: jazz_esp: Add IRQ check
scsi: sun3x_esp: Add IRQ check
scsi: sni_53c710: Add IRQ check
i2c: cadence: add IRQ check
i2c: emev2: add IRQ check
i2c: jz4780: add IRQ check
i2c: mlxbf: add IRQ check
i2c: rcar: add IRQ check
i2c: sh7760: add IRQ check
i2c: sh7760: fix IRQ error path
Shameer Kolothum (1):
iommu: Check dev->iommu in iommu_dev_xxx functions
Shawn Guo (3):
arm64: dts: qcom: sdm845: fix number of pins in 'gpio-ranges'
arm64: dts: qcom: sm8150: fix number of pins in 'gpio-ranges'
arm64: dts: qcom: sm8250: fix number of pins in 'gpio-ranges'
Shay Drory (1):
RDMA/core: Add CM to restrack after successful attachment to a device
Shengjiu Wang (2):
ASoC: wm8960: Remove bitclk relax condition in wm8960_configure_sysclk
ASoC: ak5558: correct reset polarity
Shuah Khan (1):
ath10k: Fix ath10k_wmi_tlv_op_pull_peer_stats_info() unlock without lock
Sindhu Devale (1):
RDMA/i40iw: Fix error unwinding when i40iw_hmc_sd_one fails
Smita Koralahalli (1):
perf vendor events amd: Fix broken L2 Cache Hits from L2 HWPF metric
Souptick Joarder (1):
media: atomisp: Fixed error handling path
Srikar Dronamraju (1):
powerpc/smp: Reintroduce cpu_core_mask
Srinivas Kandagatla (2):
arm64: dts: qcom: db845c: fix correct powerdown pin for WSA881x
soundwire: bus: Fix device found flag correctly
Stefano Garzarella (2):
vsock/vmci: log once the failed queue pair allocation vsock/virtio: free queued packets when closing socket
Steffen Dirkwinkel (1):
platform/x86: pmc_atom: Match all Beckhoff Automation baytrail boards with critclk_systems DMI table
Stephen Boyd (4):
serial: stm32: Use of_device_get_match_data()
firmware: qcom_scm: Make __qcom_scm_is_call_available() return bool
firmware: qcom_scm: Reduce locking section for __get_convention()
firmware: qcom_scm: Workaround lack of "is available" call on SC7180
Sudhakar Panneerselvam (1):
md/bitmap: wait for external bitmap writes to complete during tear down
Takashi Iwai (14):
ALSA: hda/realtek: Re-order ALC882 Acer quirk table entries
ALSA: hda/realtek: Re-order ALC882 Sony quirk table entries
ALSA: hda/realtek: Re-order ALC882 Clevo quirk table entries
ALSA: hda/realtek: Re-order ALC269 HP quirk table entries
ALSA: hda/realtek: Re-order ALC269 Acer quirk table entries
ALSA: hda/realtek: Re-order ALC269 Dell quirk table entries
ALSA: hda/realtek: Re-order ALC269 ASUS quirk table entries
ALSA: hda/realtek: Re-order ALC269 Sony quirk table entries
ALSA: hda/realtek: Re-order ALC269 Lenovo quirk table entries
ALSA: hda/realtek: Re-order remaining ALC269 quirk table entries
ALSA: hda/realtek: Re-order ALC662 quirk table entries
ALSA: hda/realtek: Remove redundant entry for ALC861 Haier/Uniwill devices
ALSA: hda/realtek: Fix speaker amp on HP Envy AiO 32
ALSA: usb-audio: Add error checks for usb_driver_claim_interface() calls
Tanner Love (1):
net/packet: make packet_fanout.arr size configurable up to 64K
Tao Ren (1):
usb: gadget: aspeed: fix dma map failure
Tasos Sahanidis (2):
media: saa7134: use sg_dma_len when building pgtable
media: saa7146: use sg_dma_len when building pgtable
Tejas Patel (1):
firmware: xilinx: Fix dereferencing freed memory
Tetsuo Handa (3):
misc: vmw_vmci: explicitly initialize vmci_notify_bm_set_msg struct
misc: vmw_vmci: explicitly initialize vmci_datagram payload
ttyprintk: Add TTY hangup callback.
Thadeu Lima de Souza Cascardo (2):
io_uring: truncate lengths larger than MAX_RW_COUNT on provide buffers bpf, ringbuf: Deny reserve of buffers larger than ringbuf
Tiezhu Yang (1):
MIPS/bpf: Enable bpf_probe_read{, str}() on MIPS again
Toke Høiland-Jørgensen (1):
ath9k: Fix error check in ath9k_hw_read_revisions() for PCI devices
Tong Zhang (2):
crypto: qat - don't release uninitialized resources
crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init
Tony Lindgren (2):
clocksource/drivers/timer-ti-dm: Fix posted mode status check order clocksource/drivers/timer-ti-dm: Add missing set_state_oneshot_stopped
Tyrel Datwyler (1):
powerpc/pseries: extract host bridge from pci_bus prior to bus removal
Vadym Kochan (1):
net: marvell: prestera: fix port event handling on init
Valentin CARON - foss (1):
ARM: dts: stm32: fix usart 2 & 3 pinconf to wake up with flow control
Valentin Schneider (1):
sched/fair: Fix shift-out-of-bounds in load_balance()
Vitaly Chikunov (1):
perf beauty: Fix fsconfig generator
Vladimir Barinov (1):
arm64: dts: renesas: r8a77980: Fix vin4-7 endpoint binding
Waiman Long (1):
sched/debug: Fix cgroup_path[] serialization
Wang Li (1):
spi: fsl-lpspi: Fix PM reference leak in lpspi_prepare_xfer_hardware()
Wang Wensheng (5):
RDMA/qedr: Fix error return code in qedr_iw_connect() IB/hfi1: Fix error return code in parse_platform_config() RDMA/bnxt_re: Fix error return code in bnxt_qplib_cq_process_terminal() RDMA/srpt: Fix error return code in srpt_cm_req_recv() mm/sparse: add the missing sparse_buffer_fini() in error branch
Wayne Lin (2):
drm/dp_mst: Revise broadcast msg lct & lcr drm/dp_mst: Set CLEAR_PAYLOAD_ID_TABLE as broadcast
Wei Yongjun (5):
usb: typec: tps6598x: Fix return value check in tps6598x_probe()
usb: typec: stusb160x: fix return value check in stusb160x_probe() clocksource/drivers/ingenic_ost: Fix return value check in ingenic_ost_probe()
spi: spi-zynqmp-gqspi: Fix missing unlock on error in zynqmp_qspi_exec_op()
media: m88ds3103: fix return value check in m88ds3103_probe()
William A. Kennington III (1):
spi: Fix use-after-free with devm_spi_alloc_*
Wolfram Sang (2):
i2c: rcar: make sure irq is not threaded on Gen2 and earlier
i2c: rcar: protect against supurious interrupts on V3U
Xiang Chen (1):
iommu: Fix a boundary issue to avoid performance drop
Xiao Ni (1):
async_xor: increase src_offs when dropping destination page
Xie He (2):
Revert "drivers/net/wan/hdlc_fr: Fix a double free in pvc_xmit"
net: lapbether: Prevent racing when checking whether the netif is running
Xin Long (2):
Revert "net/sctp: fix race condition in sctp_destroy_sock"
sctp: delay auto_asconf init until binding the first addr
Yang Yingliang (4):
USB: gadget: udc: fix wrong pointer passed to IS_ERR() and PTR_ERR()
spi: fsl: add missing iounmap() on error in of_fsl_spi_probe()
media: omap4iss: return error code when omap4iss_get() failed net/tipc: fix missing destroy_workqueue() on error in tipc_crypto_start()
Ye Bin (1):
usbip: vudc: fix missing unlock on error in usbip_sockfd_store()
Yingjie Wang (1):
drm/radeon: Fix a missing check bug in radeon_dp_mst_detect()
Yinjun Zhang (1):
nfp: devlink: initialize the devlink port attribute "lanes"
Yoshihiro Shimoda (4):
ARM: dts: renesas: Add mmc aliases into R-Car Gen2 board dts files
arm64: dts: renesas: Add mmc aliases into board dts files
arm64: dts: renesas: r8a779a0: Fix PMU interrupt
net: renesas: ravb: Fix a stuck issue when a lot of frames are received
YueHaibing (1):
PM: runtime: Replace inline function pm_runtime_callbacks_present()
Zhao Heming (1):
md: md_open returns -EBUSY when entering racing area
Zhen Lei (1):
iommu/arm-smmu-v3: add bit field SFM into GERROR_ERR_MASK
Zhouyi Zhou (1):
rcu: Remove spurious instrumentation_end() in rcu_nmi_enter()
dillon min (1):
dt-bindings: serial: stm32: Use 'type: object' instead of false for 'additionalProperties'
gexueyuan (1):
memory: pl353: fix mask of ECC page_size config register
kernel test robot (1):
of: overlay: fix for_each_child.cocci warnings
Álvaro Fernández Rojas (3):
mtd: rawnand: brcmnand: fix OOB R/W with Hamming ECC
gpio: guard gpiochip_irqchip_add_domain() with GPIOLIB_IRQCHIP
mips: bmips: fix syscon-reboot nodes
Greg Kroah-Hartman
maintainerDocumentation/devicetree/bindings/serial/st,stm32-uart.yaml +2 -1
@@ -77,7 +77,8 @@ required: - interrupts - clocks -additionalProperties: false +additionalProperties: + type: object examples: - |
Documentation/driver-api/xilinx/eemi.rst +2 -29
@@ -16,35 +16,8 @@ components running across different processing clusters on a chip or device to communicate with a power management controller (PMC) on a device to issue or respond to power management requests. -EEMI ops is a structure containing all eemi APIs supported by Zynq MPSoC. -The zynqmp-firmware driver maintain all EEMI APIs in zynqmp_eemi_ops -structure. Any driver who want to communicate with PMC using EEMI APIs -can call zynqmp_pm_get_eemi_ops(). - -Example of EEMI ops:: - - /* zynqmp-firmware driver maintain all EEMI APIs */ - struct zynqmp_eemi_ops { - int (*get_api_version)(u32 *version); - int (*query_data)(struct zynqmp_pm_query_data qdata, u32 *out); - }; - - static const struct zynqmp_eemi_ops eemi_ops = { - .get_api_version = zynqmp_pm_get_api_version, - .query_data = zynqmp_pm_query_data, - }; - -Example of EEMI ops usage:: - - static const struct zynqmp_eemi_ops *eemi_ops; - u32 ret_payload[PAYLOAD_ARG_CNT]; - int ret; - - eemi_ops = zynqmp_pm_get_eemi_ops(); - if (IS_ERR(eemi_ops)) - return PTR_ERR(eemi_ops); - - ret = eemi_ops->query_data(qdata, ret_payload); +Any driver who wants to communicate with PMC using EEMI APIs use the +functions provided for each function. IOCTL ------
Documentation/userspace-api/media/v4l/subdev-formats.rst +2 -2
@@ -1567,8 +1567,8 @@ The following tables list existing packed RGB formats. - MEDIA_BUS_FMT_RGB101010_1X30 - 0x1018 - - - 0 - - 0 + - + - - r\ :sub:`9` - r\ :sub:`8` - r\ :sub:`7`
Makefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 10 -SUBLEVEL = 36 +SUBLEVEL = 37 EXTRAVERSION = NAME = Dare mighty things
arch/arm/boot/dts/aspeed-bmc-ibm-rainier.dts +2 -2
@@ -707,9 +707,9 @@ &i2c7 { multi-master; status = "okay"; - si7021-a20@20 { + si7021-a20@40 { compatible = "silabs,si7020"; - reg = <0x20>; + reg = <0x40>; }; tmp275@48 {
arch/arm/boot/dts/exynos4210-i9100.dts +1 -1
@@ -136,7 +136,7 @@ battery@36 { compatible = "maxim,max17042"; interrupt-parent = <&gpx2>; - interrupts = <3 IRQ_TYPE_EDGE_FALLING>; + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; pinctrl-0 = <&max17042_fuel_irq>; pinctrl-names = "default";
arch/arm/boot/dts/exynos4412-midas.dtsi +3 -3
@@ -174,7 +174,7 @@ i2c_max77693: i2c-gpio-1 { max77693@66 { compatible = "maxim,max77693"; interrupt-parent = <&gpx1>; - interrupts = <5 IRQ_TYPE_EDGE_FALLING>; + interrupts = <5 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&max77693_irq>; reg = <0x66>;
@@ -223,7 +223,7 @@ i2c_max77693_fuel: i2c-gpio-3 { max77693-fuel-gauge@36 { compatible = "maxim,max17047"; interrupt-parent = <&gpx2>; - interrupts = <3 IRQ_TYPE_EDGE_FALLING>; + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&max77693_fuel_irq>; reg = <0x36>;
@@ -668,7 +668,7 @@ &i2c_7 { max77686: max77686_pmic@9 { compatible = "maxim,max77686"; interrupt-parent = <&gpx0>; - interrupts = <7 IRQ_TYPE_NONE>; + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; pinctrl-0 = <&max77686_irq>; pinctrl-names = "default"; reg = <0x09>;
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +1 -1
@@ -279,7 +279,7 @@ usb3503: usb3503@8 { max77686: pmic@9 { compatible = "maxim,max77686"; interrupt-parent = <&gpx3>; - interrupts = <2 IRQ_TYPE_NONE>; + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&max77686_irq>; reg = <0x09>;
arch/arm/boot/dts/exynos5250-smdk5250.dts +1 -1
@@ -134,7 +134,7 @@ max77686: pmic@9 { compatible = "maxim,max77686"; reg = <0x09>; interrupt-parent = <&gpx3>; - interrupts = <2 IRQ_TYPE_NONE>; + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&max77686_irq>; #clock-cells = <1>;
arch/arm/boot/dts/exynos5250-snow-common.dtsi +1 -1
@@ -292,7 +292,7 @@ &i2c_0 { max77686: max77686@9 { compatible = "maxim,max77686"; interrupt-parent = <&gpx3>; - interrupts = <2 IRQ_TYPE_NONE>; + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&max77686_irq>; wakeup-source;
arch/arm/boot/dts/r8a7790-lager.dts +3 -0
@@ -53,6 +53,9 @@ aliases { i2c11 = &i2cexio1; i2c12 = &i2chdmi; i2c13 = &i2cpwr; + mmc0 = &mmcif1; + mmc1 = &sdhi0; + mmc2 = &sdhi2; }; chosen {
arch/arm/boot/dts/r8a7791-koelsch.dts +3 -0
@@ -53,6 +53,9 @@ aliases { i2c12 = &i2cexio1; i2c13 = &i2chdmi; i2c14 = &i2cexio4; + mmc0 = &sdhi0; + mmc1 = &sdhi1; + mmc2 = &sdhi2; }; chosen {
arch/arm/boot/dts/r8a7791-porter.dts +2 -0
@@ -28,6 +28,8 @@ aliases { serial0 = &scif0; i2c9 = &gpioi2c2; i2c10 = &i2chdmi; + mmc0 = &sdhi0; + mmc1 = &sdhi2; }; chosen {
arch/arm/boot/dts/r8a7793-gose.dts +3 -0
@@ -49,6 +49,9 @@ aliases { i2c10 = &gpioi2c4; i2c11 = &i2chdmi; i2c12 = &i2cexio4; + mmc0 = &sdhi0; + mmc1 = &sdhi1; + mmc2 = &sdhi2; }; chosen {
arch/arm/boot/dts/r8a7794-alt.dts +3 -0
@@ -19,6 +19,9 @@ aliases { i2c10 = &gpioi2c4; i2c11 = &i2chdmi; i2c12 = &i2cexio4; + mmc0 = &mmcif0; + mmc1 = &sdhi0; + mmc2 = &sdhi1; }; chosen {
arch/arm/boot/dts/r8a7794-silk.dts +2 -0
@@ -31,6 +31,8 @@ aliases { serial0 = &scif2; i2c9 = &gpioi2c1; i2c10 = &i2chdmi; + mmc0 = &mmcif0; + mmc1 = &sdhi1; }; chosen {
arch/arm/boot/dts/s5pv210-fascinate4g.dts +1 -1
@@ -115,7 +115,7 @@ &fg { compatible = "maxim,max77836-battery"; interrupt-parent = <&gph3>; - interrupts = <3 IRQ_TYPE_EDGE_FALLING>; + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&fg_irq>;
arch/arm/boot/dts/stm32mp15-pinctrl.dtsi +18 -3
@@ -1806,10 +1806,15 @@ pins2 { usart2_idle_pins_c: usart2-idle-2 { pins1 { pinmux = <STM32_PINMUX('D', 5, ANALOG)>, /* USART2_TX */ - <STM32_PINMUX('D', 4, ANALOG)>, /* USART2_RTS */ <STM32_PINMUX('D', 3, ANALOG)>; /* USART2_CTS_NSS */ }; pins2 { + pinmux = <STM32_PINMUX('D', 4, AF7)>; /* USART2_RTS */ + bias-disable; + drive-push-pull; + slew-rate = <3>; + }; + pins3 { pinmux = <STM32_PINMUX('D', 6, AF7)>; /* USART2_RX */ bias-disable; };
@@ -1855,10 +1860,15 @@ pins2 { usart3_idle_pins_b: usart3-idle-1 { pins1 { pinmux = <STM32_PINMUX('B', 10, ANALOG)>, /* USART3_TX */ - <STM32_PINMUX('G', 8, ANALOG)>, /* USART3_RTS */ <STM32_PINMUX('I', 10, ANALOG)>; /* USART3_CTS_NSS */ }; pins2 { + pinmux = <STM32_PINMUX('G', 8, AF8)>; /* USART3_RTS */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins3 { pinmux = <STM32_PINMUX('B', 12, AF8)>; /* USART3_RX */ bias-disable; };
@@ -1891,10 +1901,15 @@ pins2 { usart3_idle_pins_c: usart3-idle-2 { pins1 { pinmux = <STM32_PINMUX('B', 10, ANALOG)>, /* USART3_TX */ - <STM32_PINMUX('G', 8, ANALOG)>, /* USART3_RTS */ <STM32_PINMUX('B', 13, ANALOG)>; /* USART3_CTS_NSS */ }; pins2 { + pinmux = <STM32_PINMUX('G', 8, AF8)>; /* USART3_RTS */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins3 { pinmux = <STM32_PINMUX('B', 12, AF8)>; /* USART3_RX */ bias-disable; };
arch/arm/boot/dts/uniphier-pxs2.dtsi +1 -1
@@ -583,7 +583,7 @@ eth: ethernet@65000000 { clocks = <&sys_clk 6>; reset-names = "ether"; resets = <&sys_rst 6>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; local-mac-address = [00 00 00 00 00 00]; socionext,syscon-phy-mode = <&soc_glue 0>;
arch/arm/crypto/poly1305-glue.c +1 -1
@@ -29,7 +29,7 @@ void __weak poly1305_blocks_neon(void *state, const u8 *src, u32 len, u32 hibit)static __ro_after_init DEFINE_STATIC_KEY_FALSE (have_neon); -void poly1305_init_arch (struct poly1305_desc_ctx *dctx,const u8 *key) +void poly1305_init_arch (struct poly1305_desc_ctx *dctx,const u8 key[POLY1305_KEY_SIZE ]) {poly1305_init_arm (&dctx->h, key); dctx->s[0 ] =get_unaligned_le32 (key +16 );
arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi +1 -1
@@ -56,7 +56,7 @@ &i2c0 { tca6416: gpio@20 { compatible = "ti,tca6416"; reg = <0x20>; - reset-gpios = <&pio 65 GPIO_ACTIVE_HIGH>; + reset-gpios = <&pio 65 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; pinctrl-0 = <&tca6416_pins>;
arch/arm64/boot/dts/qcom/sdm845-db845c.dts +2 -2
@@ -1015,7 +1015,7 @@ swm: swm@c85 { left_spkr: wsa8810-left{ compatible = "sdw10217201000"; reg = <0 1>; - powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>; + powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_HIGH>; #thermal-sensor-cells = <0>; sound-name-prefix = "SpkrLeft"; #sound-dai-cells = <0>;
@@ -1023,7 +1023,7 @@ left_spkr: wsa8810-left{ right_spkr: wsa8810-right{ compatible = "sdw10217201000"; - powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>; + powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_HIGH>; reg = <0 2>; #thermal-sensor-cells = <0>; sound-name-prefix = "SpkrRight";
arch/arm64/boot/dts/qcom/sdm845.dtsi +1 -1
@@ -2192,7 +2192,7 @@ tlmm: pinctrl@3400000 { #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; - gpio-ranges = <&tlmm 0 0 150>; + gpio-ranges = <&tlmm 0 0 151>; wakeup-parent = <&pdc_intc>; cci0_default: cci0-default {
arch/arm64/boot/dts/qcom/sm8150.dtsi +1 -1
@@ -748,7 +748,7 @@ tlmm: pinctrl@3100000 { <0x0 0x03D00000 0x0 0x300000>; reg-names = "west", "east", "north", "south"; interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; - gpio-ranges = <&tlmm 0 0 175>; + gpio-ranges = <&tlmm 0 0 176>; gpio-controller; #gpio-cells = <2>; interrupt-controller;
arch/arm64/boot/dts/qcom/sm8250.dtsi +3 -3
@@ -216,7 +216,7 @@ memory@80000000 { pmu { compatible = "arm,armv8-pmuv3"; - interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; + interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>; }; psci {
@@ -1555,7 +1555,7 @@ tlmm: pinctrl@f100000 { #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; - gpio-ranges = <&tlmm 0 0 180>; + gpio-ranges = <&tlmm 0 0 181>; wakeup-parent = <&pdc>; qup_i2c0_default: qup-i2c0-default {
@@ -2379,7 +2379,7 @@ timer { (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, - <GIC_PPI 12 + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; };
arch/arm64/boot/dts/renesas/hihope-common.dtsi +3 -0
@@ -12,6 +12,9 @@ / { aliases { serial0 = &scif2; serial1 = &hscif0; + mmc0 = &sdhi3; + mmc1 = &sdhi0; + mmc2 = &sdhi2; }; chosen {
arch/arm64/boot/dts/renesas/r8a774a1-beacon-rzg2m-kit.dts +3 -0
@@ -21,6 +21,9 @@ aliases { serial4 = &hscif2; serial5 = &scif5; ethernet0 = &avb; + mmc0 = &sdhi3; + mmc1 = &sdhi0; + mmc2 = &sdhi2; }; chosen {
arch/arm64/boot/dts/renesas/r8a774c0-cat874.dts +2 -0
@@ -17,6 +17,8 @@ / { aliases { serial0 = &scif2; serial1 = &hscif2; + mmc0 = &sdhi0; + mmc1 = &sdhi3; }; chosen {
arch/arm64/boot/dts/renesas/r8a77980.dtsi +8 -8
@@ -990,8 +990,8 @@ port@1 { reg = <1>; - vin4csi41: endpoint@2 { - reg = <2>; + vin4csi41: endpoint@3 { + reg = <3>; remote-endpoint = <&csi41vin4>; }; };
@@ -1018,8 +1018,8 @@ port@1 { reg = <1>; - vin5csi41: endpoint@2 { - reg = <2>; + vin5csi41: endpoint@3 { + reg = <3>; remote-endpoint = <&csi41vin5>; }; };
@@ -1046,8 +1046,8 @@ port@1 { reg = <1>; - vin6csi41: endpoint@2 { - reg = <2>; + vin6csi41: endpoint@3 { + reg = <3>; remote-endpoint = <&csi41vin6>; }; };
@@ -1074,8 +1074,8 @@ port@1 { reg = <1>; - vin7csi41: endpoint@2 { - reg = <2>; + vin7csi41: endpoint@3 { + reg = <3>; remote-endpoint = <&csi41vin7>; }; };
arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts +3 -0
@@ -16,6 +16,9 @@ / { aliases { serial0 = &scif2; ethernet0 = &avb; + mmc0 = &sdhi3; + mmc1 = &sdhi0; + mmc2 = &sdhi1; }; chosen {
arch/arm64/boot/dts/renesas/r8a779a0.dtsi +1 -4
@@ -50,10 +50,7 @@ extalr_clk: extalr { pmu_a76 { compatible = "arm,cortex-a76-pmu"; - interrupts-extended = <&gic GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>, - <&gic GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, - <&gic GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, - <&gic GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; + interrupts-extended = <&gic GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>; }; /* External SCIF clock - to be overridden by boards that provide it */
arch/arm64/boot/dts/renesas/salvator-common.dtsi +3 -0
@@ -36,6 +36,9 @@ aliases { serial0 = &scif2; serial1 = &hscif1; ethernet0 = &avb; + mmc0 = &sdhi2; + mmc1 = &sdhi0; + mmc2 = &sdhi3; }; chosen {
arch/arm64/boot/dts/renesas/ulcb-kf.dtsi +1 -0
@@ -16,6 +16,7 @@ / { aliases { serial1 = &hscif0; serial2 = &scif1; + mmc2 = &sdhi3; }; clksndsel: clksndsel {
arch/arm64/boot/dts/renesas/ulcb.dtsi +2 -0
@@ -23,6 +23,8 @@ / { aliases { serial0 = &scif2; ethernet0 = &avb; + mmc0 = &sdhi2; + mmc1 = &sdhi0; }; chosen {
arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi +1 -1
@@ -734,7 +734,7 @@ eth: ethernet@65000000 { clocks = <&sys_clk 6>; reset-names = "ether"; resets = <&sys_rst 6>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; local-mac-address = [00 00 00 00 00 00]; socionext,syscon-phy-mode = <&soc_glue 0>;
arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi +2 -2
@@ -564,7 +564,7 @@ eth0: ethernet@65000000 { clocks = <&sys_clk 6>; reset-names = "ether"; resets = <&sys_rst 6>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; local-mac-address = [00 00 00 00 00 00]; socionext,syscon-phy-mode = <&soc_glue 0>;
@@ -585,7 +585,7 @@ eth1: ethernet@65200000 { clocks = <&sys_clk 7>; reset-names = "ether"; resets = <&sys_rst 7>; - phy-mode = "rgmii"; + phy-mode = "rgmii-id"; local-mac-address = [00 00 00 00 00 00]; socionext,syscon-phy-mode = <&soc_glue 1>;
arch/arm64/crypto/poly1305-glue.c +1 -1
@@ -25,7 +25,7 @@ asmlinkage void poly1305_emit(void *state, u8 *digest, const u32 *nonce);static __ro_after_init DEFINE_STATIC_KEY_FALSE (have_neon); -void poly1305_init_arch (struct poly1305_desc_ctx *dctx,const u8 *key) +void poly1305_init_arch (struct poly1305_desc_ctx *dctx,const u8 key[POLY1305_KEY_SIZE ]) {poly1305_init_arm64 (&dctx->h, key); dctx->s[0 ] =get_unaligned_le32 (key +16 );
arch/arm64/include/asm/kvm_host.h +1 -0
@@ -601,6 +601,7 @@ static inline void kvm_arch_sched_in(struct kvm_vcpu *vcpu, int cpu) {}static inline void kvm_arch_vcpu_block_finish (struct kvm_vcpu *vcpu) {}void kvm_arm_init_debug (void ); +void kvm_arm_vcpu_init_debug (struct kvm_vcpu *vcpu);void kvm_arm_setup_debug (struct kvm_vcpu *vcpu);void kvm_arm_clear_debug (struct kvm_vcpu *vcpu);void kvm_arm_reset_debug_ptr (struct kvm_vcpu *vcpu);
arch/arm64/include/asm/processor.h +1 -2
@@ -96,8 +96,7 @@#endif /* CONFIG_ARM64_FORCE_52BIT */ extern phys_addr_t arm64_dma_phys_limit; -extern phys_addr_t arm64_dma32_phys_limit; -#define ARCH_LOW_ADDRESS_LIMIT ((arm64_dma_phys_limit ? : arm64_dma32_phys_limit) - 1) +#define ARCH_LOW_ADDRESS_LIMIT (arm64_dma_phys_limit - 1)struct debug_info {#ifdef CONFIG_HAVE_HW_BREAKPOINT
arch/arm64/kvm/arm.c +2 -0
@@ -547,6 +547,8 @@ static int kvm_vcpu_first_run_init(struct kvm_vcpu *vcpu) vcpu->arch.has_run_once = true; +kvm_arm_vcpu_init_debug (vcpu); +if (likely (irqchip_in_kernel (kvm))) {/* * Map the VGIC hardware resources before running a vcpu the
arch/arm64/kvm/debug.c +60 -28
131 lines not on this page · raw message
arch/arm64/kvm/reset.c +5 -0
@@ -291,6 +291,11 @@ int kvm_reset_vcpu(struct kvm_vcpu *vcpu)/* Reset core registers */ memset (vcpu_gp_regs (vcpu),0 ,sizeof (*vcpu_gp_regs (vcpu))); +memset (&vcpu->arch.ctxt.fp_regs,0 ,sizeof (vcpu->arch.ctxt.fp_regs)); + vcpu->arch.ctxt.spsr_abt =0 ; + vcpu->arch.ctxt.spsr_und =0 ; + vcpu->arch.ctxt.spsr_irq =0 ; + vcpu->arch.ctxt.spsr_fiq =0 ;vcpu_gp_regs (vcpu)->pstate = pstate;/* Reset system registers */
arch/arm64/kvm/vgic/vgic-kvm-device.c +5 -2
@@ -87,8 +87,8 @@ int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 *addr, bool write) r =vgic_v3_set_redist_base (kvm,0 , *addr,0 ); goto out; } - rdreg =list_first_entry (&vgic->rd_regions, - struct vgic_redist_region, list); + rdreg =list_first_entry_or_null (&vgic->rd_regions, + struct vgic_redist_region, list);if (!rdreg) addr_ptr = &undef_value;else
@@ -226,6 +226,9 @@ static int vgic_get_common_attr(struct kvm_device *dev,u64 addr;unsigned long type = (unsigned long )attr->attr; +if (copy_from_user (&addr, uaddr,sizeof (addr))) +return -EFAULT ; + r =kvm_vgic_addr (dev->kvm, type, &addr, false);if (r)return (r == -ENODEV ) ? -ENXIO : r;
arch/arm64/mm/init.c +18 -15
@@ -53,13 +53,13 @@ s64 memstart_addr __ro_after_init = -1;EXPORT_SYMBOL (memstart_addr);/* -* We create both ZONE_DMA and ZONE_DMA32. ZONE_DMA covers the first 1G of -* memory as some devices, namely the Raspberry Pi 4, have peripherals with -* this limited view of the memory. ZONE_DMA32 will cover the rest of the 32 -* bit addressable memory area. +* If the corresponding config options are enabled, we create both ZONE_DMA +* and ZONE_DMA32. By default ZONE_DMA covers the 32-bit addressable memory +* unless restricted on specific platforms (e.g. 30-bit on Raspberry Pi 4). +* In such case, ZONE_DMA32 covers the rest of the 32-bit addressable memory, +* otherwise it is empty. */ phys_addr_t arm64_dma_phys_limit__ro_after_init ; -phys_addr_t arm64_dma32_phys_limit__ro_after_init ;#ifdef CONFIG_KEXEC_CORE /*
@@ -84,7 +84,7 @@ static void __init reserve_crashkernel(void)if (crash_base ==0 ) {/* Current arm64 boot protocol requires 2MB alignment */ - crash_base =memblock_find_in_range (0 , arm64_dma32_phys_limit, + crash_base =memblock_find_in_range (0 , arm64_dma_phys_limit, crash_size,SZ_2M );if (crash_base ==0 ) { pr_warn("cannot allocate crashkernel (size:0x%llx)\n",
@@ -189,6 +189,7 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max)unsigned long max_zone_pfns[MAX_NR_ZONES ] = {0 };unsigned int __maybe_unused acpi_zone_dma_bits;unsigned int __maybe_unused dt_zone_dma_bits; +phys_addr_t __maybe_unused dma32_phys_limit =max_zone_phys (32 );#ifdef CONFIG_ZONE_DMA acpi_zone_dma_bits =fls64 (acpi_iort_dma_get_max_cpu_address ());
@@ -198,8 +199,12 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max) max_zone_pfns[ZONE_DMA ] =PFN_DOWN (arm64_dma_phys_limit);#endif #ifdef CONFIG_ZONE_DMA32 - max_zone_pfns[ZONE_DMA32 ] =PFN_DOWN (arm64_dma32_phys_limit); + max_zone_pfns[ZONE_DMA32 ] =PFN_DOWN (dma32_phys_limit); +if (!arm64_dma_phys_limit) + arm64_dma_phys_limit = dma32_phys_limit;#endif +if (!arm64_dma_phys_limit) + arm64_dma_phys_limit =PHYS_MASK +1 ; max_zone_pfns[ZONE_NORMAL ] = max;free_area_init (max_zone_pfns);
@@ -393,16 +398,9 @@ void __init arm64_memblock_init(void)early_init_fdt_scan_reserved_mem (); -if (IS_ENABLED (CONFIG_ZONE_DMA32 )) - arm64_dma32_phys_limit =max_zone_phys (32 ); -else - arm64_dma32_phys_limit =PHYS_MASK +1 ; -reserve_elfcorehdr (); high_memory =__va (memblock_end_of_DRAM () -1 ) +1 ; - -dma_contiguous_reserve (arm64_dma32_phys_limit); }void __init bootmem_init (void )
@@ -437,6 +435,11 @@ void __init bootmem_init(void)sparse_init ();zone_sizes_init (min, max); +/* +* Reserve the CMA area after arm64_dma_phys_limit was initialised. +*/ +dma_contiguous_reserve (arm64_dma_phys_limit); +/* * request_standard_resources() depends on crashkernel's memory being * reserved, so do it here.
@@ -519,7 +522,7 @@ static void __init free_unused_memmap(void)void __init mem_init (void ) {if (swiotlb_force ==SWIOTLB_FORCE || - max_pfn >PFN_DOWN (arm64_dma_phys_limit ? : arm64_dma32_phys_limit)) + max_pfn >PFN_DOWN (arm64_dma_phys_limit))swiotlb_init (1 );else swiotlb_force =SWIOTLB_NO_FORCE ;
arch/ia64/kernel/efi.c +6 -5
@@ -413,10 +413,10 @@ efi_get_pal_addr (void) mask = ~((1 <<IA64_GRANULE_SHIFT ) -1 );printk (KERN_INFO "CPU %d: mapping PAL code " -"[0x%lx-0x%lx) into [0x%lx-0x%lx)\n" , -smp_processor_id (), md->phys_addr, - md->phys_addr +efi_md_size (md), - vaddr & mask, (vaddr & mask) +IA64_GRANULE_SIZE ); +"[0x%llx-0x%llx) into [0x%llx-0x%llx)\n" , +smp_processor_id (), md->phys_addr, + md->phys_addr +efi_md_size (md), + vaddr & mask, (vaddr & mask) +IA64_GRANULE_SIZE );#endif return __va (md->phys_addr); }
@@ -558,6 +558,7 @@ efi_init (void) {efi_memory_desc_t *md;void *p; +unsigned int i;for (i =0 , p = efi_map_start; p < efi_map_end; ++i, p += efi_desc_size)
@@ -584,7 +585,7 @@ efi_init (void) }printk ("mem%02d: %s " -"range=[0x%016lx-0x%016lx) (%4lu%s)\n" , +"range=[0x%016llx-0x%016llx) (%4lu%s)\n" , i,efi_md_typeattr_format (buf,sizeof (buf), md), md->phys_addr, md->phys_addr +efi_md_size (md), size, unit);
arch/m68k/include/asm/mvme147hw.h +3 -0
@@ -66,6 +66,9 @@ struct pcc_regs {#define PCC_INT_ENAB 0x08#define PCC_TIMER_INT_CLR 0x80 + +#define PCC_TIMER_TIC_EN 0x01 +#define PCC_TIMER_COC_EN 0x02#define PCC_TIMER_CLR_OVF 0x04#define PCC_LEVEL_ABORT 0x07
arch/m68k/kernel/sys_m68k.c +2 -0
@@ -388,6 +388,8 @@ sys_cacheflush (unsigned long addr, int scope, int cache, unsigned long len) ret = -EPERM ;if (!capable (CAP_SYS_ADMIN )) goto out; + +mmap_read_lock (current->mm); }else {struct vm_area_struct *vma;
arch/m68k/mvme147/config.c +8 -6
@@ -116,8 +116,10 @@ static irqreturn_t mvme147_timer_int (int irq, void *dev_id)unsigned long flags;local_irq_save (flags); - m147_pcc->t1_int_cntrl =PCC_TIMER_INT_CLR ; - m147_pcc->t1_cntrl =PCC_TIMER_CLR_OVF ; + m147_pcc->t1_cntrl =PCC_TIMER_CLR_OVF |PCC_TIMER_COC_EN | +PCC_TIMER_TIC_EN ; + m147_pcc->t1_int_cntrl =PCC_INT_ENAB |PCC_TIMER_INT_CLR | +PCC_LEVEL_TIMER1 ; clk_total +=PCC_TIMER_CYCLES ;timer_routine (0 ,NULL );local_irq_restore (flags);
@@ -135,10 +137,10 @@ void mvme147_sched_init (irq_handler_t timer_routine)/* Init the clock with a value */ /* The clock counter increments until 0xFFFF then reloads */ m147_pcc->t1_preload =PCC_TIMER_PRELOAD ; - m147_pcc->t1_cntrl =0x0 ;/* clear timer */ - m147_pcc->t1_cntrl =0x3 ;/* start timer */ - m147_pcc->t1_int_cntrl =PCC_TIMER_INT_CLR ;/* clear pending ints */ - m147_pcc->t1_int_cntrl =PCC_INT_ENAB |PCC_LEVEL_TIMER1 ; + m147_pcc->t1_cntrl =PCC_TIMER_CLR_OVF |PCC_TIMER_COC_EN | +PCC_TIMER_TIC_EN ; + m147_pcc->t1_int_cntrl =PCC_INT_ENAB |PCC_TIMER_INT_CLR | +PCC_LEVEL_TIMER1 ;clocksource_register_hz (&mvme147_clk,PCC_TIMER_CLOCK_FREQ ); }
arch/m68k/mvme16x/config.c +8 -6
@@ -367,6 +367,7 @@ static u32 clk_total;#define PCCTOVR1_COC_EN 0x02#define PCCTOVR1_OVR_CLR 0x04 +#define PCCTIC1_INT_LEVEL 6#define PCCTIC1_INT_CLR 0x08#define PCCTIC1_INT_EN 0x10
@@ -376,8 +377,8 @@ static irqreturn_t mvme16x_timer_int (int irq, void *dev_id)unsigned long flags;local_irq_save (flags); -out_8 (PCCTIC1 ,in_8 (PCCTIC1 ) |PCCTIC1_INT_CLR ); -out_8 (PCCTOVR1 ,PCCTOVR1_OVR_CLR ); +out_8 (PCCTOVR1 ,PCCTOVR1_OVR_CLR |PCCTOVR1_TIC_EN |PCCTOVR1_COC_EN ); +out_8 (PCCTIC1 ,PCCTIC1_INT_EN |PCCTIC1_INT_CLR |PCCTIC1_INT_LEVEL ); clk_total +=PCC_TIMER_CYCLES ;timer_routine (0 ,NULL );local_irq_restore (flags);
@@ -391,14 +392,15 @@ void mvme16x_sched_init (irq_handler_t timer_routine)int irq;/* Using PCCchip2 or MC2 chip tick timer 1 */ -out_be32 (PCCTCNT1 ,0 ); -out_be32 (PCCTCMP1 ,PCC_TIMER_CYCLES ); -out_8 (PCCTOVR1 ,in_8 (PCCTOVR1 ) |PCCTOVR1_TIC_EN |PCCTOVR1_COC_EN ); -out_8 (PCCTIC1 ,PCCTIC1_INT_EN |6 );if (request_irq (MVME16x_IRQ_TIMER, mvme16x_timer_int,IRQF_TIMER ,"timer" , timer_routine))panic ("Couldn't register timer int" ); +out_be32 (PCCTCNT1 ,0 ); +out_be32 (PCCTCMP1 ,PCC_TIMER_CYCLES ); +out_8 (PCCTOVR1 ,PCCTOVR1_OVR_CLR |PCCTOVR1_TIC_EN |PCCTOVR1_COC_EN ); +out_8 (PCCTIC1 ,PCCTIC1_INT_EN |PCCTIC1_INT_CLR |PCCTIC1_INT_LEVEL ); +clocksource_register_hz (&mvme16x_clk,PCC_TIMER_CLOCK_FREQ );if (brdno ==0x0162 || brdno ==0x172 )
arch/mips/Kconfig +1 -0
@@ -6,6 +6,7 @@ config MIPS select ARCH_BINFMT_ELF_STATE if MIPS_FP_SUPPORT select ARCH_HAS_FORTIFY_SOURCE select ARCH_HAS_KCOV + select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE if !EVA select ARCH_HAS_PTE_SPECIAL if !(32BIT && CPU_HAS_RIXI) select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST select ARCH_HAS_UBSAN_SANITIZE_ALL
arch/mips/boot/dts/brcm/bcm3368.dtsi +1 -1
@@ -59,7 +59,7 @@ clkctl: clock-controller@fff8c004 { periph_cntl: syscon@fff8c008 { compatible = "syscon"; - reg = <0xfff8c000 0x4>; + reg = <0xfff8c008 0x4>; native-endian; };
arch/mips/boot/dts/brcm/bcm63268.dtsi +1 -1
@@ -59,7 +59,7 @@ clkctl: clock-controller@10000004 { periph_cntl: syscon@10000008 { compatible = "syscon"; - reg = <0x10000000 0xc>; + reg = <0x10000008 0x4>; native-endian; };
arch/mips/boot/dts/brcm/bcm6358.dtsi +1 -1
@@ -59,7 +59,7 @@ clkctl: clock-controller@fffe0004 { periph_cntl: syscon@fffe0008 { compatible = "syscon"; - reg = <0xfffe0000 0x4>; + reg = <0xfffe0008 0x4>; native-endian; };
arch/mips/boot/dts/brcm/bcm6362.dtsi +1 -1
@@ -59,7 +59,7 @@ clkctl: clock-controller@10000004 { periph_cntl: syscon@10000008 { compatible = "syscon"; - reg = <0x10000000 0xc>; + reg = <0x10000008 0x4>; native-endian; };
arch/mips/boot/dts/brcm/bcm6368.dtsi +1 -1
@@ -59,7 +59,7 @@ clkctl: clock-controller@10000004 { periph_cntl: syscon@100000008 { compatible = "syscon"; - reg = <0x10000000 0xc>; + reg = <0x10000008 0x4>; native-endian; };
arch/mips/crypto/poly1305-glue.c +1 -1
@@ -17,7 +17,7 @@ asmlinkage void poly1305_init_mips(void *state, const u8 *key); asmlinkage void poly1305_blocks_mips(void *state, const u8 *src, u32 len, u32 hibit); asmlinkage void poly1305_emit_mips(void *state, u8 *digest, const u32 *nonce); -void poly1305_init_arch (struct poly1305_desc_ctx *dctx,const u8 *key) +void poly1305_init_arch (struct poly1305_desc_ctx *dctx,const u8 key[POLY1305_KEY_SIZE ]) {poly1305_init_mips (&dctx->h, key); dctx->s[0 ] =get_unaligned_le32 (key +16 );
arch/mips/include/asm/asmmacro.h +1 -2
@@ -44,8 +44,7 @@ .endm#endif -#if defined(CONFIG_CPU_MIPSR2 ) || defined(CONFIG_CPU_MIPSR5 ) || \ - defined(CONFIG_CPU_MIPSR6 ) +#ifdef CONFIG_CPU_HAS_DIEI .macro local_irq_enable reg=t0ei irq_enable_hazard
arch/mips/loongson64/init.c +1 -1
@@ -82,7 +82,7 @@ static int __init add_legacy_isa_io(struct fwnode_handle *fwnode, resource_size_return -ENOMEM ; range->fwnode = fwnode; - range->size = size; + range->size = size =round_up (size,PAGE_SIZE ); range->hw_start = hw_start; range->flags =LOGIC_PIO_CPU_MMIO ;
arch/mips/pci/pci-legacy.c +7 -2
@@ -166,8 +166,13 @@ void pci_load_of_ranges(struct pci_controller *hose, struct device_node *node) res = hose->mem_resource;break ; } -if (res !=NULL ) -of_pci_range_to_resource (&range, node, res); +if (res !=NULL ) { + res->name = node->full_name; + res->flags = range.flags; + res->start = range.cpu_addr; + res->end = range.cpu_addr + range.size -1 ; + res->parent = res->child = res->sibling =NULL ; + } } }
arch/mips/pci/pci-mt7620.c +3 -2
@@ -30,6 +30,7 @@#define RALINK_GPIOMODE 0x60#define PPLL_CFG1 0x9c +#define PPLL_LD BIT(23)#define PPLL_DRV 0xa0#define PDRV_SW_SET BIT(31)
@@ -239,8 +240,8 @@ static int mt7620_pci_hw_init(struct platform_device *pdev)rt_sysc_m32 (0 ,RALINK_PCIE0_CLK_EN ,RALINK_CLKCFG1 );mdelay (100 ); -if (!(rt_sysc_r32 (PPLL_CFG1 ) &PDRV_SW_SET )) { -dev_err (&pdev->dev,"MT7620 PPLL unlock\n" ); +if (!(rt_sysc_r32 (PPLL_CFG1 ) &PPLL_LD )) { +dev_err (&pdev->dev,"pcie PLL not locked, aborting init\n" );reset_control_assert (rstpcie0);rt_sysc_m32 (RALINK_PCIE0_CLK_EN ,0 ,RALINK_CLKCFG1 );return -1 ;
arch/mips/pci/pci-rt2880.c +24 -13
@@ -180,7 +180,6 @@ static inline void rt2880_pci_write_u32(unsigned long reg, u32 val)int pcibios_map_irq (const struct pci_dev *dev,u8 slot,u8 pin) { -u16 cmd;int irq =-1 ;if (dev->bus->number !=0 )
@@ -188,8 +187,6 @@ int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)switch (PCI_SLOT (dev->devfn)) {case 0x00 : -rt2880_pci_write_u32 (PCI_BASE_ADDRESS_0 ,0x08000000 ); - (void )rt2880_pci_read_u32 (PCI_BASE_ADDRESS_0 );break ;case 0x11 : irq =RT288X_CPU_IRQ_PCI ;
@@ -201,16 +198,6 @@ int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)break ; } -pci_write_config_byte ((struct pci_dev *) dev, -PCI_CACHE_LINE_SIZE ,0x14 ); -pci_write_config_byte ((struct pci_dev *) dev,PCI_LATENCY_TIMER ,0xFF ); -pci_read_config_word ((struct pci_dev *) dev,PCI_COMMAND , &cmd); - cmd |=PCI_COMMAND_MASTER |PCI_COMMAND_IO |PCI_COMMAND_MEMORY | -PCI_COMMAND_INVALIDATE |PCI_COMMAND_FAST_BACK | -PCI_COMMAND_SERR |PCI_COMMAND_WAIT |PCI_COMMAND_PARITY ; -pci_write_config_word ((struct pci_dev *) dev,PCI_COMMAND , cmd); -pci_write_config_byte ((struct pci_dev *) dev,PCI_INTERRUPT_LINE , - dev->irq);return irq; }
@@ -251,6 +238,30 @@ static int rt288x_pci_probe(struct platform_device *pdev)int pcibios_plat_dev_init (struct pci_dev *dev) { +static bool slot0_init; + +/* +* Nobody seems to initialize slot 0, but this platform requires it, so +* do it once when some other slot is being enabled. The PCI subsystem +* should configure other slots properly, so no need to do anything +* special for those. +*/ +if (!slot0_init && dev->bus->number ==0 ) { +u16 cmd; +u32 bar0; + + slot0_init = true; + +pci_bus_write_config_dword (dev->bus,0 ,PCI_BASE_ADDRESS_0 , +0x08000000 ); +pci_bus_read_config_dword (dev->bus,0 ,PCI_BASE_ADDRESS_0 , + &bar0); + +pci_bus_read_config_word (dev->bus,0 ,PCI_COMMAND , &cmd); + cmd |=PCI_COMMAND_MASTER |PCI_COMMAND_IO |PCI_COMMAND_MEMORY ; +pci_bus_write_config_word (dev->bus,0 ,PCI_COMMAND , cmd); + } +return 0 ; }
arch/powerpc/Kconfig +1 -1
@@ -222,7 +222,7 @@ config PPC select HAVE_LIVEPATCH if HAVE_DYNAMIC_FTRACE_WITH_REGS select HAVE_MOD_ARCH_SPECIFIC select HAVE_NMI if PERF_EVENTS || (PPC64 && PPC_BOOK3S) - select HAVE_HARDLOCKUP_DETECTOR_ARCH if (PPC64 && PPC_BOOK3S) + select HAVE_HARDLOCKUP_DETECTOR_ARCH if PPC64 && PPC_BOOK3S && SMP select HAVE_OPROFILE select HAVE_OPTPROBES if PPC64 select HAVE_PERF_EVENTS
arch/powerpc/Kconfig.debug +1 -0
@@ -352,6 +352,7 @@ config PPC_EARLY_DEBUG_CPM_ADDR config FAIL_IOMMU bool "Fault-injection capability for IOMMU" depends on FAULT_INJECTION + depends on PCI || IBMVIO help Provide fault-injection capability for IOMMU. Each device can be selectively enabled via the fail_iommu property.
arch/powerpc/include/asm/book3s/64/pgtable.h +3 -1
@@ -7,6 +7,7 @@#ifndef __ASSEMBLY__#include <linux/mmdebug.h> #include <linux/bug.h> +#include <linux/sizes.h> #endif /*
@@ -323,7 +324,8 @@ extern unsigned long pci_io_base;#define PHB_IO_END (KERN_IO_START + FULL_IO_SIZE)#define IOREMAP_BASE (PHB_IO_END)#define IOREMAP_START (ioremap_bot) -#define IOREMAP_END (KERN_IO_END) +#define IOREMAP_END (KERN_IO_END - FIXADDR_SIZE) +#define FIXADDR_SIZE SZ_32M/* Advertise special mapping type for AGP */ #define HAVE_PAGE_AGP
arch/powerpc/include/asm/book3s/64/radix.h +4 -2
@@ -222,8 +222,10 @@ static inline void radix__set_pte_at(struct mm_struct *mm, unsigned long addr,* from ptesync, it should probably go into update_mmu_cache, rather * than set_pte_at (which is used to set ptes unrelated to faults). * -* Spurious faults to vmalloc region are not tolerated, so there is -* a ptesync in flush_cache_vmap. +* Spurious faults from the kernel memory are not tolerated, so there +* is a ptesync in flush_cache_vmap, and __map_kernel_page() follows +* the pte update sequence from ISA Book III 6.10 Translation Table +* Update Synchronization Requirements. */ }
arch/powerpc/include/asm/fixmap.h +9 -0
@@ -23,12 +23,17 @@#include <asm/kmap_types.h> #endif +#ifdef CONFIG_PPC64 +#define FIXADDR_TOP (IOREMAP_END + FIXADDR_SIZE) +#else +#define FIXADDR_SIZE 0#ifdef CONFIG_KASAN #include <asm/kasan.h> #define FIXADDR_TOP (KASAN_SHADOW_START - PAGE_SIZE)#else #define FIXADDR_TOP ((unsigned long)(-PAGE_SIZE))#endif +#endif /* * Here we define all the compile-time 'special' virtual
@@ -50,6 +55,7 @@*/ enum fixed_addresses {FIX_HOLE , +#ifdef CONFIG_PPC32 /* reserve the top 128K for early debugging purposes */ FIX_EARLY_DEBUG_TOP =FIX_HOLE ,FIX_EARLY_DEBUG_BASE =FIX_EARLY_DEBUG_TOP +(ALIGN (SZ_128K ,PAGE_SIZE )/PAGE_SIZE )-1 ,
@@ -72,6 +78,7 @@ enum fixed_addresses { FIX_IMMR_SIZE,#endif /* FIX_PCIE_MCFG, */ +#endif /* CONFIG_PPC32 */ __end_of_permanent_fixed_addresses, #define NR_FIX_BTMAPS (SZ_256K / PAGE_SIZE)
@@ -98,6 +105,8 @@ enum fixed_addresses {static inline void __set_fixmap (enum fixed_addresses idx,phys_addr_t phys,pgprot_t flags) { +BUILD_BUG_ON (IS_ENABLED (CONFIG_PPC64 ) && __FIXADDR_SIZE >FIXADDR_SIZE ); +if (__builtin_constant_p (idx))BUILD_BUG_ON (idx >= __end_of_fixed_addresses);else if (WARN_ON (idx >= __end_of_fixed_addresses))
arch/powerpc/include/asm/nohash/64/pgtable.h +4 -1
@@ -6,6 +6,8 @@* the ppc64 non-hashed page table. */ +#include <linux/sizes.h> +#include <asm/nohash/64/pgtable-4k.h> #include <asm/barrier.h> #include <asm/asm-const.h>
@@ -54,7 +56,8 @@#define PHB_IO_END (KERN_IO_START + FULL_IO_SIZE)#define IOREMAP_BASE (PHB_IO_END)#define IOREMAP_START (ioremap_bot) -#define IOREMAP_END (KERN_VIRT_START + KERN_VIRT_SIZE) +#define IOREMAP_END (KERN_VIRT_START + KERN_VIRT_SIZE - FIXADDR_SIZE) +#define FIXADDR_SIZE SZ_32M/*
arch/powerpc/include/asm/smp.h +5 -0
@@ -121,6 +121,11 @@ static inline struct cpumask *cpu_sibling_mask(int cpu)return per_cpu (cpu_sibling_map, cpu); } +static inline struct cpumask *cpu_core_mask (int cpu) +{ +return per_cpu (cpu_core_map, cpu); +} +static inline struct cpumask *cpu_l2_cache_mask (int cpu) {return per_cpu (cpu_l2_cache_map, cpu);
arch/powerpc/kernel/fadump.c +1 -1
@@ -292,7 +292,7 @@ static void fadump_show_config(void)* that is required for a kernel to boot successfully. * */ -static inline u64 fadump_calculate_reserve_size (void ) +static __init u64 fadump_calculate_reserve_size (void ) {u64 base, size, bootmem_min;int ret;
arch/powerpc/kernel/prom.c +1 -1
@@ -268,7 +268,7 @@ static struct feature_property { };#if defined(CONFIG_44x) && defined(CONFIG_PPC_FPU ) -static inline void identical_pvr_fixup (unsigned long node) +static __init void identical_pvr_fixup (unsigned long node) {unsigned int pvr;const char *model =of_get_flat_dt_prop (node,"model" ,NULL );
arch/powerpc/kernel/smp.c +32 -7
@@ -975,17 +975,12 @@ void __init smp_prepare_cpus(unsigned int max_cpus) local_memory_node(numa_cpu_lookup_table[cpu])); }#endif -/* -* cpu_core_map is now more updated and exists only since -* its been exported for long. It only will have a snapshot -* of cpu_cpu_mask. -*/ -cpumask_copy (per_cpu (cpu_core_map, cpu),cpu_cpu_mask (cpu)); }/* Init the cpumasks so the boot CPU is related to itself */ cpumask_set_cpu (boot_cpuid,cpu_sibling_mask (boot_cpuid));cpumask_set_cpu (boot_cpuid,cpu_l2_cache_mask (boot_cpuid)); +cpumask_set_cpu (boot_cpuid,cpu_core_mask (boot_cpuid));if (has_coregroup_support ())cpumask_set_cpu (boot_cpuid,cpu_coregroup_mask (boot_cpuid));
@@ -1304,6 +1299,9 @@ static void remove_cpu_from_masks(int cpu)set_cpus_unrelated (cpu, i, cpu_smallcore_mask); } +for_each_cpu (i,cpu_core_mask (cpu)) +set_cpus_unrelated (cpu, i, cpu_core_mask); +if (has_coregroup_support ()) {for_each_cpu (i,cpu_coregroup_mask (cpu))set_cpus_unrelated (cpu, i, cpu_coregroup_mask);
@@ -1364,8 +1362,11 @@ static void update_coregroup_mask(int cpu, cpumask_var_t *mask)static void add_cpu_to_masks (int cpu) { +struct cpumask *(*submask_fn)(int ) = cpu_sibling_mask;int first_thread =cpu_first_thread_sibling (cpu); +int chip_id =cpu_to_chip_id (cpu);cpumask_var_t mask; +bool ret;int i;/*
@@ -1381,12 +1382,36 @@ static void add_cpu_to_masks(int cpu)add_cpu_to_smallcore_masks (cpu);/* In CPU-hotplug path, hence use GFP_ATOMIC */ -alloc_cpumask_var_node (&mask,GFP_ATOMIC ,cpu_to_node (cpu)); + ret =alloc_cpumask_var_node (&mask,GFP_ATOMIC ,cpu_to_node (cpu));update_mask_by_l2 (cpu, &mask);if (has_coregroup_support ())update_coregroup_mask (cpu, &mask); +if (chip_id ==-1 || !ret) { +cpumask_copy (per_cpu (cpu_core_map, cpu),cpu_cpu_mask (cpu)); + goto out; + } + +if (shared_caches) + submask_fn = cpu_l2_cache_mask; + +/* Update core_mask with all the CPUs that are part of submask */ +or_cpumasks_related (cpu, cpu, submask_fn, cpu_core_mask); + +/* Skip all CPUs already part of current CPU core mask */ +cpumask_andnot (mask, cpu_online_mask,cpu_core_mask (cpu)); + +for_each_cpu (i, mask) { +if (chip_id ==cpu_to_chip_id (i)) { +or_cpumasks_related (cpu, i, submask_fn, cpu_core_mask); +cpumask_andnot (mask, mask,submask_fn (i)); + }else { +cpumask_andnot (mask, mask,cpu_core_mask (i)); + } + } + +out:free_cpumask_var (mask); }
arch/powerpc/kvm/book3s_hv.c +3 -0
@@ -3697,7 +3697,10 @@ static int kvmhv_p9_guest_entry(struct kvm_vcpu *vcpu, u64 time_limit, vcpu->arch.dec_expires = dec + tb; vcpu->cpu =-1 ; vcpu->arch.thread_cpu =-1 ; +/* Save guest CTRL register, set runlatch to 1 */ vcpu->arch.ctrl =mfspr (SPRN_CTRLF ); +if (!(vcpu->arch.ctrl &1 )) +mtspr (SPRN_CTRLT , vcpu->arch.ctrl |1 ); vcpu->arch.iamr =mfspr (SPRN_IAMR ); vcpu->arch.pspb =mfspr (SPRN_PSPB );
arch/powerpc/mm/book3s64/radix_pgtable.c +2 -2
@@ -108,7 +108,7 @@ static int early_map_kernel_page(unsigned long ea, unsigned long pa, set_the_pte:set_pte_at (&init_mm, ea, ptep,pfn_pte (pfn, flags)); -smp_wmb (); + asmvolatile ("ptesync" : : :"memory" );return 0 ; }
@@ -168,7 +168,7 @@ static int __map_kernel_page(unsigned long ea, unsigned long pa, set_the_pte:set_pte_at (&init_mm, ea, ptep,pfn_pte (pfn, flags)); -smp_wmb (); + asmvolatile ("ptesync" : : :"memory" );return 0 ; }
arch/powerpc/perf/isa207-common.c +2 -2
@@ -400,8 +400,8 @@ int isa207_get_constraint(u64 event, unsigned long *maskp, unsigned long *valp)* EBB events are pinned & exclusive, so this should never actually * hit, but we leave it as a fallback in case. */ - mask |=CNST_EBB_VAL (ebb); - value |=CNST_EBB_MASK ; + mask |=CNST_EBB_MASK ; + value |=CNST_EBB_VAL (ebb); *maskp = mask; *valp = value;
arch/powerpc/perf/power10-events-list.h +2 -2
@@ -66,5 +66,5 @@ EVENT(PM_RUN_INST_CMPL_ALT, 0x00002);* thresh end (TE) */ -EVENT (MEM_LOADS ,0x34340401e0 ); -EVENT (MEM_STORES ,0x343c0401e0 ); +EVENT (MEM_LOADS ,0x35340401e0 ); +EVENT (MEM_STORES ,0x353c0401e0 );
arch/powerpc/platforms/52xx/lite5200_sleep.S +1 -1
@@ -181,7 +181,7 @@ sram_code: udelay: /* r11 - tb_ticks_per_usec, r12 - usecs, overwrites r13 */ mullw r12, r12, r11 mftb r13 /* start */ - addi r12, r13, r12 /* end */ + add r12, r13, r12 /* end */ 1: mftb r13 /* current */ cmp cr0, r13, r12
arch/powerpc/platforms/pseries/pci_dlpar.c +3 -1
@@ -50,6 +50,7 @@ EXPORT_SYMBOL_GPL(init_phb_dynamic);int remove_phb_dynamic (struct pci_controller *phb) {struct pci_bus *b = phb->bus; +struct pci_host_bridge *host_bridge =to_pci_host_bridge (b->bridge);struct resource *res;int rc, i;
@@ -76,7 +77,8 @@ int remove_phb_dynamic(struct pci_controller *phb)/* Remove the PCI bus and unregister the bridge device from sysfs */ phb->bus =NULL ;pci_remove_bus (b); -device_unregister (b->bridge); + host_bridge->bus =NULL ; +device_unregister (&host_bridge->dev);/* Now release the IO resource */ if (res->flags &IORESOURCE_IO )
arch/powerpc/platforms/pseries/vio.c +4 -0
@@ -1286,6 +1286,10 @@ static int vio_bus_remove(struct device *dev)int __vio_register_driver (struct vio_driver *viodrv,struct module *owner,const char *mod_name) { +// vio_bus_type is only initialised for pseries +if (!machine_is (pseries)) +return -ENODEV ; +pr_debug ("%s: driver %s registering\n" , __func__, viodrv->name);/* fill in 'struct driver' fields */
arch/powerpc/sysdev/xive/common.c +20 -15
@@ -261,17 +261,20 @@ notrace void xmon_xive_do_dump(int cpu)xmon_printf ("\n" ); } +static struct irq_data *xive_get_irq_data (u32 hw_irq) +{ +unsigned int irq =irq_find_mapping (xive_irq_domain, hw_irq); + +return irq ?irq_get_irq_data (irq) :NULL ; +} +int xmon_xive_get_irq_config (u32 hw_irq,struct irq_data *d) { -struct irq_chip *chip =irq_data_get_irq_chip (d);int rc;u32 target;u8 prio;u32 lirq; -if (!is_xive_irq (chip)) -return -EINVAL ; - rc = xive_ops->get_irq_config (hw_irq, &target, &prio, &lirq);if (rc) {xmon_printf ("IRQ 0x%08x : no config rc=%d\n" , hw_irq, rc);
@@ -281,6 +284,9 @@ int xmon_xive_get_irq_config(u32 hw_irq, struct irq_data *d)xmon_printf ("IRQ 0x%08x : target=0x%x prio=%02x lirq=0x%x " , hw_irq, target, prio, lirq); +if (!d) + d =xive_get_irq_data (hw_irq); +if (d) {struct xive_irq_data *xd =irq_data_get_irq_handler_data (d);u64 val =xive_esb_read (xd,XIVE_ESB_GET );
@@ -1606,6 +1612,8 @@ static void xive_debug_show_irq(struct seq_file *m, u32 hw_irq, struct irq_datau32 target;u8 prio;u32 lirq; +struct xive_irq_data *xd; +u64 val;if (!is_xive_irq (chip))return ;
@@ -1619,17 +1627,14 @@ static void xive_debug_show_irq(struct seq_file *m, u32 hw_irq, struct irq_dataseq_printf (m,"IRQ 0x%08x : target=0x%x prio=%02x lirq=0x%x " , hw_irq, target, prio, lirq); -if (d) { -struct xive_irq_data *xd =irq_data_get_irq_handler_data (d); -u64 val =xive_esb_read (xd,XIVE_ESB_GET ); - -seq_printf (m,"flags=%c%c%c PQ=%c%c" , - xd->flags &XIVE_IRQ_FLAG_STORE_EOI ?'S' :' ' , - xd->flags &XIVE_IRQ_FLAG_LSI ?'L' :' ' , - xd->flags &XIVE_IRQ_FLAG_H_INT_ESB ?'H' :' ' , - val &XIVE_ESB_VAL_P ?'P' :'-' , - val &XIVE_ESB_VAL_Q ?'Q' :'-' ); - } + xd =irq_data_get_irq_handler_data (d); + val =xive_esb_read (xd,XIVE_ESB_GET ); +seq_printf (m,"flags=%c%c%c PQ=%c%c" , + xd->flags &XIVE_IRQ_FLAG_STORE_EOI ?'S' :' ' , + xd->flags &XIVE_IRQ_FLAG_LSI ?'L' :' ' , + xd->flags &XIVE_IRQ_FLAG_H_INT_ESB ?'H' :' ' , + val &XIVE_ESB_VAL_P ?'P' :'-' , + val &XIVE_ESB_VAL_Q ?'Q' :'-' );seq_puts (m,"\n" ); }
arch/s390/kernel/setup.c +2 -2
@@ -925,9 +925,9 @@ static int __init setup_hwcaps(void)if (MACHINE_HAS_VX ) { elf_hwcap |=HWCAP_S390_VXRS ;if (test_facility (134 )) - elf_hwcap |=HWCAP_S390_VXRS_EXT ; -if (test_facility (135 )) elf_hwcap |=HWCAP_S390_VXRS_BCD ; +if (test_facility (135 )) + elf_hwcap |=HWCAP_S390_VXRS_EXT ;if (test_facility (148 )) elf_hwcap |=HWCAP_S390_VXRS_EXT2 ;if (test_facility (152 ))
arch/s390/kvm/gaccess.c +25 -5
@@ -976,7 +976,9 @@ int kvm_s390_check_low_addr_prot_real(struct kvm_vcpu *vcpu, unsigned long gra)* kvm_s390_shadow_tables - walk the guest page table and create shadow tables * @sg: pointer to the shadow guest address space structure * @saddr: faulting address in the shadow gmap -* @pgt: pointer to the page table address result +* @pgt: pointer to the beginning of the page table for the given address if +* successful (return value 0), or to the first invalid DAT entry in +* case of exceptions (return value > 0) * @fake: pgt references contiguous guest memory block, not a pgtable */ static int kvm_s390_shadow_tables(struct gmap *sg, unsigned long saddr,
@@ -1034,6 +1036,7 @@ static int kvm_s390_shadow_tables(struct gmap *sg, unsigned long saddr, rfte.val = ptr; goto shadow_r2t; } + *pgt = ptr + vaddr.rfx *8 ; rc =gmap_read_table (parent, ptr + vaddr.rfx *8 , &rfte.val);if (rc)return rc;
@@ -1060,6 +1063,7 @@ static int kvm_s390_shadow_tables(struct gmap *sg, unsigned long saddr, rste.val = ptr; goto shadow_r3t; } + *pgt = ptr + vaddr.rsx *8 ; rc =gmap_read_table (parent, ptr + vaddr.rsx *8 , &rste.val);if (rc)return rc;
@@ -1087,6 +1091,7 @@ static int kvm_s390_shadow_tables(struct gmap *sg, unsigned long saddr, rtte.val = ptr; goto shadow_sgt; } + *pgt = ptr + vaddr.rtx *8 ; rc =gmap_read_table (parent, ptr + vaddr.rtx *8 , &rtte.val);if (rc)return rc;
@@ -1123,6 +1128,7 @@ static int kvm_s390_shadow_tables(struct gmap *sg, unsigned long saddr, ste.val = ptr; goto shadow_pgt; } + *pgt = ptr + vaddr.sx *8 ; rc =gmap_read_table (parent, ptr + vaddr.sx *8 , &ste.val);if (rc)return rc;
@@ -1157,6 +1163,8 @@ static int kvm_s390_shadow_tables(struct gmap *sg, unsigned long saddr,* @vcpu: virtual cpu * @sg: pointer to the shadow guest address space structure * @saddr: faulting address in the shadow gmap +* @datptr: will contain the address of the faulting DAT table entry, or of +* the valid leaf, plus some flags * * Returns: - 0 if the shadow fault was successfully resolved * - > 0 (pgm exception code) on exceptions while faulting
@@ -1165,11 +1173,11 @@ static int kvm_s390_shadow_tables(struct gmap *sg, unsigned long saddr,* - -ENOMEM if out of memory */ int kvm_s390_shadow_fault (struct kvm_vcpu *vcpu,struct gmap *sg, -unsigned long saddr) +unsigned long saddr,unsigned long *datptr) {union vaddress vaddr;union page_table_entry pte; -unsigned long pgt; +unsigned long pgt =0 ;int dat_protection, fake;int rc;
@@ -1191,8 +1199,20 @@ int kvm_s390_shadow_fault(struct kvm_vcpu *vcpu, struct gmap *sg, pte.val = pgt + vaddr.px *PAGE_SIZE ; goto shadow_page; } -if (!rc) - rc =gmap_read_table (sg->parent, pgt + vaddr.px *8 , &pte.val); + +switch (rc) { +case PGM_SEGMENT_TRANSLATION : +case PGM_REGION_THIRD_TRANS : +case PGM_REGION_SECOND_TRANS : +case PGM_REGION_FIRST_TRANS : + pgt |=PEI_NOT_PTE ; +break ; +case 0 : + pgt += vaddr.px *8 ; + rc =gmap_read_table (sg->parent, pgt, &pte.val); + } +if (datptr) + *datptr = pgt | dat_protection *PEI_DAT_PROT ;if (!rc && pte.i) rc =PGM_PAGE_TRANSLATION ;if (!rc && pte.z)
arch/s390/kvm/gaccess.h +46 -14
89 lines not on this page · raw message
arch/s390/kvm/kvm-s390.c +2 -2
@@ -4308,16 +4308,16 @@ static void store_regs_fmt2(struct kvm_vcpu *vcpu) kvm_run->s.regs.bpbc = (vcpu->arch.sie_block->fpf &FPF_BPBC ) ==FPF_BPBC ; kvm_run->s.regs.diag318 = vcpu->arch.diag318_info.val;if (MACHINE_HAS_GS ) { +preempt_disable ();__ctl_set_bit (2 ,4 );if (vcpu->arch.gs_enabled)save_gs_cb (current->thread.gs_cb); -preempt_disable (); current->thread.gs_cb = vcpu->arch.host_gscb;restore_gs_cb (vcpu->arch.host_gscb); -preempt_enable ();if (!vcpu->arch.host_gscb)__ctl_clear_bit (2 ,4 ); vcpu->arch.host_gscb =NULL ; +preempt_enable (); }/* SIE will save etoken directly into SDNX and therefore kvm_run */ }
arch/s390/kvm/vsie.c +100 -9
147 lines not on this page · raw message
arch/x86/Kconfig +1 -0
@@ -562,6 +562,7 @@ config X86_UV depends on X86_EXTENDED_PLATFORM depends on NUMA depends on EFI + depends on KEXEC_CORE depends on X86_X2APIC depends on PCI help
arch/x86/crypto/poly1305_glue.c +3 -3
@@ -16,7 +16,7 @@#include <asm/simd.h> asmlinkage void poly1305_init_x86_64(void *ctx, -const u8 key[POLY1305_KEY_SIZE ]); +const u8 key[POLY1305_BLOCK_SIZE ]); asmlinkage void poly1305_blocks_x86_64(void *ctx, const u8 *inp,const size_t len,const u32 padbit); asmlinkage void poly1305_emit_x86_64(void *ctx, u8 mac[POLY1305_DIGEST_SIZE],
@@ -81,7 +81,7 @@ static void convert_to_base2_64(void *ctx) state->is_base2_26 =0 ; } -static void poly1305_simd_init (void *ctx,const u8 key[POLY1305_KEY_SIZE ]) +static void poly1305_simd_init (void *ctx,const u8 key[POLY1305_BLOCK_SIZE ]) {poly1305_init_x86_64 (ctx, key); }
@@ -129,7 +129,7 @@ static void poly1305_simd_emit(void *ctx, u8 mac[POLY1305_DIGEST_SIZE],poly1305_emit_avx (ctx, mac, nonce); } -void poly1305_init_arch (struct poly1305_desc_ctx *dctx,const u8 *key) +void poly1305_init_arch (struct poly1305_desc_ctx *dctx,const u8 key[POLY1305_KEY_SIZE ]) {poly1305_simd_init (&dctx->h, key); dctx->s[0 ] =get_unaligned_le32 (&key[16 ]);
arch/x86/events/amd/iommu.c +3 -3
@@ -81,12 +81,12 @@ static struct attribute_group amd_iommu_events_group = { };struct amd_iommu_event_desc { -struct kobj_attribute attr; +struct device_attribute attr;const char *event; }; -static ssize_t _iommu_event_show (struct kobject *kobj, -struct kobj_attribute *attr,char *buf) +static ssize_t _iommu_event_show (struct device *dev, +struct device_attribute *attr,char *buf) {struct amd_iommu_event_desc *event = container_of(attr, struct amd_iommu_event_desc, attr);
arch/x86/events/amd/uncore.c +3 -3
@@ -275,14 +275,14 @@ static struct attribute_group amd_uncore_attr_group = { };#define DEFINE_UNCORE_FORMAT_ATTR (_var, _name, _format) \ -static ssize_t __uncore_##_var##_show(struct kobject *kobj, \ - struct kobj_attribute *attr, \ +static ssize_t __uncore_##_var##_show(struct device *dev, \ + struct device_attribute *attr, \ char *page) \ { \ BUILD_BUG_ON(sizeof(_format) >= PAGE_SIZE); \ return sprintf(page, _format "\n"); \ } \ -static struct kobj_attribute format_attr_##_var = \ +static struct device_attribute format_attr_##_var = \ __ATTR(_name, 0444, __uncore_##_var##_show, NULL)DEFINE_UNCORE_FORMAT_ATTR (event12, event,"config:0-7,32-35" );
arch/x86/kernel/apic/x2apic_uv_x.c +3 -0
@@ -1652,6 +1652,9 @@ static __init int uv_system_init_hubless(void)if (rc <0 )return rc; +/* Set section block size for current node memory */ +set_block_size (); +/* Create user access node */ if (rc >=0 )uv_setup_proc_files (1 );
arch/x86/kernel/cpu/microcode/core.c +4 -4
@@ -629,16 +629,16 @@ static ssize_t reload_store(struct device *dev,if (val !=1 )return size; - tmp_ret = microcode_ops->request_microcode_fw (bsp, µcode_pdev->dev, true); -if (tmp_ret !=UCODE_NEW ) -return size; -get_online_cpus (); ret =check_online_cpus ();if (ret) goto put; + tmp_ret = microcode_ops->request_microcode_fw (bsp, µcode_pdev->dev, true); +if (tmp_ret !=UCODE_NEW ) + goto put; +mutex_lock (µcode_mutex); ret =microcode_reload_late ();mutex_unlock (µcode_mutex);
arch/x86/kernel/e820.c +2 -2
@@ -31,8 +31,8 @@* - inform the user about the firmware's notion of memory layout * via /sys/firmware/memmap * -* - the hibernation code uses it to generate a kernel-independent MD5 -* fingerprint of the physical memory layout of a system. +* - the hibernation code uses it to generate a kernel-independent CRC32 +* checksum of the physical memory layout of a system. * * - 'e820_table_kexec': a slightly modified (by the kernel) firmware version * passed to us by the bootloader - the major difference between
arch/x86/kernel/kprobes/core.c +12 -5
@@ -159,6 +159,8 @@ NOKPROBE_SYMBOL(skip_prefixes);int can_boost (struct insn *insn,void *addr) {kprobe_opcode_t opcode; +insn_byte_t prefix; +int i;if (search_exception_tables ((unsigned long )addr))return 0 ;/* Page fault may occur on this address. */
@@ -171,9 +173,14 @@ int can_boost(struct insn *insn, void *addr)if (insn->opcode.nbytes !=1 )return 0 ; -/* Can't boost Address-size override prefix */ -if (unlikely (inat_is_address_size_prefix (insn->attr))) -return 0 ; +for_each_insn_prefix (insn, i, prefix) { +insn_attr_t attr; + + attr =inat_get_opcode_attribute (prefix); +/* Can't boost Address-size override prefix and CS override prefix */ +if (prefix ==0x2e ||inat_is_address_size_prefix (attr)) +return 0 ; + } opcode = insn->opcode.bytes[0 ];
@@ -198,8 +205,8 @@ int can_boost(struct insn *insn, void *addr)/* clear and set flags are boostable */ return (opcode ==0xf5 || (0xf7 < opcode && opcode <0xfe ));default : -/* CS override prefix and call are not boostable */ -return (opcode !=0x2e && opcode !=0x9a ); +/* call is not boostable */ +return opcode !=0x9a ; } }
arch/x86/kernel/smpboot.c +46 -44
145 lines not on this page · raw message
arch/x86/kvm/emulate.c +3 -77
100 lines not on this page · raw message
arch/x86/kvm/mmu/mmu.c +45 -18
116 lines not on this page · raw message
arch/x86/kvm/svm/sev.c +3 -0
@@ -168,6 +168,9 @@ static int sev_guest_init(struct kvm *kvm, struct kvm_sev_cmd *argp)struct kvm_sev_info *sev = &to_kvm_svm (kvm)->sev_info;int asid, ret; +if (kvm->created_vcpus) +return -EINVAL ; + ret = -EBUSY ;if (unlikely (sev->active))return ret;
arch/x86/kvm/svm/svm.c +8 -1
@@ -1805,7 +1805,7 @@ static void svm_set_dr7(struct kvm_vcpu *vcpu, unsigned long value)static int pf_interception (struct vcpu_svm *svm) { -u64 fault_address =__sme_clr (svm->vmcb->control.exit_info_2); +u64 fault_address = svm->vmcb->control.exit_info_2;u64 error_code = svm->vmcb->control.exit_info_1; return kvm_handle_page_fault(&svm->vcpu, error_code, fault_address,
@@ -2519,6 +2519,9 @@ static int svm_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)case MSR_TSC_AUX :if (!boot_cpu_has (X86_FEATURE_RDTSCP ))return 1 ; +if (!msr_info->host_initiated && + !guest_cpuid_has (vcpu,X86_FEATURE_RDTSCP )) +return 1 ; msr_info->data = svm->tsc_aux;break ;/*
@@ -2713,6 +2716,10 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr)if (!boot_cpu_has (X86_FEATURE_RDTSCP ))return 1 ; +if (!msr->host_initiated && + !guest_cpuid_has (vcpu,X86_FEATURE_RDTSCP )) +return 1 ; +/* * This is rare, so we update the MSR here instead of using * direct_access_msrs. Doing that would require a rdmsr in
arch/x86/kvm/vmx/nested.c +7 -10
@@ -618,6 +618,7 @@ static inline bool nested_vmx_prepare_msr_bitmap(struct kvm_vcpu *vcpu, }/* KVM unconditionally exposes the FS/GS base MSRs to L1. */ +#ifdef CONFIG_X86_64 nested_vmx_disable_intercept_for_msr (msr_bitmap_l1, msr_bitmap_l0,MSR_FS_BASE ,MSR_TYPE_RW );
@@ -626,6 +627,7 @@ static inline bool nested_vmx_prepare_msr_bitmap(struct kvm_vcpu *vcpu,nested_vmx_disable_intercept_for_msr (msr_bitmap_l1, msr_bitmap_l0,MSR_KERNEL_GS_BASE ,MSR_TYPE_RW ); +#endif /* * Checking the L0->L1 bitmap is trying to verify two things:
@@ -4613,9 +4615,9 @@ int get_vmx_mem_address(struct kvm_vcpu *vcpu, unsigned long exit_qualification,else if (addr_size ==0 ) off = (gva_t )sign_extend64 (off,15 );if (base_is_valid) - off +=kvm_register_read (vcpu, base_reg); + off +=kvm_register_readl (vcpu, base_reg);if (index_is_valid) - off +=kvm_register_read (vcpu, index_reg) << scaling; + off +=kvm_register_readl (vcpu, index_reg) << scaling;vmx_get_segment (vcpu, &s, seg_reg);/*
@@ -5491,16 +5493,11 @@ static int nested_vmx_eptp_switching(struct kvm_vcpu *vcpu,if (!nested_vmx_check_eptp (vcpu, new_eptp))return 1 ; -kvm_mmu_unload (vcpu); mmu->ept_ad = accessed_dirty; mmu->mmu_role.base.ad_disabled = !accessed_dirty; vmcs12->ept_pointer = new_eptp; -/* -* TODO: Check what's the correct approach in case -* mmu reload fails. Currently, we just let the next -* reload potentially fail -*/ -kvm_mmu_reload (vcpu); + +kvm_make_request (KVM_REQ_MMU_RELOAD , vcpu); }return 0 ;
@@ -5729,7 +5726,7 @@ static bool nested_vmx_exit_handled_vmcs_access(struct kvm_vcpu *vcpu,/* Decode instruction info and find the field to access */ vmx_instruction_info =vmcs_read32 (VMX_INSTRUCTION_INFO ); - field =kvm_register_read (vcpu, (((vmx_instruction_info) >>28 ) &0xf )); + field =kvm_register_readl (vcpu, (((vmx_instruction_info) >>28 ) &0xf ));/* Out-of-range fields always cause a VM exit from L2 to L1 */ if (field >>15 )
arch/x86/kvm/vmx/vmx.c +7 -6
@@ -156,9 +156,11 @@ static u32 vmx_possible_passthrough_msrs[MAX_POSSIBLE_PASSTHROUGH_MSRS] = {MSR_IA32_SPEC_CTRL ,MSR_IA32_PRED_CMD ,MSR_IA32_TSC , +#ifdef CONFIG_X86_64MSR_FS_BASE ,MSR_GS_BASE ,MSR_KERNEL_GS_BASE , +#endifMSR_IA32_SYSENTER_CS ,MSR_IA32_SYSENTER_ESP , MSR_IA32_SYSENTER_EIP,
@@ -5779,7 +5781,6 @@ void dump_vmcs(void)u32 vmentry_ctl, vmexit_ctl;u32 cpu_based_exec_ctrl, pin_based_exec_ctrl, secondary_exec_control;unsigned long cr4; -u64 efer;if (!dump_invalid_vmcs) {pr_warn_ratelimited ("set kvm_intel.dump_invalid_vmcs=1 to dump internal KVM state.\n" );
@@ -5791,7 +5792,6 @@ void dump_vmcs(void) cpu_based_exec_ctrl =vmcs_read32 (CPU_BASED_VM_EXEC_CONTROL ); pin_based_exec_ctrl =vmcs_read32 (PIN_BASED_VM_EXEC_CONTROL ); cr4 =vmcs_readl (GUEST_CR4 ); - efer =vmcs_read64 (GUEST_IA32_EFER ); secondary_exec_control =0 ;if (cpu_has_secondary_exec_ctrls ()) secondary_exec_control =vmcs_read32 (SECONDARY_VM_EXEC_CONTROL );
@@ -5803,9 +5803,7 @@ void dump_vmcs(void)pr_err ("CR4: actual=0x%016lx, shadow=0x%016lx, gh_mask=%016lx\n" , cr4,vmcs_readl (CR4_READ_SHADOW ),vmcs_readl (CR4_GUEST_HOST_MASK ));pr_err ("CR3 = 0x%016lx\n" ,vmcs_readl (GUEST_CR3 )); -if ((secondary_exec_control &SECONDARY_EXEC_ENABLE_EPT ) && - (cr4 &X86_CR4_PAE ) && !(efer &EFER_LMA )) - { +if (cpu_has_vmx_ept ()) {pr_err ("PDPTR0 = 0x%016llx PDPTR1 = 0x%016llx\n" ,vmcs_read64 (GUEST_PDPTR0 ),vmcs_read64 (GUEST_PDPTR1 )); pr_err("PDPTR2 = 0x%016llx PDPTR3 = 0x%016llx\n",
@@ -5831,7 +5829,8 @@ void dump_vmcs(void)if ((vmexit_ctl & (VM_EXIT_SAVE_IA32_PAT |VM_EXIT_SAVE_IA32_EFER )) || (vmentry_ctl & (VM_ENTRY_LOAD_IA32_PAT |VM_ENTRY_LOAD_IA32_EFER )))pr_err ("EFER = 0x%016llx PAT = 0x%016llx\n" , - efer,vmcs_read64 (GUEST_IA32_PAT )); +vmcs_read64 (GUEST_IA32_EFER ), +vmcs_read64 (GUEST_IA32_PAT ));pr_err ("DebugCtl = 0x%016llx DebugExceptions = 0x%016lx\n" ,vmcs_read64 (GUEST_IA32_DEBUGCTL ),vmcs_readl (GUEST_PENDING_DBG_EXCEPTIONS ));
@@ -6907,9 +6906,11 @@ static int vmx_create_vcpu(struct kvm_vcpu *vcpu)bitmap_fill (vmx->shadow_msr_intercept.write,MAX_POSSIBLE_PASSTHROUGH_MSRS );vmx_disable_intercept_for_msr (vcpu,MSR_IA32_TSC ,MSR_TYPE_R ); +#ifdef CONFIG_X86_64 vmx_disable_intercept_for_msr (vcpu,MSR_FS_BASE ,MSR_TYPE_RW );vmx_disable_intercept_for_msr (vcpu,MSR_GS_BASE ,MSR_TYPE_RW );vmx_disable_intercept_for_msr (vcpu,MSR_KERNEL_GS_BASE ,MSR_TYPE_RW ); +#endif vmx_disable_intercept_for_msr (vcpu,MSR_IA32_SYSENTER_CS ,MSR_TYPE_RW );vmx_disable_intercept_for_msr (vcpu,MSR_IA32_SYSENTER_ESP ,MSR_TYPE_RW );vmx_disable_intercept_for_msr (vcpu,MSR_IA32_SYSENTER_EIP ,MSR_TYPE_RW );
arch/x86/kvm/x86.c +1 -1
@@ -11290,7 +11290,7 @@ int kvm_handle_invpcid(struct kvm_vcpu *vcpu, unsigned long type, gva_t gva) fallthrough;case INVPCID_TYPE_ALL_INCL_GLOBAL : -kvm_mmu_unload (vcpu); +kvm_make_request (KVM_REQ_MMU_RELOAD , vcpu);return kvm_skip_emulated_instruction (vcpu);default :
arch/x86/power/hibernate.c +14 -75
131 lines not on this page · raw message
crypto/async_tx/async_xor.c +1 -0
@@ -233,6 +233,7 @@ async_xor_offs(struct page *dest, unsigned int offset,if (submit->flags &ASYNC_TX_XOR_DROP_DST ) { src_cnt--; src_list++; + src_offs++; }/* wait for any prerequisite operations */
drivers/acpi/cppc_acpi.c +3 -11
@@ -118,23 +118,15 @@ static DEFINE_PER_CPU(struct cpc_desc *, cpc_desc_ptr);*/ #define NUM_RETRIES 500ULL -struct cppc_attr { -struct attribute attr; -ssize_t (*show)(struct kobject *kobj, -struct attribute *attr,char *buf); -ssize_t (*store)(struct kobject *kobj, -struct attribute *attr,const char *c,ssize_t count); -}; -#define define_one_cppc_ro (_name) \ -static struct cppc_attr _name = \ +static struct kobj_attribute _name = \ __ATTR(_name, 0444, show_##_name, NULL)#define to_cpc_desc (a) container_of(a, struct cpc_desc, kobj)#define show_cppc_data (access_fn, struct_name, member_name) \ static ssize_t show_##member_name(struct kobject *kobj, \ - struct attribute *attr, char *buf) \ + struct kobj_attribute *attr, char *buf) \ { \ struct cpc_desc *cpc_ptr = to_cpc_desc(kobj); \ struct struct_name st_name = {0}; \
@@ -160,7 +152,7 @@ show_cppc_data(cppc_get_perf_ctrs, cppc_perf_fb_ctrs, reference_perf);show_cppc_data (cppc_get_perf_ctrs, cppc_perf_fb_ctrs, wraparound_time);static ssize_t show_feedback_ctrs (struct kobject *kobj, -struct attribute *attr,char *buf) +struct kobj_attribute *attr,char *buf) {struct cpc_desc *cpc_ptr =to_cpc_desc (kobj);struct cppc_perf_fb_ctrs fb_ctrs = {0 };
drivers/ata/libahci_platform.c +3 -1
@@ -582,11 +582,13 @@ int ahci_platform_init_host(struct platform_device *pdev,int i, irq, n_ports, rc; irq =platform_get_irq (pdev,0 ); -if (irq <=0 ) { +if (irq <0 ) {if (irq != -EPROBE_DEFER )dev_err (dev,"no irq\n" );return irq; } +if (!irq) +return -EINVAL ; hpriv->irq = irq;
drivers/ata/pata_arasan_cf.c +11 -4
@@ -818,12 +818,19 @@ static int arasan_cf_probe(struct platform_device *pdev)else quirk =CF_BROKEN_UDMA ;/* as it is on spear1340 */ -/* if irq is 0, support only PIO */ - acdev->irq =platform_get_irq (pdev,0 ); -if (acdev->irq) +/* +* If there's an error getting IRQ (or we do get IRQ0), +* support only PIO +*/ + ret =platform_get_irq (pdev,0 ); +if (ret >0 ) { + acdev->irq = ret; irq_handler = arasan_cf_interrupt; -else + }else if (ret == -EPROBE_DEFER ) { +return ret; + }else { quirk |=CF_BROKEN_MWDMA |CF_BROKEN_UDMA ; + } acdev->pbase = res->start; acdev->vbase = devm_ioremap(&pdev->dev, res->start,
drivers/ata/pata_ixp4xx_cf.c +5 -1
@@ -165,8 +165,12 @@ static int ixp4xx_pata_probe(struct platform_device *pdev)return -ENOMEM ; irq =platform_get_irq (pdev,0 ); -if (irq) +if (irq >0 )irq_set_irq_type (irq,IRQ_TYPE_EDGE_RISING ); +else if (irq <0 ) +return irq; +else +return -EINVAL ;/* Setup expansion bus chip selects */ *data->cs0_cfg = data->cs0_bits;
drivers/ata/sata_mv.c +4 -0
@@ -4097,6 +4097,10 @@ static int mv_platform_probe(struct platform_device *pdev) n_ports = mv_platform_data->n_ports; irq =platform_get_irq (pdev,0 ); } +if (irq <0 ) +return irq; +if (!irq) +return -EINVAL ; host =ata_host_alloc_pinfo (&pdev->dev, ppi, n_ports); hpriv =devm_kzalloc (&pdev->dev,sizeof (*hpriv),GFP_KERNEL );
drivers/base/devtmpfs.c +1 -1
@@ -416,7 +416,6 @@ static int __init devtmpfs_setup(void *p)init_chroot ("." ); out: *(int *)p = err; -complete (&setup_done);return err; }
@@ -429,6 +428,7 @@ static int __ref devtmpfsd(void *p) {int err =devtmpfs_setup (p); +complete (&setup_done);if (err)return err;devtmpfs_work_loop ();
drivers/base/node.c +12 -14
@@ -268,21 +268,20 @@ static void node_init_cache_dev(struct node *node)if (!dev)return ; +device_initialize (dev); dev->parent = &node->dev; dev->release = node_cache_release;if (dev_set_name (dev,"memory_side_cache" )) - goto free_dev; + goto put_device; -if (device_register (dev)) - goto free_name; +if (device_add (dev)) + goto put_device;pm_runtime_no_callbacks (dev); node->cache_dev = dev;return ; -free_name: -kfree_const (dev->kobj.name); -free_dev: -kfree (dev); +put_device: +put_device (dev); }/**
@@ -319,25 +318,24 @@ void node_add_cache(unsigned int nid, struct node_cache_attrs *cache_attrs)return ; dev = &info->dev; +device_initialize (dev); dev->parent = node->cache_dev; dev->release = node_cacheinfo_release; dev->groups = cache_groups;if (dev_set_name (dev,"index%d" , cache_attrs->level)) - goto free_cache; + goto put_device; info->cache_attrs = *cache_attrs; -if (device_register (dev)) { +if (device_add (dev)) {dev_warn (&node->dev,"failed to add cache level:%d\n" , cache_attrs->level); - goto free_name; + goto put_device; }pm_runtime_no_callbacks (dev);list_add_tail (&info->node, &node->cache_attrs);return ; -free_name: -kfree_const (dev->kobj.name); -free_cache: -kfree (info); +put_device: +put_device (dev); }static void node_remove_caches (struct node *node)
drivers/base/regmap/regmap-debugfs.c +1 -0
@@ -660,6 +660,7 @@ void regmap_debugfs_exit(struct regmap *map)regmap_debugfs_free_dump_cache (map);mutex_unlock (&map->cache_lock);kfree (map->debugfs_name); + map->debugfs_name =NULL ; }else {struct regmap_debugfs_node *node, *tmp;
drivers/block/null_blk_zoned.c +1 -0
@@ -149,6 +149,7 @@ void null_free_zoned_dev(struct nullb_device *dev) {bitmap_free (dev->zone_locks);kvfree (dev->zones); + dev->zones =NULL ; }static inline void null_lock_zone (struct nullb_device *dev,unsigned int zno)
drivers/block/xen-blkback/common.h +1 -0
@@ -313,6 +313,7 @@ struct xen_blkif {struct work_struct free_work;unsigned int nr_ring_pages; +bool multi_ref;/* All rings for this device. */ struct xen_blkif_ring *rings;unsigned int nr_rings;
drivers/block/xen-blkback/xenbus.c +16 -22
@@ -998,14 +998,17 @@ static int read_per_ring_refs(struct xen_blkif_ring *ring, const char *dir)for (i =0 ; i < nr_grefs; i++) {char ring_ref_name[RINGREF_NAME_LEN ]; -snprintf (ring_ref_name,RINGREF_NAME_LEN ,"ring-ref%u" , i); +if (blkif->multi_ref) +snprintf (ring_ref_name,RINGREF_NAME_LEN ,"ring-ref%u" , i); +else { +WARN_ON (i !=0 ); +snprintf (ring_ref_name,RINGREF_NAME_LEN ,"ring-ref" ); + } + err =xenbus_scanf (XBT_NIL , dir, ring_ref_name,"%u" , &ring_ref[i]);if (err !=1 ) { -if (nr_grefs ==1 ) -break ; - err = -EINVAL ;xenbus_dev_fatal (dev, err,"reading %s/%s" , dir, ring_ref_name);
@@ -1013,18 +1016,6 @@ static int read_per_ring_refs(struct xen_blkif_ring *ring, const char *dir) } } -if (err !=1 ) { -WARN_ON (nr_grefs !=1 ); - - err =xenbus_scanf (XBT_NIL , dir,"ring-ref" ,"%u" , - &ring_ref[0 ]); -if (err !=1 ) { - err = -EINVAL ; -xenbus_dev_fatal (dev, err,"reading %s/ring-ref" , dir); -return err; - } - } - err = -ENOMEM ;for (i =0 ; i < nr_grefs *XEN_BLKIF_REQS_PER_PAGE ; i++) { req =kzalloc (sizeof (*req),GFP_KERNEL );
@@ -1129,10 +1120,15 @@ static int connect_ring(struct backend_info *be) blkif->nr_rings, blkif->blk_protocol, protocol, blkif->vbd.feature_gnt_persistent ? "persistent grants" : ""); - ring_page_order =xenbus_read_unsigned (dev->otherend, -"ring-page-order" ,0 ); - -if (ring_page_order > xen_blkif_max_ring_order) { + err =xenbus_scanf (XBT_NIL , dev->otherend,"ring-page-order" ,"%u" , + &ring_page_order); +if (err !=1 ) { + blkif->nr_ring_pages =1 ; + blkif->multi_ref = false; + }else if (ring_page_order <= xen_blkif_max_ring_order) { + blkif->nr_ring_pages =1 << ring_page_order; + blkif->multi_ref = true; + }else { err = -EINVAL ; xenbus_dev_fatal(dev, err, "requested ring page order %d exceed max:%d",
@@ -1141,8 +1137,6 @@ static int connect_ring(struct backend_info *be)return err; } - blkif->nr_ring_pages =1 << ring_page_order; -if (blkif->nr_rings ==1 )return read_per_ring_refs (&blkif->rings[0 ], dev->otherend);else {
drivers/bus/qcom-ebi2.c +3 -1
@@ -353,8 +353,10 @@ static int qcom_ebi2_probe(struct platform_device *pdev)/* Figure out the chipselect */ ret =of_property_read_u32 (child,"reg" , &csindex); -if (ret) +if (ret) { +of_node_put (child);return ret; + }if (csindex >5 ) { dev_err(dev,
drivers/char/ttyprintk.c +11 -0
@@ -158,12 +158,23 @@ static int tpk_ioctl(struct tty_struct *tty,return 0 ; } +/* +* TTY operations hangup function. +*/ +static void tpk_hangup (struct tty_struct *tty) +{ +struct ttyprintk_port *tpkp = tty->driver_data; + +tty_port_hangup (&tpkp->port); +} +static const struct tty_operations ttyprintk_ops = { .open = tpk_open, .close = tpk_close, .write = tpk_write, .write_room = tpk_write_room, .ioctl = tpk_ioctl, + .hangup = tpk_hangup, };static const struct tty_port_operations null_ops = { };
drivers/clk/clk-ast2600.c +2 -2
@@ -61,10 +61,10 @@ static void __iomem *scu_g6_base;static const struct aspeed_gate_data aspeed_g6_gates[] = {/* clk rst name parent flags */ [ASPEED_CLK_GATE_MCLK ] = {0 ,-1 ,"mclk-gate" ,"mpll" ,CLK_IS_CRITICAL },/* SDRAM */ - [ASPEED_CLK_GATE_ECLK ] = {1 ,-1 ,"eclk-gate" ,"eclk" ,0 },/* Video Engine */ + [ASPEED_CLK_GATE_ECLK ] = {1 ,6 ,"eclk-gate" ,"eclk" ,0 },/* Video Engine */ [ASPEED_CLK_GATE_GCLK ] = {2 ,7 ,"gclk-gate" ,NULL ,0 },/* 2D engine */ /* vclk parent - dclk/d1clk/hclk/mclk */ - [ASPEED_CLK_GATE_VCLK ] = {3 ,6 ,"vclk-gate" ,NULL ,0 },/* Video Capture */ + [ASPEED_CLK_GATE_VCLK ] = {3 ,-1 ,"vclk-gate" ,NULL ,0 },/* Video Capture */ [ASPEED_CLK_GATE_BCLK ] = {4 ,8 ,"bclk-gate" ,"bclk" ,0 },/* PCIe/PCI */ /* From dpll */ [ASPEED_CLK_GATE_DCLK ] = {5 ,-1 ,"dclk-gate" ,NULL ,CLK_IS_CRITICAL },/* DAC */
drivers/clk/imx/clk-imx25.c +1 -11
@@ -73,16 +73,6 @@ enum mx25_clks {static struct clk *clk[clk_max]; -static struct clk **const uart_clks[]__initconst = { - &clk[uart_ipg_per], - &clk[uart1_ipg], - &clk[uart2_ipg], - &clk[uart3_ipg], - &clk[uart4_ipg], - &clk[uart5_ipg], -NULL -}; -static int __init __mx25_clocks_init (void __iomem *ccm_base) {BUG_ON (!ccm_base);
@@ -228,7 +218,7 @@ static int __init __mx25_clocks_init(void __iomem *ccm_base)*/ clk_set_parent (clk[cko_sel], clk[ipg]); -imx_register_uart_clocks (uart_clks); +imx_register_uart_clocks (6 );return 0 ; }
drivers/clk/imx/clk-imx27.c +1 -12
@@ -49,17 +49,6 @@ static const char *ssi_sel_clks[] = { "spll_gate", "mpll", };static struct clk *clk[IMX27_CLK_MAX ];static struct clk_onecell_data clk_data; -static struct clk **const uart_clks[]__initconst = { - &clk[IMX27_CLK_PER1_GATE ], - &clk[IMX27_CLK_UART1_IPG_GATE ], - &clk[IMX27_CLK_UART2_IPG_GATE ], - &clk[IMX27_CLK_UART3_IPG_GATE ], - &clk[IMX27_CLK_UART4_IPG_GATE ], - &clk[IMX27_CLK_UART5_IPG_GATE ], - &clk[IMX27_CLK_UART6_IPG_GATE ], -NULL -}; -static void __init _mx27_clocks_init (unsigned long fref) {BUG_ON (!ccm);
@@ -176,7 +165,7 @@ static void __init _mx27_clocks_init(unsigned long fref)clk_prepare_enable (clk[IMX27_CLK_EMI_AHB_GATE ]); -imx_register_uart_clocks (uart_clks); +imx_register_uart_clocks (7 );imx_print_silicon_rev ("i.MX27" ,mx27_revision ()); }
drivers/clk/imx/clk-imx35.c +1 -9
@@ -82,14 +82,6 @@ enum mx35_clks {static struct clk *clk[clk_max]; -static struct clk **const uart_clks[]__initconst = { - &clk[ipg], - &clk[uart1_gate], - &clk[uart2_gate], - &clk[uart3_gate], -NULL -}; -static void __init _mx35_clocks_init (void ) {void __iomem *base;
@@ -243,7 +235,7 @@ static void __init _mx35_clocks_init(void)*/ clk_prepare_enable (clk[scc_gate]); -imx_register_uart_clocks (uart_clks); +imx_register_uart_clocks (4 );imx_print_silicon_rev ("i.MX35" ,mx35_revision ()); }
drivers/clk/imx/clk-imx5.c +3 -27
@@ -128,30 +128,6 @@ static const char *ieee1588_sels[] = { "pll3_sw", "pll4_sw", "dummy" /* usbphy2_static struct clk *clk[IMX5_CLK_END ];static struct clk_onecell_data clk_data; -static struct clk **const uart_clks_mx51[]__initconst = { - &clk[IMX5_CLK_UART1_IPG_GATE ], - &clk[IMX5_CLK_UART1_PER_GATE ], - &clk[IMX5_CLK_UART2_IPG_GATE ], - &clk[IMX5_CLK_UART2_PER_GATE ], - &clk[IMX5_CLK_UART3_IPG_GATE ], - &clk[IMX5_CLK_UART3_PER_GATE ], -NULL -}; - -static struct clk **const uart_clks_mx50_mx53[]__initconst = { - &clk[IMX5_CLK_UART1_IPG_GATE ], - &clk[IMX5_CLK_UART1_PER_GATE ], - &clk[IMX5_CLK_UART2_IPG_GATE ], - &clk[IMX5_CLK_UART2_PER_GATE ], - &clk[IMX5_CLK_UART3_IPG_GATE ], - &clk[IMX5_CLK_UART3_PER_GATE ], - &clk[IMX5_CLK_UART4_IPG_GATE ], - &clk[IMX5_CLK_UART4_PER_GATE ], - &clk[IMX5_CLK_UART5_IPG_GATE ], - &clk[IMX5_CLK_UART5_PER_GATE ], -NULL -}; -static void __init mx5_clocks_common_init (void __iomem *ccm_base) { clk[IMX5_CLK_DUMMY ] =imx_clk_fixed ("dummy" ,0 );
@@ -382,7 +358,7 @@ static void __init mx50_clocks_init(struct device_node *np) r =clk_round_rate (clk[IMX5_CLK_USBOH3_PER_GATE ],54000000 );clk_set_rate (clk[IMX5_CLK_USBOH3_PER_GATE ], r); -imx_register_uart_clocks (uart_clks_mx50_mx53); +imx_register_uart_clocks (5 ); }CLK_OF_DECLARE (imx50_ccm,"fsl,imx50-ccm" , mx50_clocks_init);
@@ -488,7 +464,7 @@ static void __init mx51_clocks_init(struct device_node *np) val |=1 <<23 ;writel (val,MXC_CCM_CLPCR ); -imx_register_uart_clocks (uart_clks_mx51); +imx_register_uart_clocks (3 ); }CLK_OF_DECLARE (imx51_ccm,"fsl,imx51-ccm" , mx51_clocks_init);
@@ -633,6 +609,6 @@ static void __init mx53_clocks_init(struct device_node *np) r =clk_round_rate (clk[IMX5_CLK_USBOH3_PER_GATE ],54000000 );clk_set_rate (clk[IMX5_CLK_USBOH3_PER_GATE ], r); -imx_register_uart_clocks (uart_clks_mx50_mx53); +imx_register_uart_clocks (5 ); }CLK_OF_DECLARE (imx53_ccm,"fsl,imx53-ccm" , mx53_clocks_init);
drivers/clk/imx/clk-imx6q.c +1 -15
@@ -140,13 +140,6 @@ static inline int clk_on_imx6dl(void)return of_machine_is_compatible ("fsl,imx6dl" ); } -static const int uart_clk_ids[]__initconst = { -IMX6QDL_CLK_UART_IPG , -IMX6QDL_CLK_UART_SERIAL , -}; - -static struct clk **uart_clks[ARRAY_SIZE (uart_clk_ids) +1 ]__initdata ; -static int ldb_di_sel_by_clock_id (int clock_id) {switch (clock_id) {
@@ -440,7 +433,6 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)struct device_node *np;void __iomem *anatop_base, *base;int ret; -int i; clk_hw_data =kzalloc (struct_size (clk_hw_data, hws,IMX6QDL_CLK_END ),GFP_KERNEL );
@@ -982,12 +974,6 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node) hws[IMX6QDL_CLK_PLL3_USB_OTG]->clk); } -for (i =0 ; i <ARRAY_SIZE (uart_clk_ids); i++) { -int index = uart_clk_ids[i]; - - uart_clks[i] = &hws[index]->clk; - } - -imx_register_uart_clocks (uart_clks); +imx_register_uart_clocks (1 ); }CLK_OF_DECLARE (imx6q,"fsl,imx6q-ccm" , imx6q_clocks_init);
drivers/clk/imx/clk-imx6sl.c +1 -15
@@ -178,19 +178,11 @@ void imx6sl_set_wait_clk(bool enter)imx6sl_enable_pll_arm (false); } -static const int uart_clk_ids[]__initconst = { -IMX6SL_CLK_UART , -IMX6SL_CLK_UART_SERIAL , -}; - -static struct clk **uart_clks[ARRAY_SIZE (uart_clk_ids) +1 ]__initdata ; -static void __init imx6sl_clocks_init (struct device_node *ccm_node) {struct device_node *np;void __iomem *base;int ret; -int i; clk_hw_data =kzalloc (struct_size (clk_hw_data, hws,IMX6SL_CLK_END ),GFP_KERNEL );
@@ -447,12 +439,6 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node)clk_set_parent (hws[IMX6SL_CLK_LCDIF_AXI_SEL ]->clk, hws[IMX6SL_CLK_PLL2_PFD2 ]->clk); -for (i =0 ; i <ARRAY_SIZE (uart_clk_ids); i++) { -int index = uart_clk_ids[i]; - - uart_clks[i] = &hws[index]->clk; - } - -imx_register_uart_clocks (uart_clks); +imx_register_uart_clocks (2 ); }CLK_OF_DECLARE (imx6sl,"fsl,imx6sl-ccm" , imx6sl_clocks_init);
drivers/clk/imx/clk-imx6sll.c +1 -23
@@ -76,26 +76,10 @@ static u32 share_count_ssi1;static u32 share_count_ssi2;static u32 share_count_ssi3; -static const int uart_clk_ids[]__initconst = { -IMX6SLL_CLK_UART1_IPG , -IMX6SLL_CLK_UART1_SERIAL , -IMX6SLL_CLK_UART2_IPG , -IMX6SLL_CLK_UART2_SERIAL , -IMX6SLL_CLK_UART3_IPG , -IMX6SLL_CLK_UART3_SERIAL , -IMX6SLL_CLK_UART4_IPG , -IMX6SLL_CLK_UART4_SERIAL , -IMX6SLL_CLK_UART5_IPG , -IMX6SLL_CLK_UART5_SERIAL , -}; - -static struct clk **uart_clks[ARRAY_SIZE (uart_clk_ids) +1 ]__initdata ; -static void __init imx6sll_clocks_init (struct device_node *ccm_node) {struct device_node *np;void __iomem *base; -int i; clk_hw_data =kzalloc (struct_size (clk_hw_data, hws,IMX6SLL_CLK_END ),GFP_KERNEL );
@@ -356,13 +340,7 @@ static void __init imx6sll_clocks_init(struct device_node *ccm_node)of_clk_add_hw_provider (np, of_clk_hw_onecell_get, clk_hw_data); -for (i =0 ; i <ARRAY_SIZE (uart_clk_ids); i++) { -int index = uart_clk_ids[i]; - - uart_clks[i] = &hws[index]->clk; - } - -imx_register_uart_clocks (uart_clks); +imx_register_uart_clocks (5 );
Lines of this file are not shown. View the raw message.
drivers/clk/imx/clk.c +32 -9
41 lines not on this page · raw message
drivers/clk/mvebu/armada-37xx-periph.c +45 -38
83 lines not on this page · raw message
drivers/clk/uniphier/clk-uniphier-mux.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/clocksource/timer-ti-dm-systimer.c +7 -6
Lines of this file are not shown. View the raw message.
drivers/cpufreq/armada-37xx-cpufreq.c +62 -14
76 lines not on this page · raw message
drivers/crypto/allwinner/sun8i-ss/sun8i-ss-hash.c +5 -4
Lines of this file are not shown. View the raw message.
drivers/crypto/allwinner/sun8i-ss/sun8i-ss-prng.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/crypto/ccp/tee-dev.c +35 -14
49 lines not on this page · raw message
drivers/crypto/qat/qat_c3xxxvf/adf_drv.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/crypto/qat/qat_c62xvf/adf_drv.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/crypto/qat/qat_common/adf_isr.c +21 -8
Lines of this file are not shown. View the raw message.
drivers/crypto/qat/qat_common/adf_transport.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/crypto/qat/qat_common/adf_vf_isr.c +13 -4
Lines of this file are not shown. View the raw message.
drivers/crypto/qat/qat_dh895xccvf/adf_drv.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/firmware/qcom_scm.c +49 -39
88 lines not on this page · raw message
drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c +11 -8
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +17 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dce/dce_abm.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c +3 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_dccg.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c +13 -13
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/display/dc/hdcp/hdcp_msg.c +5 -4
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/i915/gvt/display.c +212 -0
212 lines not on this page · raw message
drivers/gpu/drm/panel/panel-novatek-nt35510.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panel/panel-samsung-s6d16d0.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panel/panel-samsung-s6e63m0-dsi.c +0 -1
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panel/panel-sony-acx424akp.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/gpu/drm/panfrost/panfrost_mmu.c +10 -3
Lines of this file are not shown. View the raw message.
drivers/hid/hid-lenovo.c +34 -13
47 lines not on this page · raw message
drivers/hid/hid-plantronics.c +58 -2
60 lines not on this page · raw message
drivers/i2c/busses/i2c-rcar.c +50 -14
64 lines not on this page · raw message
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c +14 -6
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/bnxt_re/qplib_fp.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/bnxt_re/qplib_res.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/i40iw/i40iw_pble.c +2 -4
Lines of this file are not shown. View the raw message.
drivers/infiniband/hw/qedr/qedr_iw_cm.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/infiniband/ulp/isert/ib_isert.c +8 -8
Lines of this file are not shown. View the raw message.
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/iommu/intel/iommu.c +34 -16
50 lines not on this page · raw message
drivers/mailbox/sprd-mailbox.c +29 -14
43 lines not on this page · raw message
drivers/md/md.c +48 -25
73 lines not on this page · raw message
drivers/media/common/saa7146/saa7146_core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/common/saa7146/saa7146_video.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/media/dvb-frontends/m88ds3103.c +2 -2
Lines of this file are not shown. View the raw message.
drivers/media/i2c/imx219.c +29 -20
49 lines not on this page · raw message
drivers/media/pci/saa7134/saa7134-core.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/media/platform/qcom/venus/core.c +2 -5
Lines of this file are not shown. View the raw message.
drivers/media/platform/sunxi/sun6i-csi/sun6i_video.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/media/test-drivers/vivid/vivid-vid-out.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/memory/samsung/exynos5422-dmc.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/mtd/nand/raw/brcmnand/brcmnand.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/broadcom/bnxt/bnxt.c +7 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_regs.h +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/cavium/thunder/nicvf_queues.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c +11 -11
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/freescale/Makefile +1 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/marvell/prestera/prestera_main.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/netronome/nfp/nfp_devlink.c +1 -0
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/qualcomm/emac/emac-mac.c +3 -1
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/renesas/ravb_main.c +12 -23
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +9 -3
Lines of this file are not shown. View the raw message.
drivers/net/ethernet/xscale/ixp4xx_eth.c +4 -1
Lines of this file are not shown. View the raw message.
drivers/net/fddi/defxx.c +30 -17
47 lines not on this page · raw message
drivers/net/phy/marvell.c +32 -20
52 lines not on this page · raw message
drivers/net/wireless/ath/ath10k/wmi-tlv.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ath/ath9k/htc_drv_init.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/intel/ipw2x00/libipw_wx.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/dma.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7615/mac.c +15 -21
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7615/main.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h +5 -5
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7615/pci_init.c +1 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7615/sdio_txrx.c +10 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/mac.c +14 -23
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/main.c +6 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h +5 -5
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt76/sdio.c +3 -0
Lines of this file are not shown. View the raw message.
drivers/net/wireless/mediatek/mt7601u/eeprom.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/microchip/wilc1000/sdio.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.c +370 -130
500 lines not on this page · raw message
drivers/net/wireless/realtek/rtw88/debug.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/net/wireless/realtek/rtw88/phy.c +3 -2
Lines of this file are not shown. View the raw message.
drivers/net/wireless/ti/wlcore/debugfs.h +4 -3
Lines of this file are not shown. View the raw message.
drivers/nvme/target/tcp.c +33 -10
43 lines not on this page · raw message
drivers/pci/controller/dwc/pci-keystone.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/phy/cadence/phy-cadence-sierra.c +6 -1
Lines of this file are not shown. View the raw message.
drivers/pinctrl/pinctrl-single.c +37 -26
63 lines not on this page · raw message
drivers/power/supply/bq25980_charger.c +12 -28
Lines of this file are not shown. View the raw message.
drivers/scsi/ibmvscsi/ibmvfc.c +38 -19
57 lines not on this page · raw message
drivers/spi/spi-zynqmp-gqspi.c +71 -83
154 lines not on this page · raw message
drivers/staging/comedi/drivers/tests/ni_routes_test.c +4 -2
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/i2c/atomisp-lm3554.c +11 -8
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/pci/atomisp_ioctl.c +1 -3
Lines of this file are not shown. View the raw message.
drivers/staging/media/atomisp/pci/hmm/hmm_bo.c +8 -5
Lines of this file are not shown. View the raw message.
drivers/staging/media/rkisp1/rkisp1-resizer.c +5 -4
Lines of this file are not shown. View the raw message.
drivers/staging/media/sunxi/cedrus/cedrus_regs.h +9 -8
Lines of this file are not shown. View the raw message.
drivers/tty/serial/omap-serial.c +28 -23
51 lines not on this page · raw message
drivers/tty/serial/stm32-usart.c +334 -276
610 lines not on this page · raw message
drivers/tty/tty_ioctl.c +3 -60
63 lines not on this page · raw message
drivers/usb/dwc2/core_intr.c +83 -71
154 lines not on this page · raw message
drivers/usb/gadget/udc/aspeed-vhub/core.c +2 -1
Lines of this file are not shown. View the raw message.
drivers/usb/gadget/udc/aspeed-vhub/epn.c +1 -1
Lines of this file are not shown. View the raw message.
drivers/usb/gadget/udc/pch_udc.c +92 -31
123 lines not on this page · raw message
drivers/usb/host/xhci-mtk-sch.c +63 -17
80 lines not on this page · raw message
drivers/usb/typec/tcpm/tcpm.c +62 -43
105 lines not on this page · raw message
drivers/vfio/fsl-mc/vfio_fsl_mc.c +47 -27
74 lines not on this page · raw message
drivers/vfio/pci/vfio_pci.c +82 -49
131 lines not on this page · raw message
include/net/netfilter/nf_tables_offload.h +11 -1
Lines of this file are not shown. View the raw message.
kernel/sched/debug.c +29 -13
42 lines not on this page · raw message
net/ipv4/route.c +28 -14
42 lines not on this page · raw message
net/netfilter/nf_tables_offload.c +44 -0
44 lines not on this page · raw message
net/netfilter/nft_cmp.c +39 -2
41 lines not on this page · raw message
net/packet/af_packet.c +34 -18
52 lines not on this page · raw message
net/vmw_vsock/virtio_transport_common.c +19 -9
Lines of this file are not shown. View the raw message.
security/keys/trusted-keys/trusted_tpm1.c +26 -6
Lines of this file are not shown. View the raw message.
security/keys/trusted-keys/trusted_tpm2.c +6 -4
Lines of this file are not shown. View the raw message.
sound/pci/hda/patch_realtek.c +100 -62
162 lines not on this page · raw message
sound/soc/intel/boards/kbl_da7219_max98927.c +30 -8
Lines of this file are not shown. View the raw message.
tools/perf/pmu-events/arch/x86/amdzen1/cache.json +1 -1
Lines of this file are not shown. View the raw message.
tools/perf/pmu-events/arch/x86/amdzen1/recommended.json +3 -3
Lines of this file are not shown. View the raw message.
tools/perf/pmu-events/arch/x86/amdzen2/cache.json +1 -1
Lines of this file are not shown. View the raw message.
tools/perf/pmu-events/arch/x86/amdzen2/recommended.json +3 -3
Lines of this file are not shown. View the raw message.
tools/power/x86/turbostat/turbostat.c +33 -29
62 lines not on this page · raw message
tools/testing/selftests/bpf/prog_tests/core_reloc.c +31 -20
51 lines not on this page · raw message
tools/testing/selftests/bpf/progs/btf__core_reloc_existence___err_wrong_arr_kind.c deleted +0 -3
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/btf__core_reloc_existence___err_wrong_arr_value_type.c deleted +0 -3
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/btf__core_reloc_existence___err_wrong_int_kind.c deleted +0 -3
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/btf__core_reloc_existence___err_wrong_int_sz.c deleted +0 -3
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/btf__core_reloc_existence___err_wrong_int_type.c deleted +0 -3
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/btf__core_reloc_existence___err_wrong_struct_type.c deleted +0 -3
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/btf__core_reloc_existence___wrong_field_defs.c new file +3 -0
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/progs/core_reloc_types.h +2 -18
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/verifier/array_access.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/drivers/net/mlxsw/tc_flower_scale.sh +1 -5
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/forwarding/mirror_gre_vlan_bridge_1q.sh +1 -1
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.
Samuel Zou
Tested-by Hulk RobotQuoted 4 lines · Greg Kroah-Hartman
I'm announcing the release of the 5.10.37 kernel.
All users of the 5.10 kernel series must upgrade.
Quoted 9 lines
The updated 5.10.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.gitlinux-5.10.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summarythanks,
greg k-h
Tested on arm64 and x86 for 5.10.37,
Kernel repo:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Branch: linux-5.10.y
Version: 5.10.37
Commit: e97bd1e03e6ef58ec47ee7f085f8c14ed6329cf7
Compiler: gcc version 7.3.0 (GCC)
arm64:
--------------------------------------------------------------------
Testcase Result Summary:
total: 8476
passed: 8476
failed: 0
timeout: 0
--------------------------------------------------------------------
x86:
--------------------------------------------------------------------
Testcase Result Summary:
total: 8476
passed: 8476
failed: 0
timeout: 0
--------------------------------------------------------------------