mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 02:21:52 +09:00
Merge tag 'android14-6.1.129_r00' into android14-6.1
This merges the android14-6.1.129_r00 tag into the android14-6.1 branch, catching it up with the latest LTS releases. It contains the following commits: *1bc4f0dcdcMerge 6.1.129 into android14-6.1-lts |\ | *3a83585836Linux 6.1.129 | *25ffe92294x86/i8253: Disable PIT timer 0 when not in use | *552e7938b4drm/amd/display: Add NULL pointer check for kzalloc | *f81302decdf2fs: fix to wait dio completion | *1dc81fbe69ARM: dts: dra7: Add bus_dma_limit for l4 cfg bus | *43590d25d6selftests: rtnetlink: update netdevsim ipsec output format | *ab2121f9e7netdevsim: print human readable IP address | *9e9953f5e4net: dsa: fix netdev_priv() dereference before check on non-DSA netdevice events | *55742de2cdparport_pc: add support for ASIX AX99100 | *06c3423c62serial: 8250_pci: add support for ASIX AX99100 * |5c2815ea50Revert "cgroup: fix race between fork and cgroup.kill" * |f082ff3de7Merge0264d6b73e("can: ems_pci: move ASIX AX99100 ids to pci_ids.h") into android14-6.1-lts |\| | *0264d6b73ecan: ems_pci: move ASIX AX99100 ids to pci_ids.h | *58c27fa7a6nilfs2: protect access to buffers with no active references | *1929673702nilfs2: do not force clear folio if buffer is referenced | *217114cf30nilfs2: do not output warnings when clearing dirty buffers | *2a21bad996i3c: master: cdns: Fix use after free vulnerability in cdns_i3c_master Driver Due to Race Condition | *731fd4b06calpha: replace hardcoded stack offsets with autogenerated ones | *c986a5fb15mm: gup: fix infinite loop within __get_longterm_locked | *5b2608b5cfarm64: tegra: Fix typo in Tegra234 dce-fabric compatible | *6325eab6c1iommu: Return right value in iommu_sva_bind_device() | *e43e2461abx86/static-call: Remove early_boot_irqs_disabled check to fix Xen PVH dom0 | *8255da6dd4kdb: Do not assume write() callback available | *95036d4c01drm/v3d: Stop active perfmon if it is being destroyed | *042eebaed4drm/tidss: Clear the interrupt status for interrupts being disabled | *43a54105afdrm/tidss: Fix issue in irq handling causing irq-flood issue | *e8af3632a7ipv6: mcast: add RCU protection to mld_newpack() | *a9319d800bndisc: extend RCU protection in ndisc_send_skb() | *7e01abc34eopenvswitch: use RCU protection in ovs_vport_cmd_fill_info() | *f189654459arp: use RCU protection in arp_xmit() | *784eb23762neighbour: use RCU protection in __neigh_notify() | *9b4d091de5neighbour: delete redundant judgment statements | *3c2d705f5andisc: use RCU protection in ndisc_alloc_skb() | *84212387caipv6: use RCU protection in ip6_default_advmss() | *d13d8a3486flow_dissector: use RCU protection to fetch dev_net() | *85a1d9b0b4ipv4: icmp: convert to dev_net_rcu() | *ea07480b23ipv4: use RCU protection in __ip_rt_update_pmtu() | *b1f7bdee57net: ipv4: Cache pmtu for all packet paths if multipath enabled | *2e0b96d8edipv4: use RCU protection in inet_select_addr() | *ba1848b75dipv4: use RCU protection in rt_is_expired() | *ffd8bed1b4ipv4: use RCU protection in ipv4_default_advmss() | *e2b01044d9net: add dev_net_rcu() helper | *7bafb66f54net: treat possible_net_t net pointer as an RCU one and add read_pnet_rcu() | *23dca5be79ipv4: add RCU protection to ip4_dst_hoplimit() | *852805b6cbclocksource: Use migrate_disable() to avoid calling get_random_u32() in atomic context | *0bebe3e832clocksource: Use pr_info() for "Checking clocksource synchronization" message | *791d0082c1btrfs: fix hole expansion when writing at an offset beyond EOF | *e190ae6413mlxsw: Add return value check for mlxsw_sp_port_get_stats_raw() | *6888e6835bmmc: mtk-sd: Fix register settings for hs400(es) mode | *4e5a36ab66arm64: Handle .ARM.attributes section in linker scripts | *285f023740regmap-irq: Add missing kfree() | *27a39d006fpartitions: mac: fix handling of bogus partition table | *1819802e29gpio: stmpe: Check return value of stmpe_reg_read in stmpe_gpio_irq_sync_unlock | *4e3a60429agpiolib: acpi: Add a quirk for Acer Nitro ANV14 | *6b67893e34alpha: align stack for page fault and user unaligned trap handlers | *d470522c59serial: 8250: Fix fifo underflow on flush | *28e51dd4f2cgroup: fix race between fork and cgroup.kill | *d7c1901476efi: Avoid cold plugged memory for placing the kernel | *17d24ff755alpha: make stack 16-byte aligned (most cases) | *44218221b6can: j1939: j1939_sk_send_loop(): fix unable to send messages with data length zero | *d79de85b48can: c_can: fix unbalanced runtime PM disable in error path | *84b9ac5997can: ctucanfd: handle skb allocation failure | *ba105f7a64USB: serial: option: drop MeiG Smart defines | *aedb158645USB: serial: option: fix Telit Cinterion FN990A name | *ae25e7c2cbUSB: serial: option: add Telit Cinterion FN990B compositions | *4f87d7a63eUSB: serial: option: add MeiG Smart SLM828 | *8ca7d88413usb: cdc-acm: Fix handling of oversized fragments | *7828e9363ausb: cdc-acm: Check control transfer buffer size before access | *fd128ae741USB: cdc-acm: Fill in Renesas R-Car D3 USB Download mode quirk | *c3720b04dfUSB: hub: Ignore non-compliant devices with too many configs or interfaces | *9f6860a9c1usb: gadget: f_midi: fix MIDI Streaming descriptor lengths | *e90b0bc51eUSB: Add USB_QUIRK_NO_LPM quirk for sony xperia xz1 smartphone | *0ac7f61304USB: quirks: add USB_QUIRK_NO_LPM quirk for Teclast dist | *f7e2ded996usb: core: fix pipe creation for get_bMaxPacketSize0 | *d8490c57b6USB: pci-quirks: Fix HCCPARAMS register error for LS7A EHCI | *d6a9106afbusb: dwc2: gadget: remove of_node reference upon udc_stop | *74af18a747usb: gadget: udc: renesas_usb3: Fix compiler warning * |12b82de534Mergedb8686b24a("usb: roles: set switch registered flag early on") into android14-6.1-lts |\| | *db8686b24ausb: roles: set switch registered flag early on * |897e9179ddRevert "of: reserved-memory: Fix using wrong number of cells to get property 'alignment'" * |97c6e8c639Revert "pps: Fix a use-after-free" * |1a79d14d69Mergea298df1bbe("usb: dwc3: Fix timeout issue during controller enter/exit from halt state") into android14-6.1-lts |\| | *a298df1bbeusb: dwc3: Fix timeout issue during controller enter/exit from halt state | *d00438789bperf/x86/intel: Ensure LBRs are disabled when a CPU is starting | *0105b41790KVM: nSVM: Enter guest mode before initializing nested NPT MMU | *5393cf2231KVM: x86: Reject Hyper-V's SEND_IPI hypercalls if local APIC isn't in-kernel | *3484ea3315drm/amdgpu: avoid buffer overflow attach in smu_sys_set_pp_table() | *781a06fd26batman-adv: Drop unmanaged ELP metric worker | *792a14c90dbatman-adv: Ignore neighbor throughput metrics in error case | *7eb5dd2016batman-adv: fix panic during interface removal | *40336ad6ecASoC: Intel: bytcr_rt5640: Add DMI quirk for Vexia Edu Atla 10 tablet 5V | *1da2697307orangefs: fix a oob in orangefs_debug_write | *b47002ed65x86/mm/tlb: Only trim the mm_cpumask once a second | *04bac40ad5selftests: gpio: gpio-sim: Fix missing chip disablements | *0db813696dGrab mm lock before grabbing pt lock | *f601bb7d53vfio/pci: Enable iowrite64 and ioread64 for vfio pci | *8b1d868376rtla/timerlat_top: Abort event processing on second signal | *bb38fcfa38rtla/timerlat_hist: Abort event processing on second signal | *5e7b6e4446scsi: ufs: bsg: Set bsg_queue to NULL after removal | *e86cc66b10PCI: switchtec: Add Microchip PCI100X device IDs | *d2eb7e8732PCI/DPC: Quirk PIO log size for Intel Raptor Lake-P | *86307e443cmedia: vidtv: Fix a null-ptr-deref in vidtv_mux_stop_thread | *a4dd6fc7efmedia: cxd2841er: fix 64-bit division on gcc-9 | *7bbbd311ddfbdev: omap: use threaded IRQ for LCD DMA | *b9c5fb0739RDMA/efa: Reset device on probe failure | *ca2701997cx86/xen: allow larger contiguous memory regions in PV guests | *7a32e55815xen: remove a confusing comment on auto-translated guest I/O | *099606a7b2xen/swiotlb: relax alignment requirements | *6edce95922gpio: bcm-kona: Add missing newline to dev_err format string | *1c1b7260c9gpio: bcm-kona: Make sure GPIO bits are unlocked when requesting IRQ | *a6d8655b9cgpio: bcm-kona: Fix GPIO lock/unlock for banks above bank 0 | *fae3c2825ddrm/i915/selftests: avoid using uninitialized context | *99354bc51ccgroup: Remove steal time from usage_usec | *4ff25f0b18arm64: cacheinfo: Avoid out-of-bounds write to cacheinfo array | *4512482e48team: better TEAM_OPTION_TYPE_STRING validation | *79aea5e551vxlan: check vxlan_vnigroup_init() return value | *c7574740bevrf: use RCU protection in l3mdev_l3_out() | *d77570ae43ndisc: ndisc_send_redirect() must use dev_get_by_index_rcu() | *90056ece99ax25: Fix refcount leak caused by setting SO_BINDTODEVICE sockopt | *436f48c864HID: hid-thrustmaster: fix stack-out-of-bounds read in usb_check_int_endpoints() | *4e7113f591HID: multitouch: Add NULL check in mt_input_configured | *457bdeffcapinctrl: cy8c95x0: Respect IRQ trigger settings from firmware | *38d345f612NFSD: fix hang in nfsd4_shutdown_callback | *2e59b2b687nfsd: clear acl_access/acl_default after releasing them | *0c7ba1d65cbtrfs: avoid monopolizing a core when activating a swap file | *8c481939fbRevert "btrfs: avoid monopolizing a core when activating a swap file" | *91932db1d9pps: Fix a use-after-free * |43908d99f2Merge09b288fb7f("maple_tree: simplify split calculation") into android14-6.1-lts |\| | *09b288fb7fmaple_tree: simplify split calculation | *c4720d0490maple_tree: fix static analyser cppcheck issue | *de5bd24197tty: xilinx_uartps: split sysrq handling | *b740d3c3cbmptcp: prevent excessive coalescing on receive | *22b0734c94mptcp: pm: only set fullmesh for subflow endp | *d6bba3ece9cachefiles: Fix NULL pointer dereference in object->file | *918cf2616aocfs2: check dir i_size in ocfs2_find_entry | *b880f21f61gpio: xilinx: remove excess kernel doc | *846d74f329net/ncsi: use dev_set_mac_address() for Get MC MAC Address handling | *ba26606471MIPS: ftrace: Declare ftrace_get_parent_ra_addr() as static | *58d38d3245io_uring/rw: commit provided buffer state on async | *a1b17713b3io_uring: fix io_req_prep_async with provided buffers | *233b210a67io_uring: fix multishots with selected buffers | *30ab0f6c90rtc: zynqmp: Fix optional clock name property | *5d1041c76dptp: Ensure info->enable callback is always set | *cd78038467pinctrl: samsung: fix fwnode refcount cleanup if platform_get_irq_optional() fails | *3b88ea45a6rtla/timerlat_top: Stop timerlat tracer on signal | *b854ac0024rtla/timerlat_hist: Stop timerlat tracer on signal | *6074e23dedrtla: Add trace_instance_stop | *463c1d66c0rtla/osnoise: Distinguish missing workload option | *220b4a9012net: phy: c45-tjaxx: add delay between MDIO write and read in soft_reset | *9dc1a3404cnet/ncsi: wait for the last response to Deselect Package before configuring channel * |ed4c442cd6Mergec56ba3ea8e("misc: fastrpc: Fix copy buffer page size") into android14-6.1-lts |\| | *c56ba3ea8emisc: fastrpc: Fix copy buffer page size | *9c37be4abfmisc: fastrpc: Fix registered buffer page address | *894efd31d0misc: fastrpc: Deregister device nodes properly in error scenarios | *e56db83b32mtd: onenand: Fix uninitialized retlen in do_otp_read() | *2e432c8948irqchip/apple-aic: Only handle PMC interrupt as FIQ when configured so | *3faa17654di3c: master: Fix missing 'ret' assignment in set_speed() | *d5a461c315NFC: nci: Add bounds checking in nci_hci_create_pipe() | *3d725abdfdmailbox: tegra-hsp: Clear mailbox before using message | *f3d80f34f5nilfs2: fix possible int overflows in nilfs_fiemap() | *6e143eb4abocfs2: handle a symlink read error correctly | *fc477506c5ocfs2: fix incorrect CPU endianness conversion causing mount failure | *f8e05df84bpnfs/flexfiles: retry getting layout segment for reads | *805bf50521selftests: mptcp: connect: -f: no reconnect | *1485932496vfio/platform: check the bounds of read/write syscalls | *5688ad8098io_uring/net: don't retry connect operation on EPOLLERR | *66d90453b4nvmem: core: improve range check for nvmem_cell_write() | *573d939d61nvmem: qcom-spmi-sdam: Set size in struct nvmem_config | *5d5b673b4dcrypto: qce - unregister previously registered algos in error path | *480546e656crypto: qce - fix goto jump in error path | *a8f8cf8705ata: libata-sff: Ensure that we cannot write outside the allocated buffer | *6582174806mm: kmemleak: fix upper boundary check for physical address objects | *bf7c1d3b69media: uvcvideo: Remove redundant NULL assignment | *e5799a44c5media: uvcvideo: Fix event flags in uvc_ctrl_send_events | *26f7a4767cmedia: ccs: Fix cleanup order in ccs_probe() | *33da7da2c5media: ccs: Fix CCS static data parsing for large block sizes | *2e33ca528dmedia: ov5640: fix get_light_freq on auto | *2818d755e6media: mc: fix endpoint iteration | *bb58ccba1fsoc: qcom: smem_state: fix missing of_node_put in error path | *71c3926459iio: light: as73211: fix channel handling in only-color triggered buffer | *07bca7b592media: ccs: Clean up parsed CCS static data on parse failure | *621b80eb88kfence: skip __GFP_THISNODE allocations on NUMA systems | *aa2ed4ee8drv: Reset per-task monitors also for idle tasks | *fc440b631aACPI: PRM: Remove unnecessary strict handler address checks | *48baba96aexfs: Add error handling for xfs_reflink_cancel_cow_range | *95e1bd05daarm64: tegra: Disable Tegra234 sce-fabric node | *b2eb8ceab5crypto: qce - fix priority to be less than ARMv8 CE | *2355c1bdf1arm64: dts: qcom: sm8450: Fix MPSS memory length | *14035ff0b0arm64: dts: qcom: sm8350: Fix MPSS memory length | *d645891777arm64: dts: qcom: sm6350: Fix MPSS memory length | *d867750edbarm64: dts: qcom: sm6350: Fix ADSP memory length | *0f82f6f155x86/boot: Use '-std=gnu11' to fix build with GCC 15 | *e24fc5b7bckbuild: Move -Wenum-enum-conversion to W=2 | *db2f0cc2e9scsi: storvsc: Set correct data length for sending SCSI command without payload | *57c029cab0scsi: qla2xxx: Move FCE Trace buffer allocation to user control | *e1caac0036nvme-pci: Add TUXEDO IBP Gen9 to Samsung sleep quirk | *e2d8d55309nvme-pci: Add TUXEDO InfinityFlex to Samsung sleep quirk | *f51027ed9bPCI: endpoint: Finish virtual EP removal in pci_epf_remove_vepf() | *490b3a30aaarm64: tegra: Fix Tegra234 PCIe interrupt-map | *d26408df0eALSA: hda: Fix headset detection failure due to unstable sort | *e83b3f494aALSA: hda/realtek: Enable headset mic on Positivo C6400 | *996ca83c46Revert "media: uvcvideo: Require entities to have a non-zero unique ID" | *6c26619effblock: don't revert iter for -EIOCBQUEUED | *b0dd4a661cmips/math-emu: fix emulation of the prefx instruction | *7428e565c4dm-crypt: track tag_offset in convert_context | *eaf019088cdm-crypt: don't update io->sector after kcryptd_crypt_write_io_submit() | *3a43f1d99bpowerpc/pseries/eeh: Fix get PE state translation | *b5a3ec35c7MIPS: Loongson64: remove ROM Size unit in boardinfo | *77c97ed7c8serial: sh-sci: Do not probe the serial port if its slot in sci_ports[] is in use | *cf174b3c1bserial: sh-sci: Drop __initdata macro for port_cfg | *9c88b3a3fasoc: qcom: socinfo: Avoid out of bounds read of serial number | *cf016dfd20ASoC: acp: Support microphone from Lenovo Go S * |590a924310Mergebde2043174("usb: gadget: f_tcm: Don't prepare BOT write request twice") into android14-6.1-lts |\| | *bde2043174usb: gadget: f_tcm: Don't prepare BOT write request twice | *c38aea9f67usb: gadget: f_tcm: ep_autoconfig with fullspeed endpoint | *c686d44fe4usb: gadget: f_tcm: Decrement command ref count on cleanup | *ff42148e63usb: gadget: f_tcm: Translate error to sense | *4e51d6d093wifi: brcmfmac: fix NULL pointer dereference in brcmf_txfinalize() | *5c34c430c0wifi: rtlwifi: rtl8821ae: Fix media status report | *855be3006fHID: hid-sensor-hub: don't use stale platform-data on remove | *0e83ec8c8eof: reserved-memory: Fix using wrong number of cells to get property 'alignment' | *0515b1a75fof: Fix of_find_node_opts_by_path() handling of alias+path+options * |028c8a63f1Merged8d6db8e98("of: Correct child specifier used as input of the 2nd nexus node") into android14-6.1-lts |\| | *d8d6db8e98of: Correct child specifier used as input of the 2nd nexus node | *92a3de55cfscsi: ufs: core: Fix the HIGH/LOW_TEMP Bit Definitions | *92ca4f40f6efi: libstub: Use '-std=gnu11' to fix build with GCC 15 | *431b6ef271blk-cgroup: Fix class @block_class's subsystem refcount leakage * |aa28806b5bMerge99bf7c8414("clk: qcom: clk-rpmh: prevent integer overflow in recalc_rate") into android14-6.1-lts |\| | *99bf7c8414clk: qcom: clk-rpmh: prevent integer overflow in recalc_rate | *abfc191797clk: qcom: gcc-mdm9607: Fix cmd_rcgr offset for blsp1_uart6 rcg | *3daca90508clk: qcom: dispcc-sm6350: Add missing parent_map for a clock | *39336edd14clk: qcom: gcc-sm6350: Add missing parent_map for two clocks | *d2331d5250clk: qcom: clk-alpha-pll: fix alpha mode configuration | *60a2399cceclk: sunxi-ng: a100: enable MMC clock reparenting * |0a07f883ceMerge7a58944173("Bluetooth: L2CAP: accept zero as a special value for MTU auto-selection") into android14-6.1-lts |\| | *7a58944173Bluetooth: L2CAP: accept zero as a special value for MTU auto-selection | *297ce7f544Bluetooth: L2CAP: handle NULL sock pointer in l2cap_sock_alloc | *081ae90cb4drm/i915: Drop 64bpp YUV formats from ICL+ SDR planes | *17f556e542drm/komeda: Add check for komeda_get_layer_fourcc_list() | *3c81bcf663drm/i915/guc: Debug print LRC state entries only if the context is pinned * |15e832da23Merge915697c2e6("Revert "drm/amd/display: Use HW lock mgr for PSR1"") into android14-6.1-lts |\| | *915697c2e6Revert "drm/amd/display: Use HW lock mgr for PSR1" | *4901639380drm/amd/pm: Mark MM activity as unsupported | *760568c1f6ksmbd: fix integer overflows on 32 bit systems | *7805d1e745KVM: s390: vsie: fix some corner-cases when grabbing vsie pages | *d817e51066KVM: Explicitly verify target vCPU is online in kvm_get_vcpu() * |f967d1da0eMerge27cf74b92e("arm64: dts: rockchip: increase gmac rx_delay on rk3399-puma") into android14-6.1-lts |\| | *27cf74b92earm64: dts: rockchip: increase gmac rx_delay on rk3399-puma | *43f19483addrm/rockchip: cdn-dp: Use drm_connector_helper_hpd_irq_event() | *95506c7f33binfmt_flat: Fix integer overflow bug on 32 bit systems | *e999c3020afs/proc: do_task_stat: Fix ESP not readable during coredump | *b6cbef573cm68k: vga: Fix I/O defines | *2eb70a0b5bs390/futex: Fix FUTEX_OP_ANDN implementation | *7879a3e54csmb: client: change lease epoch type from unsigned int to __u16 | *c6b9eaeff4drm/modeset: Handle tiled displays in pan_display_atomic. | *aab59f1ca9ALSA: hda/realtek: Enable Mute LED on HP Laptop 14s-fq1xxx | *cd413f57e8leds: lp8860: Write full EEPROM, not only half of it | *4e46560fa3cpufreq: s3c64xx: Fix compilation warning | *24d7e1f9canet: sched: Fix truncation of offloaded action statistics | *2750159f52tun: revert fix group permission check | *7b79ca9a1dnetem: Update sch->q.qlen before qdisc_tree_reduce_backlog() | *7998880cb4ACPI: property: Fix return value for nval == 0 in acpi_data_prop_read() | *64934b8b8ex86/xen: add FRAME_END to xen_hypercall_hvm() | *522d726824x86/xen: fix xen_hypercall_hvm() to not clobber %rbx | *667f61b349net: rose: lock the socket in rose_bind() | *177c1b5246net: atlantic: fix warning during hot unplug | *3d3cce89aegpio: pca953x: Improve interrupt support | *1b87044469udp: gso: do not drop small packets when PMTU reduces | *fe466eeef3tg3: Disable tg3 PCIe AER on system reboot | *f8f7d4d16fgpu: drm_dp_cec: fix broken CEC adapter properties check | *8890f690c5firmware: iscsi_ibft: fix ISCSI_IBFT Kconfig entry | *7b5aafd195nvme: handle connectivity loss in nvme_set_queue_count | *99b549bba1xfs: don't over-report free space or inodes in statvfs | *d7d9c694d3xfs: report realtime block quota limits on realtime directories | *f0ed2d0abcgpio: xilinx: Convert gpio_lock to raw spinlock | *39255cac80gpio: xilinx: Convert to immutable irq_chip | *b0a199accfnet/ncsi: fix locking in Get MAC Address handling | *ae0cd71988net/ncsi: Add NC-SI 1.2 Get MC MAC Address command | *7ae96eba35usb: chipidea: ci_hdrc_imx: decrement device's refcount in .remove() and in the error path of .probe() | *b2757f2523usb: chipidea/ci_hdrc_imx: Convert to platform remove callback returning void | *bce6adebc9KVM: e500: always restore irqs | *deead14da7KVM: PPC: e500: Use __kvm_faultin_pfn() to handle page faults | *d2004572fcKVM: PPC: e500: Mark "struct page" pfn accessed before dropping mmu_lock | *8b92e9cc04KVM: PPC: e500: Mark "struct page" dirty in kvmppc_e500_shadow_map() | *86aca3233fplatform/x86: acer-wmi: Ignore AC events | *28c35589a5Input: allocate keycode for phone linking | *6d65d560c0ASoC: amd: Add ACPI dependency to fix build error | *b65ba76830ASoC: soc-pcm: don't use soc_pcm_ret() on .prepare callback | *4f8b210823platform/x86: int3472: Check for adev == NULL * |a3fdfc6e1cANDROID: GKI: virtual_device: add __drm_atomic_helper_plane_duplicate_state to the symbol list * |96d435eb13Revert "exec: fix up /proc/pid/comm in the execveat(AT_EMPTY_PATH) case" * |ac6e319e7cMergeb3847b6622("iommu/arm-smmu-v3: Clean up more on probe failure") into android14-6.1-lts |\| | *b3847b6622iommu/arm-smmu-v3: Clean up more on probe failure | *6821918f45x86/kexec: Allocate PGD for x86_64 transition page tables separately | *14fc53fb25selftests/net/ipsec: Fix Null pointer dereference in rtattr_pack() | *5328b25bbdtipc: re-order conditions in tipc_crypto_key_rcv() | *3a78d7c76bmmc: sdhci-msm: Correctly set the load for the regulator | *0b5ccf9a4enet: wwan: iosm: Fix hibernation by re-binding the driver around it | *75e65b983cBluetooth: MGMT: Fix slab-use-after-free Read in mgmt_remove_adv_monitor_sync | *87fc26b018APEI: GHES: Have GHES honor the panic= setting | *f2e5a46a27i2c: Force ELAN06FA touchpad I2C bus freq to 100KHz | *7ce13d8b59wifi: iwlwifi: avoid memory leak | *af525a8b2awifi: brcmfmac: Check the return value of of_property_read_string_index() | *67adfca904net/mlx5: use do_aux_work for PHC overflow checks | *408c7704ceHID: Wacom: Add PCI Wacom device support | *abf856bd8emfd: lpc_ich: Add another Gemini Lake ISA bridge PCI device-id | *a01c200fa7tomoyo: don't emit warning in tomoyo_write_control() | *ada9df08b3wifi: brcmsmac: add gain range check to wlc_phy_iqcal_gainparams_nphy() | *d795108824mmc: core: Respect quirk_max_rate for non-UHS SDIO card | *b2c0850a31tun: fix group permission check | *a0dec65f88safesetid: check size of policy writes | *505899fb11drm/bridge: it6505: fix HDCP CTS compare V matching | *2bdeb89b8adrm/bridge: it6505: fix HDCP encryption when R0 ready | *8c335d1441drm/bridge: it6505: fix HDCP Bstatus check | *385b842b91drm/bridge: it6505: Change definition MAX_HDCP_DOWN_STREAM_COUNT | *231ebd6ee9drm/amd/display: Fix Mode Cutoff in DSC Passthrough to DP2.1 Monitor | *9a6d43844dprintk: Fix signed integer overflow when defining LOG_BUF_LEN_MAX | *b04b69819bdrm/virtio: New fence for every plane update | *0f4fdc38f7x86/amd_nb: Restrict init function to AMD-based systems | *448c419de6lockdep: Fix upper limit for LOCKDEP_*_BITS configs | *1ebadf0c15sched: Don't try to catch up excess steal time. | *f8b7f725cabtrfs: convert BUG_ON in btrfs_reloc_cow_block() to proper error handling | *db4223632abtrfs: fix data race when accessing the inode's disk_i_size at btrfs_drop_extents() | *b45605fac3exec: fix up /proc/pid/comm in the execveat(AT_EMPTY_PATH) case | *4dcd3360bcarm64/mm: Ensure adequate HUGE_MAX_HSTATE | *6ba4663adabtrfs: fix use-after-free when attempting to join an aborted transaction | *e382b6946dpinctrl: stm32: fix array read out of bound | *62d33b9e68s390: Add '-std=gnu11' to decompressor and purgatory CFLAGS | *ce0ef98de0ptp: Properly handle compat ioctls | *ca3aa28ea6btrfs: output the reason for open_ctree() failure | *fde89fe11bmedia: imx-jpeg: Fix potential error pointer dereference in detach_pm() | *3311c5395estaging: media: max96712: fix kernel oops when removing module | *f0c33e7d38usb: gadget: f_tcm: Don't free command immediately | *9232719ac9media: uvcvideo: Fix double free in error path | *2cf54928e7remoteproc: core: Fix ida_free call while not allocated * |fd1d84ca7aRevert "mptcp: handle fastopen disconnect correctly" * |f6d414dac6Merge73e268b4be("mptcp: handle fastopen disconnect correctly") into android14-6.1-lts |\| | *73e268b4bemptcp: handle fastopen disconnect correctly * |a32de01c74Merge3b5332d416("mptcp: consolidate suboption status") into android14-6.1-lts |\| | *3b5332d416mptcp: consolidate suboption status * |44b6a8ed8fRevert "usb: typec: tcpci: Prevent Sink disconnection before vPpsShutdown in SPR PPS" * |66c6868930Merge4953207927("usb: typec: tcpci: Prevent Sink disconnection before vPpsShutdown in SPR PPS") into android14-6.1-lts |\| | *4953207927usb: typec: tcpci: Prevent Sink disconnection before vPpsShutdown in SPR PPS * |6e376e10eaMerge17d426628c("usb: typec: tcpm: set SRC_SEND_CAPABILITIES timeout to PD_T_SENDER_RESPONSE") into android14-6.1-lts |\| | *17d426628cusb: typec: tcpm: set SRC_SEND_CAPABILITIES timeout to PD_T_SENDER_RESPONSE | *64925ab46cusb: dwc3: core: Defer the probe until USB power supply ready | *32814861f1usb: dwc3-am62: Fix an OF node leak in phy_syscon_pll_refclk() * |11cb0c5d29Merge2c3e83538f("usb: gadget: f_tcm: Fix Get/SetInterface return value") into android14-6.1-lts |\| | *2c3e83538fusb: gadget: f_tcm: Fix Get/SetInterface return value * |c6490faa0aMerge93a56dbe12("drivers/card_reader/rtsx_usb: Restore interrupt based detection") into android14-6.1-lts |\| | *93a56dbe12drivers/card_reader/rtsx_usb: Restore interrupt based detection | *4ff18870afusb: xhci: Fix NULL pointer dereference on certain command aborts * |9fb90380c1Mergee10b392a74("net: usb: rtl8150: enable basic endpoint checking") into android14-6.1-lts |\| | *e10b392a74net: usb: rtl8150: enable basic endpoint checking | *485997cc74ALSA: usb-audio: Add delay quirk for iBasso DC07 Pro | *2d0ce53755ktest.pl: Check kernelrelease return in get_version | *df948b5ba6drm/amd/display: fix double free issue during amdgpu module unload | *2e44c96083nvme: fix metadata handling in nvme-passthrough | *2ac254343dnetfilter: nf_tables: reject mismatching sum of field_len with set key length | *256a57b2f7kbuild: switch from lz4c to lz4 for compression | *386aca2053NFSD: Reset cb_seq_status after NFS4ERR_DELAY | *de605097ebf2fs: Introduce linear search for dentries | *9a1889f5fehexagon: Fix unbalanced spinlock in die() | *1803219423hexagon: fix using plain integer as NULL pointer warning in cmpxchg | *bdaa726c15kconfig: fix memory leak in sym_warn_unmet_dep() | *261bafc8bfkconfig: WERROR unmet symbol dependency | *ccc65c06b1kconfig: deduplicate code in conf_read_simple() | *d2a7e49ae2kconfig: remove unused code for S_DEF_AUTO in conf_read_simple() | *fc4f353d8fkconfig: require a space after '#' for valid input | *328e41aae2kconfig: add warn-unknown-symbols sanity check | *5aa5075b61kconfig: fix file name in warnings when loading KCONFIG_DEFCONFIG_LIST | *cd995b7eeeASoC: rockchip: i2s_tdm: Re-add the set_sysclk callback | *ff83cd07bfgenksyms: fix memory leak when the same symbol is read from *.symref file | *ce63da1e60genksyms: fix memory leak when the same symbol is added from source | *24f62cee4enet: hsr: fix fill_frame_info() regression vs VLAN packets | *ff93e43a34net: sh_eth: Fix missing rtnl lock in suspend/resume path | *d51d31057cbgmac: reduce max frame size to support just MTU 1500 | *c94ab07edcnet: davicom: fix UAF in dm9000_drv_remove | *cb1de9309avxlan: Fix uninit-value in vxlan_vnifilter_dump() | *d3c1025ed7net: netdevsim: try to close UDP port harness races | *f55c88e3canet: rose: fix timer races against user threads | *2770b2c17biavf: allow changing VLAN state without calling PF | *e7fe27d6a2PM: hibernate: Add error handling for syscore_suspend() | *57177c5f47ipmr: do not call mr_mfc_uses_dev() for unres entries | *675916b5a9net: fec: implement TSO descriptor cleanup | *796be7608agpio: mxc: remove dead code after switch to DT-only | *e876522659net: hns3: fix oops when unload drivers paralleling | *c3141c17caregulator: core: Add missing newline character | *e01b55f261ubifs: skip dumping tnc tree when zroot is null | *c72b7a474drtc: pcf85063: fix potential OOB write in PCF85063 NVMEM read | *ef0f73b174dmaengine: ti: edma: fix OF node reference leaks in edma_driver | *2739c823dcxfrm: replay: Fix the update of replay_esn->oseq_hi for GSO * |015c802557Mergead8f71d64a("tools/bootconfig: Fix the wrong format specifier") into android14-6.1-lts |\| | *ad8f71d64atools/bootconfig: Fix the wrong format specifier | *21ef9203a4NFSv4.2: mark OFFLOAD_CANCEL MOVEABLE | *6f13ade37aNFSv4.2: fix COPY_NOTIFY xdr buf size calculation | *249a19f158serial: 8250: Adjust the timeout for FIFO mode | *65c6404403module: Extend the preempt disabled section in dereference_symbol_descriptor(). | *52368b31a4ocfs2: mark dquot as inactive if failed to start trans while releasing dquot | *0baeb686a7scsi: ufs: bsg: Delete bsg_dev when setting up bsg fails | *808e6898e0scsi: mpt3sas: Set ioc->manu_pg11.EEDPTagMode directly to 1 | *22389a1974PCI: endpoint: pci-epf-test: Fix check for DMA MEMCPY test | *b5d46ca8bdPCI: epf-test: Simplify DMA support checks | *f12f548cc4PCI: endpoint: pci-epf-test: Set dma_chan_rx pointer to NULL on error | *24576899c4PCI: rcar-ep: Fix incorrect variable used when calling devm_request_mem_region() | *1dd01dc435staging: media: imx: fix OF node leak in imx_media_add_of_subdevs() | *8f18d9e6f6mtd: hyperbus: hbmc-am654: fix an OF node reference leak | *73bcd1bd3dmtd: hyperbus: hbmc-am654: Convert to platform remove callback returning void | *74a1181b78media: uvcvideo: Propagate buf->error to userspace | *dfecf44585media: camif-core: Add check for clk_enable() | *0e00f92cccmedia: mipi-csis: Add check for clk_enable() | *8fdb29ab86media: i2c: ov9282: Correct the exposure offset | *86ba95110bmedia: i2c: imx412: Add missing newline to prints | *1161aa53famedia: marvell: Add check for clk_enable() | *ee14a35b97PCI: endpoint: Destroy the EPC device in devm_pci_epc_destroy() | *fafd5f2dd7media: lmedm04: Handle errors for lme2510_int_read | *04e42c7eb3media: rc: iguanair: handle timeouts | *44d9c94b7aiommufd/iova_bitmap: Fix shift-out-of-bounds in iova_bitmap_offset_to_index() | *720653309dRDMA/rxe: Fix the warning "__rxe_cleanup+0x12c/0x170 [rdma_rxe]" | *e28b030aecefi: sysfb_efi: fix W=1 warnings when EFI is not set | *f1142d4e7aof: reserved-memory: Do not make kmemleak ignore freed address | *8b102f46eaRDMA/mlx5: Fix indirect mkey ODP page count | *5639324845fbdev: omapfb: Fix an OF node leak in dss_of_port_get_parent_device() | *df23e33009ARM: dts: mediatek: mt7623: fix IR nodename | *6d309bdcbfarm64: dts: qcom: sm8250: Fix interrupt types of camss interrupts | *63378b32d8arm64: dts: qcom: sdm845: Fix interrupt types of camss interrupts | *5aeb86d6ebdts: arm64: mediatek: mt8195: Remove MT8183 compatible for OVL | *c0f8702aa2arm64: dts: qcom: sc8280xp: Fix up remoteproc register space sizes | *5ec27cae0barm64: dts: qcom: sm8150-microsoft-surface-duo: fix typos in da7280 properties | *51a2a74941arm64: dts: qcom: sc7180-trogdor-pompom: rename 5v-choke thermal zone | *948ab28b32arm64: dts: qcom: sc7180-*: Remove thermal zone polling delays | *c2781867daarm64: dts: qcom: pm6150l: add temp sensor and thermal zone config | *4086557f09arm64: dts: qcom: sc7180-trogdor-quackingstick: add missing avee-supply | *a82c841556arm64: dts: qcom: sc7180: Drop redundant disable in mdp | *63b1a12d54arm64: dts: qcom: sc7180: Don't enable lpass clocks by default | *ba1015f03carm64: dts: qcom: sc7180-trogdor-wormdingler: use just "port" in panel | *cb33bd2d74arm64: dts: qcom: sc7180-trogdor-quackingstick: use just "port" in panel | *cd528a7e26arm64: dts: qcom: sc7180-idp: use just "port" in panel | *0260175d7darm64: dts: qcom: sc7180: Add compat qcom,sc7180-dsi-ctrl | *23571bd282arm64: dts: ti: k3-am62a: Remove duplicate GICR reg | *aedfacb103arm64: dts: ti: k3-am62: Remove duplicate GICR reg | *d91c71aa96arm64: dts: qcom: sm8450: correct sleep clock frequency | *cd0547bdfearm64: dts: qcom: sm8350: correct sleep clock frequency | *4ceac1c1cbarm64: dts: qcom: sm8250: correct sleep clock frequency | *a806d35edfarm64: dts: qcom: sm6125: correct sleep clock frequency | *c538832887arm64: dts: qcom: sc7280: correct sleep clock frequency | *7a53245d1earm64: dts: qcom: msm8994: correct sleep clock frequency | *8cc1606b03arm64: dts: qcom: msm8916: correct sleep clock frequency | *3afc22ff5earm64: dts: qcom: sm7225-fairphone-fp4: Drop extra qcom,msm-id value | *7e123a7ad5arm64: dts: qcom: msm8994: Describe USB interrupts | *c0e803316aarm64: dts: qcom: msm8996: Fix up USB3 interrupts | *220aabfba5arm64: dts: qcom: msm8996-xiaomi-gemini: Fix LP5562 LED1 reg property | *b7e29356b8arm64: dts: mediatek: mt8183-kukui-jacuzzi: Drop pp3300_panel voltage settings | *e9d07e91dememory: tegra20-emc: fix an OF node reference bug in tegra_emc_find_node_by_ram_code() | *6ac1fac004RDMA/srp: Fix error handling in srp_add_port | *8c7b8994dfarm64: dts: mediatek: mt8183: willow: Support second source touchscreen | *ec5a482257arm64: dts: mediatek: mt8183: kenzo: Support second source touchscreen | *ac8ab6287aarm64: dts: mediatek: mt8173-evb: Fix MT6397 PMIC sub-node names | *66edee0acdarm64: dts: mediatek: mt8173-elm: Fix MT6397 PMIC sub-node names | *7dc582094carm64: dts: mediatek: mt8195-demo: Drop regulator-compatible property | *f9cc68128carm64: dts: mediatek: mt8195-cherry: Drop regulator-compatible property | *61bd77ac1aarm64: dts: mediatek: mt8192-asurada: Drop regulator-compatible property | *660430ad74arm64: dts: mediatek: mt8173-elm: Drop regulator-compatible property | *382655d224arm64: dts: mediatek: mt8173-evb: Drop regulator-compatible property | *4422f452d0rdma/cxgb4: Prevent potential integer overflow on 32bit | *2d4c46ad83RDMA/mlx4: Avoid false error about access to uninitialized gids array | *f192654731arm64: dts: mediatek: mt8516: reserve 192 KiB for TF-A | *abc154b1c1arm64: dts: mediatek: mt8516: add i2c clock-div property | *67e913e65aarm64: dts: mediatek: mt8516: fix wdt irq type | *bf9b6b6c27arm64: dts: mediatek: mt8516: fix GICv2 range | *71efb31f8carm64: dts: mt8183: set DMIC one-wire mode on Damu | *aa874b5fbdARM: at91: pm: change BU Power Switch to automatic mode | *49ad06896csoc: atmel: fix device_node release in atmel_soc_device_init() | *208e102a2fsmb: client: fix oops due to unset link speed | *7000507bb0padata: avoid UAF for reorder_work | *c8c32dc774padata: add pd get/put refcnt helper | *0ae2f332cfpadata: fix UAF in padata_reorder | *6d1d30b94bALSA: hda/realtek - Fixed headphone distorted sound on Acer Aspire A115-31 laptop * |3e716b1ee2Revert "bpf: tcp: Mark bpf_load_hdr_opt() arg2 as read-write" * |9775060702Merge8f7cc7c763("bpf: tcp: Mark bpf_load_hdr_opt() arg2 as read-write") into android14-6.1-lts |\| | *8f7cc7c763bpf: tcp: Mark bpf_load_hdr_opt() arg2 as read-write * |0bc46e8fb4Mergebe42a09fe8("bpf: Send signals asynchronously if !preemptible") into android14-6.1-lts |\| | *be42a09fe8bpf: Send signals asynchronously if !preemptible | *db7b15a67fpinctrl: stm32: Add check for clk_enable() | *a8d52de0a6pinctrl: stm32: check devm_kasprintf() returned value | *1a1cfd1456pinctrl: stm32: Add check for devm_kcalloc | *75285cb2b4pinctrl: stm32: set default gpio line names using pin names * |0d704e39b1Mergee397ad3f16("ASoC: Intel: avs: Fix theoretical infinite loop") into android14-6.1-lts |\| | *e397ad3f16ASoC: Intel: avs: Fix theoretical infinite loop | *756e5e2d8bpadata: fix sysfs store callback check | *1a36117e16crypto: ixp4xx - fix OF node reference leaks in init_ixp_crypto() | *dbacf8ffedcrypto: hisilicon/sec2 - fix for aead invalid authsize | *ff1de68f69crypto: hisilicon/sec2 - fix for aead icv error | *fdc596efd7crypto: hisilicon/sec2 - optimize the error return process | *d55edbe092ktest.pl: Remove unused declarations in run_bisect_test function | *1c371a6ecdASoC: renesas: rz-ssi: Use only the proper amount of dividers | *2a0dedfc10ASoC: sun4i-spdif: Add clock multiplier settings | *c512603824libbpf: Fix segfault due to libelf functions not setting errno | *054e5c4dedtools/testing/selftests/bpf/test_tc_tunnel.sh: Fix wait for server bind | *ef3929a80alibbpf: don't adjust USDT semaphore address if .stapsdt.base addr is missing | *9bdee49ad6net/rose: prevent integer overflows in rose_setsockopt() | *25ccfe70dctcp_cubic: fix incorrect HyStart round start detection | *aea5cca681net: ethernet: ti: am65-cpsw: fix freeing IRQ in am65_cpsw_nuss_remove_tx_chns() | *8b361a1fbcnetfilter: nft_flow_offload: update tcp state flags under lock | *deda09c054net: sched: Disallow replacing of child qdisc from one parent to another | *b1cb37a31anet: avoid race between device unregistration and ethnl ops | *349bb80fa0net/mlxfw: Drop hard coded max FW flash image size | *5860abbf15net: let net.core.dev_weight always be non-zero | *a1a91f48baselftests/landlock: Fix error message | *1bd57a6e37pwm: stm32: Add check for clk_enable() | *99a549ed85clk: analogbits: Fix incorrect calculation of vco rate delta | *aa79401c91wifi: cfg80211: adjust allocation of colocated AP data | *70d5f270b4wifi: cfg80211: Handle specific BSSID in 6GHz scanning | *f53b546a1fselftests: harness: fix printing of mismatch values in __EXPECT() | *7779f75156selftests: timers: clocksource-switch: Adapt progress to kselftest framework | *86ed500813cpufreq: ACPI: Fix max-frequency computation | *24ba636b0dwifi: mt76: mt7915: fix register mapping | *fc2b9b4ea2wifi: mt76: mt7921: fix using incorrect group cipher after disconnection. | *5d60977e36wifi: mt76: mt76u_vendor_request: Do not print error messages when -EPROTO | *7d61212289landlock: Handle weird files | *f08f0d0392net/smc: fix data error when recvmsg with MSG_PEEK flag | *325624d4e5wifi: mac80211: Fix common size calculation for ML element | *dfe9a04330wifi: mac80211: prohibit deactivating all links | *03db657ab2wifi: wlcore: fix unbalanced pm_runtime calls | *434fb6a246samples/landlock: Fix possible NULL dereference in parse_path() | *fa78395d95mfd: syscon: Fix race in device_node_get_regmap() | *5481df0e05mfd: syscon: Use scoped variables with memory allocators to simplify error paths | *166fd2aa73mfd: syscon: Add of_syscon_register_regmap() API | *dd955e4215mfd: syscon: Remove extern from function prototypes * |759b090e5dMerge220883fba3("HID: hid-thrustmaster: Fix warning in thrustmaster_probe by adding endpoint check") into android14-6.1-lts |\| | *220883fba3HID: hid-thrustmaster: Fix warning in thrustmaster_probe by adding endpoint check | *2d3767d322clk: qcom: gcc-sdm845: Do not use shared clk_ops for QUPs | *9d965f4edaOPP: OF: Fix an OF node leak in _opp_add_static_v2() | *2802ed4cedax25: rcu protect dev->ax25_ptr | *7ef350ae6dregulator: of: Implement the unwind path of of_regulator_match() | *adff6ac889team: prevent adding a device which is already a team device lower | *a3fe76d73fclk: imx8mp: Fix clkout1/2 support | *1a2ac2b76ecpufreq: schedutil: Fix superfluous updates caused by need_freq_update | *78564038adpwm: stm32-lp: Add check for clk_enable() | *2d9c5a72a9inetpeer: do not get a refcount in inet_getpeer() | *557fc65e6ainetpeer: update inetpeer timestamp in inet_getpeer() | *78685e2346inetpeer: remove create argument of inet_getpeer() | *e5fcfa6262inetpeer: remove create argument of inet_getpeer_v[46]() | *ea1ea09154leds: netxbig: Fix an OF node reference leak in netxbig_leds_get_of_pdata() | *6189035dbbdt-bindings: mfd: bd71815: Fix rsense and typos | *3ea492386bcpupower: fix TSC MHz calculation | *7667661aadACPI: fan: cleanup resources in the error path of .probe() | *f5a0060987regulator: dt-bindings: mt6315: Drop regulator-compatible property | *2567d2fabbHID: multitouch: fix support for Goodix PID 0x01e9 | *24f7bf4b28wifi: rtlwifi: pci: wait for firmware loading before releasing memory | *ee0b0d7baawifi: rtlwifi: fix memory leaks and invalid access at probe error path | *283bdc0ce7wifi: rtlwifi: destroy workqueue at rtl_deinit_core | *1e39b0486cwifi: rtlwifi: remove unused check_buddy_priv | *c6181e4a77wifi: rtlwifi: remove unused dualmac control leftovers | *209315423dwifi: rtlwifi: remove unused timer and related code | *8271457a47dt-bindings: leds: class-multicolor: Fix path to color definitions | *b9f931dd34dt-bindings: mmc: controller: clarify the address-cells description | *1460ebbd48spi: zynq-qspi: Add check for clk_enable() | *35d0137305net_sched: sch_sfq: don't allow 1 packet limit | *c49ac48facnet_sched: sch_sfq: handle bigger packets | *ab3204c337net_sched: sch_sfq: annotate data-races around q->perturb_period | *ae68efdff7wifi: wcn36xx: fix channel survey memory allocation size | *27834ca53ewifi: rtlwifi: usb: fix workqueue leak when probe fails | *82beaa3b37wifi: rtlwifi: fix init_sw_vars leak when probe fails | *322052d690wifi: rtlwifi: wait for firmware loading before releasing memory | *ebe37758e2wifi: rtlwifi: rtl8192se: rise completion of firmware loading as last step | *2e1f359a34wifi: rtlwifi: do not complete firmware loading needlessly | *acc6c67d9bwifi: ath11k: Fix unexpected return buffer manager error for WCN6750/WCN6855 | *312a644503ipmi: ipmb: Add check devm_kasprintf() returned value * |ef5c5ad7dfMerge0f1719a2ba("genirq: Make handle_enforce_irqctx() unconditionally available") into android14-6.1-lts |\| | *0f1719a2bagenirq: Make handle_enforce_irqctx() unconditionally available | *1f617c4061drm/bridge: it6505: Change definition of AUX_FIFO_MAX_SIZE * |309e9dd394Revert "OPP: Rearrange entries in pm_opp.h" * |4fd8e25317Revert "OPP: Introduce dev_pm_opp_find_freq_{ceil/floor}_indexed() APIs" * |44a6d4af33Revert "OPP: Introduce dev_pm_opp_get_freq_indexed() API" * |f7d6d8d971Revert "OPP: Add dev_pm_opp_find_freq_exact_indexed()" * |6811b9303cRevert "OPP: Reuse dev_pm_opp_get_freq_indexed()" * |f7d86656caRevert "OPP: add index check to assert to avoid buffer overflow in _read_freq()" * |3e0043876dRevert "OPP: fix dev_pm_opp_find_bw_*() when bandwidth table not initialized" * |635b2890f4Merge8532fd078d("OPP: fix dev_pm_opp_find_bw_*() when bandwidth table not initialized") into android14-6.1-lts |\| | *8532fd078dOPP: fix dev_pm_opp_find_bw_*() when bandwidth table not initialized | *774dd6f0f0OPP: add index check to assert to avoid buffer overflow in _read_freq() | *e20fd4d3a4OPP: Reuse dev_pm_opp_get_freq_indexed() | *7baa59f83fOPP: Add dev_pm_opp_find_freq_exact_indexed() | *7f73098bc6OPP: Introduce dev_pm_opp_get_freq_indexed() API | *92fcb46659OPP: Introduce dev_pm_opp_find_freq_{ceil/floor}_indexed() APIs | *4dff070117OPP: Rearrange entries in pm_opp.h * |3df8fd8f21Revert "sched/psi: Use task->psi_flags to clear in CPU migration" * |0b3a7df78dRevert "sched/fair: Fix value reported by hot tasks pulled in /proc/schedstat" * |d4e5cb0cd9Merge0764df6b80("drm/rockchip: vop2: Check linear format for Cluster windows on rk3566/8") into android14-6.1-lts |\| | *0764df6b80drm/rockchip: vop2: Check linear format for Cluster windows on rk3566/8 | *a2373236e4drm/rockchip: vop2: Fix the windows switch between different layers | *12511e5dc7drm/rockchip: vop2: set bg dly and prescan dly at vop2_post_config | *df0f8301dedrm/rockchip: vop2: Set YUV/RGB overlay mode | *bc7f844e66drm/rockchip: vop2: Fix the mixer alpha setup for layer 0 | *50b24e70cedrm/rockchip: vop2: Fix cluster windows alpha ctrl regsiters offset | *ae522ad211drm/amdgpu: Fix potential NULL pointer dereference in atomctrl_get_smc_sclk_range_table | *bebf542e8dHID: core: Fix assumption that Resolution Multipliers must be in Logical Collections | *0720c5312bdrm/etnaviv: Fix page property being used for non writecombine buffers | *cd2f69b23fdrm/msm/dp: set safe_to_exit_level before printing it | *a18682ccd2sched/fair: Fix value reported by hot tasks pulled in /proc/schedstat | *371e1a0e38sched/psi: Use task->psi_flags to clear in CPU migration | *8ca3dbd974afs: Fix the fallback handling for the YFS.RemoveFile2 RPC call | *f3257a33b8select: Fix unbalanced user_access_end() | *957f7da211partitions: ldm: remove the initial kernel-doc notation | *d65454446bselftests/powerpc: Fix argument order to timer_sub() | *f09e580f94nvme: Add error check for xa_store in nvme_get_effects_log | *e90394a866pstore/blk: trivial typo fixes | *e7343fa337nbd: don't allow reconnect after disconnect | *a7da811215block: retry call probe after request_module in blk_request_module | *1d71259013fs: fix proc_handler for sysctl_nr_open | *1a443fb275afs: Fix directory format encoding struct | *b5ff136c67afs: Fix EEXIST error returned from afs_rmdir() to be ENOTEMPTY | *522ca38492powerpc/book3s64/hugetlb: Fix disabling hugetlb when fadump is active *b3026e7cefMerge branch 'android14-6.1' into android14-6.1-lts Change-Id: Icf0f2e87f08ce32ff045cc170c0f88cef5996496 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
@@ -27,7 +27,7 @@ properties:
|
||||
description: |
|
||||
For multicolor LED support this property should be defined as either
|
||||
LED_COLOR_ID_RGB or LED_COLOR_ID_MULTI which can be found in
|
||||
include/linux/leds/common.h.
|
||||
include/dt-bindings/leds/common.h.
|
||||
enum: [ 8, 9 ]
|
||||
|
||||
required:
|
||||
|
||||
@@ -50,15 +50,15 @@ properties:
|
||||
minimum: 0
|
||||
maximum: 1
|
||||
|
||||
rohm,charger-sense-resistor-ohms:
|
||||
minimum: 10000000
|
||||
maximum: 50000000
|
||||
rohm,charger-sense-resistor-micro-ohms:
|
||||
minimum: 10000
|
||||
maximum: 50000
|
||||
description: |
|
||||
BD71827 and BD71828 have SAR ADC for measuring charging currents.
|
||||
External sense resistor (RSENSE in data sheet) should be used. If
|
||||
something other but 30MOhm resistor is used the resistance value
|
||||
should be given here in Ohms.
|
||||
default: 30000000
|
||||
BD71815 has SAR ADC for measuring charging currents. External sense
|
||||
resistor (RSENSE in data sheet) should be used. If something other
|
||||
but a 30 mOhm resistor is used the resistance value should be given
|
||||
here in micro Ohms.
|
||||
default: 30000
|
||||
|
||||
regulators:
|
||||
$ref: ../regulator/rohm,bd71815-regulator.yaml
|
||||
@@ -67,7 +67,7 @@ properties:
|
||||
|
||||
gpio-reserved-ranges:
|
||||
description: |
|
||||
Usage of BD71828 GPIO pins can be changed via OTP. This property can be
|
||||
Usage of BD71815 GPIO pins can be changed via OTP. This property can be
|
||||
used to mark the pins which should not be configured for GPIO. Please see
|
||||
the ../gpio/gpio.txt for more information.
|
||||
|
||||
@@ -113,7 +113,7 @@ examples:
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
rohm,charger-sense-resistor-ohms = <10000000>;
|
||||
rohm,charger-sense-resistor-micro-ohms = <10000>;
|
||||
|
||||
regulators {
|
||||
buck1: buck1 {
|
||||
|
||||
@@ -25,7 +25,7 @@ properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
description: |
|
||||
The cell is the slot ID if a function subnode is used.
|
||||
The cell is the SDIO function number if a function subnode is used.
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
@@ -31,10 +31,6 @@ properties:
|
||||
$ref: "regulator.yaml#"
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
regulator-compatible:
|
||||
pattern: "^vbuck[1-4]$"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
@@ -52,7 +48,6 @@ examples:
|
||||
|
||||
regulators {
|
||||
vbuck1 {
|
||||
regulator-compatible = "vbuck1";
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1193750>;
|
||||
regulator-enable-ramp-delay = <256>;
|
||||
@@ -60,7 +55,6 @@ examples:
|
||||
};
|
||||
|
||||
vbuck3 {
|
||||
regulator-compatible = "vbuck3";
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1193750>;
|
||||
regulator-enable-ramp-delay = <256>;
|
||||
|
||||
@@ -54,6 +54,15 @@ KCONFIG_OVERWRITECONFIG
|
||||
If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not
|
||||
break symlinks when .config is a symlink to somewhere else.
|
||||
|
||||
KCONFIG_WARN_UNKNOWN_SYMBOLS
|
||||
----------------------------
|
||||
This environment variable makes Kconfig warn about all unrecognized
|
||||
symbols in the config input.
|
||||
|
||||
KCONFIG_WERROR
|
||||
--------------
|
||||
If set, Kconfig treats warnings as errors.
|
||||
|
||||
`CONFIG_`
|
||||
---------
|
||||
If you set `CONFIG_` in the environment, Kconfig will prefix all symbols
|
||||
|
||||
2
Makefile
2
Makefile
@@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
VERSION = 6
|
||||
PATCHLEVEL = 1
|
||||
SUBLEVEL = 128
|
||||
SUBLEVEL = 129
|
||||
EXTRAVERSION =
|
||||
NAME = Curry Ramen
|
||||
|
||||
|
||||
@@ -1089,6 +1089,7 @@
|
||||
drm_atomic_helper_dirtyfb
|
||||
drm_atomic_helper_plane_destroy_state
|
||||
drm_atomic_helper_plane_duplicate_state
|
||||
__drm_atomic_helper_plane_duplicate_state
|
||||
drm_atomic_helper_plane_reset
|
||||
drm_connector_attach_edid_property
|
||||
drm_connector_register
|
||||
|
||||
@@ -42,6 +42,8 @@ struct pt_regs {
|
||||
unsigned long trap_a0;
|
||||
unsigned long trap_a1;
|
||||
unsigned long trap_a2;
|
||||
/* This makes the stack 16-byte aligned as GCC expects */
|
||||
unsigned long __pad0;
|
||||
/* These are saved by PAL-code: */
|
||||
unsigned long ps;
|
||||
unsigned long pc;
|
||||
|
||||
@@ -32,7 +32,9 @@ void foo(void)
|
||||
DEFINE(CRED_EGID, offsetof(struct cred, egid));
|
||||
BLANK();
|
||||
|
||||
DEFINE(SP_OFF, offsetof(struct pt_regs, ps));
|
||||
DEFINE(SIZEOF_PT_REGS, sizeof(struct pt_regs));
|
||||
DEFINE(SWITCH_STACK_SIZE, sizeof(struct switch_stack));
|
||||
DEFINE(PT_PTRACED, PT_PTRACED);
|
||||
DEFINE(CLONE_VM, CLONE_VM);
|
||||
DEFINE(CLONE_UNTRACED, CLONE_UNTRACED);
|
||||
|
||||
@@ -15,10 +15,6 @@
|
||||
.set noat
|
||||
.cfi_sections .debug_frame
|
||||
|
||||
/* Stack offsets. */
|
||||
#define SP_OFF 184
|
||||
#define SWITCH_STACK_SIZE 320
|
||||
|
||||
.macro CFI_START_OSF_FRAME func
|
||||
.align 4
|
||||
.globl \func
|
||||
@@ -199,8 +195,8 @@ CFI_END_OSF_FRAME entArith
|
||||
CFI_START_OSF_FRAME entMM
|
||||
SAVE_ALL
|
||||
/* save $9 - $15 so the inline exception code can manipulate them. */
|
||||
subq $sp, 56, $sp
|
||||
.cfi_adjust_cfa_offset 56
|
||||
subq $sp, 64, $sp
|
||||
.cfi_adjust_cfa_offset 64
|
||||
stq $9, 0($sp)
|
||||
stq $10, 8($sp)
|
||||
stq $11, 16($sp)
|
||||
@@ -215,7 +211,7 @@ CFI_START_OSF_FRAME entMM
|
||||
.cfi_rel_offset $13, 32
|
||||
.cfi_rel_offset $14, 40
|
||||
.cfi_rel_offset $15, 48
|
||||
addq $sp, 56, $19
|
||||
addq $sp, 64, $19
|
||||
/* handle the fault */
|
||||
lda $8, 0x3fff
|
||||
bic $sp, $8, $8
|
||||
@@ -228,7 +224,7 @@ CFI_START_OSF_FRAME entMM
|
||||
ldq $13, 32($sp)
|
||||
ldq $14, 40($sp)
|
||||
ldq $15, 48($sp)
|
||||
addq $sp, 56, $sp
|
||||
addq $sp, 64, $sp
|
||||
.cfi_restore $9
|
||||
.cfi_restore $10
|
||||
.cfi_restore $11
|
||||
@@ -236,7 +232,7 @@ CFI_START_OSF_FRAME entMM
|
||||
.cfi_restore $13
|
||||
.cfi_restore $14
|
||||
.cfi_restore $15
|
||||
.cfi_adjust_cfa_offset -56
|
||||
.cfi_adjust_cfa_offset -64
|
||||
/* finish up the syscall as normal. */
|
||||
br ret_from_sys_call
|
||||
CFI_END_OSF_FRAME entMM
|
||||
@@ -383,8 +379,8 @@ entUnaUser:
|
||||
.cfi_restore $0
|
||||
.cfi_adjust_cfa_offset -256
|
||||
SAVE_ALL /* setup normal kernel stack */
|
||||
lda $sp, -56($sp)
|
||||
.cfi_adjust_cfa_offset 56
|
||||
lda $sp, -64($sp)
|
||||
.cfi_adjust_cfa_offset 64
|
||||
stq $9, 0($sp)
|
||||
stq $10, 8($sp)
|
||||
stq $11, 16($sp)
|
||||
@@ -400,7 +396,7 @@ entUnaUser:
|
||||
.cfi_rel_offset $14, 40
|
||||
.cfi_rel_offset $15, 48
|
||||
lda $8, 0x3fff
|
||||
addq $sp, 56, $19
|
||||
addq $sp, 64, $19
|
||||
bic $sp, $8, $8
|
||||
jsr $26, do_entUnaUser
|
||||
ldq $9, 0($sp)
|
||||
@@ -410,7 +406,7 @@ entUnaUser:
|
||||
ldq $13, 32($sp)
|
||||
ldq $14, 40($sp)
|
||||
ldq $15, 48($sp)
|
||||
lda $sp, 56($sp)
|
||||
lda $sp, 64($sp)
|
||||
.cfi_restore $9
|
||||
.cfi_restore $10
|
||||
.cfi_restore $11
|
||||
@@ -418,7 +414,7 @@ entUnaUser:
|
||||
.cfi_restore $13
|
||||
.cfi_restore $14
|
||||
.cfi_restore $15
|
||||
.cfi_adjust_cfa_offset -56
|
||||
.cfi_adjust_cfa_offset -64
|
||||
br ret_from_sys_call
|
||||
CFI_END_OSF_FRAME entUna
|
||||
|
||||
|
||||
@@ -707,7 +707,7 @@ s_reg_to_mem (unsigned long s_reg)
|
||||
static int unauser_reg_offsets[32] = {
|
||||
R(r0), R(r1), R(r2), R(r3), R(r4), R(r5), R(r6), R(r7), R(r8),
|
||||
/* r9 ... r15 are stored in front of regs. */
|
||||
-56, -48, -40, -32, -24, -16, -8,
|
||||
-64, -56, -48, -40, -32, -24, -16, /* padding at -8 */
|
||||
R(r16), R(r17), R(r18),
|
||||
R(r19), R(r20), R(r21), R(r22), R(r23), R(r24), R(r25), R(r26),
|
||||
R(r27), R(r28), R(gp),
|
||||
|
||||
@@ -78,8 +78,8 @@ __load_new_mm_context(struct mm_struct *next_mm)
|
||||
|
||||
/* Macro for exception fixup code to access integer registers. */
|
||||
#define dpf_reg(r) \
|
||||
(((unsigned long *)regs)[(r) <= 8 ? (r) : (r) <= 15 ? (r)-16 : \
|
||||
(r) <= 18 ? (r)+10 : (r)-10])
|
||||
(((unsigned long *)regs)[(r) <= 8 ? (r) : (r) <= 15 ? (r)-17 : \
|
||||
(r) <= 18 ? (r)+11 : (r)-10])
|
||||
|
||||
asmlinkage void
|
||||
do_page_fault(unsigned long address, unsigned long mmcsr,
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
ranges = <0x00000000 0x4a000000 0x100000>, /* segment 0 */
|
||||
<0x00100000 0x4a100000 0x100000>, /* segment 1 */
|
||||
<0x00200000 0x4a200000 0x100000>; /* segment 2 */
|
||||
dma-ranges;
|
||||
|
||||
segment@0 { /* 0x4a000000 */
|
||||
compatible = "simple-pm-bus";
|
||||
@@ -557,6 +558,7 @@
|
||||
<0x0007e000 0x0017e000 0x001000>, /* ap 124 */
|
||||
<0x00059000 0x00159000 0x001000>, /* ap 125 */
|
||||
<0x0005a000 0x0015a000 0x001000>; /* ap 126 */
|
||||
dma-ranges;
|
||||
|
||||
target-module@2000 { /* 0x4a102000, ap 27 3c.0 */
|
||||
compatible = "ti,sysc";
|
||||
|
||||
@@ -309,7 +309,7 @@
|
||||
clock-names = "spi", "wrap";
|
||||
};
|
||||
|
||||
cir: cir@10013000 {
|
||||
cir: ir-receiver@10013000 {
|
||||
compatible = "mediatek,mt7623-cir";
|
||||
reg = <0 0x10013000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
@@ -590,7 +590,21 @@ static int at91_suspend_finish(unsigned long val)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void at91_pm_switch_ba_to_vbat(void)
|
||||
/**
|
||||
* at91_pm_switch_ba_to_auto() - Configure Backup Unit Power Switch
|
||||
* to automatic/hardware mode.
|
||||
*
|
||||
* The Backup Unit Power Switch can be managed either by software or hardware.
|
||||
* Enabling hardware mode allows the automatic transition of power between
|
||||
* VDDANA (or VDDIN33) and VDDBU (or VBAT, respectively), based on the
|
||||
* availability of these power sources.
|
||||
*
|
||||
* If the Backup Unit Power Switch is already in automatic mode, no action is
|
||||
* required. If it is in software-controlled mode, it is switched to automatic
|
||||
* mode to enhance safety and eliminate the need for toggling between power
|
||||
* sources.
|
||||
*/
|
||||
static void at91_pm_switch_ba_to_auto(void)
|
||||
{
|
||||
unsigned int offset = offsetof(struct at91_pm_sfrbu_regs, pswbu);
|
||||
unsigned int val;
|
||||
@@ -601,24 +615,19 @@ static void at91_pm_switch_ba_to_vbat(void)
|
||||
|
||||
val = readl(soc_pm.data.sfrbu + offset);
|
||||
|
||||
/* Already on VBAT. */
|
||||
if (!(val & soc_pm.sfrbu_regs.pswbu.state))
|
||||
/* Already on auto/hardware. */
|
||||
if (!(val & soc_pm.sfrbu_regs.pswbu.ctrl))
|
||||
return;
|
||||
|
||||
val &= ~soc_pm.sfrbu_regs.pswbu.softsw;
|
||||
val |= soc_pm.sfrbu_regs.pswbu.key | soc_pm.sfrbu_regs.pswbu.ctrl;
|
||||
val &= ~soc_pm.sfrbu_regs.pswbu.ctrl;
|
||||
val |= soc_pm.sfrbu_regs.pswbu.key;
|
||||
writel(val, soc_pm.data.sfrbu + offset);
|
||||
|
||||
/* Wait for update. */
|
||||
val = readl(soc_pm.data.sfrbu + offset);
|
||||
while (val & soc_pm.sfrbu_regs.pswbu.state)
|
||||
val = readl(soc_pm.data.sfrbu + offset);
|
||||
}
|
||||
|
||||
static void at91_pm_suspend(suspend_state_t state)
|
||||
{
|
||||
if (soc_pm.data.mode == AT91_PM_BACKUP) {
|
||||
at91_pm_switch_ba_to_vbat();
|
||||
at91_pm_switch_ba_to_auto();
|
||||
|
||||
cpu_suspend(0, at91_suspend_finish);
|
||||
|
||||
|
||||
@@ -922,7 +922,7 @@
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
clock: mt6397clock {
|
||||
clock: clocks {
|
||||
compatible = "mediatek,mt6397-clk";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
@@ -934,11 +934,10 @@
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
regulator: mt6397regulator {
|
||||
regulators {
|
||||
compatible = "mediatek,mt6397-regulator";
|
||||
|
||||
mt6397_vpca15_reg: buck_vpca15 {
|
||||
regulator-compatible = "buck_vpca15";
|
||||
regulator-name = "vpca15";
|
||||
regulator-min-microvolt = < 700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
@@ -948,7 +947,6 @@
|
||||
};
|
||||
|
||||
mt6397_vpca7_reg: buck_vpca7 {
|
||||
regulator-compatible = "buck_vpca7";
|
||||
regulator-name = "vpca7";
|
||||
regulator-min-microvolt = < 700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
@@ -958,7 +956,6 @@
|
||||
};
|
||||
|
||||
mt6397_vsramca15_reg: buck_vsramca15 {
|
||||
regulator-compatible = "buck_vsramca15";
|
||||
regulator-name = "vsramca15";
|
||||
regulator-min-microvolt = < 700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
@@ -967,7 +964,6 @@
|
||||
};
|
||||
|
||||
mt6397_vsramca7_reg: buck_vsramca7 {
|
||||
regulator-compatible = "buck_vsramca7";
|
||||
regulator-name = "vsramca7";
|
||||
regulator-min-microvolt = < 700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
@@ -976,7 +972,6 @@
|
||||
};
|
||||
|
||||
mt6397_vcore_reg: buck_vcore {
|
||||
regulator-compatible = "buck_vcore";
|
||||
regulator-name = "vcore";
|
||||
regulator-min-microvolt = < 700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
@@ -985,7 +980,6 @@
|
||||
};
|
||||
|
||||
mt6397_vgpu_reg: buck_vgpu {
|
||||
regulator-compatible = "buck_vgpu";
|
||||
regulator-name = "vgpu";
|
||||
regulator-min-microvolt = < 700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
@@ -994,7 +988,6 @@
|
||||
};
|
||||
|
||||
mt6397_vdrm_reg: buck_vdrm {
|
||||
regulator-compatible = "buck_vdrm";
|
||||
regulator-name = "vdrm";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
@@ -1003,7 +996,6 @@
|
||||
};
|
||||
|
||||
mt6397_vio18_reg: buck_vio18 {
|
||||
regulator-compatible = "buck_vio18";
|
||||
regulator-name = "vio18";
|
||||
regulator-min-microvolt = <1620000>;
|
||||
regulator-max-microvolt = <1980000>;
|
||||
@@ -1012,18 +1004,15 @@
|
||||
};
|
||||
|
||||
mt6397_vtcxo_reg: ldo_vtcxo {
|
||||
regulator-compatible = "ldo_vtcxo";
|
||||
regulator-name = "vtcxo";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6397_va28_reg: ldo_va28 {
|
||||
regulator-compatible = "ldo_va28";
|
||||
regulator-name = "va28";
|
||||
};
|
||||
|
||||
mt6397_vcama_reg: ldo_vcama {
|
||||
regulator-compatible = "ldo_vcama";
|
||||
regulator-name = "vcama";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
@@ -1031,18 +1020,15 @@
|
||||
};
|
||||
|
||||
mt6397_vio28_reg: ldo_vio28 {
|
||||
regulator-compatible = "ldo_vio28";
|
||||
regulator-name = "vio28";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6397_vusb_reg: ldo_vusb {
|
||||
regulator-compatible = "ldo_vusb";
|
||||
regulator-name = "vusb";
|
||||
};
|
||||
|
||||
mt6397_vmc_reg: ldo_vmc {
|
||||
regulator-compatible = "ldo_vmc";
|
||||
regulator-name = "vmc";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -1050,7 +1036,6 @@
|
||||
};
|
||||
|
||||
mt6397_vmch_reg: ldo_vmch {
|
||||
regulator-compatible = "ldo_vmch";
|
||||
regulator-name = "vmch";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -1058,7 +1043,6 @@
|
||||
};
|
||||
|
||||
mt6397_vemc_3v3_reg: ldo_vemc3v3 {
|
||||
regulator-compatible = "ldo_vemc3v3";
|
||||
regulator-name = "vemc_3v3";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -1066,7 +1050,6 @@
|
||||
};
|
||||
|
||||
mt6397_vgp1_reg: ldo_vgp1 {
|
||||
regulator-compatible = "ldo_vgp1";
|
||||
regulator-name = "vcamd";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
@@ -1074,7 +1057,6 @@
|
||||
};
|
||||
|
||||
mt6397_vgp2_reg: ldo_vgp2 {
|
||||
regulator-compatible = "ldo_vgp2";
|
||||
regulator-name = "vcamio";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -1082,7 +1064,6 @@
|
||||
};
|
||||
|
||||
mt6397_vgp3_reg: ldo_vgp3 {
|
||||
regulator-compatible = "ldo_vgp3";
|
||||
regulator-name = "vcamaf";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
@@ -1090,7 +1071,6 @@
|
||||
};
|
||||
|
||||
mt6397_vgp4_reg: ldo_vgp4 {
|
||||
regulator-compatible = "ldo_vgp4";
|
||||
regulator-name = "vgp4";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -1098,7 +1078,6 @@
|
||||
};
|
||||
|
||||
mt6397_vgp5_reg: ldo_vgp5 {
|
||||
regulator-compatible = "ldo_vgp5";
|
||||
regulator-name = "vgp5";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
@@ -1106,7 +1085,6 @@
|
||||
};
|
||||
|
||||
mt6397_vgp6_reg: ldo_vgp6 {
|
||||
regulator-compatible = "ldo_vgp6";
|
||||
regulator-name = "vgp6";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -1115,7 +1093,6 @@
|
||||
};
|
||||
|
||||
mt6397_vibr_reg: ldo_vibr {
|
||||
regulator-compatible = "ldo_vibr";
|
||||
regulator-name = "vibr";
|
||||
regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -1123,7 +1100,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
rtc: mt6397rtc {
|
||||
rtc: rtc {
|
||||
compatible = "mediatek,mt6397-rtc";
|
||||
};
|
||||
|
||||
|
||||
@@ -307,11 +307,10 @@
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
mt6397regulator: mt6397regulator {
|
||||
regulators {
|
||||
compatible = "mediatek,mt6397-regulator";
|
||||
|
||||
mt6397_vpca15_reg: buck_vpca15 {
|
||||
regulator-compatible = "buck_vpca15";
|
||||
regulator-name = "vpca15";
|
||||
regulator-min-microvolt = < 700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
@@ -320,7 +319,6 @@
|
||||
};
|
||||
|
||||
mt6397_vpca7_reg: buck_vpca7 {
|
||||
regulator-compatible = "buck_vpca7";
|
||||
regulator-name = "vpca7";
|
||||
regulator-min-microvolt = < 700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
@@ -329,7 +327,6 @@
|
||||
};
|
||||
|
||||
mt6397_vsramca15_reg: buck_vsramca15 {
|
||||
regulator-compatible = "buck_vsramca15";
|
||||
regulator-name = "vsramca15";
|
||||
regulator-min-microvolt = < 700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
@@ -338,7 +335,6 @@
|
||||
};
|
||||
|
||||
mt6397_vsramca7_reg: buck_vsramca7 {
|
||||
regulator-compatible = "buck_vsramca7";
|
||||
regulator-name = "vsramca7";
|
||||
regulator-min-microvolt = < 700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
@@ -347,7 +343,6 @@
|
||||
};
|
||||
|
||||
mt6397_vcore_reg: buck_vcore {
|
||||
regulator-compatible = "buck_vcore";
|
||||
regulator-name = "vcore";
|
||||
regulator-min-microvolt = < 700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
@@ -356,7 +351,6 @@
|
||||
};
|
||||
|
||||
mt6397_vgpu_reg: buck_vgpu {
|
||||
regulator-compatible = "buck_vgpu";
|
||||
regulator-name = "vgpu";
|
||||
regulator-min-microvolt = < 700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
@@ -365,7 +359,6 @@
|
||||
};
|
||||
|
||||
mt6397_vdrm_reg: buck_vdrm {
|
||||
regulator-compatible = "buck_vdrm";
|
||||
regulator-name = "vdrm";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
@@ -374,7 +367,6 @@
|
||||
};
|
||||
|
||||
mt6397_vio18_reg: buck_vio18 {
|
||||
regulator-compatible = "buck_vio18";
|
||||
regulator-name = "vio18";
|
||||
regulator-min-microvolt = <1620000>;
|
||||
regulator-max-microvolt = <1980000>;
|
||||
@@ -383,19 +375,16 @@
|
||||
};
|
||||
|
||||
mt6397_vtcxo_reg: ldo_vtcxo {
|
||||
regulator-compatible = "ldo_vtcxo";
|
||||
regulator-name = "vtcxo";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6397_va28_reg: ldo_va28 {
|
||||
regulator-compatible = "ldo_va28";
|
||||
regulator-name = "va28";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6397_vcama_reg: ldo_vcama {
|
||||
regulator-compatible = "ldo_vcama";
|
||||
regulator-name = "vcama";
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
@@ -403,18 +392,15 @@
|
||||
};
|
||||
|
||||
mt6397_vio28_reg: ldo_vio28 {
|
||||
regulator-compatible = "ldo_vio28";
|
||||
regulator-name = "vio28";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6397_vusb_reg: ldo_vusb {
|
||||
regulator-compatible = "ldo_vusb";
|
||||
regulator-name = "vusb";
|
||||
};
|
||||
|
||||
mt6397_vmc_reg: ldo_vmc {
|
||||
regulator-compatible = "ldo_vmc";
|
||||
regulator-name = "vmc";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -422,7 +408,6 @@
|
||||
};
|
||||
|
||||
mt6397_vmch_reg: ldo_vmch {
|
||||
regulator-compatible = "ldo_vmch";
|
||||
regulator-name = "vmch";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -430,7 +415,6 @@
|
||||
};
|
||||
|
||||
mt6397_vemc_3v3_reg: ldo_vemc3v3 {
|
||||
regulator-compatible = "ldo_vemc3v3";
|
||||
regulator-name = "vemc_3v3";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -438,7 +422,6 @@
|
||||
};
|
||||
|
||||
mt6397_vgp1_reg: ldo_vgp1 {
|
||||
regulator-compatible = "ldo_vgp1";
|
||||
regulator-name = "vcamd";
|
||||
regulator-min-microvolt = <1220000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -446,7 +429,6 @@
|
||||
};
|
||||
|
||||
mt6397_vgp2_reg: ldo_vgp2 {
|
||||
regulator-compatible = "ldo_vgp2";
|
||||
regulator-name = "vcamio";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -454,7 +436,6 @@
|
||||
};
|
||||
|
||||
mt6397_vgp3_reg: ldo_vgp3 {
|
||||
regulator-compatible = "ldo_vgp3";
|
||||
regulator-name = "vcamaf";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -462,7 +443,6 @@
|
||||
};
|
||||
|
||||
mt6397_vgp4_reg: ldo_vgp4 {
|
||||
regulator-compatible = "ldo_vgp4";
|
||||
regulator-name = "vgp4";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -470,7 +450,6 @@
|
||||
};
|
||||
|
||||
mt6397_vgp5_reg: ldo_vgp5 {
|
||||
regulator-compatible = "ldo_vgp5";
|
||||
regulator-name = "vgp5";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
@@ -478,7 +457,6 @@
|
||||
};
|
||||
|
||||
mt6397_vgp6_reg: ldo_vgp6 {
|
||||
regulator-compatible = "ldo_vgp6";
|
||||
regulator-name = "vgp6";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
@@ -486,7 +464,6 @@
|
||||
};
|
||||
|
||||
mt6397_vibr_reg: ldo_vibr {
|
||||
regulator-compatible = "ldo_vibr";
|
||||
regulator-name = "vibr";
|
||||
regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
|
||||
@@ -26,6 +26,10 @@
|
||||
hid-descr-addr = <0x0001>;
|
||||
};
|
||||
|
||||
&mt6358codec {
|
||||
mediatek,dmic-mode = <1>; /* one-wire */
|
||||
};
|
||||
|
||||
&qca_wifi {
|
||||
qcom,ath10k-calibration-variant = "GO_DAMU";
|
||||
};
|
||||
|
||||
@@ -11,3 +11,18 @@
|
||||
model = "Google kenzo sku17 board";
|
||||
compatible = "google,juniper-sku17", "google,juniper", "mediatek,mt8183";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
touchscreen@40 {
|
||||
compatible = "hid-over-i2c";
|
||||
reg = <0x40>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&touchscreen_pins>;
|
||||
|
||||
interrupts-extended = <&pio 155 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
post-power-on-delay-ms = <70>;
|
||||
hid-descr-addr = <0x0001>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -6,6 +6,21 @@
|
||||
/dts-v1/;
|
||||
#include "mt8183-kukui-jacuzzi.dtsi"
|
||||
|
||||
&i2c0 {
|
||||
touchscreen@40 {
|
||||
compatible = "hid-over-i2c";
|
||||
reg = <0x40>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&touchscreen_pins>;
|
||||
|
||||
interrupts-extended = <&pio 155 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
post-power-on-delay-ms = <70>;
|
||||
hid-descr-addr = <0x0001>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
trackpad@2c {
|
||||
compatible = "hid-over-i2c";
|
||||
|
||||
@@ -39,8 +39,6 @@
|
||||
pp3300_panel: pp3300-panel {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "pp3300_panel";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pp3300_panel_pins>;
|
||||
|
||||
|
||||
@@ -901,7 +901,6 @@
|
||||
|
||||
regulators {
|
||||
mt6315_6_vbuck1: vbuck1 {
|
||||
regulator-compatible = "vbuck1";
|
||||
regulator-name = "Vbcpu";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1193750>;
|
||||
@@ -911,7 +910,6 @@
|
||||
};
|
||||
|
||||
mt6315_6_vbuck3: vbuck3 {
|
||||
regulator-compatible = "vbuck3";
|
||||
regulator-name = "Vlcpu";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1193750>;
|
||||
@@ -928,7 +926,6 @@
|
||||
|
||||
regulators {
|
||||
mt6315_7_vbuck1: vbuck1 {
|
||||
regulator-compatible = "vbuck1";
|
||||
regulator-name = "Vgpu";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <800000>;
|
||||
|
||||
@@ -843,7 +843,6 @@
|
||||
|
||||
regulators {
|
||||
mt6315_6_vbuck1: vbuck1 {
|
||||
regulator-compatible = "vbuck1";
|
||||
regulator-name = "Vbcpu";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1193750>;
|
||||
@@ -861,7 +860,6 @@
|
||||
|
||||
regulators {
|
||||
mt6315_7_vbuck1: vbuck1 {
|
||||
regulator-compatible = "vbuck1";
|
||||
regulator-name = "Vgpu";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1193750>;
|
||||
|
||||
@@ -120,7 +120,6 @@
|
||||
richtek,vinovp-microvolt = <14500000>;
|
||||
|
||||
otg_vbus_regulator: usb-otg-vbus-regulator {
|
||||
regulator-compatible = "usb-otg-vbus";
|
||||
regulator-name = "usb-otg-vbus";
|
||||
regulator-min-microvolt = <4425000>;
|
||||
regulator-max-microvolt = <5825000>;
|
||||
@@ -132,7 +131,6 @@
|
||||
LDO_VIN3-supply = <&mt6360_buck2>;
|
||||
|
||||
mt6360_buck1: buck1 {
|
||||
regulator-compatible = "BUCK1";
|
||||
regulator-name = "mt6360,buck1";
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
@@ -143,7 +141,6 @@
|
||||
};
|
||||
|
||||
mt6360_buck2: buck2 {
|
||||
regulator-compatible = "BUCK2";
|
||||
regulator-name = "mt6360,buck2";
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
@@ -154,7 +151,6 @@
|
||||
};
|
||||
|
||||
mt6360_ldo1: ldo1 {
|
||||
regulator-compatible = "LDO1";
|
||||
regulator-name = "mt6360,ldo1";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
@@ -163,7 +159,6 @@
|
||||
};
|
||||
|
||||
mt6360_ldo2: ldo2 {
|
||||
regulator-compatible = "LDO2";
|
||||
regulator-name = "mt6360,ldo2";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
@@ -172,7 +167,6 @@
|
||||
};
|
||||
|
||||
mt6360_ldo3: ldo3 {
|
||||
regulator-compatible = "LDO3";
|
||||
regulator-name = "mt6360,ldo3";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
@@ -181,7 +175,6 @@
|
||||
};
|
||||
|
||||
mt6360_ldo5: ldo5 {
|
||||
regulator-compatible = "LDO5";
|
||||
regulator-name = "mt6360,ldo5";
|
||||
regulator-min-microvolt = <2700000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
@@ -190,7 +183,6 @@
|
||||
};
|
||||
|
||||
mt6360_ldo6: ldo6 {
|
||||
regulator-compatible = "LDO6";
|
||||
regulator-name = "mt6360,ldo6";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <2100000>;
|
||||
@@ -199,7 +191,6 @@
|
||||
};
|
||||
|
||||
mt6360_ldo7: ldo7 {
|
||||
regulator-compatible = "LDO7";
|
||||
regulator-name = "mt6360,ldo7";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <2100000>;
|
||||
|
||||
@@ -2000,7 +2000,7 @@
|
||||
};
|
||||
|
||||
ovl0: ovl@1c000000 {
|
||||
compatible = "mediatek,mt8195-disp-ovl", "mediatek,mt8183-disp-ovl";
|
||||
compatible = "mediatek,mt8195-disp-ovl";
|
||||
reg = <0 0x1c000000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 636 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
power-domains = <&spm MT8195_POWER_DOMAIN_VDOSYS0>;
|
||||
|
||||
@@ -144,10 +144,10 @@
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
/* 128 KiB reserved for ARM Trusted Firmware (BL31) */
|
||||
/* 192 KiB reserved for ARM Trusted Firmware (BL31) */
|
||||
bl31_secmon_reserved: secmon@43000000 {
|
||||
no-map;
|
||||
reg = <0 0x43000000 0 0x20000>;
|
||||
reg = <0 0x43000000 0 0x30000>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -206,7 +206,7 @@
|
||||
compatible = "mediatek,mt8516-wdt",
|
||||
"mediatek,mt6589-wdt";
|
||||
reg = <0 0x10007000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 198 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
@@ -269,7 +269,7 @@
|
||||
interrupt-parent = <&gic>;
|
||||
interrupt-controller;
|
||||
reg = <0 0x10310000 0 0x1000>,
|
||||
<0 0x10320000 0 0x1000>,
|
||||
<0 0x1032f000 0 0x2000>,
|
||||
<0 0x10340000 0 0x2000>,
|
||||
<0 0x10360000 0 0x2000>;
|
||||
interrupts = <GIC_PPI 9
|
||||
@@ -345,6 +345,7 @@
|
||||
reg = <0 0x11009000 0 0x90>,
|
||||
<0 0x11000180 0 0x80>;
|
||||
interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_LOW>;
|
||||
clock-div = <2>;
|
||||
clocks = <&topckgen CLK_TOP_I2C0>,
|
||||
<&topckgen CLK_TOP_APDMA>;
|
||||
clock-names = "main", "dma";
|
||||
@@ -359,6 +360,7 @@
|
||||
reg = <0 0x1100a000 0 0x90>,
|
||||
<0 0x11000200 0 0x80>;
|
||||
interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>;
|
||||
clock-div = <2>;
|
||||
clocks = <&topckgen CLK_TOP_I2C1>,
|
||||
<&topckgen CLK_TOP_APDMA>;
|
||||
clock-names = "main", "dma";
|
||||
@@ -373,6 +375,7 @@
|
||||
reg = <0 0x1100b000 0 0x90>,
|
||||
<0 0x11000280 0 0x80>;
|
||||
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>;
|
||||
clock-div = <2>;
|
||||
clocks = <&topckgen CLK_TOP_I2C2>,
|
||||
<&topckgen CLK_TOP_APDMA>;
|
||||
clock-names = "main", "dma";
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
clock-div = <2>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins_a>;
|
||||
status = "okay";
|
||||
@@ -156,7 +155,6 @@
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
clock-div = <2>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_pins_a>;
|
||||
status = "okay";
|
||||
|
||||
@@ -1249,7 +1249,7 @@
|
||||
compatible = "nvidia,tegra234-sce-fabric";
|
||||
reg = <0xb600000 0x40000>;
|
||||
interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "okay";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
rce-fabric@be00000 {
|
||||
@@ -1558,7 +1558,7 @@
|
||||
};
|
||||
|
||||
dce-fabric@de00000 {
|
||||
compatible = "nvidia,tegra234-sce-fabric";
|
||||
compatible = "nvidia,tegra234-dce-fabric";
|
||||
reg = <0xde00000 0x40000>;
|
||||
interrupts = <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "okay";
|
||||
@@ -1574,6 +1574,8 @@
|
||||
#redistributor-regions = <1>;
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
|
||||
#address-cells = <0>;
|
||||
};
|
||||
|
||||
smmu_iso: iommu@10000000{
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
sleep_clk: sleep-clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-frequency = <32764>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
sleep_clk: sleep-clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-frequency = <32764>;
|
||||
clock-output-names = "sleep_clk";
|
||||
};
|
||||
};
|
||||
@@ -434,6 +434,15 @@
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "pwr_event",
|
||||
"qusb2_phy",
|
||||
"hs_phy_irq",
|
||||
"ss_phy_irq";
|
||||
|
||||
clocks = <&gcc GCC_USB30_MASTER_CLK>,
|
||||
<&gcc GCC_SYS_NOC_USB3_AXI_CLK>,
|
||||
<&gcc GCC_USB30_SLEEP_CLK>,
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
};
|
||||
|
||||
led@1 {
|
||||
reg = <0>;
|
||||
reg = <1>;
|
||||
chan-name = "button-backlight1";
|
||||
led-cur = /bits/ 8 <0x32>;
|
||||
max-cur = /bits/ 8 <0xC8>;
|
||||
|
||||
@@ -2968,9 +2968,14 @@
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
|
||||
interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "hs_phy_irq", "ss_phy_irq";
|
||||
interrupt-names = "pwr_event",
|
||||
"qusb2_phy",
|
||||
"hs_phy_irq",
|
||||
"ss_phy_irq";
|
||||
|
||||
clocks = <&gcc GCC_SYS_NOC_USB3_AXI_CLK>,
|
||||
<&gcc GCC_USB30_MASTER_CLK>,
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
thermal-zones {
|
||||
pm6150_thermal: pm6150-thermal {
|
||||
polling-delay-passive = <100>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&pm6150_temp>;
|
||||
|
||||
trips {
|
||||
|
||||
@@ -5,6 +5,34 @@
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/spmi/spmi.h>
|
||||
|
||||
/ {
|
||||
thermal-zones {
|
||||
pm6150l-thermal {
|
||||
thermal-sensors = <&pm6150l_temp>;
|
||||
|
||||
trips {
|
||||
trip0 {
|
||||
temperature = <95000>;
|
||||
hysteresis = <0>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
trip1 {
|
||||
temperature = <115000>;
|
||||
hysteresis = <0>;
|
||||
type = "hot";
|
||||
};
|
||||
|
||||
trip2 {
|
||||
temperature = <125000>;
|
||||
hysteresis = <0>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spmi_bus {
|
||||
pm6150l_lsid4: pmic@4 {
|
||||
compatible = "qcom,pm6150l", "qcom,spmi-pmic";
|
||||
@@ -12,6 +40,13 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pm6150l_temp: temp-alarm@2400 {
|
||||
compatible = "qcom,spmi-temp-alarm";
|
||||
reg = <0x2400>;
|
||||
interrupts = <0x4 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
|
||||
#thermal-sensor-cells = <0>;
|
||||
};
|
||||
|
||||
pm6150l_adc: adc@3100 {
|
||||
compatible = "qcom,spmi-adc5";
|
||||
reg = <0x3100>;
|
||||
|
||||
@@ -306,14 +306,9 @@
|
||||
|
||||
reset-gpios = <&pm6150l_gpio 3 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
panel0_in: endpoint {
|
||||
remote-endpoint = <&dsi0_out>;
|
||||
};
|
||||
port {
|
||||
panel0_in: endpoint {
|
||||
remote-endpoint = <&dsi0_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -333,10 +328,6 @@
|
||||
vdds-supply = <&vreg_l4a_0p8>;
|
||||
};
|
||||
|
||||
&mdp {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdss {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
thermal-zones {
|
||||
skin_temp_thermal: skin-temp-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&pm6150_adc_tm 1>;
|
||||
sustainable-power = <965>;
|
||||
|
||||
@@ -43,7 +43,6 @@
|
||||
thermal-zones {
|
||||
skin_temp_thermal: skin-temp-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&pm6150_adc_tm 1>;
|
||||
sustainable-power = <965>;
|
||||
|
||||
@@ -12,14 +12,11 @@
|
||||
|
||||
/ {
|
||||
thermal-zones {
|
||||
5v-choke-thermal {
|
||||
polling-delay-passive = <0>;
|
||||
polling-delay = <250>;
|
||||
|
||||
choke-5v-thermal {
|
||||
thermal-sensors = <&pm6150_adc_tm 1>;
|
||||
|
||||
trips {
|
||||
5v-choke-crit {
|
||||
choke-5v-crit {
|
||||
temperature = <125000>;
|
||||
hysteresis = <1000>;
|
||||
type = "critical";
|
||||
|
||||
@@ -60,19 +60,15 @@
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&lcd_rst>;
|
||||
avdd-supply = <&ppvar_lcd>;
|
||||
avee-supply = <&ppvar_lcd>;
|
||||
pp1800-supply = <&v1p8_disp>;
|
||||
pp3300-supply = <&pp3300_dx_edp>;
|
||||
backlight = <&backlight>;
|
||||
rotation = <270>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
panel_in: endpoint {
|
||||
remote-endpoint = <&dsi0_out>;
|
||||
};
|
||||
port {
|
||||
panel_in: endpoint {
|
||||
remote-endpoint = <&dsi0_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
thermal-zones {
|
||||
skin_temp_thermal: skin-temp-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&pm6150_adc_tm 1>;
|
||||
sustainable-power = <574>;
|
||||
@@ -124,14 +123,9 @@
|
||||
backlight = <&backlight>;
|
||||
rotation = <270>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
panel_in: endpoint {
|
||||
remote-endpoint = <&dsi0_out>;
|
||||
};
|
||||
port {
|
||||
panel_in: endpoint {
|
||||
remote-endpoint = <&dsi0_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -20,9 +20,6 @@
|
||||
/ {
|
||||
thermal-zones {
|
||||
charger_thermal: charger-thermal {
|
||||
polling-delay-passive = <0>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&pm6150_adc_tm 0>;
|
||||
|
||||
trips {
|
||||
@@ -777,6 +774,10 @@ hp_i2c: &i2c9 {
|
||||
};
|
||||
};
|
||||
|
||||
&lpasscc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lpass_cpu {
|
||||
status = "okay";
|
||||
|
||||
@@ -802,7 +803,7 @@ hp_i2c: &i2c9 {
|
||||
};
|
||||
};
|
||||
|
||||
&mdp {
|
||||
&lpass_hm {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
@@ -2937,8 +2937,6 @@
|
||||
interrupt-parent = <&mdss>;
|
||||
interrupts = <0>;
|
||||
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -2985,7 +2983,8 @@
|
||||
};
|
||||
|
||||
dsi0: dsi@ae94000 {
|
||||
compatible = "qcom,mdss-dsi-ctrl";
|
||||
compatible = "qcom,sc7180-dsi-ctrl",
|
||||
"qcom,mdss-dsi-ctrl";
|
||||
reg = <0 0x0ae94000 0 0x400>;
|
||||
reg-names = "dsi_ctrl";
|
||||
|
||||
@@ -3576,6 +3575,8 @@
|
||||
power-domains = <&lpass_hm LPASS_CORE_HM_GDSCR>;
|
||||
#clock-cells = <1>;
|
||||
#power-domain-cells = <1>;
|
||||
|
||||
status = "reserved"; /* Controlled by ADSP */
|
||||
};
|
||||
|
||||
lpass_cpu: lpass@62d87000 {
|
||||
@@ -3621,13 +3622,14 @@
|
||||
clock-names = "iface", "bi_tcxo";
|
||||
#clock-cells = <1>;
|
||||
#power-domain-cells = <1>;
|
||||
|
||||
status = "reserved"; /* Controlled by ADSP */
|
||||
};
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
cpu0_thermal: cpu0-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 1>;
|
||||
sustainable-power = <1052>;
|
||||
@@ -3676,7 +3678,6 @@
|
||||
|
||||
cpu1_thermal: cpu1-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 2>;
|
||||
sustainable-power = <1052>;
|
||||
@@ -3725,7 +3726,6 @@
|
||||
|
||||
cpu2_thermal: cpu2-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 3>;
|
||||
sustainable-power = <1052>;
|
||||
@@ -3774,7 +3774,6 @@
|
||||
|
||||
cpu3_thermal: cpu3-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 4>;
|
||||
sustainable-power = <1052>;
|
||||
@@ -3823,7 +3822,6 @@
|
||||
|
||||
cpu4_thermal: cpu4-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 5>;
|
||||
sustainable-power = <1052>;
|
||||
@@ -3872,7 +3870,6 @@
|
||||
|
||||
cpu5_thermal: cpu5-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 6>;
|
||||
sustainable-power = <1052>;
|
||||
@@ -3921,7 +3918,6 @@
|
||||
|
||||
cpu6_thermal: cpu6-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 9>;
|
||||
sustainable-power = <1425>;
|
||||
@@ -3962,7 +3958,6 @@
|
||||
|
||||
cpu7_thermal: cpu7-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 10>;
|
||||
sustainable-power = <1425>;
|
||||
@@ -4003,7 +3998,6 @@
|
||||
|
||||
cpu8_thermal: cpu8-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 11>;
|
||||
sustainable-power = <1425>;
|
||||
@@ -4044,7 +4038,6 @@
|
||||
|
||||
cpu9_thermal: cpu9-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 12>;
|
||||
sustainable-power = <1425>;
|
||||
@@ -4085,7 +4078,6 @@
|
||||
|
||||
aoss0-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 0>;
|
||||
|
||||
@@ -4106,7 +4098,6 @@
|
||||
|
||||
cpuss0-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 7>;
|
||||
|
||||
@@ -4126,7 +4117,6 @@
|
||||
|
||||
cpuss1-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 8>;
|
||||
|
||||
@@ -4146,7 +4136,6 @@
|
||||
|
||||
gpuss0-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 13>;
|
||||
|
||||
@@ -4174,7 +4163,6 @@
|
||||
|
||||
gpuss1-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens0 14>;
|
||||
|
||||
@@ -4202,7 +4190,6 @@
|
||||
|
||||
aoss1-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens1 0>;
|
||||
|
||||
@@ -4223,7 +4210,6 @@
|
||||
|
||||
cwlan-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens1 1>;
|
||||
|
||||
@@ -4244,7 +4230,6 @@
|
||||
|
||||
audio-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens1 2>;
|
||||
|
||||
@@ -4265,7 +4250,6 @@
|
||||
|
||||
ddr-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens1 3>;
|
||||
|
||||
@@ -4286,7 +4270,6 @@
|
||||
|
||||
q6-hvx-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens1 4>;
|
||||
|
||||
@@ -4307,7 +4290,6 @@
|
||||
|
||||
camera-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens1 5>;
|
||||
|
||||
@@ -4328,7 +4310,6 @@
|
||||
|
||||
mdm-core-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens1 6>;
|
||||
|
||||
@@ -4349,7 +4330,6 @@
|
||||
|
||||
mdm-dsp-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens1 7>;
|
||||
|
||||
@@ -4370,7 +4350,6 @@
|
||||
|
||||
npu-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens1 8>;
|
||||
|
||||
@@ -4391,7 +4370,6 @@
|
||||
|
||||
video-thermal {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <0>;
|
||||
|
||||
thermal-sensors = <&tsens1 9>;
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
|
||||
sleep_clk: sleep-clk {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <32000>;
|
||||
clock-frequency = <32764>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1119,7 +1119,7 @@
|
||||
|
||||
remoteproc_adsp: remoteproc@3000000 {
|
||||
compatible = "qcom,sc8280xp-adsp-pas";
|
||||
reg = <0 0x03000000 0 0x100>;
|
||||
reg = <0 0x03000000 0 0x10000>;
|
||||
|
||||
interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
|
||||
@@ -1806,7 +1806,7 @@
|
||||
|
||||
remoteproc_nsp0: remoteproc@1b300000 {
|
||||
compatible = "qcom,sc8280xp-nsp0-pas";
|
||||
reg = <0 0x1b300000 0 0x100>;
|
||||
reg = <0 0x1b300000 0 0x10000>;
|
||||
|
||||
interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&smp2p_nsp0_in 0 IRQ_TYPE_EDGE_RISING>,
|
||||
@@ -1937,7 +1937,7 @@
|
||||
|
||||
remoteproc_nsp1: remoteproc@21300000 {
|
||||
compatible = "qcom,sc8280xp-nsp1-pas";
|
||||
reg = <0 0x21300000 0 0x100>;
|
||||
reg = <0 0x21300000 0 0x10000>;
|
||||
|
||||
interrupts-extended = <&intc GIC_SPI 887 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&smp2p_nsp1_in 0 IRQ_TYPE_EDGE_RISING>,
|
||||
|
||||
@@ -4234,16 +4234,16 @@
|
||||
"vfe1",
|
||||
"vfe_lite";
|
||||
|
||||
interrupts = <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 477 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 478 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 479 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 464 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 466 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 468 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 477 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 478 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 479 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 448 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 465 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 467 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 469 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "csid0",
|
||||
"csid1",
|
||||
"csid2",
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
sleep_clk: sleep-clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32000>;
|
||||
clock-frequency = <32764>;
|
||||
clock-output-names = "sleep_clk";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -855,7 +855,7 @@
|
||||
|
||||
adsp: remoteproc@3000000 {
|
||||
compatible = "qcom,sm6350-adsp-pas";
|
||||
reg = <0 0x03000000 0 0x100>;
|
||||
reg = <0x0 0x03000000 0x0 0x10000>;
|
||||
|
||||
interrupts-extended = <&pdc 6 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
|
||||
@@ -923,7 +923,7 @@
|
||||
|
||||
mpss: remoteproc@4080000 {
|
||||
compatible = "qcom,sm6350-mpss-pas";
|
||||
reg = <0x0 0x04080000 0x0 0x4040>;
|
||||
reg = <0x0 0x04080000 0x0 0x10000>;
|
||||
|
||||
interrupts-extended = <&intc GIC_SPI 136 IRQ_TYPE_EDGE_RISING>,
|
||||
<&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
chassis-type = "handset";
|
||||
|
||||
/* required for bootloader to select correct board */
|
||||
qcom,msm-id = <434 0x10000>, <459 0x10000>;
|
||||
qcom,msm-id = <459 0x10000>;
|
||||
qcom,board-id = <8 32>;
|
||||
|
||||
aliases {
|
||||
|
||||
@@ -376,8 +376,8 @@
|
||||
pinctrl-0 = <&da7280_intr_default>;
|
||||
|
||||
dlg,actuator-type = "LRA";
|
||||
dlg,dlg,const-op-mode = <1>;
|
||||
dlg,dlg,periodic-op-mode = <1>;
|
||||
dlg,const-op-mode = <1>;
|
||||
dlg,periodic-op-mode = <1>;
|
||||
dlg,nom-microvolt = <2000000>;
|
||||
dlg,abs-max-microvolt = <2000000>;
|
||||
dlg,imax-microamp = <129000>;
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
|
||||
sleep_clk: sleep-clk {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <32768>;
|
||||
clock-frequency = <32764>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
};
|
||||
@@ -3291,20 +3291,20 @@
|
||||
"vfe_lite0",
|
||||
"vfe_lite1";
|
||||
|
||||
interrupts = <GIC_SPI 477 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 478 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 479 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 477 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 478 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 479 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 448 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 86 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 89 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 464 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 466 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 468 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 359 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 465 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 467 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 469 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 360 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "csiphy0",
|
||||
"csiphy1",
|
||||
"csiphy2",
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
sleep_clk: sleep-clk {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <32000>;
|
||||
clock-frequency = <32764>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
@@ -1641,7 +1641,7 @@
|
||||
|
||||
mpss: remoteproc@4080000 {
|
||||
compatible = "qcom,sm8350-mpss-pas";
|
||||
reg = <0x0 0x04080000 0x0 0x4040>;
|
||||
reg = <0x0 0x04080000 0x0 0x10000>;
|
||||
|
||||
interrupts-extended = <&intc GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&smp2p_modem_in 0 IRQ_TYPE_EDGE_RISING>,
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
sleep_clk: sleep-clk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32000>;
|
||||
clock-frequency = <32764>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -2265,7 +2265,7 @@
|
||||
|
||||
remoteproc_mpss: remoteproc@4080000 {
|
||||
compatible = "qcom,sm8450-mpss-pas";
|
||||
reg = <0x0 0x04080000 0x0 0x4040>;
|
||||
reg = <0x0 0x04080000 0x0 0x10000>;
|
||||
|
||||
interrupts-extended = <&intc GIC_SPI 264 IRQ_TYPE_EDGE_RISING>,
|
||||
<&smp2p_modem_in 0 IRQ_TYPE_EDGE_RISING>,
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
snps,reset-active-low;
|
||||
snps,reset-delays-us = <0 10000 50000>;
|
||||
tx_delay = <0x10>;
|
||||
rx_delay = <0x10>;
|
||||
rx_delay = <0x23>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
interrupt-controller;
|
||||
reg = <0x00 0x01800000 0x00 0x10000>, /* GICD */
|
||||
<0x00 0x01880000 0x00 0xc0000>, /* GICR */
|
||||
<0x00 0x01880000 0x00 0xc0000>, /* GICR */
|
||||
<0x01 0x00000000 0x00 0x2000>, /* GICC */
|
||||
<0x01 0x00010000 0x00 0x1000>, /* GICH */
|
||||
<0x01 0x00020000 0x00 0x2000>; /* GICV */
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
compatible = "arm,gic-v3";
|
||||
reg = <0x00 0x01800000 0x00 0x10000>, /* GICD */
|
||||
<0x00 0x01880000 0x00 0xc0000>, /* GICR */
|
||||
<0x00 0x01880000 0x00 0xc0000>, /* GICR */
|
||||
<0x01 0x00000000 0x00 0x2000>, /* GICC */
|
||||
<0x01 0x00010000 0x00 0x1000>, /* GICH */
|
||||
<0x01 0x00020000 0x00 0x2000>; /* GICV */
|
||||
|
||||
@@ -87,16 +87,18 @@ int populate_cache_leaves(unsigned int cpu)
|
||||
unsigned int level, idx;
|
||||
enum cache_type type;
|
||||
struct cpu_cacheinfo *this_cpu_ci = get_cpu_cacheinfo(cpu);
|
||||
struct cacheinfo *this_leaf = this_cpu_ci->info_list;
|
||||
struct cacheinfo *infos = this_cpu_ci->info_list;
|
||||
|
||||
for (idx = 0, level = 1; level <= this_cpu_ci->num_levels &&
|
||||
idx < this_cpu_ci->num_leaves; idx++, level++) {
|
||||
idx < this_cpu_ci->num_leaves; level++) {
|
||||
type = get_cache_type(level);
|
||||
if (type == CACHE_TYPE_SEPARATE) {
|
||||
ci_leaf_init(this_leaf++, CACHE_TYPE_DATA, level);
|
||||
ci_leaf_init(this_leaf++, CACHE_TYPE_INST, level);
|
||||
if (idx + 1 >= this_cpu_ci->num_leaves)
|
||||
break;
|
||||
ci_leaf_init(&infos[idx++], CACHE_TYPE_DATA, level);
|
||||
ci_leaf_init(&infos[idx++], CACHE_TYPE_INST, level);
|
||||
} else {
|
||||
ci_leaf_init(this_leaf++, type, level);
|
||||
ci_leaf_init(&infos[idx++], type, level);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
||||
@@ -38,6 +38,7 @@ SECTIONS
|
||||
*/
|
||||
/DISCARD/ : {
|
||||
*(.note.GNU-stack .note.gnu.property)
|
||||
*(.ARM.attributes)
|
||||
}
|
||||
.note : { *(.note.*) } :text :note
|
||||
|
||||
|
||||
@@ -182,6 +182,7 @@ SECTIONS
|
||||
/DISCARD/ : {
|
||||
*(.interp .dynamic)
|
||||
*(.dynsym .dynstr .hash .gnu.hash)
|
||||
*(.ARM.attributes)
|
||||
}
|
||||
|
||||
. = KIMAGE_VADDR;
|
||||
|
||||
@@ -544,6 +544,18 @@ pte_t huge_ptep_clear_flush(struct vm_area_struct *vma,
|
||||
|
||||
static int __init hugetlbpage_init(void)
|
||||
{
|
||||
/*
|
||||
* HugeTLB pages are supported on maximum four page table
|
||||
* levels (PUD, CONT PMD, PMD, CONT PTE) for a given base
|
||||
* page size, corresponding to hugetlb_add_hstate() calls
|
||||
* here.
|
||||
*
|
||||
* HUGE_MAX_HSTATE should at least match maximum supported
|
||||
* HugeTLB page sizes on the platform. Any new addition to
|
||||
* supported HugeTLB page sizes will also require changing
|
||||
* HUGE_MAX_HSTATE as well.
|
||||
*/
|
||||
BUILD_BUG_ON(HUGE_MAX_HSTATE < 4);
|
||||
if (pud_sect_supported())
|
||||
hugetlb_add_hstate(PUD_SHIFT - PAGE_SHIFT);
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ static inline unsigned long __xchg(unsigned long x, volatile void *ptr,
|
||||
__typeof__(ptr) __ptr = (ptr); \
|
||||
__typeof__(*(ptr)) __old = (old); \
|
||||
__typeof__(*(ptr)) __new = (new); \
|
||||
__typeof__(*(ptr)) __oldval = 0; \
|
||||
__typeof__(*(ptr)) __oldval = (__typeof__(*(ptr))) 0; \
|
||||
\
|
||||
asm volatile( \
|
||||
"1: %0 = memw_locked(%1);\n" \
|
||||
|
||||
@@ -195,8 +195,10 @@ int die(const char *str, struct pt_regs *regs, long err)
|
||||
printk(KERN_EMERG "Oops: %s[#%d]:\n", str, ++die.counter);
|
||||
|
||||
if (notify_die(DIE_OOPS, str, regs, err, pt_cause(regs), SIGSEGV) ==
|
||||
NOTIFY_STOP)
|
||||
NOTIFY_STOP) {
|
||||
spin_unlock_irq(&die.lock);
|
||||
return 1;
|
||||
}
|
||||
|
||||
print_modules();
|
||||
show_regs(regs);
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
*/
|
||||
#ifndef CONFIG_PCI
|
||||
|
||||
#include <asm/raw_io.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/kmap.h>
|
||||
|
||||
/*
|
||||
@@ -29,9 +29,9 @@
|
||||
#define inw_p(port) 0
|
||||
#define outb_p(port, val) do { } while (0)
|
||||
#define outw(port, val) do { } while (0)
|
||||
#define readb raw_inb
|
||||
#define writeb raw_outb
|
||||
#define writew raw_outw
|
||||
#define readb __raw_readb
|
||||
#define writeb __raw_writeb
|
||||
#define writew __raw_writew
|
||||
|
||||
#endif /* CONFIG_PCI */
|
||||
#endif /* _ASM_M68K_VGA_H */
|
||||
|
||||
@@ -248,7 +248,7 @@ int ftrace_disable_ftrace_graph_caller(void)
|
||||
#define S_R_SP (0xafb0 << 16) /* s{d,w} R, offset(sp) */
|
||||
#define OFFSET_MASK 0xffff /* stack offset range: 0 ~ PT_SIZE */
|
||||
|
||||
unsigned long ftrace_get_parent_ra_addr(unsigned long self_ra, unsigned long
|
||||
static unsigned long ftrace_get_parent_ra_addr(unsigned long self_ra, unsigned long
|
||||
old_parent_ra, unsigned long parent_ra_addr, unsigned long fp)
|
||||
{
|
||||
unsigned long sp, ip, tmp;
|
||||
|
||||
@@ -21,13 +21,11 @@ static ssize_t boardinfo_show(struct kobject *kobj,
|
||||
"BIOS Info\n"
|
||||
"Vendor\t\t\t: %s\n"
|
||||
"Version\t\t\t: %s\n"
|
||||
"ROM Size\t\t: %d KB\n"
|
||||
"Release Date\t\t: %s\n",
|
||||
strsep(&tmp_board_manufacturer, "-"),
|
||||
eboard->name,
|
||||
strsep(&tmp_bios_vendor, "-"),
|
||||
einter->description,
|
||||
einter->size,
|
||||
especial->special_name);
|
||||
}
|
||||
static struct kobj_attribute boardinfo_attr = __ATTR(boardinfo, 0444,
|
||||
|
||||
@@ -1660,7 +1660,7 @@ static int fpux_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
|
||||
break;
|
||||
}
|
||||
|
||||
case 0x3:
|
||||
case 0x7:
|
||||
if (MIPSInst_FUNC(ir) != pfetch_op)
|
||||
return SIGILL;
|
||||
|
||||
|
||||
@@ -15,6 +15,15 @@
|
||||
|
||||
extern bool hugetlb_disabled;
|
||||
|
||||
static inline bool hugepages_supported(void)
|
||||
{
|
||||
if (hugetlb_disabled)
|
||||
return false;
|
||||
|
||||
return HPAGE_SHIFT != 0;
|
||||
}
|
||||
#define hugepages_supported hugepages_supported
|
||||
|
||||
void __init hugetlbpage_init_defaultsize(void);
|
||||
|
||||
int slice_is_hugepage_only_range(struct mm_struct *mm, unsigned long addr,
|
||||
|
||||
@@ -242,7 +242,7 @@ static inline int tlbe_is_writable(struct kvm_book3e_206_tlb_entry *tlbe)
|
||||
return tlbe->mas7_3 & (MAS3_SW|MAS3_UW);
|
||||
}
|
||||
|
||||
static inline void kvmppc_e500_ref_setup(struct tlbe_ref *ref,
|
||||
static inline bool kvmppc_e500_ref_setup(struct tlbe_ref *ref,
|
||||
struct kvm_book3e_206_tlb_entry *gtlbe,
|
||||
kvm_pfn_t pfn, unsigned int wimg)
|
||||
{
|
||||
@@ -252,11 +252,7 @@ static inline void kvmppc_e500_ref_setup(struct tlbe_ref *ref,
|
||||
/* Use guest supplied MAS2_G and MAS2_E */
|
||||
ref->flags |= (gtlbe->mas2 & MAS2_ATTRIB_MASK) | wimg;
|
||||
|
||||
/* Mark the page accessed */
|
||||
kvm_set_pfn_accessed(pfn);
|
||||
|
||||
if (tlbe_is_writable(gtlbe))
|
||||
kvm_set_pfn_dirty(pfn);
|
||||
return tlbe_is_writable(gtlbe);
|
||||
}
|
||||
|
||||
static inline void kvmppc_e500_ref_release(struct tlbe_ref *ref)
|
||||
@@ -326,6 +322,7 @@ static inline int kvmppc_e500_shadow_map(struct kvmppc_vcpu_e500 *vcpu_e500,
|
||||
{
|
||||
struct kvm_memory_slot *slot;
|
||||
unsigned long pfn = 0; /* silence GCC warning */
|
||||
struct page *page = NULL;
|
||||
unsigned long hva;
|
||||
int pfnmap = 0;
|
||||
int tsize = BOOK3E_PAGESZ_4K;
|
||||
@@ -337,6 +334,7 @@ static inline int kvmppc_e500_shadow_map(struct kvmppc_vcpu_e500 *vcpu_e500,
|
||||
unsigned int wimg = 0;
|
||||
pgd_t *pgdir;
|
||||
unsigned long flags;
|
||||
bool writable = false;
|
||||
|
||||
/* used to check for invalidations in progress */
|
||||
mmu_seq = kvm->mmu_invalidate_seq;
|
||||
@@ -446,7 +444,7 @@ static inline int kvmppc_e500_shadow_map(struct kvmppc_vcpu_e500 *vcpu_e500,
|
||||
|
||||
if (likely(!pfnmap)) {
|
||||
tsize_pages = 1UL << (tsize + 10 - PAGE_SHIFT);
|
||||
pfn = gfn_to_pfn_memslot(slot, gfn);
|
||||
pfn = __kvm_faultin_pfn(slot, gfn, FOLL_WRITE, NULL, &page);
|
||||
if (is_error_noslot_pfn(pfn)) {
|
||||
if (printk_ratelimit())
|
||||
pr_err("%s: real page not found for gfn %lx\n",
|
||||
@@ -481,7 +479,6 @@ static inline int kvmppc_e500_shadow_map(struct kvmppc_vcpu_e500 *vcpu_e500,
|
||||
if (pte_present(pte)) {
|
||||
wimg = (pte_val(pte) >> PTE_WIMGE_SHIFT) &
|
||||
MAS2_WIMGE_MASK;
|
||||
local_irq_restore(flags);
|
||||
} else {
|
||||
local_irq_restore(flags);
|
||||
pr_err_ratelimited("%s: pte not present: gfn %lx,pfn %lx\n",
|
||||
@@ -490,8 +487,9 @@ static inline int kvmppc_e500_shadow_map(struct kvmppc_vcpu_e500 *vcpu_e500,
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
kvmppc_e500_ref_setup(ref, gtlbe, pfn, wimg);
|
||||
local_irq_restore(flags);
|
||||
|
||||
writable = kvmppc_e500_ref_setup(ref, gtlbe, pfn, wimg);
|
||||
kvmppc_e500_setup_stlbe(&vcpu_e500->vcpu, gtlbe, tsize,
|
||||
ref, gvaddr, stlbe);
|
||||
|
||||
@@ -499,11 +497,8 @@ static inline int kvmppc_e500_shadow_map(struct kvmppc_vcpu_e500 *vcpu_e500,
|
||||
kvmppc_mmu_flush_icache(pfn);
|
||||
|
||||
out:
|
||||
kvm_release_faultin_page(kvm, page, !!ret, writable);
|
||||
spin_unlock(&kvm->mmu_lock);
|
||||
|
||||
/* Drop refcount on page, so that mmu notifiers can clear it */
|
||||
kvm_release_pfn_clean(pfn);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -580,8 +580,10 @@ static int pseries_eeh_get_state(struct eeh_pe *pe, int *delay)
|
||||
|
||||
switch(rets[0]) {
|
||||
case 0:
|
||||
result = EEH_STATE_MMIO_ACTIVE |
|
||||
EEH_STATE_DMA_ACTIVE;
|
||||
result = EEH_STATE_MMIO_ACTIVE |
|
||||
EEH_STATE_DMA_ACTIVE |
|
||||
EEH_STATE_MMIO_ENABLED |
|
||||
EEH_STATE_DMA_ENABLED;
|
||||
break;
|
||||
case 1:
|
||||
result = EEH_STATE_RESET_ACTIVE |
|
||||
|
||||
@@ -21,7 +21,7 @@ KBUILD_AFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -D__ASSEMBLY__
|
||||
ifndef CONFIG_AS_IS_LLVM
|
||||
KBUILD_AFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO),$(aflags_dwarf))
|
||||
endif
|
||||
KBUILD_CFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -O2 -mpacked-stack
|
||||
KBUILD_CFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -O2 -mpacked-stack -std=gnu11
|
||||
KBUILD_CFLAGS_DECOMPRESSOR += -DDISABLE_BRANCH_PROFILING -D__NO_FORTIFY
|
||||
KBUILD_CFLAGS_DECOMPRESSOR += -fno-delete-null-pointer-checks -msoft-float -mbackchain
|
||||
KBUILD_CFLAGS_DECOMPRESSOR += -fno-asynchronous-unwind-tables
|
||||
|
||||
@@ -44,7 +44,7 @@ static inline int arch_futex_atomic_op_inuser(int op, int oparg, int *oval,
|
||||
break;
|
||||
case FUTEX_OP_ANDN:
|
||||
__futex_atomic_op("lr %2,%1\nnr %2,%5\n",
|
||||
ret, oldval, newval, uaddr, oparg);
|
||||
ret, oldval, newval, uaddr, ~oparg);
|
||||
break;
|
||||
case FUTEX_OP_XOR:
|
||||
__futex_atomic_op("lr %2,%1\nxr %2,%5\n",
|
||||
|
||||
@@ -1331,8 +1331,14 @@ static struct vsie_page *get_vsie_page(struct kvm *kvm, unsigned long addr)
|
||||
page = radix_tree_lookup(&kvm->arch.vsie.addr_to_page, addr >> 9);
|
||||
rcu_read_unlock();
|
||||
if (page) {
|
||||
if (page_ref_inc_return(page) == 2)
|
||||
return page_to_virt(page);
|
||||
if (page_ref_inc_return(page) == 2) {
|
||||
if (page->index == addr)
|
||||
return page_to_virt(page);
|
||||
/*
|
||||
* We raced with someone reusing + putting this vsie
|
||||
* page before we grabbed it.
|
||||
*/
|
||||
}
|
||||
page_ref_dec(page);
|
||||
}
|
||||
|
||||
@@ -1362,15 +1368,20 @@ static struct vsie_page *get_vsie_page(struct kvm *kvm, unsigned long addr)
|
||||
kvm->arch.vsie.next++;
|
||||
kvm->arch.vsie.next %= nr_vcpus;
|
||||
}
|
||||
radix_tree_delete(&kvm->arch.vsie.addr_to_page, page->index >> 9);
|
||||
if (page->index != ULONG_MAX)
|
||||
radix_tree_delete(&kvm->arch.vsie.addr_to_page,
|
||||
page->index >> 9);
|
||||
}
|
||||
page->index = addr;
|
||||
/* double use of the same address */
|
||||
/* Mark it as invalid until it resides in the tree. */
|
||||
page->index = ULONG_MAX;
|
||||
|
||||
/* Double use of the same address or allocation failure. */
|
||||
if (radix_tree_insert(&kvm->arch.vsie.addr_to_page, addr >> 9, page)) {
|
||||
page_ref_dec(page);
|
||||
mutex_unlock(&kvm->arch.vsie.mutex);
|
||||
return NULL;
|
||||
}
|
||||
page->index = addr;
|
||||
mutex_unlock(&kvm->arch.vsie.mutex);
|
||||
|
||||
vsie_page = page_to_virt(page);
|
||||
@@ -1463,7 +1474,9 @@ void kvm_s390_vsie_destroy(struct kvm *kvm)
|
||||
vsie_page = page_to_virt(page);
|
||||
release_gmap_shadow(vsie_page);
|
||||
/* free the radix tree entry */
|
||||
radix_tree_delete(&kvm->arch.vsie.addr_to_page, page->index >> 9);
|
||||
if (page->index != ULONG_MAX)
|
||||
radix_tree_delete(&kvm->arch.vsie.addr_to_page,
|
||||
page->index >> 9);
|
||||
__free_page(page);
|
||||
}
|
||||
kvm->arch.vsie.page_count = 0;
|
||||
|
||||
@@ -21,7 +21,7 @@ UBSAN_SANITIZE := n
|
||||
KASAN_SANITIZE := n
|
||||
KCSAN_SANITIZE := n
|
||||
|
||||
KBUILD_CFLAGS := -fno-strict-aliasing -Wall -Wstrict-prototypes
|
||||
KBUILD_CFLAGS := -std=gnu11 -fno-strict-aliasing -Wall -Wstrict-prototypes
|
||||
KBUILD_CFLAGS += -Wno-pointer-sign -Wno-sign-compare
|
||||
KBUILD_CFLAGS += -fno-zero-initialized-in-bss -fno-builtin -ffreestanding
|
||||
KBUILD_CFLAGS += -c -MD -Os -m64 -msoft-float -fno-common
|
||||
|
||||
@@ -34,6 +34,7 @@ targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma \
|
||||
# avoid errors with '-march=i386', and future flags may depend on the target to
|
||||
# be valid.
|
||||
KBUILD_CFLAGS := -m$(BITS) -O2 $(CLANG_FLAGS)
|
||||
KBUILD_CFLAGS += -std=gnu11
|
||||
KBUILD_CFLAGS += -fno-strict-aliasing -fPIE
|
||||
KBUILD_CFLAGS += -Wundef
|
||||
KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
|
||||
|
||||
@@ -4582,8 +4582,11 @@ static void intel_pmu_cpu_starting(int cpu)
|
||||
|
||||
init_debug_store_on_cpu(cpu);
|
||||
/*
|
||||
* Deal with CPUs that don't clear their LBRs on power-up.
|
||||
* Deal with CPUs that don't clear their LBRs on power-up, and that may
|
||||
* even boot with LBRs enabled.
|
||||
*/
|
||||
if (!static_cpu_has(X86_FEATURE_ARCH_LBR) && x86_pmu.lbr_nr)
|
||||
msr_clear_bit(MSR_IA32_DEBUGCTLMSR, DEBUGCTLMSR_LBR_BIT);
|
||||
intel_pmu_lbr_reset();
|
||||
|
||||
cpuc->lbr_sel = NULL;
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
# define PAGES_NR 4
|
||||
#endif
|
||||
|
||||
# define KEXEC_CONTROL_PAGE_SIZE 4096
|
||||
# define KEXEC_CONTROL_CODE_MAX_SIZE 2048
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
@@ -44,7 +45,6 @@ struct kimage;
|
||||
/* Maximum address we can use for the control code buffer */
|
||||
# define KEXEC_CONTROL_MEMORY_LIMIT TASK_SIZE
|
||||
|
||||
# define KEXEC_CONTROL_PAGE_SIZE 4096
|
||||
|
||||
/* The native architecture */
|
||||
# define KEXEC_ARCH KEXEC_ARCH_386
|
||||
@@ -59,9 +59,6 @@ struct kimage;
|
||||
/* Maximum address we can use for the control pages */
|
||||
# define KEXEC_CONTROL_MEMORY_LIMIT (MAXMEM-1)
|
||||
|
||||
/* Allocate one page for the pdp and the second for the code */
|
||||
# define KEXEC_CONTROL_PAGE_SIZE (4096UL + 4096UL)
|
||||
|
||||
/* The native architecture */
|
||||
# define KEXEC_ARCH KEXEC_ARCH_X86_64
|
||||
#endif
|
||||
@@ -146,6 +143,19 @@ struct kimage_arch {
|
||||
};
|
||||
#else
|
||||
struct kimage_arch {
|
||||
/*
|
||||
* This is a kimage control page, as it must not overlap with either
|
||||
* source or destination address ranges.
|
||||
*/
|
||||
pgd_t *pgd;
|
||||
/*
|
||||
* The virtual mapping of the control code page itself is used only
|
||||
* during the transition, while the current kernel's pages are all
|
||||
* in place. Thus the intermediate page table pages used to map it
|
||||
* are not control pages, but instead just normal pages obtained
|
||||
* with get_zeroed_page(). And have to be tracked (below) so that
|
||||
* they can be freed.
|
||||
*/
|
||||
p4d_t *p4d;
|
||||
pud_t *pud;
|
||||
pmd_t *pmd;
|
||||
|
||||
@@ -33,6 +33,8 @@ typedef struct {
|
||||
*/
|
||||
atomic64_t tlb_gen;
|
||||
|
||||
unsigned long next_trim_cpumask;
|
||||
|
||||
#ifdef CONFIG_MODIFY_LDT_SYSCALL
|
||||
struct rw_semaphore ldt_usr_sem;
|
||||
struct ldt_struct *ldt;
|
||||
|
||||
@@ -106,6 +106,7 @@ static inline int init_new_context(struct task_struct *tsk,
|
||||
|
||||
mm->context.ctx_id = atomic64_inc_return(&last_mm_ctx_id);
|
||||
atomic64_set(&mm->context.tlb_gen, 0);
|
||||
mm->context.next_trim_cpumask = jiffies + HZ;
|
||||
|
||||
#ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS
|
||||
if (cpu_feature_enabled(X86_FEATURE_OSPKE)) {
|
||||
|
||||
@@ -357,7 +357,8 @@
|
||||
#define MSR_IA32_PASID_VALID BIT_ULL(31)
|
||||
|
||||
/* DEBUGCTLMSR bits (others vary by model): */
|
||||
#define DEBUGCTLMSR_LBR (1UL << 0) /* last branch recording */
|
||||
#define DEBUGCTLMSR_LBR_BIT 0 /* last branch recording */
|
||||
#define DEBUGCTLMSR_LBR (1UL << DEBUGCTLMSR_LBR_BIT)
|
||||
#define DEBUGCTLMSR_BTF_SHIFT 1
|
||||
#define DEBUGCTLMSR_BTF (1UL << 1) /* single-step on branches */
|
||||
#define DEBUGCTLMSR_BUS_LOCK_DETECT (1UL << 2)
|
||||
|
||||
@@ -208,6 +208,7 @@ struct flush_tlb_info {
|
||||
unsigned int initiating_cpu;
|
||||
u8 stride_shift;
|
||||
u8 freed_tables;
|
||||
u8 trim_cpumask;
|
||||
};
|
||||
|
||||
void flush_tlb_local(void);
|
||||
|
||||
@@ -519,6 +519,10 @@ static __init void fix_erratum_688(void)
|
||||
|
||||
static __init int init_amd_nbs(void)
|
||||
{
|
||||
if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD &&
|
||||
boot_cpu_data.x86_vendor != X86_VENDOR_HYGON)
|
||||
return 0;
|
||||
|
||||
amd_cache_northbridges();
|
||||
amd_cache_gart();
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <linux/timex.h>
|
||||
#include <linux/i8253.h>
|
||||
|
||||
#include <asm/hypervisor.h>
|
||||
#include <asm/apic.h>
|
||||
#include <asm/hpet.h>
|
||||
#include <asm/time.h>
|
||||
@@ -39,9 +40,15 @@ static bool __init use_pit(void)
|
||||
|
||||
bool __init pit_timer_init(void)
|
||||
{
|
||||
if (!use_pit())
|
||||
if (!use_pit()) {
|
||||
/*
|
||||
* Don't just ignore the PIT. Ensure it's stopped, because
|
||||
* VMMs otherwise steal CPU time just to pointlessly waggle
|
||||
* the (masked) IRQ.
|
||||
*/
|
||||
clockevent_i8253_disable();
|
||||
return false;
|
||||
|
||||
}
|
||||
clockevent_i8253_init(true);
|
||||
global_clock_event = &i8253_clockevent;
|
||||
return true;
|
||||
|
||||
@@ -149,7 +149,8 @@ static void free_transition_pgtable(struct kimage *image)
|
||||
image->arch.pte = NULL;
|
||||
}
|
||||
|
||||
static int init_transition_pgtable(struct kimage *image, pgd_t *pgd)
|
||||
static int init_transition_pgtable(struct kimage *image, pgd_t *pgd,
|
||||
unsigned long control_page)
|
||||
{
|
||||
pgprot_t prot = PAGE_KERNEL_EXEC_NOENC;
|
||||
unsigned long vaddr, paddr;
|
||||
@@ -160,7 +161,7 @@ static int init_transition_pgtable(struct kimage *image, pgd_t *pgd)
|
||||
pte_t *pte;
|
||||
|
||||
vaddr = (unsigned long)relocate_kernel;
|
||||
paddr = __pa(page_address(image->control_code_page)+PAGE_SIZE);
|
||||
paddr = control_page;
|
||||
pgd += pgd_index(vaddr);
|
||||
if (!pgd_present(*pgd)) {
|
||||
p4d = (p4d_t *)get_zeroed_page(GFP_KERNEL);
|
||||
@@ -219,7 +220,7 @@ static void *alloc_pgt_page(void *data)
|
||||
return p;
|
||||
}
|
||||
|
||||
static int init_pgtable(struct kimage *image, unsigned long start_pgtable)
|
||||
static int init_pgtable(struct kimage *image, unsigned long control_page)
|
||||
{
|
||||
struct x86_mapping_info info = {
|
||||
.alloc_pgt_page = alloc_pgt_page,
|
||||
@@ -228,12 +229,12 @@ static int init_pgtable(struct kimage *image, unsigned long start_pgtable)
|
||||
.kernpg_flag = _KERNPG_TABLE_NOENC,
|
||||
};
|
||||
unsigned long mstart, mend;
|
||||
pgd_t *level4p;
|
||||
int result;
|
||||
int i;
|
||||
|
||||
level4p = (pgd_t *)__va(start_pgtable);
|
||||
clear_page(level4p);
|
||||
image->arch.pgd = alloc_pgt_page(image);
|
||||
if (!image->arch.pgd)
|
||||
return -ENOMEM;
|
||||
|
||||
if (cc_platform_has(CC_ATTR_GUEST_MEM_ENCRYPT)) {
|
||||
info.page_flag |= _PAGE_ENC;
|
||||
@@ -247,8 +248,8 @@ static int init_pgtable(struct kimage *image, unsigned long start_pgtable)
|
||||
mstart = pfn_mapped[i].start << PAGE_SHIFT;
|
||||
mend = pfn_mapped[i].end << PAGE_SHIFT;
|
||||
|
||||
result = kernel_ident_mapping_init(&info,
|
||||
level4p, mstart, mend);
|
||||
result = kernel_ident_mapping_init(&info, image->arch.pgd,
|
||||
mstart, mend);
|
||||
if (result)
|
||||
return result;
|
||||
}
|
||||
@@ -263,8 +264,8 @@ static int init_pgtable(struct kimage *image, unsigned long start_pgtable)
|
||||
mstart = image->segment[i].mem;
|
||||
mend = mstart + image->segment[i].memsz;
|
||||
|
||||
result = kernel_ident_mapping_init(&info,
|
||||
level4p, mstart, mend);
|
||||
result = kernel_ident_mapping_init(&info, image->arch.pgd,
|
||||
mstart, mend);
|
||||
|
||||
if (result)
|
||||
return result;
|
||||
@@ -274,15 +275,19 @@ static int init_pgtable(struct kimage *image, unsigned long start_pgtable)
|
||||
* Prepare EFI systab and ACPI tables for kexec kernel since they are
|
||||
* not covered by pfn_mapped.
|
||||
*/
|
||||
result = map_efi_systab(&info, level4p);
|
||||
result = map_efi_systab(&info, image->arch.pgd);
|
||||
if (result)
|
||||
return result;
|
||||
|
||||
result = map_acpi_tables(&info, level4p);
|
||||
result = map_acpi_tables(&info, image->arch.pgd);
|
||||
if (result)
|
||||
return result;
|
||||
|
||||
return init_transition_pgtable(image, level4p);
|
||||
/*
|
||||
* This must be last because the intermediate page table pages it
|
||||
* allocates will not be control pages and may overlap the image.
|
||||
*/
|
||||
return init_transition_pgtable(image, image->arch.pgd, control_page);
|
||||
}
|
||||
|
||||
static void load_segments(void)
|
||||
@@ -299,14 +304,14 @@ static void load_segments(void)
|
||||
|
||||
int machine_kexec_prepare(struct kimage *image)
|
||||
{
|
||||
unsigned long start_pgtable;
|
||||
unsigned long control_page;
|
||||
int result;
|
||||
|
||||
/* Calculate the offsets */
|
||||
start_pgtable = page_to_pfn(image->control_code_page) << PAGE_SHIFT;
|
||||
control_page = page_to_pfn(image->control_code_page) << PAGE_SHIFT;
|
||||
|
||||
/* Setup the identity mapped 64bit page table */
|
||||
result = init_pgtable(image, start_pgtable);
|
||||
result = init_pgtable(image, control_page);
|
||||
if (result)
|
||||
return result;
|
||||
|
||||
@@ -353,13 +358,12 @@ void machine_kexec(struct kimage *image)
|
||||
#endif
|
||||
}
|
||||
|
||||
control_page = page_address(image->control_code_page) + PAGE_SIZE;
|
||||
control_page = page_address(image->control_code_page);
|
||||
__memcpy(control_page, relocate_kernel, KEXEC_CONTROL_CODE_MAX_SIZE);
|
||||
|
||||
page_list[PA_CONTROL_PAGE] = virt_to_phys(control_page);
|
||||
page_list[VA_CONTROL_PAGE] = (unsigned long)control_page;
|
||||
page_list[PA_TABLE_PAGE] =
|
||||
(unsigned long)__pa(page_address(image->control_code_page));
|
||||
page_list[PA_TABLE_PAGE] = (unsigned long)__pa(image->arch.pgd);
|
||||
|
||||
if (image->type == KEXEC_TYPE_DEFAULT)
|
||||
page_list[PA_SWAP_PAGE] = (page_to_pfn(image->swap_page)
|
||||
@@ -578,8 +582,7 @@ static void kexec_mark_crashkres(bool protect)
|
||||
|
||||
/* Don't touch the control code page used in crash_kexec().*/
|
||||
control = PFN_PHYS(page_to_pfn(kexec_crash_image->control_code_page));
|
||||
/* Control code page is located in the 2nd page. */
|
||||
kexec_mark_range(crashk_res.start, control + PAGE_SIZE - 1, protect);
|
||||
kexec_mark_range(crashk_res.start, control - 1, protect);
|
||||
control += KEXEC_CONTROL_PAGE_SIZE;
|
||||
kexec_mark_range(control, crashk_res.end, protect);
|
||||
}
|
||||
|
||||
@@ -173,7 +173,6 @@ EXPORT_SYMBOL_GPL(arch_static_call_transform);
|
||||
noinstr void __static_call_update_early(void *tramp, void *func)
|
||||
{
|
||||
BUG_ON(system_state != SYSTEM_BOOTING);
|
||||
BUG_ON(!early_boot_irqs_disabled);
|
||||
BUG_ON(static_call_initialized);
|
||||
__text_gen_insn(tramp, JMP32_INSN_OPCODE, tramp, func, JMP32_INSN_SIZE);
|
||||
sync_core();
|
||||
|
||||
@@ -1915,6 +1915,9 @@ static u64 kvm_hv_send_ipi(struct kvm_vcpu *vcpu, struct kvm_hv_hcall *hc)
|
||||
u32 vector;
|
||||
bool all_cpus;
|
||||
|
||||
if (!lapic_in_kernel(vcpu))
|
||||
return HV_STATUS_INVALID_HYPERCALL_INPUT;
|
||||
|
||||
if (hc->code == HVCALL_SEND_IPI) {
|
||||
if (!hc->fast) {
|
||||
if (unlikely(kvm_read_guest(kvm, hc->ingpa, &send_ipi,
|
||||
@@ -2518,7 +2521,8 @@ int kvm_get_hv_cpuid(struct kvm_vcpu *vcpu, struct kvm_cpuid2 *cpuid,
|
||||
ent->eax |= HV_X64_REMOTE_TLB_FLUSH_RECOMMENDED;
|
||||
ent->eax |= HV_X64_APIC_ACCESS_RECOMMENDED;
|
||||
ent->eax |= HV_X64_RELAXED_TIMING_RECOMMENDED;
|
||||
ent->eax |= HV_X64_CLUSTER_IPI_RECOMMENDED;
|
||||
if (!vcpu || lapic_in_kernel(vcpu))
|
||||
ent->eax |= HV_X64_CLUSTER_IPI_RECOMMENDED;
|
||||
ent->eax |= HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED;
|
||||
if (evmcs_ver)
|
||||
ent->eax |= HV_X64_ENLIGHTENED_VMCS_RECOMMENDED;
|
||||
|
||||
@@ -5150,7 +5150,7 @@ void kvm_init_shadow_npt_mmu(struct kvm_vcpu *vcpu, unsigned long cr0,
|
||||
union kvm_mmu_page_role root_role;
|
||||
|
||||
/* NPT requires CR0.PG=1. */
|
||||
WARN_ON_ONCE(cpu_role.base.direct);
|
||||
WARN_ON_ONCE(cpu_role.base.direct || !cpu_role.base.guest_mode);
|
||||
|
||||
root_role = cpu_role.base;
|
||||
root_role.level = kvm_mmu_get_tdp_level(vcpu);
|
||||
|
||||
@@ -619,6 +619,11 @@ static void nested_vmcb02_prepare_control(struct vcpu_svm *svm,
|
||||
u32 pause_count12;
|
||||
u32 pause_thresh12;
|
||||
|
||||
nested_svm_transition_tlb_flush(vcpu);
|
||||
|
||||
/* Enter Guest-Mode */
|
||||
enter_guest_mode(vcpu);
|
||||
|
||||
/*
|
||||
* Filled at exit: exit_code, exit_code_hi, exit_info_1, exit_info_2,
|
||||
* exit_int_info, exit_int_info_err, next_rip, insn_len, insn_bytes.
|
||||
@@ -717,11 +722,6 @@ static void nested_vmcb02_prepare_control(struct vcpu_svm *svm,
|
||||
}
|
||||
}
|
||||
|
||||
nested_svm_transition_tlb_flush(vcpu);
|
||||
|
||||
/* Enter Guest-Mode */
|
||||
enter_guest_mode(vcpu);
|
||||
|
||||
/*
|
||||
* Merge guest and host intercepts - must be called with vcpu in
|
||||
* guest-mode to take effect.
|
||||
|
||||
@@ -878,9 +878,36 @@ done:
|
||||
nr_invalidate);
|
||||
}
|
||||
|
||||
static bool tlb_is_not_lazy(int cpu, void *data)
|
||||
static bool should_flush_tlb(int cpu, void *data)
|
||||
{
|
||||
return !per_cpu(cpu_tlbstate_shared.is_lazy, cpu);
|
||||
struct flush_tlb_info *info = data;
|
||||
|
||||
/* Lazy TLB will get flushed at the next context switch. */
|
||||
if (per_cpu(cpu_tlbstate_shared.is_lazy, cpu))
|
||||
return false;
|
||||
|
||||
/* No mm means kernel memory flush. */
|
||||
if (!info->mm)
|
||||
return true;
|
||||
|
||||
/* The target mm is loaded, and the CPU is not lazy. */
|
||||
if (per_cpu(cpu_tlbstate.loaded_mm, cpu) == info->mm)
|
||||
return true;
|
||||
|
||||
/* In cpumask, but not the loaded mm? Periodically remove by flushing. */
|
||||
if (info->trim_cpumask)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool should_trim_cpumask(struct mm_struct *mm)
|
||||
{
|
||||
if (time_after(jiffies, READ_ONCE(mm->context.next_trim_cpumask))) {
|
||||
WRITE_ONCE(mm->context.next_trim_cpumask, jiffies + HZ);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
DEFINE_PER_CPU_SHARED_ALIGNED(struct tlb_state_shared, cpu_tlbstate_shared);
|
||||
@@ -914,7 +941,7 @@ STATIC_NOPV void native_flush_tlb_multi(const struct cpumask *cpumask,
|
||||
if (info->freed_tables)
|
||||
on_each_cpu_mask(cpumask, flush_tlb_func, (void *)info, true);
|
||||
else
|
||||
on_each_cpu_cond_mask(tlb_is_not_lazy, flush_tlb_func,
|
||||
on_each_cpu_cond_mask(should_flush_tlb, flush_tlb_func,
|
||||
(void *)info, 1, cpumask);
|
||||
}
|
||||
|
||||
@@ -965,6 +992,7 @@ static struct flush_tlb_info *get_flush_tlb_info(struct mm_struct *mm,
|
||||
info->freed_tables = freed_tables;
|
||||
info->new_tlb_gen = new_tlb_gen;
|
||||
info->initiating_cpu = smp_processor_id();
|
||||
info->trim_cpumask = 0;
|
||||
|
||||
return info;
|
||||
}
|
||||
@@ -1007,6 +1035,7 @@ void flush_tlb_mm_range(struct mm_struct *mm, unsigned long start,
|
||||
* flush_tlb_func_local() directly in this case.
|
||||
*/
|
||||
if (cpumask_any_but(mm_cpumask(mm), cpu) < nr_cpu_ids) {
|
||||
info->trim_cpumask = should_trim_cpumask(mm);
|
||||
flush_tlb_multi(mm_cpumask(mm), info);
|
||||
} else if (mm == this_cpu_read(cpu_tlbstate.loaded_mm)) {
|
||||
lockdep_assert_irqs_enabled();
|
||||
|
||||
@@ -97,6 +97,51 @@ static pud_t level3_user_vsyscall[PTRS_PER_PUD] __page_aligned_bss;
|
||||
*/
|
||||
static DEFINE_SPINLOCK(xen_reservation_lock);
|
||||
|
||||
/* Protected by xen_reservation_lock. */
|
||||
#define MIN_CONTIG_ORDER 9 /* 2MB */
|
||||
static unsigned int discontig_frames_order = MIN_CONTIG_ORDER;
|
||||
static unsigned long discontig_frames_early[1UL << MIN_CONTIG_ORDER] __initdata;
|
||||
static unsigned long *discontig_frames __refdata = discontig_frames_early;
|
||||
static bool discontig_frames_dyn;
|
||||
|
||||
static int alloc_discontig_frames(unsigned int order)
|
||||
{
|
||||
unsigned long *new_array, *old_array;
|
||||
unsigned int old_order;
|
||||
unsigned long flags;
|
||||
|
||||
BUG_ON(order < MIN_CONTIG_ORDER);
|
||||
BUILD_BUG_ON(sizeof(discontig_frames_early) != PAGE_SIZE);
|
||||
|
||||
new_array = (unsigned long *)__get_free_pages(GFP_KERNEL,
|
||||
order - MIN_CONTIG_ORDER);
|
||||
if (!new_array)
|
||||
return -ENOMEM;
|
||||
|
||||
spin_lock_irqsave(&xen_reservation_lock, flags);
|
||||
|
||||
old_order = discontig_frames_order;
|
||||
|
||||
if (order > discontig_frames_order || !discontig_frames_dyn) {
|
||||
if (!discontig_frames_dyn)
|
||||
old_array = NULL;
|
||||
else
|
||||
old_array = discontig_frames;
|
||||
|
||||
discontig_frames = new_array;
|
||||
discontig_frames_order = order;
|
||||
discontig_frames_dyn = true;
|
||||
} else {
|
||||
old_array = new_array;
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&xen_reservation_lock, flags);
|
||||
|
||||
free_pages((unsigned long)old_array, old_order - MIN_CONTIG_ORDER);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Note about cr3 (pagetable base) values:
|
||||
*
|
||||
@@ -766,6 +811,7 @@ void xen_mm_pin_all(void)
|
||||
{
|
||||
struct page *page;
|
||||
|
||||
spin_lock(&init_mm.page_table_lock);
|
||||
spin_lock(&pgd_lock);
|
||||
|
||||
list_for_each_entry(page, &pgd_list, lru) {
|
||||
@@ -776,6 +822,7 @@ void xen_mm_pin_all(void)
|
||||
}
|
||||
|
||||
spin_unlock(&pgd_lock);
|
||||
spin_unlock(&init_mm.page_table_lock);
|
||||
}
|
||||
|
||||
static void __init xen_mark_pinned(struct mm_struct *mm, struct page *page,
|
||||
@@ -797,6 +844,9 @@ static void __init xen_after_bootmem(void)
|
||||
SetPagePinned(virt_to_page(level3_user_vsyscall));
|
||||
#endif
|
||||
xen_pgd_walk(&init_mm, xen_mark_pinned, FIXADDR_TOP);
|
||||
|
||||
if (alloc_discontig_frames(MIN_CONTIG_ORDER))
|
||||
BUG();
|
||||
}
|
||||
|
||||
static void xen_unpin_page(struct mm_struct *mm, struct page *page,
|
||||
@@ -872,6 +922,7 @@ void xen_mm_unpin_all(void)
|
||||
{
|
||||
struct page *page;
|
||||
|
||||
spin_lock(&init_mm.page_table_lock);
|
||||
spin_lock(&pgd_lock);
|
||||
|
||||
list_for_each_entry(page, &pgd_list, lru) {
|
||||
@@ -883,6 +934,7 @@ void xen_mm_unpin_all(void)
|
||||
}
|
||||
|
||||
spin_unlock(&pgd_lock);
|
||||
spin_unlock(&init_mm.page_table_lock);
|
||||
}
|
||||
|
||||
static void xen_activate_mm(struct mm_struct *prev, struct mm_struct *next)
|
||||
@@ -2177,10 +2229,6 @@ void __init xen_init_mmu_ops(void)
|
||||
memset(dummy_mapping, 0xff, PAGE_SIZE);
|
||||
}
|
||||
|
||||
/* Protected by xen_reservation_lock. */
|
||||
#define MAX_CONTIG_ORDER 9 /* 2MB */
|
||||
static unsigned long discontig_frames[1<<MAX_CONTIG_ORDER];
|
||||
|
||||
#define VOID_PTE (mfn_pte(0, __pgprot(0)))
|
||||
static void xen_zap_pfn_range(unsigned long vaddr, unsigned int order,
|
||||
unsigned long *in_frames,
|
||||
@@ -2297,24 +2345,25 @@ int xen_create_contiguous_region(phys_addr_t pstart, unsigned int order,
|
||||
unsigned int address_bits,
|
||||
dma_addr_t *dma_handle)
|
||||
{
|
||||
unsigned long *in_frames = discontig_frames, out_frame;
|
||||
unsigned long *in_frames, out_frame;
|
||||
unsigned long flags;
|
||||
int success;
|
||||
unsigned long vstart = (unsigned long)phys_to_virt(pstart);
|
||||
|
||||
/*
|
||||
* Currently an auto-translated guest will not perform I/O, nor will
|
||||
* it require PAE page directories below 4GB. Therefore any calls to
|
||||
* this function are redundant and can be ignored.
|
||||
*/
|
||||
if (unlikely(order > discontig_frames_order)) {
|
||||
if (!discontig_frames_dyn)
|
||||
return -ENOMEM;
|
||||
|
||||
if (unlikely(order > MAX_CONTIG_ORDER))
|
||||
return -ENOMEM;
|
||||
if (alloc_discontig_frames(order))
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
memset((void *) vstart, 0, PAGE_SIZE << order);
|
||||
|
||||
spin_lock_irqsave(&xen_reservation_lock, flags);
|
||||
|
||||
in_frames = discontig_frames;
|
||||
|
||||
/* 1. Zap current PTEs, remembering MFNs. */
|
||||
xen_zap_pfn_range(vstart, order, in_frames, NULL);
|
||||
|
||||
@@ -2338,12 +2387,12 @@ int xen_create_contiguous_region(phys_addr_t pstart, unsigned int order,
|
||||
|
||||
void xen_destroy_contiguous_region(phys_addr_t pstart, unsigned int order)
|
||||
{
|
||||
unsigned long *out_frames = discontig_frames, in_frame;
|
||||
unsigned long *out_frames, in_frame;
|
||||
unsigned long flags;
|
||||
int success;
|
||||
unsigned long vstart;
|
||||
|
||||
if (unlikely(order > MAX_CONTIG_ORDER))
|
||||
if (unlikely(order > discontig_frames_order))
|
||||
return;
|
||||
|
||||
vstart = (unsigned long)phys_to_virt(pstart);
|
||||
@@ -2351,6 +2400,8 @@ void xen_destroy_contiguous_region(phys_addr_t pstart, unsigned int order)
|
||||
|
||||
spin_lock_irqsave(&xen_reservation_lock, flags);
|
||||
|
||||
out_frames = discontig_frames;
|
||||
|
||||
/* 1. Find start MFN of contiguous extent. */
|
||||
in_frame = virt_to_mfn(vstart);
|
||||
|
||||
|
||||
@@ -110,8 +110,8 @@ SYM_FUNC_START(xen_hypercall_hvm)
|
||||
pop %ebx
|
||||
pop %eax
|
||||
#else
|
||||
lea xen_hypercall_amd(%rip), %rbx
|
||||
cmp %rax, %rbx
|
||||
lea xen_hypercall_amd(%rip), %rcx
|
||||
cmp %rax, %rcx
|
||||
#ifdef CONFIG_FRAME_POINTER
|
||||
pop %rax /* Dummy pop. */
|
||||
#endif
|
||||
@@ -125,6 +125,7 @@ SYM_FUNC_START(xen_hypercall_hvm)
|
||||
pop %rcx
|
||||
pop %rax
|
||||
#endif
|
||||
FRAME_END
|
||||
/* Use correct hypercall function. */
|
||||
jz xen_hypercall_amd
|
||||
jmp xen_hypercall_intel
|
||||
|
||||
@@ -924,6 +924,7 @@ static void blkcg_fill_root_iostats(void)
|
||||
blkg_iostat_set(&blkg->iostat.cur, &tmp);
|
||||
u64_stats_update_end_irqrestore(&blkg->iostat.sync, flags);
|
||||
}
|
||||
class_dev_iter_exit(&iter);
|
||||
}
|
||||
|
||||
static void blkcg_print_one_stat(struct blkcg_gq *blkg, struct seq_file *s)
|
||||
|
||||
@@ -601,11 +601,12 @@ static ssize_t blkdev_read_iter(struct kiocb *iocb, struct iov_iter *to)
|
||||
file_accessed(iocb->ki_filp);
|
||||
|
||||
ret = blkdev_direct_IO(iocb, to);
|
||||
if (ret >= 0) {
|
||||
if (ret > 0) {
|
||||
iocb->ki_pos += ret;
|
||||
count -= ret;
|
||||
}
|
||||
iov_iter_revert(to, count - iov_iter_count(to));
|
||||
if (ret != -EIOCBQUEUED)
|
||||
iov_iter_revert(to, count - iov_iter_count(to));
|
||||
if (ret < 0 || !count)
|
||||
goto reexpand;
|
||||
}
|
||||
|
||||
@@ -740,7 +740,7 @@ static ssize_t disk_badblocks_store(struct device *dev,
|
||||
}
|
||||
|
||||
#ifdef CONFIG_BLOCK_LEGACY_AUTOLOAD
|
||||
void blk_request_module(dev_t devt)
|
||||
static bool blk_probe_dev(dev_t devt)
|
||||
{
|
||||
unsigned int major = MAJOR(devt);
|
||||
struct blk_major_name **n;
|
||||
@@ -750,14 +750,26 @@ void blk_request_module(dev_t devt)
|
||||
if ((*n)->major == major && (*n)->probe) {
|
||||
(*n)->probe(devt);
|
||||
mutex_unlock(&major_names_lock);
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
mutex_unlock(&major_names_lock);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (request_module("block-major-%d-%d", MAJOR(devt), MINOR(devt)) > 0)
|
||||
/* Make old-style 2.4 aliases work */
|
||||
request_module("block-major-%d", MAJOR(devt));
|
||||
void blk_request_module(dev_t devt)
|
||||
{
|
||||
int error;
|
||||
|
||||
if (blk_probe_dev(devt))
|
||||
return;
|
||||
|
||||
error = request_module("block-major-%d-%d", MAJOR(devt), MINOR(devt));
|
||||
/* Make old-style 2.4 aliases work */
|
||||
if (error > 0)
|
||||
error = request_module("block-major-%d", MAJOR(devt));
|
||||
if (!error)
|
||||
blk_probe_dev(devt);
|
||||
}
|
||||
#endif /* CONFIG_BLOCK_LEGACY_AUTOLOAD */
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
/**
|
||||
/*
|
||||
* ldm - Part of the Linux-NTFS project.
|
||||
*
|
||||
* Copyright (C) 2001,2002 Richard Russon <ldm@flatcap.org>
|
||||
|
||||
@@ -51,13 +51,25 @@ int mac_partition(struct parsed_partitions *state)
|
||||
}
|
||||
secsize = be16_to_cpu(md->block_size);
|
||||
put_dev_sector(sect);
|
||||
|
||||
/*
|
||||
* If the "block size" is not a power of 2, things get weird - we might
|
||||
* end up with a partition straddling a sector boundary, so we wouldn't
|
||||
* be able to read a partition entry with read_part_sector().
|
||||
* Real block sizes are probably (?) powers of two, so just require
|
||||
* that.
|
||||
*/
|
||||
if (!is_power_of_2(secsize))
|
||||
return -1;
|
||||
datasize = round_down(secsize, 512);
|
||||
data = read_part_sector(state, datasize / 512, §);
|
||||
if (!data)
|
||||
return -1;
|
||||
partoffset = secsize % 512;
|
||||
if (partoffset + sizeof(*part) > datasize)
|
||||
if (partoffset + sizeof(*part) > datasize) {
|
||||
put_dev_sector(sect);
|
||||
return -1;
|
||||
}
|
||||
part = (struct mac_partition *) (data + partoffset);
|
||||
if (be16_to_cpu(part->signature) != MAC_PARTITION_MAGIC) {
|
||||
put_dev_sector(sect);
|
||||
@@ -110,8 +122,8 @@ int mac_partition(struct parsed_partitions *state)
|
||||
int i, l;
|
||||
|
||||
goodness++;
|
||||
l = strlen(part->name);
|
||||
if (strcmp(part->name, "/") == 0)
|
||||
l = strnlen(part->name, sizeof(part->name));
|
||||
if (strncmp(part->name, "/", sizeof(part->name)) == 0)
|
||||
goodness++;
|
||||
for (i = 0; i <= l - 4; ++i) {
|
||||
if (strncasecmp(part->name + i, "root",
|
||||
|
||||
@@ -155,8 +155,6 @@ static unsigned long ghes_estatus_pool_size_request;
|
||||
static struct ghes_estatus_cache *ghes_estatus_caches[GHES_ESTATUS_CACHES_SIZE];
|
||||
static atomic_t ghes_estatus_cache_alloced;
|
||||
|
||||
static int ghes_panic_timeout __read_mostly = 30;
|
||||
|
||||
static void __iomem *ghes_map(u64 pfn, enum fixed_addresses fixmap_idx)
|
||||
{
|
||||
phys_addr_t paddr;
|
||||
@@ -858,14 +856,16 @@ static void __ghes_panic(struct ghes *ghes,
|
||||
struct acpi_hest_generic_status *estatus,
|
||||
u64 buf_paddr, enum fixed_addresses fixmap_idx)
|
||||
{
|
||||
const char *msg = GHES_PFX "Fatal hardware error";
|
||||
|
||||
__ghes_print_estatus(KERN_EMERG, ghes->generic, estatus);
|
||||
|
||||
ghes_clear_estatus(ghes, estatus, buf_paddr, fixmap_idx);
|
||||
|
||||
/* reboot to log the error! */
|
||||
if (!panic_timeout)
|
||||
panic_timeout = ghes_panic_timeout;
|
||||
panic("Fatal hardware error!");
|
||||
pr_emerg("%s but panic disabled\n", msg);
|
||||
|
||||
panic(msg);
|
||||
}
|
||||
|
||||
static int ghes_proc(struct ghes *ghes)
|
||||
|
||||
@@ -366,19 +366,25 @@ static int acpi_fan_probe(struct platform_device *pdev)
|
||||
result = sysfs_create_link(&pdev->dev.kobj,
|
||||
&cdev->device.kobj,
|
||||
"thermal_cooling");
|
||||
if (result)
|
||||
if (result) {
|
||||
dev_err(&pdev->dev, "Failed to create sysfs link 'thermal_cooling'\n");
|
||||
goto err_unregister;
|
||||
}
|
||||
|
||||
result = sysfs_create_link(&cdev->device.kobj,
|
||||
&pdev->dev.kobj,
|
||||
"device");
|
||||
if (result) {
|
||||
dev_err(&pdev->dev, "Failed to create sysfs link 'device'\n");
|
||||
goto err_end;
|
||||
goto err_remove_link;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
err_remove_link:
|
||||
sysfs_remove_link(&pdev->dev.kobj, "thermal_cooling");
|
||||
err_unregister:
|
||||
thermal_cooling_device_unregister(cdev);
|
||||
err_end:
|
||||
if (fan->acpi4)
|
||||
acpi_fan_delete_attributes(device);
|
||||
|
||||
@@ -263,9 +263,7 @@ static acpi_status acpi_platformrt_space_handler(u32 function,
|
||||
if (!handler || !module)
|
||||
goto invalid_guid;
|
||||
|
||||
if (!handler->handler_addr ||
|
||||
!handler->static_data_buffer_addr ||
|
||||
!handler->acpi_param_buffer_addr) {
|
||||
if (!handler->handler_addr) {
|
||||
buffer->prm_status = PRM_HANDLER_ERROR;
|
||||
return AE_OK;
|
||||
}
|
||||
|
||||
@@ -1128,8 +1128,6 @@ static int acpi_data_prop_read(const struct acpi_device_data *data,
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (nval == 0)
|
||||
return -EINVAL;
|
||||
|
||||
if (obj->type == ACPI_TYPE_BUFFER) {
|
||||
if (proptype != DEV_PROP_U8)
|
||||
@@ -1153,9 +1151,11 @@ static int acpi_data_prop_read(const struct acpi_device_data *data,
|
||||
ret = acpi_copy_property_array_uint(items, (u64 *)val, nval);
|
||||
break;
|
||||
case DEV_PROP_STRING:
|
||||
ret = acpi_copy_property_array_string(
|
||||
items, (char **)val,
|
||||
min_t(u32, nval, obj->package.count));
|
||||
nval = min_t(u32, nval, obj->package.count);
|
||||
if (nval == 0)
|
||||
return -ENODATA;
|
||||
|
||||
ret = acpi_copy_property_array_string(items, (char **)val, nval);
|
||||
break;
|
||||
default:
|
||||
ret = -EINVAL;
|
||||
|
||||
@@ -658,7 +658,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc)
|
||||
{
|
||||
struct ata_port *ap = qc->ap;
|
||||
struct page *page;
|
||||
unsigned int offset;
|
||||
unsigned int offset, count;
|
||||
|
||||
if (!qc->cursg) {
|
||||
qc->curbytes = qc->nbytes;
|
||||
@@ -674,25 +674,27 @@ static void ata_pio_sector(struct ata_queued_cmd *qc)
|
||||
page = nth_page(page, (offset >> PAGE_SHIFT));
|
||||
offset %= PAGE_SIZE;
|
||||
|
||||
trace_ata_sff_pio_transfer_data(qc, offset, qc->sect_size);
|
||||
/* don't overrun current sg */
|
||||
count = min(qc->cursg->length - qc->cursg_ofs, qc->sect_size);
|
||||
|
||||
trace_ata_sff_pio_transfer_data(qc, offset, count);
|
||||
|
||||
/*
|
||||
* Split the transfer when it splits a page boundary. Note that the
|
||||
* split still has to be dword aligned like all ATA data transfers.
|
||||
*/
|
||||
WARN_ON_ONCE(offset % 4);
|
||||
if (offset + qc->sect_size > PAGE_SIZE) {
|
||||
if (offset + count > PAGE_SIZE) {
|
||||
unsigned int split_len = PAGE_SIZE - offset;
|
||||
|
||||
ata_pio_xfer(qc, page, offset, split_len);
|
||||
ata_pio_xfer(qc, nth_page(page, 1), 0,
|
||||
qc->sect_size - split_len);
|
||||
ata_pio_xfer(qc, nth_page(page, 1), 0, count - split_len);
|
||||
} else {
|
||||
ata_pio_xfer(qc, page, offset, qc->sect_size);
|
||||
ata_pio_xfer(qc, page, offset, count);
|
||||
}
|
||||
|
||||
qc->curbytes += qc->sect_size;
|
||||
qc->cursg_ofs += qc->sect_size;
|
||||
qc->curbytes += count;
|
||||
qc->cursg_ofs += count;
|
||||
|
||||
if (qc->cursg_ofs == qc->cursg->length) {
|
||||
qc->cursg = sg_next(qc->cursg);
|
||||
|
||||
@@ -1059,6 +1059,7 @@ err_alloc:
|
||||
kfree(d->wake_buf);
|
||||
kfree(d->mask_buf_def);
|
||||
kfree(d->mask_buf);
|
||||
kfree(d->main_status_buf);
|
||||
kfree(d->status_buf);
|
||||
kfree(d->status_reg_buf);
|
||||
if (d->virt_buf) {
|
||||
@@ -1139,6 +1140,7 @@ void regmap_del_irq_chip(int irq, struct regmap_irq_chip_data *d)
|
||||
kfree(d->wake_buf);
|
||||
kfree(d->mask_buf_def);
|
||||
kfree(d->mask_buf);
|
||||
kfree(d->main_status_buf);
|
||||
kfree(d->status_reg_buf);
|
||||
kfree(d->status_buf);
|
||||
if (d->config_buf) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user