Merge tag 'android14-6.1.75_r00' into android14-6.1
This merges up to the 6.1.75 LTS release into the android14-6.1 branch. Included in here are the following commits: *6644fcfcbcANDROID: Fix CRC error with iommu_* functions *c84ac52917Revert "bpf: add percpu stats for bpf_map elements insertions/deletions" *0125855f7eRevert "bpf: Add map and need_defer parameters to .map_fd_put_ptr()" *329c931b9dRevert "bpf: Defer the free of inner map when necessary" *c16bb76a0cMerge 6.1.75 into android14-6.1-lts |\ | *883d1a9562Linux 6.1.75 | *cfa4683828Revert "Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"" | *f854bff46aarm64: dts: armada-3720-turris-mox: set irq type for RTC | *17062a768cRevert "KEYS: encrypted: Add check for strsep" | *b1cc57f976riscv: Fix wrong usage of lm_alias() when splitting a huge linear mapping | *9025ee1079block: Remove special-casing of compound pages | *2c46871ac4i2c: s3c24xx: fix transferring more than one message in polling mode | *63892860b0i2c: s3c24xx: fix read transfers in polling mode | *380540bb06ipv6: mcast: fix data-race in ipv6_mc_down / mld_ifc_work | *8f7f03e8cdselftests: mlxsw: qos_pfc: Adjust the test to support 8 lanes | *13e6065fedmlxsw: spectrum_acl_erp: Fix error flow of pool allocation failure | *31944f4264loop: fix the the direct I/O support check when used on top of block devices | *f2cc7d90a8ethtool: netlink: Add missing ethnl_ops_begin/complete | *7809296dc1kdb: Fix a potential buffer overflow in kdb_local() | *50ee63b800ipvs: avoid stat macros calls from preemptible context | *4a45e7e7d2netfilter: nf_tables: reject NFT_SET_CONCAT with not field length description | *b56bce52f9netfilter: nf_tables: skip dead set elements in netlink dump | *9cb084df01netfilter: nf_tables: do not allow mismatch field size and set key length | *7ae19ee81cnetfilter: bridge: replace physindev with physinif in nf_bridge_info | *754ca18ed3netfilter: propagate net to nf_bridge_get_physindev | *3f1f505277netfilter: nf_queue: remove excess nf_bridge variable | *52d01a40b7netfilter: nfnetlink_log: use proper helper for fetching physinif | *dfa01315c3netfilter: nft_limit: do not ignore unsupported flags | *f00f11aae1netfilter: nf_tables: reject invalid set policy | *2f32d518a1mptcp: relax check on MPC passive fallback | *4631c2dd69LoongArch: BPF: Prevent out-of-bounds memory access | *ca65da8da1net: dsa: vsc73xx: Add null pointer check to vsc73xx_gpio_probe | *4108b86e32bpf: Reject variable offset alu on PTR_TO_FLOW_KEYS | *f1ec1b6c5cnet: stmmac: ethtool: Fixed calltrace caused by unbalanced disable_irq_wake calls | *359fadf5f7drm/amdkfd: fixes for HMM mem allocation | *81b86a10b8drm/amdkfd: Use resource_size() helper function | *1c3aa875dbdt-bindings: gpio: xilinx: Fix node address in gpio | *24e00f0fa9net: ravb: Fix dma_addr_t truncation in error case | *615501d41budp: annotate data-races around up->pending | *33cf52b6e5block: ensure we hold a queue reference when using queue limits | *fdf3df297fmptcp: refine opt_mp_capable determination | *c0749c8770mptcp: use OPTION_MPTCP_MPJ_SYN in subflow_check_req() | *51e4cb032dmptcp: use OPTION_MPTCP_MPJ_SYNACK in subflow_finish_connect() | *081273082dmptcp: strict validation before using mp_opt->hmac | *67feafe7a3mptcp: mptcp_parse_option() fix for MPTCPOPT_MP_JOIN | *cb183a586enet: phy: micrel: populate .soft_reset for KSZ9131 | *ecf0ebf0e6amt: do not use overwrapped cb area | *c96da963denet: ethernet: ti: am65-cpsw: Fix max mtu to fit ethernet frames | *ee1dc3bf86net: qualcomm: rmnet: fix global oob in rmnet_policy | *93eb80c5c9s390/pci: fix max size calculation in zpci_memcpy_toio() | *cad471227aASoC: mediatek: sof-common: Add NULL check for normal_link string | *69f0bebe91PCI: mediatek-gen3: Fix translation window size calculation | *94667790e5PCI: keystone: Fix race condition when initializing PHYs | *11923a8df8nvmet-tcp: Fix the H2C expected PDU len calculation | *fb711858e6nvme: trace: avoid memcpy overflow warning | *cac037db24nvmet: re-fix tracing strncpy() warning | *e92fe6f51bserial: imx: Correct clock error message in function probe() | *938b88a2d9usb: xhci-mtk: fix a short packet issue of gen1 isoc-in transfer | *9d4fa5fe2bapparmor: avoid crash when parsed profile name is empty | *3a46101871cxl/region: fix x9 interleave typo | *16cbe4bad8perf env: Avoid recursively taking env->bpf_progs.lock | *83ccd15717nvmet-tcp: fix a crash in nvmet_req_complete() | *2871aa4070nvmet-tcp: Fix a kernel panic when host sends an invalid H2C PDU length | *8ed3eb92a5vdpa: Fix an error handling path in eni_vdpa_probe() | *b2cb99d26espmi: mtk-pmif: Serialize PMIF status check and command submission | *28a45e15c8usb: cdc-acm: return correct error code on unsupported break | *8fd48981a7tty: use 'if' in send_break() instead of 'goto' | *50608b54adtty: don't check for signal_pending() in send_break() | *6f0cd560fftty: early return from send_break() on TTY_DRIVER_HARDWARE_BREAK | *8e426f2499tty: change tty_write_lock()'s ndelay parameter to bool | *ed863a4d48perf genelf: Set ELF program header addresses properly | *4cb5213213perf hisi-ptt: Fix one memory leakage in hisi_ptt_process_auxtrace_event() | *8f02951ceeperf header: Fix one memory leakage in perf_event__fprintf_event_update() | *eeeb3861c2iio: adc: ad9467: fix scale setting | *e2b405b985iio: adc: ad9467: don't ignore error codes | *89398709aeiio: adc: ad9467: fix reset gpio handling | *f33bdf21e1selftests/sgx: Skip non X86_64 platform | *bf92b82101selftests/sgx: Include memory clobber for inline asm in test enclave | *2cfae256a1selftests/sgx: Fix uninitialized pointer dereferences in encl_get_entry | *eb41e7e8b4selftests/sgx: Fix uninitialized pointer dereference in error path | *63ee7be01aserial: imx: fix tx statemachine deadlock | *3f9ec4227esoftware node: Let args be NULL in software_node_get_reference_args | *893c3ca250acpi: property: Let args be NULL in __acpi_node_get_property_reference | *76be69716cbase/node.c: initialize the accessor list before registering | *d5ef7480d6libapi: Add missing linux/types.h header to get the __u64 type on io.h | *d74173bda2serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed | *e6fce099c9power: supply: bq256xx: fix some problem in bq256xx_hw_init | *ddd3fe99b4power: supply: cw2015: correct time_to_empty units in sysfs | *559e25126cMIPS: Alchemy: Fix an out-of-bound access in db1550_dev_setup() | *2504864be6MIPS: Alchemy: Fix an out-of-bound access in db1200_dev_setup() | *69e9a6944driscv: Fixed wrong register in XIP_FIXUP_FLASH_OFFSET macro | *add57b5298riscv: Fix set_direct_map_default_noflush() to reset _PAGE_EXEC | *b4f4d42765riscv: Fix set_memory_XX() and set_direct_map_XX() by splitting huge linear mappings | *d2ebb8143briscv: Fix module_alloc() that did not reset the linear mapping permissions | *890cfe5337riscv: Check if the code to patch lies in the exit section | *9ad0ab0bbcmips: Fix incorrect max_low_pfn adjustment | *1961a29b89mips: dmi: Fix early remap on MIPS32 | *e341194063mfd: intel-lpss: Fix the fractional clock divider flags | *7fdc6c187eleds: aw2013: Select missing dependency REGMAP_I2C | *527e8c5f3dmfd: syscon: Fix null pointer dereference in of_syscon_register() | *ac3b65cbc6ARM: 9330/1: davinci: also select PINCTRL | *d2ba8eea74serial: sc16is7xx: set safe default SPI clock frequency | *4f61154a68serial: sc16is7xx: add check for unsupported SPI modes during probe | *f09b277f73HID: wacom: Correct behavior when processing some confidence == false touches | *710bd46860iio: adc: ad7091r: Pass iio_dev to event handler | *dba788e25fKVM: arm64: vgic-its: Avoid potential UAF in LPI translation cache | *8a4f6a176aKVM: arm64: vgic-v4: Restore pending state on host userspace write | *455ebc1910x86/kvm: Do not try to disable kvmclock if it was not enabled | *88f4dd8b9fPCI: mediatek: Clear interrupt status before dispatching handler | *0c883bc9faPCI: dwc: endpoint: Fix dw_pcie_ep_raise_msix_irq() alignment support | *d3c08d1015PCI/P2PDMA: Remove reference to pci_p2pdma_map_sg() | *970c0899a4cxl/port: Fix decoder initialization when nr_targets > interleave_ways | *23f9749108Revert "net: rtnetlink: Enslave device before bringing it up" | *f2ddfc7d3awifi: mwifiex: configure BSSID consistently when starting AP | *54e1864b13wifi: rtlwifi: Convert LNKCTL change to PCIe cap RMW accessors | *0075a5d69dwifi: rtlwifi: Remove bogus and dangerous ASPM disable/enable code | *debfa60412wifi: mt76: fix broken precal loading from MTD for mt7915 | *1edce43f47iommu/dma: Trace bounce buffer usage when mapping buffers | *cc7e8482c6iommu/arm-smmu-qcom: Add missing GMU entry to match table | *516ecb2436LoongArch: Fix and simplify fcsr initialization on execve() | *6cc9c0af0abpf: Fix re-attachment branch in bpf_tracing_prog_attach | *96860d9ad4Bluetooth: Fix atomicity violation in {min,max}_key_size_set | *7c02ca5542rootfs: Fix support for rootfstype= when root= is given | *f5c29a3a7emd/raid1: Use blk_opf_t for read and write operations | *7b85554c7cpwm: Fix out-of-bounds access in of_pwm_single_xlate() | *00e29df1b4pwm: jz4740: Don't use dev_err_probe() in .request() | *a372f1d01bnetfilter: nf_tables: check if catch-all set element is active in next generation | *c6350b5cb7block: Fix iterating over an empty bio with bio_for_each_folio_all | *ef31cc8779block: add check that partition length needs to be aligned with block size | *0c8d252d0adrm/amd: Enable PCIe PME from D3 | *f49a30a24fscsi: mpi3mr: Block PEL Enable Command on Controller Reset and Unrecoverable State | *546e981eeascsi: mpi3mr: Refresh sdev queue depth after controller reset | *3378333263scsi: target: core: add missing file_{start,end}_write() | *01644b8616scsi: ufs: core: Simplify power management during async scan | *81f444f228fbdev: flush deferred IO before closing | *ccbee2843efbdev: flush deferred work in fb_deferred_io_fsync() | *d6cc8dd231io_uring/rw: ensure io->bytes_done is always initialized | *c866866c79ksmbd: only v2 leases handle the directory | *380965e48eksmbd: fix UAF issue in ksmbd_tcp_new_connection() | *6eb8015492ksmbd: validate mech token in session setup | *0914dc8041ALSA: hda/realtek: Enable headset mic on Lenovo M70 Gen5 | *5648a0087fALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on HP ZBook | *3253abcd9bALSA: hda/relatek: Enable Mute LED on HP Laptop 15s-fq2xxx | *29f6eccbcfALSA: oxygen: Fix right channel of capture volume mixer | *104f95698cdrm/vmwgfx: Keep a gem reference to user bos in surfaces | *5a4087a907drm/vmwgfx: Fix possible invalid drm gem put calls | *a71776bbd8serial: omap: do not override settings for RS485 support | *b5a2232ba8serial: 8250_exar: Set missing rs485_supported flag | *36b0710502serial: imx: Ensure that imx_uart_rs485_config() is called with enabled clock | *d5f13c1d01serial: core, imx: do not set RS485 enabled if it is not supported | *dac0dd3d80serial: 8250_bcm2835aux: Restore clock error handling | *15000d6f29serial: core: make sure RS485 cannot be enabled when it is not supported | *f790bd27a7serial: core: fix sanitizing check for RTS settings | *974a0a6944usb: mon: Fix atomicity violation in mon_bin_vma_fault | *206e2ddeb7usb: typec: class: fix typec_altmode_put_partner to put plugs | *d0320b9ac6Revert "usb: typec: class: fix typec_altmode_put_partner to put plugs" | *097cdc78c6usb: cdns3: Fix uvc fail when DMA cross 4k boundery since sg enabled | *45c766231eusb: cdns3: fix iso transfer error when mult is not zero | *3f2bf7cac0usb: cdns3: fix uvc failure work since sg support enabled | *e894b1b038usb: chipidea: wait controller resume finished for wakeup irq | *3450197e9aRevert "usb: dwc3: don't reset device side if dwc3 was configured as host-only" | *598f9d5a3bRevert "usb: dwc3: Soft reset phy on probe for host" | *d5c4a04205usb: dwc: ep0: Update request status in dwc3_ep0_stall_restart | *789eade47fusb: phy: mxs: remove CONFIG_USB_OTG condition for mxs_phy_is_otg_host() | *c952654e1atick-sched: Fix idle and iowait sleeptime accounting vs CPU hotplug | *9ccf64e763powerpc/64s: Increase default stack size to 32KB | *7ac029af00clocksource/drivers/timer-ti-dm: Fix make W=n kerneldoc warnings | *6696f76c32binder: fix race between mmput() and do_exit() | *437360133cxen-netback: don't produce zero-size SKB frags | *3ed5f55599Input: atkbd - use ab83 as id when skipping the getid command | *45e565b55bmips/smp: Call rcutree_report_cpu_starting() earlier | *16e1d4fa13binder: fix unused alloc->free_async_space | *c5255d1229binder: fix async space check for 0-sized buffers | *66b3578797keys, dns: Fix size check of V1 server-list header | *60a9a5fca6selftests/bpf: Add assert for user stacks in test_task_stack | *3590da14e1of: unittest: Fix of_count_phandle_with_args() expected value message | *581ade6be5fbdev: imxfb: fix left margin setting | *b9d760dae5of: Fix double free in of_parse_phandle_with_args_map | *676af10d0cksmbd: validate the zero field of packet header | *222618b737kselftest/alsa - mixer-test: Fix the print format specifier warning | *b77ae4f8c1kselftest/alsa - mixer-test: fix the number of parameters to ksft_exit_fail_msg() | *74416a207fdrm/amd/pm/smu7: fix a memleak in smu7_hwmgr_backend_init | *4525525cb7drm/amdkfd: Confirm list is non-empty before utilizing list_first_entry in kfd_topology.c | *a9f68a23caIB/iser: Prevent invalidating wrong MR | *96dc4d204ammc: sdhci_omap: Fix TI SoC dependencies | *5aa65e5f20mmc: sdhci_am654: Fix TI SoC dependencies | *d8d8897d65ALSA: scarlett2: Add clamp() in scarlett2_mixer_ctl_put() | *cda7762beaALSA: scarlett2: Add missing error checks to *_ctl_get() | *be0b1be4acALSA: scarlett2: Allow passing any output to line_out_remap() | *be96acd3eaALSA: scarlett2: Add missing error check to scarlett2_usb_set_config() | *6232b7505cALSA: scarlett2: Add missing error check to scarlett2_config_save() | *74341edb7dASoC: rt5645: Drop double EF20 entry from dmi_platform_data[] | *40fe0903fapwm: stm32: Fix enable count for clk in .probe() | *0d554b420cpwm: stm32: Use hweight32 in stm32_pwm_detect_channels | *ade959ed67pwm: stm32: Use regmap_clear_bits and regmap_set_bits where applicable | *c4b1f10f14clk: fixed-rate: fix clk_hw_register_fixed_rate_with_accuracy_parent_hw | *6d98d24917accel/habanalabs: fix information leak in sec_attest_info() | *7ac0adc7dfdrm/mediatek: dp: Add phy_mtk_dp module as pre-dependency | *f930dbdc95clk: si5341: fix an error code problem in si5341_output_clk_set_rate | *24961a5dc7watchdog: rti_wdt: Drop runtime pm reference count when watchdog is unused | *6317445623watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling | *3bde94e858watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO | *06b854238ewatchdog: set cdev owner before adding | *c249ef9d09drivers: clk: zynqmp: update divider round rate logic | *b61ca9c34cdrivers: clk: zynqmp: calculate closest mux rate | *74aeef7e43clk: qcom: videocc-sm8150: Add missing PLL config property | *52d741c95dclk: qcom: videocc-sm8150: Update the videocc resets | *52e2ebc064dt-bindings: clock: Update the videocc resets for sm8150 | *4f31f357e5f2fs: fix to check return value of f2fs_recover_xattr_data | *2c6537c58bdrm/amd/pm: fix a double-free in amdgpu_parse_extended_power_table | *4e26e2d485gpu/drm/radeon: fix two memleaks in radeon_vm_init | *35fa2394d2drivers/amd/pm: fix a use-after-free in kv_parse_power_table | *f957a1be64drm/amd/pm: fix a double-free in si_dpm_init | *591e77fedcdrm/amdgpu/debugfs: fix error code when smc register accessors are NULL | *3ec6ce0651drm/mediatek: Fix underrun in VDO1 when switches off the layer | *518efe60bbdrm/mediatek: Return error if MDP RDMA failed to enable the clock | *aa3e61cf89drm/msm/dpu: Drop enable and frame_count parameters from dpu_hw_setup_misr() | *08d7e291afdrm/msm/dpu: Set input_sel bit for INTF | *9570ae0e1dclk: renesas: rzg2l: Check reset monitor registers | *3e1dd6a1b4clk: renesas: rzg2l-cpg: Reuse code in rzg2l_cpg_reset() | *2db7760422media: dvb-frontends: m88ds3103: Fix a memory leak in an error handling path of m88ds3103_probe() | *74e3f165d3media: dvbdev: drop refcount on error path in dvb_device_open() | *4d6e15a5eaf2fs: fix to update iostat correctly in f2fs_filemap_fault() | *8835766027f2fs: fix to check compress file in f2fs_move_file_range() | *9bfd5ea715f2fs: fix to wait on block writeback for post_read case | *e67911d2cadrm/panel: st7701: Fix AVCL calculation | *bb17cc851emedia: rkisp1: Fix media device memory leak | *690b7c356fmedia: dt-bindings: media: rkisp1: Fix the port description for the parallel interface | *438193dcc2media: imx-mipi-csis: Fix clock handling in remove() | *df2adafa62clk: qcom: gpucc-sm8150: Update the gpu_cc_pll1 config | *40a156cf08RDMA/hns: Fix memory leak in free_mr_init() | *dada3fdb4emedia: cx231xx: fix a memleak in cx231xx_init_isoc | *b075ed8dccdrm/bridge: tc358767: Fix return value on error case | *9a3b226370drm/bridge: cdns-mhdp8546: Fix use of uninitialized variable | *60c23f9aebdrm/radeon/trinity_dpm: fix a memleak in trinity_parse_power_table | *0f19543097drm/radeon/dpm: fix a memleak in sumo_parse_power_table | *c4ff554081drm/radeon: check the alloc_workqueue return value in radeon_crtc_init() | *048cbfd605drm/panfrost: Ignore core_mask for poweroff and disable PWRTRANS irq | *c32ee7286fASoC: Intel: glk_rt5682_max98357a: fix board id mismatch | *7682ef5c14drm/drv: propagate errors from drm_modeset_register_all() | *19b01c6c19drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks | *b234ecad20drm/msm/mdp4: flush vblank event on disable | *982eb772e1ASoC: cs35l34: Fix GPIO name and drop legacy include | *940484c055ASoC: cs35l33: Fix GPIO name and drop legacy include | *2da8e20346drm/tidss: Fix dss reset | *553574c023drm/tidss: Check for K2G in in dispc_softreset() | *f099c742cadrm/tidss: Return error value from from softreset | *10a437c604drm/tidss: Move reset to the end of dispc_init() | *da72ff8defdrm/radeon: check return value of radeon_ring_lock() | *e6667551eddrm/radeon/r100: Fix integer overflow issues in r100_cs_track_check() | *9ac2845a2edrm/radeon/r600_cs: Fix possible int overflows in r600_cs_check_reg() | *f0145860c2f2fs: fix to avoid dirent corruption | *4bab3ad44ddrm/bridge: Fix typo in post_disable() description | *dab1227007media: rkvdec: Hook the (TRY_)DECODER_CMD stateless ioctls | *563f34c24cmedia: verisilicon: Hook the (TRY_)DECODER_CMD stateless ioctls | *32b4b2dde3media: mtk-jpeg: Remove cancel worker in mtk_jpeg_remove to avoid the crash of multi-core JPEG devices | *f211621debmedia: mtk-jpegdec: export jpeg decoder functions | *30773ea47dmedia: pvrusb2: fix use after free on context disconnection | *4019c80968drm/tilcdc: Fix irq free on unload | *81f1bd8596drm/bridge: tpd12s015: Drop buggy __exit annotation for remove function | *37b400c803drm/nouveau/fence:: fix warning directly dereferencing a rcu pointer | *dbea48e916drm/panel-elida-kd35t133: hold panel in reset for unprepare | *019bba28d1RDMA/hns: Fix inappropriate err code for unsupported operations | *a867b891f9RDMA/usnic: Silence uninitialized symbol smatch warnings | *d260b65b2bdrm/panfrost: Really power off GPU cores in panfrost_gpu_power_off() | *8578a795baRevert "drm/omapdrm: Annotate dma-fence critical section in commit path" | *3e6bf96561Revert "drm/tidss: Annotate dma-fence critical section in commit path" | *544d223d71ARM: davinci: always select CONFIG_CPU_ARM926T | *62a1fedeb1ip6_tunnel: fix NEXTHDR_FRAGMENT handling in ip6_tnl_parse_tlv_enc_lim() | *1b481cb536mlxbf_gige: Enable the GigE port in mlxbf_gige_open | *7ad5e7a35cmlxbf_gige: Fix intermittent no ip issue | *0b5b831122net/sched: act_ct: fix skb leak and crash on ooo frags | *b91d31de9asctp: fix busy polling | *9233a88f4bsctp: support MSG_ERRQUEUE flag in recvmsg() | *3c0bd2b066bpf: sockmap, fix proto update hook to avoid dup calls | *6e9429f9c6null_blk: don't cap max_hw_sectors to BLK_DEF_MAX_SECTORS | *a623d31805block: make BLK_DEF_MAX_SECTORS unsigned | *33f93ce22eBluetooth: btmtkuart: fix recv_buf() return value | *81f3b6ea31Bluetooth: Fix bogus check for re-auth no supported with non-ssp | *55c88a7efbnetfilter: nf_tables: mark newset as dead on transaction abort | *68aebba59ewifi: iwlwifi: mvm: send TX path flush in rfkill | *6cc82456e3wifi: iwlwifi: mvm: set siso/mimo chains to 1 in FW SMPS request | *8915946cdewifi: rtlwifi: rtl8192se: using calculate_bit_shift() | *62badccc7cwifi: rtlwifi: rtl8192ee: using calculate_bit_shift() | *a277e8e9fewifi: rtlwifi: rtl8192de: using calculate_bit_shift() | *b716c8483cwifi: rtlwifi: rtl8192ce: using calculate_bit_shift() | *d938e470b2wifi: rtlwifi: rtl8192cu: using calculate_bit_shift() | *35fb6b7574wifi: rtlwifi: rtl8192c: using calculate_bit_shift() | *937f65a125wifi: rtlwifi: rtl8188ee: phy: using calculate_bit_shift() | *dd9e3d9513wifi: rtlwifi: add calculate_bit_shift() | *ce9b43e58carm64: dts: qcom: ipq6018: Fix up indentation | *20fb17328barm64: dts: qcom: ipq6018: Pad addresses to 8 hex digits | *ba71baee6earm64: dts: qcom: ipq6018: Use lowercase hex | *cb65c2caa1arm64: dts: qcom: ipq6018: improve pcie phy pcs reg table | *45d8d80cdaarm64: dts: qcom: ipq6018: fix clock rates for GCC_USB0_MOCK_UTMI_CLK | *ab23e4ef89arm64: dts: qcom: sc7280: Mark SDHCI hosts as cache-coherent | *e765363ecfblock: add check of 'minors' and 'first_minor' in device_add_disk() | *a4529948dfarm64: dts: qcom: sm8150-hdk: fix SS USB regulators | *bf5e9d28a8soc: qcom: llcc: Fix dis_cap_alloc and retain_on_pc configuration | *aaf0fc13bedma-mapping: clear dev->dma_mem to NULL after freeing it | *542da27eacvirtio/vsock: fix logic which reduces credit update messages | *f69365e3a7ipmr: support IP_PKTINFO on cache report IGMP msg | *0c867561ceselftests/net: fix grep checking for fib_nexthop_multiprefix | *c458be3909ARM: dts: stm32: don't mix SCMI and non-SCMI board compatibles | *fdbe94c524scsi: hisi_sas: Correct the number of global debugfs registers | *6491d9ea93scsi: hisi_sas: Rollback some operations if FLR failed | *3d5a4fa56dscsi: hisi_sas: Replace with standard error code return value | *35657d1ba8arm64: dts: imx8mm: Reduce GPU to nominal speed | *a4210a686aarm64: dts: renesas: white-hawk-cpu: Fix missing serial console pin control | *9f5b79cf12block: Set memalloc_noio to false on device_add_disk() error path | *4196b45370selftests/bpf: Relax time_tai test for equal timestamps in tai_forward | *0c9318d49ewifi: mt76: mt7921: fix country count limitation for CLC | *fe002eeda4arm64: dts: mediatek: mt8183: correct MDP3 DMA-related nodes | *9c91f58498dt-bindings: media: mediatek: mdp3: correct RDMA and WROT node with generic names | *ba5e58dacfarm64: dts: hisilicon: hikey970-pmic: fix regulator cells properties | *b1d4d54d32bpf: Fix verification of indirect var-off stack access | *4054b2b1e6wifi: mt76: mt7921s: fix workqueue problem causes STA association fail | *4486b2e5dbarm64: dts: qcom: sc7280: fix usb_2 wakeup interrupt types | *361b4175ddarm64: dts: qcom: sc7280: Mark Adreno SMMU as DMA coherent | *a16a476b5carm64: dts: qcom: sc7280: Fix up GPU SIDs | *9e1dafa5c3arm64: dts: qcom: sm8350: Fix DMA0 address | *1623432c6aarm64: dts: qcom: sdm845-db845c: correct LED panic indicator | *773c09af31arm64: dts: qcom: qrb5165-rb5: correct LED panic indicator | *9435bbc8d9scsi: fnic: Return error if vmalloc() failed | *fc3e3c50a0bpf: fix check for attempt to corrupt spilled pointer | *50e9fbddcbselftests/net: specify the interface when do arping | *62fca83303bpf: Defer the free of inner map when necessary | *e05b322c82bpf: Add map and need_defer parameters to .map_fd_put_ptr() | *a6fb03a9c9bpf: add percpu stats for bpf_map elements insertions/deletions | *1010882619rcu-tasks: Provide rcu_trace_implies_rcu_gp() | *db44bac18aarm64: dts: qcom: sm6350: Make watchdog bark interrupt edge triggered | *8e335e7759arm64: dts: qcom: sc8280xp: Make watchdog bark interrupt edge triggered | *66cdbc4e80arm64: dts: qcom: sm8250: Make watchdog bark interrupt edge triggered | *385f30d448arm64: dts: qcom: sm8150: Make watchdog bark interrupt edge triggered | *5e8267cbc0arm64: dts: qcom: sdm845: Make watchdog bark interrupt edge triggered | *bc9a45a06aarm64: dts: qcom: sc7280: Make watchdog bark interrupt edge triggered | *30d0c5fe2carm64: dts: qcom: sc7280: Mark some nodes as 'reserved' | *0200f1b6baarm64: dts: qcom: sc7180: Make watchdog bark interrupt edge triggered | *22529f0ac2ARM: dts: qcom: sdx65: correct SPMI node name | *be1f34b93fbpf: enforce precision of R0 on callback return | *f9f2d957a8md: synchronize flush io with array reconfiguration | *b21a16909bselftests/bpf: Fix erroneous bitmask operation | *ff9935181earm64: dts: ti: k3-am65-main: Fix DSS irq trigger type | *e9e59f3ee5arm64: dts: ti: k3-am62a-main: Fix GPIO pin count in DT nodes | *436785a207wifi: rtlwifi: rtl8821ae: phy: fix an undefined bitwise shift behavior | *6824ed5d5afirmware: meson_sm: populate platform devices from sm device tree data | *00ac00ce8dfirmware: ti_sci: Fix an off-by-one in ti_sci_debugfs_create() | *ac7c503bd5net/ncsi: Fix netlink major/minor version numbers | *12db013dc9ARM: dts: qcom: apq8064: correct XOADC register address | *638f381ab2wifi: libertas: stop selecting wext | *7dd918d877wifi: ath11k: Defer on rproc_get failure | *799a914e48bpf: Add crosstask check to __bpf_get_stack | *1959a560acbpf, lpm: Fix check prefixlen before walking trie | *cd1896b922wifi: rtw88: fix RX filter in FIF_ALLMULTI flag | *fdd9364163wifi: plfxlc: check for allocation failure in plfxlc_usb_wreq_async() | *a058f0c432pNFS: Fix the pnfs block driver's calculation of layoutget size | *b10370b1eaSUNRPC: fix _xprt_switch_find_current_entry logic | *19f28fa8beNFSv4.1/pnfs: Ensure we handle the error NFS4ERR_RETURNCONFLICT | *83f2d54ca3blocklayoutdriver: Fix reference leak of pnfs_device_node | *23ba22557acsky: fix arch_jump_label_transform_static override | *4df0c942d0crypto: scomp - fix req->dst buffer overflow | *490adf8be7crypto: sahara - do not resize req->src when doing hash operations | *eae15c43becrypto: sahara - fix processing hash requests with req->nbytes < sg->length | *6fc9576795crypto: sahara - improve error handling in sahara_sha_process() | *5834cafc1dcrypto: sahara - fix wait_for_completion_timeout() error handling | *8b355e0478crypto: sahara - fix ahash reqsize | *a75ba66b69crypto: sahara - handle zero-length aes requests | *0545801b30crypto: sahara - avoid skcipher fallback code duplication | *635308e604crypto: virtio - Wait for tasklet to complete on device remove | *d69d7804cfgfs2: Fix kernel NULL pointer dereference in gfs2_rgrp_dump | *caae86077dfs: indicate request originates from old mount API | *9c285df949erofs: fix memory leak on short-lived bounced pages | *48dcfc42cepstore: ram_core: fix possible overflow in persistent_ram_init_ecc() | *d7e4268a51crypto: hisilicon/zip - save capability registers in probe process | *a384d7dc4ecrypto: hisilicon/sec2 - save capability registers in probe process | *fc6b944de1crypto: hisilicon/hpre - save capability registers in probe process | *4705731fc5crypto: hisilicon/qm - add a function to set qm algs | *11d7a33905crypto: hisilicon/zip - add zip comp high perf mode configuration | *6412f039accrypto: hisilicon/qm - save capability registers in qm init process | *d1f82d7210crypto: sahara - fix error handling in sahara_hw_descriptor_create() | *435303ad8acrypto: sahara - fix processing requests with cryptlen < sg->length | *e7e8fbfe6dcrypto: sahara - fix ahash selftest failure | *1f91280362crypto: sahara - fix cbc selftest failure | *eecf2e1e0ccrypto: sahara - remove FLAGS_NEW_KEY logic | *4c0ac81a17crypto: safexcel - Add error handling for dma_map_sg() calls | *d5d4dfc73bcrypto: af_alg - Disallow multiple in-flight AIO requests | *f3a11fdd02crypto: ccp - fix memleak in ccp_init_dm_workarea | *baa79033e1crypto: sa2ul - Return crypto_aead_setkey to transfer the error | *ae4747dab2crypto: virtio - Handle dataq logic with tasklet | *e973b045c1selinux: Fix error priority for bind with AF_UNSPEC on PF_INET6 socket | *5389407bbamtd: Fix gluebi NULL pointer dereference caused by ftl notifier | *030a1147edkunit: debugfs: Fix unchecked dereference in debugfs_print_results() | *b841208b7eACPI: extlog: Clear Extended Error Log status when RAS_CEC handled the error | *b412c486a3ACPI: LPSS: Fix the fractional clock divider flags | *5980041cbaspi: sh-msiof: Enforce fixed DTDL for R-Car H3 | *ea6b597fcaefivarfs: Free s_fs_info on unmount | *d4a9aa7db5efivarfs: force RO when remounting if SetVariable is not supported | *321b3a5592calipso: fix memory leak in netlbl_calipso_add_pass() | *71f47a52bacpufreq: scmi: process the result of devm_of_clk_add_hw_provider() | *04fc66dd2bcpufreq: Use of_property_present() for testing DT property presence | *79de65ac39of: Add of_property_present() helper | *426710a2bcplatform/x86/intel/vsec: Fix xa_alloc memory leak | *0ff5cd92bbplatform/x86/intel/vsec: Use mutex for ida_alloc() and ida_free() | *1fa4a1e125platform/x86/intel/vsec: Support private data | *3c48b2a7ceplatform/x86/intel/vsec: Enhance and Export intel_vsec_add_aux() | *c25f1555e0KEYS: encrypted: Add check for strsep | *72222dfd76ACPI: LPIT: Avoid u32 multiplication overflow | *2124c5bc22ACPI: video: check for error while searching for backlight device parent | *08f7142e22mtd: rawnand: Increment IFC_TIMEOUT_MSECS for nand controller response | *a35ab02c85spi: spi-zynqmp-gqspi: fix driver kconfig dependencies | *a2da3f9b1apowerpc/imc-pmu: Add a null pointer check in update_events_in_group() | *f152a6bfd1powerpc/powernv: Add a null pointer check in opal_powercap_init() | *9a523e1da6powerpc/powernv: Add a null pointer check in opal_event_init() | *ed8d023cfapowerpc/powernv: Add a null pointer check to scom_debug_init_one() | *327d4f2d66selftests/powerpc: Fix error handling in FPU/VMX preemption tests | *026fd977dcpowerpc/pseries/memhp: Fix access beyond end of drmem array | *63df75d383powerpc/44x: select I2C for CURRITUCK | *2fc51c4b7dpowerpc: add crtsavres.o to always-y instead of extra-y | *16b88e68b8powerpc: remove checks for binutils older than 2.25 | *9dbac9fdaeEDAC/thunderx: Fix possible out-of-bounds string access | *c9275305d6x86/mce/inject: Clear test status value | *0be645792cx86/lib: Fix overflow when counting digits * |6e04c1ccf7Merge branch 'android14-6.1' into branch 'android14-6.1-lts' * |c0f972f028UPSTREAM: drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks * |8fe0623347UPSTREAM: drm/msm/dsi: Enable runtime PM * |c3a1a1e97eMerge branch 'android14-6.1' into branch 'android14-6.1-lts' * |48159eff53Merge 6.1.74 into android14-6.1-lts |\| | *8fd7f44624Linux 6.1.74 | *a31690d3ddscripts/decode_stacktrace.sh: optionally use LLVM utilities | *5e67191818coresight: etm4x: Fix width of CCITMIN field | *d08e756e25PCI: Add ACS quirk for more Zhaoxin Root Ports | *41e3e3d813leds: ledtrig-tty: Free allocated ttyname buffer on deactivate | *419602d08bparport: parport_serial: Add Brainboxes device IDs and geometry | *3936b54a8dparport: parport_serial: Add Brainboxes BAR details | *17a8519cb3uio: Fix use-after-free in uio_open | *08af2ceb83binder: fix comment on binder_alloc_new_buf() return value | *35a3e8ceafbinder: fix trivial typo of binder_free_buf_locked() | *9fa04c93f2binder: fix use-after-free in shinker's callback | *ee14fd2c8bbinder: use EPOLLERR from eventpoll.h | *bed0acf330Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d" | *e377a3346fksmbd: free ppace array on error in parse_dacl | *09d84f37f8ksmbd: don't allow O_TRUNC open on read-only share | *c24fc060abbpf: Add --skip_encoding_btf_inconsistent_proto, --btf_gen_optimized to pahole flags for v1.25 | *0d242f739cbtf, scripts: Exclude Rust CUs with pahole | *b976593219ASoC: SOF: Intel: hda-codec: Delay the codec device registration | *dcf95b26beACPI: resource: Add another DMI match for the TongFang GMxXGxx | *5816a82cafALSA: hda/realtek: Fix mute and mic-mute LEDs for HP Envy X360 13-ay0xxx | *9d588f3b6fdrm/crtc: fix uninitialized variable use | *809ebacd22ARM: sun9i: smp: fix return code check of of_property_match_string | *0ce688d88anet: qrtr: ns: Return 0 if server port is not present | *1e1b2f34e9virtio_blk: fix snprintf truncation compiler warning | *9efdc0081cida: Fix crash in ida_free when the bitmap is empty | *24f3fec911pinctrl: cy8c95x0: Fix get_pincfg | *a54e7741ccpinctrl: cy8c95x0: Fix typo | *75e94701c0drm/amd/display: get dprefclk ss info from integration info table | *426ab60bd2i2c: rk3x: fix potential spinlock recursion on poll | *5411e32927smb: client: fix potential OOB in smb2_dump_detail() | *da7ba20a71HID: nintendo: Prevent divide-by-zero on code | *87e2739656dm audit: fix Kconfig so DM_AUDIT depends on BLK_DEV_DM | *d0085e100fALSA: hda/realtek: Add quirks for ASUS Zenbook 2022 Models | *2b055dc11eASoC: Intel: bytcr_rt5640: Add new swapped-speakers quirk | *8840d3491aASoC: Intel: bytcr_rt5640: Add quirk for the Medion Lifetab S10346 | *a63ab09a07platform/x86: thinkpad_acpi: fix for incorrect fan reporting on some ThinkPad systems | *44521a5dc4HID: nintendo: fix initializer element is not constant error | *3910d7a441kselftest: alsa: fixed a print formatting warning | *2a36b4e5e6Input: xpad - add Razer Wolverine V2 support | *31fbbc809cwifi: iwlwifi: pcie: avoid a NULL pointer dereference | *05d268e2e4ARC: fix spare error | *372a93921es390/scm: fix virtual vs physical address confusion | *626b0c0ab3Input: i8042 - add nomux quirk for Acer P459-G2-M | *30fe4c4135Input: atkbd - skip ATKBD_CMD_GETID in translated mode | *b6ef44cb6areset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning | *c5d9fd8c5aInput: psmouse - enable Synaptics InterTouch for ThinkPad L14 G1 | *b0407f68d9ring-buffer: Do not record in NMI if the arch does not support cmpxchg in NMI | *07787918c6tracing: Fix uaf issue when open the hist or hist_debug file | *851865caacMIPS: dts: loongson: drop incorrect dwmac fallback compatible | *708579592cstmmac: dwmac-loongson: drop useless check for compatible fallback | *e75c3db904tracing: Add size check when printing trace_marker output | *7d885c1717tracing: Have large events show up as '[LINE TOO BIG]' instead of nothing | *3ac74ed58fjbd2: fix soft lockup in journal_finish_inode_data_buffers() | *bb0e510b74platform/x86: intel-vbtn: Fix missing tablet-mode-switch events | *f379394a78neighbour: Don't let neigh_forced_gc() disable preemption for long | *9b5044e17edrm/crtc: Fix uninit-value bug in drm_mode_setcrtc | *28c9fced8djbd2: increase the journal IO's priority | *6b15330693jbd2: correct the printing of write_flags in jbd2_write_superblock() | *c84f9a5ecbclk: rockchip: rk3128: Fix HCLK_OTG gate register | *3fe5fbc3a5clk: rockchip: rk3568: Add PLL rate for 292.5MHz | *c3597996a3LoongArch: Preserve syscall nr across execve() | *c73cc2310ahwmon: (corsair-psu) Fix probe when built-in | *53442204b1drm/exynos: fix a wrong error checking | *1502a9a595drm/exynos: fix a potential error pointer dereference | *92decec3cadrm/amdgpu: Add NULL checks for function pointers | *5337fb3ebaarm64: dts: rockchip: Fix PCI node addresses on rk3399-gru | *ce97686124nvme: prevent potential spectre v1 gadget | *df2bd52354nvme: introduce helper function to get ctrl state | *a50562146dASoC: ops: add correct range check for limiting volume | *01a7727ab7ASoC: da7219: Support low DC impedance headset | *a7d15ac085net/tg3: fix race condition in tg3_reset_task() | *c342afc146ASoC: hdac_hda: Conditionally register dais for HDMI and Analog | *0f37e198c3ASoC: amd: yc: Add DMI entry to support System76 Pangolin 13 | *2fff601a1dnouveau/tu102: flush all pdbs on vmm flush | *94d2a9da31ASoC: Intel: skl_hda_dsp_generic: Drop HDMI routes when HDMI is not available | *1613195bf3ASoC: rt5650: add mutex to avoid the jack detection failure | *b45e21b529ASoC: cs43130: Fix incorrect frame delay configuration | *0c7833f758ASoC: cs43130: Fix the position of const qualifier | *b0c9af3d31ASoC: Intel: Skylake: mem leak in skl register function | *7c09cf8095ASoC: nau8822: Fix incorrect type in assignment and cast to restricted __be16 | *522f69ba6bASoC: Intel: Skylake: Fix mem leak in few functions | *9f1429c5aaarm64: dts: rockchip: fix rk356x pcie msg interrupt name | *3996699d1fASoC: wm8974: Correct boost mixer inputs | *63360763bfhwtracing: hisi_ptt: Don't try to attach a task | *2e3fc2a45ahwtracing: hisi_ptt: Handle the interrupt in hardirq context | *319c5186d6nvme-core: check for too small lba shift | *f84b0c6445blk-mq: don't count completed flush data request as inflight in case of quiesce | *366d2101fcsmb: client, common: fix fortify warnings | *53a37135f7drm/amdgpu: Fix cat debugfs amdgpu_regs_didt causes kernel null pointer | *d551c77727drm/amd/display: update dcn315 lpddr pstate latency | *3c781fbb4fnvme-core: fix a memory leak in nvme_ns_info_from_identify() | *a37096b079ALSA: hda: intel-nhlt: Ignore vbps when looking for DMIC 32 bps format | *08f6de7b3fdebugfs: fix automount d_fsdata usage | *d1d138c043wifi: mac80211: handle 320 MHz in ieee80211_ht_cap_ie_to_sta_ht_cap | *0c880e1e38wifi: avoid offset calculation on NULL pointer | *dd9465b108wifi: cfg80211: lock wiphy mutex for rfkill poll | *91edb0cd1bmptcp: fix uninit-value in mptcp_incoming_options | *9038962130ALSA: hda - Fix speaker and headset mic pin config for CHUWI CoreBook XPro | *9436ae696apinctrl: lochnagar: Don't build on MIPS | *5de9e9dd18f2fs: explicitly null-terminate the xattr list * |8284d64954Revert "ipv6: remove max_size check inline with ipv4" * |9b95c4490cMerge "Merge 6.1.73 into android14-6.1-lts" into android14-6.1-lts |\ \ | * |a856aee341Merge 6.1.73 into android14-6.1-lts | |\| | | *fec3b1451dLinux 6.1.73 | | *f9ee31dc7fcifs: fix flushing folio regression for 6.1 backport | | *0f22c8a6efipv6: remove max_size check inline with ipv4 | | *b2c545c398Revert "nfsd: separate nfsd_last_thread() from nfsd_put()" | | *db5f2f4db8Revert "nfsd: call nfsd_last_thread() before final nfsd_put()" * | |1eda34ffd5ANDROID: db845c: Enable device tree overlay support |/ / * |732ef8a408Merge branch 'android14-6.1' into branch 'android14-6.1-lts' * |7aa979acecRevert "splice, net: Add a splice_eof op to file-ops and socket-ops" * |a272a3f824Revert "ipv4, ipv6: Use splice_eof() to flush" * |f901cbd38fRevert "udp: introduce udp->udp_flags" * |cef6c6be87Revert "udp: move udp->no_check6_tx to udp->udp_flags" * |8806a26646Revert "udp: move udp->no_check6_rx to udp->udp_flags" * |7b70acfd8eRevert "udp: move udp->gro_enabled to udp->udp_flags" * |583a8f8204Revert "udp: move udp->accept_udp_{l4|fraglist} to udp->udp_flags" * |cdf5cfe6d1Revert "udp: lockless UDP_ENCAP_L2TPINUDP / UDP_GRO" * |f9f95b82b2Revert "udp: annotate data-races around udp->encap_type" * |acd1add3c8Revert "bpf, sockmap: af_unix stream sockets need to hold ref for pair sock" * |190985b1dbRevert "bpf: decouple prune and jump points" * |eba57b3513Revert "bpf: remove unnecessary prune and jump points" * |9212bbf98bRevert "bpf: Remove unused insn_cnt argument from visit_[func_call_]insn()" * |797e6a76eaRevert "bpf: clean up visit_insn()'s instruction processing" * |c7b298c1b5Revert "bpf: Support new 32bit offset jmp instruction" * |1699079678Revert "bpf: handle ldimm64 properly in check_cfg()" * |63ca0ed629Revert "bpf: Fix a verifier bug due to incorrect branch offset comparison with cpu=v4" * |e1b12db2deMerge 6.1.72 into android14-6.1-lts |\| | *7c58bfa711Linux 6.1.72 | *2dbe25ae06Revert "interconnect: qcom: sm8250: Enable sync_state" | *f73a374c19smb3: Replace smb2pdu 1-element arrays with flex-arrays | *ec162546a7media: qcom: camss: Comment CSID dt_id field | *a5c3f2b4cebpf: syzkaller found null ptr deref in unix_bpf proto add | *15db682980bpf: Fix a verifier bug due to incorrect branch offset comparison with cpu=v4 | *7cbdf36eabnet/sched: act_ct: Always fill offloading tuple iifidx | *2be4e8ac2dnet/sched: act_ct: additional checks for outdated flows | *87318b7e37f2fs: compress: fix to assign compress_level for lz4 correctly | *397f719037genirq/affinity: Only build SMP-only helper functions on SMP kernels | *28c9222e29mmc: sdhci-sprd: Fix eMMC init failure after hw reset | *2813a434d4mmc: core: Cancel delayed work before releasing host | *575e127041mmc: rpmb: fixes pause retune on all RPMB partitions. | *9c5efaa09bmmc: meson-mx-sdhc: Fix initialization frozen issue | *48e1d426f4drm/amd/display: add nv12 bounding box | *11c3510d1ddrm/amdgpu: skip gpu_info fw loading on navi12 | *dafdeb7b91mm: fix unmap_mapping_range high bits shift bug | *08038069c2i2c: core: Fix atomic xfer check for non-preempt config | *53b42cb33fx86/kprobes: fix incorrect return address calculation in kprobe_emulate_call_indirect | *d1db1ef5e6firewire: ohci: suppress unexpected system reboot in AMD Ryzen machines and ASM108x/VT630x PCIe cards | *09a44d994bring-buffer: Fix 32-bit rb_time_read() race with rb_time_cmpxchg() | *820a7802f2btrfs: mark the len field in struct btrfs_ordered_sum as unsigned | *ab220f4f5cbtrfs: fix qgroup_free_reserved_data int overflow | *0f74dde5beocteontx2-af: Support variable number of lmacs | *7d3912613docteontx2-af: Fix pause frame configuration | *a29b15cc68net/sched: act_ct: Take per-cb reference to tcf_ct_flow_table | *2bb4ecb334netfilter: flowtable: GC pushes back packets to classic path | *df01de08b4net/sched: act_ct: Fix promotion of offloaded unreplied tuple | *87466a3745net/sched: act_ct: offload UDP NEW connections | *8b160f2fbanetfilter: flowtable: cache info of last offload | *c29a7656f8netfilter: flowtable: allow unidirectional rules | *e681f711e9net: sched: call tcf_ct_params_free to free params in tcf_ct_init | *d49bf9c1cemm/memory_hotplug: fix error handling in add_memory_resource() | *4666f003afmm/memory_hotplug: add missing mem_hotplug_lock | *a576780a2alib/group_cpus.c: avoid acquiring cpu hotplug lock in group_cpus_evenly | *f33b27f5c3genirq/affinity: Move group_cpus_evenly() into lib/ | *617ba3735dgenirq/affinity: Rename irq_build_affinity_masks as group_cpus_evenly | *aeeb4e4e49genirq/affinity: Don't pass irq_affinity_desc array to irq_build_affinity_masks | *9e84d7bb15genirq/affinity: Pass affinity managed mask array to irq_build_affinity_masks | *a1dcd17947genirq/affinity: Remove the 'firstvec' parameter from irq_build_affinity_masks | *f4fe76467eALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7 | *aee609302dfirmware: arm_scmi: Fix frequency truncation by promoting multiplier type | *90d1f74c3cbpf, sockmap: af_unix stream sockets need to hold ref for pair sock | *5ff1682fecethtool: don't propagate EOPNOTSUPP from dumps | *e570b15087dpaa2-eth: recycle the RX buffer only after all processing done | *5b8938fc7dnet: dpaa2-eth: rearrange variable in dpaa2_eth_get_ethtool_stats | *e88275ce7esmb: client: fix missing mode bits for SMB symlinks | *bf223fd4d9block: update the stable_writes flag in bdev_add | *a8e4300ae5filemap: add a per-mapping stable writes flag | *d0eafc7631mm, netfs, fscache: stop read optimisation when folio removed from pagecache | *bceff380f3mm: merge folio_has_private()/filemap_release_folio() call pairs | *8b6b3ecf0cmemory-failure: convert truncate_error_page() to use folio | *a6f440f3b9khugepage: replace try_to_release_page() with filemap_release_folio() | *4c78612e5fext4: convert move_extent_per_page() to use folios | *b92a8f591cmedia: qcom: camss: Fix set CSI2_RX_CFG1_VC_MODE when VC is greater than 3 | *710f70555dmedia: camss: sm8250: Virtual channels for CSID | *c96a4f9360selftests: mptcp: set FAILING_LINKS in run_tests | *4b85e920afselftests: mptcp: fix fastclose with csum failure | *336d1ee07ef2fs: set the default compress_level on ioctl | *1ff3f5ef28f2fs: assign default compression level | *55d3f41e55f2fs: convert to use bitmap API | *84a8d913fbf2fs: clean up i_compress_flag and i_compress_level usage | *2c14f49916s390/cpumf: support user space events for counting | *a1a1e5ce88s390/mm: add missing arch_set_page_dat() call to vmem_crst_alloc() | *31051f722dnet/mlx5: Increase size of irq name buffer | *b5c8e0ff76blk-mq: make sure active queue usage is held for bio_integrity_prep() | *803fb6109fbpf: fix precision backtracking instruction iteration | *b08acd5c46bpf: handle ldimm64 properly in check_cfg() | *2c795ce090bpf: Support new 32bit offset jmp instruction | *b1c780ed3cbpf: clean up visit_insn()'s instruction processing | *97bb6dab01bpf: Remove unused insn_cnt argument from visit_[func_call_]insn() | *8266c47d04bpf: remove unnecessary prune and jump points | *743f3548d3bpf: decouple prune and jump points | *eb4f2e1788fbdev: imsttfb: fix double free in probe() | *f2a79f3651fbdev: imsttfb: Release framebuffer and dealloc cmap on error path | *51a1b94302arm64: dts: qcom: sdm845: Fix PSCI power domain names | *5db8b93cbearm64: dts: qcom: sdm845: align RPMh regulator nodes with bindings | *343bb27e31wifi: iwlwifi: yoyo: swap cdb and jacket bits values | *158b71f3a9udp: annotate data-races around udp->encap_type | *8d929b6c11udp: lockless UDP_ENCAP_L2TPINUDP / UDP_GRO | *b680a907d1udp: move udp->accept_udp_{l4|fraglist} to udp->udp_flags | *753886c0b9udp: move udp->gro_enabled to udp->udp_flags | *a01cff15ccudp: move udp->no_check6_rx to udp->udp_flags | *50e41aa9eaudp: move udp->no_check6_tx to udp->udp_flags | *e2a4392b61udp: introduce udp->udp_flags | *2489502fb1ipv4, ipv6: Use splice_eof() to flush | *4713b7c756splice, net: Add a splice_eof op to file-ops and socket-ops | *ac8c69e448udp: Convert udp_sendpage() to use MSG_SPLICE_PAGES | *6bcc79a4e7net: Declare MSG_SPLICE_PAGES internal sendmsg() flag | *89b51e70e5bpf, x86: save/restore regs with BPF_DW size | *4ee461c5dcbpf, x86: Simplify the parsing logic of structure parameters | *605c8d8f99bpf, x64: Fix tailcall infinite loop | *5573fdbc34srcu: Fix callbacks acceleration mishandling | *abc3e3fb71cpu/SMT: Make SMT control more robust against enumeration failures | *482fa21635cpu/SMT: Create topology_smt_thread_allowed() | *a364c18553selftests: secretmem: floor the memory size to the multiple of page_size | *c38c5cfd3enet: Implement missing SO_TIMESTAMPING_NEW cmsg support | *14937f47a4bnxt_en: Remove mis-applied code from bnxt_cfg_ntp_filters() | *55fbcd83aanet: ravb: Wait for operating mode to be applied | *8a09b0f01casix: Add check for usbnet_get_endpoints | *db9c4a1f37octeontx2-af: Re-enable MAC TX in otx2_stop processing | *b67e7d78e4octeontx2-af: Always configure NIX TX link credits based on max frame size | *84c3833a93net/smc: fix invalid link access in dumping SMC-R connections | *0af75845ffnet/qla3xxx: fix potential memleak in ql_alloc_buffer_queues | *9b05042922igc: Fix hicredit calculation | *7663226274i40e: Restore VF MSI-X state during PCI reset | *5735f529e3ASoC: meson: g12a-tohdmitx: Fix event generation for S/PDIF mux | *8719838c12ASoC: meson: g12a-toacodec: Fix event generation | *5de3c8496eASoC: meson: g12a-tohdmitx: Validate written enum values | *95b4d4093aASoC: meson: g12a-toacodec: Validate written enum values | *2f3b6e8600i40e: fix use-after-free in i40e_aqc_add_filters() | *72fa661778net: Save and restore msg_namelen in sock_sendmsg | *81f8a995ebnetfilter: nft_immediate: drop chain reference counter on error | *bb1bf97fa1net: bcmgenet: Fix FCS generation for fragmented skbuffs | *e75715e1c2sfc: fix a double-free bug in efx_probe_filters | *725d44e49fARM: sun9i: smp: Fix array-index-out-of-bounds read in sunxi_mc_smp_init | *85f6fae44bselftests: bonding: do not set port down when adding to bond | *3edd66bd4enet: Implement missing getsockopt(SO_TIMESTAMPING_NEW) | *ac5fde92b5net: annotate data-races around sk->sk_bind_phc | *c48fcb4f49net: annotate data-races around sk->sk_tsflags | *5d586f7ca0net-timestamp: extend SOF_TIMESTAMPING_OPT_ID to HW timestamps | *b2130366a9can: raw: add support for SO_MARK | *633a49e34br8169: Fix PCI error on system resume | *565460e180net: sched: em_text: fix possible memory leak in em_text_destroy() | *ac5cbe931cmlxbf_gige: fix receive packet race condition | *6d7f454927ASoC: mediatek: mt8186: fix AUD_PAD_TOP register and offset | *811604fb02ASoC: fsl_rpmsg: Fix error handler with pm_runtime_enable | *c3a37dc156igc: Check VLAN EtherType mask | *6edff0b838igc: Check VLAN TCI mask | *d27b98f4aeigc: Report VLAN EtherType matching back to user | *e76d1913f6i40e: Fix filter input checks to prevent config with invalid values | *188c9970d0ice: Shut down VSI with "link-down-on-close" enabled | *83b80170b7ice: Fix link_down_on_close message | *f3f6a23e05drm/i915/dp: Fix passing the correct DPCD_REV for drm_dp_set_phy_test_pattern | *6cf7235bc1octeontx2-af: Fix marking couple of structure as __packed | *a4b0a9b80anfc: llcp_core: Hold a ref to llcp_local->dev when holding a ref to llcp_local | *282e3fb612netfilter: nf_tables: set transport offset from mac header for netdev/egress | *9487cc4c90netfilter: use skb_ip_totlen and iph_totlen | *5f523f1bebdrm/bridge: ti-sn65dsi86: Never store more than msg->size bytes in AUX xfer | *3da4868907wifi: iwlwifi: pcie: don't synchronize IRQs from IRQ | *493d556278KVM: x86/pmu: fix masking logic for MSR_CORE_PERF_GLOBAL_CTRL | *3152a7d361cifs: do not depend on release_iface for maintaining iface_list | *5982a625fccifs: cifs_chan_is_iface_active should be called with chan_lock held | *4afcb82518drm/mgag200: Fix gamma lut not initialized for G200ER, G200EV, G200SE | *b9c370b61dRevert "PCI/ASPM: Remove pcie_aspm_pm_state_change()" | *af9a530765mptcp: prevent tcp diag from closing listener subflows | *105063f7f4ALSA: hda/realtek: Fix mute and mic-mute LEDs for HP ProBook 440 G6 | *0fa3cf2d15ALSA: hda/realtek: fix mute/micmute LEDs for a HP ZBook | *beda900d3aALSA: hda/realtek: enable SND_PCI_QUIRK for hp pavilion 14-ec1xxx series | *9539e3b56eblock: Don't invalidate pagecache for invalid falloc modes | *079eefaecfkeys, dns: Fix missing size check of V1 server-list header * |efec95a6eeRevert "device property: Allow const parameter to dev_fwnode()" * |8eac30b25eMerge 6.1.71 into android14-6.1-lts |\| | *38fb82ecd1Linux 6.1.71 | *74c4c7d57cRevert "platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe" | *7709b16bdbtracing/kprobes: Fix symbol counting logic by looking at modules as well | *9dd295341dkallsyms: Make module_kallsyms_on_each_symbol generally available | *29cb165771device property: Allow const parameter to dev_fwnode() | *e7b0437217spi: Constify spi parameters of chip select APIs | *f9a01938e0NFSD: fix possible oops when nfsd/pool_stats is closed. | *899ac41804ring-buffer: Fix slowpath of interrupted event | *0105571f80netfilter: nf_tables: skip set commit for deleted/destroyed sets | *4768430d5aring-buffer: Remove useless update to write_stamp in rb_try_to_discard() | *f33c4e4cabtracing: Fix blocked reader of snapshot buffer | *09640899e6ring-buffer: Fix wake ups when buffer_percent is set to 100 | *4ee9d9291bmm/memory-failure: check the mapcount of the precise page | *fb21c9780amm/memory-failure: cast index to loff_t before shifting it | *be72d197b2mm: migrate high-order folios in swap cache correctly | *a8df791470mm/filemap: avoid buffered read/write race to read inconsistent data | *b954b92ef0platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe | *7a3bbbadacksmbd: fix slab-out-of-bounds in smb_strndup_from_utf16() | *b9c5f0fd5cblock: renumber QUEUE_FLAG_HW_WC | *e21b5fc5b8spi: atmel: Fix clock issue when using devices with different polarities | *025cf65f68spi: Add APIs in spi core to set/get spi->chip_select and spi->cs_gpiod | *64a4eb2982spi: Reintroduce spi_set_cs_timing() | *95e21657fflinux/export: Ensure natural alignment of kcrctab array | *bb4f791cb2nfsd: call nfsd_last_thread() before final nfsd_put() | *03d68ffc48nfsd: separate nfsd_last_thread() from nfsd_put() | *481561a431iio: imu: adis16475: add spi_device_id table | *027eaeaf32spi: Introduce spi_get_device_match_data() helper | *457a219c84usb: fotg210-hcd: delete an incorrect bounds test | *119127273bARM: dts: Fix occasional boot hang for am3 usb | *98235bc13aksmbd: fix wrong allocation size update in smb2_open() | *04b8e04f8fksmbd: avoid duplicate opinfo_put() call on error of smb21_lease_break_ack() | *34f7d5b5c9ksmbd: lazy v2 lease break on smb2_write() | *500c7a5e9aksmbd: send v2 lease break notification for directory | *1993959460ksmbd: downgrade RWH lease caching state to RH for directory | *2fcb46df34ksmbd: set v2 lease capability | *3eddc811a7ksmbd: set epoch in create context v2 lease | *52a32eafd0ksmbd: don't update ->op_state as OPLOCK_STATE_NONE on error | *0bc46c2370ksmbd: move setting SMB2_FLAGS_ASYNC_COMMAND and AsyncId | *d9aa5c1908ksmbd: release interim response after sending status pending response | *013bf453afksmbd: move oplock handling after unlock parent dir | *20dd92c237ksmbd: separately allocate ci per dentry | *d5651972e5ksmbd: fix possible deadlock in smb2_open | *aabc944ebfksmbd: prevent memory leak on error return | *b4a269bb89ksmbd: fix kernel-doc comment of ksmbd_vfs_kern_path_locked() | *699ad8d03cksmbd: no need to wait for binded connection termination at logoff | *3cf4455081ksmbd: add support for surrogate pair conversion | *d26e024a5eksmbd: fix missing RDMA-capable flag for IPoIB device in ksmbd_rdma_capable_netdev() | *5113f72225ksmbd: fix recursive locking in vfs helpers | *42e56982beksmbd: fix kernel-doc comment of ksmbd_vfs_setxattr() | *533e6dc446ksmbd: reorganize ksmbd_iov_pin_rsp() | *1d95c5a541ksmbd: Remove unused field in ksmbd_user struct | *5929e98f3bksmbd: fix potential double free on smb2_read_pipe() error path | *a7aae713eaksmbd: fix Null pointer dereferences in ksmbd_update_fstate() | *943cebf9eaksmbd: fix wrong error response status by using set_smb2_rsp_status() | *7b58ee8d0bksmbd: fix race condition between tree conn lookup and disconnect | *0090f0bfc2ksmbd: fix race condition from parallel smb2 lock requests | *6584ca894fksmbd: fix race condition from parallel smb2 logoff requests | *b3a843caedksmbd: fix race condition with fp | *7345f5dbf6ksmbd: check iov vector index in ksmbd_conn_write() | *8beae8a0a0ksmbd: return invalid parameter error response if smb2 request is invalid | *e523a26c05ksmbd: fix passing freed memory 'aux_payload_buf' | *b4b3fd1a95ksmbd: remove unneeded mark_inode_dirty in set_info_sec() | *1ee419e08fksmbd: remove experimental warning | *83b01f7330ksmbd: add missing calling smb2_set_err_rsp() on error | *422c0cd016ksmbd: Fix one kernel-doc comment | *c20105a897ksmbd: fix `force create mode' and `force directory mode' | *f8cf1ebb7dksmbd: fix wrong interim response on compound | *9f297df20dksmbd: add support for read compound | *673e60c691ksmbd: switch to use kmemdup_nul() helper | *0a9b91f45eksmbd: check if a mount point is crossed during path lookup | *d782f42eedksmbd: Fix unsigned expression compared with zero | *48cc493840ksmbd: Replace one-element array with flexible-array member | *63fbfd212cksmbd: Use struct_size() helper in ksmbd_negotiate_smb_dialect() | *e7ab53bd81ksmbd: Replace the ternary conditional operator with min() | *143da652ceksmbd: use kvzalloc instead of kvmalloc | *de43cdaa88ksmbd: Change the return value of ksmbd_vfs_query_maximal_access to void | *deb79f20beksmbd: return a literal instead of 'err' in ksmbd_vfs_kern_path_locked() | *fe7977b872ksmbd: use kzalloc() instead of __GFP_ZERO | *294a275f37ksmbd: remove unused ksmbd_tree_conn_share function | *b069977b2bksmbd: add mnt_want_write to ksmbd vfs functions | *13a5045011ksmbd: fix posix_acls and acls dereferencing possible ERR_PTR() | *1524884c3eksmbd: call putname after using the last component | *30a1344198ksmbd: fix uninitialized pointer read in smb2_create_link() | *6d4e21e369ksmbd: fix uninitialized pointer read in ksmbd_vfs_rename() | *6927ffe747ksmbd: fix racy issue from using ->d_parent and ->d_name | *6e99fbb429fs: introduce lock_rename_child() helper | *965eb86507ksmbd: remove unused compression negotiate ctx packing | *49d9f6ad1eksmbd: avoid duplicate negotiate ctx offset increments | *2182d96ec0ksmbd: set NegotiateContextCount once instead of every inc | *8d271ef5e5ksmbd: delete asynchronous work from list | *4ef3fd2f85ksmbd: remove unused is_char_allowed function | *226aaaa593ksmbd: Fix parameter name and comment mismatch | *e8c49f9364ksmbd: Fix spelling mistake "excceed" -> "exceeded" | *ada8bcc48aksmbd: update Kconfig to note Kerberos support and fix indentation | *5c0306b0abksmbd: Remove duplicated codes | *b6502c34cfksmbd: fix typo, syncronous->synchronous | *052b41ef2aksmbd: Implements sess->rpc_handle_list as xarray | *264547e13fksmbd: Convert to use sysfs_emit()/sysfs_emit_at() APIs | *87ffbb9e24ksmbd: Fix resource leak in smb2_lock() | *d847b75883ksmbd: use F_SETLK when unlocking a file | *343d667deeksmbd: set SMB2_SESSION_FLAG_ENCRYPT_DATA when enforcing data encryption for this share | *ab69d3e8f7ksmbd: replace one-element arrays with flexible-array members * |1e63881f5cMerge 6.1.70 into android14-6.1-lts |\| | *a507f147e6Linux 6.1.70 | *a413b88cdbloop: deprecate autoloading callback loop_probe() | *75c27bdb21wifi: nl80211: fix deadlock in nl80211_set_cqm_rssi (6.6.x) | *15577a98efwifi: cfg80211: fix CQM for non-range use | *706448f716fuse: share lookup state between submount and its parent | *ec7b81b0abmm/damon/core: make damon_start() waits until kdamond_fn() starts | *41f4ff9fe2x86/alternatives: Sync core before enabling interrupts | *425379154bKVM: arm64: vgic: Force vcpu vgic teardown on vcpu destroy | *5dfacfd0fcKVM: arm64: vgic: Add a non-locking primitive for kvm_vgic_vcpu_destroy() | *3a0fd93cd9KVM: arm64: vgic: Simplify kvm_vgic_destroy() | *3339028dd0thunderbolt: Fix memory leak in margining_port_remove() | *69b6596c6elib/vsprintf: Fix %pfwf when current node refcount == 0 | *2dd6f22860gpio: dwapb: mask/unmask IRQ when disable/enale it | *ab1c3f91d1bus: ti-sysc: Flush posted write only after srst_udelay | *cd9f9ef59dpinctrl: starfive: jh7100: ignore disabled device tree nodes | *7f7efa30fadm-integrity: don't modify bio's immutable bio_vec in integrity_metadata() | *33b976a0f2tracing / synthetic: Disable events after testing in synth_event_gen_test_init() | *d2b549d310scsi: core: Always send batch on reset or error handling command | *72e472a91cRevert "scsi: aacraid: Reply queue mapping to CPUs based on IRQ affinity" | *4258274bacselftests: mptcp: join: fix subflow_send_ack lookup | *a8555c86f5ublk: move ublk_cancel_dev() out of ub->mutex | *1c250f2c5fubifs: fix possible dereference after free | *3c42cc437dbtrfs: zoned: no longer count fresh BG region as zone unusable | *b09a676176Revert "drm/amd/display: Do not set DRR on pipe commit" | *93da3d8af9dm thin metadata: Fix ABBA deadlock by resetting dm_bufio_client | *e9779fac68loop: do not enforce max_loop hard limit by (new) default | *600043e185RISC-V: Fix do_notify_resume / do_work_pending prototype | *764c6790dd9p: prevent read overrun in protocol dump tracepoint | *7d09c84df5drm/i915: Reject async flips with bigjoiner | *c60e10d154smb: client: fix OOB in smbCalcSize() | *bef4315f19smb: client: fix OOB in SMB2_query_info_init() | *71fe685b6asmb: client: fix potential OOB in cifs_dump_detail() | *277832a306smb: client: fix OOB in cifsd when receiving compounded resps | *3f6da21047dt-bindings: nvmem: mxs-ocotp: Document fsl,ocotp | *1092525155net: ks8851: Fix TX stall caused by TX buffer overrun | *e9df9f0891net: rfkill: gpio: set GPIO direction | *805611157dnet: 9p: avoid freeing uninit memory in p9pdu_vreadf | *4c775b4cd8Input: soc_button_array - add mapping for airplane mode button | *5df2b49e7enet: usb: ax88179_178a: avoid failed operations when device is disconnected | *0f7bffd40aBluetooth: Add more enc key size check | *39347d6450Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE | *e14a7ebafeBluetooth: L2CAP: Send reject on command corrupted request | *37f71e2c9fBluetooth: af_bluetooth: Fix Use-After-Free in bt_sock_recvmsg | *470896ecbcBluetooth: hci_event: Fix not checking if HCI_OP_INQUIRY has been sent | *d36d945f94ALSA: hda/realtek: Add quirk for ASUS ROG GV302XA | *9599a5e34cUSB: serial: option: add Quectel RM500Q R13 firmware support | *a91fb450dfUSB: serial: option: add Foxconn T99W265 with new baseline | *73b6b6ab03USB: serial: option: add Quectel EG912Y module support | *9b968a7086USB: serial: ftdi_sio: update Actisense PIDs constant names | *db57ef0dd4wifi: cfg80211: fix certs build to not depend on file order | *ec350809cdwifi: cfg80211: Add my certificate | *228d9960aeusb-storage: Add quirk for incorrect WP on Kingston DT Ultimate 3.0 G3 | *82f913724bALSA: usb-audio: Increase delay in MOTU M quirk | *01bc94b581iio: triggered-buffer: prevent possible freeing of wrong buffer | *c508a99fbciio: adc: ti_am335x_adc: Fix return value check of tiadc_request_dma() | *1b670b0eeeiio: common: ms_sensors: ms_sensors_i2c: fix humidity conversion time table | *1fe4c93fc7scsi: bnx2fc: Fix skb double free in bnx2fc_rcv() | *66ccf5f743Input: ipaq-micro-keys - add error handling for devm_kmemdup | *3637f6bdfeinterconnect: qcom: sm8250: Enable sync_state | *90aa62722diio: imu: inv_mpu6050: fix an error code problem in inv_mpu6050_read_raw | *50d60bfc96interconnect: Treat xlate() returning NULL node as an error | *900c1b3c62drm/i915: Fix ADL+ tiled plane stride when the POT stride is smaller than the original | *de4349bdf9drm/i915/mtl: Add MTL for remapping CCS FBs | *52c1a67dd3drm/i915/dpt: Only do the POT stride remap when using DPT | *7afe810945drm/i915: Fix intel_atomic_setup_scalers() plane_state handling | *b097184f80drm/i915: Relocate intel_atomic_setup_scalers() | *99767368b7drm/i915/mtl: limit second scaler vertical scaling in ver >= 14 | *387e807759nvme-pci: fix sleeping function called from interrupt context | *b506833ee8gpiolib: cdev: add gpio_device locking wrapper around gpio_ioctl() | *6eb51df9e7pinctrl: at91-pio4: use dedicated lock class for IRQ | *903bb0c7b8x86/xen: add CPU dependencies for 32-bit build | *2550d96aa2i2c: aspeed: Handle the coalesced stop conditions with the start conditions. | *5c11f63799ASoC: fsl_sai: Fix channel swap issue on i.MX8MP | *264d8c9b7fASoC: hdmi-codec: fix missing report for jack initial status | *9b4c95a63eafs: Fix use-after-free due to get/remove race in volume tree | *17605162e2afs: Fix overwriting of result of DNS query | *791d5409cdkeys, dns: Allow key types (eg. DNS) to be reclaimed immediately on expiry | *3e617c7e39net: check dev->gso_max_size in gso_features_check() | *087b96adc6afs: Fix dynamic root lookup DNS check | *9c6ea7abe3afs: Fix the dynamic root's d_delete to always delete unused dentries | *a70c2dd741net: check vlan filter feature in vlan_vids_add_by_dev() and vlan_vids_del_by_dev() | *ea03196ebcnet: mana: select PAGE_POOL | *a1986c429cBluetooth: hci_event: shut up a false-positive warning | *fc64715105Bluetooth: Fix deadlock in vhci_send_frame | *3e0d158579net/rose: fix races in rose_kill_by_device() | *51e28c37d9ethernet: atheros: fix a memleak in atl1e_setup_ring_resources | *6707baabe4net: sched: ife: fix potential use-after-free | *31edab1222net: Return error from sk_stream_wait_connect() if sk_wait_event() fails | *9d00421e14octeontx2-pf: Fix graceful exit during PFC configuration failure | *b0cee29402net: mscc: ocelot: fix eMAC TX RMON stats for bucket 256-511 and above | *72b8de75b3net/mlx5e: Correct snprintf truncation handling for fw_version buffer used by representors | *18b4a5e0c3net/mlx5e: Correct snprintf truncation handling for fw_version buffer | *94c8485b44net/mlx5: Fix fw tracer first block check | *1750f55d85net/mlx5e: fix a potential double-free in fs_udp_create_groups | *01877daaefnet/mlx5e: Fix a race in command alloc flow | *f3739647a7net/mlx5: Re-organize mlx5_cmd struct | *148ec770c6net/mlx5: Prevent high-rate FW commands from populating all slots | *bd6e091629net/mlx5: Introduce and use opcode getter in command interface | *0f5de95fa2net/mlx5e: Fix slab-out-of-bounds in mlx5_query_nic_vport_mac_list() | *31037cfcefRevert "net/mlx5e: fix double free of encap_header" | *8a84413505Revert "net/mlx5e: fix double free of encap_header in update funcs" | *2f635af7d6wifi: mac80211: mesh_plink: fix matches_local logic | *7a07af00aawifi: mac80211: mesh: check element parsing succeeded | *40ba7f9ab8wifi: mac80211: check if the existing link config remains unchanged | *e90da1c7c6wifi: iwlwifi: pcie: add another missing bh-disable for rxq->lock | *912652366fs390/vx: fix save/restore of fpu kernel context | *0a6e700c3dreset: Fix crash when freeing non-existent optional resets | *930a61fd79ARM: OMAP2+: Fix null pointer dereference and memory leak in omap_soc_device_init | *228a00a77dARM: dts: dra7: Fix DRA7 L3 NoC node register size | *913463f8e6drm/amd/display: fix hw rotated modes when PSR-SU is enabled | *a4f48f77bbHID: i2c-hid: Add IDEA5002 to i2c_hid_acpi_blacklist[] | *413bef367bHID: i2c-hid: acpi: Unify ACPI ID tables format | *57a6b0a464bpf: Fix prog_array_map_poke_run map poke update | *4768f82272kasan: disable kasan_non_canonical_hook() for HW tags * |0b58f24c02Reapply "kasan: print the original fault addr when access invalid shadow" * |1ac76d45aaANDROID: GKI: fix crc issue in include/net/addrconf.h * |9b8f2430b3Revert "cred: switch to using atomic_long_t" * |d3d46ac25cMerge 6.1.69 into android14-6.1-lts |\| | *4aa6747d93Linux 6.1.69 | *325556d46br8152: fix the autosuspend doesn't work | *4c2ad8e39cr8152: remove rtl_vendor_mode function | *1d82735f4br8152: avoid to change cfg for all devices | *9b3d3a7f3cnet: tls, update curr on splice as well | *869aee35cfring-buffer: Have rb_time_cmpxchg() set the msb counter too | *c425a772fcring-buffer: Do not try to put back write_stamp | *b15cf14869ring-buffer: Fix a race in rb_time_cmpxchg() for 32 bit archs | *edbc03d671ring-buffer: Fix writing to the buffer with max_data_size | *6d98d594a5ring-buffer: Have saved event hold the entire event | *7888b607a9ring-buffer: Do not update before stamp when switching sub-buffers | *7043c4610ctracing: Update snapshot buffer on resize if it is allocated | *31785cf817ring-buffer: Fix memory leak of free page | *8c3b77ad4esmb: client: fix OOB in smb2_query_reparse_point() | *d8541c50c6smb: client: fix NULL deref in asn1_ber_decoder() | *9f528a8e68smb: client: fix OOB in receive_encrypted_standard() | *7b0faa541fdrm/i915: Fix remapped stride with CCS on ADL+ | *2090771791drm/amd/display: Disable PSR-SU on Parade 0803 TCON again | *a9e2de1943drm/amdgpu: fix tear down order in amdgpu_vm_pt_free | *730b3322b8btrfs: don't clear qgroup reserved bit in release_folio | *9b670e1b64btrfs: free qgroup reserve when ORDERED_IOERR is set | *da9b7c651cmm/shmem: fix race in shmem_undo_range w/THP | *8ec07b0620mm/mglru: fix underprotected page cache | *40f3ad769edmaengine: stm32-dma: avoid bitfield overflow assertion | *78b2ba39bedrm/amdgpu/sdma5.2: add begin/end_use ring callbacks | *6a1472d9beteam: Fix use-after-free when an option instance allocation fails | *b01af92818arm64: mm: Always make sw-dirty PTEs hw-dirty in pte_modify | *0b071a3266ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS | *f2955dd3e9soundwire: stream: fix NULL pointer dereference for multi_link | *56f762659abtrfs: do not allow non subvolume root targets for snapshot | *557f7ad064perf: Fix perf_event_validate_size() lockdep splat | *a684235d30HID: hid-asus: add const to read-only outgoing usb buffer | *2b9e16bc1carm64: add dependency between vmlinuz.efi and Image | *6cb0c71c6enet: usb: qmi_wwan: claim interface 4 for ZTE MF290 | *f7ce765744asm-generic: qspinlock: fix queued_spin_value_unlocked() implementation | *fba6e958caHID: multitouch: Add quirk for HONOR GLO-GXXX touchpad | *8f0c858585HID: hid-asus: reset the backlight brightness level on resume | *de78e4bdcbnbd: pass nbd_sock to nbd_read_reply() instead of index | *d482bb5663HID: add ALWAYS_POLL quirk for Apple kb | *541b183be9HID: glorious: fix Glorious Model I HID report | *42b4ab97beplatform/x86: intel_telemetry: Fix kernel doc descriptions | *355170a7ecLoongArch: Implement constant timer shutdown interface | *adb6a90754LoongArch: Add dependency between vmlinuz.efi and vmlinux.efi | *943cde1f3dselftests/bpf: fix bpf_loop_bench for new callback verification scheme | *1b40f23e70nvme: catch errors from nvme_configure_metadata() | *6cb3741c45nvme-auth: set explanation code for failure2 msgs | *83bb13bf6cnbd: fold nbd config initialization into nbd_alloc_config() | *02a4b14d17bcache: avoid NULL checking to c->root in run_cache_set() | *3d3f72efc7bcache: add code comments for bch_btree_node_get() and __bch_btree_node_alloc() | *bc17ec4215bcache: remove redundant assignment to variable cur_idx | *be0e2a28e0bcache: avoid oversize memory allocation by small stripe_size | *94070fd668blk-cgroup: bypass blkcg_deactivate_policy after destroying | *e52d0eb48eblk-throttle: fix lockdep warning of "cgroup_mutex or RCU read lock required!" | *5fb6772cb5stmmac: dwmac-loongson: Add architecture dependency | *82c386d736usb: aqc111: check packet for fixup for true limit | *d6c02295c8x86/hyperv: Fix the detection of E820_TYPE_PRAM in a Gen2 VM | *ae818b2a2edrm/mediatek: Add spinlock for setting vblank event in atomic_begin | *73c240e1ecksmbd: fix wrong name of SMB2_CREATE_ALLOCATION_SIZE | *0c196180b5PCI: loongson: Limit MRRS to 256 | *56d1891594Revert "PCI: acpiphp: Reassign resources on bridge if necessary" | *1ec80b9d43ALSA: hda/realtek: Apply mute LED quirk for HP15-db | *eeeb91216aALSA: hda/hdmi: add force-connect quirks for ASUSTeK Z170 variants | *82413e9e42ALSA: hda/hdmi: add force-connect quirk for NUC5CPYB | *0dc6a06c48fuse: dax: set fc->dax to NULL in fuse_dax_conn_free() | *36e2497ac7cred: switch to using atomic_long_t | *a51f71cd4fnet: atlantic: fix double free in ring reinit logic | *1646b2929dappletalk: Fix Use-After-Free in atalk_ioctl | *d835299ddenet: stmmac: Handle disabled MDIO busses from devicetree | *9aac81639edpaa2-switch: do not ask for MDB, VLAN and FDB replay | *a81c7069afdpaa2-switch: fix size of the dma_unmap | *9a23be1e58vsock/virtio: Fix unsigned integer wrap around in virtio_transport_has_space() | *2027dd67c3sign-file: Fix incorrect return values check | *918991db7dstmmac: dwmac-loongson: Make sure MDIO is initialized before use | *63387fe87fnet: ena: Fix XDP redirection error | *2664b56420net: ena: Fix xdp drops handling due to multibuf packets | *e312eed27anet: ena: Destroy correct number of xdp queues upon failure | *55a43bae08net: Remove acked SYN flag from packet in the transmit queue correctly | *9bb392ee53qed: Fix a potential use-after-free in qed_cxt_tables_alloc | *112792ad36iavf: Handle ntuple on/off based on new state machines for flow director | *11c314a5a4iavf: Introduce new state machines for flow director | *01540ee236net/rose: Fix Use-After-Free in rose_ioctl | *2de2a6cbe1atm: Fix Use-After-Free in do_vcc_ioctl | *3a76dcab2eocteontx2-af: Update RSS algorithm index | *d0f0786f8cocteontx2-pf: Fix promisc mcam entry action | *34b630626aocteontx2-af: fix a use-after-free in rvu_nix_register_reporters | *e4ce3dc7a0net: fec: correct queue selection | *a00dbc6decnet: vlan: introduce skb_vlan_eth_hdr() | *7cfbb8bea3atm: solos-pci: Fix potential deadlock on &tx_queue_lock | *35c63d366fatm: solos-pci: Fix potential deadlock on &cli_queue_lock | *525904a157bnxt_en: Fix HWTSTAMP_FILTER_ALL packet timestamp logic | *ac61251741bnxt_en: Fix wrong return value check in bnxt_close_nic() | *8217f9362cbnxt_en: Save ring error counters across reset | *53cacb8cdcbnxt_en: Clear resource reservation during resume | *ab410db6e9qca_spi: Fix reset behavior | *7e177e5a40qca_debug: Fix ethtool -G iface tx behavior | *2127142c17qca_debug: Prevent crash on TX ring changes | *0da41ddfb2net: ipv6: support reporting otherwise unknown prefix flags in RTM_NEWPREFIX | *514232495anet/mlx5e: Fix possible deadlock on mlx5e_tx_timeout_work | *1e8396aab2HID: lenovo: Restrict detection of patched firmware only to USB cptkbd | *e0cda159c8afs: Fix refcount underflow from error handling race | *a7e6477cc3ksmbd: fix memory leak in smb2_lock() | *8925ab33b3ext4: fix warning in ext4_dio_write_end_io() | *1c077acf24powerpc/ftrace: Fix stack teardown in ftrace_no_trace | *34ae53cccfr8152: add vendor/device ID pair for ASUS USB-C2500 | *cac1218b32r8152: add vendor/device ID pair for D-Link DUB-E250 | *893597cbabr8152: add USB device driver for config selection | *b80d0c6e5bperf/x86/uncore: Don't WARN_ON_ONCE() for a broken discovery table *bb47960a9dMerge branch 'android14-6.1' into branch 'android14-6.1-lts' Change-Id: I73d22764ee8804a28bb2fdcbeba633da3e0daaf3 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
commit
1dbafe61e3
897 changed files with 10663 additions and 6261 deletions
|
|
@ -126,7 +126,7 @@ examples:
|
|||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
gpio@e000a000 {
|
||||
gpio@a0020000 {
|
||||
compatible = "xlnx,xps-gpio-1.00.a";
|
||||
reg = <0xa0020000 0x10000>;
|
||||
#gpio-cells = <2>;
|
||||
|
|
|
|||
|
|
@ -61,6 +61,9 @@ properties:
|
|||
- description: used for 1st data pipe from RDMA
|
||||
- description: used for 2nd data pipe from RDMA
|
||||
|
||||
'#dma-cells':
|
||||
const: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
|
@ -70,6 +73,7 @@ required:
|
|||
- clocks
|
||||
- iommus
|
||||
- mboxes
|
||||
- '#dma-cells'
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
|
|
@ -80,16 +84,17 @@ examples:
|
|||
#include <dt-bindings/power/mt8183-power.h>
|
||||
#include <dt-bindings/memory/mt8183-larb-port.h>
|
||||
|
||||
mdp3_rdma0: mdp3-rdma0@14001000 {
|
||||
compatible = "mediatek,mt8183-mdp3-rdma";
|
||||
reg = <0x14001000 0x1000>;
|
||||
mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x1000 0x1000>;
|
||||
mediatek,gce-events = <CMDQ_EVENT_MDP_RDMA0_SOF>,
|
||||
<CMDQ_EVENT_MDP_RDMA0_EOF>;
|
||||
power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
|
||||
clocks = <&mmsys CLK_MM_MDP_RDMA0>,
|
||||
<&mmsys CLK_MM_MDP_RSZ1>;
|
||||
iommus = <&iommu>;
|
||||
mboxes = <&gce 20 CMDQ_THR_PRIO_LOWEST>,
|
||||
<&gce 21 CMDQ_THR_PRIO_LOWEST>;
|
||||
dma-controller@14001000 {
|
||||
compatible = "mediatek,mt8183-mdp3-rdma";
|
||||
reg = <0x14001000 0x1000>;
|
||||
mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x1000 0x1000>;
|
||||
mediatek,gce-events = <CMDQ_EVENT_MDP_RDMA0_SOF>,
|
||||
<CMDQ_EVENT_MDP_RDMA0_EOF>;
|
||||
power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
|
||||
clocks = <&mmsys CLK_MM_MDP_RDMA0>,
|
||||
<&mmsys CLK_MM_MDP_RSZ1>;
|
||||
iommus = <&iommu>;
|
||||
mboxes = <&gce 20 CMDQ_THR_PRIO_LOWEST>,
|
||||
<&gce 21 CMDQ_THR_PRIO_LOWEST>;
|
||||
#dma-cells = <1>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -50,6 +50,9 @@ properties:
|
|||
iommus:
|
||||
maxItems: 1
|
||||
|
||||
'#dma-cells':
|
||||
const: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
|
@ -58,6 +61,7 @@ required:
|
|||
- power-domains
|
||||
- clocks
|
||||
- iommus
|
||||
- '#dma-cells'
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
|
|
@ -68,13 +72,14 @@ examples:
|
|||
#include <dt-bindings/power/mt8183-power.h>
|
||||
#include <dt-bindings/memory/mt8183-larb-port.h>
|
||||
|
||||
mdp3_wrot0: mdp3-wrot0@14005000 {
|
||||
compatible = "mediatek,mt8183-mdp3-wrot";
|
||||
reg = <0x14005000 0x1000>;
|
||||
mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x5000 0x1000>;
|
||||
mediatek,gce-events = <CMDQ_EVENT_MDP_WROT0_SOF>,
|
||||
<CMDQ_EVENT_MDP_WROT0_EOF>;
|
||||
power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
|
||||
clocks = <&mmsys CLK_MM_MDP_WROT0>;
|
||||
iommus = <&iommu>;
|
||||
dma-controller@14005000 {
|
||||
compatible = "mediatek,mt8183-mdp3-wrot";
|
||||
reg = <0x14005000 0x1000>;
|
||||
mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x5000 0x1000>;
|
||||
mediatek,gce-events = <CMDQ_EVENT_MDP_WROT0_SOF>,
|
||||
<CMDQ_EVENT_MDP_WROT0_EOF>;
|
||||
power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
|
||||
clocks = <&mmsys CLK_MM_MDP_WROT0>;
|
||||
iommus = <&iommu>;
|
||||
#dma-cells = <1>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -90,15 +90,16 @@ properties:
|
|||
description: connection point for input on the parallel interface
|
||||
|
||||
properties:
|
||||
bus-type:
|
||||
enum: [5, 6]
|
||||
|
||||
endpoint:
|
||||
$ref: video-interfaces.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- bus-type
|
||||
properties:
|
||||
bus-type:
|
||||
enum: [5, 6]
|
||||
|
||||
required:
|
||||
- bus-type
|
||||
|
||||
anyOf:
|
||||
- required:
|
||||
|
|
|
|||
|
|
@ -14,9 +14,11 @@ allOf:
|
|||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- fsl,imx23-ocotp
|
||||
- fsl,imx28-ocotp
|
||||
items:
|
||||
- enum:
|
||||
- fsl,imx23-ocotp
|
||||
- fsl,imx28-ocotp
|
||||
- const: fsl,ocotp
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
|
@ -40,7 +42,7 @@ additionalProperties: false
|
|||
examples:
|
||||
- |
|
||||
ocotp: efuse@8002c000 {
|
||||
compatible = "fsl,imx28-ocotp";
|
||||
compatible = "fsl,imx28-ocotp", "fsl,ocotp";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
reg = <0x8002c000 0x2000>;
|
||||
|
|
|
|||
|
|
@ -83,19 +83,9 @@ this to include other types of resources like doorbells.
|
|||
Client Drivers
|
||||
--------------
|
||||
|
||||
A client driver typically only has to conditionally change its DMA map
|
||||
routine to use the mapping function :c:func:`pci_p2pdma_map_sg()` instead
|
||||
of the usual :c:func:`dma_map_sg()` function. Memory mapped in this
|
||||
way does not need to be unmapped.
|
||||
|
||||
The client may also, optionally, make use of
|
||||
:c:func:`is_pci_p2pdma_page()` to determine when to use the P2P mapping
|
||||
functions and when to use the regular mapping functions. In some
|
||||
situations, it may be more appropriate to use a flag to indicate a
|
||||
given request is P2P memory and map appropriately. It is important to
|
||||
ensure that struct pages that back P2P memory stay out of code that
|
||||
does not have support for them as other code may treat the pages as
|
||||
regular memory which may not be appropriate.
|
||||
A client driver only has to use the mapping API :c:func:`dma_map_sg()`
|
||||
and :c:func:`dma_unmap_sg()` functions as usual, and the implementation
|
||||
will do the right thing for the P2P capable memory.
|
||||
|
||||
|
||||
Orchestrator Drivers
|
||||
|
|
|
|||
|
|
@ -10845,6 +10845,8 @@ L: linux-kernel@vger.kernel.org
|
|||
S: Maintained
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
|
||||
F: kernel/irq/
|
||||
F: include/linux/group_cpus.h
|
||||
F: lib/group_cpus.c
|
||||
|
||||
IRQCHIP DRIVERS
|
||||
M: Thomas Gleixner <tglx@linutronix.de>
|
||||
|
|
|
|||
2
Makefile
2
Makefile
|
|
@ -1,7 +1,7 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
VERSION = 6
|
||||
PATCHLEVEL = 1
|
||||
SUBLEVEL = 68
|
||||
SUBLEVEL = 75
|
||||
EXTRAVERSION =
|
||||
NAME = Curry Ramen
|
||||
|
||||
|
|
|
|||
|
|
@ -39134,6 +39134,10 @@ member {
|
|||
id: 0x230f36dc
|
||||
type_id: 0x0312ab60
|
||||
}
|
||||
member {
|
||||
id: 0x23531e28
|
||||
type_id: 0x026208b2
|
||||
}
|
||||
member {
|
||||
id: 0x2380a48f
|
||||
type_id: 0x012ce22f
|
||||
|
|
@ -40048,6 +40052,11 @@ member {
|
|||
type_id: 0x5d86aa37
|
||||
offset: 96
|
||||
}
|
||||
member {
|
||||
id: 0x34aaae1a
|
||||
type_id: 0x5d84d1ff
|
||||
offset: 24
|
||||
}
|
||||
member {
|
||||
id: 0x34be27ed
|
||||
type_id: 0x5dd6efa4
|
||||
|
|
@ -51111,10 +51120,10 @@ member {
|
|||
offset: 160
|
||||
}
|
||||
member {
|
||||
id: 0xb2dd57f2
|
||||
id: 0xb2dd5b41
|
||||
name: "autoconf"
|
||||
type_id: 0xb3e7bac9
|
||||
offset: 30
|
||||
offset: 6
|
||||
bitsize: 1
|
||||
}
|
||||
member {
|
||||
|
|
@ -141062,10 +141071,10 @@ member {
|
|||
offset: 9920
|
||||
}
|
||||
member {
|
||||
id: 0x7adb50ba
|
||||
id: 0x7adb5caf
|
||||
name: "onlink"
|
||||
type_id: 0xb3e7bac9
|
||||
offset: 31
|
||||
offset: 7
|
||||
bitsize: 1
|
||||
}
|
||||
member {
|
||||
|
|
@ -164807,10 +164816,9 @@ member {
|
|||
offset: 1024
|
||||
}
|
||||
member {
|
||||
id: 0x688b9047
|
||||
id: 0x688b9626
|
||||
name: "reserved"
|
||||
type_id: 0xb3e7bac9
|
||||
offset: 24
|
||||
bitsize: 6
|
||||
}
|
||||
member {
|
||||
|
|
@ -209476,6 +209484,16 @@ struct_union {
|
|||
member_id: 0x2d8a4e32
|
||||
}
|
||||
}
|
||||
struct_union {
|
||||
id: 0x026208b2
|
||||
kind: STRUCT
|
||||
definition {
|
||||
bytesize: 1
|
||||
member_id: 0x688b9626
|
||||
member_id: 0xb2dd5b41
|
||||
member_id: 0x7adb5caf
|
||||
}
|
||||
}
|
||||
struct_union {
|
||||
id: 0x02c70092
|
||||
kind: STRUCT
|
||||
|
|
@ -214632,6 +214650,15 @@ struct_union {
|
|||
member_id: 0x36752b74
|
||||
}
|
||||
}
|
||||
struct_union {
|
||||
id: 0x5d84d1ff
|
||||
kind: UNION
|
||||
definition {
|
||||
bytesize: 1
|
||||
member_id: 0x2ddb63e4
|
||||
member_id: 0x23531e28
|
||||
}
|
||||
}
|
||||
struct_union {
|
||||
id: 0x5d86aa37
|
||||
kind: UNION
|
||||
|
|
@ -249200,9 +249227,7 @@ struct_union {
|
|||
member_id: 0x5ce532c4
|
||||
member_id: 0xb5de8e04
|
||||
member_id: 0x2165da89
|
||||
member_id: 0x688b9047
|
||||
member_id: 0xb2dd57f2
|
||||
member_id: 0x7adb50ba
|
||||
member_id: 0x34aaae1a
|
||||
member_id: 0xe91a1d71
|
||||
member_id: 0xbada6e7d
|
||||
member_id: 0x08cabd3c
|
||||
|
|
|
|||
|
|
@ -34,6 +34,9 @@ config ARCH_HAS_SUBPAGE_FAULTS
|
|||
config HOTPLUG_SMT
|
||||
bool
|
||||
|
||||
config SMT_NUM_THREADS_DYNAMIC
|
||||
bool
|
||||
|
||||
config GENERIC_ENTRY
|
||||
bool
|
||||
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ struct rt_sigframe {
|
|||
unsigned int sigret_magic;
|
||||
};
|
||||
|
||||
static int save_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs)
|
||||
static int save_arcv2_regs(struct sigcontext __user *mctx, struct pt_regs *regs)
|
||||
{
|
||||
int err = 0;
|
||||
#ifndef CONFIG_ISA_ARCOMPACT
|
||||
|
|
@ -74,12 +74,12 @@ static int save_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs)
|
|||
#else
|
||||
v2abi.r58 = v2abi.r59 = 0;
|
||||
#endif
|
||||
err = __copy_to_user(&mctx->v2abi, &v2abi, sizeof(v2abi));
|
||||
err = __copy_to_user(&mctx->v2abi, (void const *)&v2abi, sizeof(v2abi));
|
||||
#endif
|
||||
return err;
|
||||
}
|
||||
|
||||
static int restore_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs)
|
||||
static int restore_arcv2_regs(struct sigcontext __user *mctx, struct pt_regs *regs)
|
||||
{
|
||||
int err = 0;
|
||||
#ifndef CONFIG_ISA_ARCOMPACT
|
||||
|
|
|
|||
|
|
@ -349,6 +349,7 @@
|
|||
<SYSC_IDLE_NO>,
|
||||
<SYSC_IDLE_SMART>,
|
||||
<SYSC_IDLE_SMART_WKUP>;
|
||||
ti,sysc-delay-us = <2>;
|
||||
clocks = <&l3s_clkctrl AM3_L3S_USB_OTG_HS_CLKCTRL 0>;
|
||||
clock-names = "fck";
|
||||
#address-cells = <1>;
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@
|
|||
|
||||
l3-noc@44000000 {
|
||||
compatible = "ti,dra7-l3-noc";
|
||||
reg = <0x44000000 0x1000>,
|
||||
reg = <0x44000000 0x1000000>,
|
||||
<0x45000000 0x1000>;
|
||||
interrupts-extended = <&crossbar_mpu GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&wakeupgen GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
|
|
|||
|
|
@ -750,7 +750,7 @@
|
|||
|
||||
xoadc: xoadc@197 {
|
||||
compatible = "qcom,pm8921-adc";
|
||||
reg = <197>;
|
||||
reg = <0x197>;
|
||||
interrupts-extended = <&pmicintc 78 IRQ_TYPE_EDGE_RISING>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
|
|
|||
|
|
@ -401,7 +401,7 @@
|
|||
reg = <0x0c264000 0x1000>;
|
||||
};
|
||||
|
||||
spmi_bus: qcom,spmi@c440000 {
|
||||
spmi_bus: spmi@c440000 {
|
||||
compatible = "qcom,spmi-pmic-arb";
|
||||
reg = <0xc440000 0xd00>,
|
||||
<0xc600000 0x2000000>,
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
/ {
|
||||
model = "STMicroelectronics STM32MP157A-DK1 SCMI Discovery Board";
|
||||
compatible = "st,stm32mp157a-dk1-scmi", "st,stm32mp157a-dk1", "st,stm32mp157";
|
||||
compatible = "st,stm32mp157a-dk1-scmi", "st,stm32mp157";
|
||||
|
||||
reserved-memory {
|
||||
optee@de000000 {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
/ {
|
||||
model = "STMicroelectronics STM32MP157C-DK2 SCMI Discovery Board";
|
||||
compatible = "st,stm32mp157c-dk2-scmi", "st,stm32mp157c-dk2", "st,stm32mp157";
|
||||
compatible = "st,stm32mp157c-dk2-scmi", "st,stm32mp157";
|
||||
|
||||
reserved-memory {
|
||||
optee@de000000 {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
/ {
|
||||
model = "STMicroelectronics STM32MP157C-ED1 SCMI eval daughter";
|
||||
compatible = "st,stm32mp157c-ed1-scmi", "st,stm32mp157c-ed1", "st,stm32mp157";
|
||||
compatible = "st,stm32mp157c-ed1-scmi", "st,stm32mp157";
|
||||
|
||||
reserved-memory {
|
||||
optee@fe000000 {
|
||||
|
|
|
|||
|
|
@ -11,8 +11,7 @@
|
|||
|
||||
/ {
|
||||
model = "STMicroelectronics STM32MP157C-EV1 SCMI eval daughter on eval mother";
|
||||
compatible = "st,stm32mp157c-ev1-scmi", "st,stm32mp157c-ev1", "st,stm32mp157c-ed1",
|
||||
"st,stm32mp157";
|
||||
compatible = "st,stm32mp157c-ev1-scmi", "st,stm32mp157c-ed1", "st,stm32mp157";
|
||||
|
||||
reserved-memory {
|
||||
optee@fe000000 {
|
||||
|
|
|
|||
|
|
@ -4,12 +4,14 @@ menuconfig ARCH_DAVINCI
|
|||
bool "TI DaVinci"
|
||||
depends on ARCH_MULTI_V5
|
||||
depends on CPU_LITTLE_ENDIAN
|
||||
select CPU_ARM926T
|
||||
select DAVINCI_TIMER
|
||||
select ZONE_DMA
|
||||
select PM_GENERIC_DOMAINS if PM
|
||||
select PM_GENERIC_DOMAINS_OF if PM && OF
|
||||
select REGMAP_MMIO
|
||||
select RESET_CONTROLLER
|
||||
select PINCTRL
|
||||
select PINCTRL_SINGLE
|
||||
|
||||
if ARCH_DAVINCI
|
||||
|
|
|
|||
|
|
@ -793,11 +793,16 @@ void __init omap_soc_device_init(void)
|
|||
|
||||
soc_dev_attr->machine = soc_name;
|
||||
soc_dev_attr->family = omap_get_family();
|
||||
if (!soc_dev_attr->family) {
|
||||
kfree(soc_dev_attr);
|
||||
return;
|
||||
}
|
||||
soc_dev_attr->revision = soc_rev;
|
||||
soc_dev_attr->custom_attr_group = omap_soc_groups[0];
|
||||
|
||||
soc_dev = soc_device_register(soc_dev_attr);
|
||||
if (IS_ERR(soc_dev)) {
|
||||
kfree(soc_dev_attr->family);
|
||||
kfree(soc_dev_attr);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -804,16 +804,16 @@ static int __init sunxi_mc_smp_init(void)
|
|||
for (i = 0; i < ARRAY_SIZE(sunxi_mc_smp_data); i++) {
|
||||
ret = of_property_match_string(node, "enable-method",
|
||||
sunxi_mc_smp_data[i].enable_method);
|
||||
if (!ret)
|
||||
if (ret >= 0)
|
||||
break;
|
||||
}
|
||||
|
||||
is_a83t = sunxi_mc_smp_data[i].is_a83t;
|
||||
|
||||
of_node_put(node);
|
||||
if (ret)
|
||||
if (ret < 0)
|
||||
return -ENODEV;
|
||||
|
||||
is_a83t = sunxi_mc_smp_data[i].is_a83t;
|
||||
|
||||
if (!sunxi_mc_smp_cpu_table_init())
|
||||
return -EINVAL;
|
||||
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ ifndef KBUILD_MIXED_TREE
|
|||
all: $(notdir $(KBUILD_IMAGE))
|
||||
endif
|
||||
|
||||
|
||||
vmlinuz.efi: Image
|
||||
Image vmlinuz.efi: vmlinux
|
||||
$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
|
||||
|
||||
|
|
|
|||
|
|
@ -1303,7 +1303,7 @@
|
|||
assigned-clocks = <&clk IMX8MM_CLK_GPU3D_CORE>,
|
||||
<&clk IMX8MM_GPU_PLL_OUT>;
|
||||
assigned-clock-parents = <&clk IMX8MM_GPU_PLL_OUT>;
|
||||
assigned-clock-rates = <0>, <1000000000>;
|
||||
assigned-clock-rates = <0>, <800000000>;
|
||||
power-domains = <&pgc_gpu>;
|
||||
};
|
||||
|
||||
|
|
@ -1318,7 +1318,7 @@
|
|||
assigned-clocks = <&clk IMX8MM_CLK_GPU2D_CORE>,
|
||||
<&clk IMX8MM_GPU_PLL_OUT>;
|
||||
assigned-clock-parents = <&clk IMX8MM_GPU_PLL_OUT>;
|
||||
assigned-clock-rates = <0>, <1000000000>;
|
||||
assigned-clock-rates = <0>, <800000000>;
|
||||
power-domains = <&pgc_gpu>;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -25,9 +25,6 @@
|
|||
gpios = <&gpio28 0 0>;
|
||||
|
||||
regulators {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ldo3: ldo3 { /* HDMI */
|
||||
regulator-name = "ldo3";
|
||||
regulator-min-microvolt = <1500000>;
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@
|
|||
compatible = "microchip,mcp7940x";
|
||||
reg = <0x6f>;
|
||||
interrupt-parent = <&gpiosb>;
|
||||
interrupts = <5 0>; /* GPIO2_5 */
|
||||
interrupts = <5 IRQ_TYPE_EDGE_FALLING>; /* GPIO2_5 */
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1586,7 +1586,7 @@
|
|||
mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0 0x1000>;
|
||||
};
|
||||
|
||||
mdp3-rdma0@14001000 {
|
||||
dma-controller0@14001000 {
|
||||
compatible = "mediatek,mt8183-mdp3-rdma";
|
||||
reg = <0 0x14001000 0 0x1000>;
|
||||
mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x1000 0x1000>;
|
||||
|
|
@ -1598,6 +1598,7 @@
|
|||
iommus = <&iommu M4U_PORT_MDP_RDMA0>;
|
||||
mboxes = <&gce 20 CMDQ_THR_PRIO_LOWEST 0>,
|
||||
<&gce 21 CMDQ_THR_PRIO_LOWEST 0>;
|
||||
#dma-cells = <1>;
|
||||
};
|
||||
|
||||
mdp3-rsz0@14003000 {
|
||||
|
|
@ -1618,7 +1619,7 @@
|
|||
clocks = <&mmsys CLK_MM_MDP_RSZ1>;
|
||||
};
|
||||
|
||||
mdp3-wrot0@14005000 {
|
||||
dma-controller@14005000 {
|
||||
compatible = "mediatek,mt8183-mdp3-wrot";
|
||||
reg = <0 0x14005000 0 0x1000>;
|
||||
mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x5000 0x1000>;
|
||||
|
|
@ -1627,6 +1628,7 @@
|
|||
power-domains = <&spm MT8183_POWER_DOMAIN_DISP>;
|
||||
clocks = <&mmsys CLK_MM_MDP_WROT0>;
|
||||
iommus = <&iommu M4U_PORT_MDP_WROT0>;
|
||||
#dma-cells = <1>;
|
||||
};
|
||||
|
||||
mdp3-wdma@14006000 {
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@
|
|||
ranges;
|
||||
|
||||
rpm_msg_ram: memory@60000 {
|
||||
reg = <0x0 0x60000 0x0 0x6000>;
|
||||
reg = <0x0 0x00060000 0x0 0x6000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
|
|
@ -181,7 +181,7 @@
|
|||
|
||||
prng: qrng@e1000 {
|
||||
compatible = "qcom,prng-ee";
|
||||
reg = <0x0 0xe3000 0x0 0x1000>;
|
||||
reg = <0x0 0x000e3000 0x0 0x1000>;
|
||||
clocks = <&gcc GCC_PRNG_AHB_CLK>;
|
||||
clock-names = "core";
|
||||
};
|
||||
|
|
@ -201,8 +201,8 @@
|
|||
compatible = "qcom,crypto-v5.1";
|
||||
reg = <0x0 0x0073a000 0x0 0x6000>;
|
||||
clocks = <&gcc GCC_CRYPTO_AHB_CLK>,
|
||||
<&gcc GCC_CRYPTO_AXI_CLK>,
|
||||
<&gcc GCC_CRYPTO_CLK>;
|
||||
<&gcc GCC_CRYPTO_AXI_CLK>,
|
||||
<&gcc GCC_CRYPTO_CLK>;
|
||||
clock-names = "iface", "bus", "core";
|
||||
dmas = <&cryptobam 2>, <&cryptobam 3>;
|
||||
dma-names = "rx", "tx";
|
||||
|
|
@ -272,7 +272,7 @@
|
|||
reg = <0x0 0x078b1000 0x0 0x200>;
|
||||
interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>,
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
clock-names = "core", "iface";
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
@ -285,7 +285,7 @@
|
|||
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
|
||||
spi-max-frequency = <50000000>;
|
||||
clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
clock-names = "core", "iface";
|
||||
dmas = <&blsp_dma 12>, <&blsp_dma 13>;
|
||||
dma-names = "tx", "rx";
|
||||
|
|
@ -300,7 +300,7 @@
|
|||
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
|
||||
spi-max-frequency = <50000000>;
|
||||
clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
clock-names = "core", "iface";
|
||||
dmas = <&blsp_dma 14>, <&blsp_dma 15>;
|
||||
dma-names = "tx", "rx";
|
||||
|
|
@ -358,8 +358,8 @@
|
|||
clock-names = "core", "aon";
|
||||
|
||||
dmas = <&qpic_bam 0>,
|
||||
<&qpic_bam 1>,
|
||||
<&qpic_bam 2>;
|
||||
<&qpic_bam 1>,
|
||||
<&qpic_bam 2>;
|
||||
dma-names = "tx", "rx", "cmd";
|
||||
pinctrl-0 = <&qpic_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
|
@ -372,10 +372,10 @@
|
|||
#size-cells = <2>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <0x3>;
|
||||
reg = <0x0 0x0b000000 0x0 0x1000>, /*GICD*/
|
||||
<0x0 0x0b002000 0x0 0x1000>, /*GICC*/
|
||||
<0x0 0x0b001000 0x0 0x1000>, /*GICH*/
|
||||
<0x0 0x0b004000 0x0 0x1000>; /*GICV*/
|
||||
reg = <0x0 0x0b000000 0x0 0x1000>, /*GICD*/
|
||||
<0x0 0x0b002000 0x0 0x1000>, /*GICC*/
|
||||
<0x0 0x0b001000 0x0 0x1000>, /*GICH*/
|
||||
<0x0 0x0b004000 0x0 0x1000>; /*GICV*/
|
||||
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ranges = <0 0 0 0xb00a000 0 0xffd>;
|
||||
|
||||
|
|
@ -388,7 +388,7 @@
|
|||
|
||||
pcie_phy: phy@84000 {
|
||||
compatible = "qcom,ipq6018-qmp-pcie-phy";
|
||||
reg = <0x0 0x84000 0x0 0x1bc>; /* Serdes PLL */
|
||||
reg = <0x0 0x00084000 0x0 0x1bc>; /* Serdes PLL */
|
||||
status = "disabled";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
|
@ -404,9 +404,10 @@
|
|||
"common";
|
||||
|
||||
pcie_phy0: phy@84200 {
|
||||
reg = <0x0 0x84200 0x0 0x16c>, /* Serdes Tx */
|
||||
<0x0 0x84400 0x0 0x200>, /* Serdes Rx */
|
||||
<0x0 0x84800 0x0 0x4f4>; /* PCS: Lane0, COM, PCIE */
|
||||
reg = <0x0 0x00084200 0x0 0x16c>, /* Serdes Tx */
|
||||
<0x0 0x00084400 0x0 0x200>, /* Serdes Rx */
|
||||
<0x0 0x00084800 0x0 0x1f0>, /* PCS: Lane0, COM, PCIE */
|
||||
<0x0 0x00084c00 0x0 0xf4>; /* pcs_misc */
|
||||
#phy-cells = <0>;
|
||||
|
||||
clocks = <&gcc GCC_PCIE0_PIPE_CLK>;
|
||||
|
|
@ -628,7 +629,7 @@
|
|||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "qcom,ipq6018-mdio", "qcom,ipq4019-mdio";
|
||||
reg = <0x0 0x90000 0x0 0x64>;
|
||||
reg = <0x0 0x00090000 0x0 0x64>;
|
||||
clocks = <&gcc GCC_MDIO_AHB_CLK>;
|
||||
clock-names = "gcc_mdio_ahb_clk";
|
||||
status = "disabled";
|
||||
|
|
@ -636,7 +637,7 @@
|
|||
|
||||
qusb_phy_1: qusb@59000 {
|
||||
compatible = "qcom,ipq6018-qusb2-phy";
|
||||
reg = <0x0 0x059000 0x0 0x180>;
|
||||
reg = <0x0 0x00059000 0x0 0x180>;
|
||||
#phy-cells = <0>;
|
||||
|
||||
clocks = <&gcc GCC_USB1_PHY_CFG_AHB_CLK>,
|
||||
|
|
@ -668,23 +669,23 @@
|
|||
status = "disabled";
|
||||
|
||||
dwc_1: usb@7000000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x7000000 0x0 0xcd00>;
|
||||
interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
|
||||
phys = <&qusb_phy_1>;
|
||||
phy-names = "usb2-phy";
|
||||
tx-fifo-resize;
|
||||
snps,is-utmi-l1-suspend;
|
||||
snps,hird-threshold = /bits/ 8 <0x0>;
|
||||
snps,dis_u2_susphy_quirk;
|
||||
snps,dis_u3_susphy_quirk;
|
||||
dr_mode = "host";
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x07000000 0x0 0xcd00>;
|
||||
interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
|
||||
phys = <&qusb_phy_1>;
|
||||
phy-names = "usb2-phy";
|
||||
tx-fifo-resize;
|
||||
snps,is-utmi-l1-suspend;
|
||||
snps,hird-threshold = /bits/ 8 <0x0>;
|
||||
snps,dis_u2_susphy_quirk;
|
||||
snps,dis_u3_susphy_quirk;
|
||||
dr_mode = "host";
|
||||
};
|
||||
};
|
||||
|
||||
ssphy_0: ssphy@78000 {
|
||||
compatible = "qcom,ipq6018-qmp-usb3-phy";
|
||||
reg = <0x0 0x78000 0x0 0x1C4>;
|
||||
reg = <0x0 0x00078000 0x0 0x1c4>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
|
@ -701,7 +702,7 @@
|
|||
usb0_ssphy: phy@78200 {
|
||||
reg = <0x0 0x00078200 0x0 0x130>, /* Tx */
|
||||
<0x0 0x00078400 0x0 0x200>, /* Rx */
|
||||
<0x0 0x00078800 0x0 0x1F8>, /* PCS */
|
||||
<0x0 0x00078800 0x0 0x1f8>, /* PCS */
|
||||
<0x0 0x00078600 0x0 0x044>; /* PCS misc */
|
||||
#phy-cells = <0>;
|
||||
#clock-cells = <0>;
|
||||
|
|
@ -713,7 +714,7 @@
|
|||
|
||||
qusb_phy_0: qusb@79000 {
|
||||
compatible = "qcom,ipq6018-qusb2-phy";
|
||||
reg = <0x0 0x079000 0x0 0x180>;
|
||||
reg = <0x0 0x00079000 0x0 0x180>;
|
||||
#phy-cells = <0>;
|
||||
|
||||
clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>,
|
||||
|
|
@ -726,7 +727,7 @@
|
|||
|
||||
usb3: usb@8af8800 {
|
||||
compatible = "qcom,ipq6018-dwc3", "qcom,dwc3";
|
||||
reg = <0x0 0x8AF8800 0x0 0x400>;
|
||||
reg = <0x0 0x8af8800 0x0 0x400>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
|
@ -745,14 +746,14 @@
|
|||
<&gcc GCC_USB0_MOCK_UTMI_CLK>;
|
||||
assigned-clock-rates = <133330000>,
|
||||
<133330000>,
|
||||
<20000000>;
|
||||
<24000000>;
|
||||
|
||||
resets = <&gcc GCC_USB0_BCR>;
|
||||
status = "disabled";
|
||||
|
||||
dwc_0: usb@8a00000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x8A00000 0x0 0xcd00>;
|
||||
reg = <0x0 0x8a00000 0x0 0xcd00>;
|
||||
interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
|
||||
phys = <&qusb_phy_0>, <&usb0_ssphy>;
|
||||
phy-names = "usb2-phy", "usb3-phy";
|
||||
|
|
|
|||
|
|
@ -63,8 +63,8 @@
|
|||
function = LED_FUNCTION_INDICATOR;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "panic-indicator";
|
||||
default-state = "off";
|
||||
panic-indicator;
|
||||
};
|
||||
|
||||
led-wlan {
|
||||
|
|
|
|||
|
|
@ -3378,7 +3378,7 @@
|
|||
compatible = "qcom,apss-wdt-sc7180", "qcom,kpss-wdt";
|
||||
reg = <0 0x17c10000 0 0x1000>;
|
||||
clocks = <&sleep_clk>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
|
||||
};
|
||||
|
||||
timer@17c20000{
|
||||
|
|
|
|||
|
|
@ -56,6 +56,26 @@
|
|||
};
|
||||
};
|
||||
|
||||
&lpass_aon {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lpass_core {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lpass_hm {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lpasscc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pdc_reset {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* The PMIC PON code isn't compatible w/ how Chrome EC/BIOS handle things. */
|
||||
&pmk8350_pon {
|
||||
status = "disabled";
|
||||
|
|
@ -93,6 +113,10 @@
|
|||
reg = <0x0 0x9c900000 0x0 0x800000>;
|
||||
};
|
||||
|
||||
&watchdog {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
|
||||
|
|
|
|||
|
|
@ -888,6 +888,7 @@
|
|||
|
||||
bus-width = <8>;
|
||||
supports-cqe;
|
||||
dma-coherent;
|
||||
|
||||
qcom,dll-config = <0x0007642c>;
|
||||
qcom,ddr-config = <0x80040868>;
|
||||
|
|
@ -2187,6 +2188,7 @@
|
|||
clocks = <&gcc GCC_CFG_NOC_LPASS_CLK>;
|
||||
clock-names = "iface";
|
||||
#clock-cells = <1>;
|
||||
status = "reserved"; /* Owned by ADSP firmware */
|
||||
};
|
||||
|
||||
lpass_rx_macro: codec@3200000 {
|
||||
|
|
@ -2339,6 +2341,7 @@
|
|||
clock-names = "bi_tcxo", "bi_tcxo_ao", "iface";
|
||||
#clock-cells = <1>;
|
||||
#power-domain-cells = <1>;
|
||||
status = "reserved"; /* Owned by ADSP firmware */
|
||||
};
|
||||
|
||||
lpass_core: clock-controller@3900000 {
|
||||
|
|
@ -2349,6 +2352,7 @@
|
|||
power-domains = <&lpass_hm LPASS_CORE_CC_LPASS_CORE_HM_GDSC>;
|
||||
#clock-cells = <1>;
|
||||
#power-domain-cells = <1>;
|
||||
status = "reserved"; /* Owned by ADSP firmware */
|
||||
};
|
||||
|
||||
lpass_cpu: audio@3987000 {
|
||||
|
|
@ -2419,6 +2423,7 @@
|
|||
clock-names = "bi_tcxo";
|
||||
#clock-cells = <1>;
|
||||
#power-domain-cells = <1>;
|
||||
status = "reserved"; /* Owned by ADSP firmware */
|
||||
};
|
||||
|
||||
lpass_ag_noc: interconnect@3c40000 {
|
||||
|
|
@ -2529,7 +2534,8 @@
|
|||
"cx_mem",
|
||||
"cx_dbgc";
|
||||
interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
|
||||
iommus = <&adreno_smmu 0 0x401>;
|
||||
iommus = <&adreno_smmu 0 0x400>,
|
||||
<&adreno_smmu 1 0x400>;
|
||||
operating-points-v2 = <&gpu_opp_table>;
|
||||
qcom,gmu = <&gmu>;
|
||||
interconnects = <&gem_noc MASTER_GFX3D 0 &mc_virt SLAVE_EBI1 0>;
|
||||
|
|
@ -2696,6 +2702,7 @@
|
|||
"gpu_cc_hub_aon_clk";
|
||||
|
||||
power-domains = <&gpucc GPU_CC_CX_GDSC>;
|
||||
dma-coherent;
|
||||
};
|
||||
|
||||
remoteproc_mpss: remoteproc@4080000 {
|
||||
|
|
@ -3265,6 +3272,7 @@
|
|||
operating-points-v2 = <&sdhc2_opp_table>;
|
||||
|
||||
bus-width = <4>;
|
||||
dma-coherent;
|
||||
|
||||
qcom,dll-config = <0x0007642c>;
|
||||
|
||||
|
|
@ -3386,8 +3394,8 @@
|
|||
assigned-clock-rates = <19200000>, <200000000>;
|
||||
|
||||
interrupts-extended = <&intc GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&pdc 12 IRQ_TYPE_EDGE_RISING>,
|
||||
<&pdc 13 IRQ_TYPE_EDGE_RISING>;
|
||||
<&pdc 12 IRQ_TYPE_EDGE_BOTH>,
|
||||
<&pdc 13 IRQ_TYPE_EDGE_BOTH>;
|
||||
interrupt-names = "hs_phy_irq",
|
||||
"dp_hs_phy_irq",
|
||||
"dm_hs_phy_irq";
|
||||
|
|
@ -4195,6 +4203,7 @@
|
|||
compatible = "qcom,sc7280-pdc-global";
|
||||
reg = <0 0x0b5e0000 0 0x20000>;
|
||||
#reset-cells = <1>;
|
||||
status = "reserved"; /* Owned by firmware */
|
||||
};
|
||||
|
||||
tsens0: thermal-sensor@c263000 {
|
||||
|
|
@ -5186,11 +5195,12 @@
|
|||
};
|
||||
};
|
||||
|
||||
watchdog@17c10000 {
|
||||
watchdog: watchdog@17c10000 {
|
||||
compatible = "qcom,apss-wdt-sc7280", "qcom,kpss-wdt";
|
||||
reg = <0 0x17c10000 0 0x1000>;
|
||||
clocks = <&sleep_clk>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
|
||||
status = "reserved"; /* Owned by Gunyah hyp */
|
||||
};
|
||||
|
||||
timer@17c20000 {
|
||||
|
|
|
|||
|
|
@ -1653,7 +1653,7 @@
|
|||
compatible = "qcom,apss-wdt-sc8280xp", "qcom,kpss-wdt";
|
||||
reg = <0 0x17c10000 0 0x1000>;
|
||||
clocks = <&sleep_clk>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
|
||||
};
|
||||
|
||||
timer@17c20000 {
|
||||
|
|
|
|||
|
|
@ -150,15 +150,15 @@
|
|||
};
|
||||
|
||||
&psci {
|
||||
/delete-node/ cpu0;
|
||||
/delete-node/ cpu1;
|
||||
/delete-node/ cpu2;
|
||||
/delete-node/ cpu3;
|
||||
/delete-node/ cpu4;
|
||||
/delete-node/ cpu5;
|
||||
/delete-node/ cpu6;
|
||||
/delete-node/ cpu7;
|
||||
/delete-node/ cpu-cluster0;
|
||||
/delete-node/ power-domain-cpu0;
|
||||
/delete-node/ power-domain-cpu1;
|
||||
/delete-node/ power-domain-cpu2;
|
||||
/delete-node/ power-domain-cpu3;
|
||||
/delete-node/ power-domain-cpu4;
|
||||
/delete-node/ power-domain-cpu5;
|
||||
/delete-node/ power-domain-cpu6;
|
||||
/delete-node/ power-domain-cpu7;
|
||||
/delete-node/ power-domain-cluster;
|
||||
};
|
||||
|
||||
&cpus {
|
||||
|
|
@ -351,7 +351,9 @@
|
|||
|
||||
|
||||
&apps_rsc {
|
||||
pm8998-rpmh-regulators {
|
||||
/delete-property/ power-domains;
|
||||
|
||||
regulators-0 {
|
||||
compatible = "qcom,pm8998-rpmh-regulators";
|
||||
qcom,pmic-id = "a";
|
||||
|
||||
|
|
@ -633,7 +635,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
pm8005-rpmh-regulators {
|
||||
regulators-1 {
|
||||
compatible = "qcom,pm8005-rpmh-regulators";
|
||||
qcom,pmic-id = "c";
|
||||
|
||||
|
|
|
|||
|
|
@ -66,8 +66,8 @@
|
|||
function = LED_FUNCTION_INDICATOR;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&pm8998_gpio 13 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "panic-indicator";
|
||||
default-state = "off";
|
||||
panic-indicator;
|
||||
};
|
||||
|
||||
led-1 {
|
||||
|
|
@ -271,7 +271,7 @@
|
|||
};
|
||||
|
||||
&apps_rsc {
|
||||
pm8998-rpmh-regulators {
|
||||
regulators-0 {
|
||||
compatible = "qcom,pm8998-rpmh-regulators";
|
||||
qcom,pmic-id = "a";
|
||||
vdd-s1-supply = <&vph_pwr>;
|
||||
|
|
@ -396,7 +396,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
pmi8998-rpmh-regulators {
|
||||
regulators-1 {
|
||||
compatible = "qcom,pmi8998-rpmh-regulators";
|
||||
qcom,pmic-id = "b";
|
||||
|
||||
|
|
|
|||
|
|
@ -166,7 +166,7 @@
|
|||
};
|
||||
|
||||
&apps_rsc {
|
||||
pm8998-rpmh-regulators {
|
||||
regulators-0 {
|
||||
compatible = "qcom,pm8998-rpmh-regulators";
|
||||
qcom,pmic-id = "a";
|
||||
|
||||
|
|
@ -419,7 +419,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
pmi8998-rpmh-regulators {
|
||||
regulators-1 {
|
||||
compatible = "qcom,pmi8998-rpmh-regulators";
|
||||
qcom,pmic-id = "b";
|
||||
|
||||
|
|
@ -433,7 +433,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
pm8005-rpmh-regulators {
|
||||
regulators-2 {
|
||||
compatible = "qcom,pm8005-rpmh-regulators";
|
||||
qcom,pmic-id = "c";
|
||||
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@
|
|||
};
|
||||
|
||||
&apps_rsc {
|
||||
pm8998-rpmh-regulators {
|
||||
regulators-0 {
|
||||
compatible = "qcom,pm8998-rpmh-regulators";
|
||||
qcom,pmic-id = "a";
|
||||
|
||||
|
|
@ -382,7 +382,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
pmi8998-rpmh-regulators {
|
||||
regulators-1 {
|
||||
compatible = "qcom,pmi8998-rpmh-regulators";
|
||||
qcom,pmic-id = "b";
|
||||
|
||||
|
|
@ -396,7 +396,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
pm8005-rpmh-regulators {
|
||||
regulators-2 {
|
||||
compatible = "qcom,pm8005-rpmh-regulators";
|
||||
qcom,pmic-id = "c";
|
||||
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@
|
|||
};
|
||||
|
||||
&apps_rsc {
|
||||
pm8998-rpmh-regulators {
|
||||
regulators-0 {
|
||||
compatible = "qcom,pm8998-rpmh-regulators";
|
||||
qcom,pmic-id = "a";
|
||||
|
||||
|
|
@ -280,7 +280,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
pmi8998-rpmh-regulators {
|
||||
regulators-1 {
|
||||
compatible = "qcom,pmi8998-rpmh-regulators";
|
||||
qcom,pmic-id = "b";
|
||||
|
||||
|
|
@ -294,7 +294,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
pm8005-rpmh-regulators {
|
||||
regulators-2 {
|
||||
compatible = "qcom,pm8005-rpmh-regulators";
|
||||
qcom,pmic-id = "c";
|
||||
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@
|
|||
};
|
||||
|
||||
&apps_rsc {
|
||||
pm8998-rpmh-regulators {
|
||||
regulators-0 {
|
||||
compatible = "qcom,pm8998-rpmh-regulators";
|
||||
qcom,pmic-id = "a";
|
||||
|
||||
|
|
@ -375,7 +375,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
pmi8998-rpmh-regulators {
|
||||
regulators-1 {
|
||||
compatible = "qcom,pmi8998-rpmh-regulators";
|
||||
qcom,pmic-id = "b";
|
||||
|
||||
|
|
@ -389,7 +389,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
pm8005-rpmh-regulators {
|
||||
regulators-2 {
|
||||
compatible = "qcom,pm8005-rpmh-regulators";
|
||||
qcom,pmic-id = "c";
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@
|
|||
};
|
||||
|
||||
&apps_rsc {
|
||||
pm8998-rpmh-regulators {
|
||||
regulators-0 {
|
||||
compatible = "qcom,pm8998-rpmh-regulators";
|
||||
qcom,pmic-id = "a";
|
||||
|
||||
|
|
@ -308,7 +308,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
pmi8998-rpmh-regulators {
|
||||
regulators-1 {
|
||||
compatible = "qcom,pmi8998-rpmh-regulators";
|
||||
qcom,pmic-id = "b";
|
||||
|
||||
|
|
@ -319,7 +319,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
pm8005-rpmh-regulators {
|
||||
regulators-2 {
|
||||
compatible = "qcom,pm8005-rpmh-regulators";
|
||||
qcom,pmic-id = "c";
|
||||
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@
|
|||
};
|
||||
|
||||
&apps_rsc {
|
||||
pm8998-rpmh-regulators {
|
||||
regulators-0 {
|
||||
compatible = "qcom,pm8998-rpmh-regulators";
|
||||
qcom,pmic-id = "a";
|
||||
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@
|
|||
};
|
||||
|
||||
&apps_rsc {
|
||||
pm8998-rpmh-regulators {
|
||||
regulators-0 {
|
||||
compatible = "qcom,pm8998-rpmh-regulators";
|
||||
qcom,pmic-id = "a";
|
||||
|
||||
|
|
@ -343,7 +343,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
pmi8998-rpmh-regulators {
|
||||
regulators-1 {
|
||||
compatible = "qcom,pmi8998-rpmh-regulators";
|
||||
qcom,pmic-id = "b";
|
||||
|
||||
|
|
@ -355,7 +355,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
pm8005-rpmh-regulators {
|
||||
regulators-2 {
|
||||
compatible = "qcom,pm8005-rpmh-regulators";
|
||||
qcom,pmic-id = "c";
|
||||
|
||||
|
|
|
|||
|
|
@ -5019,7 +5019,7 @@
|
|||
compatible = "qcom,apss-wdt-sdm845", "qcom,kpss-wdt";
|
||||
reg = <0 0x17980000 0 0x1000>;
|
||||
clocks = <&sleep_clk>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
|
||||
};
|
||||
|
||||
apss_shared: mailbox@17990000 {
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@
|
|||
};
|
||||
|
||||
&apps_rsc {
|
||||
pm8998-rpmh-regulators {
|
||||
regulators-0 {
|
||||
compatible = "qcom,pm8998-rpmh-regulators";
|
||||
qcom,pmic-id = "a";
|
||||
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@
|
|||
};
|
||||
|
||||
&apps_rsc {
|
||||
pm8998-rpmh-regulators {
|
||||
regulators-0 {
|
||||
compatible = "qcom,pm8998-rpmh-regulators";
|
||||
qcom,pmic-id = "a";
|
||||
|
||||
|
|
|
|||
|
|
@ -1462,7 +1462,7 @@
|
|||
compatible = "qcom,apss-wdt-sm6350", "qcom,kpss-wdt";
|
||||
reg = <0 0x17c10000 0 0x1000>;
|
||||
clocks = <&sleep_clk>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
|
||||
};
|
||||
|
||||
timer@17c20000 {
|
||||
|
|
|
|||
|
|
@ -126,8 +126,6 @@
|
|||
vdda_sp_sensor:
|
||||
vdda_ufs_2ln_core_1:
|
||||
vdda_ufs_2ln_core_2:
|
||||
vdda_usb_ss_dp_core_1:
|
||||
vdda_usb_ss_dp_core_2:
|
||||
vdda_qlink_lv:
|
||||
vdda_qlink_lv_ck:
|
||||
vreg_l5a_0p875: ldo5 {
|
||||
|
|
@ -209,6 +207,12 @@
|
|||
regulator-max-microvolt = <3008000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l18a_0p8: ldo18 {
|
||||
regulator-min-microvolt = <880000>;
|
||||
regulator-max-microvolt = <880000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
};
|
||||
|
||||
pm8150l-rpmh-regulators {
|
||||
|
|
@ -439,13 +443,13 @@
|
|||
&usb_1_qmpphy {
|
||||
status = "okay";
|
||||
vdda-phy-supply = <&vreg_l3c_1p2>;
|
||||
vdda-pll-supply = <&vdda_usb_ss_dp_core_1>;
|
||||
vdda-pll-supply = <&vreg_l18a_0p8>;
|
||||
};
|
||||
|
||||
&usb_2_qmpphy {
|
||||
status = "okay";
|
||||
vdda-phy-supply = <&vreg_l3c_1p2>;
|
||||
vdda-pll-supply = <&vdda_usb_ss_dp_core_1>;
|
||||
vdda-pll-supply = <&vreg_l5a_0p875>;
|
||||
};
|
||||
|
||||
&usb_1 {
|
||||
|
|
|
|||
|
|
@ -3940,7 +3940,7 @@
|
|||
compatible = "qcom,apss-wdt-sm8150", "qcom,kpss-wdt";
|
||||
reg = <0 0x17c10000 0 0x1000>;
|
||||
clocks = <&sleep_clk>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
|
||||
};
|
||||
|
||||
timer@17c20000 {
|
||||
|
|
|
|||
|
|
@ -4879,7 +4879,7 @@
|
|||
compatible = "qcom,apss-wdt-sm8250", "qcom,kpss-wdt";
|
||||
reg = <0 0x17c10000 0 0x1000>;
|
||||
clocks = <&sleep_clk>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
|
||||
};
|
||||
|
||||
timer@17c20000 {
|
||||
|
|
|
|||
|
|
@ -903,9 +903,9 @@
|
|||
};
|
||||
};
|
||||
|
||||
gpi_dma0: dma-controller@9800000 {
|
||||
gpi_dma0: dma-controller@900000 {
|
||||
compatible = "qcom,sm8350-gpi-dma", "qcom,sm6350-gpi-dma";
|
||||
reg = <0 0x09800000 0 0x60000>;
|
||||
reg = <0 0x00900000 0 0x60000>;
|
||||
interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
|
||||
|
|
|
|||
|
|
@ -125,6 +125,9 @@
|
|||
};
|
||||
|
||||
&hscif0 {
|
||||
pinctrl-0 = <&hscif0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -510,8 +510,7 @@ ap_i2c_tp: &i2c5 {
|
|||
&pci_rootport {
|
||||
mvl_wifi: wifi@0,0 {
|
||||
compatible = "pci1b4b,2b42";
|
||||
reg = <0x83010000 0x0 0x00000000 0x0 0x00100000
|
||||
0x83010000 0x0 0x00100000 0x0 0x00100000>;
|
||||
reg = <0x0000 0x0 0x0 0x0 0x0>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@
|
|||
&pci_rootport {
|
||||
wifi@0,0 {
|
||||
compatible = "qcom,ath10k";
|
||||
reg = <0x00010000 0x0 0x00000000 0x0 0x00000000>,
|
||||
<0x03010010 0x0 0x00000000 0x0 0x00200000>;
|
||||
reg = <0x00000000 0x0 0x00000000 0x0 0x00000000>,
|
||||
<0x03000010 0x0 0x00000000 0x0 0x00200000>;
|
||||
qcom,ath10k-calibration-variant = "GO_DUMO";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -489,6 +489,7 @@ ap_i2c_audio: &i2c8 {
|
|||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
device_type = "pci";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -958,7 +958,7 @@
|
|||
<GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "sys", "pmc", "msi", "legacy", "err";
|
||||
interrupt-names = "sys", "pmc", "msg", "legacy", "err";
|
||||
bus-range = <0x0 0xf>;
|
||||
clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>,
|
||||
<&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>,
|
||||
|
|
|
|||
|
|
@ -245,7 +245,7 @@
|
|||
<193>, <194>, <195>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
ti,ngpio = <87>;
|
||||
ti,ngpio = <92>;
|
||||
ti,davinci-gpio-unbanked = <0>;
|
||||
power-domains = <&k3_pds 77 TI_SCI_PD_EXCLUSIVE>;
|
||||
clocks = <&k3_clks 77 0>;
|
||||
|
|
@ -263,7 +263,7 @@
|
|||
<183>, <184>, <185>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
ti,ngpio = <88>;
|
||||
ti,ngpio = <52>;
|
||||
ti,davinci-gpio-unbanked = <0>;
|
||||
power-domains = <&k3_pds 78 TI_SCI_PD_EXCLUSIVE>;
|
||||
clocks = <&k3_clks 78 0>;
|
||||
|
|
|
|||
|
|
@ -856,7 +856,7 @@
|
|||
assigned-clocks = <&k3_clks 67 2>;
|
||||
assigned-clock-parents = <&k3_clks 67 5>;
|
||||
|
||||
interrupts = <GIC_SPI 166 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
dma-coherent;
|
||||
|
||||
|
|
|
|||
|
|
@ -826,6 +826,12 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
|
|||
if (pte_hw_dirty(pte))
|
||||
pte = pte_mkdirty(pte);
|
||||
pte_val(pte) = (pte_val(pte) & ~mask) | (pgprot_val(newprot) & mask);
|
||||
/*
|
||||
* If we end up clearing hw dirtiness for a sw-dirty PTE, set hardware
|
||||
* dirtiness again.
|
||||
*/
|
||||
if (pte_sw_dirty(pte))
|
||||
pte = pte_mkdirty(pte);
|
||||
return pte;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -489,7 +489,7 @@ void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu)
|
|||
|
||||
kvm_timer_vcpu_terminate(vcpu);
|
||||
kvm_pmu_vcpu_destroy(vcpu);
|
||||
|
||||
kvm_vgic_vcpu_destroy(vcpu);
|
||||
kvm_arm_vcpu_destroy(vcpu);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -368,7 +368,7 @@ static void kvm_vgic_dist_destroy(struct kvm *kvm)
|
|||
vgic_v4_teardown(kvm);
|
||||
}
|
||||
|
||||
void kvm_vgic_vcpu_destroy(struct kvm_vcpu *vcpu)
|
||||
static void __kvm_vgic_vcpu_destroy(struct kvm_vcpu *vcpu)
|
||||
{
|
||||
struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic_cpu;
|
||||
|
||||
|
|
@ -379,29 +379,39 @@ void kvm_vgic_vcpu_destroy(struct kvm_vcpu *vcpu)
|
|||
vgic_flush_pending_lpis(vcpu);
|
||||
|
||||
INIT_LIST_HEAD(&vgic_cpu->ap_list_head);
|
||||
vgic_cpu->rd_iodev.base_addr = VGIC_ADDR_UNDEF;
|
||||
if (vcpu->kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) {
|
||||
vgic_unregister_redist_iodev(vcpu);
|
||||
vgic_cpu->rd_iodev.base_addr = VGIC_ADDR_UNDEF;
|
||||
}
|
||||
}
|
||||
|
||||
static void __kvm_vgic_destroy(struct kvm *kvm)
|
||||
void kvm_vgic_vcpu_destroy(struct kvm_vcpu *vcpu)
|
||||
{
|
||||
struct kvm_vcpu *vcpu;
|
||||
unsigned long i;
|
||||
struct kvm *kvm = vcpu->kvm;
|
||||
|
||||
lockdep_assert_held(&kvm->arch.config_lock);
|
||||
|
||||
vgic_debug_destroy(kvm);
|
||||
|
||||
kvm_for_each_vcpu(i, vcpu, kvm)
|
||||
kvm_vgic_vcpu_destroy(vcpu);
|
||||
|
||||
kvm_vgic_dist_destroy(kvm);
|
||||
mutex_lock(&kvm->slots_lock);
|
||||
__kvm_vgic_vcpu_destroy(vcpu);
|
||||
mutex_unlock(&kvm->slots_lock);
|
||||
}
|
||||
|
||||
void kvm_vgic_destroy(struct kvm *kvm)
|
||||
{
|
||||
struct kvm_vcpu *vcpu;
|
||||
unsigned long i;
|
||||
|
||||
mutex_lock(&kvm->slots_lock);
|
||||
|
||||
vgic_debug_destroy(kvm);
|
||||
|
||||
kvm_for_each_vcpu(i, vcpu, kvm)
|
||||
__kvm_vgic_vcpu_destroy(vcpu);
|
||||
|
||||
mutex_lock(&kvm->arch.config_lock);
|
||||
__kvm_vgic_destroy(kvm);
|
||||
|
||||
kvm_vgic_dist_destroy(kvm);
|
||||
|
||||
mutex_unlock(&kvm->arch.config_lock);
|
||||
mutex_unlock(&kvm->slots_lock);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -469,25 +479,26 @@ int kvm_vgic_map_resources(struct kvm *kvm)
|
|||
type = VGIC_V3;
|
||||
}
|
||||
|
||||
if (ret) {
|
||||
__kvm_vgic_destroy(kvm);
|
||||
if (ret)
|
||||
goto out;
|
||||
}
|
||||
|
||||
dist->ready = true;
|
||||
dist_base = dist->vgic_dist_base;
|
||||
mutex_unlock(&kvm->arch.config_lock);
|
||||
|
||||
ret = vgic_register_dist_iodev(kvm, dist_base, type);
|
||||
if (ret) {
|
||||
if (ret)
|
||||
kvm_err("Unable to register VGIC dist MMIO regions\n");
|
||||
kvm_vgic_destroy(kvm);
|
||||
}
|
||||
mutex_unlock(&kvm->slots_lock);
|
||||
return ret;
|
||||
|
||||
goto out_slots;
|
||||
out:
|
||||
mutex_unlock(&kvm->arch.config_lock);
|
||||
out_slots:
|
||||
mutex_unlock(&kvm->slots_lock);
|
||||
|
||||
if (ret)
|
||||
kvm_vgic_destroy(kvm);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -584,7 +584,11 @@ static struct vgic_irq *vgic_its_check_cache(struct kvm *kvm, phys_addr_t db,
|
|||
unsigned long flags;
|
||||
|
||||
raw_spin_lock_irqsave(&dist->lpi_list_lock, flags);
|
||||
|
||||
irq = __vgic_its_check_cache(dist, db, devid, eventid);
|
||||
if (irq)
|
||||
vgic_get_irq_kref(irq);
|
||||
|
||||
raw_spin_unlock_irqrestore(&dist->lpi_list_lock, flags);
|
||||
|
||||
return irq;
|
||||
|
|
@ -763,6 +767,7 @@ int vgic_its_inject_cached_translation(struct kvm *kvm, struct kvm_msi *msi)
|
|||
raw_spin_lock_irqsave(&irq->irq_lock, flags);
|
||||
irq->pending_latch = true;
|
||||
vgic_queue_irq_unlock(kvm, irq, flags);
|
||||
vgic_put_irq(kvm, irq);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -365,19 +365,26 @@ static int vgic_v3_uaccess_write_pending(struct kvm_vcpu *vcpu,
|
|||
struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, intid + i);
|
||||
|
||||
raw_spin_lock_irqsave(&irq->irq_lock, flags);
|
||||
if (test_bit(i, &val)) {
|
||||
/*
|
||||
* pending_latch is set irrespective of irq type
|
||||
* (level or edge) to avoid dependency that VM should
|
||||
* restore irq config before pending info.
|
||||
*/
|
||||
irq->pending_latch = true;
|
||||
vgic_queue_irq_unlock(vcpu->kvm, irq, flags);
|
||||
} else {
|
||||
|
||||
/*
|
||||
* pending_latch is set irrespective of irq type
|
||||
* (level or edge) to avoid dependency that VM should
|
||||
* restore irq config before pending info.
|
||||
*/
|
||||
irq->pending_latch = test_bit(i, &val);
|
||||
|
||||
if (irq->hw && vgic_irq_is_sgi(irq->intid)) {
|
||||
irq_set_irqchip_state(irq->host_irq,
|
||||
IRQCHIP_STATE_PENDING,
|
||||
irq->pending_latch);
|
||||
irq->pending_latch = false;
|
||||
raw_spin_unlock_irqrestore(&irq->irq_lock, flags);
|
||||
}
|
||||
|
||||
if (irq->pending_latch)
|
||||
vgic_queue_irq_unlock(vcpu->kvm, irq, flags);
|
||||
else
|
||||
raw_spin_unlock_irqrestore(&irq->irq_lock, flags);
|
||||
|
||||
vgic_put_irq(vcpu->kvm, irq);
|
||||
}
|
||||
|
||||
|
|
@ -820,7 +827,7 @@ out_unlock:
|
|||
return ret;
|
||||
}
|
||||
|
||||
static void vgic_unregister_redist_iodev(struct kvm_vcpu *vcpu)
|
||||
void vgic_unregister_redist_iodev(struct kvm_vcpu *vcpu)
|
||||
{
|
||||
struct vgic_io_device *rd_dev = &vcpu->arch.vgic_cpu.rd_iodev;
|
||||
|
||||
|
|
|
|||
|
|
@ -239,6 +239,7 @@ int vgic_v3_lpi_sync_pending_status(struct kvm *kvm, struct vgic_irq *irq);
|
|||
int vgic_v3_save_pending_tables(struct kvm *kvm);
|
||||
int vgic_v3_set_redist_base(struct kvm *kvm, u32 index, u64 addr, u32 count);
|
||||
int vgic_register_redist_iodev(struct kvm_vcpu *vcpu);
|
||||
void vgic_unregister_redist_iodev(struct kvm_vcpu *vcpu);
|
||||
bool vgic_v3_check_base(struct kvm *kvm);
|
||||
|
||||
void vgic_v3_load(struct kvm_vcpu *vcpu);
|
||||
|
|
|
|||
|
|
@ -43,5 +43,10 @@ label:
|
|||
return true;
|
||||
}
|
||||
|
||||
enum jump_label_type;
|
||||
void arch_jump_label_transform_static(struct jump_entry *entry,
|
||||
enum jump_label_type type);
|
||||
#define arch_jump_label_transform_static arch_jump_label_transform_static
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* __ASM_CSKY_JUMP_LABEL_H */
|
||||
|
|
|
|||
|
|
@ -116,6 +116,8 @@ vdso_install:
|
|||
|
||||
all: $(notdir $(KBUILD_IMAGE))
|
||||
|
||||
vmlinuz.efi: vmlinux.efi
|
||||
|
||||
vmlinux.elf vmlinux.efi vmlinuz.efi: vmlinux
|
||||
$(Q)$(MAKE) $(build)=$(boot) $(bootvars-y) $(boot)/$@
|
||||
|
||||
|
|
|
|||
|
|
@ -241,8 +241,6 @@ void loongarch_dump_regs64(u64 *uregs, const struct pt_regs *regs);
|
|||
do { \
|
||||
current->thread.vdso = &vdso_info; \
|
||||
\
|
||||
loongarch_set_personality_fcsr(state); \
|
||||
\
|
||||
if (personality(current->personality) != PER_LINUX) \
|
||||
set_personality(PER_LINUX); \
|
||||
} while (0)
|
||||
|
|
@ -259,7 +257,6 @@ do { \
|
|||
clear_thread_flag(TIF_32BIT_ADDR); \
|
||||
\
|
||||
current->thread.vdso = &vdso_info; \
|
||||
loongarch_set_personality_fcsr(state); \
|
||||
\
|
||||
p = personality(current->personality); \
|
||||
if (p != PER_LINUX32 && p != PER_LINUX) \
|
||||
|
|
@ -293,7 +290,7 @@ extern const char *__elf_platform;
|
|||
#define ELF_PLAT_INIT(_r, load_addr) do { \
|
||||
_r->regs[1] = _r->regs[2] = _r->regs[3] = _r->regs[4] = 0; \
|
||||
_r->regs[5] = _r->regs[6] = _r->regs[7] = _r->regs[8] = 0; \
|
||||
_r->regs[9] = _r->regs[10] = _r->regs[11] = _r->regs[12] = 0; \
|
||||
_r->regs[9] = _r->regs[10] /* syscall n */ = _r->regs[12] = 0; \
|
||||
_r->regs[13] = _r->regs[14] = _r->regs[15] = _r->regs[16] = 0; \
|
||||
_r->regs[17] = _r->regs[18] = _r->regs[19] = _r->regs[20] = 0; \
|
||||
_r->regs[21] = _r->regs[22] = _r->regs[23] = _r->regs[24] = 0; \
|
||||
|
|
@ -340,6 +337,4 @@ extern int arch_elf_pt_proc(void *ehdr, void *phdr, struct file *elf,
|
|||
extern int arch_check_elf(void *ehdr, bool has_interpreter, void *interp_ehdr,
|
||||
struct arch_elf_state *state);
|
||||
|
||||
extern void loongarch_set_personality_fcsr(struct arch_elf_state *state);
|
||||
|
||||
#endif /* _ASM_ELF_H */
|
||||
|
|
|
|||
|
|
@ -23,8 +23,3 @@ int arch_check_elf(void *_ehdr, bool has_interpreter, void *_interp_ehdr,
|
|||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void loongarch_set_personality_fcsr(struct arch_elf_state *state)
|
||||
{
|
||||
current->thread.fpu.fcsr = boot_cpu_data.fpu_csr0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,6 +82,7 @@ void start_thread(struct pt_regs *regs, unsigned long pc, unsigned long sp)
|
|||
euen = regs->csr_euen & ~(CSR_EUEN_FPEN);
|
||||
regs->csr_euen = euen;
|
||||
lose_fpu(0);
|
||||
current->thread.fpu.fcsr = boot_cpu_data.fpu_csr0;
|
||||
|
||||
clear_thread_flag(TIF_LSX_CTX_LIVE);
|
||||
clear_thread_flag(TIF_LASX_CTX_LIVE);
|
||||
|
|
|
|||
|
|
@ -58,21 +58,6 @@ static int constant_set_state_oneshot(struct clock_event_device *evt)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int constant_set_state_oneshot_stopped(struct clock_event_device *evt)
|
||||
{
|
||||
unsigned long timer_config;
|
||||
|
||||
raw_spin_lock(&state_lock);
|
||||
|
||||
timer_config = csr_read64(LOONGARCH_CSR_TCFG);
|
||||
timer_config &= ~CSR_TCFG_EN;
|
||||
csr_write64(timer_config, LOONGARCH_CSR_TCFG);
|
||||
|
||||
raw_spin_unlock(&state_lock);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int constant_set_state_periodic(struct clock_event_device *evt)
|
||||
{
|
||||
unsigned long period;
|
||||
|
|
@ -92,6 +77,16 @@ static int constant_set_state_periodic(struct clock_event_device *evt)
|
|||
|
||||
static int constant_set_state_shutdown(struct clock_event_device *evt)
|
||||
{
|
||||
unsigned long timer_config;
|
||||
|
||||
raw_spin_lock(&state_lock);
|
||||
|
||||
timer_config = csr_read64(LOONGARCH_CSR_TCFG);
|
||||
timer_config &= ~CSR_TCFG_EN;
|
||||
csr_write64(timer_config, LOONGARCH_CSR_TCFG);
|
||||
|
||||
raw_spin_unlock(&state_lock);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -156,7 +151,7 @@ int constant_clockevent_init(void)
|
|||
cd->rating = 320;
|
||||
cd->cpumask = cpumask_of(cpu);
|
||||
cd->set_state_oneshot = constant_set_state_oneshot;
|
||||
cd->set_state_oneshot_stopped = constant_set_state_oneshot_stopped;
|
||||
cd->set_state_oneshot_stopped = constant_set_state_shutdown;
|
||||
cd->set_state_periodic = constant_set_state_periodic;
|
||||
cd->set_state_shutdown = constant_set_state_shutdown;
|
||||
cd->set_next_event = constant_timer_next_event;
|
||||
|
|
|
|||
|
|
@ -402,7 +402,6 @@ static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ctx, bool ext
|
|||
const u8 dst = regmap[insn->dst_reg];
|
||||
const s16 off = insn->off;
|
||||
const s32 imm = insn->imm;
|
||||
const u64 imm64 = (u64)(insn + 1)->imm << 32 | (u32)insn->imm;
|
||||
const bool is32 = BPF_CLASS(insn->code) == BPF_ALU || BPF_CLASS(insn->code) == BPF_JMP32;
|
||||
|
||||
switch (code) {
|
||||
|
|
@ -806,8 +805,12 @@ static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ctx, bool ext
|
|||
|
||||
/* dst = imm64 */
|
||||
case BPF_LD | BPF_IMM | BPF_DW:
|
||||
{
|
||||
const u64 imm64 = (u64)(insn + 1)->imm << 32 | (u32)insn->imm;
|
||||
|
||||
move_imm(ctx, dst, imm64, is32);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* dst = *(size *)(src + off) */
|
||||
case BPF_LDX | BPF_MEM | BPF_B:
|
||||
|
|
|
|||
|
|
@ -847,7 +847,7 @@ int __init db1200_dev_setup(void)
|
|||
i2c_register_board_info(0, db1200_i2c_devs,
|
||||
ARRAY_SIZE(db1200_i2c_devs));
|
||||
spi_register_board_info(db1200_spi_devs,
|
||||
ARRAY_SIZE(db1200_i2c_devs));
|
||||
ARRAY_SIZE(db1200_spi_devs));
|
||||
|
||||
/* SWITCHES: S6.8 I2C/SPI selector (OFF=I2C ON=SPI)
|
||||
* S6.7 AC97/I2S selector (OFF=AC97 ON=I2S)
|
||||
|
|
|
|||
|
|
@ -589,7 +589,7 @@ int __init db1550_dev_setup(void)
|
|||
i2c_register_board_info(0, db1550_i2c_devs,
|
||||
ARRAY_SIZE(db1550_i2c_devs));
|
||||
spi_register_board_info(db1550_spi_devs,
|
||||
ARRAY_SIZE(db1550_i2c_devs));
|
||||
ARRAY_SIZE(db1550_spi_devs));
|
||||
|
||||
c = clk_get(NULL, "psc0_intclk");
|
||||
if (!IS_ERR(c)) {
|
||||
|
|
|
|||
|
|
@ -123,8 +123,7 @@
|
|||
compatible = "pci0014,7a03.0",
|
||||
"pci0014,7a03",
|
||||
"pciclass0c0320",
|
||||
"pciclass0c03",
|
||||
"loongson, pci-gmac";
|
||||
"pciclass0c03";
|
||||
|
||||
reg = <0x1800 0x0 0x0 0x0 0x0>;
|
||||
interrupts = <12 IRQ_TYPE_LEVEL_LOW>,
|
||||
|
|
|
|||
|
|
@ -186,8 +186,7 @@
|
|||
compatible = "pci0014,7a03.0",
|
||||
"pci0014,7a03",
|
||||
"pciclass020000",
|
||||
"pciclass0200",
|
||||
"loongson, pci-gmac";
|
||||
"pciclass0200";
|
||||
|
||||
reg = <0x1800 0x0 0x0 0x0 0x0>;
|
||||
interrupts = <12 IRQ_TYPE_LEVEL_HIGH>,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include <linux/io.h>
|
||||
#include <linux/memblock.h>
|
||||
|
||||
#define dmi_early_remap(x, l) ioremap_cache(x, l)
|
||||
#define dmi_early_remap(x, l) ioremap(x, l)
|
||||
#define dmi_early_unmap(x, l) iounmap(x)
|
||||
#define dmi_remap(x, l) ioremap_cache(x, l)
|
||||
#define dmi_unmap(x) iounmap(x)
|
||||
|
|
|
|||
|
|
@ -326,11 +326,11 @@ static void __init bootmem_init(void)
|
|||
panic("Incorrect memory mapping !!!");
|
||||
|
||||
if (max_pfn > PFN_DOWN(HIGHMEM_START)) {
|
||||
max_low_pfn = PFN_DOWN(HIGHMEM_START);
|
||||
#ifdef CONFIG_HIGHMEM
|
||||
highstart_pfn = PFN_DOWN(HIGHMEM_START);
|
||||
highstart_pfn = max_low_pfn;
|
||||
highend_pfn = max_pfn;
|
||||
#else
|
||||
max_low_pfn = PFN_DOWN(HIGHMEM_START);
|
||||
max_pfn = max_low_pfn;
|
||||
#endif
|
||||
}
|
||||
|
|
|
|||
|
|
@ -333,10 +333,11 @@ early_initcall(mips_smp_ipi_init);
|
|||
*/
|
||||
asmlinkage void start_secondary(void)
|
||||
{
|
||||
unsigned int cpu;
|
||||
unsigned int cpu = raw_smp_processor_id();
|
||||
|
||||
cpu_probe();
|
||||
per_cpu_trap_init(false);
|
||||
rcu_cpu_starting(cpu);
|
||||
mips_clockevent_init();
|
||||
mp_ops->init_secondary();
|
||||
cpu_report();
|
||||
|
|
@ -348,7 +349,6 @@ asmlinkage void start_secondary(void)
|
|||
*/
|
||||
|
||||
calibrate_delay();
|
||||
cpu = smp_processor_id();
|
||||
cpu_data[cpu].udelay_val = loops_per_jiffy;
|
||||
|
||||
set_cpu_sibling_map(cpu);
|
||||
|
|
|
|||
|
|
@ -806,6 +806,7 @@ config THREAD_SHIFT
|
|||
int "Thread shift" if EXPERT
|
||||
range 13 15
|
||||
default "15" if PPC_256K_PAGES
|
||||
default "15" if PPC_PSERIES || PPC_POWERNV
|
||||
default "14" if PPC64
|
||||
default "13"
|
||||
help
|
||||
|
|
|
|||
|
|
@ -42,18 +42,13 @@ machine-$(CONFIG_PPC64) += 64
|
|||
machine-$(CONFIG_CPU_LITTLE_ENDIAN) += le
|
||||
UTS_MACHINE := $(subst $(space),,$(machine-y))
|
||||
|
||||
# XXX This needs to be before we override LD below
|
||||
ifdef CONFIG_PPC32
|
||||
KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
|
||||
else
|
||||
ifeq ($(call ld-ifversion, -ge, 22500, y),y)
|
||||
ifeq ($(CONFIG_PPC64)$(CONFIG_LD_IS_BFD),yy)
|
||||
# Have the linker provide sfpr if possible.
|
||||
# There is a corresponding test in arch/powerpc/lib/Makefile
|
||||
KBUILD_LDFLAGS_MODULE += --save-restore-funcs
|
||||
else
|
||||
KBUILD_LDFLAGS_MODULE += arch/powerpc/lib/crtsavres.o
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef CONFIG_CPU_LITTLE_ENDIAN
|
||||
KBUILD_CFLAGS += -mlittle-endian
|
||||
|
|
@ -391,17 +386,7 @@ endif
|
|||
endif
|
||||
|
||||
PHONY += checkbin
|
||||
# Check toolchain versions:
|
||||
# - gcc-4.6 is the minimum kernel-wide version so nothing required.
|
||||
checkbin:
|
||||
@if test "x${CONFIG_LD_IS_LLD}" != "xy" -a \
|
||||
"x$(call ld-ifversion, -le, 22400, y)" = "xy" ; then \
|
||||
echo -n '*** binutils 2.24 miscompiles weak symbols ' ; \
|
||||
echo 'in some circumstances.' ; \
|
||||
echo '*** binutils 2.23 do not define the TOC symbol ' ; \
|
||||
echo -n '*** Please use a different binutils version.' ; \
|
||||
false ; \
|
||||
fi
|
||||
@if test "x${CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT}" = "xy" -a \
|
||||
"x${CONFIG_LD_IS_BFD}" = "xy" -a \
|
||||
"${CONFIG_LD_VERSION}" = "23700" ; then \
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@
|
|||
.endif
|
||||
|
||||
/* Save previous stack pointer (r1) */
|
||||
addi r8, r1, SWITCH_FRAME_SIZE
|
||||
addi r8, r1, SWITCH_FRAME_SIZE+STACK_FRAME_MIN_SIZE
|
||||
PPC_STL r8, GPR1(r1)
|
||||
|
||||
.if \allregs == 1
|
||||
|
|
@ -182,7 +182,7 @@ ftrace_no_trace:
|
|||
mflr r3
|
||||
mtctr r3
|
||||
REST_GPR(3, r1)
|
||||
addi r1, r1, SWITCH_FRAME_SIZE
|
||||
addi r1, r1, SWITCH_FRAME_SIZE+STACK_FRAME_MIN_SIZE
|
||||
mtlr r0
|
||||
bctr
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -42,8 +42,8 @@ obj-$(CONFIG_FUNCTION_ERROR_INJECTION) += error-inject.o
|
|||
# 64-bit linker creates .sfpr on demand for final link (vmlinux),
|
||||
# so it is only needed for modules, and only for older linkers which
|
||||
# do not support --save-restore-funcs
|
||||
ifeq ($(call ld-ifversion, -lt, 22500, y),y)
|
||||
extra-$(CONFIG_PPC64) += crtsavres.o
|
||||
ifndef CONFIG_LD_IS_BFD
|
||||
always-$(CONFIG_PPC64) += crtsavres.o
|
||||
endif
|
||||
|
||||
obj-$(CONFIG_PPC_BOOK3S_64) += copyuser_power7.o copypage_power7.o \
|
||||
|
|
|
|||
|
|
@ -299,6 +299,8 @@ static int update_events_in_group(struct device_node *node, struct imc_pmu *pmu)
|
|||
attr_group->attrs = attrs;
|
||||
do {
|
||||
ev_val_str = kasprintf(GFP_KERNEL, "event=0x%x", pmu->events[i].value);
|
||||
if (!ev_val_str)
|
||||
continue;
|
||||
dev_str = device_str_attr_create(pmu->events[i].name, ev_val_str);
|
||||
if (!dev_str)
|
||||
continue;
|
||||
|
|
@ -306,6 +308,8 @@ static int update_events_in_group(struct device_node *node, struct imc_pmu *pmu)
|
|||
attrs[j++] = dev_str;
|
||||
if (pmu->events[i].scale) {
|
||||
ev_scale_str = kasprintf(GFP_KERNEL, "%s.scale", pmu->events[i].name);
|
||||
if (!ev_scale_str)
|
||||
continue;
|
||||
dev_str = device_str_attr_create(ev_scale_str, pmu->events[i].scale);
|
||||
if (!dev_str)
|
||||
continue;
|
||||
|
|
@ -315,6 +319,8 @@ static int update_events_in_group(struct device_node *node, struct imc_pmu *pmu)
|
|||
|
||||
if (pmu->events[i].unit) {
|
||||
ev_unit_str = kasprintf(GFP_KERNEL, "%s.unit", pmu->events[i].name);
|
||||
if (!ev_unit_str)
|
||||
continue;
|
||||
dev_str = device_str_attr_create(ev_unit_str, pmu->events[i].unit);
|
||||
if (!dev_str)
|
||||
continue;
|
||||
|
|
|
|||
|
|
@ -173,6 +173,7 @@ config ISS4xx
|
|||
config CURRITUCK
|
||||
bool "IBM Currituck (476fpe) Support"
|
||||
depends on PPC_47x
|
||||
select I2C
|
||||
select SWIOTLB
|
||||
select 476FPE
|
||||
select FORCE_PCI
|
||||
|
|
|
|||
|
|
@ -275,6 +275,8 @@ int __init opal_event_init(void)
|
|||
else
|
||||
name = kasprintf(GFP_KERNEL, "opal");
|
||||
|
||||
if (!name)
|
||||
continue;
|
||||
/* Install interrupt handler */
|
||||
rc = request_irq(r->start, opal_interrupt, r->flags & IRQD_TRIGGER_MASK,
|
||||
name, NULL);
|
||||
|
|
|
|||
|
|
@ -196,6 +196,12 @@ void __init opal_powercap_init(void)
|
|||
|
||||
j = 0;
|
||||
pcaps[i].pg.name = kasprintf(GFP_KERNEL, "%pOFn", node);
|
||||
if (!pcaps[i].pg.name) {
|
||||
kfree(pcaps[i].pattrs);
|
||||
kfree(pcaps[i].pg.attrs);
|
||||
goto out_pcaps_pattrs;
|
||||
}
|
||||
|
||||
if (has_min) {
|
||||
powercap_add_attr(min, "powercap-min",
|
||||
&pcaps[i].pattrs[j]);
|
||||
|
|
|
|||
|
|
@ -165,6 +165,11 @@ static int scom_debug_init_one(struct dentry *root, struct device_node *dn,
|
|||
ent->chip = chip;
|
||||
snprintf(ent->name, 16, "%08x", chip);
|
||||
ent->path.data = (void *)kasprintf(GFP_KERNEL, "%pOF", dn);
|
||||
if (!ent->path.data) {
|
||||
kfree(ent);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
ent->path.size = strlen((char *)ent->path.data);
|
||||
|
||||
dir = debugfs_create_dir(ent->name, root);
|
||||
|
|
|
|||
|
|
@ -500,14 +500,15 @@ static int dlpar_memory_remove_by_index(u32 drc_index)
|
|||
}
|
||||
}
|
||||
|
||||
if (!lmb_found)
|
||||
if (!lmb_found) {
|
||||
pr_debug("Failed to look up LMB for drc index %x\n", drc_index);
|
||||
rc = -EINVAL;
|
||||
|
||||
if (rc)
|
||||
} else if (rc) {
|
||||
pr_debug("Failed to hot-remove memory at %llx\n",
|
||||
lmb->base_addr);
|
||||
else
|
||||
} else {
|
||||
pr_debug("Memory at %llx was hot-removed\n", lmb->base_addr);
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ extern char _start_kernel[];
|
|||
extern char __init_data_begin[], __init_data_end[];
|
||||
extern char __init_text_begin[], __init_text_end[];
|
||||
extern char __alt_start[], __alt_end[];
|
||||
extern char __exittext_begin[], __exittext_end[];
|
||||
|
||||
static inline bool is_va_kernel_text(uintptr_t va)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,6 +7,6 @@
|
|||
#include <uapi/asm/ptrace.h>
|
||||
|
||||
asmlinkage __visible
|
||||
void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags);
|
||||
void do_work_pending(struct pt_regs *regs, unsigned long thread_info_flags);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
add \reg, \reg, t0
|
||||
.endm
|
||||
.macro XIP_FIXUP_FLASH_OFFSET reg
|
||||
la t1, __data_loc
|
||||
la t0, __data_loc
|
||||
REG_L t1, _xip_phys_offset
|
||||
sub \reg, \reg, t1
|
||||
add \reg, \reg, t0
|
||||
|
|
|
|||
|
|
@ -424,7 +424,8 @@ void *module_alloc(unsigned long size)
|
|||
{
|
||||
return __vmalloc_node_range(size, 1, MODULES_VADDR,
|
||||
MODULES_END, GFP_KERNEL,
|
||||
PAGE_KERNEL, 0, NUMA_NO_NODE,
|
||||
PAGE_KERNEL, VM_FLUSH_RESET_PERMS,
|
||||
NUMA_NO_NODE,
|
||||
__builtin_return_address(0));
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
#include <asm/fixmap.h>
|
||||
#include <asm/ftrace.h>
|
||||
#include <asm/patch.h>
|
||||
#include <asm/sections.h>
|
||||
|
||||
struct patch_insn {
|
||||
void *addr;
|
||||
|
|
@ -23,6 +24,14 @@ struct patch_insn {
|
|||
int riscv_patch_in_stop_machine = false;
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
|
||||
static inline bool is_kernel_exittext(uintptr_t addr)
|
||||
{
|
||||
return system_state < SYSTEM_RUNNING &&
|
||||
addr >= (uintptr_t)__exittext_begin &&
|
||||
addr < (uintptr_t)__exittext_end;
|
||||
}
|
||||
|
||||
/*
|
||||
* The fix_to_virt(, idx) needs a const value (not a dynamic variable of
|
||||
* reg-a0) or BUILD_BUG_ON failed with "idx >= __end_of_fixed_addresses".
|
||||
|
|
@ -33,7 +42,7 @@ static __always_inline void *patch_map(void *addr, const unsigned int fixmap)
|
|||
uintptr_t uintaddr = (uintptr_t) addr;
|
||||
struct page *page;
|
||||
|
||||
if (core_kernel_text(uintaddr))
|
||||
if (core_kernel_text(uintaddr) || is_kernel_exittext(uintaddr))
|
||||
page = phys_to_page(__pa_symbol(addr));
|
||||
else if (IS_ENABLED(CONFIG_STRICT_MODULE_RWX))
|
||||
page = vmalloc_to_page(addr);
|
||||
|
|
|
|||
|
|
@ -29,10 +29,12 @@ SECTIONS
|
|||
HEAD_TEXT_SECTION
|
||||
INIT_TEXT_SECTION(PAGE_SIZE)
|
||||
/* we have to discard exit text and such at runtime, not link time */
|
||||
__exittext_begin = .;
|
||||
.exit.text :
|
||||
{
|
||||
EXIT_TEXT
|
||||
}
|
||||
__exittext_end = .;
|
||||
|
||||
.text : {
|
||||
_text = .;
|
||||
|
|
|
|||
|
|
@ -72,10 +72,12 @@ SECTIONS
|
|||
__soc_builtin_dtb_table_end = .;
|
||||
}
|
||||
/* we have to discard exit text and such at runtime, not link time */
|
||||
__exittext_begin = .;
|
||||
.exit.text :
|
||||
{
|
||||
EXIT_TEXT
|
||||
}
|
||||
__exittext_end = .;
|
||||
|
||||
__init_text_end = .;
|
||||
. = ALIGN(SECTION_ALIGN);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
#include <linux/pagewalk.h>
|
||||
#include <linux/pgtable.h>
|
||||
#include <linux/vmalloc.h>
|
||||
#include <asm/tlbflush.h>
|
||||
#include <asm/bitops.h>
|
||||
#include <asm/set_memory.h>
|
||||
|
|
@ -25,19 +26,6 @@ static unsigned long set_pageattr_masks(unsigned long val, struct mm_walk *walk)
|
|||
return new_val;
|
||||
}
|
||||
|
||||
static int pageattr_pgd_entry(pgd_t *pgd, unsigned long addr,
|
||||
unsigned long next, struct mm_walk *walk)
|
||||
{
|
||||
pgd_t val = READ_ONCE(*pgd);
|
||||
|
||||
if (pgd_leaf(val)) {
|
||||
val = __pgd(set_pageattr_masks(pgd_val(val), walk));
|
||||
set_pgd(pgd, val);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int pageattr_p4d_entry(p4d_t *p4d, unsigned long addr,
|
||||
unsigned long next, struct mm_walk *walk)
|
||||
{
|
||||
|
|
@ -96,7 +84,6 @@ static int pageattr_pte_hole(unsigned long addr, unsigned long next,
|
|||
}
|
||||
|
||||
static const struct mm_walk_ops pageattr_ops = {
|
||||
.pgd_entry = pageattr_pgd_entry,
|
||||
.p4d_entry = pageattr_p4d_entry,
|
||||
.pud_entry = pageattr_pud_entry,
|
||||
.pmd_entry = pageattr_pmd_entry,
|
||||
|
|
@ -105,12 +92,181 @@ static const struct mm_walk_ops pageattr_ops = {
|
|||
.walk_lock = PGWALK_RDLOCK,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
static int __split_linear_mapping_pmd(pud_t *pudp,
|
||||
unsigned long vaddr, unsigned long end)
|
||||
{
|
||||
pmd_t *pmdp;
|
||||
unsigned long next;
|
||||
|
||||
pmdp = pmd_offset(pudp, vaddr);
|
||||
|
||||
do {
|
||||
next = pmd_addr_end(vaddr, end);
|
||||
|
||||
if (next - vaddr >= PMD_SIZE &&
|
||||
vaddr <= (vaddr & PMD_MASK) && end >= next)
|
||||
continue;
|
||||
|
||||
if (pmd_leaf(*pmdp)) {
|
||||
struct page *pte_page;
|
||||
unsigned long pfn = _pmd_pfn(*pmdp);
|
||||
pgprot_t prot = __pgprot(pmd_val(*pmdp) & ~_PAGE_PFN_MASK);
|
||||
pte_t *ptep_new;
|
||||
int i;
|
||||
|
||||
pte_page = alloc_page(GFP_KERNEL);
|
||||
if (!pte_page)
|
||||
return -ENOMEM;
|
||||
|
||||
ptep_new = (pte_t *)page_address(pte_page);
|
||||
for (i = 0; i < PTRS_PER_PTE; ++i, ++ptep_new)
|
||||
set_pte(ptep_new, pfn_pte(pfn + i, prot));
|
||||
|
||||
smp_wmb();
|
||||
|
||||
set_pmd(pmdp, pfn_pmd(page_to_pfn(pte_page), PAGE_TABLE));
|
||||
}
|
||||
} while (pmdp++, vaddr = next, vaddr != end);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __split_linear_mapping_pud(p4d_t *p4dp,
|
||||
unsigned long vaddr, unsigned long end)
|
||||
{
|
||||
pud_t *pudp;
|
||||
unsigned long next;
|
||||
int ret;
|
||||
|
||||
pudp = pud_offset(p4dp, vaddr);
|
||||
|
||||
do {
|
||||
next = pud_addr_end(vaddr, end);
|
||||
|
||||
if (next - vaddr >= PUD_SIZE &&
|
||||
vaddr <= (vaddr & PUD_MASK) && end >= next)
|
||||
continue;
|
||||
|
||||
if (pud_leaf(*pudp)) {
|
||||
struct page *pmd_page;
|
||||
unsigned long pfn = _pud_pfn(*pudp);
|
||||
pgprot_t prot = __pgprot(pud_val(*pudp) & ~_PAGE_PFN_MASK);
|
||||
pmd_t *pmdp_new;
|
||||
int i;
|
||||
|
||||
pmd_page = alloc_page(GFP_KERNEL);
|
||||
if (!pmd_page)
|
||||
return -ENOMEM;
|
||||
|
||||
pmdp_new = (pmd_t *)page_address(pmd_page);
|
||||
for (i = 0; i < PTRS_PER_PMD; ++i, ++pmdp_new)
|
||||
set_pmd(pmdp_new,
|
||||
pfn_pmd(pfn + ((i * PMD_SIZE) >> PAGE_SHIFT), prot));
|
||||
|
||||
smp_wmb();
|
||||
|
||||
set_pud(pudp, pfn_pud(page_to_pfn(pmd_page), PAGE_TABLE));
|
||||
}
|
||||
|
||||
ret = __split_linear_mapping_pmd(pudp, vaddr, next);
|
||||
if (ret)
|
||||
return ret;
|
||||
} while (pudp++, vaddr = next, vaddr != end);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __split_linear_mapping_p4d(pgd_t *pgdp,
|
||||
unsigned long vaddr, unsigned long end)
|
||||
{
|
||||
p4d_t *p4dp;
|
||||
unsigned long next;
|
||||
int ret;
|
||||
|
||||
p4dp = p4d_offset(pgdp, vaddr);
|
||||
|
||||
do {
|
||||
next = p4d_addr_end(vaddr, end);
|
||||
|
||||
/*
|
||||
* If [vaddr; end] contains [vaddr & P4D_MASK; next], we don't
|
||||
* need to split, we'll change the protections on the whole P4D.
|
||||
*/
|
||||
if (next - vaddr >= P4D_SIZE &&
|
||||
vaddr <= (vaddr & P4D_MASK) && end >= next)
|
||||
continue;
|
||||
|
||||
if (p4d_leaf(*p4dp)) {
|
||||
struct page *pud_page;
|
||||
unsigned long pfn = _p4d_pfn(*p4dp);
|
||||
pgprot_t prot = __pgprot(p4d_val(*p4dp) & ~_PAGE_PFN_MASK);
|
||||
pud_t *pudp_new;
|
||||
int i;
|
||||
|
||||
pud_page = alloc_page(GFP_KERNEL);
|
||||
if (!pud_page)
|
||||
return -ENOMEM;
|
||||
|
||||
/*
|
||||
* Fill the pud level with leaf puds that have the same
|
||||
* protections as the leaf p4d.
|
||||
*/
|
||||
pudp_new = (pud_t *)page_address(pud_page);
|
||||
for (i = 0; i < PTRS_PER_PUD; ++i, ++pudp_new)
|
||||
set_pud(pudp_new,
|
||||
pfn_pud(pfn + ((i * PUD_SIZE) >> PAGE_SHIFT), prot));
|
||||
|
||||
/*
|
||||
* Make sure the pud filling is not reordered with the
|
||||
* p4d store which could result in seeing a partially
|
||||
* filled pud level.
|
||||
*/
|
||||
smp_wmb();
|
||||
|
||||
set_p4d(p4dp, pfn_p4d(page_to_pfn(pud_page), PAGE_TABLE));
|
||||
}
|
||||
|
||||
ret = __split_linear_mapping_pud(p4dp, vaddr, next);
|
||||
if (ret)
|
||||
return ret;
|
||||
} while (p4dp++, vaddr = next, vaddr != end);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __split_linear_mapping_pgd(pgd_t *pgdp,
|
||||
unsigned long vaddr,
|
||||
unsigned long end)
|
||||
{
|
||||
unsigned long next;
|
||||
int ret;
|
||||
|
||||
do {
|
||||
next = pgd_addr_end(vaddr, end);
|
||||
/* We never use PGD mappings for the linear mapping */
|
||||
ret = __split_linear_mapping_p4d(pgdp, vaddr, next);
|
||||
if (ret)
|
||||
return ret;
|
||||
} while (pgdp++, vaddr = next, vaddr != end);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int split_linear_mapping(unsigned long start, unsigned long end)
|
||||
{
|
||||
return __split_linear_mapping_pgd(pgd_offset_k(start), start, end);
|
||||
}
|
||||
#endif /* CONFIG_64BIT */
|
||||
|
||||
static int __set_memory(unsigned long addr, int numpages, pgprot_t set_mask,
|
||||
pgprot_t clear_mask)
|
||||
{
|
||||
int ret;
|
||||
unsigned long start = addr;
|
||||
unsigned long end = start + PAGE_SIZE * numpages;
|
||||
unsigned long __maybe_unused lm_start;
|
||||
unsigned long __maybe_unused lm_end;
|
||||
struct pageattr_masks masks = {
|
||||
.set_mask = set_mask,
|
||||
.clear_mask = clear_mask
|
||||
|
|
@ -120,11 +276,72 @@ static int __set_memory(unsigned long addr, int numpages, pgprot_t set_mask,
|
|||
return 0;
|
||||
|
||||
mmap_write_lock(&init_mm);
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
/*
|
||||
* We are about to change the permissions of a kernel mapping, we must
|
||||
* apply the same changes to its linear mapping alias, which may imply
|
||||
* splitting a huge mapping.
|
||||
*/
|
||||
|
||||
if (is_vmalloc_or_module_addr((void *)start)) {
|
||||
struct vm_struct *area = NULL;
|
||||
int i, page_start;
|
||||
|
||||
area = find_vm_area((void *)start);
|
||||
page_start = (start - (unsigned long)area->addr) >> PAGE_SHIFT;
|
||||
|
||||
for (i = page_start; i < page_start + numpages; ++i) {
|
||||
lm_start = (unsigned long)page_address(area->pages[i]);
|
||||
lm_end = lm_start + PAGE_SIZE;
|
||||
|
||||
ret = split_linear_mapping(lm_start, lm_end);
|
||||
if (ret)
|
||||
goto unlock;
|
||||
|
||||
ret = walk_page_range_novma(&init_mm, lm_start, lm_end,
|
||||
&pageattr_ops, NULL, &masks);
|
||||
if (ret)
|
||||
goto unlock;
|
||||
}
|
||||
} else if (is_kernel_mapping(start) || is_linear_mapping(start)) {
|
||||
if (is_kernel_mapping(start)) {
|
||||
lm_start = (unsigned long)lm_alias(start);
|
||||
lm_end = (unsigned long)lm_alias(end);
|
||||
} else {
|
||||
lm_start = start;
|
||||
lm_end = end;
|
||||
}
|
||||
|
||||
ret = split_linear_mapping(lm_start, lm_end);
|
||||
if (ret)
|
||||
goto unlock;
|
||||
|
||||
ret = walk_page_range_novma(&init_mm, lm_start, lm_end,
|
||||
&pageattr_ops, NULL, &masks);
|
||||
if (ret)
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
ret = walk_page_range_novma(&init_mm, start, end, &pageattr_ops, NULL,
|
||||
&masks);
|
||||
|
||||
unlock:
|
||||
mmap_write_unlock(&init_mm);
|
||||
|
||||
/*
|
||||
* We can't use flush_tlb_kernel_range() here as we may have split a
|
||||
* hugepage that is larger than that, so let's flush everything.
|
||||
*/
|
||||
flush_tlb_all();
|
||||
#else
|
||||
ret = walk_page_range_novma(&init_mm, start, end, &pageattr_ops, NULL,
|
||||
&masks);
|
||||
|
||||
mmap_write_unlock(&init_mm);
|
||||
|
||||
flush_tlb_kernel_range(start, end);
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
@ -159,36 +376,14 @@ int set_memory_nx(unsigned long addr, int numpages)
|
|||
|
||||
int set_direct_map_invalid_noflush(struct page *page)
|
||||
{
|
||||
int ret;
|
||||
unsigned long start = (unsigned long)page_address(page);
|
||||
unsigned long end = start + PAGE_SIZE;
|
||||
struct pageattr_masks masks = {
|
||||
.set_mask = __pgprot(0),
|
||||
.clear_mask = __pgprot(_PAGE_PRESENT)
|
||||
};
|
||||
|
||||
mmap_read_lock(&init_mm);
|
||||
ret = walk_page_range(&init_mm, start, end, &pageattr_ops, &masks);
|
||||
mmap_read_unlock(&init_mm);
|
||||
|
||||
return ret;
|
||||
return __set_memory((unsigned long)page_address(page), 1,
|
||||
__pgprot(0), __pgprot(_PAGE_PRESENT));
|
||||
}
|
||||
|
||||
int set_direct_map_default_noflush(struct page *page)
|
||||
{
|
||||
int ret;
|
||||
unsigned long start = (unsigned long)page_address(page);
|
||||
unsigned long end = start + PAGE_SIZE;
|
||||
struct pageattr_masks masks = {
|
||||
.set_mask = PAGE_KERNEL,
|
||||
.clear_mask = __pgprot(0)
|
||||
};
|
||||
|
||||
mmap_read_lock(&init_mm);
|
||||
ret = walk_page_range(&init_mm, start, end, &pageattr_ops, &masks);
|
||||
mmap_read_unlock(&init_mm);
|
||||
|
||||
return ret;
|
||||
return __set_memory((unsigned long)page_address(page), 1,
|
||||
PAGE_KERNEL, __pgprot(_PAGE_EXEC));
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DEBUG_PAGEALLOC
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ static inline int test_fp_ctl(u32 fpc)
|
|||
#define KERNEL_VXR_HIGH (KERNEL_VXR_V16V23|KERNEL_VXR_V24V31)
|
||||
|
||||
#define KERNEL_VXR (KERNEL_VXR_LOW|KERNEL_VXR_HIGH)
|
||||
#define KERNEL_FPR (KERNEL_FPC|KERNEL_VXR_V0V7)
|
||||
#define KERNEL_FPR (KERNEL_FPC|KERNEL_VXR_LOW)
|
||||
|
||||
struct kernel_fpu;
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,8 @@
|
|||
/* I/O size constraints */
|
||||
#define ZPCI_MAX_READ_SIZE 8
|
||||
#define ZPCI_MAX_WRITE_SIZE 128
|
||||
#define ZPCI_BOUNDARY_SIZE (1 << 12)
|
||||
#define ZPCI_BOUNDARY_MASK (ZPCI_BOUNDARY_SIZE - 1)
|
||||
|
||||
/* I/O Map */
|
||||
#define ZPCI_IOMAP_SHIFT 48
|
||||
|
|
@ -125,16 +127,18 @@ out:
|
|||
int zpci_write_block(volatile void __iomem *dst, const void *src,
|
||||
unsigned long len);
|
||||
|
||||
static inline u8 zpci_get_max_write_size(u64 src, u64 dst, int len, int max)
|
||||
static inline int zpci_get_max_io_size(u64 src, u64 dst, int len, int max)
|
||||
{
|
||||
int count = len > max ? max : len, size = 1;
|
||||
int offset = dst & ZPCI_BOUNDARY_MASK;
|
||||
int size;
|
||||
|
||||
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
|
||||
dst = dst >> 1;
|
||||
src = src >> 1;
|
||||
size = size << 1;
|
||||
}
|
||||
return size;
|
||||
size = min3(len, ZPCI_BOUNDARY_SIZE - offset, max);
|
||||
if (IS_ALIGNED(src, 8) && IS_ALIGNED(dst, 8) && IS_ALIGNED(size, 8))
|
||||
return size;
|
||||
|
||||
if (size >= 8)
|
||||
return 8;
|
||||
return rounddown_pow_of_two(size);
|
||||
}
|
||||
|
||||
static inline int zpci_memcpy_fromio(void *dst,
|
||||
|
|
@ -144,9 +148,9 @@ static inline int zpci_memcpy_fromio(void *dst,
|
|||
int size, rc = 0;
|
||||
|
||||
while (n > 0) {
|
||||
size = zpci_get_max_write_size((u64 __force) src,
|
||||
(u64) dst, n,
|
||||
ZPCI_MAX_READ_SIZE);
|
||||
size = zpci_get_max_io_size((u64 __force) src,
|
||||
(u64) dst, n,
|
||||
ZPCI_MAX_READ_SIZE);
|
||||
rc = zpci_read_single(dst, src, size);
|
||||
if (rc)
|
||||
break;
|
||||
|
|
@ -166,9 +170,9 @@ static inline int zpci_memcpy_toio(volatile void __iomem *dst,
|
|||
return -EINVAL;
|
||||
|
||||
while (n > 0) {
|
||||
size = zpci_get_max_write_size((u64 __force) dst,
|
||||
(u64) src, n,
|
||||
ZPCI_MAX_WRITE_SIZE);
|
||||
size = zpci_get_max_io_size((u64 __force) dst,
|
||||
(u64) src, n,
|
||||
ZPCI_MAX_WRITE_SIZE);
|
||||
if (size > 8) /* main path */
|
||||
rc = zpci_write_block(dst, src, size);
|
||||
else
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
/*
|
||||
* Performance event support for s390x - CPU-measurement Counter Facility
|
||||
*
|
||||
* Copyright IBM Corp. 2012, 2021
|
||||
* Copyright IBM Corp. 2012, 2022
|
||||
* Author(s): Hendrik Brueckner <brueckner@linux.ibm.com>
|
||||
* Thomas Richter <tmricht@linux.ibm.com>
|
||||
*/
|
||||
|
|
@ -434,6 +434,12 @@ static void cpumf_hw_inuse(void)
|
|||
mutex_unlock(&pmc_reserve_mutex);
|
||||
}
|
||||
|
||||
static int is_userspace_event(u64 ev)
|
||||
{
|
||||
return cpumf_generic_events_user[PERF_COUNT_HW_CPU_CYCLES] == ev ||
|
||||
cpumf_generic_events_user[PERF_COUNT_HW_INSTRUCTIONS] == ev;
|
||||
}
|
||||
|
||||
static int __hw_perf_event_init(struct perf_event *event, unsigned int type)
|
||||
{
|
||||
struct perf_event_attr *attr = &event->attr;
|
||||
|
|
@ -456,19 +462,26 @@ static int __hw_perf_event_init(struct perf_event *event, unsigned int type)
|
|||
if (is_sampling_event(event)) /* No sampling support */
|
||||
return -ENOENT;
|
||||
ev = attr->config;
|
||||
/* Count user space (problem-state) only */
|
||||
if (!attr->exclude_user && attr->exclude_kernel) {
|
||||
if (ev >= ARRAY_SIZE(cpumf_generic_events_user))
|
||||
return -EOPNOTSUPP;
|
||||
ev = cpumf_generic_events_user[ev];
|
||||
|
||||
/* No support for kernel space counters only */
|
||||
/*
|
||||
* Count user space (problem-state) only
|
||||
* Handle events 32 and 33 as 0:u and 1:u
|
||||
*/
|
||||
if (!is_userspace_event(ev)) {
|
||||
if (ev >= ARRAY_SIZE(cpumf_generic_events_user))
|
||||
return -EOPNOTSUPP;
|
||||
ev = cpumf_generic_events_user[ev];
|
||||
}
|
||||
} else if (!attr->exclude_kernel && attr->exclude_user) {
|
||||
/* No support for kernel space counters only */
|
||||
return -EOPNOTSUPP;
|
||||
} else { /* Count user and kernel space */
|
||||
if (ev >= ARRAY_SIZE(cpumf_generic_events_basic))
|
||||
return -EOPNOTSUPP;
|
||||
ev = cpumf_generic_events_basic[ev];
|
||||
} else {
|
||||
/* Count user and kernel space, incl. events 32 + 33 */
|
||||
if (!is_userspace_event(ev)) {
|
||||
if (ev >= ARRAY_SIZE(cpumf_generic_events_basic))
|
||||
return -EOPNOTSUPP;
|
||||
ev = cpumf_generic_events_basic[ev];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include <linux/list.h>
|
||||
#include <linux/hugetlb.h>
|
||||
#include <linux/slab.h>
|
||||
#include <asm/page-states.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/nospec-branch.h>
|
||||
#include <asm/pgalloc.h>
|
||||
|
|
@ -44,8 +45,11 @@ void *vmem_crst_alloc(unsigned long val)
|
|||
unsigned long *table;
|
||||
|
||||
table = vmem_alloc_pages(CRST_ALLOC_ORDER);
|
||||
if (table)
|
||||
crst_table_init(table, val);
|
||||
if (!table)
|
||||
return NULL;
|
||||
crst_table_init(table, val);
|
||||
if (slab_is_available())
|
||||
arch_set_page_dat(virt_to_page(table), CRST_ALLOC_ORDER);
|
||||
return table;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -97,9 +97,9 @@ static inline int __memcpy_toio_inuser(void __iomem *dst,
|
|||
return -EINVAL;
|
||||
|
||||
while (n > 0) {
|
||||
size = zpci_get_max_write_size((u64 __force) dst,
|
||||
(u64 __force) src, n,
|
||||
ZPCI_MAX_WRITE_SIZE);
|
||||
size = zpci_get_max_io_size((u64 __force) dst,
|
||||
(u64 __force) src, n,
|
||||
ZPCI_MAX_WRITE_SIZE);
|
||||
if (size > 8) /* main path */
|
||||
rc = __pcistb_mio_inuser(dst, src, size, &status);
|
||||
else
|
||||
|
|
@ -242,9 +242,9 @@ static inline int __memcpy_fromio_inuser(void __user *dst,
|
|||
u8 status;
|
||||
|
||||
while (n > 0) {
|
||||
size = zpci_get_max_write_size((u64 __force) src,
|
||||
(u64 __force) dst, n,
|
||||
ZPCI_MAX_READ_SIZE);
|
||||
size = zpci_get_max_io_size((u64 __force) src,
|
||||
(u64 __force) dst, n,
|
||||
ZPCI_MAX_READ_SIZE);
|
||||
rc = __pcilg_mio_inuser(dst, src, size, &status);
|
||||
if (rc)
|
||||
break;
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue