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