Merge keystone/android12-5.10-keystone-qcom-release.110+ (b92ac32) into msm-5.10

* refs/heads/tmp-b92ac32:
  FROMGIT: usb: gadget: uvc: calculate the number of request depending on framesize
  ANDROID: GKI: Add tracing_is_on interface into symbol list
  UPSTREAM: usb: gadget: f_mass_storage: Make CD-ROM emulation work with Mac OS-X
  BACKPORT: io_uring: fix race between timeout flush and removal
  BACKPORT: net/sched: cls_u32: fix netns refcount changes in u32_change()
  UPSTREAM: io_uring: always use original task when preparing req identity
  FROMLIST: remoteproc: Fix dma_mem leak after rproc_shutdown
  FROMLIST: dma-mapping: Add dma_release_coherent_memory to DMA API
  ANDROID: Update QCOM symbol list for __reset_control_get
  ANDROID: vendor_hooks: Add hooks for mutex
  BACKPORT: can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path
  ANDROID: fix up abi issue with struct snd_pcm_runtime, again
  Revert "coredump: Snapshot the vmas in do_coredump"
  Revert "coredump: Remove the WARN_ON in dump_vma_snapshot"
  Revert "coredump: Use the vma snapshot in fill_files_note"
  Revert "pstore: Don't use semaphores in always-atomic-context code"
  Revert "PCI: Reduce warnings on possible RW1C corruption"
  ANDROID: GKI: fix crc issue with commit ce1927b8cf ("block: don't merge across cgroup boundaries if blkcg is enabled")
  ANDROID: remove CONFIG_HW_RANDOM_CAVIUM from arm64 gki_defconfig
  Linux 5.10.110
  PCI: xgene: Revert "PCI: xgene: Use inbound resources for setup"
  arm64: Do not defer reserve_crashkernel() for platforms with no DMA memory zones
  coredump: Use the vma snapshot in fill_files_note
  coredump/elf: Pass coredump_params into fill_note_info
  coredump: Remove the WARN_ON in dump_vma_snapshot
  coredump: Snapshot the vmas in do_coredump
  can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error path
  can: m_can: m_can_tx_handler(): fix use after free of skb
  KVM: x86/mmu: do compare-and-exchange of gPTE via the user address
  openvswitch: Fixed nd target mask field in the flow dump.
  docs: sysctl/kernel: add missing bit to panic_print
  um: Fix uml_mconsole stop/go
  ARM: dts: spear13xx: Update SPI dma properties
  ARM: dts: spear1340: Update serial node properties
  ASoC: topology: Allow TLV control to be either read or write
  ubi: fastmap: Return error code if memory allocation fails in add_aeb()
  dt-bindings: spi: mxic: The interrupt property is not mandatory
  dt-bindings: mtd: nand-controller: Fix a comment in the examples
  dt-bindings: mtd: nand-controller: Fix the reg property description
  bpf: Fix comment for helper bpf_current_task_under_cgroup()
  bpf: Adjust BPF stack helper functions to accommodate skip > 0
  mm/usercopy: return 1 from hardened_usercopy __setup() handler
  mm/memcontrol: return 1 from cgroup.memory __setup() handler
  ARM: 9187/1: JIVE: fix return value of __setup handler
  mm/mmap: return 1 from stack_guard_gap __setup() handler
  batman-adv: Check ptr for NULL before reducing its refcnt
  ASoC: soc-compress: Change the check for codec_dai
  staging: mt7621-dts: fix pinctrl-0 items to be size-1 items on ethernet
  proc: bootconfig: Add null pointer check
  can: isotp: restore accidentally removed MSG_PEEK feature
  platform/chrome: cros_ec_typec: Check for EC device
  ACPI: CPPC: Avoid out of bounds access when parsing _CPC data
  riscv module: remove (NOLOAD)
  io_uring: fix memory leak of uid in files registration
  ARM: iop32x: offset IRQ numbers by 1
  ubi: Fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctl
  ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLs
  pinctrl: nuvoton: npcm7xx: Use %zu printk format for ARRAY_SIZE()
  pinctrl: nuvoton: npcm7xx: Rename DS() macro to DSTR()
  watchdog: rti-wdt: Add missing pm_runtime_disable() in probe function
  pinctrl: pinconf-generic: Print arguments for bias-pull-*
  watch_queue: Free the page array when watch_queue is dismantled
  crypto: arm/aes-neonbs-cbc - Select generic cbc and aes
  mailbox: imx: fix wakeup failure from freeze mode
  rxrpc: Fix call timer start racing with call destruction
  net: hns3: fix software vlan talbe of vlan 0 inconsistent with hardware
  gfs2: Make sure FITRIM minlen is rounded up to fs block size
  rtc: check if __rtc_read_time was successful
  XArray: Update the LRU list in xas_split()
  can: mcp251xfd: mcp251xfd_register_get_dev_id(): fix return of error value
  can: mcba_usb: properly check endpoint type
  can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path
  XArray: Fix xas_create_range() when multi-order entry present
  wireguard: socket: ignore v6 endpoints when ipv6 is disabled
  wireguard: socket: free skb in send6 when ipv6 is disabled
  wireguard: queueing: use CFI-safe ptr_ring cleanup function
  ubifs: rename_whiteout: correct old_dir size computing
  ubifs: Fix to add refcount once page is set private
  ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock()
  ubifs: setflags: Make dirtied_ino_d 8 bytes aligned
  ubifs: Add missing iput if do_tmpfile() failed in rename whiteout
  ubifs: Fix deadlock in concurrent rename whiteout and inode writeback
  ubifs: rename_whiteout: Fix double free for whiteout_ui->data
  ASoC: SOF: Intel: Fix NULL ptr dereference when ENOMEM
  KVM: SVM: fix panic on out-of-bounds guest IRQ
  KVM: x86: fix sending PV IPI
  KVM: Prevent module exit until all VMs are freed
  KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated
  platform: chrome: Split trace include file
  scsi: qla2xxx: Use correct feature type field during RFF_ID processing
  scsi: qla2xxx: Reduce false trigger to login
  scsi: qla2xxx: Fix N2N inconsistent PLOGI
  scsi: qla2xxx: Fix missed DMA unmap for NVMe ls requests
  scsi: qla2xxx: Fix hang due to session stuck
  scsi: qla2xxx: Fix incorrect reporting of task management failure
  scsi: qla2xxx: Fix disk failure to rediscover
  scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair()
  scsi: qla2xxx: Check for firmware dump already collected
  scsi: qla2xxx: Add devids and conditionals for 28xx
  scsi: qla2xxx: Fix device reconnect in loop topology
  scsi: qla2xxx: Fix warning for missing error code
  scsi: qla2xxx: Fix wrong FDMI data for 64G adapter
  scsi: qla2xxx: Fix scheduling while atomic
  scsi: qla2xxx: Fix stuck session in gpdb
  powerpc: Fix build errors with newer binutils
  powerpc/lib/sstep: Fix build errors with newer binutils
  powerpc/lib/sstep: Fix 'sthcx' instruction
  powerpc/kasan: Fix early region not updated correctly
  KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMU
  ALSA: hda/realtek: Add alc256-samsung-headphone fixup
  media: atomisp: fix bad usage at error handling logic
  mmc: host: Return an error when ->enable_sdio_irq() ops is missing
  media: hdpvr: initialize dev->worker at hdpvr_register_videodev
  media: Revert "media: em28xx: add missing em28xx_close_extension"
  video: fbdev: sm712fb: Fix crash in smtcfb_write()
  ARM: mmp: Fix failure to remove sram device
  ARM: tegra: tamonten: Fix I2C3 pad setting
  lib/test_lockup: fix kernel pointer check for separate address spaces
  uaccess: fix type mismatch warnings from access_ok()
  media: cx88-mpeg: clear interrupt status register before streaming video
  ASoC: soc-core: skip zero num_dai component in searching dai name
  ARM: dts: bcm2711: Add the missing L1/L2 cache information
  video: fbdev: udlfb: replace snprintf in show functions with sysfs_emit
  video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of snprintf()
  video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf()
  arm64: defconfig: build imx-sdma as a module
  ARM: dts: imx7: Use audio_mclk_post_div instead audio_mclk_root_clk
  ARM: ftrace: avoid redundant loads or clobbering IP
  media: atomisp: fix dummy_ptr check to avoid duplicate active_bo
  media: atomisp_gmin_platform: Add DMI quirk to not turn AXP ELDO2 regulator off on some boards
  ASoC: madera: Add dependencies on MFD
  ARM: dts: bcm2837: Add the missing L1/L2 cache information
  ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960
  video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit
  video: fbdev: cirrusfb: check pixclock to avoid divide by zero
  video: fbdev: w100fb: Reset global state
  video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow
  media: ir_toy: free before error exiting
  media: staging: media: zoran: fix various V4L2 compliance errors
  media: staging: media: zoran: calculate the right buffer number for zoran_reap_stat_com
  media: staging: media: zoran: move videodev alloc
  ntfs: add sanity check on allocation size
  f2fs: compress: fix to print raw data size in error path of lz4 decompression
  NFSD: Fix nfsd_breaker_owns_lease() return values
  f2fs: fix to do sanity check on curseg->alloc_type
  ext4: don't BUG if someone dirty pages without asking ext4 first
  ext4: fix ext4_mb_mark_bb() with flex_bg with fast_commit
  ext4: correct cluster len and clusters changed accounting in ext4_mb_mark_bb
  locking/lockdep: Iterate lock_classes directly when reading lockdep files
  spi: tegra20: Use of_device_get_match_data()
  nvme-tcp: lockdep: annotate in-kernel sockets
  parisc: Fix handling off probe non-access faults
  PM: core: keep irq flags in device_pm_check_callbacks()
  ACPI/APEI: Limit printable size of BERT table data
  Revert "Revert "block, bfq: honor already-setup queue merges""
  lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3
  ACPICA: Avoid walking the ACPI Namespace if it is not there
  bfq: fix use-after-free in bfq_dispatch_request
  fs/binfmt_elf: Fix AT_PHDR for unusual ELF files
  irqchip/nvic: Release nvic_base upon failure
  irqchip/qcom-pdc: Fix broken locking
  Fix incorrect type in assignment of ipv6 port for audit
  loop: use sysfs_emit() in the sysfs xxx show()
  selinux: allow FIOCLEX and FIONCLEX with policy capability
  selinux: use correct type for context length
  block, bfq: don't move oom_bfqq
  pinctrl: npcm: Fix broken references to chip->parent_device
  gcc-plugins/stackleak: Exactly match strings instead of prefixes
  regulator: rpi-panel: Handle I2C errors/timing to the Atmel
  LSM: general protection fault in legacy_parse_param
  fs: fix fd table size alignment properly
  lib/test: use after free in register_test_dev_kmod()
  fs: fd tables have to be multiples of BITS_PER_LONG
  net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator
  NFSv4/pNFS: Fix another issue with a list iterator pointing to the head
  net/x25: Fix null-ptr-deref caused by x25_disconnect
  qlcnic: dcb: default to returning -EOPNOTSUPP
  selftests: test_vxlan_under_vrf: Fix broken test case
  net: phy: broadcom: Fix brcm_fet_config_init()
  net: hns3: fix bug when PF set the duplicate MAC address for VFs
  net: enetc: report software timestamping via SO_TIMESTAMPING
  xen: fix is_xen_pmu()
  clk: Initialize orphan req_rate
  clk: qcom: gcc-msm8994: Fix gpll4 width
  kdb: Fix the putarea helper function
  NFSv4.1: don't retry BIND_CONN_TO_SESSION on session error
  netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options
  jfs: fix divide error in dbNextAG
  driver core: dd: fix return value of __setup handler
  firmware: google: Properly state IOMEM dependency
  kgdbts: fix return value of __setup handler
  serial: 8250: fix XOFF/XON sending when DMA is used
  kgdboc: fix return value of __setup handler
  tty: hvc: fix return value of __setup handler
  pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe
  pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe
  pinctrl: mediatek: paris: Skip custom extra pin config dump for virtual GPIOs
  pinctrl: mediatek: paris: Fix pingroup pin config state readback
  pinctrl: mediatek: paris: Fix "argument" argument type for mtk_pinconf_get()
  pinctrl: mediatek: paris: Fix PIN_CONFIG_BIAS_* readback
  pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init
  staging: mt7621-dts: fix GB-PC2 devicetree
  staging: mt7621-dts: fix pinctrl properties for ethernet
  staging: mt7621-dts: fix formatting
  staging: mt7621-dts: fix LEDs and pinctrl on GB-PC1 devicetree
  NFS: remove unneeded check in decode_devicenotify_args()
  clk: tegra: tegra124-emc: Fix missing put_device() call in emc_ensure_emc_driver
  clk: clps711x: Terminate clk_div_table with sentinel element
  clk: loongson1: Terminate clk_div_table with sentinel element
  clk: actions: Terminate clk_div_table with sentinel element
  nvdimm/region: Fix default alignment for small regions
  remoteproc: qcom_q6v5_mss: Fix some leaks in q6v5_alloc_memory_region
  remoteproc: qcom_wcnss: Add missing of_node_put() in wcnss_alloc_memory_region
  remoteproc: qcom: Fix missing of_node_put in adsp_alloc_memory_region
  dmaengine: hisi_dma: fix MSI allocate fail when reload hisi_dma
  clk: qcom: clk-rcg2: Update the frac table for pixel clock
  clk: qcom: clk-rcg2: Update logic to calculate D value for RCG
  clk: at91: sama7g5: fix parents of PDMCs' GCLK
  clk: imx7d: Remove audio_mclk_root_clk
  dma-debug: fix return value of __setup handlers
  NFS: Return valid errors from nfs2/3_decode_dirent()
  habanalabs: Add check for pci_enable_device
  iio: adc: Add check for devm_request_threaded_irq
  serial: 8250: Fix race condition in RTS-after-send handling
  NFS: Use of mapping_set_error() results in spurious errors
  serial: 8250_lpss: Balance reference count for PCI DMA device
  serial: 8250_mid: Balance reference count for PCI DMA device
  phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure})
  clk: qcom: ipq8074: Use floor ops for SDCC1 clock
  pinctrl: renesas: checker: Fix miscalculation of number of states
  pinctrl: renesas: r8a77470: Reduce size for narrow VIN1 channel
  staging:iio:adc:ad7280a: Fix handing of device address bit reversing.
  iio: mma8452: Fix probe failing when an i2c_device_id is used
  clk: qcom: ipq8074: fix PCI-E clock oops
  soundwire: intel: fix wrong register name in intel_shim_wake
  cpufreq: qcom-cpufreq-nvmem: fix reading of PVS Valid fuse
  misc: alcor_pci: Fix an error handling path
  fsi: Aspeed: Fix a potential double free
  fsi: aspeed: convert to devm_platform_ioremap_resource
  pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add()
  mxser: fix xmit_buf leak in activate when LSR == 0xff
  mfd: asic3: Add missing iounmap() on error asic3_mfd_probe
  tipc: fix the timer expires after interval 100ms
  openvswitch: always update flow key after nat
  tcp: ensure PMTU updates are processed during fastopen
  net: bcmgenet: Use stronger register read/writes to assure ordering
  PCI: Avoid broken MSI on SB600 USB devices
  selftests/bpf/test_lirc_mode2.sh: Exit with proper code
  i2c: mux: demux-pinctrl: do not deactivate a master that is not active
  i2c: meson: Fix wrong speed use from probe
  af_netlink: Fix shift out of bounds in group mask calculation
  ipv4: Fix route lookups when handling ICMP redirects and PMTU updates
  Bluetooth: btmtksdio: Fix kernel oops in btmtksdio_interrupt
  Bluetooth: call hci_le_conn_failed with hdev lock in hci_le_conn_failed
  selftests/bpf: Fix error reporting from sock_fields programs
  bareudp: use ipv6_mod_enabled to check if IPv6 enabled
  can: isotp: support MSG_TRUNC flag when reading from socket
  can: isotp: return -EADDRNOTAVAIL when reading from unbound socket
  USB: storage: ums-realtek: fix error code in rts51x_read_mem()
  samples/bpf, xdpsock: Fix race when running for fix duration of time
  bpf, sockmap: Fix double uncharge the mem of sk_msg
  bpf, sockmap: Fix more uncharged while msg has more_data
  bpf, sockmap: Fix memleak in tcp_bpf_sendmsg while sk msg is full
  RDMA/mlx5: Fix memory leak in error flow for subscribe event routine
  mtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_init
  MIPS: pgalloc: fix memory leak caused by pgd_free()
  MIPS: RB532: fix return value of __setup handler
  mips: cdmm: Fix refcount leak in mips_cdmm_phys_base
  ath10k: Fix error handling in ath10k_setup_msa_resources
  vxcan: enable local echo for sent CAN frames
  powerpc: 8xx: fix a return value error in mpc8xx_pic_init
  platform/x86: huawei-wmi: check the return value of device_create_file()
  selftests/bpf: Make test_lwt_ip_encap more stable and faster
  libbpf: Unmap rings when umem deleted
  mfd: mc13xxx: Add check for mc13xxx_irq_request
  powerpc/sysdev: fix incorrect use to determine if list is empty
  mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n
  net: axienet: fix RX ring refill allocation failure handling
  PCI: Reduce warnings on possible RW1C corruption
  IB/hfi1: Allow larger MTU without AIP
  power: supply: wm8350-power: Add missing free in free_charger_irq
  power: supply: wm8350-power: Handle error for wm8350_register_irq
  i2c: xiic: Make bus names unique
  hv_balloon: rate-limit "Unhandled message" warning
  KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor()
  KVM: x86: Fix emulation in writing cr8
  powerpc/Makefile: Don't pass -mcpu=powerpc64 when building 32-bit
  powerpc/mm/numa: skip NUMA_NO_NODE onlining in parse_numa_properties()
  libbpf: Skip forward declaration when counting duplicated type names
  gpu: host1x: Fix a memory leak in 'host1x_remove()'
  bpf, arm64: Feed byte-offset into bpf line info
  bpf, arm64: Call build_prologue() first in first JIT pass
  drm/bridge: cdns-dsi: Make sure to to create proper aliases for dt
  scsi: hisi_sas: Change permission of parameter prot_mask
  power: supply: bq24190_charger: Fix bq24190_vbus_is_enabled() wrong false return
  drm/tegra: Fix reference leak in tegra_dsi_ganged_probe
  ext2: correct max file size computing
  TOMOYO: fix __setup handlers return values
  drm/amd/display: Remove vupdate_int_entry definition
  RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR
  scsi: pm8001: Fix abort all task initialization
  scsi: pm8001: Fix NCQ NON DATA command completion handling
  scsi: pm8001: Fix NCQ NON DATA command task initialization
  scsi: pm8001: Fix le32 values handling in pm80xx_chip_sata_req()
  scsi: pm8001: Fix le32 values handling in pm80xx_chip_ssp_io_req()
  scsi: pm8001: Fix payload initialization in pm80xx_encrypt_update()
  scsi: pm8001: Fix le32 values handling in pm80xx_set_sas_protocol_timer_config()
  scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config()
  scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req()
  scsi: pm8001: Fix command initialization in pm80XX_send_read_log()
  dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS
  drm/msm/dpu: fix dp audio condition
  drm/msm/dpu: add DSPP blocks teardown
  drm/msm/dp: populate connector of struct dp_panel
  iwlwifi: mvm: Fix an error code in iwl_mvm_up()
  iwlwifi: Fix -EIO error code that is never returned
  dax: make sure inodes are flushed before destroy cache
  IB/cma: Allow XRC INI QPs to set their local ACK timeout
  drm/amd/display: Add affected crtcs to atomic state for dsc mst unplug
  drm/amd/pm: enable pm sysfs write for one VF mode
  iommu/ipmmu-vmsa: Check for error num after setting mask
  HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports
  power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_init
  drm/bridge: dw-hdmi: use safe format when first in bridge chain
  PCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated bridge
  livepatch: Fix build failure on 32 bits processors
  scripts/dtc: Call pkg-config POSIXly correct
  net: dsa: mv88e6xxx: Enable port policy support on 6097
  mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update
  mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update
  mt76: mt7915: use proper aid value in mt7915_mcu_sta_basic_tlv
  mt76: mt7915: use proper aid value in mt7915_mcu_wtbl_generic_tlv in sta mode
  powerpc/perf: Don't use perf_hw_context for trace IMC PMU
  KVM: PPC: Book3S HV: Check return value of kvmppc_radix_init
  powerpc: dts: t1040rdb: fix ports names for Seville Ethernet switch
  ray_cs: Check ioremap return value
  power: reset: gemini-poweroff: Fix IRQ check in gemini_poweroff_probe
  i40e: respect metadata on XSK Rx to skb
  i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb
  KVM: PPC: Fix vmx/vsx mixup in mmio emulation
  RDMA/core: Set MR type in ib_reg_user_mr
  ath9k_htc: fix uninit value bugs
  drm/amd/pm: return -ENOTSUPP if there is no get_dpm_ultimate_freq function
  drm/amd/display: Fix a NULL pointer dereference in amdgpu_dm_connector_add_common_modes()
  drm/nouveau/acr: Fix undefined behavior in nvkm_acr_hsfw_load_bl()
  ionic: fix type complaint in ionic_dev_cmd_clean()
  drm/edid: Don't clear formats if using deep color
  mtd: rawnand: gpmi: fix controller timings setting
  mtd: onenand: Check for error irq
  Bluetooth: hci_serdev: call init_rwsem() before p->open()
  udmabuf: validate ubuf->pagecount
  libbpf: Fix possible NULL pointer dereference when destroying skeleton
  drm/panfrost: Check for error num after setting mask
  ath10k: fix memory overwrite of the WoWLAN wakeup packet pattern
  drm: bridge: adv7511: Fix ADV7535 HPD enablement
  drm/bridge: nwl-dsi: Fix PM disable depth imbalance in nwl_dsi_probe
  drm/bridge: Add missing pm_runtime_disable() in __dw_mipi_dsi_probe
  drm/bridge: Fix free wrong object in sii8620_init_rcp_input_dev
  drm/meson: osd_afbcd: Add an exit callback to struct meson_afbcd_ops
  ARM: configs: multi_v5_defconfig: re-enable CONFIG_V4L_PLATFORM_DRIVERS
  ASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_data
  ASoC: msm8916-wcd-analog: Fix error handling in pm8916_wcd_analog_spmi_probe
  ASoC: atmel: Fix error handling in sam9x5_wm8731_driver_probe
  ASoC: atmel: sam9x5_wm8731: use devm_snd_soc_register_card()
  mmc: davinci_mmc: Handle error for clk_enable
  ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in msm8916_wcd_digital_probe
  ASoC: imx-es8328: Fix error return code in imx_es8328_probe()
  ASoC: fsl_spdif: Disable TX clock when stop
  ASoC: mxs: Fix error handling in mxs_sgtl5000_probe
  ASoC: dmaengine: do not use a NULL prepare_slave_config() callback
  ASoC: SOF: Add missing of_node_put() in imx8m_probe
  ASoC: rockchip: i2s: Fix missing clk_disable_unprepare() in rockchip_i2s_probe
  ASoC: rockchip: i2s: Use devm_platform_get_and_ioremap_resource()
  ivtv: fix incorrect device_caps for ivtvfb
  media: saa7134: fix incorrect use to determine if list is empty
  media: saa7134: convert list_for_each to entry variant
  video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of
  ASoC: fsi: Add check for clk_enable
  ASoC: wm8350: Handle error for wm8350_register_irq
  ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe
  media: vidtv: Check for null return of vzalloc
  media: stk1160: If start stream fails, return buffers with VB2_BUF_STATE_QUEUED
  m68k: coldfire/device.c: only build for MCF_EDMA when h/w macros are defined
  arm64: dts: rockchip: Fix SDIO regulator supply properties on rk3399-firefly
  ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction
  memory: emif: check the pointer temp in get_device_details()
  memory: emif: Add check for setup_interrupts
  ASoC: soc-compress: prevent the potentially use of null pointer
  ASoC: dwc-i2s: Handle errors for clk_enable
  ASoC: atmel_ssc_dai: Handle errors for clk_enable
  ASoC: mxs-saif: Handle errors for clk_enable
  printk: fix return value of printk.devkmsg __setup handler
  arm64: dts: broadcom: Fix sata nodename
  arm64: dts: ns2: Fix spi-cpol and spi-cpha property
  ALSA: spi: Add check for clk_enable()
  ASoC: ti: davinci-i2s: Add check for clk_enable()
  ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp()
  uaccess: fix nios2 and microblaze get_user_8()
  ASoC: codecs: wcd934x: fix return value of wcd934x_rx_hph_mode_put
  media: cedrus: h264: Fix neighbour info buffer size
  media: cedrus: H265: Fix neighbour info buffer size
  media: usb: go7007: s2250-board: fix leak in probe()
  media: em28xx: initialize refcount before kref_get
  media: video/hdmi: handle short reads of hdmi info frame.
  ARM: dts: imx: Add missing LVDS decoder on M53Menlo
  ARM: dts: sun8i: v3s: Move the csi1 block to follow address order
  soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe
  firmware: ti_sci: Fix compilation failure when CONFIG_TI_SCI_PROTOCOL is not defined
  arm64: dts: qcom: sm8150: Correct TCS configuration for apps rsc
  arm64: dts: qcom: sdm845: fix microphone bias properties and values
  soc: qcom: aoss: remove spurious IRQF_ONESHOT flags
  soc: qcom: ocmem: Fix missing put_device() call in of_get_ocmem
  soc: qcom: rpmpd: Check for null return of devm_kcalloc
  ARM: dts: qcom: ipq4019: fix sleep clock
  firmware: qcom: scm: Remove reassignment to desc following initializer
  video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name()
  video: fbdev: atmel_lcdfb: fix an error code in atmel_lcdfb_probe()
  video: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe()
  video: fbdev: controlfb: Fix COMPILE_TEST build
  video: fbdev: controlfb: Fix set but not used warnings
  video: fbdev: matroxfb: set maxvram of vbG200eW to the same as vbG200 to avoid black screen
  media: aspeed: Correct value for h-total-pixels
  media: hantro: Fix overfill bottom register field name
  media: meson: vdec: potential dereference of null pointer
  media: coda: Fix missing put_device() call in coda_get_vdoa_data
  ASoC: generic: simple-card-utils: remove useless assignment
  ASoC: xilinx: xlnx_formatter_pcm: Handle sysclk setting
  media: bttv: fix WARNING regression on tunerless devices
  media: mtk-vcodec: potential dereference of null pointer
  media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctls
  media: staging: media: zoran: fix usage of vb2_dma_contig_set_max_seg_size
  kunit: make kunit_test_timeout compatible with comment
  selftests, x86: fix how check_cc.sh is being invoked
  f2fs: fix compressed file start atomic write may cause data corruption
  f2fs: compress: remove unneeded read when rewrite whole cluster
  btrfs: fix unexpected error path when reflinking an inline extent
  f2fs: fix to avoid potential deadlock
  nfsd: more robust allocation failure handling in nfsd_file_cache_init
  f2fs: fix missing free nid in f2fs_handle_failed_inode
  perf/x86/intel/pt: Fix address filter config for 32-bit kernel
  perf/core: Fix address filter parser for multiple filters
  rseq: Remove broken uapi field layout on 32-bit little endian
  rseq: Optimise rseq_get_rseq_cs() and clear_rseq_cs()
  sched/core: Export pelt_thermal_tp
  sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa
  f2fs: fix to enable ATGC correctly via gc_idle sysfs interface
  watch_queue: Actually free the watch
  watch_queue: Fix NULL dereference in error cleanup
  io_uring: terminate manual loop iterator loop correctly for non-vecs
  clocksource: acpi_pm: fix return value of __setup handler
  hwmon: (pmbus) Add Vin unit off handling
  hwrng: nomadik - Change clk_disable to clk_disable_unprepare
  amba: Make the remove callback return void
  vfio: platform: simplify device removal
  crypto: ccree - Fix use after free in cc_cipher_exit()
  crypto: ccp - ccp_dmaengine_unregister release dma channels
  ACPI: APEI: fix return value of __setup handlers
  clocksource/drivers/timer-of: Check return value of of_iomap in timer_of_base_init()
  clocksource/drivers/timer-microchip-pit64b: Use notrace
  clocksource/drivers/exynos_mct: Handle DTS with higher number of interrupts
  clocksource/drivers/exynos_mct: Refactor resources allocation
  clocksource/drivers/timer-ti-dm: Fix regression from errata i940 fix
  crypto: vmx - add missing dependencies
  crypto: amlogic - call finalize with bh disabled
  crypto: sun8i-ce - call finalize with bh disabled
  crypto: sun8i-ss - call finalize with bh disabled
  hwrng: atmel - disable trng on failure path
  spi: spi-zynqmp-gqspi: Handle error for dma_set_mask
  PM: suspend: fix return value of __setup handler
  PM: hibernate: fix __setup handler error handling
  block: don't delete queue kobject before its children
  nvme: cleanup __nvme_check_ids
  hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNING
  hwmon: (pmbus) Add mutex to regulator ops
  spi: pxa2xx-pci: Balance reference count for PCI DMA device
  crypto: ccree - don't attempt 0 len DMA mappings
  EVM: fix the evm= __setup handler return value
  audit: log AUDIT_TIME_* records only from rules
  crypto: rockchip - ECB does not need IV
  selftests/x86: Add validity check and allow field splitting
  arm64/mm: avoid fixmap race condition when create pud mapping
  spi: tegra114: Add missing IRQ check in tegra_spi_probe
  thermal: int340x: Check for NULL after calling kmemdup()
  crypto: mxs-dcp - Fix scatterlist processing
  crypto: authenc - Fix sleep in atomic context in decrypt_tail
  crypto: sun8i-ss - really disable hash on A80
  hwrng: cavium - HW_RANDOM_CAVIUM should depend on ARCH_THUNDER
  hwrng: cavium - Check health status while reading random data
  selinux: check return value of sel_make_avc_files
  regulator: qcom_smd: fix for_each_child.cocci warnings
  PCI: xgene: Revert "PCI: xgene: Fix IB window setup"
  PCI: pciehp: Clear cmd_busy bit in polling mode
  drm/i915/gem: add missing boundary check in vm_access
  drm/i915/opregion: check port number bounds for SWSCI display power state
  brcmfmac: pcie: Fix crashes due to early IRQs
  brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio
  brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error path
  brcmfmac: firmware: Allocate space for default boardrev in nvram
  xtensa: fix xtensa_wsr always writing 0
  xtensa: fix stop_machine_cpuslocked call in patch_text
  media: davinci: vpif: fix unbalanced runtime PM enable
  media: davinci: vpif: fix unbalanced runtime PM get
  media: gpio-ir-tx: fix transmit with long spaces on Orange Pi PC
  DEC: Limit PMAX memory probing to R3k systems
  bcache: fixup multiple threads crash
  crypto: rsa-pkcs1pad - fix buffer overread in pkcs1pad_verify_complete()
  crypto: rsa-pkcs1pad - restore signature length check
  crypto: rsa-pkcs1pad - correctly get hash from source scatterlist
  crypto: rsa-pkcs1pad - only allow with rsa
  exec: Force single empty string when argv is empty
  lib/raid6/test: fix multiple definition linking error
  thermal: int340x: Increase bitmap size
  pstore: Don't use semaphores in always-atomic-context code
  carl9170: fix missing bit-wise or operator for tx_params
  mgag200 fix memmapsl configuration in GCTL6 register
  ARM: dts: exynos: add missing HDMI supplies on SMDK5420
  ARM: dts: exynos: add missing HDMI supplies on SMDK5250
  ARM: dts: exynos: fix UART3 pins configuration in Exynos5250
  ARM: dts: at91: sama5d2: Fix PMERRLOC resource size
  video: fbdev: atari: Atari 2 bpp (STe) palette bugfix
  video: fbdev: sm712fb: Fix crash in smtcfb_read()
  drm/edid: check basic audio support on CEA extension block
  block: don't merge across cgroup boundaries if blkcg is enabled
  block: limit request dispatch loop duration
  mailbox: tegra-hsp: Flush whole channel
  drivers: hamradio: 6pack: fix UAF bug caused by mod_timer()
  ext4: fix fs corruption when tring to remove a non-empty directory with IO error
  ext4: fix ext4_fc_stats trace point
  coredump: Also dump first pages of non-executable ELF libraries
  ACPI: properties: Consistently return -ENOENT if there are no more references
  arm64: dts: ti: k3-j7200: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-j721e: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-am65: Fix gic-v3 compatible regs
  arm64: signal: nofpsimd: Do not allocate fp/simd context when not available
  udp: call udp_encap_enable for v6 sockets when enabling encap
  powerpc/kvm: Fix kvm_use_magic_page
  can: isotp: sanitize CAN ID checks in isotp_bind()
  drbd: fix potential silent data corruption
  dm integrity: set journal entry unused when shrinking device
  mm/kmemleak: reset tag when compare object pointer
  mm,hwpoison: unmap poisoned page before invalidation
  Revert "mm: madvise: skip unmapped vma holes passed to process_madvise"
  mm: madvise: return correct bytes advised with process_madvise
  mm: madvise: skip unmapped vma holes passed to process_madvise
  ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020
  ALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock
  ALSA: hda: Avoid unsol event during RPM suspending
  ALSA: cs4236: fix an incorrect NULL check on list iterator
  cifs: fix NULL ptr dereference in smb2_ioctl_query_info()
  cifs: prevent bad output lengths in smb2_ioctl_query_info()
  Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads"
  riscv: Increase stack size under KASAN
  riscv: Fix fill_callchain return value
  qed: validate and restrict untrusted VFs vlan promisc mode
  qed: display VF trust config
  scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands
  mempolicy: mbind_range() set_policy() after vma_merge()
  mm: invalidate hwpoison page cache page in fault path
  mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node
  jffs2: fix memory leak in jffs2_scan_medium
  jffs2: fix memory leak in jffs2_do_mount_fs
  jffs2: fix use-after-free in jffs2_clear_xattr_subsystem
  can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path
  mtd: rawnand: protect access to rawnand devices while in suspend
  spi: mxic: Fix the transmit path
  pinctrl: samsung: drop pin banks references on error paths
  remoteproc: Fix count check in rproc_coredump_write()
  f2fs: fix to do sanity check on .cp_pack_total_block_count
  f2fs: quota: fix loop condition at f2fs_quota_sync()
  f2fs: fix to unlock page correctly in error path of is_alive()
  NFSD: prevent integer overflow on 32 bit systems
  NFSD: prevent underflow in nfssvc_decode_writeargs()
  SUNRPC: avoid race between mod_timer() and del_timer_sync()
  HID: intel-ish-hid: Use dma_alloc_coherent for firmware update
  firmware: stratix10-svc: add missing callback parameter on RSU
  Documentation: update stable tree link
  Documentation: add link to stable release candidate tree
  KEYS: fix length validation in keyctl_pkey_params_get_2()
  ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE
  clk: uniphier: Fix fixed-rate initialization
  greybus: svc: fix an error handling bug in gb_svc_hello()
  iio: inkern: make a best effort on offset calculation
  iio: inkern: apply consumer scale when no channel scale is available
  iio: inkern: apply consumer scale on IIO_VAL_INT cases
  iio: afe: rescale: use s64 for temporary scale calculations
  coresight: Fix TRCCONFIGR.QE sysfs interface
  mei: avoid iterator usage outside of list_for_each_entry
  mei: me: add Alder Lake N device id.
  xhci: fix uninitialized string returned by xhci_decode_ctrl_ctx()
  xhci: make xhci_handshake timeout for xhci_reset() adjustable
  xhci: fix runtime PM imbalance in USB2 resume
  xhci: fix garbage USBSTS being logged in some cases
  USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c
  virtio-blk: Use blk_validate_block_size() to validate block size
  tpm: fix reference counting for struct tpm_chip
  iommu/iova: Improve 32-bit free space estimate
  locking/lockdep: Avoid potential access of invalid memory in lock_class
  net: dsa: microchip: add spi_device_id tables
  af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register
  Input: zinitix - do not report shadow fingers
  spi: Fix erroneous sgs value with min_t()
  Revert "gpio: Revert regression in sysfs-gpio (gpiolib.c)"
  net:mcf8390: Use platform_get_irq() to get the interrupt
  spi: Fix invalid sgs value
  gpio: Revert regression in sysfs-gpio (gpiolib.c)
  ethernet: sun: Free the coherent when failing in probing
  tools/virtio: fix virtio_test execution
  vdpa/mlx5: should verify CTRL_VQ feature exists for MQ
  virtio_console: break out of buf poll on remove
  ARM: mstar: Select HAVE_ARM_ARCH_TIMER
  xfrm: fix tunnel model fragmentation behavior
  HID: logitech-dj: add new lightspeed receiver id
  netdevice: add the case if dev is NULL
  hv: utils: add PTP_1588_CLOCK to Kconfig to fix build
  USB: serial: simple: add Nokia phone driver
  USB: serial: pl2303: add IBM device IDs
  swiotlb: fix info leak with DMA_FROM_DEVICE
  ANDROID: fix up abi issue with struct snd_pcm_runtime
  Linux 5.10.109
  llc: only change llc->dev when bind() succeeds
  nds32: fix access_ok() checks in get/put_user
  wcn36xx: Differentiate wcn3660 from wcn3620
  tpm: use try_get_ops() in tpm-space.c
  mac80211: fix potential double free on mesh join
  rcu: Don't deboost before reporting expedited quiescent state
  Revert "ath: add support for special 0x0 regulatory domain"
  crypto: qat - disable registration of algorithms
  ACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU
  ACPI: battery: Add device HID and quirk for Microsoft Surface Go 3
  ACPI / x86: Work around broken XSDT on Advantech DAC-BJ01 board
  netfilter: nf_tables: initialize registers in nft_do_chain()
  drivers: net: xgene: Fix regression in CRC stripping
  ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec
  ALSA: cmipci: Restore aux vol on suspend/resume
  ALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB
  ALSA: pcm: Add stream lock during PCM reset ioctl operations
  ALSA: pcm: Fix races among concurrent prealloc proc writes
  ALSA: pcm: Fix races among concurrent prepare and hw_params/hw_free calls
  ALSA: pcm: Fix races among concurrent read/write and buffer changes
  ALSA: pcm: Fix races among concurrent hw_params and hw_free calls
  ALSA: hda/realtek: Add quirk for ASUS GA402
  ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671
  ALSA: hda/realtek: Add quirk for Clevo NP50PNJ
  ALSA: hda/realtek: Add quirk for Clevo NP70PNJ
  ALSA: usb-audio: add mapping for new Corsair Virtuoso SE
  ALSA: oss: Fix PCM OSS buffer allocation overflow
  ASoC: sti: Fix deadlock via snd_pcm_stop_xrun() call
  llc: fix netdevice reference leaks in llc_ui_bind()
  staging: fbtft: fb_st7789v: reset display before initialization
  tpm: Fix error handling in async work
  cgroup-v1: Correct privileges check in release_agent writes
  cgroup: Use open-time cgroup namespace for process migration perm checks
  cgroup: Allocate cgroup_file_ctx for kernfs_open_file->priv
  exfat: avoid incorrectly releasing for root inode
  net: ipv6: fix skb_over_panic in __ip6_append_data
  nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTION
  Revert "vsock: each transport cycles only on its own sockets"
  Linux 5.10.108
  Revert "selftests/bpf: Add test for bpf_timer overwriting crash"
  esp: Fix possible buffer overflow in ESP transformation
  smsc95xx: Ignore -ENODEV errors when device is unplugged
  net: usb: Correct reset handling of smsc95xx
  net: usb: Correct PHY handling of smsc95xx
  perf symbols: Fix symbol size calculation condition
  Input: aiptek - properly check endpoint type
  scsi: mpt3sas: Page fault in reply q processing
  usb: usbtmc: Fix bug in pipe direction for control transfers
  usb: gadget: Fix use-after-free bug by not setting udc->dev.driver
  usb: gadget: rndis: prevent integer overflow in rndis_set_response()
  arm64: fix clang warning about TRAMP_VALIAS
  net: mscc: ocelot: fix backwards compatibility with single-chain tc-flower offload
  net: bcmgenet: skip invalid partial checksums
  bnx2x: fix built-in kernel driver load failure
  net: phy: mscc: Add MODULE_FIRMWARE macros
  net: dsa: Add missing of_node_put() in dsa_port_parse_of
  net: handle ARPHRD_PIMREG in dev_is_mac_header_xmit()
  drm/panel: simple: Fix Innolux G070Y2-L01 BPP settings
  drm/imx: parallel-display: Remove bus flags check in imx_pd_bridge_atomic_check()
  hv_netvsc: Add check for kvmalloc_array
  atm: eni: Add check for dma_map_single
  net/packet: fix slab-out-of-bounds access in packet_recvmsg()
  net: phy: marvell: Fix invalid comparison in the resume and suspend functions
  esp6: fix check on ipv6_skip_exthdr's return value
  vsock: each transport cycles only on its own sockets
  efi: fix return value of __setup handlers
  mm: swap: get rid of livelock in swapin readahead
  ocfs2: fix crash when initialize filecheck kobj fails
  crypto: qcom-rng - ensure buffer for generate is completely filled
  Linux 5.10.107
  arm64: kvm: Fix copy-and-paste error in bhb templates for v5.10 stable
  io_uring: return back safer resurrect
  kselftest/vm: fix tests build with old libc
  sfc: extend the locking on mcdi->seqno
  tcp: make tcp_read_sock() more robust
  nl80211: Update bss channel on channel switch for P2P_CLIENT
  drm/vrr: Set VRR capable prop only if it is attached to connector
  iwlwifi: don't advertise TWT support
  atm: firestream: check the return value of ioremap() in fs_init()
  can: rcar_canfd: rcar_canfd_channel_probe(): register the CAN device when fully ready
  ARM: 9178/1: fix unmet dependency on BITREVERSE for HAVE_ARCH_BITREVERSE
  MIPS: smp: fill in sibling and core maps earlier
  mac80211: refuse aggregations sessions before authorized
  ARM: dts: rockchip: fix a typo on rk3288 crypto-controller
  ARM: dts: rockchip: reorder rk322x hmdi clocks
  arm64: dts: agilex: use the compatible "intel,socfpga-agilex-hsotg"
  arm64: dts: rockchip: reorder rk3399 hdmi clocks
  arm64: dts: rockchip: fix rk3399-puma eMMC HS400 signal integrity
  xfrm: Fix xfrm migrate issues when address family changes
  xfrm: Check if_id in xfrm_migrate
  sctp: fix the processing for INIT chunk
  Revert "xfrm: state and policy should fail if XFRMA_IF_ID 0"
  UPSTREAM: arm64: proton-pack: Include unprivileged eBPF status in Spectre v2 mitigation reporting
  UPSTREAM: arm64: Use the clearbhb instruction in mitigations
  UPSTREAM: KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated
  UPSTREAM: arm64: Mitigate spectre style branch history side channels
  UPSTREAM: arm64: Do not include __READ_ONCE() block in assembly files
  UPSTREAM: KVM: arm64: Allow indirect vectors to be used without SPECTRE_V3A
  UPSTREAM: arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spectre-v2
  UPSTREAM: arm64: Add percpu vectors for EL1
  Linux 5.10.106
  watch_queue: Fix filter limit check
  ARM: fix Thumb2 regression with Spectre BHB
  ext4: add check to prevent attempting to resize an fs with sparse_super2
  x86/traps: Mark do_int3() NOKPROBE_SYMBOL
  x86/boot: Add setup_indirect support in early_memremap_is_setup_data()
  x86/boot: Fix memremap of setup_indirect structures
  watch_queue: Make comment about setting ->defunct more accurate
  watch_queue: Fix lack of barrier/sync/lock between post and read
  watch_queue: Free the alloc bitmap when the watch_queue is torn down
  watch_queue: Fix the alloc bitmap size to reflect notes allocated
  watch_queue: Fix to always request a pow-of-2 pipe ring size
  watch_queue: Fix to release page in ->release()
  watch_queue, pipe: Free watchqueue state after clearing pipe ring
  virtio: acknowledge all features before access
  virtio: unexport virtio_finalize_features
  arm64: dts: marvell: armada-37xx: Remap IO space to bus address 0x0
  riscv: Fix auipc+jalr relocation range checks
  mmc: meson: Fix usage of meson_mmc_post_req()
  net: macb: Fix lost RX packet wakeup race in NAPI receive
  staging: gdm724x: fix use after free in gdm_lte_rx()
  staging: rtl8723bs: Fix access-point mode deadlock
  fuse: fix pipe buffer lifetime for direct_io
  ARM: Spectre-BHB: provide empty stub for non-config
  selftests/memfd: clean up mapping in mfd_fail_write
  selftest/vm: fix map_fixed_noreplace test failure
  tracing: Ensure trace buffer is at least 4096 bytes large
  ipv6: prevent a possible race condition with lifetimes
  Revert "xen-netback: Check for hotplug-status existence before watching"
  Revert "xen-netback: remove 'hotplug-status' once it has served its purpose"
  gpio: Return EPROBE_DEFER if gc->to_irq is NULL
  hwmon: (pmbus) Clear pmbus fault/warning bits after read
  net-sysfs: add check for netdevice being present to speed_show
  spi: rockchip: terminate dma transmission when slave abort
  spi: rockchip: Fix error in getting num-cs property
  selftests/bpf: Add test for bpf_timer overwriting crash
  net: bcmgenet: Don't claim WOL when its not available
  sctp: fix kernel-infoleak for SCTP sockets
  net: phy: DP83822: clear MISR2 register to disable interrupts
  gianfar: ethtool: Fix refcount leak in gfar_get_ts_info
  gpio: ts4900: Do not set DAT and OE together
  selftests: pmtu.sh: Kill tcpdump processes launched by subshell.
  NFC: port100: fix use-after-free in port100_send_complete
  net/mlx5e: Lag, Only handle events from highest priority multipath entry
  net/mlx5: Fix a race on command flush flow
  net/mlx5: Fix size field in bufferx_reg struct
  ax25: Fix NULL pointer dereference in ax25_kill_by_device
  net: ethernet: lpc_eth: Handle error for clk_enable
  net: ethernet: ti: cpts: Handle error for clk_enable
  tipc: fix incorrect order of state message data sanity check
  ethernet: Fix error handling in xemaclite_of_probe
  ice: Fix curr_link_speed advertised speed
  ice: Rename a couple of variables
  ice: Remove unnecessary checker loop
  ice: Align macro names to the specification
  ice: stop disabling VFs due to PF error responses
  i40e: stop disabling VFs due to PF error responses
  ARM: dts: aspeed: Fix AST2600 quad spi group
  net: dsa: mt7530: fix incorrect test in mt753x_phylink_validate()
  drm/sun4i: mixer: Fix P010 and P210 format numbers
  qed: return status of qed_iov_get_link
  esp: Fix BEET mode inter address family tunneling on GSO
  net: qlogic: check the return value of dma_alloc_coherent() in qed_vf_hw_prepare()
  isdn: hfcpci: check the return value of dma_set_mask() in setup_hw()
  virtio-blk: Don't use MAX_DISCARD_SEGMENTS if max_discard_seg is zero
  mISDN: Fix memory leak in dsp_pipeline_build()
  mISDN: Remove obsolete PIPELINE_DEBUG debugging information
  tipc: fix kernel panic when enabling bearer
  arm64: dts: armada-3720-turris-mox: Add missing ethernet0 alias
  HID: vivaldi: fix sysfs attributes leak
  clk: qcom: gdsc: Add support to update GDSC transition delay
  ARM: boot: dts: bcm2711: Fix HVS register range
  UPSTREAM: ARM: fix Thumb2 regression with Spectre BHB
  UPSTREAM: ARM: Spectre-BHB: provide empty stub for non-config
  UPSTREAM: ARM: fix build warning in proc-v7-bugs.c
  UPSTREAM: ARM: Do not use NOCROSSREFS directive with ld.lld
  UPSTREAM: ARM: fix co-processor register typo
  UPSTREAM: ARM: fix build error when BPF_SYSCALL is disabled
  ANDROID: fix up rndis ABI breakage
  Linux 5.10.105
  Revert "ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE"
  xen/netfront: react properly to failing gnttab_end_foreign_access_ref()
  xen/gnttab: fix gnttab_end_foreign_access() without page specified
  xen/pvcalls: use alloc/free_pages_exact()
  xen/9p: use alloc/free_pages_exact()
  xen: remove gnttab_query_foreign_access()
  xen/gntalloc: don't use gnttab_query_foreign_access()
  xen/scsifront: don't use gnttab_query_foreign_access() for mapped status
  xen/netfront: don't use gnttab_query_foreign_access() for mapped status
  xen/blkfront: don't use gnttab_query_foreign_access() for mapped status
  xen/grant-table: add gnttab_try_end_foreign_access()
  xen/xenbus: don't let xenbus_grant_ring() remove grants in error case
  arm64: proton-pack: Include unprivileged eBPF status in Spectre v2 mitigation reporting
  ARM: fix build warning in proc-v7-bugs.c
  arm64: Use the clearbhb instruction in mitigations
  ARM: Do not use NOCROSSREFS directive with ld.lld
  KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated
  ARM: fix co-processor register typo
  arm64: Mitigate spectre style branch history side channels
  ARM: fix build error when BPF_SYSCALL is disabled
  KVM: arm64: Allow indirect vectors to be used without SPECTRE_V3A
  arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spectre-v2
  arm64: entry: Add macro for reading symbol addresses from the trampoline
  arm64: Add percpu vectors for EL1
  arm64: entry: Add vectors that have the bhb mitigation sequences
  arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations
  arm64: entry: Allow the trampoline text to occupy multiple pages
  arm64: entry: Make the kpti trampoline's kpti sequence optional
  arm64: entry: Move trampoline macros out of ifdef'd section
  arm64: entry: Don't assume tramp_vectors is the start of the vectors
  arm64: entry: Allow tramp_alias to access symbols after the 4K boundary
  arm64: entry: Move the trampoline data page before the text page
  arm64: entry: Free up another register on kpti's tramp_exit path
  arm64: Add HWCAP for self-synchronising virtual counter
  arm64: Add Cortex-A510 CPU part definition
  arm64: Add Neoverse-N2, Cortex-A710 CPU part definition
  arm64: entry: Make the trampoline cleanup optional
  arm64: Add Cortex-X2 CPU part definition
  arm64: spectre: Rename spectre_v4_patch_fw_mitigation_conduit
  arm64: entry.S: Add ventry overflow sanity checks
  arm64: cpufeature: add HWCAP for FEAT_RPRES
  arm64: cpufeature: add HWCAP for FEAT_AFP
  arm64: add ID_AA64ISAR2_EL1 sys register
  ARM: include unprivileged BPF status in Spectre V2 reporting
  x86/speculation: Warn about eIBRS + LFENCE + Unprivileged eBPF + SMT
  arm64: cputype: Add CPU implementor & types for the Apple M1 cores
  ARM: Spectre-BHB workaround
  x86/speculation: Warn about Spectre v2 LFENCE mitigation
  ARM: use LOADADDR() to get load address of sections
  x86/speculation: Update link to AMD speculation whitepaper
  ARM: early traps initialisation
  x86/speculation: Use generic retpoline by default on AMD
  ARM: report Spectre v2 status through sysfs
  x86/speculation: Include unprivileged eBPF status in Spectre v2 mitigation reporting
  Documentation/hw-vuln: Update spectre doc
  x86/speculation: Add eIBRS + Retpoline options
  x86/speculation: Rename RETPOLINE_AMD to RETPOLINE_LFENCE
  x86,bugs: Unconditionally allow spectre_v2=retpoline,amd
  Linux 5.10.104
  hamradio: fix macro redefine warning
  Revert "xfrm: xfrm_state_mtu should return at least 1280 for ipv6"
  btrfs: add missing run of delayed items after unlink during log replay
  btrfs: qgroup: fix deadlock between rescan worker and remove qgroup
  btrfs: fix lost prealloc extents beyond eof after full fsync
  tracing: Fix return value of __setup handlers
  tracing/histogram: Fix sorting on old "cpu" value
  HID: add mapping for KEY_ALL_APPLICATIONS
  HID: add mapping for KEY_DICTATE
  Input: samsung-keypad - properly state IOMEM dependency
  Input: elan_i2c - fix regulator enable count imbalance after suspend/resume
  Input: elan_i2c - move regulator_[en|dis]able() out of elan_[en|dis]able_power()
  net: dcb: disable softirqs in dcbnl_flush_dev()
  drm/amdgpu: fix suspend/resume hang regression
  nl80211: Handle nla_memdup failures in handle_nan_filter
  iavf: Refactor iavf state machine tracking
  net: chelsio: cxgb3: check the return value of pci_find_capability()
  ibmvnic: complete init_done on transport events
  ARM: tegra: Move panels to AUX bus
  soc: fsl: qe: Check of ioremap return value
  soc: fsl: guts: Add a missing memory allocation failure check
  soc: fsl: guts: Revert commit 3c0d64e867
  ARM: dts: Use 32KiHz oscillator on devkit8000
  ARM: dts: switch timer config to common devkit8000 devicetree
  s390/extable: fix exception table sorting
  memfd: fix F_SEAL_WRITE after shmem huge page allocated
  ibmvnic: free reset-work-item when flushing
  igc: igc_write_phy_reg_gpy: drop premature return
  pinctrl: sunxi: Use unique lockdep classes for IRQs
  selftests: mlxsw: tc_police_scale: Make test more robust
  ARM: 9182/1: mmu: fix returns from early_param() and __setup() functions
  ARM: Fix kgdb breakpoint for Thumb2
  igc: igc_read_phy_reg_gpy: drop premature return
  arm64: dts: rockchip: Switch RK3399-Gru DP to SPDIF output
  can: gs_usb: change active_channels's type from atomic_t to u8
  ASoC: cs4265: Fix the duplicated control name
  firmware: arm_scmi: Remove space in MODULE_ALIAS name
  efivars: Respect "block" flag in efivar_entry_set_safe()
  ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc()
  net: arcnet: com20020: Fix null-ptr-deref in com20020pci_probe()
  ibmvnic: register netdev after init of adapter
  net: sxgbe: fix return value of __setup handler
  iavf: Fix missing check for running netdev
  mac80211: treat some SAE auth steps as final
  net: stmmac: fix return value of __setup handler
  mac80211: fix forwarded mesh frames AC & queue selection
  ia64: ensure proper NUMA distance and possible map initialization
  sched/topology: Fix sched_domain_topology_level alloc in sched_init_numa()
  sched/topology: Make sched_init_numa() use a set for the deduplicating sort
  ice: fix concurrent reset and removal of VFs
  ice: Fix race conditions between virtchnl handling and VF ndo ops
  rcu/nocb: Fix missed nocb_timer requeue
  net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error cause by server
  net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error generated by client
  net/smc: fix connection leak
  net: dcb: flush lingering app table entries for unregistered devices
  net: ipv6: ensure we call ipv6_mc_down() at most once
  batman-adv: Don't expect inter-netns unique iflink indices
  batman-adv: Request iflink once in batadv_get_real_netdevice
  batman-adv: Request iflink once in batadv-on-batadv check
  netfilter: nf_queue: handle socket prefetch
  netfilter: nf_queue: fix possible use-after-free
  netfilter: nf_queue: don't assume sk is full socket
  net: fix up skbs delta_truesize in UDP GRO frag_list
  e1000e: Correct NVM checksum verification flow
  xfrm: enforce validity of offload input flags
  xfrm: fix the if_id check in changelink
  bpf, sockmap: Do not ignore orig_len parameter
  netfilter: fix use-after-free in __nf_register_net_hook()
  xfrm: fix MTU regression
  mm: Consider __GFP_NOWARN flag for oversized kvmalloc() calls
  ntb: intel: fix port config status offset for SPR
  thermal: core: Fix TZ_GET_TRIP NULL pointer dereference
  xen/netfront: destroy queues before real_num_tx_queues is zeroed
  drm/i915: s/JSP2/ICP2/ PCH
  iommu/amd: Recover from event log overflow
  ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min
  riscv: Fix config KASAN && DEBUG_VIRTUAL
  riscv: Fix config KASAN && SPARSEMEM && !SPARSE_VMEMMAP
  riscv/efi_stub: Fix get_boot_hartid_from_fdt() return value
  ALSA: intel_hdmi: Fix reference to PCM buffer address
  tracing: Add ustring operation to filtering string pointers
  drm/amdgpu: check vm ready by amdgpu_vm->evicting flag
  ata: pata_hpt37x: fix PCI clock detection
  serial: stm32: prevent TDR register overwrite when sending x_char
  tracing: Add test for user space strings when filtering on string pointers
  exfat: fix i_blocks for files truncated over 4 GiB
  exfat: reuse exfat_inode_info variable instead of calling EXFAT_I()
  usb: gadget: clear related members when goto fail
  usb: gadget: don't release an existing dev->buf
  net: usb: cdc_mbim: avoid altsetting toggling for Telit FN990
  i2c: qup: allow COMPILE_TEST
  i2c: cadence: allow COMPILE_TEST
  dmaengine: shdma: Fix runtime PM imbalance on error
  selftests/seccomp: Fix seccomp failure by adding missing headers
  cifs: fix double free race when mount fails in cifs_get_root()
  tipc: fix a bit overflow in tipc_crypto_key_rcv()
  KVM: arm64: vgic: Read HW interrupt pending state from the HW
  Input: clear BTN_RIGHT/MIDDLE on buttonpads
  regulator: core: fix false positive in regulator_late_cleanup()
  ASoC: rt5682: do not block workqueue if card is unbound
  ASoC: rt5668: do not block workqueue if card is unbound
  i2c: bcm2835: Avoid clock stretching timeouts
  mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work
  mac80211_hwsim: report NOACK frames in tx_status
  Linux 5.10.103
  memblock: use kfree() to release kmalloced memblock regions
  gpio: tegra186: Fix chip_data type confusion
  tty: n_gsm: fix deadlock in gsmtty_open()
  tty: n_gsm: fix wrong tty control line for flow control
  tty: n_gsm: fix NULL pointer access due to DLCI release
  tty: n_gsm: fix proper link termination after failed open
  tty: n_gsm: fix encoding of control signal octet bit DV
  riscv: fix oops caused by irqsoff latency tracer
  thermal: int340x: fix memory leak in int3400_notify()
  RDMA/cma: Do not change route.addr.src_addr outside state checks
  driver core: Free DMA range map when device is released
  xhci: Prevent futile URB re-submissions due to incorrect return value.
  xhci: re-initialize the HC during resume if HCE was set
  usb: dwc3: gadget: Let the interrupt handler disable bottom halves.
  usb: dwc3: pci: Fix Bay Trail phy GPIO mappings
  usb: dwc2: drd: fix soft connect when gadget is unconfigured
  USB: serial: option: add Telit LE910R1 compositions
  USB: serial: option: add support for DW5829e
  tracefs: Set the group ownership in apply_options() not parse_options()
  USB: gadget: validate endpoint index for xilinx udc
  usb: gadget: rndis: add spinlock for rndis response list
  Revert "USB: serial: ch341: add new Product ID for CH341A"
  ata: pata_hpt37x: disable primary channel on HPT371
  sc16is7xx: Fix for incorrect data being transmitted
  iio: Fix error handling for PM
  iio: imu: st_lsm6dsx: wait for settling time in st_lsm6dsx_read_oneshot
  iio: adc: ad7124: fix mask used for setting AIN_BUFP & AIN_BUFM bits
  iio: adc: men_z188_adc: Fix a resource leak in an error handling path
  tracing: Have traceon and traceoff trigger honor the instance
  RDMA/ib_srp: Fix a deadlock
  configfs: fix a race in configfs_{,un}register_subsystem()
  RDMA/rtrs-clt: Move free_permit from free_clt to rtrs_clt_close
  RDMA/rtrs-clt: Kill wait_for_inflight_permits
  RDMA/rtrs-clt: Fix possible double free in error case
  regmap-irq: Update interrupt clear register for proper reset
  spi: spi-zynq-qspi: Fix a NULL pointer dereference in zynq_qspi_exec_mem_op()
  net/mlx5e: kTLS, Use CHECKSUM_UNNECESSARY for device-offloaded packets
  net/mlx5: Fix wrong limitation of metadata match on ecpf
  net/mlx5: Fix possible deadlock on rule deletion
  udp_tunnel: Fix end of loop test in udp_tunnel_nic_unregister()
  surface: surface3_power: Fix battery readings on batteries without a serial number
  net/smc: Use a mutex for locking "struct smc_pnettable"
  netfilter: nf_tables: fix memory leak during stateful obj update
  nfp: flower: Fix a potential leak in nfp_tunnel_add_shared_mac()
  net: Force inlining of checksum functions in net/checksum.h
  net: ll_temac: check the return value of devm_kmalloc()
  net/sched: act_ct: Fix flow table lookup after ct clear or switching zones
  net/mlx5e: Fix wrong return value on ioctl EEPROM query failure
  drm/edid: Always set RGB444
  openvswitch: Fix setting ipv6 fields causing hw csum failure
  gso: do not skip outer ip header in case of ipip and net_failover
  tipc: Fix end of loop tests for list_for_each_entry()
  net: __pskb_pull_tail() & pskb_carve_frag_list() drop_monitor friends
  io_uring: add a schedule point in io_add_buffers()
  bpf: Add schedule points in batch ops
  selftests: bpf: Check bpf_msg_push_data return value
  bpf: Do not try bpf_msg_push_data with len 0
  hwmon: Handle failure to register sensor with thermal zone correctly
  bnxt_en: Fix active FEC reporting to ethtool
  bnx2x: fix driver load from initrd
  perf data: Fix double free in perf_session__delete()
  ping: remove pr_err from ping_lookup
  optee: use driver internal tee_context for some rpc
  tee: export teedev_open() and teedev_close_context()
  x86/fpu: Correct pkru/xstate inconsistency
  netfilter: nf_tables_offload: incorrect flow offload action array size
  CDC-NCM: avoid overflow in sanity checking
  USB: zaurus: support another broken Zaurus
  sr9700: sanity check for packet length
  drm/i915: Correctly populate use_sagv_wm for all pipes
  drm/amdgpu: disable MMHUB PG for Picasso
  KVM: x86/mmu: make apf token non-zero to fix bug
  parisc/unaligned: Fix ldw() and stw() unalignment handlers
  parisc/unaligned: Fix fldd and fstd unaligned handlers on 32-bit kernel
  vhost/vsock: don't check owner in vhost_vsock_stop() while releasing
  clk: jz4725b: fix mmc0 clock gating
  btrfs: tree-checker: check item_size for dev_item
  btrfs: tree-checker: check item_size for inode_item
  cgroup/cpuset: Fix a race between cpuset_attach() and cpu hotplug
  Revert "ipv6: per-netns exclusive flowlabel checks"
  Linux 5.10.102
  lockdep: Correct lock_classes index mapping
  i2c: brcmstb: fix support for DSL and CM variants
  copy_process(): Move fd_install() out of sighand->siglock critical section
  i2c: qcom-cci: don't put a device tree node before i2c_add_adapter()
  i2c: qcom-cci: don't delete an unregistered adapter
  dmaengine: sh: rcar-dmac: Check for error num after dma_set_max_seg_size
  dmaengine: stm32-dmamux: Fix PM disable depth imbalance in stm32_dmamux_probe
  dmaengine: sh: rcar-dmac: Check for error num after setting mask
  net: sched: limit TC_ACT_REPEAT loops
  EDAC: Fix calculation of returned address and next offset in edac_align_ptr()
  scsi: lpfc: Fix pt2pt NVMe PRLI reject LOGO loop
  kconfig: fix failing to generate auto.conf
  net: macb: Align the dma and coherent dma masks
  net: usb: qmi_wwan: Add support for Dell DW5829e
  tracing: Fix tp_printk option related with tp_printk_stop_on_boot
  drm/rockchip: dw_hdmi: Do not leave clock enabled in error case
  xprtrdma: fix pointer derefs in error cases of rpcrdma_ep_create
  soc: aspeed: lpc-ctrl: Block error printing on probe defer cases
  ata: libata-core: Disable TRIM on M88V29
  lib/iov_iter: initialize "flags" in new pipe_buffer
  kconfig: let 'shell' return enough output for deep path names
  selftests: fixup build warnings in pidfd / clone3 tests
  pidfd: fix test failure due to stack overflow on some arches
  arm64: dts: meson-g12: drop BL32 region from SEI510/SEI610
  arm64: dts: meson-g12: add ATF BL32 reserved-memory region
  arm64: dts: meson-gx: add ATF BL32 reserved-memory region
  netfilter: conntrack: don't refresh sctp entries in closed state
  irqchip/sifive-plic: Add missing thead,c900-plic match string
  phy: usb: Leave some clocks running during suspend
  ARM: OMAP2+: adjust the location of put_device() call in omapdss_init_of
  ARM: OMAP2+: hwmod: Add of_node_put() before break
  NFS: Don't set NFS_INO_INVALID_XATTR if there is no xattr cache
  KVM: x86/pmu: Use AMD64_RAW_EVENT_MASK for PERF_TYPE_RAW
  KVM: x86/pmu: Don't truncate the PerfEvtSeln MSR when creating a perf event
  KVM: x86/pmu: Refactoring find_arch_event() to pmc_perf_hw_id()
  Drivers: hv: vmbus: Fix memory leak in vmbus_add_channel_kobj
  mtd: rawnand: brcmnand: Fixed incorrect sub-page ECC status
  mtd: rawnand: qcom: Fix clock sequencing in qcom_nandc_probe()
  tty: n_tty: do not look ahead for EOL character past the end of the buffer
  NFS: Do not report writeback errors in nfs_getattr()
  NFS: LOOKUP_DIRECTORY is also ok with symlinks
  block/wbt: fix negative inflight counter when remove scsi device
  ASoC: tas2770: Insert post reset delay
  KVM: SVM: Never reject emulation due to SMAP errata for !SEV guests
  mtd: rawnand: gpmi: don't leak PM reference in error path
  powerpc/lib/sstep: fix 'ptesync' build error
  ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_range()
  ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw()
  ALSA: hda: Fix missing codec probe on Shenker Dock 15
  ALSA: hda: Fix regression on forced probe mask option
  ALSA: hda/realtek: Fix deadlock by COEF mutex
  ALSA: hda/realtek: Add quirk for Legion Y9000X 2019
  selftests/exec: Add non-regular to TEST_GEN_PROGS
  perf bpf: Defer freeing string after possible strlen() on it
  dpaa2-eth: Initialize mutex used in one step timestamping path
  libsubcmd: Fix use-after-free for realloc(..., 0)
  bonding: fix data-races around agg_select_timer
  net_sched: add __rcu annotation to netdev->qdisc
  drop_monitor: fix data-race in dropmon_net_event / trace_napi_poll_hit
  bonding: force carrier update when releasing slave
  ping: fix the dif and sdif check in ping_lookup
  net: ieee802154: ca8210: Fix lifs/sifs periods
  net: dsa: lantiq_gswip: fix use after free in gswip_remove()
  net: dsa: lan9303: fix reset on probe
  ipv6: per-netns exclusive flowlabel checks
  netfilter: nft_synproxy: unregister hooks on init error path
  selftests: netfilter: fix exit value for nft_concat_range
  iwlwifi: pcie: gen2: fix locking when "HW not ready"
  iwlwifi: pcie: fix locking when "HW not ready"
  drm/i915/gvt: Make DRM_I915_GVT depend on X86
  vsock: remove vsock from connected table when connect is interrupted by a signal
  drm/i915/opregion: check port number bounds for SWSCI display power state
  drm/radeon: Fix backlight control on iMac 12,1
  iwlwifi: fix use-after-free
  kbuild: lto: Merge module sections if and only if CONFIG_LTO_CLANG is enabled
  kbuild: lto: merge module sections
  random: wake up /dev/random writers after zap
  gcc-plugins/stackleak: Use noinstr in favor of notrace
  Revert "module, async: async_synchronize_full() on module init iff async is used"
  x86/Xen: streamline (and fix) PV CPU enumeration
  drm/amdgpu: fix logic inversion in check
  nvme-rdma: fix possible use-after-free in transport error_recovery work
  nvme-tcp: fix possible use-after-free in transport error_recovery work
  nvme: fix a possible use-after-free in controller reset during load
  scsi: pm8001: Fix use-after-free for aborted SSP/STP sas_task
  scsi: pm8001: Fix use-after-free for aborted TMF sas_task
  quota: make dquot_quota_sync return errors from ->sync_fs
  vfs: make freeze_super abort when sync_filesystem returns error
  ax25: improve the incomplete fix to avoid UAF and NPD bugs
  selftests: skip mincore.check_file_mmap when fs lacks needed support
  selftests: openat2: Skip testcases that fail with EOPNOTSUPP
  selftests: openat2: Add missing dependency in Makefile
  selftests: openat2: Print also errno in failure messages
  selftests/zram: Adapt the situation that /dev/zram0 is being used
  selftests/zram01.sh: Fix compression ratio calculation
  selftests/zram: Skip max_comp_streams interface on newer kernel
  net: ieee802154: at86rf230: Stop leaking skb's
  kselftest: signal all child processes
  selftests: rtc: Increase test timeout so that all tests run
  platform/x86: ISST: Fix possible circular locking dependency detected
  platform/x86: touchscreen_dmi: Add info for the RWC NANOTE P8 AY07J 2-in-1
  btrfs: send: in case of IO error log it
  parisc: Add ioread64_lo_hi() and iowrite64_lo_hi()
  PCI: hv: Fix NUMA node assignment when kernel boots with custom NUMA topology
  mm: don't try to NUMA-migrate COW pages that have other uses
  mmc: block: fix read single on recovery logic
  parisc: Fix sglist access in ccio-dma.c
  parisc: Fix data TLB miss in sba_unmap_sg
  parisc: Drop __init from map_pages declaration
  serial: parisc: GSC: fix build when IOSAPIC is not set
  Revert "svm: Add warning message for AVIC IPI invalid target"
  HID:Add support for UGTABLET WP5540
  scsi: lpfc: Fix mailbox command failure during driver initialization
  can: isotp: add SF_BROADCAST support for functional addressing
  can: isotp: prevent race between isotp_bind() and isotp_setsockopt()
  fs/proc: task_mmu.c: don't read mapcount for migration entry
  fget: clarify and improve __fget_files() implementation
  rcu: Do not report strict GPs for outgoing CPUs
  mm: memcg: synchronize objcg lists with a dedicated spinlock
  drm/nouveau/pmu/gm200-: use alternate falcon reset sequence

 Conflicts:
	Documentation/devicetree/bindings
	Documentation/devicetree/bindings/mtd/nand-controller.yaml
	Documentation/devicetree/bindings/spi/spi-mxic.txt
	drivers/clk/qcom/clk-rcg2.c
	drivers/irqchip/qcom-pdc.c

