Merge tag 'android12-5.10.110_r01' into android12-5.10
This is the merge of the upstream LTS release of 5.4.110 into the android12-5.10 branch. It contains the following commits:e08dd85cc9
ANDROID: fix up abi issue with struct snd_pcm_runtime, again8f4bd2a63f
Revert "coredump: Snapshot the vmas in do_coredump"b7dbb1ee1f
Revert "coredump: Remove the WARN_ON in dump_vma_snapshot"5f24894332
Revert "coredump: Use the vma snapshot in fill_files_note"c4eb663fca
Revert "pstore: Don't use semaphores in always-atomic-context code"562c3bd65c
Revert "PCI: Reduce warnings on possible RW1C corruption"0038e1f40c
ANDROID: GKI: fix crc issue with commitce1927b8cf
("block: don't merge across cgroup boundaries if blkcg is enabled")62fa3399b4
ANDROID: remove CONFIG_HW_RANDOM_CAVIUM from arm64 gki_defconfig95f4203fc9
Merge 5.10.110 into android12-5.10-lts3238bffaf9
Linux 5.10.110cf342cbfb3
PCI: xgene: Revert "PCI: xgene: Use inbound resources for setup"a25864c5bc
arm64: Do not defer reserve_crashkernel() for platforms with no DMA memory zones558564db44
coredump: Use the vma snapshot in fill_files_noteb7933f145a
coredump/elf: Pass coredump_params into fill_note_infob043ae637a
coredump: Remove the WARN_ON in dump_vma_snapshot936c8be4d1
coredump: Snapshot the vmas in do_coredump5318cdf4fd
can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error path869016a293
can: m_can: m_can_tx_handler(): fix use after free of skbe90518d10c
KVM: x86/mmu: do compare-and-exchange of gPTE via the user addresse36c45263a
openvswitch: Fixed nd target mask field in the flow dump.415edc68b6
docs: sysctl/kernel: add missing bit to panic_print272c74323d
um: Fix uml_mconsole stop/goc0a6a54738
ARM: dts: spear13xx: Update SPI dma propertiesea3912af8b
ARM: dts: spear1340: Update serial node properties74f7971985
ASoC: topology: Allow TLV control to be either read or write3ca47556d9
ubi: fastmap: Return error code if memory allocation fails in add_aeb()7704f243cb
dt-bindings: spi: mxic: The interrupt property is not mandatory648ab1dcc1
dt-bindings: mtd: nand-controller: Fix a comment in the examples71917e45e1
dt-bindings: mtd: nand-controller: Fix the reg property description73f2f37417
bpf: Fix comment for helper bpf_current_task_under_cgroup()90805175a2
bpf: Adjust BPF stack helper functions to accommodate skip > 086489492e8
mm/usercopy: return 1 from hardened_usercopy __setup() handler81a04b9a32
mm/memcontrol: return 1 from cgroup.memory __setup() handlerf321621f5c
ARM: 9187/1: JIVE: fix return value of __setup handlerd57feed3b1
mm/mmap: return 1 from stack_guard_gap __setup() handler73f7cbb151
batman-adv: Check ptr for NULL before reducing its refcntf6da750bfa
ASoC: soc-compress: Change the check for codec_daid3f786b7cf
staging: mt7621-dts: fix pinctrl-0 items to be size-1 items on ethernet12e380bb6f
proc: bootconfig: Add null pointer check90ec1b1538
can: isotp: restore accidentally removed MSG_PEEK feature16960ac92b
platform/chrome: cros_ec_typec: Check for EC devicee5b681822c
ACPI: CPPC: Avoid out of bounds access when parsing _CPC data785a53373c
riscv module: remove (NOLOAD)b27de7011c
io_uring: fix memory leak of uid in files registration20499ed3c0
ARM: iop32x: offset IRQ numbers by 1432b057f8e
ubi: Fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctlf28a857a61
ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLsecfc3f8a63
pinctrl: nuvoton: npcm7xx: Use %zu printk format for ARRAY_SIZE()503868a7c0
pinctrl: nuvoton: npcm7xx: Rename DS() macro to DSTR()d9afc5146b
watchdog: rti-wdt: Add missing pm_runtime_disable() in probe function402b53dc7c
pinctrl: pinconf-generic: Print arguments for bias-pull-*7169f60110
watch_queue: Free the page array when watch_queue is dismantlede64dc94990
crypto: arm/aes-neonbs-cbc - Select generic cbc and aesa16f5ae8ad
mailbox: imx: fix wakeup failure from freeze mode051360e513
rxrpc: Fix call timer start racing with call destructiona94d98e06e
net: hns3: fix software vlan talbe of vlan 0 inconsistent with hardwarec73af4bc8a
gfs2: Make sure FITRIM minlen is rounded up to fs block size33c204266c
rtc: check if __rtc_read_time was successful381636f33f
XArray: Update the LRU list in xas_split()3b9fabe8f6
can: mcp251xfd: mcp251xfd_register_get_dev_id(): fix return of error valueef0acc5141
can: mcba_usb: properly check endpoint type0801a51d79
can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path1ac49c8fd4
XArray: Fix xas_create_range() when multi-order entry present49f77ab50a
wireguard: socket: ignore v6 endpoints when ipv6 is disabled096f9d35ca
wireguard: socket: free skb in send6 when ipv6 is disabledcd032f218c
wireguard: queueing: use CFI-safe ptr_ring cleanup function8a0c70c238
ubifs: rename_whiteout: correct old_dir size computingc34ae24a25
ubifs: Fix to add refcount once page is set private07a209fade
ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock()d07a242169
ubifs: setflags: Make dirtied_ino_d 8 bytes aligned13b2a8151e
ubifs: Add missing iput if do_tmpfile() failed in rename whiteout83e42a7842
ubifs: Fix deadlock in concurrent rename whiteout and inode writebacka90e2dbe66
ubifs: rename_whiteout: Fix double free for whiteout_ui->data0c307349fe
ASoC: SOF: Intel: Fix NULL ptr dereference when ENOMEM0fb470eb48
KVM: SVM: fix panic on out-of-bounds guest IRQcd8c2d7c7c
KVM: x86: fix sending PV IPIeccfee4494
KVM: Prevent module exit until all VMs are freed09c771c45c
KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activatedaea4ffdcf3
platform: chrome: Split trace include filed3a913ba1f
scsi: qla2xxx: Use correct feature type field during RFF_ID processing633450063c
scsi: qla2xxx: Reduce false trigger to logindd48727cab
scsi: qla2xxx: Fix N2N inconsistent PLOGI0910a791a6
scsi: qla2xxx: Fix missed DMA unmap for NVMe ls requestsf296e888e9
scsi: qla2xxx: Fix hang due to session stuckedea037716
scsi: qla2xxx: Fix incorrect reporting of task management failure9dc104edd7
scsi: qla2xxx: Fix disk failure to rediscoverf97316dd39
scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair()0e4a89efc2
scsi: qla2xxx: Check for firmware dump already collectedef10a7530c
scsi: qla2xxx: Add devids and conditionals for 28xxbad77c9a47
scsi: qla2xxx: Fix device reconnect in loop topology8b52e20c22
scsi: qla2xxx: Fix warning for missing error code7c9745421d
scsi: qla2xxx: Fix wrong FDMI data for 64G adapter7fef50214d
scsi: qla2xxx: Fix scheduling while atomicc45147018d
scsi: qla2xxx: Fix stuck session in gpdb031547f4c6
powerpc: Fix build errors with newer binutils68fa67e939
powerpc/lib/sstep: Fix build errors with newer binutilsad806b4022
powerpc/lib/sstep: Fix 'sthcx' instructionf39a330939
powerpc/kasan: Fix early region not updated correctly89e5a42687
KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMUa3ad453008
ALSA: hda/realtek: Add alc256-samsung-headphone fixupaa2ad067cd
media: atomisp: fix bad usage at error handling logic2412a5d294
mmc: host: Return an error when ->enable_sdio_irq() ops is missing808990afd8
media: hdpvr: initialize dev->worker at hdpvr_register_videodev32582f82df
media: Revert "media: em28xx: add missing em28xx_close_extension"b1c2857752
video: fbdev: sm712fb: Fix crash in smtcfb_write()e7bb29df2a
ARM: mmp: Fix failure to remove sram deviceadd823a9a5
ARM: tegra: tamonten: Fix I2C3 pad setting08ec8450f3
lib/test_lockup: fix kernel pointer check for separate address spaces40a5c93a74
uaccess: fix type mismatch warnings from access_ok()a49b687a75
media: cx88-mpeg: clear interrupt status register before streaming video4606350268
ASoC: soc-core: skip zero num_dai component in searching dai namea840fc067e
ARM: dts: bcm2711: Add the missing L1/L2 cache information681a317034
video: fbdev: udlfb: replace snprintf in show functions with sysfs_emita7c624abf6
video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of snprintf()543dae0a46
video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf()910715c4b4
arm64: defconfig: build imx-sdma as a module14df2556a1
ARM: dts: imx7: Use audio_mclk_post_div instead audio_mclk_root_clkc241cfd0a5
ARM: ftrace: avoid redundant loads or clobbering IP41082d6432
media: atomisp: fix dummy_ptr check to avoid duplicate active_bob554196e6d
media: atomisp_gmin_platform: Add DMI quirk to not turn AXP ELDO2 regulator off on some boards370b50492e
ASoC: madera: Add dependencies on MFD0020667edc
ARM: dts: bcm2837: Add the missing L1/L2 cache informationf040c08102
ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960da210b1b55
video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit8c7e2141fb
video: fbdev: cirrusfb: check pixclock to avoid divide by zero1e33f19746
video: fbdev: w100fb: Reset global state08dff48201
video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow99e3f83539
media: ir_toy: free before error exitingd658178b5a
media: staging: media: zoran: fix various V4L2 compliance errorsbafec1a6ba
media: staging: media: zoran: calculate the right buffer number for zoran_reap_stat_combd01629315
media: staging: media: zoran: move videodev allocb230f2d944
ntfs: add sanity check on allocation sizef7e8aff062
f2fs: compress: fix to print raw data size in error path of lz4 decompressiond91d1e681c
NFSD: Fix nfsd_breaker_owns_lease() return values498b7088db
f2fs: fix to do sanity check on curseg->alloc_type330d0e44fc
ext4: don't BUG if someone dirty pages without asking ext4 firstcd6d719534
ext4: fix ext4_mb_mark_bb() with flex_bg with fast_commit69d2421b55
ext4: correct cluster len and clusters changed accounting in ext4_mb_mark_bbecd384c436
locking/lockdep: Iterate lock_classes directly when reading lockdep files3ad817f1bd
spi: tegra20: Use of_device_get_match_data()1c200c8bce
nvme-tcp: lockdep: annotate in-kernel sockets7e4967e913
parisc: Fix handling off probe non-access faultsede1ef1a7d
PM: core: keep irq flags in device_pm_check_callbacks()227718c8bb
ACPI/APEI: Limit printable size of BERT table datacc051f497e
Revert "Revert "block, bfq: honor already-setup queue merges""1b69302bfa
lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.31b87ce6a77
ACPICA: Avoid walking the ACPI Namespace if it is not theredf6e00b1a5
bfq: fix use-after-free in bfq_dispatch_requestdd85ed4af8
fs/binfmt_elf: Fix AT_PHDR for unusual ELF files9fc899ce5a
irqchip/nvic: Release nvic_base upon failure4bbd910de1
irqchip/qcom-pdc: Fix broken lockingf038185b6a
Fix incorrect type in assignment of ipv6 port for audit012c572007
loop: use sysfs_emit() in the sysfs xxx show()448857f580
selinux: allow FIOCLEX and FIONCLEX with policy capability4b9b60b5bf
selinux: use correct type for context length7507ead1e9
block, bfq: don't move oom_bfqq79b16d00de
pinctrl: npcm: Fix broken references to chip->parent_device9d1d8e5e42
gcc-plugins/stackleak: Exactly match strings instead of prefixesb0f2f89d74
regulator: rpi-panel: Handle I2C errors/timing to the Atmel2784604c8c
LSM: general protection fault in legacy_parse_parame600b5973e
fs: fix fd table size alignment properly327f07e370
lib/test: use after free in register_test_dev_kmod()00d2b9fe5e
fs: fd tables have to be multiples of BITS_PER_LONG1752fcd404
net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iteratoredb91a475d
NFSv4/pNFS: Fix another issue with a list iterator pointing to the head5c94b6205e
net/x25: Fix null-ptr-deref caused by x25_disconnect4896c308a5
qlcnic: dcb: default to returning -EOPNOTSUPP2165d0ebfb
selftests: test_vxlan_under_vrf: Fix broken test casef98dc124a4
net: phy: broadcom: Fix brcm_fet_config_init()3e7a483af3
net: hns3: fix bug when PF set the duplicate MAC address for VFs3eb92660e6
net: enetc: report software timestamping via SO_TIMESTAMPINGe9445a7a59
xen: fix is_xen_pmu()af0c3ced24
clk: Initialize orphan req_rate845e734f97
clk: qcom: gcc-msm8994: Fix gpll4 widthe2a2625392
kdb: Fix the putarea helper functiona9fa7d48a1
NFSv4.1: don't retry BIND_CONN_TO_SESSION on session error8cd30d28da
netfilter: nf_conntrack_tcp: preserve liberal flag in tcp optionsfbd56a61ce
jfs: fix divide error in dbNextAGacb96e62e6
driver core: dd: fix return value of __setup handler89748be18f
firmware: google: Properly state IOMEM dependency3d934d7b90
kgdbts: fix return value of __setup handlerf65ba8b988
serial: 8250: fix XOFF/XON sending when DMA is used45e95a7bf8
kgdboc: fix return value of __setup handler96038b1cf4
tty: hvc: fix return value of __setup handler566e30289d
pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe669b05ff43
pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe9d095fe2fb
pinctrl: mediatek: paris: Skip custom extra pin config dump for virtual GPIOs861946289d
pinctrl: mediatek: paris: Fix pingroup pin config state readback7675fb2aaf
pinctrl: mediatek: paris: Fix "argument" argument type for mtk_pinconf_get()901e192ac9
pinctrl: mediatek: paris: Fix PIN_CONFIG_BIAS_* readback72ea0fefea
pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_initfddbfe43bf
staging: mt7621-dts: fix GB-PC2 devicetree00e0739ca1
staging: mt7621-dts: fix pinctrl properties for ethernet47c31fe8ca
staging: mt7621-dts: fix formatting59ec187d7c
staging: mt7621-dts: fix LEDs and pinctrl on GB-PC1 devicetree942f68bf29
NFS: remove unneeded check in decode_devicenotify_args()e025c66387
clk: tegra: tegra124-emc: Fix missing put_device() call in emc_ensure_emc_driver54c8128297
clk: clps711x: Terminate clk_div_table with sentinel element9ff533033d
clk: loongson1: Terminate clk_div_table with sentinel elementbb680cabf2
clk: actions: Terminate clk_div_table with sentinel element431f8a9cec
nvdimm/region: Fix default alignment for small regionsf7210ca29a
remoteproc: qcom_q6v5_mss: Fix some leaks in q6v5_alloc_memory_region7a494580a8
remoteproc: qcom_wcnss: Add missing of_node_put() in wcnss_alloc_memory_region5c1d484d96
remoteproc: qcom: Fix missing of_node_put in adsp_alloc_memory_regionf95fd61dd8
dmaengine: hisi_dma: fix MSI allocate fail when reload hisi_dmad047d68ff0
clk: qcom: clk-rcg2: Update the frac table for pixel clock334720f418
clk: qcom: clk-rcg2: Update logic to calculate D value for RCG639744b242
clk: at91: sama7g5: fix parents of PDMCs' GCLK0553ecbce9
clk: imx7d: Remove audio_mclk_root_clk867258d3f3
dma-debug: fix return value of __setup handlers2f3885514e
NFS: Return valid errors from nfs2/3_decode_dirent()7b59afe84a
habanalabs: Add check for pci_enable_deviceafcbc63752
iio: adc: Add check for devm_request_threaded_irqdf2dc4cf71
serial: 8250: Fix race condition in RTS-after-send handling469ce5119f
NFS: Use of mapping_set_error() results in spurious errors659fe4d653
serial: 8250_lpss: Balance reference count for PCI DMA device0aebb3944a
serial: 8250_mid: Balance reference count for PCI DMA devicec92bd51313
phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure})80805f555e
clk: qcom: ipq8074: Use floor ops for SDCC1 clockfd2601e366
pinctrl: renesas: checker: Fix miscalculation of number of statesc5cf977515
pinctrl: renesas: r8a77470: Reduce size for narrow VIN1 channelb5db33a81e
staging:iio:adc:ad7280a: Fix handing of device address bit reversing.f5b01abf5f
iio: mma8452: Fix probe failing when an i2c_device_id is used8b89c9e68a
clk: qcom: ipq8074: fix PCI-E clock oopsa70d5dbe2e
soundwire: intel: fix wrong register name in intel_shim_wake091704a9a7
cpufreq: qcom-cpufreq-nvmem: fix reading of PVS Valid fusef90ad94322
misc: alcor_pci: Fix an error handling path553541c453
fsi: Aspeed: Fix a potential double freecb212c3f0d
fsi: aspeed: convert to devm_platform_ioremap_resourcec0b3c06414
pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add()2cd05c38a2
mxser: fix xmit_buf leak in activate when LSR == 0xff8513c93ead
mfd: asic3: Add missing iounmap() on error asic3_mfd_probe084be6309f
tipc: fix the timer expires after interval 100ms5d8162371c
openvswitch: always update flow key after nat4593c76a65
tcp: ensure PMTU updates are processed during fastopenb26091a020
net: bcmgenet: Use stronger register read/writes to assure ordering9088614323
PCI: Avoid broken MSI on SB600 USB devices75a4a97b74
selftests/bpf/test_lirc_mode2.sh: Exit with proper code0d3ad6142a
i2c: mux: demux-pinctrl: do not deactivate a master that is not activec483f8002d
i2c: meson: Fix wrong speed use from probeb089836218
af_netlink: Fix shift out of bounds in group mask calculation40f3b8dada
ipv4: Fix route lookups when handling ICMP redirects and PMTU updates70a6cf749d
Bluetooth: btmtksdio: Fix kernel oops in btmtksdio_interruptb441fcdff2
Bluetooth: call hci_le_conn_failed with hdev lock in hci_le_conn_failed876cfe1380
selftests/bpf: Fix error reporting from sock_fields programsac1ec6f319
bareudp: use ipv6_mod_enabled to check if IPv6 enabledc037e13539
can: isotp: support MSG_TRUNC flag when reading from socketf402c49865
can: isotp: return -EADDRNOTAVAIL when reading from unbound socket8a9d996d4e
USB: storage: ums-realtek: fix error code in rts51x_read_mem()f9a6661009
samples/bpf, xdpsock: Fix race when running for fix duration of timecd84ea3920
bpf, sockmap: Fix double uncharge the mem of sk_msg7b812a369e
bpf, sockmap: Fix more uncharged while msg has more_databec34a91eb
bpf, sockmap: Fix memleak in tcp_bpf_sendmsg while sk msg is fullc98d903ff9
RDMA/mlx5: Fix memory leak in error flow for subscribe event routinea3587259ae
mtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_initfa3d444245
MIPS: pgalloc: fix memory leak caused by pgd_free()8c4808ff9e
MIPS: RB532: fix return value of __setup handleref1728e3cb
mips: cdmm: Fix refcount leak in mips_cdmm_phys_base315772133a
ath10k: Fix error handling in ath10k_setup_msa_resources71f311b123
vxcan: enable local echo for sent CAN frames3c2a397849
powerpc: 8xx: fix a return value error in mpc8xx_pic_init956fab99ad
platform/x86: huawei-wmi: check the return value of device_create_file()1ba28cb692
selftests/bpf: Make test_lwt_ip_encap more stable and faster08ab406781
libbpf: Unmap rings when umem deleted6fa8edfc90
mfd: mc13xxx: Add check for mc13xxx_irq_requestbcf93175ed
powerpc/sysdev: fix incorrect use to determine if list is emptyab0a335b54
mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=nbbd91cdb62
net: axienet: fix RX ring refill allocation failure handling9ec698984d
PCI: Reduce warnings on possible RW1C corruptiona84cb039d2
IB/hfi1: Allow larger MTU without AIP48d23ef901
power: supply: wm8350-power: Add missing free in free_charger_irq9d3dab40af
power: supply: wm8350-power: Handle error for wm8350_register_irq5cf1371628
i2c: xiic: Make bus names uniquef01e08083c
hv_balloon: rate-limit "Unhandled message" warningba2c6e353b
KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor()fa9089949d
KVM: x86: Fix emulation in writing cr83e7e73ae2b
powerpc/Makefile: Don't pass -mcpu=powerpc64 when building 32-bit05abd49972
powerpc/mm/numa: skip NUMA_NO_NODE onlining in parse_numa_properties()3e04a837db
libbpf: Skip forward declaration when counting duplicated type names6bb107332d
gpu: host1x: Fix a memory leak in 'host1x_remove()'d1c7759304
bpf, arm64: Feed byte-offset into bpf line info694398af5f
bpf, arm64: Call build_prologue() first in first JIT pass06a0001366
drm/bridge: cdns-dsi: Make sure to to create proper aliases for dta3d53f0005
scsi: hisi_sas: Change permission of parameter prot_mask705c70399e
power: supply: bq24190_charger: Fix bq24190_vbus_is_enabled() wrong false return1e06710c43
drm/tegra: Fix reference leak in tegra_dsi_ganged_probe9ffa07c699
ext2: correct max file size computing60605acf5b
TOMOYO: fix __setup handlers return valuesadb7c8d1de
drm/amd/display: Remove vupdate_int_entry definitione462b0f518
RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR279f318bd7
scsi: pm8001: Fix abort all task initialization780c668a2d
scsi: pm8001: Fix NCQ NON DATA command completion handlingf7a3f9e4e8
scsi: pm8001: Fix NCQ NON DATA command task initializationf76bbee39e
scsi: pm8001: Fix le32 values handling in pm80xx_chip_sata_req()6bc86bca35
scsi: pm8001: Fix le32 values handling in pm80xx_chip_ssp_io_req()27ccdcaa01
scsi: pm8001: Fix payload initialization in pm80xx_encrypt_update()6c0e850c22
scsi: pm8001: Fix le32 values handling in pm80xx_set_sas_protocol_timer_config()edde1ede76
scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config()257a55622c
scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req()f55a7bc38f
scsi: pm8001: Fix command initialization in pm80XX_send_read_log()5349cde1df
dm crypt: fix get_key_size compiler warning if !CONFIG_KEYSd4862bea08
drm/msm/dpu: fix dp audio condition7b52fb813c
drm/msm/dpu: add DSPP blocks teardown413c62697b
drm/msm/dp: populate connector of struct dp_panel441a83ff27
iwlwifi: mvm: Fix an error code in iwl_mvm_up()c12692c3e9
iwlwifi: Fix -EIO error code that is never returnedec376f5c11
dax: make sure inodes are flushed before destroy cache5e6b030ac3
IB/cma: Allow XRC INI QPs to set their local ACK timeout9c384e1afa
drm/amd/display: Add affected crtcs to atomic state for dsc mst unplug80b96ac9d2
drm/amd/pm: enable pm sysfs write for one VF mode06e778d184
iommu/ipmmu-vmsa: Check for error num after setting maskab63b24ae6
HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports879356a6a0
power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_initf03ef518c1
drm/bridge: dw-hdmi: use safe format when first in bridge chaine0e25e131d
PCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated bridgeb1af8b9ec0
livepatch: Fix build failure on 32 bits processors6f095441f8
scripts/dtc: Call pkg-config POSIXly correct080822563b
net: dsa: mv88e6xxx: Enable port policy support on 60972ac4f049db
mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update2430af1241
mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update232c1cc986
mt76: mt7915: use proper aid value in mt7915_mcu_sta_basic_tlv253cc4aafc
mt76: mt7915: use proper aid value in mt7915_mcu_wtbl_generic_tlv in sta modeb5d363ff17
powerpc/perf: Don't use perf_hw_context for trace IMC PMUc18b538617
KVM: PPC: Book3S HV: Check return value of kvmppc_radix_init8b64c158a0
powerpc: dts: t1040rdb: fix ports names for Seville Ethernet switchbe703360ed
ray_cs: Check ioremap return value43f2fe2a69
power: reset: gemini-poweroff: Fix IRQ check in gemini_poweroff_probeda71a1483b
i40e: respect metadata on XSK Rx to skbb2e48cd141
i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skbe8fe653fa7
KVM: PPC: Fix vmx/vsx mixup in mmio emulation11cb9eba06
RDMA/core: Set MR type in ib_reg_user_mr11f11ac281
ath9k_htc: fix uninit value bugs6e669baa33
drm/amd/pm: return -ENOTSUPP if there is no get_dpm_ultimate_freq function19a7eba284
drm/amd/display: Fix a NULL pointer dereference in amdgpu_dm_connector_add_common_modes()9abee51534
drm/nouveau/acr: Fix undefined behavior in nvkm_acr_hsfw_load_bl()47402eaf88
ionic: fix type complaint in ionic_dev_cmd_clean()1ba10e5c39
drm/edid: Don't clear formats if using deep colord99e7feaed
mtd: rawnand: gpmi: fix controller timings setting364b2eee62
mtd: onenand: Check for error irq96ea88eb9b
Bluetooth: hci_serdev: call init_rwsem() before p->open()b267a8118c
udmabuf: validate ubuf->pagecount56722aa77b
libbpf: Fix possible NULL pointer dereference when destroying skeleton4a9c268a40
drm/panfrost: Check for error num after setting mask5d1114ede5
ath10k: fix memory overwrite of the WoWLAN wakeup packet patternfb2be762a4
drm: bridge: adv7511: Fix ADV7535 HPD enablementd9d61beb21
drm/bridge: nwl-dsi: Fix PM disable depth imbalance in nwl_dsi_probe064e7f7532
drm/bridge: Add missing pm_runtime_disable() in __dw_mipi_dsi_probed8db734df6
drm/bridge: Fix free wrong object in sii8620_init_rcp_input_devec3924eab5
drm/meson: osd_afbcd: Add an exit callback to struct meson_afbcd_opsa1c665f5b7
ARM: configs: multi_v5_defconfig: re-enable CONFIG_V4L_PLATFORM_DRIVERS1f24716e38
ASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_dataabefbf602c
ASoC: msm8916-wcd-analog: Fix error handling in pm8916_wcd_analog_spmi_probe90ac679aa6
ASoC: atmel: Fix error handling in sam9x5_wm8731_driver_probeec26e3ce3c
ASoC: atmel: sam9x5_wm8731: use devm_snd_soc_register_card()541251b903
mmc: davinci_mmc: Handle error for clk_enable19eb5c7957
ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in msm8916_wcd_digital_probe42042c7a3d
ASoC: imx-es8328: Fix error return code in imx_es8328_probe()fe4db4ea21
ASoC: fsl_spdif: Disable TX clock when stop86b6cf9894
ASoC: mxs: Fix error handling in mxs_sgtl5000_probec8c981cfc0
ASoC: dmaengine: do not use a NULL prepare_slave_config() callbackf452cff025
ASoC: SOF: Add missing of_node_put() in imx8m_probe0d82401d46
ASoC: rockchip: i2s: Fix missing clk_disable_unprepare() in rockchip_i2s_probe7e8b0fd0eb
ASoC: rockchip: i2s: Use devm_platform_get_and_ioremap_resource()b5664a584e
ivtv: fix incorrect device_caps for ivtvfbebd4f1501e
media: saa7134: fix incorrect use to determine if list is emptydd67315994
media: saa7134: convert list_for_each to entry variant066d9b48f9
video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of20da8404e4
ASoC: fsi: Add check for clk_enabledb1c00a025
ASoC: wm8350: Handle error for wm8350_register_irq662ee5ac6b
ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe663e7a7287
media: vidtv: Check for null return of vzalloc4d68603cc4
media: stk1160: If start stream fails, return buffers with VB2_BUF_STATE_QUEUEDb02752d753
m68k: coldfire/device.c: only build for MCF_EDMA when h/w macros are defined9ca3635a0a
arm64: dts: rockchip: Fix SDIO regulator supply properties on rk3399-firefly7e6f578662
ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction64eee4127c
memory: emif: check the pointer temp in get_device_details()330a9b0d38
memory: emif: Add check for setup_interrupts4639c1d97f
ASoC: soc-compress: prevent the potentially use of null pointera6ee60d4a9
ASoC: dwc-i2s: Handle errors for clk_enable39bee81e30
ASoC: atmel_ssc_dai: Handle errors for clk_enabledc947d175c
ASoC: mxs-saif: Handle errors for clk_enablea754ea0de3
printk: fix return value of printk.devkmsg __setup handler87a265e292
arm64: dts: broadcom: Fix sata nodenamef63122803d
arm64: dts: ns2: Fix spi-cpol and spi-cpha property5d6a0dc6ba
ALSA: spi: Add check for clk_enable()039fae34f8
ASoC: ti: davinci-i2s: Add check for clk_enable()94cb9fe5d8
ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp()7ce3e6e103
uaccess: fix nios2 and microblaze get_user_8()19894751f6
ASoC: codecs: wcd934x: fix return value of wcd934x_rx_hph_mode_putf126dcbe70
media: cedrus: h264: Fix neighbour info buffer sizec011ae1665
media: cedrus: H265: Fix neighbour info buffer size44973633b0
media: usb: go7007: s2250-board: fix leak in probe()ec8a37b2d9
media: em28xx: initialize refcount before kref_get1b46f57d51
media: video/hdmi: handle short reads of hdmi info frame.170ad3942b
ARM: dts: imx: Add missing LVDS decoder on M53Menlo2a0eb50d9a
ARM: dts: sun8i: v3s: Move the csi1 block to follow address order77406ac6ef
soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe18b2ec361a
firmware: ti_sci: Fix compilation failure when CONFIG_TI_SCI_PROTOCOL is not defined8395a17ef6
arm64: dts: qcom: sm8150: Correct TCS configuration for apps rscd19248e23f
arm64: dts: qcom: sdm845: fix microphone bias properties and values2042c6fbfb
soc: qcom: aoss: remove spurious IRQF_ONESHOT flags5a990a65d4
soc: qcom: ocmem: Fix missing put_device() call in of_get_ocmemb5d6eba719
soc: qcom: rpmpd: Check for null return of devm_kcalloc0c11cb8db4
ARM: dts: qcom: ipq4019: fix sleep clock22474dfd0c
firmware: qcom: scm: Remove reassignment to desc following initializerbf4bad1114
video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name()6de6a64f23
video: fbdev: atmel_lcdfb: fix an error code in atmel_lcdfb_probe()64ec3e678d
video: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe()0dff86aeb1
video: fbdev: controlfb: Fix COMPILE_TEST buildec1c20b02a
video: fbdev: controlfb: Fix set but not used warningsf8bf19f7f3
video: fbdev: matroxfb: set maxvram of vbG200eW to the same as vbG200 to avoid black screen3187a1d4d5
media: aspeed: Correct value for h-total-pixels245561612b
media: hantro: Fix overfill bottom register field name032b141a91
media: meson: vdec: potential dereference of null pointerd3e5106c67
media: coda: Fix missing put_device() call in coda_get_vdoa_datac9f4586d99
ASoC: generic: simple-card-utils: remove useless assignment2c357e0277
ASoC: xilinx: xlnx_formatter_pcm: Handle sysclk setting712dd2ac26
media: bttv: fix WARNING regression on tunerless devicesbc2573abc6
media: mtk-vcodec: potential dereference of null pointer8a83731a09
media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctlsc76188715d
media: staging: media: zoran: fix usage of vb2_dma_contig_set_max_seg_sizef622bd0758
kunit: make kunit_test_timeout compatible with comment9e63bcb71d
selftests, x86: fix how check_cc.sh is being invokedd2c53e77b0
f2fs: fix compressed file start atomic write may cause data corruption1c4d94e4f0
f2fs: compress: remove unneeded read when rewrite whole cluster2c4741d1b0
btrfs: fix unexpected error path when reflinking an inline extent3ef3bc75cd
f2fs: fix to avoid potential deadlock85cc399b65
nfsd: more robust allocation failure handling in nfsd_file_cache_init1a11a87374
f2fs: fix missing free nid in f2fs_handle_failed_inodec0cffc1fb3
perf/x86/intel/pt: Fix address filter config for 32-bit kernel13c8e37e1f
perf/core: Fix address filter parser for multiple filtersa9faa5beda
rseq: Remove broken uapi field layout on 32-bit little endianf0250e05e5
rseq: Optimise rseq_get_rseq_cs() and clear_rseq_cs()ecc17de4b9
sched/core: Export pelt_thermal_tp40732cab51
sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa2b5d41bcf2
f2fs: fix to enable ATGC correctly via gc_idle sysfs interface9d92be1a09
watch_queue: Actually free the watch5ae75b4ed3
watch_queue: Fix NULL dereference in error cleanup509565faed
io_uring: terminate manual loop iterator loop correctly for non-vecs44a77e52bd
clocksource: acpi_pm: fix return value of __setup handlerd678f002f0
hwmon: (pmbus) Add Vin unit off handling7ca525b4cc
hwrng: nomadik - Change clk_disable to clk_disable_unpreparee4c777fd8c
amba: Make the remove callback return void1c6ac39763
vfio: platform: simplify device removalc93017c8d5
crypto: ccree - Fix use after free in cc_cipher_exit()78622926fe
crypto: ccp - ccp_dmaengine_unregister release dma channels9eeee6f684
ACPI: APEI: fix return value of __setup handlers0b45bf1659
clocksource/drivers/timer-of: Check return value of of_iomap in timer_of_base_init()b33c753cff
clocksource/drivers/timer-microchip-pit64b: Use notracedb9d00461b
clocksource/drivers/exynos_mct: Handle DTS with higher number of interruptsd4e13c4a6f
clocksource/drivers/exynos_mct: Refactor resources allocation42d331a279
clocksource/drivers/timer-ti-dm: Fix regression from errata i940 fixaedff03da4
crypto: vmx - add missing dependencies51939008ca
crypto: amlogic - call finalize with bh disabled24857d87cc
crypto: sun8i-ce - call finalize with bh disabledbf4814d58b
crypto: sun8i-ss - call finalize with bh disableda4067ccb97
hwrng: atmel - disable trng on failure pathb7940bef6f
spi: spi-zynqmp-gqspi: Handle error for dma_set_mask3928a04bc6
PM: suspend: fix return value of __setup handler052a218db0
PM: hibernate: fix __setup handler error handling0b5924a14d
block: don't delete queue kobject before its children40b288a861
nvme: cleanup __nvme_check_ids32c4db2a52
hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNINGec8536f701
hwmon: (pmbus) Add mutex to regulator ops18a18594ae
spi: pxa2xx-pci: Balance reference count for PCI DMA device55259cb374
crypto: ccree - don't attempt 0 len DMA mappingsd788ad472f
EVM: fix the evm= __setup handler return valuea137f93ae5
audit: log AUDIT_TIME_* records only from rules5e9501e60b
crypto: rockchip - ECB does not need IV8265bea7d8
selftests/x86: Add validity check and allow field splittingf7d9249af3
arm64/mm: avoid fixmap race condition when create pud mapping99a8dfce7c
spi: tegra114: Add missing IRQ check in tegra_spi_probe71dba67138
thermal: int340x: Check for NULL after calling kmemdup()8e57117142
crypto: mxs-dcp - Fix scatterlist processingec1d372974
crypto: authenc - Fix sleep in atomic context in decrypt_tailfdfaafeb4b
crypto: sun8i-ss - really disable hash on A8019693838c8
hwrng: cavium - HW_RANDOM_CAVIUM should depend on ARCH_THUNDERbc20294cc8
hwrng: cavium - Check health status while reading random data962d1f59d5
selinux: check return value of sel_make_avc_files1ae9b020dd
regulator: qcom_smd: fix for_each_child.cocci warningsc20975954e
PCI: xgene: Revert "PCI: xgene: Fix IB window setup"0f56f24015
PCI: pciehp: Clear cmd_busy bit in polling mode89ddcc8191
drm/i915/gem: add missing boundary check in vm_accessb84857c06e
drm/i915/opregion: check port number bounds for SWSCI display power state88975951d4
brcmfmac: pcie: Fix crashes due to early IRQs1cbcf93a93
brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toiof3820ddaf4
brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error pathdaa07f2902
brcmfmac: firmware: Allocate space for default boardrev in nvram1dd031eb99
xtensa: fix xtensa_wsr always writing 0dac518bbce
xtensa: fix stop_machine_cpuslocked call in patch_text20f974dce5
media: davinci: vpif: fix unbalanced runtime PM enable7c9b915b94
media: davinci: vpif: fix unbalanced runtime PM getcde90e8291
media: gpio-ir-tx: fix transmit with long spaces on Orange Pi PC785ffce44a
DEC: Limit PMAX memory probing to R3k systems8dde2296ec
bcache: fixup multiple threads crash37d2b4fa5c
crypto: rsa-pkcs1pad - fix buffer overread in pkcs1pad_verify_complete()b89fb8b882
crypto: rsa-pkcs1pad - restore signature length checkf38c318068
crypto: rsa-pkcs1pad - correctly get hash from source scatterlistc1db3f44f2
crypto: rsa-pkcs1pad - only allow with rsa27a6f495b6
exec: Force single empty string when argv is emptyb02d33171d
lib/raid6/test: fix multiple definition linking errorbf057eac9a
thermal: int340x: Increase bitmap size86a926c3f0
pstore: Don't use semaphores in always-atomic-context codeb26f400e4f
carl9170: fix missing bit-wise or operator for tx_params3aef4df6e1
mgag200 fix memmapsl configuration in GCTL6 registeref1df91685
ARM: dts: exynos: add missing HDMI supplies on SMDK54203cde68a1eb
ARM: dts: exynos: add missing HDMI supplies on SMDK52505ac205c414
ARM: dts: exynos: fix UART3 pins configuration in Exynos52507187c9beb7
ARM: dts: at91: sama5d2: Fix PMERRLOC resource size2ca2a5552a
video: fbdev: atari: Atari 2 bpp (STe) palette bugfix72af881092
video: fbdev: sm712fb: Fix crash in smtcfb_read()ba09b04173
drm/edid: check basic audio support on CEA extension blockce1927b8cf
block: don't merge across cgroup boundaries if blkcg is enabled6e0d24598c
block: limit request dispatch loop duration958e9b56de
mailbox: tegra-hsp: Flush whole channelf67a140078
drivers: hamradio: 6pack: fix UAF bug caused by mod_timer()b35eb48471
ext4: fix fs corruption when tring to remove a non-empty directory with IO errora1e6884b2d
ext4: fix ext4_fc_stats trace pointc119fb65f6
coredump: Also dump first pages of non-executable ELF libraries7ad5ccc3da
ACPI: properties: Consistently return -ENOENT if there are no more referencesef3a87e0c4
arm64: dts: ti: k3-j7200: Fix gic-v3 compatible regs18864e8b83
arm64: dts: ti: k3-j721e: Fix gic-v3 compatible regse85fa9f4e9
arm64: dts: ti: k3-am65: Fix gic-v3 compatible regs7ce550a01b
arm64: signal: nofpsimd: Do not allocate fp/simd context when not available210e7b43d4
udp: call udp_encap_enable for v6 sockets when enabling encape1a58498ef
powerpc/kvm: Fix kvm_use_magic_paged72866a7f5
can: isotp: sanitize CAN ID checks in isotp_bind()fde8c5cad0
drbd: fix potential silent data corruptionb101e74f9a
dm integrity: set journal entry unused when shrinking deviced5d5804acc
mm/kmemleak: reset tag when compare object pointerbc2f58b8e4
mm,hwpoison: unmap poisoned page before invalidation608c501d70
Revert "mm: madvise: skip unmapped vma holes passed to process_madvise"8b354e3032
mm: madvise: return correct bytes advised with process_madvise928c06c114
mm: madvise: skip unmapped vma holes passed to process_madvise51f7557c3c
ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 20209017201e8d
ALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock7b7a03d8b5
ALSA: hda: Avoid unsol event during RPM suspendinga55e2d7423
ALSA: cs4236: fix an incorrect NULL check on list iteratoredefc4b2a8
cifs: fix NULL ptr dereference in smb2_ioctl_query_info()9963ccea60
cifs: prevent bad output lengths in smb2_ioctl_query_info()b75198edda
Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads"34bc1f69bf
riscv: Increase stack size under KASAN24b9b8e95c
riscv: Fix fill_callchain return value0f8c0bd0a4
qed: validate and restrict untrusted VFs vlan promisc modea3af3d4319
qed: display VF trust configaa28075f06
scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands4bcefc78c8
mempolicy: mbind_range() set_policy() after vma_merge()fa37c17143
mm: invalidate hwpoison page cache page in fault path7188e7c96f
mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node51dbb5e36d
jffs2: fix memory leak in jffs2_scan_medium607d3aab73
jffs2: fix memory leak in jffs2_do_mount_fs7bb7428dd7
jffs2: fix use-after-free in jffs2_clear_xattr_subsystemb417f9c505
can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path3a21ee89bc
mtd: rawnand: protect access to rawnand devices while in suspend145a63201d
spi: mxic: Fix the transmit pathbe22ebe79e
pinctrl: samsung: drop pin banks references on error pathsb97b305656
remoteproc: Fix count check in rproc_coredump_write()784630df17
f2fs: fix to do sanity check on .cp_pack_total_block_counte58ee6bd93
f2fs: quota: fix loop condition at f2fs_quota_sync()ec67040703
f2fs: fix to unlock page correctly in error path of is_alive()7af164fa2f
NFSD: prevent integer overflow on 32 bit systems65e21cc042
NFSD: prevent underflow in nfssvc_decode_writeargs()b7b430104a
SUNRPC: avoid race between mod_timer() and del_timer_sync()f51ab2f60a
HID: intel-ish-hid: Use dma_alloc_coherent for firmware updatea1df8e60f2
firmware: stratix10-svc: add missing callback parameter on RSUe94f5fbe7a
Documentation: update stable tree linkf4bab992ee
Documentation: add link to stable release candidate tree10ee5662d5
KEYS: fix length validation in keyctl_pkey_params_get_2()5a41a3033a
ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE2775d8e364
clk: uniphier: Fix fixed-rate initialization25cd5872d9
greybus: svc: fix an error handling bug in gb_svc_hello()9f0cd81174
iio: inkern: make a best effort on offset calculation19e533452f
iio: inkern: apply consumer scale when no channel scale is availablee10dbe7f6a
iio: inkern: apply consumer scale on IIO_VAL_INT cases9f4fffc2ab
iio: afe: rescale: use s64 for temporary scale calculations9cd1b02655
coresight: Fix TRCCONFIGR.QE sysfs interface7b478cb67b
mei: avoid iterator usage outside of list_for_each_entryec8975417d
mei: me: add Alder Lake N device id.0a0c61dd07
xhci: fix uninitialized string returned by xhci_decode_ctrl_ctx()811f403519
xhci: make xhci_handshake timeout for xhci_reset() adjustable3a820d1ca1
xhci: fix runtime PM imbalance in USB2 resumec41387f96a
xhci: fix garbage USBSTS being logged in some cases1e0f089f70
USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c39a70732eb
virtio-blk: Use blk_validate_block_size() to validate block size290e05f346
tpm: fix reference counting for struct tpm_chipfcd3c31dd1
iommu/iova: Improve 32-bit free space estimate68c80088f5
locking/lockdep: Avoid potential access of invalid memory in lock_classf19d8dfad6
net: dsa: microchip: add spi_device_id tables8d3f4ad430
af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_registeref1a6ab36d
Input: zinitix - do not report shadow fingers21680aabc4
spi: Fix erroneous sgs value with min_t()8fb7af1b5a
Revert "gpio: Revert regression in sysfs-gpio (gpiolib.c)"18a4417a19
net:mcf8390: Use platform_get_irq() to get the interrupt102d7f6c2e
spi: Fix invalid sgs valuea4f4ce3dee
gpio: Revert regression in sysfs-gpio (gpiolib.c)fc9a35627c
ethernet: sun: Free the coherent when failing in probing3c84471925
tools/virtio: fix virtio_test execution6d98dc2369
vdpa/mlx5: should verify CTRL_VQ feature exists for MQc97ffb4184
virtio_console: break out of buf poll on remove0c00d38337
ARM: mstar: Select HAVE_ARM_ARCH_TIMERa7e75e5ed4
xfrm: fix tunnel model fragmentation behaviore05ae08ea8
HID: logitech-dj: add new lightspeed receiver idff919a7ad9
netdevice: add the case if dev is NULLc4dc584a2d
hv: utils: add PTP_1588_CLOCK to Kconfig to fix buildd136a2574a
USB: serial: simple: add Nokia phone driver38e3d48ffe
USB: serial: pl2303: add IBM device IDsd4d975e792
swiotlb: fix info leak with DMA_FROM_DEVICE414e6c8e94
ANDROID: fix up abi issue with struct snd_pcm_runtime51790ed529
Merge 5.10.109 into android12-5.10-ltsd9c5818a0b
Linux 5.10.109163960a7de
llc: only change llc->dev when bind() succeeds2b5a6d7714
nds32: fix access_ok() checks in get/put_userc064268eb8
wcn36xx: Differentiate wcn3660 from wcn362095193d12f1
tpm: use try_get_ops() in tpm-space.c5d3ff9542a
mac80211: fix potential double free on mesh joinfcc9797d0d
rcu: Don't deboost before reporting expedited quiescent state87f7ed7c36
Revert "ath: add support for special 0x0 regulatory domain"c971e6a1c8
crypto: qat - disable registration of algorithms9f4e64611e
ACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU0b2ffba2de
ACPI: battery: Add device HID and quirk for Microsoft Surface Go 32724b72b22
ACPI / x86: Work around broken XSDT on Advantech DAC-BJ01 board2c74374c2e
netfilter: nf_tables: initialize registers in nft_do_chain()eb1ba8d1c3
drivers: net: xgene: Fix regression in CRC strippinga2368d10b7
ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec6936d2ecf8
ALSA: cmipci: Restore aux vol on suspend/resumecbd27127af
ALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB0ae81ef3ea
ALSA: pcm: Add stream lock during PCM reset ioctl operationsb560d670c8
ALSA: pcm: Fix races among concurrent prealloc proc writesa38440f006
ALSA: pcm: Fix races among concurrent prepare and hw_params/hw_free calls8527c8f052
ALSA: pcm: Fix races among concurrent read/write and buffer changes0f6947f5f5
ALSA: pcm: Fix races among concurrent hw_params and hw_free calls014c81dfb3
ALSA: hda/realtek: Add quirk for ASUS GA40205256f3fd6
ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671ca8247b4df
ALSA: hda/realtek: Add quirk for Clevo NP50PNJ26fe8f3103
ALSA: hda/realtek: Add quirk for Clevo NP70PNJ80eab86a86
ALSA: usb-audio: add mapping for new Corsair Virtuoso SE5ce74ff705
ALSA: oss: Fix PCM OSS buffer allocation overflowdb03abd0da
ASoC: sti: Fix deadlock via snd_pcm_stop_xrun() call571df3393f
llc: fix netdevice reference leaks in llc_ui_bind()56dc187b35
staging: fbtft: fb_st7789v: reset display before initialization351493858e
tpm: Fix error handling in async workea21245cdc
cgroup-v1: Correct privileges check in release_agent writes824a950c3f
cgroup: Use open-time cgroup namespace for process migration perm checksf28364fe38
cgroup: Allocate cgroup_file_ctx for kernfs_open_file->priv9eeaa2d7d5
exfat: avoid incorrectly releasing for root inodeae8ec5eabb
net: ipv6: fix skb_over_panic in __ip6_append_data25c23fe40e
nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTIONab2d1d40a1
Revert "vsock: each transport cycles only on its own sockets"644c989f41
Merge 5.10.108 into android12-5.10-lts9940314ebf
Linux 5.10.10837119edab8
Revert "selftests/bpf: Add test for bpf_timer overwriting crash"9248694dac
esp: Fix possible buffer overflow in ESP transformation96340cdd55
smsc95xx: Ignore -ENODEV errors when device is unpluggede27b51af54
net: usb: Correct reset handling of smsc95xxb54daeafc1
net: usb: Correct PHY handling of smsc95xx204d38dc6a
perf symbols: Fix symbol size calculation conditionf0d43d22d2
Input: aiptek - properly check endpoint type98e7a654a5
scsi: mpt3sas: Page fault in reply q processing10a805334a
usb: usbtmc: Fix bug in pipe direction for control transfers00bdd9bf1a
usb: gadget: Fix use-after-free bug by not setting udc->dev.driver28bc026739
usb: gadget: rndis: prevent integer overflow in rndis_set_response()2c010c61e6
arm64: fix clang warning about TRAMP_VALIAS277b7f6394
net: mscc: ocelot: fix backwards compatibility with single-chain tc-flower offload2550afba2a
net: bcmgenet: skip invalid partial checksumsbf5b7aae86
bnx2x: fix built-in kernel driver load failurec07fdba12f
net: phy: mscc: Add MODULE_FIRMWARE macrosba50073cf4
net: dsa: Add missing of_node_put() in dsa_port_parse_ofa630ad5e8b
net: handle ARPHRD_PIMREG in dev_is_mac_header_xmit()336b6be6ad
drm/panel: simple: Fix Innolux G070Y2-L01 BPP settings9d45aec02f
drm/imx: parallel-display: Remove bus flags check in imx_pd_bridge_atomic_check()9b763ceda6
hv_netvsc: Add check for kvmalloc_array09a7264fb0
atm: eni: Add check for dma_map_single70b7b3c055
net/packet: fix slab-out-of-bounds access in packet_recvmsg()169add82d2
net: phy: marvell: Fix invalid comparison in the resume and suspend functions01fac1ca8a
esp6: fix check on ipv6_skip_exthdr's return valued9fe590970
vsock: each transport cycles only on its own socketsac7dd60946
efi: fix return value of __setup handlersfa3aa103e7
mm: swap: get rid of livelock in swapin readaheaddf3301dc60
ocfs2: fix crash when initialize filecheck kobj fails0f9b7b8df1
crypto: qcom-rng - ensure buffer for generate is completely filled9a559b8868
Merge branch 'android12-5.10' into `android12-5.10-lts`8646e92696
Merge 5.10.107 into android12-5.10-lts4c8814277b
Linux 5.10.1077a0d13ef67
arm64: kvm: Fix copy-and-paste error in bhb templates for v5.10 stabledc1163203a
io_uring: return back safer resurrect8fdaab341b
kselftest/vm: fix tests build with old libc2490695ffd
sfc: extend the locking on mcdi->seqno2fad5b6948
tcp: make tcp_read_sock() more robust3f9a8f8a95
nl80211: Update bss channel on channel switch for P2P_CLIENT0ba557d330
drm/vrr: Set VRR capable prop only if it is attached to connector9a8e4a5c5b
iwlwifi: don't advertise TWT supportc5ea0221c8
atm: firestream: check the return value of ioremap() in fs_init()efdd92c18e
can: rcar_canfd: rcar_canfd_channel_probe(): register the CAN device when fully readyebe106eac6
ARM: 9178/1: fix unmet dependency on BITREVERSE for HAVE_ARCH_BITREVERSEe8ad9ecc40
MIPS: smp: fill in sibling and core maps earlier8c70b9b470
mac80211: refuse aggregations sessions before authorizedd687d7559e
ARM: dts: rockchip: fix a typo on rk3288 crypto-controller6f0a94931c
ARM: dts: rockchip: reorder rk322x hmdi clocks6493c6aa8b
arm64: dts: agilex: use the compatible "intel,socfpga-agilex-hsotg"c5c8c649fe
arm64: dts: rockchip: reorder rk3399 hdmi clocksf7f062919f
arm64: dts: rockchip: fix rk3399-puma eMMC HS400 signal integrityca142038a5
xfrm: Fix xfrm migrate issues when address family changesd8889a445b
xfrm: Check if_id in xfrm_migrate6056abc99b
sctp: fix the processing for INIT chunkbdf0316982
Revert "xfrm: state and policy should fail if XFRMA_IF_ID 0"5287773dba
Merge 5.10.106 into android12-5.10-lts9e8aa4cec7
Merge 5.10.105 into android12-5.10-lts55d57b8929
Mergeb65b87e718
("arm64: proton-pack: Include unprivileged eBPF status in Spectre v2 mitigation reporting") into android12-5.10-lts9fddd6c893
UPSTREAM: arm64: proton-pack: Include unprivileged eBPF status in Spectre v2 mitigation reporting531b5ce9dd
UPSTREAM: arm64: Use the clearbhb instruction in mitigationsd05b159f71
UPSTREAM: KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated11bed3edbd
UPSTREAM: arm64: Mitigate spectre style branch history side channels9bc6a2543d
UPSTREAM: arm64: Do not include __READ_ONCE() block in assembly files2434153e7e
UPSTREAM: KVM: arm64: Allow indirect vectors to be used without SPECTRE_V3Acfa82070a7
UPSTREAM: arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spectre-v25195a80d07
UPSTREAM: arm64: Add percpu vectors for EL19e96a3d6ae
Merge56cf5326bd
("arm64: entry: Add macro for reading symbol addresses from the trampoline") into android12-5.10-lts327f1e7d81
Linux 5.10.106648895da69
watch_queue: Fix filter limit check8bb5b72dbd
ARM: fix Thumb2 regression with Spectre BHB6b1249db9e
ext4: add check to prevent attempting to resize an fs with sparse_super2b297cf764d
x86/traps: Mark do_int3() NOKPROBE_SYMBOL29f6f35001
x86/boot: Add setup_indirect support in early_memremap_is_setup_data()b3444e5b64
x86/boot: Fix memremap of setup_indirect structures24d268130e
watch_queue: Make comment about setting ->defunct more accurateec03510e0a
watch_queue: Fix lack of barrier/sync/lock between post and read06ab844439
watch_queue: Free the alloc bitmap when the watch_queue is torn down880acbb718
watch_queue: Fix the alloc bitmap size to reflect notes allocatede2b52ca498
watch_queue: Fix to always request a pow-of-2 pipe ring size2039900aad
watch_queue: Fix to release page in ->release()d729d4e99f
watch_queue, pipe: Free watchqueue state after clearing pipe ring573a3228ca
virtio: acknowledge all features before accessbf52b627cf
virtio: unexport virtio_finalize_features8bfb959ea2
arm64: dts: marvell: armada-37xx: Remap IO space to bus address 0x01ef5fe3dba
riscv: Fix auipc+jalr relocation range checksa69aa422b4
mmc: meson: Fix usage of meson_mmc_post_req()0c6eeaf8c1
net: macb: Fix lost RX packet wakeup race in NAPI receive6d9700b445
staging: gdm724x: fix use after free in gdm_lte_rx()8c1bc04c8c
staging: rtl8723bs: Fix access-point mode deadlockab5595b45f
fuse: fix pipe buffer lifetime for direct_iof2c52a4baf
ARM: Spectre-BHB: provide empty stub for non-configf1f5d089fc
selftests/memfd: clean up mapping in mfd_fail_write71013d071b
selftest/vm: fix map_fixed_noreplace test failure8d276f10e8
tracing: Ensure trace buffer is at least 4096 bytes largeae7597b47d
ipv6: prevent a possible race condition with lifetimes8c0c50e9fc
Revert "xen-netback: Check for hotplug-status existence before watching"625c04b523
Revert "xen-netback: remove 'hotplug-status' once it has served its purpose"a0e2768fb9
gpio: Return EPROBE_DEFER if gc->to_irq is NULL65d4e9d130
hwmon: (pmbus) Clear pmbus fault/warning bits after readd15c9f6e33
net-sysfs: add check for netdevice being present to speed_show8c023c3039
spi: rockchip: terminate dma transmission when slave abort889254f98e
spi: rockchip: Fix error in getting num-cs property4fb9be675b
selftests/bpf: Add test for bpf_timer overwriting crashdc1c2b47b5
net: bcmgenet: Don't claim WOL when its not availableb7e4d9ba2d
sctp: fix kernel-infoleak for SCTP sockets3cf533f120
net: phy: DP83822: clear MISR2 register to disable interrupts21044e679e
gianfar: ethtool: Fix refcount leak in gfar_get_ts_info3a4cd1c51e
gpio: ts4900: Do not set DAT and OE together7702e7e9e3
selftests: pmtu.sh: Kill tcpdump processes launched by subshell.2b1c85f565
NFC: port100: fix use-after-free in port100_send_complete1fdabf2cf4
net/mlx5e: Lag, Only handle events from highest priority multipath entryf3331bc174
net/mlx5: Fix a race on command flush flow5f1340963b
net/mlx5: Fix size field in bufferx_reg structe2201ef32f
ax25: Fix NULL pointer dereference in ax25_kill_by_devicecc7679079c
net: ethernet: lpc_eth: Handle error for clk_enableb3e4fcb539
net: ethernet: ti: cpts: Handle error for clk_enable5e42f90d72
tipc: fix incorrect order of state message data sanity check979b418b96
ethernet: Fix error handling in xemaclite_of_probe506d61bc1b
ice: Fix curr_link_speed advertised speed852a9e97d3
ice: Rename a couple of variablesb21ffd5469
ice: Remove unnecessary checker loop875967aff5
ice: Align macro names to the specification8c613f7cd3
ice: stop disabling VFs due to PF error responsesd9ee2cbff2
i40e: stop disabling VFs due to PF error responses965070a2b7
ARM: dts: aspeed: Fix AST2600 quad spi group96b01b8541
net: dsa: mt7530: fix incorrect test in mt753x_phylink_validate()ed5bb00d86
drm/sun4i: mixer: Fix P010 and P210 format numbers93223495bc
qed: return status of qed_iov_get_link5bee2ed050
esp: Fix BEET mode inter address family tunneling on GSO16386479ef
net: qlogic: check the return value of dma_alloc_coherent() in qed_vf_hw_prepare()33c74f8085
isdn: hfcpci: check the return value of dma_set_mask() in setup_hw()cca9d5035b
virtio-blk: Don't use MAX_DISCARD_SEGMENTS if max_discard_seg is zeroa3d5fcc6cf
mISDN: Fix memory leak in dsp_pipeline_build()f97ad179d1
mISDN: Remove obsolete PIPELINE_DEBUG debugging information2de76d37d4
tipc: fix kernel panic when enabling bearerea3a5e6df5
arm64: dts: armada-3720-turris-mox: Add missing ethernet0 alias2c6a75ea32
HID: vivaldi: fix sysfs attributes leak2a18a38cbc
clk: qcom: gdsc: Add support to update GDSC transition delay0d6882dd15
ARM: boot: dts: bcm2711: Fix HVS register range5c5685cc64
Merge7ae8127e41
("arm64: Add HWCAP for self-synchronising virtual counter") into android12-5.10-lts19787ca417
Mergeb19eaa004f
("arm64: Add Cortex-A510 CPU part definition") into android12-5.10-lts199789221d
Mergefc8070a9c5
("arm64: Add Neoverse-N2, Cortex-A710 CPU part definition") into android-mainlinef14cf58208
UPSTREAM: ARM: fix Thumb2 regression with Spectre BHB74562af594
UPSTREAM: ARM: Spectre-BHB: provide empty stub for non-configb0ff4e14b1
UPSTREAM: ARM: fix build warning in proc-v7-bugs.cf3ec5e6124
UPSTREAM: ARM: Do not use NOCROSSREFS directive with ld.lld5c1f913cd2
UPSTREAM: ARM: fix co-processor register typo4c5218ead0
UPSTREAM: ARM: fix build error when BPF_SYSCALL is disabled7ab81873bd
Merge302754d023
("ARM: include unprivileged BPF status in Spectre V2 reporting") into android12-5.10-ltsd221da1d6f
Merged04937ae94
("x86/speculation: Warn about eIBRS + LFENCE + Unprivileged eBPF + SMT") into android12-5.10-lts0773736e48
Merge 5.10.104 into android12-5.10-lts56d625a4ce
ANDROID: fix up rndis ABI breakage67c781d938
Linux 5.10.105561e91e5fe
Revert "ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE"206c8e271b
xen/netfront: react properly to failing gnttab_end_foreign_access_ref()39c00d0928
xen/gnttab: fix gnttab_end_foreign_access() without page specifiedc4b16486d6
xen/pvcalls: use alloc/free_pages_exact()8357d75bfd
xen/9p: use alloc/free_pages_exact()17f01b7206
xen: remove gnttab_query_foreign_access()5f36ae75b8
xen/gntalloc: don't use gnttab_query_foreign_access()3047255182
xen/scsifront: don't use gnttab_query_foreign_access() for mapped statusf6690dd944
xen/netfront: don't use gnttab_query_foreign_access() for mapped status96219af4e5
xen/blkfront: don't use gnttab_query_foreign_access() for mapped status3d81e85f30
xen/grant-table: add gnttab_try_end_foreign_access()5c600371b8
xen/xenbus: don't let xenbus_grant_ring() remove grants in error caseb65b87e718
arm64: proton-pack: Include unprivileged eBPF status in Spectre v2 mitigation reporting90f59cc2f2
ARM: fix build warning in proc-v7-bugs.c551717cf3b
arm64: Use the clearbhb instruction in mitigations8c4192d126
ARM: Do not use NOCROSSREFS directive with ld.lld38c26bdb3c
KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated1749b553d7
ARM: fix co-processor register typoe192c8baa6
arm64: Mitigate spectre style branch history side channelsa330601c63
ARM: fix build error when BPF_SYSCALL is disabled192023e6ba
KVM: arm64: Allow indirect vectors to be used without SPECTRE_V3A13a807a0a0
arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spectre-v256cf5326bd
arm64: entry: Add macro for reading symbol addresses from the trampoline1f63326a52
arm64: Add percpu vectors for EL13f21b7e355
arm64: entry: Add vectors that have the bhb mitigation sequences4937955296
arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations26211252c1
arm64: entry: Allow the trampoline text to occupy multiple pages73ee716a1f
arm64: entry: Make the kpti trampoline's kpti sequence optional8c691e5308
arm64: entry: Move trampoline macros out of ifdef'd sectione550250632
arm64: entry: Don't assume tramp_vectors is the start of the vectors5275fb5ea5
arm64: entry: Allow tramp_alias to access symbols after the 4K boundarybda8960281
arm64: entry: Move the trampoline data page before the text paged93b25a665
arm64: entry: Free up another register on kpti's tramp_exit path7ae8127e41
arm64: Add HWCAP for self-synchronising virtual counterb19eaa004f
arm64: Add Cortex-A510 CPU part definitionfc8070a9c5
arm64: Add Neoverse-N2, Cortex-A710 CPU part definition5242d6971e
arm64: entry: Make the trampoline cleanup optional8617156931
arm64: Add Cortex-X2 CPU part definition7048a21086
arm64: spectre: Rename spectre_v4_patch_fw_mitigation_conduitdc5b630c0d
arm64: entry.S: Add ventry overflow sanity checks97d8bdf331
arm64: cpufeature: add HWCAP for FEAT_RPRES162aa002ec
arm64: cpufeature: add HWCAP for FEAT_AFPdbcfa98539
arm64: add ID_AA64ISAR2_EL1 sys register302754d023
ARM: include unprivileged BPF status in Spectre V2 reportingd04937ae94
x86/speculation: Warn about eIBRS + LFENCE + Unprivileged eBPF + SMTf3c12fc53e
arm64: cputype: Add CPU implementor & types for the Apple M1 cores3f9c958e35
ARM: Spectre-BHB workaroundcc9e3e55bd
x86/speculation: Warn about Spectre v2 LFENCE mitigation29d9b56df1
ARM: use LOADADDR() to get load address of sectionse335384560
x86/speculation: Update link to AMD speculation whitepaper46deb22468
ARM: early traps initialisation2fdf67a1d2
x86/speculation: Use generic retpoline by default on AMDb7f1e73c4d
ARM: report Spectre v2 status through sysfsafc2d635b5
x86/speculation: Include unprivileged eBPF status in Spectre v2 mitigation reporting071e8b69d7
Documentation/hw-vuln: Update spectre doca6a119d647
x86/speculation: Add eIBRS + Retpoline optionsf38774bb6e
x86/speculation: Rename RETPOLINE_AMD to RETPOLINE_LFENCE206cfe2dac
x86,bugs: Unconditionally allow spectre_v2=retpoline,amd97581b56b5
Linux 5.10.104dbbe09d953
hamradio: fix macro redefine warningdcd03efd7e
Revert "xfrm: xfrm_state_mtu should return at least 1280 for ipv6"292e1c88b8
btrfs: add missing run of delayed items after unlink during log replay41712c5fa5
btrfs: qgroup: fix deadlock between rescan worker and remove qgroup6e0319e770
btrfs: fix lost prealloc extents beyond eof after full fsync827172ffa9
tracing: Fix return value of __setup handlers78059b1cfc
tracing/histogram: Fix sorting on old "cpu" value0e188fde82
HID: add mapping for KEY_ALL_APPLICATIONSf276ea5035
HID: add mapping for KEY_DICTATE3b8f2a7aed
Input: samsung-keypad - properly state IOMEM dependencya621ae6394
Input: elan_i2c - fix regulator enable count imbalance after suspend/resume1397bbcd81
Input: elan_i2c - move regulator_[en|dis]able() out of elan_[en|dis]able_power()988f4f29cc
net: dcb: disable softirqs in dcbnl_flush_dev()6828da5dea
drm/amdgpu: fix suspend/resume hang regressionf5e496ef73
nl80211: Handle nla_memdup failures in handle_nan_filter64e4305a03
iavf: Refactor iavf state machine trackinge6bc597fbc
net: chelsio: cxgb3: check the return value of pci_find_capability()320980b249
ibmvnic: complete init_done on transport events86027004bb
ARM: tegra: Move panels to AUX busfbb810825a
soc: fsl: qe: Check of ioremap return value2824f6939e
soc: fsl: guts: Add a missing memory allocation failure check3afe488d5c
soc: fsl: guts: Revert commit3c0d64e867
4470913079
ARM: dts: Use 32KiHz oscillator on devkit8000298f6fae54
ARM: dts: switch timer config to common devkit8000 devicetree8b20c1999d
s390/extable: fix exception table sorting49aa9c9c7f
memfd: fix F_SEAL_WRITE after shmem huge page allocated6acbc88752
ibmvnic: free reset-work-item when flushing9d8a11d74d
igc: igc_write_phy_reg_gpy: drop premature return223744f521
pinctrl: sunxi: Use unique lockdep classes for IRQs2851b76e5f
selftests: mlxsw: tc_police_scale: Make test more robust85bf489c5c
ARM: 9182/1: mmu: fix returns from early_param() and __setup() functions6b63410490
ARM: Fix kgdb breakpoint for Thumb2fefe4cb4a6
igc: igc_read_phy_reg_gpy: drop premature return0632854fb1
arm64: dts: rockchip: Switch RK3399-Gru DP to SPDIF output43eaf1b178
can: gs_usb: change active_channels's type from atomic_t to u8daaed6ced8
ASoC: cs4265: Fix the duplicated control name8b8ac465bf
firmware: arm_scmi: Remove space in MODULE_ALIAS name667df6fe3e
efivars: Respect "block" flag in efivar_entry_set_safe()283c37e542
ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc()5f394102ee
net: arcnet: com20020: Fix null-ptr-deref in com20020pci_probe()92b791771a
ibmvnic: register netdev after init of adapter6e0f986032
net: sxgbe: fix return value of __setup handlere1a82db1eb
iavf: Fix missing check for running netdevc9a066fe45
mac80211: treat some SAE auth steps as finale6d7f57f91
net: stmmac: fix return value of __setup handlerfa65989a48
mac80211: fix forwarded mesh frames AC & queue selectiondcc3423c1d
ia64: ensure proper NUMA distance and possible map initialization1312ef5ad0
sched/topology: Fix sched_domain_topology_level alloc in sched_init_numa()d753aecb3d
sched/topology: Make sched_init_numa() use a set for the deduplicating sort05ae1f0fe9
ice: fix concurrent reset and removal of VFs41edeeaae5
ice: Fix race conditions between virtchnl handling and VF ndo ops0c145262ac
rcu/nocb: Fix missed nocb_timer requeue9bb7237cc7
net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error cause by serverd7eb662625
net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error generated by client2e8d465b83
net/smc: fix connection leak6a8a4dc2a2
net: dcb: flush lingering app table entries for unregistered devicesf4c63b24de
net: ipv6: ensure we call ipv6_mc_down() at most oncea9c4a74ad5
batman-adv: Don't expect inter-netns unique iflink indices3dae11d21f
batman-adv: Request iflink once in batadv_get_real_netdevicedcf10d78ff
batman-adv: Request iflink once in batadv-on-batadv check81f817f3e5
netfilter: nf_queue: handle socket prefetch4d05239203
netfilter: nf_queue: fix possible use-after-free3b9ba964f7
netfilter: nf_queue: don't assume sk is full socket4e178ed14b
net: fix up skbs delta_truesize in UDP GRO frag_listeb5e444fe3
e1000e: Correct NVM checksum verification flowb53d4bfd1a
xfrm: enforce validity of offload input flags2f0e6d80e8
xfrm: fix the if_id check in changelink24efaae03b
bpf, sockmap: Do not ignore orig_len parameter8b0142c414
netfilter: fix use-after-free in __nf_register_net_hook()4952faa77d
xfrm: fix MTU regressione93f2be33d
mm: Consider __GFP_NOWARN flag for oversized kvmalloc() calls912186db09
ntb: intel: fix port config status offset for SPR1c0b51e62a
thermal: core: Fix TZ_GET_TRIP NULL pointer dereferencea1753d5c29
xen/netfront: destroy queues before real_num_tx_queues is zeroedce41d80391
drm/i915: s/JSP2/ICP2/ PCH61a895da48
iommu/amd: Recover from event log overflow6951a58881
ASoC: ops: Shift tested values in snd_soc_put_volsw() by +mindd9dd24fd7
riscv: Fix config KASAN && DEBUG_VIRTUAL7211aab288
riscv: Fix config KASAN && SPARSEMEM && !SPARSE_VMEMMAP00fb385f0a
riscv/efi_stub: Fix get_boot_hartid_from_fdt() return value336872601c
ALSA: intel_hdmi: Fix reference to PCM buffer addresse57dfaf66f
tracing: Add ustring operation to filtering string pointers4a9d2390f3
drm/amdgpu: check vm ready by amdgpu_vm->evicting flag67e25eb1b4
ata: pata_hpt37x: fix PCI clock detection335f11ff74
serial: stm32: prevent TDR register overwrite when sending x_charc999c5927e
tracing: Add test for user space strings when filtering on string pointersdb36a94ed6
exfat: fix i_blocks for files truncated over 4 GiB1b810d5cb6
exfat: reuse exfat_inode_info variable instead of calling EXFAT_I()fdd64084e4
usb: gadget: clear related members when goto failc13159a588
usb: gadget: don't release an existing dev->buf00d5ac05af
net: usb: cdc_mbim: avoid altsetting toggling for Telit FN99016f903afba
i2c: qup: allow COMPILE_TEST57c333ad8c
i2c: cadence: allow COMPILE_TEST9d6285e632
dmaengine: shdma: Fix runtime PM imbalance on error37b06d5ebf
selftests/seccomp: Fix seccomp failure by adding missing headersdf9db1a2af
cifs: fix double free race when mount fails in cifs_get_root()e3850e211d
tipc: fix a bit overflow in tipc_crypto_key_rcv()6d4985b8a0
KVM: arm64: vgic: Read HW interrupt pending state from the HW5d4b00e053
Input: clear BTN_RIGHT/MIDDLE on buttonpads6e7015d982
regulator: core: fix false positive in regulator_late_cleanup()467d664e5f
ASoC: rt5682: do not block workqueue if card is unbound0b050b7a0d
ASoC: rt5668: do not block workqueue if card is unbound11956c6eeb
i2c: bcm2835: Avoid clock stretching timeouts13f0ea8d11
mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work46f6d66219
mac80211_hwsim: report NOACK frames in tx_statusd172937367
Merge 5.10.103 into android12-5.10-lts915a747ac7
Linux 5.10.10378706b051a
memblock: use kfree() to release kmalloced memblock regions4185b788d3
gpio: tegra186: Fix chip_data type confusionbb2e0a7723
tty: n_gsm: fix deadlock in gsmtty_open()e4c8cb95d0
tty: n_gsm: fix wrong tty control line for flow control1f0641dd0b
tty: n_gsm: fix NULL pointer access due to DLCI release1e35cb9e12
tty: n_gsm: fix proper link termination after failed open90b47e617f
tty: n_gsm: fix encoding of control signal octet bit DV9e2dbc31e3
riscv: fix oops caused by irqsoff latency tracere098933866
thermal: int340x: fix memory leak in int3400_notify()5b1cef5798
RDMA/cma: Do not change route.addr.src_addr outside state checks8fe4da5524
driver core: Free DMA range map when device is released2148247643
xhci: Prevent futile URB re-submissions due to incorrect return value.0b0a229da1
xhci: re-initialize the HC during resume if HCE was set328faee6d4
usb: dwc3: gadget: Let the interrupt handler disable bottom halves.e57bdee866
usb: dwc3: pci: Fix Bay Trail phy GPIO mappings99b2425d91
usb: dwc2: drd: fix soft connect when gadget is unconfiguredc786688037
USB: serial: option: add Telit LE910R1 compositions220ba174f1
USB: serial: option: add support for DW5829e3a1dd56e56
tracefs: Set the group ownership in apply_options() not parse_options()bfa8ffbaaa
USB: gadget: validate endpoint index for xilinx udc4ce247af3f
usb: gadget: rndis: add spinlock for rndis response listddc254fc88
Revert "USB: serial: ch341: add new Product ID for CH341A"d3fce1b6bd
ata: pata_hpt37x: disable primary channel on HPT37118701d8afa
sc16is7xx: Fix for incorrect data being transmittedd5ddd7343a
iio: Fix error handling for PMeabcc609cb
iio: imu: st_lsm6dsx: wait for settling time in st_lsm6dsx_read_oneshotb8d411a962
iio: adc: ad7124: fix mask used for setting AIN_BUFP & AIN_BUFM bits1aa12ecfdc
iio: adc: men_z188_adc: Fix a resource leak in an error handling pathafbeee13be
tracing: Have traceon and traceoff trigger honor the instance99eb8d6941
RDMA/ib_srp: Fix a deadlocka7ab53d3c2
configfs: fix a race in configfs_{,un}register_subsystem()0ecd3e35d7
RDMA/rtrs-clt: Move free_permit from free_clt to rtrs_clt_closeb0ecf9e594
RDMA/rtrs-clt: Kill wait_for_inflight_permits8260f1800f
RDMA/rtrs-clt: Fix possible double free in error casedc64aa4c7d
regmap-irq: Update interrupt clear register for proper reset2efece1368
spi: spi-zynq-qspi: Fix a NULL pointer dereference in zynq_qspi_exec_mem_op()67819b983e
net/mlx5e: kTLS, Use CHECKSUM_UNNECESSARY for device-offloaded packetsbe55d3e76c
net/mlx5: Fix wrong limitation of metadata match on ecpf8d617110d7
net/mlx5: Fix possible deadlock on rule deletion1c59128955
udp_tunnel: Fix end of loop test in udp_tunnel_nic_unregister()a184f4dd9b
surface: surface3_power: Fix battery readings on batteries without a serial number91f56a8527
net/smc: Use a mutex for locking "struct smc_pnettable"7e9880e81d
netfilter: nf_tables: fix memory leak during stateful obj updateaf4bc921d3
nfp: flower: Fix a potential leak in nfp_tunnel_add_shared_mac()58a6d5f24f
net: Force inlining of checksum functions in net/checksum.h550d98ab30
net: ll_temac: check the return value of devm_kmalloc()0fc1847359
net/sched: act_ct: Fix flow table lookup after ct clear or switching zonesbc8f768af3
net/mlx5e: Fix wrong return value on ioctl EEPROM query failurefd020eaaa2
drm/edid: Always set RGB4441df9d552fe
openvswitch: Fix setting ipv6 fields causing hw csum failuredac2490d9e
gso: do not skip outer ip header in case of ipip and net_failoverb692d5dc6f
tipc: Fix end of loop tests for list_for_each_entry()c5722243d0
net: __pskb_pull_tail() & pskb_carve_frag_list() drop_monitor friends4a93c65946
io_uring: add a schedule point in io_add_buffers()7ef94bfb08
bpf: Add schedule points in batch ops4f5d47e6b4
selftests: bpf: Check bpf_msg_push_data return valued0caa7218d
bpf: Do not try bpf_msg_push_data with len 0962b2a3188
hwmon: Handle failure to register sensor with thermal zone correctlyd8b78314c5
bnxt_en: Fix active FEC reporting to ethtool7e1eae5d1a
bnx2x: fix driver load from initrd51e96061c6
perf data: Fix double free in perf_session__delete()5419b5be88
ping: remove pr_err from ping_lookup5da17865c7
optee: use driver internal tee_context for some rpceb35461384
tee: export teedev_open() and teedev_close_context()bae7fc6f0d
x86/fpu: Correct pkru/xstate inconsistency68f19845f5
netfilter: nf_tables_offload: incorrect flow offload action array size69560efa00
CDC-NCM: avoid overflow in sanity checking2aeba1ea7c
USB: zaurus: support another broken Zaurus4f5f5411f0
sr9700: sanity check for packet length55eec5c630
drm/i915: Correctly populate use_sagv_wm for all pipesff9134882d
drm/amdgpu: disable MMHUB PG for Picasso72fdfc75d4
KVM: x86/mmu: make apf token non-zero to fix bug646b532f32
parisc/unaligned: Fix ldw() and stw() unalignment handlers397b5433f7
parisc/unaligned: Fix fldd and fstd unaligned handlers on 32-bit kernel698dc7d13c
vhost/vsock: don't check owner in vhost_vsock_stop() while releasing84e303b4d5
clk: jz4725b: fix mmc0 clock gating72a5b01875
btrfs: tree-checker: check item_size for dev_item5c967dd073
btrfs: tree-checker: check item_size for inode_itemfcec42dd28
cgroup/cpuset: Fix a race between cpuset_attach() and cpu hotpluge1b86e7f5c
Merge branch 'android12-5.10' into `android12-5.10-lts`cbfab5c59c
Revert "ipv6: per-netns exclusive flowlabel checks"79553fad5c
Merge 5.10.102 into android12-5.10-lts47667effb7
Linux 5.10.1026062d1267f
lockdep: Correct lock_classes index mappingf333c1916f
i2c: brcmstb: fix support for DSL and CM variants9fee985f9a
copy_process(): Move fd_install() out of sighand->siglock critical sectione3fdbc40b7
i2c: qcom-cci: don't put a device tree node before i2c_add_adapter()b5b2a92117
i2c: qcom-cci: don't delete an unregistered adapter3b6d25d1b6
dmaengine: sh: rcar-dmac: Check for error num after dma_set_max_seg_size2c35c95d36
dmaengine: stm32-dmamux: Fix PM disable depth imbalance in stm32_dmamux_probe4f907b6eb7
dmaengine: sh: rcar-dmac: Check for error num after setting mask797b380f07
net: sched: limit TC_ACT_REPEAT loops595c259f75
EDAC: Fix calculation of returned address and next offset in edac_align_ptr()f6ce4e3289
scsi: lpfc: Fix pt2pt NVMe PRLI reject LOGO loop3680b2b810
kconfig: fix failing to generate auto.confb6787e284d
net: macb: Align the dma and coherent dma masks439171a291
net: usb: qmi_wwan: Add support for Dell DW5829e15616ba17d
tracing: Fix tp_printk option related with tp_printk_stop_on_boot5a253a23d9
drm/rockchip: dw_hdmi: Do not leave clock enabled in error case1e7433fb95
xprtrdma: fix pointer derefs in error cases of rpcrdma_ep_createa21f472fb5
soc: aspeed: lpc-ctrl: Block error printing on probe defer casesfecb05b1ce
ata: libata-core: Disable TRIM on M88V29b19ec7afa9
lib/iov_iter: initialize "flags" in new pipe_buffer3045532278
kconfig: let 'shell' return enough output for deep path namese05dde47f5
selftests: fixup build warnings in pidfd / clone3 tests531a56c2e0
pidfd: fix test failure due to stack overflow on some arches429ef36c4f
arm64: dts: meson-g12: drop BL32 region from SEI510/SEI6101415f22ee5
arm64: dts: meson-g12: add ATF BL32 reserved-memory region605080f19e
arm64: dts: meson-gx: add ATF BL32 reserved-memory regioneefb68794f
netfilter: conntrack: don't refresh sctp entries in closed state1ab4824857
irqchip/sifive-plic: Add missing thead,c900-plic match string98bc06c46d
phy: usb: Leave some clocks running during suspend717f2fa858
ARM: OMAP2+: adjust the location of put_device() call in omapdss_init_of6932353af7
ARM: OMAP2+: hwmod: Add of_node_put() before break521dcc107e
NFS: Don't set NFS_INO_INVALID_XATTR if there is no xattr cachefb00319afb
KVM: x86/pmu: Use AMD64_RAW_EVENT_MASK for PERF_TYPE_RAW0ee4bb8ce8
KVM: x86/pmu: Don't truncate the PerfEvtSeln MSR when creating a perf event99cd2a0437
KVM: x86/pmu: Refactoring find_arch_event() to pmc_perf_hw_id()91d8866ca5
Drivers: hv: vmbus: Fix memory leak in vmbus_add_channel_kobja176d559e8
mtd: rawnand: brcmnand: Fixed incorrect sub-page ECC status1a49b1b0b0
mtd: rawnand: qcom: Fix clock sequencing in qcom_nandc_probe()8c848744c1
tty: n_tty: do not look ahead for EOL character past the end of the buffer8daa0436ce
NFS: Do not report writeback errors in nfs_getattr()f9b7385c0f
NFS: LOOKUP_DIRECTORY is also ok with symlinks598dbaf74b
block/wbt: fix negative inflight counter when remove scsi devicedc6faa0ede
ASoC: tas2770: Insert post reset delay9dcedbe943
KVM: SVM: Never reject emulation due to SMAP errata for !SEV guestsa4eeeaca50
mtd: rawnand: gpmi: don't leak PM reference in error pathfb26219b40
powerpc/lib/sstep: fix 'ptesync' build error54f76366cd
ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_range()0df1badfdf
ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw()1ef76832fe
ALSA: hda: Fix missing codec probe on Shenker Dock 15c72c3b597a
ALSA: hda: Fix regression on forced probe mask option63b1602c2f
ALSA: hda/realtek: Fix deadlock by COEF mutexb6a5e8f45f
ALSA: hda/realtek: Add quirk for Legion Y9000X 201967de71b943
selftests/exec: Add non-regular to TEST_GEN_PROGSd3018a1962
perf bpf: Defer freeing string after possible strlen() on it016e3ca9c5
dpaa2-eth: Initialize mutex used in one step timestamping path50f3b00d4c
libsubcmd: Fix use-after-free for realloc(..., 0)ffa8df4f0e
bonding: fix data-races around agg_select_timerd9bd9d4c60
net_sched: add __rcu annotation to netdev->qdisc877a05672f
drop_monitor: fix data-race in dropmon_net_event / trace_napi_poll_hita0e004e620
bonding: force carrier update when releasing slave8dec3c4e73
ping: fix the dif and sdif check in ping_lookup6793a9b028
net: ieee802154: ca8210: Fix lifs/sifs periodsf48bd34137
net: dsa: lantiq_gswip: fix use after free in gswip_remove()d9b2203e5a
net: dsa: lan9303: fix reset on probe4f523f15e5
ipv6: per-netns exclusive flowlabel checks100344200a
netfilter: nft_synproxy: unregister hooks on init error path26931971db
selftests: netfilter: fix exit value for nft_concat_rangeb26ea3f6b7
iwlwifi: pcie: gen2: fix locking when "HW not ready"8867f99379
iwlwifi: pcie: fix locking when "HW not ready"f3c1910257
drm/i915/gvt: Make DRM_I915_GVT depend on X8687cd1bbd66
vsock: remove vsock from connected table when connect is interrupted by a signaleb7bf11e8e
drm/i915/opregion: check port number bounds for SWSCI display power state5564d83ebc
drm/radeon: Fix backlight control on iMac 12,1008508c16a
iwlwifi: fix use-after-free44b81136e8
kbuild: lto: Merge module sections if and only if CONFIG_LTO_CLANG is enabled8b53e5f737
kbuild: lto: merge module sections45102b538a
random: wake up /dev/random writers after zap143aaf79ba
gcc-plugins/stackleak: Use noinstr in favor of notracede55891e16
Revert "module, async: async_synchronize_full() on module init iff async is used"3c958dbcba
x86/Xen: streamline (and fix) PV CPU enumeratione76d0a9692
drm/amdgpu: fix logic inversion in check324f5bdc52
nvme-rdma: fix possible use-after-free in transport error_recovery worke192184cf8
nvme-tcp: fix possible use-after-free in transport error_recovery work0ead57ceb2
nvme: fix a possible use-after-free in controller reset during loadfe9ac3eaa2
scsi: pm8001: Fix use-after-free for aborted SSP/STP sas_taskd872e7b5fe
scsi: pm8001: Fix use-after-free for aborted TMF sas_task1e73f5cfc1
quota: make dquot_quota_sync return errors from ->sync_fsc405640aad
vfs: make freeze_super abort when sync_filesystem returns errorb9a229fd48
ax25: improve the incomplete fix to avoid UAF and NPD bugs139fce2992
selftests: skip mincore.check_file_mmap when fs lacks needed support204a2390da
selftests: openat2: Skip testcases that fail with EOPNOTSUPP2be48bfac7
selftests: openat2: Add missing dependency in Makefile74a30666b4
selftests: openat2: Print also errno in failure messagesbfc84cfd90
selftests/zram: Adapt the situation that /dev/zram0 is being usedf0eba714c1
selftests/zram01.sh: Fix compression ratio calculation7bb704b69f
selftests/zram: Skip max_comp_streams interface on newer kernel0fd484644c
net: ieee802154: at86rf230: Stop leaking skb's0c18a75193
kselftest: signal all child processes1136141f19
selftests: rtc: Increase test timeout so that all tests run79175b6ee6
platform/x86: ISST: Fix possible circular locking dependency detected066c905ed0
platform/x86: touchscreen_dmi: Add info for the RWC NANOTE P8 AY07J 2-in-10b17d4b51c
btrfs: send: in case of IO error log it78a68bbebd
parisc: Add ioread64_lo_hi() and iowrite64_lo_hi()ade1077c7f
PCI: hv: Fix NUMA node assignment when kernel boots with custom NUMA topology254090925e
mm: don't try to NUMA-migrate COW pages that have other usesab2b4e65a1
mmc: block: fix read single on recovery logic7756716872
parisc: Fix sglist access in ccio-dma.cf8f519d7df
parisc: Fix data TLB miss in sba_unmap_sg4d569b959e
parisc: Drop __init from map_pages declaration8e3f9a098e
serial: parisc: GSC: fix build when IOSAPIC is not setfe383750d4
Revert "svm: Add warning message for AVIC IPI invalid target"126382b556
HID:Add support for UGTABLET WP5540f100e758ce
scsi: lpfc: Fix mailbox command failure during driver initialization4578b979ef
can: isotp: add SF_BROADCAST support for functional addressing5d42865fc3
can: isotp: prevent race between isotp_bind() and isotp_setsockopt()db3f3636e4
fs/proc: task_mmu.c: don't read mapcount for migration entry0849f83e47
fget: clarify and improve __fget_files() implementation657991fb06
rcu: Do not report strict GPs for outgoing CPUs8c8385972e
mm: memcg: synchronize objcg lists with a dedicated spinlockd0f4aa2d97
drm/nouveau/pmu/gm200-: use alternate falcon reset sequenceadd227a8d8
Merge branch 'android12-5.10' into `android12-5.10-lts` The .xml abi file was also updated due to changes required from the -lts branch that were merged there: Leaf changes summary: 1 artifact changed Changed leaf types summary: 1 leaf type changed Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable 'struct snd_pcm_runtime at pcm.h:344:1' changed: type size changed from 6144 to 6592 (in bits) 2 data member insertions: 'mutex buffer_mutex', at offset 6144 (in bits) at pcm.h:432:1 'atomic_t buffer_accessing', at offset 6528 (in bits) at pcm.h:433:1 114 impacted interfaces Change-Id: Ie9262400472eda3e30d1ef26738df1d5dd4c319d Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
commit
131b12d50f
@ -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::
|
||||
|
@ -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.
|
||||
|
@ -44,7 +44,7 @@ patternProperties:
|
||||
properties:
|
||||
reg:
|
||||
description:
|
||||
Contains the native Ready/Busy IDs.
|
||||
Contains the chip-select IDs.
|
||||
|
||||
nand-ecc-mode:
|
||||
description:
|
||||
@ -174,6 +174,6 @@ examples:
|
||||
nand-ecc-mode = "soft";
|
||||
nand-ecc-algo = "bch";
|
||||
|
||||
/* controller specific properties */
|
||||
/* NAND chip specific properties */
|
||||
};
|
||||
};
|
||||
|
@ -8,11 +8,13 @@ Required properties:
|
||||
- reg: should contain 2 entries, one for the registers and one for the direct
|
||||
mapping area
|
||||
- reg-names: should contain "regs" and "dirmap"
|
||||
- interrupts: interrupt line connected to the SPI controller
|
||||
- clock-names: should contain "ps_clk", "send_clk" and "send_dly_clk"
|
||||
- clocks: should contain 3 entries for the "ps_clk", "send_clk" and
|
||||
"send_dly_clk" clocks
|
||||
|
||||
Optional properties:
|
||||
- interrupts: interrupt line connected to the SPI controller
|
||||
|
||||
Example:
|
||||
|
||||
spi@43c30000 {
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
==============
|
||||
|
@ -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
|
||||
--------------------
|
||||
|
||||
|
2
Makefile
2
Makefile
@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
VERSION = 5
|
||||
PATCHLEVEL = 10
|
||||
SUBLEVEL = 101
|
||||
SUBLEVEL = 110
|
||||
EXTRAVERSION =
|
||||
NAME = Dare mighty things
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -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;
|
||||
|
@ -118,7 +118,7 @@ pinctrl_fwspid_default: fwspid_default {
|
||||
};
|
||||
|
||||
pinctrl_fwqspid_default: fwqspid_default {
|
||||
function = "FWQSPID";
|
||||
function = "FWSPID";
|
||||
groups = "FWQSPID";
|
||||
};
|
||||
|
||||
|
@ -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>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -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>;
|
||||
|
@ -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>;
|
||||
};
|
||||
};
|
||||
|
@ -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>;
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
@ -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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -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 = <®_module_3v3_avdd>;
|
||||
|
@ -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 = <®_audio_3v3>;
|
||||
iov-supply = <®_audio_3v3>;
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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 = <®_2p5v>;
|
||||
VDDIO-supply = <®_vref_1v8>;
|
||||
};
|
||||
|
@ -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 = <®_2p5v>;
|
||||
VDDIO-supply = <®_vref_1v8>;
|
||||
};
|
||||
|
@ -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>;
|
||||
};
|
||||
|
@ -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>;
|
||||
|
@ -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;
|
||||
/*
|
||||
|
@ -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>;
|
||||
};
|
||||
};
|
||||
|
@ -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>;
|
||||
};
|
||||
|
||||
|
@ -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>;
|
||||
|
||||
|
@ -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>;
|
||||
|
@ -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>;
|
||||
|
@ -413,7 +413,7 @@ hsmc: hsmc@f8014000 {
|
||||
pmecc: ecc-engine@f8014070 {
|
||||
compatible = "atmel,sama5d2-pmecc";
|
||||
reg = <0xf8014070 0x490>,
|
||||
<0xf8014500 0x100>;
|
||||
<0xf8014500 0x200>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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 {
|
||||
|
@ -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 {
|
||||
|
@ -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)>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -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 */
|
||||
|
@ -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 {
|
||||
|
@ -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";
|
||||
|
@ -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>;
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -9,6 +9,6 @@
|
||||
#ifndef __IRQS_H
|
||||
#define __IRQS_H
|
||||
|
||||
#define NR_IRQS 32
|
||||
#define NR_IRQS 33
|
||||
|
||||
#endif
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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 */
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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>;
|
||||
|
@ -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;
|
||||
|
@ -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>;
|
||||
|
@ -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>;
|
||||
|
@ -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;
|
||||
|
@ -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>;
|
||||
|
@ -18,6 +18,7 @@ / {
|
||||
|
||||
aliases {
|
||||
spi0 = &spi0;
|
||||
ethernet0 = ð0;
|
||||
ethernet1 = ð1;
|
||||
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>;
|
||||
|
@ -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>,
|
||||
|
@ -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>;
|
||||
|
@ -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";
|
||||
|
@ -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>;
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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>;
|
||||
|
@ -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
|
||||
|
@ -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>;
|
||||
|
@ -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>;
|
||||
|
@ -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 */
|
||||
|
@ -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>;
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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)))
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -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
|
||||
|
@ -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; \
|
||||
})
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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); \
|
||||
|
@ -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();
|
||||
|
||||
/*
|
||||
|
@ -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);
|
||||
|
@ -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; \
|
||||
})
|
||||
|
||||
|
@ -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; \
|
||||
})
|
||||
|
||||
|
@ -36,10 +36,10 @@ struct rt_sigframe {
|
||||
|
||||
static inline int rt_restore_ucontext(struct pt_regs *regs,
|
||||
struct switch_stack *sw,
|
||||
struct ucontext *uc, int *pr2)
|
||||
struct ucontext __user *uc, int *pr2)
|
||||
{
|
||||
int temp;
|
||||
unsigned long *gregs = uc->uc_mcontext.gregs;
|
||||
unsigned long __user *gregs = uc->uc_mcontext.gregs;
|
||||
int err;
|
||||
|
||||
/* Always make any pending restarted system calls return -EINTR */
|
||||
@ -102,10 +102,11 @@ asmlinkage int do_rt_sigreturn(struct switch_stack *sw)
|
||||
{
|
||||
struct pt_regs *regs = (struct pt_regs *)(sw + 1);
|
||||
/* Verify, can we follow the stack back */
|
||||
struct rt_sigframe *frame = (struct rt_sigframe *) regs->sp;
|
||||
struct rt_sigframe __user *frame;
|
||||
sigset_t set;
|
||||
int rval;
|
||||
|
||||
frame = (struct rt_sigframe __user *) regs->sp;
|
||||
if (!access_ok(frame, sizeof(*frame)))
|
||||
goto badframe;
|
||||
|
||||
@ -124,10 +125,10 @@ asmlinkage int do_rt_sigreturn(struct switch_stack *sw)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int rt_setup_ucontext(struct ucontext *uc, struct pt_regs *regs)
|
||||
static inline int rt_setup_ucontext(struct ucontext __user *uc, struct pt_regs *regs)
|
||||
{
|
||||
struct switch_stack *sw = (struct switch_stack *)regs - 1;
|
||||
unsigned long *gregs = uc->uc_mcontext.gregs;
|
||||
unsigned long __user *gregs = uc->uc_mcontext.gregs;
|
||||
int err = 0;
|
||||
|
||||
err |= __put_user(MCONTEXT_VERSION, &uc->uc_mcontext.version);
|
||||
@ -162,8 +163,9 @@ static inline int rt_setup_ucontext(struct ucontext *uc, struct pt_regs *regs)
|
||||
return err;
|
||||
}
|
||||
|
||||
static inline void *get_sigframe(struct ksignal *ksig, struct pt_regs *regs,
|
||||
size_t frame_size)
|
||||
static inline void __user *get_sigframe(struct ksignal *ksig,
|
||||
struct pt_regs *regs,
|
||||
size_t frame_size)
|
||||
{
|
||||
unsigned long usp;
|
||||
|
||||
@ -174,13 +176,13 @@ static inline void *get_sigframe(struct ksignal *ksig, struct pt_regs *regs,
|
||||
usp = sigsp(usp, ksig);
|
||||
|
||||
/* Verify, is it 32 or 64 bit aligned */
|
||||
return (void *)((usp - frame_size) & -8UL);
|
||||
return (void __user *)((usp - frame_size) & -8UL);
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
frame = get_sigframe(ksig, regs, sizeof(*frame));
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user