Change-Id: Ib0f6438a4f0ce0db27881a4d07a50a0835d6f270
Signed-off-by: Sivasri Kumar, Vanka <quic_svanka@quicinc.com>
This commit is contained in:
Sivasri Kumar, Vanka 2022-07-07 13:11:36 +05:30
commit 9d60eef1f4
1058 changed files with 10441 additions and 5729 deletions

View File

@ -787,6 +787,7 @@ bit 1 print system memory info
bit 2 print timer info
bit 3 print locks info if ``CONFIG_LOCKDEP`` is on
bit 4 print ftrace buffer
bit 5 print all printk messages in buffer
===== ============================================
So for example to print tasks and memory info on panic, user can::

View File

@ -130,3 +130,11 @@ accesses to DMA buffers in both privileged "supervisor" and unprivileged
subsystem that the buffer is fully accessible at the elevated privilege
level (and ideally inaccessible or at least read-only at the
lesser-privileged levels).
DMA_ATTR_OVERWRITE
------------------
This is a hint to the DMA-mapping subsystem that the device is expected to
overwrite the entire mapped size, thus the caller does not require any of the
previous buffer contents to be preserved. This allows bounce-buffering
implementations to optimise DMA_FROM_DEVICE transfers.

View File

@ -168,7 +168,16 @@ Trees
- The finalized and tagged releases of all stable kernels can be found
in separate branches per version at:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
- The release candidate of all stable kernel versions can be found at:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/
.. warning::
The -stable-rc tree is a snapshot in time of the stable-queue tree and
will change frequently, hence will be rebased often. It should only be
used for testing purposes (e.g. to be consumed by CI systems).
Review committee

View File

@ -261,6 +261,10 @@ alc-sense-combo
huawei-mbx-stereo
Enable initialization verbs for Huawei MBX stereo speakers;
might be risky, try this at your own risk
alc298-samsung-headphone
Samsung laptops with ALC298
alc256-samsung-headphone
Samsung laptops with ALC256
ALC66x/67x/892
==============

View File

@ -198,6 +198,15 @@ The glob (~) accepts a wild card character (\*,?) and character classes
prev_comm ~ "*sh*"
prev_comm ~ "ba*sh"
If the field is a pointer that points into user space (for example
"filename" from sys_enter_openat), then you have to append ".ustring" to the
field name::
filename.ustring ~ "password"
As the kernel will have to know how to retrieve the memory that the pointer
is at from user space.
5.2 Setting filters
-------------------
@ -230,6 +239,16 @@ Currently the caret ('^') for an error always appears at the beginning of
the filter string; the error message should still be useful though
even without more accurate position info.
5.2.1 Filter limitations
------------------------
If a filter is placed on a string pointer ``(char *)`` that does not point
to a string on the ring buffer, but instead points to kernel or user space
memory, then, for safety reasons, at most 1024 bytes of the content is
copied onto a temporary buffer to do the compare. If the copy of the memory
faults (the pointer points to memory that should not be accessed), then the
string compare will be treated as not matching.
5.3 Clearing filters
--------------------

View File

@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 10
SUBLEVEL = 101
SUBLEVEL = 110
EXTRAVERSION =
NAME = Dare mighty things

View File

@ -1 +1 @@
1292f517889e560101515ba02c26a904e4ee6964
b92ac325368e1afa927b500b36b4c5cd2a247167

File diff suppressed because it is too large Load Diff

View File

@ -3103,6 +3103,7 @@
trace_raw_output_prep
trace_seq_printf
trace_seq_putc
tracing_is_on
tracing_off
truncate_inode_pages_range
truncate_pagecache_range

View File

@ -2034,6 +2034,7 @@
resched_curr
reset_control_assert
reset_control_deassert
__reset_control_get
reset_control_put
reset_control_reset
resume_cpus

View File

@ -43,7 +43,7 @@ SYSCALL_DEFINE0(arc_gettls)
return task_thread_info(current)->thr_ptr;
}
SYSCALL_DEFINE3(arc_usr_cmpxchg, int *, uaddr, int, expected, int, new)
SYSCALL_DEFINE3(arc_usr_cmpxchg, int __user *, uaddr, int, expected, int, new)
{
struct pt_regs *regs = current_pt_regs();
u32 uval;

View File

@ -118,7 +118,7 @@ pinctrl_fwspid_default: fwspid_default {
};
pinctrl_fwqspid_default: fwqspid_default {
function = "FWQSPID";
function = "FWSPID";
groups = "FWQSPID";
};

View File

@ -290,6 +290,7 @@ pixelvalve4: pixelvalve@7e216000 {
hvs: hvs@7e400000 {
compatible = "brcm,bcm2711-hvs";
reg = <0x7e400000 0x8000>;
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
};
@ -432,12 +433,26 @@ cpus: cpus {
#size-cells = <0>;
enable-method = "brcm,bcm2836-smp"; // for ARM 32-bit
/* Source for d/i-cache-line-size and d/i-cache-sets
* https://developer.arm.com/documentation/100095/0003
* /Level-1-Memory-System/About-the-L1-memory-system?lang=en
* Source for d/i-cache-size
* https://www.raspberrypi.com/documentation/computers
* /processors.html#bcm2711
*/
cpu0: cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a72";
reg = <0>;
enable-method = "spin-table";
cpu-release-addr = <0x0 0x000000d8>;
d-cache-size = <0x8000>;
d-cache-line-size = <64>;
d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
i-cache-size = <0xc000>;
i-cache-line-size = <64>;
i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set
next-level-cache = <&l2>;
};
cpu1: cpu@1 {
@ -446,6 +461,13 @@ cpu1: cpu@1 {
reg = <1>;
enable-method = "spin-table";
cpu-release-addr = <0x0 0x000000e0>;
d-cache-size = <0x8000>;
d-cache-line-size = <64>;
d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
i-cache-size = <0xc000>;
i-cache-line-size = <64>;
i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set
next-level-cache = <&l2>;
};
cpu2: cpu@2 {
@ -454,6 +476,13 @@ cpu2: cpu@2 {
reg = <2>;
enable-method = "spin-table";
cpu-release-addr = <0x0 0x000000e8>;
d-cache-size = <0x8000>;
d-cache-line-size = <64>;
d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
i-cache-size = <0xc000>;
i-cache-line-size = <64>;
i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set
next-level-cache = <&l2>;
};
cpu3: cpu@3 {
@ -462,6 +491,28 @@ cpu3: cpu@3 {
reg = <3>;
enable-method = "spin-table";
cpu-release-addr = <0x0 0x000000f0>;
d-cache-size = <0x8000>;
d-cache-line-size = <64>;
d-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
i-cache-size = <0xc000>;
i-cache-line-size = <64>;
i-cache-sets = <256>; // 48KiB(size)/64(line-size)=768ways/3-way set
next-level-cache = <&l2>;
};
/* Source for d/i-cache-line-size and d/i-cache-sets
* https://developer.arm.com/documentation/100095/0003
* /Level-2-Memory-System/About-the-L2-memory-system?lang=en
* Source for d/i-cache-size
* https://www.raspberrypi.com/documentation/computers
* /processors.html#bcm2711
*/
l2: l2-cache0 {
compatible = "cache";
cache-size = <0x100000>;
cache-line-size = <64>;
cache-sets = <1024>; // 1MiB(size)/64(line-size)=16384ways/16-way set
cache-level = <2>;
};
};

View File

@ -40,12 +40,26 @@ cpus: cpus {
#size-cells = <0>;
enable-method = "brcm,bcm2836-smp"; // for ARM 32-bit
/* Source for d/i-cache-line-size and d/i-cache-sets
* https://developer.arm.com/documentation/ddi0500/e/level-1-memory-system
* /about-the-l1-memory-system?lang=en
*
* Source for d/i-cache-size
* https://magpi.raspberrypi.com/articles/raspberry-pi-3-specs-benchmarks
*/
cpu0: cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0>;
enable-method = "spin-table";
cpu-release-addr = <0x0 0x000000d8>;
d-cache-size = <0x8000>;
d-cache-line-size = <64>;
d-cache-sets = <128>; // 32KiB(size)/64(line-size)=512ways/4-way set
i-cache-size = <0x8000>;
i-cache-line-size = <64>;
i-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
next-level-cache = <&l2>;
};
cpu1: cpu@1 {
@ -54,6 +68,13 @@ cpu1: cpu@1 {
reg = <1>;
enable-method = "spin-table";
cpu-release-addr = <0x0 0x000000e0>;
d-cache-size = <0x8000>;
d-cache-line-size = <64>;
d-cache-sets = <128>; // 32KiB(size)/64(line-size)=512ways/4-way set
i-cache-size = <0x8000>;
i-cache-line-size = <64>;
i-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
next-level-cache = <&l2>;
};
cpu2: cpu@2 {
@ -62,6 +83,13 @@ cpu2: cpu@2 {
reg = <2>;
enable-method = "spin-table";
cpu-release-addr = <0x0 0x000000e8>;
d-cache-size = <0x8000>;
d-cache-line-size = <64>;
d-cache-sets = <128>; // 32KiB(size)/64(line-size)=512ways/4-way set
i-cache-size = <0x8000>;
i-cache-line-size = <64>;
i-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
next-level-cache = <&l2>;
};
cpu3: cpu@3 {
@ -70,6 +98,27 @@ cpu3: cpu@3 {
reg = <3>;
enable-method = "spin-table";
cpu-release-addr = <0x0 0x000000f0>;
d-cache-size = <0x8000>;
d-cache-line-size = <64>;
d-cache-sets = <128>; // 32KiB(size)/64(line-size)=512ways/4-way set
i-cache-size = <0x8000>;
i-cache-line-size = <64>;
i-cache-sets = <256>; // 32KiB(size)/64(line-size)=512ways/2-way set
next-level-cache = <&l2>;
};
/* Source for cache-line-size + cache-sets
* https://developer.arm.com/documentation/ddi0500
* /e/level-2-memory-system/about-the-l2-memory-system?lang=en
* Source for cache-size
* https://datasheets.raspberrypi.com/cm/cm1-and-cm3-datasheet.pdf
*/
l2: l2-cache0 {
compatible = "cache";
cache-size = <0x80000>;
cache-line-size = <64>;
cache-sets = <512>; // 512KiB(size)/64(line-size)=8192ways/16-way set
cache-level = <2>;
};
};
};

View File

@ -3448,8 +3448,7 @@ timer14: timer@0 {
ti,timer-pwm;
};
};
target-module@2c000 { /* 0x4882c000, ap 17 02.0 */
timer15_target: target-module@2c000 { /* 0x4882c000, ap 17 02.0 */
compatible = "ti,sysc-omap4-timer", "ti,sysc";
reg = <0x2c000 0x4>,
<0x2c010 0x4>;
@ -3477,7 +3476,7 @@ timer15: timer@0 {
};
};
target-module@2e000 { /* 0x4882e000, ap 19 14.0 */
timer16_target: target-module@2e000 { /* 0x4882e000, ap 19 14.0 */
compatible = "ti,sysc-omap4-timer", "ti,sysc";
reg = <0x2e000 0x4>,
<0x2e010 0x4>;

View File

@ -1093,20 +1093,20 @@ timer@0 {
};
/* Local timers, see ARM architected timer wrap erratum i940 */
&timer3_target {
&timer15_target {
ti,no-reset-on-init;
ti,no-idle;
timer@0 {
assigned-clocks = <&l4per_clkctrl DRA7_L4PER_TIMER3_CLKCTRL 24>;
assigned-clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER15_CLKCTRL 24>;
assigned-clock-parents = <&timer_sys_clk_div>;
};
};
&timer4_target {
&timer16_target {
ti,no-reset-on-init;
ti,no-idle;
timer@0 {
assigned-clocks = <&l4per_clkctrl DRA7_L4PER_TIMER4_CLKCTRL 24>;
assigned-clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER16_CLKCTRL 24>;
assigned-clock-parents = <&timer_sys_clk_div>;
};
};

View File

@ -260,7 +260,7 @@ i2c3_hs_bus: i2c3-hs-bus {
};
uart3_data: uart3-data {
samsung,pins = "gpa1-4", "gpa1-4";
samsung,pins = "gpa1-4", "gpa1-5";
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;

View File

@ -118,6 +118,9 @@ &hdmi {
status = "okay";
ddc = <&i2c_2>;
hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
vdd-supply = <&ldo8_reg>;
vdd_osc-supply = <&ldo10_reg>;
vdd_pll-supply = <&ldo8_reg>;
};
&i2c_0 {

View File

@ -124,6 +124,9 @@ &hdmi {
hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_irq>;
vdd-supply = <&ldo6_reg>;
vdd_osc-supply = <&ldo7_reg>;
vdd_pll-supply = <&ldo6_reg>;
};
&hsi2c_4 {

View File

@ -53,6 +53,31 @@ eth {
};
};
lvds-decoder {
compatible = "ti,ds90cf364a", "lvds-decoder";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
lvds_decoder_in: endpoint {
remote-endpoint = <&lvds0_out>;
};
};
port@1 {
reg = <1>;
lvds_decoder_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
};
panel {
compatible = "edt,etm0700g0dh6";
pinctrl-0 = <&pinctrl_display_gpio>;
@ -61,7 +86,7 @@ panel {
port {
panel_in: endpoint {
remote-endpoint = <&lvds0_out>;
remote-endpoint = <&lvds_decoder_out>;
};
};
};
@ -450,7 +475,7 @@ port@2 {
reg = <2>;
lvds0_out: endpoint {
remote-endpoint = <&panel_in>;
remote-endpoint = <&lvds_decoder_in>;
};
};
};

View File

@ -40,7 +40,7 @@ simple-audio-card,cpu {
dailink_master: simple-audio-card,codec {
sound-dai = <&codec>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
};
};
};
@ -293,7 +293,7 @@ codec: sgtl5000@a {
compatible = "fsl,sgtl5000";
#sound-dai-cells = <0>;
reg = <0x0a>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai1_mclk>;
VDDA-supply = <&reg_module_3v3_avdd>;

View File

@ -250,7 +250,7 @@ &i2c2 {
tlv320aic32x4: audio-codec@18 {
compatible = "ti,tlv320aic32x4";
reg = <0x18>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
clock-names = "mclk";
ldoin-supply = <&reg_audio_3v3>;
iov-supply = <&reg_audio_3v3>;

View File

@ -288,7 +288,7 @@ &i2c4 {
codec: wm8960@1a {
compatible = "wlf,wm8960";
reg = <0x1a>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
clock-names = "mclk";
wlf,shared-lrclk;
};

View File

@ -31,7 +31,7 @@ simple-audio-card,cpu {
dailink_master: simple-audio-card,codec {
sound-dai = <&sgtl5000>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
};
};
};
@ -41,7 +41,7 @@ sgtl5000: codec@a {
#sound-dai-cells = <0>;
reg = <0x0a>;
compatible = "fsl,sgtl5000";
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
VDDA-supply = <&reg_2p5v>;
VDDIO-supply = <&reg_vref_1v8>;
};

View File

@ -31,7 +31,7 @@ simple-audio-card,cpu {
dailink_master: simple-audio-card,codec {
sound-dai = <&sgtl5000>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
};
};
};
@ -41,7 +41,7 @@ sgtl5000: codec@a {
#sound-dai-cells = <0>;
reg = <0x0a>;
compatible = "fsl,sgtl5000";
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
VDDA-supply = <&reg_2p5v>;
VDDIO-supply = <&reg_vref_1v8>;
};

View File

@ -378,14 +378,14 @@ &i2c4 {
codec: wm8960@1a {
compatible = "wlf,wm8960";
reg = <0x1a>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
clock-names = "mclk";
wlf,shared-lrclk;
wlf,hp-cfg = <2 2 3>;
wlf,gpio-cfg = <1 3>;
assigned-clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_SRC>,
<&clks IMX7D_PLL_AUDIO_POST_DIV>,
<&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
<&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
assigned-clock-parents = <&clks IMX7D_PLL_AUDIO_POST_DIV>;
assigned-clock-rates = <0>, <884736000>, <12288000>;
};

View File

@ -75,7 +75,7 @@ simple-audio-card,cpu {
dailink_master: simple-audio-card,codec {
sound-dai = <&codec>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
};
};
};
@ -232,7 +232,7 @@ codec: sgtl5000@a {
#sound-dai-cells = <0>;
reg = <0x0a>;
compatible = "fsl,sgtl5000";
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_CLK>;
clocks = <&clks IMX7D_AUDIO_MCLK_ROOT_DIV>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai1_mclk>;
VDDA-supply = <&vgen4_reg>;

View File

@ -158,6 +158,24 @@ &mmc3 {
status = "disabled";
};
/* Unusable as clockevent because if unreliable oscillator, allow to idle */
&timer1_target {
/delete-property/ti,no-reset-on-init;
/delete-property/ti,no-idle;
timer@0 {
/delete-property/ti,timer-alwon;
};
};
/* Preferred timer for clockevent */
&timer12_target {
ti,no-reset-on-init;
ti,no-idle;
timer@0 {
/* Always clocked by secure_32k_fck */
};
};
&twl_gpio {
ti,use-leds;
/*

View File

@ -14,36 +14,3 @@ aliases {
display2 = &tv0;
};
};
/* Unusable as clocksource because of unreliable oscillator */
&counter32k {
status = "disabled";
};
/* Unusable as clockevent because if unreliable oscillator, allow to idle */
&timer1_target {
/delete-property/ti,no-reset-on-init;
/delete-property/ti,no-idle;
timer@0 {
/delete-property/ti,timer-alwon;
};
};
/* Preferred always-on timer for clocksource */
&timer12_target {
ti,no-reset-on-init;
ti,no-idle;
timer@0 {
/* Always clocked by secure_32k_fck */
};
};
/* Preferred timer for clockevent */
&timer2_target {
ti,no-reset-on-init;
ti,no-idle;
timer@0 {
assigned-clocks = <&gpt2_fck>;
assigned-clock-parents = <&sys_ck>;
};
};

View File

@ -142,7 +142,8 @@ pmu {
clocks {
sleep_clk: sleep_clk {
compatible = "fixed-clock";
clock-frequency = <32768>;
clock-frequency = <32000>;
clock-output-names = "gcc_sleep_clk_src";
#clock-cells = <0>;
};

View File

@ -146,7 +146,9 @@ rpm@108000 {
reg = <0x108000 0x1000>;
qcom,ipc = <&l2cc 0x8 2>;
interrupts = <0 19 0>, <0 21 0>, <0 22 0>;
interrupts = <GIC_SPI 19 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
<GIC_SPI 22 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "ack", "err", "wakeup";
regulators {
@ -192,7 +194,7 @@ gsbi5_serial: serial@16440000 {
compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
reg = <0x16440000 0x1000>,
<0x16400000 0x1000>;
interrupts = <0 154 0x0>;
interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
clock-names = "core", "iface";
status = "disabled";
@ -318,7 +320,7 @@ spi@16080000 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0x16080000 0x1000>;
interrupts = <0 147 0>;
interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
spi-max-frequency = <24000000>;
cs-gpios = <&msmgpio 8 0>;

View File

@ -640,8 +640,8 @@ hdmi: hdmi@200a0000 {
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
assigned-clocks = <&cru SCLK_HDMI_PHY>;
assigned-clock-parents = <&hdmi_phy>;
clocks = <&cru SCLK_HDMI_HDCP>, <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_CEC>;
clock-names = "isfr", "iahb", "cec";
clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>, <&cru SCLK_HDMI_CEC>;
clock-names = "iahb", "isfr", "cec";
pinctrl-names = "default";
pinctrl-0 = <&hdmii2c_xfer &hdmi_hpd &hdmi_cec>;
resets = <&cru SRST_HDMI_P>;

View File

@ -990,7 +990,7 @@ i2s: i2s@ff890000 {
status = "disabled";
};
crypto: cypto-controller@ff8a0000 {
crypto: crypto@ff8a0000 {
compatible = "rockchip,rk3288-crypto";
reg = <0x0 0xff8a0000 0x0 0x4000>;
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;

View File

@ -413,7 +413,7 @@ hsmc: hsmc@f8014000 {
pmecc: ecc-engine@f8014070 {
compatible = "atmel,sama5d2-pmecc";
reg = <0xf8014070 0x490>,
<0xf8014500 0x100>;
<0xf8014500 0x200>;
};
};

View File

@ -136,9 +136,9 @@ serial@b4100000 {
reg = <0xb4100000 0x1000>;
interrupts = <0 105 0x4>;
status = "disabled";
dmas = <&dwdma0 12 0 1>,
<&dwdma0 13 1 0>;
dma-names = "tx", "rx";
dmas = <&dwdma0 13 0 1>,
<&dwdma0 12 1 0>;
dma-names = "rx", "tx";
};
thermal@e07008c4 {

View File

@ -284,9 +284,9 @@ spi0: spi@e0100000 {
#size-cells = <0>;
interrupts = <0 31 0x4>;
status = "disabled";
dmas = <&dwdma0 4 0 0>,
<&dwdma0 5 0 0>;
dma-names = "tx", "rx";
dmas = <&dwdma0 5 0 0>,
<&dwdma0 4 0 0>;
dma-names = "rx", "tx";
};
rtc@e0580000 {

View File

@ -524,6 +524,17 @@ spi0: spi@1c68000 {
#size-cells = <0>;
};
gic: interrupt-controller@1c81000 {
compatible = "arm,gic-400";
reg = <0x01c81000 0x1000>,
<0x01c82000 0x2000>,
<0x01c84000 0x2000>,
<0x01c86000 0x2000>;
interrupt-controller;
#interrupt-cells = <3>;
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
};
csi1: camera@1cb4000 {
compatible = "allwinner,sun8i-v3s-csi";
reg = <0x01cb4000 0x3000>;
@ -535,16 +546,5 @@ csi1: camera@1cb4000 {
resets = <&ccu RST_BUS_CSI>;
status = "disabled";
};
gic: interrupt-controller@1c81000 {
compatible = "arm,gic-400";
reg = <0x01c81000 0x1000>,
<0x01c82000 0x2000>,
<0x01c84000 0x2000>,
<0x01c86000 0x2000>;
interrupt-controller;
#interrupt-cells = <3>;
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
};
};
};

View File

@ -13,12 +13,15 @@ / {
"google,nyan-big-rev1", "google,nyan-big-rev0",
"google,nyan-big", "google,nyan", "nvidia,tegra124";
panel: panel {
compatible = "auo,b133xtn01";
power-supply = <&vdd_3v3_panel>;
backlight = <&backlight>;
ddc-i2c-bus = <&dpaux>;
host1x@50000000 {
dpaux@545c0000 {
aux-bus {
panel: panel {
compatible = "auo,b133xtn01";
backlight = <&backlight>;
};
};
};
};
mmc@700b0400 { /* SD Card on this bus */

View File

@ -15,12 +15,15 @@ / {
"google,nyan-blaze-rev0", "google,nyan-blaze",
"google,nyan", "nvidia,tegra124";
panel: panel {
compatible = "samsung,ltn140at29-301";
power-supply = <&vdd_3v3_panel>;
backlight = <&backlight>;
ddc-i2c-bus = <&dpaux>;
host1x@50000000 {
dpaux@545c0000 {
aux-bus {
panel: panel {
compatible = "samsung,ltn140at29-301";
backlight = <&backlight>;
};
};
};
};
sound {

View File

@ -48,6 +48,13 @@ sor@54540000 {
dpaux@545c0000 {
vdd-supply = <&vdd_3v3_panel>;
status = "okay";
aux-bus {
panel: panel {
compatible = "lg,lp129qe";
backlight = <&backlight>;
};
};
};
};
@ -1079,13 +1086,6 @@ power {
};
};
panel: panel {
compatible = "lg,lp129qe";
power-supply = <&vdd_3v3_panel>;
backlight = <&backlight>;
ddc-i2c-bus = <&dpaux>;
};
vdd_mux: regulator@0 {
compatible = "regulator-fixed";
regulator-name = "+VDD_MUX";

View File

@ -183,8 +183,8 @@ uca {
};
conf_ata {
nvidia,pins = "ata", "atb", "atc", "atd", "ate",
"cdev1", "cdev2", "dap1", "dtb", "gma",
"gmb", "gmc", "gmd", "gme", "gpu7",
"cdev1", "cdev2", "dap1", "dtb", "dtf",
"gma", "gmb", "gmc", "gmd", "gme", "gpu7",
"gpv", "i2cp", "irrx", "irtx", "pta",
"rm", "slxa", "slxk", "spia", "spib",
"uac";
@ -203,7 +203,7 @@ conf_csus {
};
conf_crtp {
nvidia,pins = "crtp", "dap2", "dap3", "dap4",
"dtc", "dte", "dtf", "gpu", "sdio1",
"dtc", "dte", "gpu", "sdio1",
"slxc", "slxd", "spdi", "spdo", "spig",
"uda";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;

View File

@ -187,6 +187,7 @@ CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_PLATFORM_SUPPORT=y
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VIDEO_ASPEED=m
CONFIG_VIDEO_ATMEL_ISI=m

View File

@ -102,6 +102,8 @@ config CRYPTO_AES_ARM_BS
depends on KERNEL_MODE_NEON
select CRYPTO_SKCIPHER
select CRYPTO_LIB_AES
select CRYPTO_AES
select CRYPTO_CBC
select CRYPTO_SIMD
help
Use a faster and more secure NEON based implementation of AES in CBC,

View File

@ -22,10 +22,7 @@
* mcount can be thought of as a function called in the middle of a subroutine
* call. As such, it needs to be transparent for both the caller and the
* callee: the original lr needs to be restored when leaving mcount, and no
* registers should be clobbered. (In the __gnu_mcount_nc implementation, we
* clobber the ip register. This is OK because the ARM calling convention
* allows it to be clobbered in subroutines and doesn't use it to hold
* parameters.)
* registers should be clobbered.
*
* When using dynamic ftrace, we patch out the mcount call by a "pop {lr}"
* instead of the __gnu_mcount_nc call (see arch/arm/kernel/ftrace.c).
@ -70,26 +67,25 @@
.macro __ftrace_regs_caller
sub sp, sp, #8 @ space for PC and CPSR OLD_R0,
str lr, [sp, #-8]! @ store LR as PC and make space for CPSR/OLD_R0,
@ OLD_R0 will overwrite previous LR
add ip, sp, #12 @ move in IP the value of SP as it was
@ before the push {lr} of the mcount mechanism
str lr, [sp, #0] @ store LR instead of PC
ldr lr, [sp, #8] @ get previous LR
ldr lr, [sp, #8] @ get previous LR
str r0, [sp, #8] @ write r0 as OLD_R0 over previous LR
stmdb sp!, {ip, lr}
stmdb sp!, {r0-r11, lr}
str lr, [sp, #-4]! @ store previous LR as LR
add lr, sp, #16 @ move in LR the value of SP as it was
@ before the push {lr} of the mcount mechanism
push {r0-r11, ip, lr}
@ stack content at this point:
@ 0 4 48 52 56 60 64 68 72
@ R0 | R1 | ... | LR | SP + 4 | previous LR | LR | PSR | OLD_R0 |
@ R0 | R1 | ... | IP | SP + 4 | previous LR | LR | PSR | OLD_R0 |
mov r3, sp @ struct pt_regs*
mov r3, sp @ struct pt_regs*
ldr r2, =function_trace_op
ldr r2, [r2] @ pointer to the current
@ -112,11 +108,9 @@ ftrace_graph_regs_call:
#endif
@ pop saved regs
ldmia sp!, {r0-r12} @ restore r0 through r12
ldr ip, [sp, #8] @ restore PC
ldr lr, [sp, #4] @ restore LR
ldr sp, [sp, #0] @ restore SP
mov pc, ip @ return
pop {r0-r11, ip, lr} @ restore r0 through r12
ldr lr, [sp], #4 @ restore LR
ldr pc, [sp], #12
.endm
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
@ -132,11 +126,9 @@ ftrace_graph_regs_call:
bl prepare_ftrace_return
@ pop registers saved in ftrace_regs_caller
ldmia sp!, {r0-r12} @ restore r0 through r12
ldr ip, [sp, #8] @ restore PC
ldr lr, [sp, #4] @ restore LR
ldr sp, [sp, #0] @ restore SP
mov pc, ip @ return
pop {r0-r11, ip, lr} @ restore r0 through r12
ldr lr, [sp], #4 @ restore LR
ldr pc, [sp], #12
.endm
#endif
@ -202,16 +194,17 @@ ftrace_graph_call\suffix:
.endm
.macro mcount_exit
ldmia sp!, {r0-r3, ip, lr}
ret ip
ldmia sp!, {r0-r3}
ldr lr, [sp, #4]
ldr pc, [sp], #8
.endm
ENTRY(__gnu_mcount_nc)
UNWIND(.fnstart)
#ifdef CONFIG_DYNAMIC_FTRACE
mov ip, lr
ldmia sp!, {lr}
ret ip
push {lr}
ldr lr, [sp, #4]
ldr pc, [sp], #8
#else
__mcount
#endif

View File

@ -154,22 +154,38 @@ static int kgdb_compiled_brk_fn(struct pt_regs *regs, unsigned int instr)
return 0;
}
static struct undef_hook kgdb_brkpt_hook = {
static struct undef_hook kgdb_brkpt_arm_hook = {
.instr_mask = 0xffffffff,
.instr_val = KGDB_BREAKINST,
.cpsr_mask = MODE_MASK,
.cpsr_mask = PSR_T_BIT | MODE_MASK,
.cpsr_val = SVC_MODE,
.fn = kgdb_brk_fn
};
static struct undef_hook kgdb_compiled_brkpt_hook = {
static struct undef_hook kgdb_brkpt_thumb_hook = {
.instr_mask = 0xffff,
.instr_val = KGDB_BREAKINST & 0xffff,
.cpsr_mask = PSR_T_BIT | MODE_MASK,
.cpsr_val = PSR_T_BIT | SVC_MODE,
.fn = kgdb_brk_fn
};
static struct undef_hook kgdb_compiled_brkpt_arm_hook = {
.instr_mask = 0xffffffff,
.instr_val = KGDB_COMPILED_BREAK,
.cpsr_mask = MODE_MASK,
.cpsr_mask = PSR_T_BIT | MODE_MASK,
.cpsr_val = SVC_MODE,
.fn = kgdb_compiled_brk_fn
};
static struct undef_hook kgdb_compiled_brkpt_thumb_hook = {
.instr_mask = 0xffff,
.instr_val = KGDB_COMPILED_BREAK & 0xffff,
.cpsr_mask = PSR_T_BIT | MODE_MASK,
.cpsr_val = PSR_T_BIT | SVC_MODE,
.fn = kgdb_compiled_brk_fn
};
static int __kgdb_notify(struct die_args *args, unsigned long cmd)
{
struct pt_regs *regs = args->regs;
@ -210,8 +226,10 @@ int kgdb_arch_init(void)
if (ret != 0)
return ret;
register_undef_hook(&kgdb_brkpt_hook);
register_undef_hook(&kgdb_compiled_brkpt_hook);
register_undef_hook(&kgdb_brkpt_arm_hook);
register_undef_hook(&kgdb_brkpt_thumb_hook);
register_undef_hook(&kgdb_compiled_brkpt_arm_hook);
register_undef_hook(&kgdb_compiled_brkpt_thumb_hook);
return 0;
}
@ -224,8 +242,10 @@ int kgdb_arch_init(void)
*/
void kgdb_arch_exit(void)
{
unregister_undef_hook(&kgdb_brkpt_hook);
unregister_undef_hook(&kgdb_compiled_brkpt_hook);
unregister_undef_hook(&kgdb_brkpt_arm_hook);
unregister_undef_hook(&kgdb_brkpt_thumb_hook);
unregister_undef_hook(&kgdb_compiled_brkpt_arm_hook);
unregister_undef_hook(&kgdb_compiled_brkpt_thumb_hook);
unregister_die_notifier(&kgdb_notifier);
}

View File

@ -195,7 +195,7 @@ static int swp_handler(struct pt_regs *regs, unsigned int instr)
destreg, EXTRACT_REG_NUM(instr, RT2_OFFSET), data);
/* Check access in reasonable access range for both SWP and SWPB */
if (!access_ok((address & ~3), 4)) {
if (!access_ok((void __user *)(address & ~3), 4)) {
pr_debug("SWP{B} emulation: access to %p not allowed!\n",
(void *)address);
res = -EFAULT;

View File

@ -589,7 +589,7 @@ do_cache_op(unsigned long start, unsigned long end, int flags)
if (end < start || flags)
return -EINVAL;
if (!access_ok(start, end - start))
if (!access_ok((void __user *)start, end - start))
return -EFAULT;
return __do_cache_op(start, end);

View File

@ -20,7 +20,7 @@
mrc p6, 0, \irqstat, c8, c0, 0 @ Read IINTSRC
cmp \irqstat, #0
clzne \irqnr, \irqstat
rsbne \irqnr, \irqnr, #31
rsbne \irqnr, \irqnr, #32
.endm
.macro arch_ret_to_user, tmp1, tmp2

View File

@ -9,6 +9,6 @@
#ifndef __IRQS_H
#define __IRQS_H
#define NR_IRQS 32
#define NR_IRQS 33
#endif

View File

@ -32,14 +32,14 @@ static void intstr_write(u32 val)
static void
iop32x_irq_mask(struct irq_data *d)
{
iop32x_mask &= ~(1 << d->irq);
iop32x_mask &= ~(1 << (d->irq - 1));
intctl_write(iop32x_mask);
}
static void
iop32x_irq_unmask(struct irq_data *d)
{
iop32x_mask |= 1 << d->irq;
iop32x_mask |= 1 << (d->irq - 1);
intctl_write(iop32x_mask);
}
@ -65,7 +65,7 @@ void __init iop32x_init_irq(void)
machine_is_em7210())
*IOP3XX_PCIIRSR = 0x0f;
for (i = 0; i < NR_IRQS; i++) {
for (i = 1; i < NR_IRQS; i++) {
irq_set_chip_and_handler(i, &ext_chip, handle_level_irq);
irq_clear_status_flags(i, IRQ_NOREQUEST | IRQ_NOPROBE);
}

View File

@ -7,36 +7,40 @@
#ifndef __IOP32X_IRQS_H
#define __IOP32X_IRQS_H
/* Interrupts in Linux start at 1, hardware starts at 0 */
#define IOP_IRQ(x) ((x) + 1)
/*
* IOP80321 chipset interrupts
*/
#define IRQ_IOP32X_DMA0_EOT 0
#define IRQ_IOP32X_DMA0_EOC 1
#define IRQ_IOP32X_DMA1_EOT 2
#define IRQ_IOP32X_DMA1_EOC 3
#define IRQ_IOP32X_AA_EOT 6
#define IRQ_IOP32X_AA_EOC 7
#define IRQ_IOP32X_CORE_PMON 8
#define IRQ_IOP32X_TIMER0 9
#define IRQ_IOP32X_TIMER1 10
#define IRQ_IOP32X_I2C_0 11
#define IRQ_IOP32X_I2C_1 12
#define IRQ_IOP32X_MESSAGING 13
#define IRQ_IOP32X_ATU_BIST 14
#define IRQ_IOP32X_PERFMON 15
#define IRQ_IOP32X_CORE_PMU 16
#define IRQ_IOP32X_BIU_ERR 17
#define IRQ_IOP32X_ATU_ERR 18
#define IRQ_IOP32X_MCU_ERR 19
#define IRQ_IOP32X_DMA0_ERR 20
#define IRQ_IOP32X_DMA1_ERR 21
#define IRQ_IOP32X_AA_ERR 23
#define IRQ_IOP32X_MSG_ERR 24
#define IRQ_IOP32X_SSP 25
#define IRQ_IOP32X_XINT0 27
#define IRQ_IOP32X_XINT1 28
#define IRQ_IOP32X_XINT2 29
#define IRQ_IOP32X_XINT3 30
#define IRQ_IOP32X_HPI 31
#define IRQ_IOP32X_DMA0_EOT IOP_IRQ(0)
#define IRQ_IOP32X_DMA0_EOC IOP_IRQ(1)
#define IRQ_IOP32X_DMA1_EOT IOP_IRQ(2)
#define IRQ_IOP32X_DMA1_EOC IOP_IRQ(3)
#define IRQ_IOP32X_AA_EOT IOP_IRQ(6)
#define IRQ_IOP32X_AA_EOC IOP_IRQ(7)
#define IRQ_IOP32X_CORE_PMON IOP_IRQ(8)
#define IRQ_IOP32X_TIMER0 IOP_IRQ(9)
#define IRQ_IOP32X_TIMER1 IOP_IRQ(10)
#define IRQ_IOP32X_I2C_0 IOP_IRQ(11)
#define IRQ_IOP32X_I2C_1 IOP_IRQ(12)
#define IRQ_IOP32X_MESSAGING IOP_IRQ(13)
#define IRQ_IOP32X_ATU_BIST IOP_IRQ(14)
#define IRQ_IOP32X_PERFMON IOP_IRQ(15)
#define IRQ_IOP32X_CORE_PMU IOP_IRQ(16)
#define IRQ_IOP32X_BIU_ERR IOP_IRQ(17)
#define IRQ_IOP32X_ATU_ERR IOP_IRQ(18)
#define IRQ_IOP32X_MCU_ERR IOP_IRQ(19)
#define IRQ_IOP32X_DMA0_ERR IOP_IRQ(20)
#define IRQ_IOP32X_DMA1_ERR IOP_IRQ(21)
#define IRQ_IOP32X_AA_ERR IOP_IRQ(23)
#define IRQ_IOP32X_MSG_ERR IOP_IRQ(24)
#define IRQ_IOP32X_SSP IOP_IRQ(25)
#define IRQ_IOP32X_XINT0 IOP_IRQ(27)
#define IRQ_IOP32X_XINT1 IOP_IRQ(28)
#define IRQ_IOP32X_XINT2 IOP_IRQ(29)
#define IRQ_IOP32X_XINT3 IOP_IRQ(30)
#define IRQ_IOP32X_HPI IOP_IRQ(31)
#endif

View File

@ -72,6 +72,8 @@ static int sram_probe(struct platform_device *pdev)
if (!info)
return -ENOMEM;
platform_set_drvdata(pdev, info);
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (res == NULL) {
dev_err(&pdev->dev, "no memory resource defined\n");
@ -107,8 +109,6 @@ static int sram_probe(struct platform_device *pdev)
list_add(&info->node, &sram_bank_list);
mutex_unlock(&sram_lock);
platform_set_drvdata(pdev, info);
dev_info(&pdev->dev, "initialized\n");
return 0;
@ -127,17 +127,19 @@ static int sram_remove(struct platform_device *pdev)
struct sram_bank_info *info;
info = platform_get_drvdata(pdev);
if (info == NULL)
return -ENODEV;
mutex_lock(&sram_lock);
list_del(&info->node);
mutex_unlock(&sram_lock);
if (info->sram_size) {
mutex_lock(&sram_lock);
list_del(&info->node);
mutex_unlock(&sram_lock);
gen_pool_destroy(info->gpool);
iounmap(info->sram_virt);
kfree(info->pool_name);
}
gen_pool_destroy(info->gpool);
iounmap(info->sram_virt);
kfree(info->pool_name);
kfree(info);
return 0;
}

View File

@ -3,6 +3,7 @@ menuconfig ARCH_MSTARV7
depends on ARCH_MULTI_V7
select ARM_GIC
select ARM_HEAVY_MB
select HAVE_ARM_ARCH_TIMER
select MST_IRQ
help
Support for newer MStar/Sigmastar SoC families that are

View File

@ -263,9 +263,9 @@ static int __init omapdss_init_of(void)
}
r = of_platform_populate(node, NULL, NULL, &pdev->dev);
put_device(&pdev->dev);
if (r) {
pr_err("Unable to populate DSS submodule devices\n");
put_device(&pdev->dev);
return r;
}

View File

@ -749,8 +749,10 @@ static int __init _init_clkctrl_providers(void)
for_each_matching_node(np, ti_clkctrl_match_table) {
ret = _setup_clkctrl_provider(np);
if (ret)
if (ret) {
of_node_put(np);
break;
}
}
return ret;

View File

@ -236,11 +236,11 @@ static int __init jive_mtdset(char *options)
unsigned long set;
if (options == NULL || options[0] == '\0')
return 0;
return 1;
if (kstrtoul(options, 10, &set)) {
printk(KERN_ERR "failed to parse mtdset=%s\n", options);
return 0;
return 1;
}
switch (set) {
@ -255,7 +255,7 @@ static int __init jive_mtdset(char *options)
"using default.", set);
}
return 0;
return 1;
}
/* parse the mtdset= option given to the kernel command line */

View File

@ -212,12 +212,14 @@ early_param("ecc", early_ecc);
static int __init early_cachepolicy(char *p)
{
pr_warn("cachepolicy kernel parameter not supported without cp15\n");
return 0;
}
early_param("cachepolicy", early_cachepolicy);
static int __init noalign_setup(char *__unused)
{
pr_warn("noalign kernel parameter not supported without cp15\n");
return 1;
}
__setup("noalign", noalign_setup);

View File

@ -101,6 +101,12 @@ secmon_reserved: secmon@5000000 {
no-map;
};
/* 32 MiB reserved for ARM Trusted Firmware (BL32) */
secmon_reserved_bl32: secmon@5300000 {
reg = <0x0 0x05300000 0x0 0x2000000>;
no-map;
};
linux,cma {
compatible = "shared-dma-pool";
reusable;

View File

@ -157,14 +157,6 @@ vddio_ao1v8: regulator-vddio_ao1v8 {
regulator-always-on;
};
reserved-memory {
/* TEE Reserved Memory */
bl32_reserved: bl32@5000000 {
reg = <0x0 0x05300000 0x0 0x2000000>;
no-map;
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;

View File

@ -43,6 +43,12 @@ secmon_reserved_alt: secmon@5000000 {
no-map;
};
/* 32 MiB reserved for ARM Trusted Firmware (BL32) */
secmon_reserved_bl32: secmon@5300000 {
reg = <0x0 0x05300000 0x0 0x2000000>;
no-map;
};
linux,cma {
compatible = "shared-dma-pool";
reusable;

View File

@ -203,14 +203,6 @@ vddio_ao1v8: regulator-vddio_ao1v8 {
regulator-always-on;
};
reserved-memory {
/* TEE Reserved Memory */
bl32_reserved: bl32@5000000 {
reg = <0x0 0x05300000 0x0 0x2000000>;
no-map;
};
};
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;

View File

@ -111,8 +111,8 @@ slic@0 {
compatible = "silabs,si3226x";
reg = <0>;
spi-max-frequency = <5000000>;
spi-cpha = <1>;
spi-cpol = <1>;
spi-cpha;
spi-cpol;
pl022,hierarchy = <0>;
pl022,interface = <0>;
pl022,slave-tx-disable = <0>;
@ -135,8 +135,8 @@ at25@0 {
at25,byte-len = <0x8000>;
at25,addr-mode = <2>;
at25,page-size = <64>;
spi-cpha = <1>;
spi-cpol = <1>;
spi-cpha;
spi-cpol;
pl022,hierarchy = <0>;
pl022,interface = <0>;
pl022,slave-tx-disable = <0>;

View File

@ -687,7 +687,7 @@ sata_phy1: sata-phy@1 {
};
};
sata: ahci@663f2000 {
sata: sata@663f2000 {
compatible = "brcm,iproc-ahci", "generic-ahci";
reg = <0x663f2000 0x1000>;
dma-coherent;

View File

@ -476,7 +476,7 @@ usbphy0: usbphy@0 {
};
usb0: usb@ffb00000 {
compatible = "snps,dwc2";
compatible = "intel,socfpga-agilex-hsotg", "snps,dwc2";
reg = <0xffb00000 0x40000>;
interrupts = <0 93 4>;
phys = <&usbphy0>;
@ -489,7 +489,7 @@ usb0: usb@ffb00000 {
};
usb1: usb@ffb40000 {
compatible = "snps,dwc2";
compatible = "intel,socfpga-agilex-hsotg", "snps,dwc2";
reg = <0xffb40000 0x40000>;
interrupts = <0 94 4>;
phys = <&usbphy0>;

View File

@ -18,6 +18,7 @@ / {
aliases {
spi0 = &spi0;
ethernet0 = &eth0;
ethernet1 = &eth1;
mmc0 = &sdhci0;
mmc1 = &sdhci1;
@ -137,7 +138,9 @@ &pcie0 {
/*
* U-Boot port for Turris Mox has a bug which always expects that "ranges" DT property
* contains exactly 2 ranges with 3 (child) address cells, 2 (parent) address cells and
* 2 size cells and also expects that the second range starts at 16 MB offset. If these
* 2 size cells and also expects that the second range starts at 16 MB offset. Also it
* expects that first range uses same address for PCI (child) and CPU (parent) cells (so
* no remapping) and that this address is the lowest from all specified ranges. If these
* conditions are not met then U-Boot crashes during loading kernel DTB file. PCIe address
* space is 128 MB long, so the best split between MEM and IO is to use fixed 16 MB window
* for IO and the rest 112 MB (64+32+16) for MEM, despite that maximal IO size is just 64 kB.
@ -146,6 +149,9 @@ &pcie0 {
* https://source.denx.de/u-boot/u-boot/-/commit/cb2ddb291ee6fcbddd6d8f4ff49089dfe580f5d7
* https://source.denx.de/u-boot/u-boot/-/commit/c64ac3b3185aeb3846297ad7391fc6df8ecd73bf
* https://source.denx.de/u-boot/u-boot/-/commit/4a82fca8e330157081fc132a591ebd99ba02ee33
* Bug related to requirement of same child and parent addresses for first range is fixed
* in U-Boot version 2022.04 by following commit:
* https://source.denx.de/u-boot/u-boot/-/commit/1fd54253bca7d43d046bba4853fe5fafd034bc17
*/
#address-cells = <3>;
#size-cells = <2>;

View File

@ -495,7 +495,7 @@ pcie0: pcie@d0070000 {
* (totaling 127 MiB) for MEM.
*/
ranges = <0x82000000 0 0xe8000000 0 0xe8000000 0 0x07f00000 /* Port 0 MEM */
0x81000000 0 0xefff0000 0 0xefff0000 0 0x00010000>; /* Port 0 IO */
0x81000000 0 0x00000000 0 0xefff0000 0 0x00010000>; /* Port 0 IO */
interrupt-map-mask = <0 0 0 7>;
interrupt-map = <0 0 0 1 &pcie_intc 0>,
<0 0 0 2 &pcie_intc 1>,

View File

@ -3406,10 +3406,10 @@ wcd9340: codec@1{
#clock-cells = <0>;
clock-frequency = <9600000>;
clock-output-names = "mclk";
qcom,micbias1-millivolt = <1800>;
qcom,micbias2-millivolt = <1800>;
qcom,micbias3-millivolt = <1800>;
qcom,micbias4-millivolt = <1800>;
qcom,micbias1-microvolt = <1800000>;
qcom,micbias2-microvolt = <1800000>;
qcom,micbias3-microvolt = <1800000>;
qcom,micbias4-microvolt = <1800000>;
#address-cells = <1>;
#size-cells = <1>;

View File

@ -1114,9 +1114,9 @@ apps_rsc: rsc@18200000 {
qcom,tcs-offset = <0xd00>;
qcom,drv-id = <2>;
qcom,tcs-config = <ACTIVE_TCS 2>,
<SLEEP_TCS 1>,
<WAKE_TCS 1>,
<CONTROL_TCS 0>;
<SLEEP_TCS 3>,
<WAKE_TCS 3>,
<CONTROL_TCS 1>;
rpmhcc: clock-controller {
compatible = "qcom,sm8150-rpmh-clk";

View File

@ -665,8 +665,8 @@ &sdio0 {
sd-uhs-sdr104;
/* Power supply */
vqmmc-supply = &vcc1v8_s3; /* IO line */
vmmc-supply = &vcc_sdio; /* card's power */
vqmmc-supply = <&vcc1v8_s3>; /* IO line */
vmmc-supply = <&vcc_sdio>; /* card's power */
#address-cells = <1>;
#size-cells = <0>;

View File

@ -281,7 +281,7 @@ max98357a: max98357a {
sound: sound {
compatible = "rockchip,rk3399-gru-sound";
rockchip,cpu = <&i2s0 &i2s2>;
rockchip,cpu = <&i2s0 &spdif>;
};
};
@ -432,10 +432,6 @@ &i2s0 {
status = "okay";
};
&i2s2 {
status = "okay";
};
&io_domains {
status = "okay";
@ -532,6 +528,17 @@ &sdmmc {
vqmmc-supply = <&ppvar_sd_card_io>;
};
&spdif {
status = "okay";
/*
* SPDIF is routed internally to DP; we either don't use these pins, or
* mux them to something else.
*/
/delete-property/ pinctrl-0;
/delete-property/ pinctrl-names;
};
&spi1 {
status = "okay";

View File

@ -472,6 +472,12 @@ vcc5v0_host_en: vcc5v0-host-en {
};
&sdhci {
/*
* Signal integrity isn't great at 200MHz but 100MHz has proven stable
* enough.
*/
max-frequency = <100000000>;
bus-width = <8>;
mmc-hs400-1_8v;
mmc-hs400-enhanced-strobe;

View File

@ -1770,10 +1770,10 @@ hdmi: hdmi@ff940000 {
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&cru PCLK_HDMI_CTRL>,
<&cru SCLK_HDMI_SFR>,
<&cru PLL_VPLL>,
<&cru SCLK_HDMI_CEC>,
<&cru PCLK_VIO_GRF>,
<&cru SCLK_HDMI_CEC>;
clock-names = "iahb", "isfr", "vpll", "grf", "cec";
<&cru PLL_VPLL>;
clock-names = "iahb", "isfr", "cec", "grf", "vpll";
power-domains = <&power RK3399_PD_HDCP>;
reg-io-width = <4>;
rockchip,grf = <&grf>;

View File

@ -35,7 +35,10 @@ gic500: interrupt-controller@1800000 {
#interrupt-cells = <3>;
interrupt-controller;
reg = <0x00 0x01800000 0x00 0x10000>, /* GICD */
<0x00 0x01880000 0x00 0x90000>; /* GICR */
<0x00 0x01880000 0x00 0x90000>, /* GICR */
<0x00 0x6f000000 0x00 0x2000>, /* GICC */
<0x00 0x6f010000 0x00 0x1000>, /* GICH */
<0x00 0x6f020000 0x00 0x2000>; /* GICV */
/*
* vcpumntirq:
* virtual CPU interface maintenance interrupt

View File

@ -84,6 +84,7 @@ cbass_main: bus@100000 {
<0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>,
<0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>,
<0x00 0x50000000 0x00 0x50000000 0x00 0x8000000>,
<0x00 0x6f000000 0x00 0x6f000000 0x00 0x00310000>, /* A53 PERIPHBASE */
<0x00 0x70000000 0x00 0x70000000 0x00 0x200000>,
<0x05 0x00000000 0x05 0x00000000 0x01 0x0000000>,
<0x07 0x00000000 0x07 0x00000000 0x01 0x0000000>;

View File

@ -47,7 +47,10 @@ gic500: interrupt-controller@1800000 {
#interrupt-cells = <3>;
interrupt-controller;
reg = <0x00 0x01800000 0x00 0x10000>, /* GICD */
<0x00 0x01900000 0x00 0x100000>; /* GICR */
<0x00 0x01900000 0x00 0x100000>, /* GICR */
<0x00 0x6f000000 0x00 0x2000>, /* GICC */
<0x00 0x6f010000 0x00 0x1000>, /* GICH */
<0x00 0x6f020000 0x00 0x2000>; /* GICV */
/* vcpumntirq: virtual CPU interface maintenance interrupt */
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;

View File

@ -127,6 +127,7 @@ cbass_main: bus@100000 {
<0x00 0x00a40000 0x00 0x00a40000 0x00 0x00000800>, /* timesync router */
<0x00 0x01000000 0x00 0x01000000 0x00 0x0d000000>, /* Most peripherals */
<0x00 0x30000000 0x00 0x30000000 0x00 0x0c400000>, /* MAIN NAVSS */
<0x00 0x6f000000 0x00 0x6f000000 0x00 0x00310000>, /* A72 PERIPHBASE */
<0x00 0x70000000 0x00 0x70000000 0x00 0x00800000>, /* MSMC RAM */
<0x00 0x18000000 0x00 0x18000000 0x00 0x08000000>, /* PCIe1 DAT0 */
<0x41 0x00000000 0x41 0x00000000 0x01 0x00000000>, /* PCIe1 DAT1 */

View File

@ -108,7 +108,10 @@ gic500: interrupt-controller@1800000 {
#interrupt-cells = <3>;
interrupt-controller;
reg = <0x00 0x01800000 0x00 0x10000>, /* GICD */
<0x00 0x01900000 0x00 0x100000>; /* GICR */
<0x00 0x01900000 0x00 0x100000>, /* GICR */
<0x00 0x6f000000 0x00 0x2000>, /* GICC */
<0x00 0x6f010000 0x00 0x1000>, /* GICH */
<0x00 0x6f020000 0x00 0x2000>; /* GICV */
/* vcpumntirq: virtual CPU interface maintenance interrupt */
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;

View File

@ -136,6 +136,7 @@ cbass_main: bus@100000 {
<0x00 0x0e000000 0x00 0x0e000000 0x00 0x01800000>, /* PCIe Core*/
<0x00 0x10000000 0x00 0x10000000 0x00 0x10000000>, /* PCIe DAT */
<0x00 0x64800000 0x00 0x64800000 0x00 0x00800000>, /* C71 */
<0x00 0x6f000000 0x00 0x6f000000 0x00 0x00310000>, /* A72 PERIPHBASE */
<0x44 0x00000000 0x44 0x00000000 0x00 0x08000000>, /* PCIe2 DAT */
<0x44 0x10000000 0x44 0x10000000 0x00 0x08000000>, /* PCIe3 DAT */
<0x4d 0x80800000 0x4d 0x80800000 0x00 0x00800000>, /* C66_0 */

View File

@ -840,7 +840,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_BCM2835=y
CONFIG_DMA_SUN6I=m
CONFIG_FSL_EDMA=y
CONFIG_IMX_SDMA=y
CONFIG_IMX_SDMA=m
CONFIG_K3_DMA=y
CONFIG_MV_XOR=y
CONFIG_MV_XOR_V2=y

View File

@ -385,7 +385,6 @@ CONFIG_HVC_DCC=y
CONFIG_HVC_DCC_SERIALIZE_SMP=y
CONFIG_SERIAL_DEV_BUS=y
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_CAVIUM is not set
# CONFIG_DEVMEM is not set
# CONFIG_DEVPORT is not set
# CONFIG_I2C_COMPAT is not set

View File

@ -56,14 +56,14 @@ enum arm64_bp_harden_el1_vectors {
DECLARE_PER_CPU_READ_MOSTLY(const char *, this_cpu_vector);
#ifndef CONFIG_UNMAP_KERNEL_AT_EL0
#define TRAMP_VALIAS 0
#define TRAMP_VALIAS 0ul
#endif
static inline const char *
arm64_get_bp_hardening_vector(enum arm64_bp_harden_el1_vectors slot)
{
if (arm64_kernel_unmapped_at_el0())
return (char *)TRAMP_VALIAS + SZ_2K * slot;
return (char *)(TRAMP_VALIAS + SZ_2K * slot);
WARN_ON_ONCE(slot == EL1_VECTOR_KPTI);

View File

@ -572,10 +572,12 @@ static int setup_sigframe_layout(struct rt_sigframe_user_layout *user,
{
int err;
err = sigframe_alloc(user, &user->fpsimd_offset,
sizeof(struct fpsimd_context));
if (err)
return err;
if (system_supports_fpsimd()) {
err = sigframe_alloc(user, &user->fpsimd_offset,
sizeof(struct fpsimd_context));
if (err)
return err;
}
/* fault information, if valid */
if (add_all || current->thread.fault_code) {

View File

@ -248,6 +248,8 @@ unsigned long vgic_mmio_read_pending(struct kvm_vcpu *vcpu,
IRQCHIP_STATE_PENDING,
&val);
WARN_RATELIMIT(err, "IRQ %d", irq->host_irq);
} else if (vgic_irq_is_mapped_level(irq)) {
val = vgic_get_phys_line_level(irq);
} else {
val = irq_is_pending(irq);
}

View File

@ -59,8 +59,34 @@ EXPORT_SYMBOL(memstart_addr);
* 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.
*
* Memory reservation for crash kernel either done early or deferred
* depending on DMA memory zones configs (ZONE_DMA) --
*
* In absence of ZONE_DMA configs arm64_dma_phys_limit initialized
* here instead of max_zone_phys(). This lets early reservation of
* crash kernel memory which has a dependency on arm64_dma_phys_limit.
* Reserving memory early for crash kernel allows linear creation of block
* mappings (greater than page-granularity) for all the memory bank rangs.
* In this scheme a comparatively quicker boot is observed.
*
* If ZONE_DMA configs are defined, crash kernel memory reservation
* is delayed until DMA zone memory range size initilazation performed in
* zone_sizes_init(). The defer is necessary to steer clear of DMA zone
* memory range to avoid overlap allocation. So crash kernel memory boundaries
* are not known when mapping all bank memory ranges, which otherwise means
* not possible to exclude crash kernel range from creating block mappings
* so page-granularity mappings are created for the entire memory range.
* Hence a slightly slower boot is observed.
*
* Note: Page-granularity mapppings are necessary for crash kernel memory
* range for shrinking its size via /sys/kernel/kexec_crash_size interface.
*/
phys_addr_t arm64_dma_phys_limit __ro_after_init;
#if IS_ENABLED(CONFIG_ZONE_DMA) || IS_ENABLED(CONFIG_ZONE_DMA32)
phys_addr_t __ro_after_init arm64_dma_phys_limit;
#else
phys_addr_t __ro_after_init arm64_dma_phys_limit = PHYS_MASK + 1;
#endif
/*
* Provide a run-time mean of disabling ZONE_DMA32 if it is enabled via
@ -217,8 +243,6 @@ static void __init zone_sizes_init(unsigned long min, unsigned long max)
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);
@ -429,6 +453,9 @@ void __init arm64_memblock_init(void)
reserve_elfcorehdr();
if (!IS_ENABLED(CONFIG_ZONE_DMA) && !IS_ENABLED(CONFIG_ZONE_DMA32))
reserve_crashkernel();
high_memory = __va(memblock_end_of_DRAM() - 1) + 1;
}
@ -475,7 +502,8 @@ void __init bootmem_init(void)
* request_standard_resources() depends on crashkernel's memory being
* reserved, so do it here.
*/
reserve_crashkernel();
if (IS_ENABLED(CONFIG_ZONE_DMA) || IS_ENABLED(CONFIG_ZONE_DMA32))
reserve_crashkernel();
memblock_dump_all();
}

View File

@ -61,6 +61,7 @@ static pmd_t bm_pmd[PTRS_PER_PMD] __page_aligned_bss __maybe_unused;
static pud_t bm_pud[PTRS_PER_PUD] __page_aligned_bss __maybe_unused;
static DEFINE_SPINLOCK(swapper_pgdir_lock);
static DEFINE_MUTEX(fixmap_lock);
void set_swapper_pgd(pgd_t *pgdp, pgd_t pgd)
{
@ -314,6 +315,12 @@ static void alloc_init_pud(pgd_t *pgdp, unsigned long addr, unsigned long end,
}
BUG_ON(p4d_bad(p4d));
/*
* No need for locking during early boot. And it doesn't work as
* expected with KASLR enabled.
*/
if (system_state != SYSTEM_BOOTING)
mutex_lock(&fixmap_lock);
pudp = pud_set_fixmap_offset(p4dp, addr);
do {
pud_t old_pud = READ_ONCE(*pudp);
@ -344,6 +351,8 @@ static void alloc_init_pud(pgd_t *pgdp, unsigned long addr, unsigned long end,
} while (pudp++, addr = next, addr != end);
pud_clear_fixmap();
if (system_state != SYSTEM_BOOTING)
mutex_unlock(&fixmap_lock);
}
static void __create_pgd_mapping(pgd_t *pgdir, phys_addr_t phys,
@ -492,7 +501,7 @@ static void __init map_mem(pgd_t *pgdp)
int flags = 0;
u64 i;
if (rodata_full || crash_mem_map || debug_pagealloc_enabled() ||
if (rodata_full || debug_pagealloc_enabled() ||
IS_ENABLED(CONFIG_KFENCE))
flags = NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS;
@ -504,6 +513,17 @@ static void __init map_mem(pgd_t *pgdp)
*/
memblock_mark_nomap(kernel_start, kernel_end - kernel_start);
#ifdef CONFIG_KEXEC_CORE
if (crash_mem_map) {
if (IS_ENABLED(CONFIG_ZONE_DMA) ||
IS_ENABLED(CONFIG_ZONE_DMA32))
flags |= NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS;
else if (crashk_res.end)
memblock_mark_nomap(crashk_res.start,
resource_size(&crashk_res));
}
#endif
/* map all the memory banks */
for_each_mem_range(i, &start, &end) {
if (start >= end)
@ -530,6 +550,25 @@ static void __init map_mem(pgd_t *pgdp)
__map_memblock(pgdp, kernel_start, kernel_end,
PAGE_KERNEL, NO_CONT_MAPPINGS);
memblock_clear_nomap(kernel_start, kernel_end - kernel_start);
/*
* Use page-level mappings here so that we can shrink the region
* in page granularity and put back unused memory to buddy system
* through /sys/kernel/kexec_crash_size interface.
*/
#ifdef CONFIG_KEXEC_CORE
if (crash_mem_map &&
!IS_ENABLED(CONFIG_ZONE_DMA) && !IS_ENABLED(CONFIG_ZONE_DMA32)) {
if (crashk_res.end) {
__map_memblock(pgdp, crashk_res.start,
crashk_res.end + 1,
PAGE_KERNEL,
NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS);
memblock_clear_nomap(crashk_res.start,
resource_size(&crashk_res));
}
}
#endif
}
void mark_rodata_ro(void)

View File

@ -1041,15 +1041,18 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
goto out_off;
}
/* 1. Initial fake pass to compute ctx->idx. */
/* Fake pass to fill in ctx->offset. */
if (build_body(&ctx, extra_pass)) {
/*
* 1. Initial fake pass to compute ctx->idx and ctx->offset.
*
* BPF line info needs ctx->offset[i] to be the offset of
* instruction[i] in jited image, so build prologue first.
*/
if (build_prologue(&ctx, was_classic)) {
prog = orig_prog;
goto out_off;
}
if (build_prologue(&ctx, was_classic)) {
if (build_body(&ctx, extra_pass)) {
prog = orig_prog;
goto out_off;
}
@ -1124,6 +1127,11 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
prog->jited_len = prog_size;
if (!prog->is_func || extra_pass) {
int i;
/* offset[prog->len] is the size of program */
for (i = 0; i <= prog->len; i++)
ctx.offset[i] *= AARCH64_INSN_SIZE;
bpf_prog_fill_jited_linfo(prog, ctx.offset + 1);
out_off:
kfree(ctx.offset);

View File

@ -49,7 +49,7 @@ static unsigned long user_backtrace(struct perf_callchain_entry_ctx *entry,
{
struct stackframe buftail;
unsigned long lr = 0;
unsigned long *user_frame_tail = (unsigned long *)fp;
unsigned long __user *user_frame_tail = (unsigned long __user *)fp;
/* Check accessibility of one struct frame_tail beyond */
if (!access_ok(user_frame_tail, sizeof(buftail)))

View File

@ -136,7 +136,7 @@ static inline void __user *get_sigframe(struct ksignal *ksig,
static int
setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs)
{
struct rt_sigframe *frame;
struct rt_sigframe __user *frame;
int err = 0;
struct csky_vdso *vdso = current->mm->context.vdso;

View File

@ -446,7 +446,8 @@ void __init acpi_numa_fixup(void)
if (srat_num_cpus == 0) {
node_set_online(0);
node_cpuid[0].phys_id = hard_smp_processor_id();
return;
slit_distance(0, 0) = LOCAL_DISTANCE;
goto out;
}
/*
@ -489,7 +490,7 @@ void __init acpi_numa_fixup(void)
for (j = 0; j < MAX_NUMNODES; j++)
slit_distance(i, j) = i == j ?
LOCAL_DISTANCE : REMOTE_DISTANCE;
return;
goto out;
}
memset(numa_slit, -1, sizeof(numa_slit));
@ -514,6 +515,8 @@ void __init acpi_numa_fixup(void)
printk("\n");
}
#endif
out:
node_possible_map = node_online_map;
}
#endif /* CONFIG_ACPI_NUMA */

View File

@ -480,7 +480,7 @@ static struct platform_device mcf_i2c5 = {
#endif /* MCFI2C_BASE5 */
#endif /* IS_ENABLED(CONFIG_I2C_IMX) */
#if IS_ENABLED(CONFIG_MCF_EDMA)
#ifdef MCFEDMA_BASE
static const struct dma_slave_map mcf_edma_map[] = {
{ "dreq0", "rx-tx", MCF_EDMA_FILTER_PARAM(0) },
@ -552,7 +552,7 @@ static struct platform_device mcf_edma = {
.platform_data = &mcf_edma_data,
}
};
#endif /* IS_ENABLED(CONFIG_MCF_EDMA) */
#endif /* MCFEDMA_BASE */
#ifdef MCFSDHC_BASE
static struct mcf_esdhc_platform_data mcf_esdhc_data = {
@ -610,7 +610,7 @@ static struct platform_device *mcf_devices[] __initdata = {
&mcf_i2c5,
#endif
#endif
#if IS_ENABLED(CONFIG_MCF_EDMA)
#ifdef MCFEDMA_BASE
&mcf_edma,
#endif
#ifdef MCFSDHC_BASE

View File

@ -167,27 +167,27 @@ extern long __user_bad(void);
#define __get_user(x, ptr) \
({ \
unsigned long __gu_val = 0; \
long __gu_err; \
switch (sizeof(*(ptr))) { \
case 1: \
__get_user_asm("lbu", (ptr), __gu_val, __gu_err); \
__get_user_asm("lbu", (ptr), x, __gu_err); \
break; \
case 2: \
__get_user_asm("lhu", (ptr), __gu_val, __gu_err); \
__get_user_asm("lhu", (ptr), x, __gu_err); \
break; \
case 4: \
__get_user_asm("lw", (ptr), __gu_val, __gu_err); \
__get_user_asm("lw", (ptr), x, __gu_err); \
break; \
case 8: \
__gu_err = __copy_from_user(&__gu_val, ptr, 8); \
if (__gu_err) \
__gu_err = -EFAULT; \
case 8: { \
__u64 __x = 0; \
__gu_err = raw_copy_from_user(&__x, ptr, 8) ? \
-EFAULT : 0; \
(x) = (typeof(x))(typeof((x) - (x)))__x; \
break; \
} \
default: \
/* __gu_val = 0; __gu_err = -EINVAL;*/ __gu_err = __user_bad();\
} \
x = (__force __typeof__(*(ptr))) __gu_val; \
__gu_err; \
})

View File

@ -131,7 +131,7 @@
*/
mfc0 t0,CP0_CAUSE # get pending interrupts
mfc0 t1,CP0_STATUS
#ifdef CONFIG_32BIT
#if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT)
lw t2,cpu_fpu_mask
#endif
andi t0,ST0_IM # CAUSE.CE may be non-zero!
@ -139,7 +139,7 @@
beqz t0,spurious
#ifdef CONFIG_32BIT
#if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT)
and t2,t0
bnez t2,fpu # handle FPU immediately
#endif
@ -280,7 +280,7 @@ handle_it:
j dec_irq_dispatch
nop
#ifdef CONFIG_32BIT
#if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT)
fpu:
lw t0,fpu_kstat_irq
nop

View File

@ -6,4 +6,4 @@
lib-y += init.o memory.o cmdline.o identify.o console.o
lib-$(CONFIG_32BIT) += locore.o
lib-$(CONFIG_CPU_R3000) += locore.o

View File

@ -746,7 +746,8 @@ void __init arch_init_irq(void)
dec_interrupt[DEC_IRQ_HALT] = -1;
/* Register board interrupts: FPU and cascade. */
if (dec_interrupt[DEC_IRQ_FPU] >= 0 && cpu_has_fpu) {
if (IS_ENABLED(CONFIG_MIPS_FP_SUPPORT) &&
dec_interrupt[DEC_IRQ_FPU] >= 0 && cpu_has_fpu) {
struct irq_desc *desc_fpu;
int irq_fpu;

View File

@ -43,16 +43,11 @@
*/
#define REX_PROM_MAGIC 0x30464354
#ifdef CONFIG_64BIT
#define prom_is_rex(magic) 1 /* KN04 and KN05 are REX PROMs. */
#else /* !CONFIG_64BIT */
#define prom_is_rex(magic) ((magic) == REX_PROM_MAGIC)
#endif /* !CONFIG_64BIT */
/* KN04 and KN05 are REX PROMs, so only do the check for R3k systems. */
static inline bool prom_is_rex(u32 magic)
{
return !IS_ENABLED(CONFIG_CPU_R3000) || magic == REX_PROM_MAGIC;
}
/*
* 3MIN/MAXINE PROM entry points for DS5000/1xx's, DS5000/xx's and

View File

@ -15,6 +15,7 @@
#define __HAVE_ARCH_PMD_ALLOC_ONE
#define __HAVE_ARCH_PUD_ALLOC_ONE
#define __HAVE_ARCH_PGD_FREE
#include <asm-generic/pgalloc.h>
static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd,
@ -49,6 +50,11 @@ static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
extern void pgd_init(unsigned long page);
extern pgd_t *pgd_alloc(struct mm_struct *mm);
static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
{
free_pages((unsigned long)pgd, PGD_ORDER);
}
#define __pte_free_tlb(tlb,pte,address) \
do { \
pgtable_pte_page_dtor(pte); \

View File

@ -351,6 +351,9 @@ asmlinkage void start_secondary(void)
cpu = smp_processor_id();
cpu_data[cpu].udelay_val = loops_per_jiffy;
set_cpu_sibling_map(cpu);
set_cpu_core_map(cpu);
cpumask_set_cpu(cpu, &cpu_coherent_mask);
notify_cpu_starting(cpu);
@ -362,9 +365,6 @@ asmlinkage void start_secondary(void)
/* The CPU is running and counters synchronised, now mark it online */
set_cpu_online(cpu, true);
set_cpu_sibling_map(cpu);
set_cpu_core_map(cpu);
calculate_cpu_foreign_map();
/*

View File

@ -310,11 +310,9 @@ static int __init plat_setup_devices(void)
static int __init setup_kmac(char *s)
{
printk(KERN_INFO "korina mac = %s\n", s);
if (!mac_pton(s, korina_dev0_data.mac)) {
if (!mac_pton(s, korina_dev0_data.mac))
printk(KERN_ERR "Invalid mac\n");
return -EINVAL;
}
return 0;
return 1;
}
__setup("kmac=", setup_kmac);

View File

@ -70,9 +70,7 @@ static inline void set_fs(mm_segment_t fs)
* versions are void (ie, don't return a value as such).
*/
#define get_user __get_user \
#define __get_user(x, ptr) \
#define get_user(x, ptr) \
({ \
long __gu_err = 0; \
__get_user_check((x), (ptr), __gu_err); \
@ -85,6 +83,14 @@ static inline void set_fs(mm_segment_t fs)
(void)0; \
})
#define __get_user(x, ptr) \
({ \
long __gu_err = 0; \
const __typeof__(*(ptr)) __user *__p = (ptr); \
__get_user_err((x), __p, (__gu_err)); \
__gu_err; \
})
#define __get_user_check(x, ptr, err) \
({ \
const __typeof__(*(ptr)) __user *__p = (ptr); \
@ -165,12 +171,18 @@ do { \
: "r"(addr), "i"(-EFAULT) \
: "cc")
#define put_user __put_user \
#define put_user(x, ptr) \
({ \
long __pu_err = 0; \
__put_user_check((x), (ptr), __pu_err); \
__pu_err; \
})
#define __put_user(x, ptr) \
({ \
long __pu_err = 0; \
__put_user_err((x), (ptr), __pu_err); \
__typeof__(*(ptr)) __user *__p = (ptr); \
__put_user_err((x), __p, __pu_err); \
__pu_err; \
})

View File

@ -89,6 +89,7 @@ extern __must_check long strnlen_user(const char __user *s, long n);
/* Optimized macros */
#define __get_user_asm(val, insn, addr, err) \
{ \
unsigned long __gu_val; \
__asm__ __volatile__( \
" movi %0, %3\n" \
"1: " insn " %1, 0(%2)\n" \
@ -97,14 +98,20 @@ extern __must_check long strnlen_user(const char __user *s, long n);
" .section __ex_table,\"a\"\n" \
" .word 1b, 2b\n" \
" .previous" \
: "=&r" (err), "=r" (val) \
: "=&r" (err), "=r" (__gu_val) \
: "r" (addr), "i" (-EFAULT)); \
val = (__force __typeof__(*(addr)))__gu_val; \
}
#define __get_user_unknown(val, size, ptr, err) do { \
extern void __get_user_unknown(void);
#define __get_user_8(val, ptr, err) do { \
u64 __val = 0; \
err = 0; \
if (__copy_from_user(&(val), ptr, size)) { \
if (raw_copy_from_user(&(__val), ptr, sizeof(val))) { \
err = -EFAULT; \
} else { \
val = (typeof(val))(typeof((val) - (val)))__val; \
} \
} while (0)
@ -120,8 +127,11 @@ do { \
case 4: \
__get_user_asm(val, "ldw", ptr, err); \
break; \
case 8: \
__get_user_8(val, ptr, err); \
break; \
default: \
__get_user_unknown(val, size, ptr, err); \
__get_user_unknown(); \
break; \
} \
} while (0)
@ -130,9 +140,7 @@ do { \
({ \
long __gu_err = -EFAULT; \
const __typeof__(*(ptr)) __user *__gu_ptr = (ptr); \
unsigned long __gu_val = 0; \
__get_user_common(__gu_val, sizeof(*(ptr)), __gu_ptr, __gu_err);\
(x) = (__force __typeof__(x))__gu_val; \
__get_user_common(x, sizeof(*(ptr)), __gu_ptr, __gu_err); \
__gu_err; \
})
@ -140,11 +148,9 @@ do { \
({ \
long __gu_err = -EFAULT; \
const __typeof__(*(ptr)) __user *__gu_ptr = (ptr); \
unsigned long __gu_val = 0; \
if (access_ok( __gu_ptr, sizeof(*__gu_ptr))) \
__get_user_common(__gu_val, sizeof(*__gu_ptr), \
__get_user_common(x, sizeof(*__gu_ptr), \
__gu_ptr, __gu_err); \
(x) = (__force __typeof__(x))__gu_val; \
__gu_err; \
})

Some files were not shown because too many files have changed in this diff Show More