Merge tag 'android12-5.10.185_r00' into android12-5.10

This is the merge of the upstream LTS release of 5.10.185 into the
android12-5.10 branch.

It contains the following commits:

* c4f52f22c7 Revert "net: Remove DECnet leftovers from flow.h."
*   c6ac900e26 Merge 5.10.185 into android12-5.10-lts
|\
| * ef0d5feb32 Linux 5.10.185
| * ed2bf5cee6 um: Fix build w/o CONFIG_PM_SLEEP
| * f73ec12dc7 drm/i915/gen11+: Only load DRAM information from pcode
| * 27458487c8 drm/i915/dg1: Wait for pcode/uncore handshake at startup
| * 2d1c19597d media: dvb-core: Fix use-after-free due to race at dvb_register_device()
| * 5c61c3945a media: dvbdev: fix error logic at dvb_register_device()
| * a1b26dac8b media: dvbdev: Fix memleak in dvb_register_device
| * a13dee47fa nilfs2: reject devices with insufficient block count
| * c374552b54 mm/memory_hotplug: extend offline_and_remove_memory() to handle more than one memory block
| * e6dc6a9d0a mmc: block: ensure error propagation for non-blk
| * 7ce0e8b287 batman-adv: Switch to kstrtox.h for kstrtou64
| * e6104284c4 neighbour: delete neigh_lookup_nodev as not used
| * bf82668eb9 net: Remove DECnet leftovers from flow.h.
| * 7d07fd03f5 net: Remove unused inline function dst_hold_and_use()
| * 53076071fb neighbour: Remove unused inline function neigh_key_eq16()
| * 7230a9e599 rcu/kvfree: Avoid freeing new kfree_rcu() memory after old grace period
| * a261589621 cgroup: always put cset in cgroup_css_set_put_fork
| * 4c10843863 afs: Fix vlserver probe RTT handling
| * 49b6607ded selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET
| * 08899e8d5a net: tipc: resize nlattr array to correct size
| * 5fd696b404 net: lapbether: only support ethernet devices
| * 6ee3728ae8 net/sched: cls_api: Fix lockup on flushing explicitly created chain
| * efed5b50f3 ext4: drop the call to ext4_error() from ext4_get_group_info()
| * 6ab91d1adb drm/nouveau: add nv_encoder pointer check for NULL
| * 5d43bb9b3e drm/nouveau/dp: check for NULL nv_connector->native_mode
| * edb970e03d drm/nouveau: don't detect DSM for non-NVIDIA device
| * 8c3446ab59 igb: fix nvm.ops.read() error handling
| * 221281d60c sctp: fix an error code in sctp_sf_eat_auth()
| * 5c47ed7f25 ipvlan: fix bound dev checking for IPv6 l3s mode
| * 3c97f2c9ec IB/isert: Fix incorrect release of isert connection
| * da6ae4aab5 IB/isert: Fix possible list corruption in CMA handler
| * 2b6f8817ca IB/isert: Fix dead lock in ib_isert
| * 2f9d26345c IB/uverbs: Fix to consider event queue closing also upon non-blocking mode
| * 6cccdbc9f0 RDMA/cma: Always set static rate to 0 for RoCE
| * f49abbb274 RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions
| * aa277d5cd4 octeontx2-af: fixed resource availability check
| * 0fb48a2a6a iavf: remove mask from iavf_irq_enable_queues()
| * 079a9591ee RDMA/rxe: Fix the use-before-initialization error of resp_pkts
| * 089a0e831f RDMA/rxe: Removed unused name from rxe_task struct
| * 6205c0d9ff RDMA/rxe: Remove the unused variable obj
| * af6eaa5798 net/sched: cls_u32: Fix reference counter leak leading to overflow
| * 5852d17aaa ping6: Fix send to link-local addresses with VRF.
| * 9e666a77f0 net: enetc: correct the indexes of highest and 2nd highest TCs
| * 1200af82cf netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM
| * af42c4fd82 spi: fsl-dspi: avoid SCK glitches with continuous transfers
| * cb6ec51ddd RDMA/rtrs: Fix the last iu->buf leak in err path
| * 26293251ab usb: dwc3: gadget: Reset num TRBs before giving back the request
| * f4bc416942 serial: lantiq: add missing interrupt ack
| * 0b6e65016c USB: serial: option: add Quectel EM061KGL series
| * 1c004b379b Remove DECnet support from kernel
| * e9d384983f ALSA: hda/realtek: Add a quirk for Compaq N14JP6
| * 1148d4ca30 net: usb: qmi_wwan: add support for Compal RXM-G1
| * d7acfd5225 RDMA/uverbs: Restrict usage of privileged QKEYs
| * 96e14c91c5 nouveau: fix client work fence deletion race
| * f1f7117b22 powerpc/purgatory: remove PGO flags
| * 26c80741ce x86/purgatory: remove PGO flags
| * f368aed482 kexec: support purgatories with .text.hot sections
| * 7e78b9142f nilfs2: fix possible out-of-bounds segment allocation in resize ioctl
| * 902fcec052 nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key()
| * d59293f082 nios2: dts: Fix tse_mac "max-frame-size" property
| * 2847d9eed4 ocfs2: check new file size on fallocate call
| * e73b135f54 ocfs2: fix use-after-free when unmounting read-only filesystem
| * 370f5d98ff epoll: ep_autoremove_wake_function should use list_del_init_careful
| * 4716c73b18 io_uring: hold uring mutex around poll removal
| * 93a68acc49 irqchip/gic: Correctly validate OF quirk descriptors
| * 2a2641a842 drm:amd:amdgpu: Fix missing buffer object unlock in failure path
| * 7c0b17679b xen/blkfront: Only check REQ_FUA for writes
| * 8e45fb70f4 ASoC: dwc: move DMA init to snd_soc_dai_driver probe()
| * d47b5a6d23 mips: Move initrd_start check after initrd address sanitisation.
| * 619672bf2d MIPS: Alchemy: fix dbdma2
| * 0ca73b45b7 parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory()
| * 3f7625e086 parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu()
| * 73102fdb5b ASoC: soc-pcm: test if a BE can be prepared
| * 3bc883132d btrfs: handle memory allocation failure in btrfs_csum_one_bio
| * 142fbad314 btrfs: scrub: try harder to mark RAID56 block groups read-only
| * 35d32d8415 power: supply: Fix logic checking if system is running from battery
| * 8b7a2207ee irqchip/gic-v3: Disable pseudo NMIs on Mediatek devices w/ firmware issues
| * dbf6109972 regulator: Fix error checking for debugfs_create_dir
| * 37bcc48e7d platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0
| * 88d1c1365f power: supply: Ratelimit no data debug output
| * 6be7a4bef9 tools: gpio: fix debounce_period_us output of lsgpio
| * 39eb9eb9ea ARM: dts: vexpress: add missing cache properties
| * b2856c3cd3 power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule()
| * ce2b5f24ca power: supply: sc27xx: Fix external_power_changed race
| * 9e9e150fa8 power: supply: ab8500: Fix external_power_changed race
| * 539c387f0b test_firmware: fix a memory leak with reqs buffer
| * af36f35074 test_firmware: prevent race conditions by a correct implementation of locking
| * 682ca60251 test_firmware: Use kstrtobool() instead of strtobool()
| * 6e2e551e39 kernel.h: split out kstrtox() and simple_strtox() to a separate header
| * c2def5578b lib: cleanup kstrto*() usage
* | 2f2122a869 Revert "neighbour: fix unaligned access to pneigh_entry"
* | b7321283a9 Merge 5.10.184 into android12-5.10-lts
|\|
| * a1f0beb13d Linux 5.10.184
| * 7f896130ef Revert "staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE"
| * b60e862e13 btrfs: unset reloc control if transaction commit fails in prepare_to_relocate()
| * 6f371623f3 btrfs: check return value of btrfs_commit_transaction in relocation
| * ea0d413094 drm/atomic: Don't pollute crtc_state->mode_blob with error pointers
| * 1659268d1a MIPS: locking/atomic: Fix atomic{_64,}_sub_if_positive
| * 0e98a97f77 xfs: verify buffer contents when we skip log replay
| * 58e8cf94de tcp: fix tcp_min_tso_segs sysctl
| * 1b4b335096 ext4: only check dquot_initialize_needed() when debugging
| * fd6cb51719 Revert "ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled"
| * cfa91c0573 vhost: support PACKED when setting-getting vring_base
| * 461c88caa8 riscv: fix kprobe __user string arg print fault issue
| * c6b9050874 eeprom: at24: also select REGMAP
| * 10e376a7c3 i2c: sprd: Delete i2c adapter in .remove's error path
| * c4aeef5602 ASoC: codecs: wsa881x: do not set can_multi_write flag
| * b6f309e9d2 staging: vc04_services: fix gcc-13 build warning
| * 0d3c75a693 usb: usbfs: Use consistent mmap functions
| * 143f405721 usb: usbfs: Enforce page requirements for mmap
| * bcd474d183 pinctrl: meson-axg: add missing GPIOA_18 gpio group
| * 1981d37b1d rbd: get snapshot context after exclusive lock is ensured to be held
| * 76ae4a7bc9 rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting
| * 841d3b5a84 tee: amdtee: Add return_origin to 'struct tee_cmd_load_ta'
| * a94024991d Bluetooth: hci_qca: fix debugfs registration
| * 2270e32bd1 Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk
| * 76b40319a1 s390/dasd: Use correct lock while counting channel queue length
| * e715c86e92 ceph: fix use-after-free bug for inodes when flushing capsnaps
| * 6714873158 can: j1939: avoid possible use-after-free when j1939_can_rx_register fails
| * cc834f4d97 can: j1939: change j1939_netdev_lock type to mutex
| * 0268005076 can: j1939: j1939_sk_send_loop_abort(): improved error queue handling in J1939 Socket
| * 0038055135 drm/amdgpu: fix xclk freq on CHIP_STONEY
| * ef95f987be ALSA: hda/realtek: Add Lenovo P3 Tower platform
| * 95520b3fba ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01
| * ca26d00828 Input: psmouse - fix OOB access in Elantech protocol
| * 86efc409f2 Input: xpad - delete a Razer DeathAdder mouse VID/PID entry
| * 9ece26ff08 batman-adv: Broken sync while rescheduling delayed work
| * 3f6dfff5fe bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks
| * deead0d872 bnxt_en: Query default VLAN before VNIC setup on a VF
| * 84dbd27ad5 bnxt_en: Don't issue AP reset during ethtool's reset operation
| * dedd47977a lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release()
| * 27b8d6931f bpf: Add extra path pointer check to d_path helper
| * 36d07046c2 net: sched: fix possible refcount leak in tc_chain_tmplt_add()
| * 54acac57fe net: sched: move rtm_tca_policy declaration to include file
| * dad7417db7 rfs: annotate lockless accesses to RFS sock flow table
| * c62ca9d037 rfs: annotate lockless accesses to sk->sk_rxhash
| * 86e3981ff1 ipv6: rpl: Fix Route of Death.
| * b4be099c5f netfilter: ipset: Add schedule point in call_ad().
| * 35c89cfcac netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper
| * c4ba90ae35 qed/qede: Fix scheduling while atomic
| * 0fee54fa33 Bluetooth: L2CAP: Add missing checks for invalid DCID
| * 0066598012 Bluetooth: Fix l2cap_disconnect_req deadlock
| * 83cfac5851 net/sched: fq_pie: ensure reasonable TCA_FQ_PIE_QUANTUM values
| * 8ab2bec9e1 net/smc: Avoid to access invalid RMBs' MRs in SMCRv1 ADD LINK CONT
| * 47ef881f1c net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods
| * 9fcc3c3d26 neighbour: fix unaligned access to pneigh_entry
| * 99883d4a0b wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll
| * 2d3e4c5b3e afs: Fix setting of mtime when creating a file/dir/symlink
| * 1ed651e234 spi: qup: Request DMA before enabling clocks
| * e7c61c39d6 staging: vchiq_core: drop vchiq_status from vchiq_initialise
| * fa30327060 i40e: fix build warning in ice_fltr_add_mac_to_list()
| * 15ca8d584c i40e: fix build warnings in i40e_alloc.h
| * f7e208d1c5 i40iw: fix build warning in i40iw_manage_apbvt()
| * 318e2c18da block/blk-iocost (gcc13): keep large values in a new enum
| * b6d652f7fb blk-iocost: avoid 64-bit division in ioc_timer_fn
| * 9214a5484e f2fs: fix iostat lock protection
| * d3b74c288d bonding (gcc13): synchronize bond_{a,t}lb_xmit() types
| * f122e55174 remove the sx8 block driver
| * 9236470a1d sfc (gcc13): synchronize ef100_enqueue_skb()'s return type
| * 02ce3cf222 gcc-plugins: Reorganize gimple includes for GCC 13
| * 4c3ddc06ce ata: ahci: fix enum constants for gcc-13
* | 0c0856714e Revert "tcp: deny tcp_disconnect() when threads are waiting"
* | 848ca335c1 Merge 5.10.183 into android12-5.10-lts
|\|
| * 7356714b95 Linux 5.10.183
| * 842156dc0a ARM: defconfig: drop CONFIG_DRM_RCAR_LVDS
| * 2c0ea7a06d ext4: enable the lazy init thread when remounting read/write
| * 92450a1eaa selftests: mptcp: join: skip if MPTCP is not supported
| * 1a6db1f927 selftests: mptcp: simult flows: skip if MPTCP is not supported
| * 4f8356ab74 selftests: mptcp: diag: skip if MPTCP is not supported
| * 81df7153f0 crypto: ccp: Play nice with vmalloc'd memory for SEV command structs
| * 1f988ce6e4 crypto: ccp: Reject SEV commands with mismatching command buffer
| * d21a20f442 scsi: dpt_i2o: Do not process completions with invalid addresses
| * a2cd7599b5 scsi: dpt_i2o: Remove broken pass-through ioctl (I2OUSERCMD)
| * 6d6612f7f9 drm/rcar: stop using 'imply' for dependencies
| * c759c9e4bf media: ti-vpe: cal: avoid FIELD_GET assertion
| * d21e955de9 tpm, tpm_tis: Request threaded interrupt handler
| * 608c1f2083 regmap: Account for register length when chunking
| * cb1cbe430e KEYS: asymmetric: Copy sig and digest in public_key_verify_signature()
| * 3295dc04af KVM: x86: Account fastpath-only VM-Exits in vCPU stats
| * 21bb3cd2e1 test_firmware: fix the memory leak of the allocated firmware buffer
| * 510e015b90 serial: 8250_tegra: Fix an error handling path in tegra_uart_probe()
| * b02ae50c7f fbcon: Fix null-ptr-deref in soft_cursor
| * c94228a5ae ext4: add lockdep annotations for i_data_sem for ea_inode's
| * ef70012ab5 ext4: disallow ea_inodes with extended attributes
| * 6f4fa43757 ext4: set lockdep subclass for the ea_inode in ext4_xattr_inode_cache_find()
| * 6d67d4966c ext4: add EA_INODE checking to ext4_iget()
| * 6d0adaa90d selftests: mptcp: pm nl: skip if MPTCP is not supported
| * 54dea0aa6b selftests: mptcp: connect: skip if MPTCP is not supported
| * 57eb824b8c tracing/probe: trace_probe_primary_from_call(): checked list_first_entry
| * 122ba1d40b selinux: don't use make's grouped targets feature yet
| * e0b8664c2f btrfs: fix csum_tree_block page iteration to avoid tripping on -Werror=array-bounds
| * 6c859764f4 tty: serial: fsl_lpuart: use UARTCTRL_TXINV to send break instead of UARTCTRL_SBK
| * 6127e956c3 mmc: vub300: fix invalid response handling
| * 99cb5ed15d eth: sun: cassini: remove dead code
| * 1d8693376a gcc-12: disable '-Wdangling-pointer' warning for now
| * 7c602f540b ath6kl: Use struct_group() to avoid size-mismatched casting
| * c92ea38a77 ACPI: thermal: drop an always true check
| * 93e28b66c1 x86/boot: Wrap literal addresses in absolute_pointer()
| * 3442be8f30 ata: libata-scsi: Use correct device no in ata_find_dev()
| * ae0d7613e0 scsi: stex: Fix gcc 13 warnings
| * 86b2d292c2 misc: fastrpc: reject new invocations during device removal
| * dacb7c103c misc: fastrpc: return -EPIPE to invocations on device removal
| * a4f88cb043 usb: gadget: f_fs: Add unbind event before functionfs_unbind
| * 90f581eb74 net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818
| * e18b0009dd iio: dac: build ad5758 driver when AD5758 is selected
| * a869ab6987 iio: adc: ad7192: Change "shorted" channels to differential
| * 143dbb313a iio: dac: mcp4725: Fix i2c_master_send() return value handling
| * 81c70f4bea iio: light: vcnl4035: fixed chip ID check
| * ff864a92d9 iio: imu: inv_icm42600: fix timestamp reset
| * 954bd5a44b HID: wacom: avoid integer overflow in wacom_intuos_inout()
| * adac1c22f5 HID: google: add jewel USB id
| * 55c507a34e iio: adc: mxs-lradc: fix the order of two cleanup operations
| * 5a445c2bf6 mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
| * c05ac53bb0 atm: hide unused procfs functions
| * ab33230458 drm/msm: Be more shouty if per-process pgtables aren't working
| * 93a61212db ALSA: oss: avoid missing-prototype warnings
| * 4987bf0446 netfilter: conntrack: define variables exp_nat_nla_policy and any_addr with CONFIG_NF_NAT
| * 1c2537291e wifi: b43: fix incorrect __packed annotation
| * ea478186ea scsi: core: Decrease scsi_device's iorequest_cnt if dispatch failed
| * 05226a8f22 arm64/mm: mark private VM_FAULT_X defines as vm_fault_t
| * 32f86763c2 ARM: dts: stm32: add pin map for CAN controller on stm32f7
| * 01c76cb5e5 wifi: rtl8xxxu: fix authentication timeout due to incorrect RCR value
| * 0467212806 s390/pkey: zeroize key blobs
| * 76169f7490 media: dvb-core: Fix use-after-free due to race condition at dvb_ca_en50221
| * ca2d171fd1 media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*()
| * 2ea7d26ed8 media: dvb-core: Fix use-after-free due on race condition at dvb_net
| * 415651c8f4 media: mn88443x: fix !CONFIG_OF error by drop of_match_ptr from ID table
| * eb37fef417 media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb()
| * 1995e71472 media: dvb_ca_en50221: fix a size write bug
| * b85233ab53 media: netup_unidvb: fix irq init by register it at the end of probe
| * 74c80d2024 media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address
| * fcbb72b041 media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer()
| * 7945c13c9b media: dvb-usb-v2: rtl28xxu: fix null-ptr-deref in rtl28xxu_i2c_xfer
| * 2d47867a6b media: dvb-usb-v2: ce6230: fix null-ptr-deref in ce6230_i2c_master_xfer()
| * 647da51e4d media: dvb-usb-v2: ec168: fix null-ptr-deref in ec168_i2c_xfer()
| * 084e43d9a4 media: dvb-usb: az6027: fix three null-ptr-deref in az6027_i2c_xfer()
| * a81280cf33 media: dvb_demux: fix a bug for the continuity counter
| * 204e9082f6 ASoC: ssm2602: Add workaround for playback distortions
| * beee708ccc ASoC: dt-bindings: Adjust #sound-dai-cells on TI's single-DAI codecs
| * bd99da6472 xfrm: Check if_id in inbound policy/secpath match
| * 5ee83fef0c ASoC: dwc: limit the number of overrun messages
| * 32f6f1bf1b block/rnbd: replace REQ_OP_FLUSH with REQ_OP_WRITE
| * 01c3d30649 nbd: Fix debugfs_create_dir error checking
| * 29f6b42a73 fbdev: stifb: Fix info entry in sti_struct on error path
| * 742dab42d7 fbdev: modedb: Add 1920x1080 at 60 Hz video mode
| * d03d31d3a2 gfs2: Don't deref jdesc in evict
| * fe4f6e159b media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE
| * 16ee4562c7 ARM: 9295/1: unwind:fix unwind abort for uleb128 case
| * a3393eb6fb btrfs: abort transaction when sibling keys check fails for leaves
| * c12c288f1e mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
| * 0dcf021af4 ALSA: hda: Glenfly: add HD Audio PCI IDs and HDMI Codec Vendor IDs.
| * d5fcccfc50 watchdog: menz069_wdt: fix watchdog initialisation
| * 9823ac6e7a mtd: rawnand: marvell: don't set the NAND frequency select
| * e4666d793a mtd: rawnand: marvell: ensure timing values are written
| * a437d3d25a net: dsa: mv88e6xxx: Increase wait after reset deactivation
| * 7c5c67aa29 net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
| * f5c29a9e91 net/mlx5: Read embedded cpu after init bit cleared
| * f03bc01360 udp6: Fix race condition in udp6_sendmsg & connect
| * 57e6c54034 net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report
| * ae7e941f4d net: sched: fix NULL pointer dereference in mq_attach
| * a8ad1303b9 net/sched: Prohibit regrafting ingress or clsact Qdiscs
| * 676f203803 net/sched: Reserve TC_H_INGRESS (TC_H_CLSACT) for ingress (clsact) Qdiscs
| * 18c76349af net/sched: sch_clsact: Only create under TC_H_CLSACT
| * 1b0163b2dc net/sched: sch_ingress: Only create under TC_H_INGRESS
| * dfb80ebc3b tcp: Return user_mss for TCP_MAXSEG in CLOSE/LISTEN state if user_mss set
| * cccc620970 tcp: deny tcp_disconnect() when threads are waiting
| * 8f0365a3e2 af_packet: do not use READ_ONCE() in packet_bind()
| * 4de3c2c43c mtd: rawnand: ingenic: fix empty stub helper definitions
| * 11a1f2561b amd-xgbe: fix the false linkup in xgbe_phy_status
| * fa909b1384 af_packet: Fix data-races of pkt_sk(sk)->num.
| * 616da05ff8 netrom: fix info-leak in nr_write_internal()
| * d1b224cb78 net/mlx5: fw_tracer, Fix event handling
| * a864a8543c dmaengine: pl330: rename _start to prevent build error
| * 33d7035dc2 iommu/amd: Don't block updates to GATag if guest mode is on
| * bd9e61ee3e iommu/rockchip: Fix unwind goto issue
| * 75c60dacf0 RDMA/bnxt_re: Fix return value of bnxt_re_process_raw_qp_pkt_rx
| * 861868b063 RDMA/bnxt_re: Fix a possible memory leak
| * ff296fcceb dmaengine: at_xdmac: fix potential Oops in at_xdmac_prep_interleaved()
| * 6b32ed353f dmaengine: at_xdmac: Move the free desc to the tail of the desc list
| * 3041b768cc dmaengine: at_xdmac: Fix race for the tx desc callback
| * 127afc87bb dmaengine: at_xdmac: Fix concurrency over chan's completed_cookie
| * 958226b3a6 RDMA/efa: Fix unsupported page sizes in device
| * 7d6662e4a4 RDMA/bnxt_re: Fix the page_size used during the MR creation
| * b51c896285 RDMA/bnxt_re: Code refactor while populating user MRs
* | 04a55bbb7f Revert "regulator: Add regmap helper for ramp-delay setting"
* | 5e8d66e06a Revert "regulator: pca9450: Convert to use regulator_set_ramp_delay_regmap"
* | 4d5a15daae Revert "regulator: pca9450: Fix BUCK2 enable_mask"
* | 06f0c366cb Merge 5.10.182 into android12-5.10-lts
|\|
| * c7992b6c7f Linux 5.10.182
| * 468bebc426 netfilter: ctnetlink: Support offloaded conntrack entry deletion
| * 18c14d3028 ipv{4,6}/raw: fix output xfrm lookup wrt protocol
| * 2218752325 binder: fix UAF caused by faulty buffer cleanup
| * e4d2e6c305 bluetooth: Add cmd validity checks at the start of hci_sock_ioctl()
| * 6a0712d9fe net: phy: mscc: enable VSC8501/2 RGMII RX clock
| * b556990235 net/mlx5: Devcom, serialize devcom registration
| * 57dc3c124e net/mlx5: devcom only supports 2 ports
| * 860ad704e4 regulator: pca9450: Fix BUCK2 enable_mask
| * b3a9c4081d regulator: pca9450: Convert to use regulator_set_ramp_delay_regmap
| * 12cb97ed85 regulator: Add regmap helper for ramp-delay setting
| * b557220d31 power: supply: bq24190: Call power_supply_changed() after updating input current
| * 224f7bbf57 power: supply: core: Refactor power_supply_set_input_current_limit_from_supplier()
| * 277b489ad0 power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize
| * 0949c572d4 power: supply: bq27xxx: Ensure power_supply_changed() is called on current sign changes
| * 6ed541254f power: supply: bq27xxx: Move bq27xxx_battery_update() down
| * ed78797a26 power: supply: bq27xxx: expose battery data when CI=1
| * 7ff807d68b power: supply: bq27xxx: Add cache parameter to bq27xxx_battery_current_and_status()
| * 432f98c559 power: supply: bq27xxx: make status more robust
| * 659094e405 power: supply: bq27xxx: fix sign of current_now for newer ICs
| * 14e1a958d9 power: supply: bq27xxx: fix polarity of current_now
| * 18c9cf4633 x86/cpu: Drop spurious underscore from RAPTOR_LAKE #define
| * 4a8980cb2a x86/cpu: Add Raptor Lake to Intel family
* | f8e9848656 Revert "tipc: add tipc_bearer_min_mtu to calculate min mtu"
* | 7ae5626406 Revert "tipc: do not update mtu if msg_max is too small in mtu negotiation"
* | 4a7c41b710 Revert "tipc: check the bearer min mtu properly when setting it by netlink"
* | f015c92c49 Revert "ipv4/tcp: do not use per netns ctl sockets"
* | 8231b54cd2 ANDROID: GKI: preserve CRC generation for some bluetooth symbols
* | a4be51e26a Revert "net: Find dst with sk's xfrm policy not ctl_sk"
* | c86beaeed1 Revert "tcp: fix possible sk_priority leak in tcp_v4_send_reset()"
* | 7c491aaf07 Revert "firmware: arm_sdei: Fix sleep from invalid context BUG"
* | 6d62ca19a7 Merge 5.10.181 into android12-5.10-lts
|\|
| * 272d4b8a5b Linux 5.10.181
| * cf7ee4b158 net: phy: mscc: add VSC8502 to MODULE_DEVICE_TABLE
| * 98cedb9910 3c589_cs: Fix an error handling path in tc589_probe()
| * 6f449e409b arm64: dts: imx8mn-var-som: fix PHY detection bug by adding deassert delay
| * d4d10a6df1 net/mlx5: Devcom, fix error flow in mlx5_devcom_register_device
| * 8b9c561b9f net/mlx5: Fix error message when failing to allocate device memory
| * c21862232f net/mlx5: DR, Fix crc32 calculation to work on big-endian (BE) CPUs
| * 058fd18e74 net/mlx5e: do as little as possible in napi poll when budget is 0
| * 5afd5fb8a9 forcedeth: Fix an error handling path in nv_probe()
| * 80a4b9ad42 ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg
| * c966b58c85 x86/show_trace_log_lvl: Ensure stack pointer is aligned, again
| * 0de80163de xen/pvcalls-back: fix double frees with pvcalls_new_active_socket()
| * b663696c06 coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet()
| * a52d2019ec fs: fix undefined behavior in bit shift for SB_NOUSER
| * 52967bbb93 power: supply: sbs-charger: Fix INHIBITED bit for Status reg
| * e85757da90 power: supply: bq27xxx: Fix poll_interval handling and races on remove
| * 1da9a4b55a power: supply: bq27xxx: Fix I2C IRQ race on remove
| * ac1ab21394 power: supply: bq27xxx: Fix bq27xxx_battery_update() race condition
| * 2de6eb7c40 power: supply: leds: Fix blink to LED on transition
| * e5f82688ae ipv6: Fix out-of-bounds access in ipv6_find_tlv()
| * a61d5c13c7 bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields
| * 72971f4071 octeontx2-pf: Fix TSOv6 offload
| * 1c8a016822 selftests: fib_tests: mute cleanup error message
| * a594382ec6 net: fix skb leak in __skb_tstamp_tx()
| * 8a30dce9d7 media: radio-shark: Add endpoint checks
| * ccef03c511 USB: sisusbvga: Add endpoint checks
| * 4c260bbf35 USB: core: Add routines for endpoint checks in old drivers
| * 5014b64e36 udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated().
| * 4bb955c4d2 net: fix stack overflow when LRO is disabled for virtual interfaces
| * 58ecc165ab fbdev: udlfb: Fix endpoint check
| * fd67307974 debugobjects: Don't wake up kswapd from fill_pool()
| * a12ce786be x86/topology: Fix erroneous smp_num_siblings on Intel Hybrid platforms
| * 518c39fc1e parisc: Fix flush_dcache_page() for usage from irq context
| * 2d78438c31 selftests/memfd: Fix unknown type name build failure
| * d4a5e6ae99 x86/mm: Avoid incomplete Global INVLPG flushes
| * 628d7e4941 dt-binding: cdns,usb3: Fix cdns,on-chip-buff-size type
| * 139f84c80d btrfs: use nofs when cleaning up aborted transactions
| * ea50ee0ef9 gpio: mockup: Fix mode of debugfs files
| * c570dbf279 parisc: Allow to reboot machine after system halt
| * de0d7dd5ef parisc: Handle kgdb breakpoints only in kernel context
| * 89eba5586a m68k: Move signal frame following exception on 68020/030
| * 42b78c8cc7 net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
| * 798c1c62cf ALSA: hda/realtek: Enable headset onLenovo M70/M90
| * 1f57a1b979 ALSA: hda: Fix unhandled register update during auto-suspend period
| * b0d7e62fd1 ALSA: hda/ca0132: add quirk for EVGA X299 DARK
| * c41324385a ocfs2: Switch to security_inode_init_security()
| * 60afe299bb spi: fsl-cpm: Use 16 bit mode for large transfers with even size
| * e3674788a8 spi: fsl-spi: Re-organise transfer bits_per_word adaptation
| * 5324510378 act_mirred: use the backlog for nested calls to mirred ingress
| * f5bf8e3ca1 net/sched: act_mirred: better wording on protection against excessive stack growth
| * bba7ebe10b net/sched: act_mirred: refactor the handle of xmit
| * 047f618d19 writeback, cgroup: remove extra percpu_ref_exit()
| * 84fbe6ad0f ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15
| * dbcc95bb51 watchdog: sp5100_tco: Immediately trigger upon starting.
| * 75258f0838 s390/qdio: fix do_sqbs() inline assembly constraint
| * 3681a0287a s390/qdio: get rid of register asm
| * 9c9f253fc6 serial: 8250_exar: Add support for USR298x PCI Modems
| * 1ffa0b8ba9 serial: exar: Add support for Sealevel 7xxxC serial cards
| * fb3c5714f5 serial: 8250_exar: derive nr_ports from PCI ID for Acces I/O cards
| * 18fbf8cfbb KVM: arm64: Link position-independent string routines into .hyp.text
| * e266da1656 HID: wacom: add three styli to wacom_intuos_get_tool_type
| * dfd419db03 HID: wacom: Add new Intuos Pro Small (PTH-460) device IDs
| * 05b1703797 HID: wacom: Force pen out of prox if no events have been received in a while
| * 6b4205ea97 nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode()
| * 710dee5701 powerpc/64s/radix: Fix soft dirty tracking
| * ae149cdaef tpm/tpm_tis: Disable interrupts for more Lenovo devices
| * 8c0109d762 ceph: force updating the msg pointer in non-split case
| * 11dddfbb7a vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF
| * ea3d5de90b serial: Add support for Advantech PCI-1611U card
| * ba061afa06 statfs: enforce statfs[64] structure initialization
| * 845f98af6a can: kvaser_pciefd: Disable interrupts in probe error path
| * 7a7ec807fe can: kvaser_pciefd: Do not send EFLUSH command on TFD interrupt
| * 65e85232ff can: kvaser_pciefd: Clear listen-only bit if not explicitly requested
| * 0babb3fabf can: kvaser_pciefd: Empty SRB buffer in probe
| * 03714e9c04 can: kvaser_pciefd: Call request_irq() before enabling interrupts
| * 3bbeba3ce1 can: kvaser_pciefd: Set CAN_STATE_STOPPED in kvaser_pciefd_stop()
| * 073a4d750c can: isotp: recvmsg(): allow MSG_CMSG_COMPAT flag
| * b4b8294a41 can: j1939: recvmsg(): allow MSG_CMSG_COMPAT flag
| * f7f799a6fe ALSA: hda/realtek: Add quirk for 2nd ASUS GU603
| * b4f770e612 ALSA: hda/realtek: Add a quirk for HP EliteDesk 805
| * 6cebdffba6 ALSA: hda/realtek: Add quirk for Clevo L140AU
| * 3add6b2a4a ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table
| * 546b1f5f45 ALSA: hda: Fix Oops by 9.1 surround channel names
| * ff466f77d0 usb: typec: altmodes/displayport: fix pin_assignment_show
| * 35e31e1e92 usb: gadget: u_ether: Fix host MAC address case
| * e35adb75fd usb: dwc3: debugfs: Resume dwc3 before accessing registers
| * 66070f5b99 USB: UHCI: adjust zhaoxin UHCI controllers OverCurrent bit value
| * 0caed1faf5 usb-storage: fix deadlock when a scsi command timeouts more than once
| * 6340e432cf USB: usbtmc: Fix direction for 0-length ioctl control messages
| * 3b3c6f2d2f ALSA: usb-audio: Add a sample rate workaround for Line6 Pod Go
| * 3bd6d11e7e bridge: always declare tunnel functions
| * 3fa13203b6 netfilter: nft_set_rbtree: fix null deref on element insertion
| * 6cfe6f5185 vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit()
| * 562ec162b0 igb: fix bit_shift to be in [1..8] range
| * dc61f7582c cassini: Fix a memory leak in the error handling path of cas_init_one()
| * 81139679f4 scsi: storvsc: Don't pass unused PFNs to Hyper-V host
| * d0d39bed9e wifi: iwlwifi: mvm: don't trust firmware n_channels
| * f9337a4177 wifi: mac80211: fix min center freq offset tracing
| * 43f6575004 net: bcmgenet: Restore phy_stop() depending upon suspend/close
| * e92727ed9e net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop()
| * 2937127d24 tipc: check the bearer min mtu properly when setting it by netlink
| * 2bd4ff4ffb tipc: do not update mtu if msg_max is too small in mtu negotiation
| * 097ea78d8c tipc: add tipc_bearer_min_mtu to calculate min mtu
| * 76ea144a35 net/tipc: fix tipc header files for kernel-doc
| * 02b20e0bc0 net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment()
| * 01cdda0d27 drm/exynos: fix g2d_open/close helper function definitions
| * ce97bb60a6 SUNRPC: Fix trace_svc_register() call site
| * f9982db735 media: netup_unidvb: fix use-after-free at del_timer()
| * 0cefa42152 net: hns3: fix reset delay time to avoid configuration timeout
| * aba74ad998 net: hns3: fix sending pfc frames after reset issue
| * e1f800be74 erspan: get the proto with the md version for collect_md
| * 153017561d serial: arc_uart: fix of_iomap leak in `arc_serial_probe`
| * e7fd68abbb tcp: fix possible sk_priority leak in tcp_v4_send_reset()
| * 788791990d net: Find dst with sk's xfrm policy not ctl_sk
| * a9ef8b2589 ipv4/tcp: do not use per netns ctl sockets
| * 1716699177 vsock: avoid to close connected socket after the timeout
| * b1cf6bd883 ALSA: hda/realtek: Apply HP B&O top speaker profile to Pavilion 15
| * 13c5fa1248 ALSA: firewire-digi00x: prevent potential use after free
| * 6fb537895d net: phy: dp83867: add w/a for packet errors seen with short cables
| * 83996d317b net: fec: Better handle pm_runtime_get() failing in .remove()
| * 8f57715f8e af_key: Reject optional tunnel/BEET mode templates in outbound policies
| * f5cb28a90c cpupower: Make TSC read per CPU for Mperf monitor
| * dc30fed07d drm/msm/dpu: Remove duplicate register defines from INTF
| * eaf9394ed7 drm/msm/dp: unregister audio driver during unbind
| * c5449195f8 Revert "Fix XFRM-I support for nested ESP tunnels"
| * 295e07a76b xfrm: don't check the default policy if the policy allows the packet
| * 84fdaaf0d7 btrfs: fix space cache inconsistency after error loading it from disk
| * a842fb6038 btrfs: replace calls to btrfs_find_free_ino with btrfs_find_free_objectid
| * 9c69a9d058 btrfs: move btrfs_find_highest_objectid/btrfs_find_free_objectid to disk-io.c
| * 6a1a72a8cf mfd: dln2: Fix memory leak in dln2_probe()
| * 7d939e367b phy: st: miphy28lp: use _poll_timeout functions for waits
| * 3b37bb0d92 Input: xpad - add constants for GIP interface numbers
| * 94ec1a44e8 iommu/arm-smmu-v3: Acknowledge pri/event queue overflow if any
| * cae5f8f4f7 clk: tegra20: fix gcc-7 constant overflow warning
| * 8c472e68be iommu/arm-smmu-qcom: Limit the SMR groups to 128
| * 214ae2c1a9 RDMA/core: Fix multiple -Warray-bounds warnings
| * 2d9ca5f62f recordmcount: Fix memory leaks in the uwrite function
| * cf3e291601 sched: Fix KCSAN noinstr violation
| * 158502f790 mcb-pci: Reallocate memory region to avoid memory overlapping
| * 2c86a1305c serial: 8250: Reinit port->pm on port specific driver unbind
| * 7ed30db879 usb: typec: tcpm: fix multiple times discover svids error
| * 60fabcba75 HID: wacom: generic: Set battery quirk only when we see battery data
| * d234de1a92 spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3
| * 0898a1df72 HID: logitech-hidpp: Reconcile USB and Unifying serials
| * 958534d436 HID: logitech-hidpp: Don't use the USB serial for USB devices
| * bb1313f37e staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE
| * 55410a9144 Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp
| * a2d816f55d Bluetooth: hci_bcm: Fall back to getting bdaddr from EFI if not set
| * ba66851aba ipvs: Update width of source for ip_vs_sync_conn_options
| * 866921dc06 wifi: ath11k: Fix SKB corruption in REO destination ring
| * 91ad1ab3cc wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace
| * e732a266b9 null_blk: Always check queue mode setting from configfs
| * 059e426d66 wifi: iwlwifi: pcie: Fix integer overflow in iwl_write_to_user_buf
| * 0fc0d287c1 wifi: iwlwifi: pcie: fix possible NULL pointer dereference
| * 7560ed6592 samples/bpf: Fix fout leak in hbm's run_bpf_prog
| * ad87bd313f f2fs: fix to drop all dirty pages during umount() if cp_error is set
| * fc7237e191 ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa()
| * 3ca3005b50 ext4: set goal start correctly in ext4_mb_normalize_request
| * 4c2c8f9599 gfs2: Fix inode height consistency check
| * 697f92f831 scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition
| * f748e15253 lib: cpu_rmap: Avoid use after free on rmap->obj array entries
| * 4621e24c92 scsi: target: iscsit: Free cmds before session free
| * 2ea171230a net: Catch invalid index in XPS mapping
| * 8b61e7ad13 net: pasemi: Fix return type of pasemi_mac_start_tx()
| * e0e7faee3a scsi: lpfc: Prevent lpfc_debugfs_lockstat_write() buffer overflow
| * 22ab5fed07 ext2: Check block size validity during mount
| * 4e8dc0e5c7 wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex
| * e8d49d1c59 bpf: Annotate data races in bpf_local_storage
| * 30d041c18d wifi: ath: Silence memcpy run-time false positive warning
| * b8e7589f50 drm/amd: Fix an out of bounds error in BIOS parser
| * 978e0d0554 ACPICA: ACPICA: check null return of ACPI_ALLOCATE_ZEROED in acpi_db_display_objects
| * 16359bc02c ACPICA: Avoid undefined behavior: applying zero offset to null pointer
| * 3f64a0e664 drm/tegra: Avoid potential 32-bit integer overflow
| * f718f1fd3e remoteproc: stm32_rproc: Add mutex protection for workqueue
| * 066b90bca7 ACPI: EC: Fix oops when removing custom query handlers
| * 7d8f5ccc82 firmware: arm_sdei: Fix sleep from invalid context BUG
| * 5c23f6da62 memstick: r592: Fix UAF bug in r592_remove due to race condition
| * ae6769fb93 arm64: dts: qcom: msm8996: Add missing DWC3 quirks
| * bb1616e105 regmap: cache: Return error in cache sync operations for REGCACHE_NONE
| * d5138ad7ca drm/amd/display: Use DC_LOG_DC in the trasform pixel function
| * c8daee6658 fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode()
| * a7d21b8585 rcu: Protect rcu_print_task_exp_stall() ->exp_tasks access
| * e4842de4ec refscale: Move shutdown from wait_event() to wait_event_idle()
| * 100c0ad6c0 ext4: allow ext4_get_group_info() to fail
| * 371d8b8ea0 ext4: allow to find by goal if EXT4_MB_HINT_GOAL_ONLY is set
| * 8669fff0d0 ext4: add mballoc stats proc file
| * 9b6a0c140e ext4: drop s_mb_bal_lock and convert protected fields to atomic
| * 0983142c5f ext4: remove redundant mb_regenerate_buddy()
| * d48b7eea94 ext4: fix lockdep warning when enabling MMP
| * 5c87115520 ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled
| * 8284c7592d ext4: reflect error codes from ext4_multi_mount_protect() to its callers
| * efd18a91c9 ext4: remove an unused variable warning with CONFIG_QUOTA=n
| * df1be652a4 fbdev: arcfb: Fix error handling in arcfb_probe()
| * bd6b353671 drm/i915/dp: prevent potential div-by-zero
| * 8307e372e7 af_unix: Fix data races around sk->sk_shutdown.
| * 9b977b0cbb af_unix: Fix a data race of sk->sk_receive_queue->qlen.
| * fb6ac4b5bd net: datagram: fix data-races in datagram_poll()
| * f4a371d3f5 ipvlan:Fix out-of-bounds caused by unclear skb->cb
| * 963fe9ed86 tcp: add annotations around sk->sk_shutdown accesses
| * f86568eca4 tcp: factor out __tcp_close() helper
| * 34a5ee69ec net: add vlan_get_protocol_and_depth() helper
| * 9ccf3edbaf net: tap: check vlan with eth_type_vlan() method
| * 4493914009 net: deal with most data-races in sk_wait_event()
| * 1b33bdd766 net: annotate sk->sk_err write from do_recvmmsg()
| * f92557f79a netlink: annotate accesses to nlk->cb_running
| * 26001e75dc netfilter: conntrack: fix possible bug_on with enable_hooks=1
| * d06f67b2b8 net: Fix load-tearing on sk->sk_stamp in sock_recv_cmsgs().
| * 8eb35b1aca linux/dim: Do nothing if no time delta between samples
| * 4d3ae448e8 net: mdio: mvusb: Fix an error handling path in mvusb_mdio_probe()
| * b882224d73 ARM: 9296/1: HP Jornada 7XX: fix kernel-doc warnings
| * 139c27648f drm/mipi-dsi: Set the fwnode for mipi_dsi_device
| * 423908e89d driver core: add a helper to setup both the of_node and fwnode of a device
* | 6229d57677 Revert "arm64: Stash shadow stack pointer in the task struct on interrupt"
* | d70c95bd81 Merge 5.10.180 into android12-5.10-lts
|\|
| * 4c893ff559 Linux 5.10.180
| * 3ebe5d6d69 drm/amd/display: Fix hang when skipping modeset
| * a992c387b4 mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock
| * f2656f437f drm/exynos: move to use request_irq by IRQF_NO_AUTOEN flag
| * 32232bcd4e printk: declare printk_deferred_{enter,safe}() in include/linux/printk.h
| * fcfe05990a KVM: x86: move guest_pv_has out of user_access section
| * 85cfbaa575 KVM: x86: do not report preemption if the steal time cache is stale
| * 4bffae22be KVM: x86: revalidate steal time cache if MSR value changes
| * e10a73f538 KVM: x86: do not set st->preempted when going back to user space
| * 0296620043 KVM: x86: Remove obsolete disabling of page faults in kvm_arch_vcpu_put()
| * 8e39c2f407 KVM: Fix steal time asm constraints
| * ebd3010d42 KVM: x86: Fix recording of guest steal time / preempted status
| * 4b19cbdb1d KVM: x86: Ensure PV TLB flush tracepoint reflects KVM behavior
| * 01c0002ec7 drbd: correctly submit flush bio on barrier
| * ef77d602e3 serial: 8250: Fix serial8250_tx_empty() race with DMA Tx
| * 1a8822343e ext4: fix invalid free tracking in ext4_xattr_move_to_block()
| * b0fc279de4 ext4: remove a BUG_ON in ext4_mb_release_group_pa()
| * d88fe8e611 ext4: bail out of ext4_xattr_ibody_get() fails for any reason
| * 4597554b4f ext4: add bounds checking in get_max_inline_xattr_value_size()
| * 5f8b55136a ext4: fix deadlock when converting an inline directory in nojournal mode
| * 37c69da3ad ext4: improve error recovery code paths in __ext4_remount()
| * 08838aeefa ext4: check iomap type only if ext4_iomap_begin() does not fail
| * 4aa7f744fa ext4: fix data races when using cached status extents
| * 0dde3141c5 ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum
| * 5d356d902e ext4: fix WARNING in mb_find_extent
| * 529f41f0eb KVM: x86: do not report a vCPU as preempted outside instruction boundaries
| * 0cb6e9e7d3 KVM: x86: hyper-v: Avoid calling kvm_make_vcpus_request_mask() with vcpu_mask==NULL
| * 4502ebbdc0 HID: wacom: insert timestamp to packed Bluetooth (BT) events
| * 77fd800d3f HID: wacom: Set a default resolution for older tablets
| * c1420276be drm/amdgpu: disable sdma ecc irq only when sdma RAS is enabled in suspend
| * 20ca90ceda drm/amdgpu/gfx: disable gfx9 cp_ecc_error_irq only when enabling legacy gfx ras
| * eed63477ae drm/amdgpu: fix an amdgpu_irq_put() issue in gmc_v9_0_hw_fini()
| * c85327c1e9 drm/panel: otm8009a: Set backlight parent to panel device
| * 957904f531 f2fs: fix potential corruption when moving a directory
| * 4a638a9582 ARM: dts: s5pv210: correct MIPI CSIS clock name
| * fed6318e47 ARM: dts: exynos: fix WM8960 clock name in Itop Elite
| * 777952ce11 remoteproc: st: Call of_node_put() on iteration error
| * 30e0834bec remoteproc: stm32: Call of_node_put() on iteration error
| * 62fe5d74ef sh: nmi_debug: fix return value of __setup handler
| * 9245f34029 sh: init: use OF_EARLY_FLATTREE for early init
| * f19bc0d2a6 sh: mcount.S: fix build error when PRINTK is not enabled
| * bbad64abd6 sh: math-emu: fix macro redefined warning
| * 2d65c97777 inotify: Avoid reporting event with invalid wd
| * 73aef14407 platform/x86: touchscreen_dmi: Add info for the Dexp Ursus KX210i
| * 4b87eec73e platform/x86: touchscreen_dmi: Add upside-down quirk for GDIX1002 ts on the Juno Tablet
| * 8c2cdb7326 cifs: fix pcchunk length type in smb2_copychunk_range
| * 829c20fd7a btrfs: print-tree: parent bytenr must be aligned to sector size
| * 148b16cd30 btrfs: don't free qgroup space unless specified
| * 08fa23adbd btrfs: fix btrfs_prev_leaf() to not return the same key twice
| * 7a4db11f00 perf symbols: Fix return incorrect build_id size in elf_read_build_id()
| * 87a1fa0ad7 crypto: sun8i-ss - Fix a test in sun8i_ss_setup_ivs()
| * be3517ae6b perf map: Delete two variable initialisations before null pointer checks in sort__sym_from_cmp()
| * 604b650fb5 perf pmu: zfree() expects a pointer to a pointer to zero it after freeing its contents
| * 1ebd0dfb27 perf vendor events power9: Remove UTF-8 characters from JSON files
| * 796616f216 net: enetc: check the index of the SFI rather than the handle
| * b6b15de512 virtio_net: suppress cpu stall when free_unused_bufs
| * c043714ef2 virtio_net: split free_unused_bufs()
| * 0773270b13 net: dsa: mt7530: fix corrupt frames using trgmii on 40 MHz XTAL MT7621
| * 0f1ad0ef60 ALSA: caiaq: input: Add error handling for unsupported input methods in `snd_usb_caiaq_input_init`
| * 7f497a9451 drm/amdgpu: add a missing lock for AMDGPU_SCHED
| * f00ef2618f af_packet: Don't send zero-byte data in packet_sendmsg_spkt().
| * 02359ba526 ionic: remove noise from ethtool rxnfc error msg
| * 3605b33184 octeontx2-vf: Detach LF resources on probe cleanup
| * ea7453f5e5 octeontx2-pf: Disable packet I/O for graceful exit
| * 15152b8a4b rxrpc: Fix hard call timeout units
| * 9291aba0ff sfc: Fix module EEPROM reporting for QSFP modules
| * 774da70521 net/sched: act_mirred: Add carrier check
| * f3fae1b1c7 watchdog: dw_wdt: Fix the error handling path of dw_wdt_drv_probe()
| * 3b7798b42e writeback: fix call of incorrect macro
| * f47f0fb5b5 net: dsa: mv88e6xxx: add mv88e6321 rsvd2cpu
| * d6f0687d50 sit: update dev->needed_headroom in ipip6_tunnel_bind_dev()
| * 7311c8be37 net/sched: cls_api: remove block_cb from driver_list before freeing
| * cc8efc78c3 net/ncsi: clear Tx enable mode when handling a Config required AEN
| * fa19c533ab scsi: qedi: Fix use after free bug in qedi_remove()
| * 4285cc0a22 dm verity: fix error handling for check_at_most_once on FEC
| * fc097cfca0 dm verity: skip redundant verity_handle_err() on I/O errors
| * 26b1b0d0be mailbox: zynqmp: Fix counts of child nodes
| * 67fb57f247 mailbox: zynq: Switch to flexible array to simplify code
| * c4e636f025 crypto: ccp - Clear PSP interrupt status register before calling handler
| * 6f60aae72c ring-buffer: Ensure proper resetting of atomic variables in ring_buffer_reset_online_cpus
| * 2fcb12b3f4 tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH
| * 6c2ee50c90 tty: clean include/linux/tty.h up
| * 57b510c7d3 tty: move some tty-only functions to drivers/tty/tty.h
| * 1924d47a28 tty: move some internal tty lock enums and functions out of tty.h
| * f665d81ffa tty: audit: move some local functions out of tty.h
| * 6a392b806f tty: create internal tty.h file
| * e044a24447 netfilter: nf_tables: deactivate anonymous set from preparation phase
| * a222d2794c scsi: target: core: Avoid smp_processor_id() in preemptible code
| * 14fc6af67b arm64: dts: qcom: sdm845: correct dynamic power coefficients
| * c820c05c5f sound/oss/dmasound: fix 'dmasound_setup' defined but not used
| * 9079ff34a1 debugobject: Ensure pool refill (again)
| * 3f225f29c6 arm64: Stash shadow stack pointer in the task struct on interrupt
* | d9baf420d0 Merge 9134b5a464 ("arm64: Always load shadow stack pointer directly from the task struct") into android12-5.10-lts
|\|
| * 9134b5a464 arm64: Always load shadow stack pointer directly from the task struct
* | 4a2ed7d4bc Merge a25a403e4b ("perf intel-pt: Fix CYC timestamps after standalone CBR") into android12-5.10-lts
|\|
| * a25a403e4b perf intel-pt: Fix CYC timestamps after standalone CBR
| * 905f847675 perf auxtrace: Fix address filter entire kernel size
* | 5cb8a3c82c Merge ea827627a9 ("dm ioctl: fix nested locking in table_clear() to remove deadlock concern") into android12-5.10-lts
|\|
| * ea827627a9 dm ioctl: fix nested locking in table_clear() to remove deadlock concern
* | e3f8cee7f9 Merge a1e3fffe02 ("dm flakey: fix a crash with invalid table line") into android12-5.10-lts
|\|
| * a1e3fffe02 dm flakey: fix a crash with invalid table line
* | eee3af95eb Merge 44f29e93a5 ("dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path") into android12-5.10-lts
|\|
| * 44f29e93a5 dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path
* | 7a6cb8c4fa Merge 717ceb487b ("dm clone: call kmem_cache_destroy() in dm_clone_init() error path") into android12-5.10-lts
|\|
| * 717ceb487b dm clone: call kmem_cache_destroy() in dm_clone_init() error path
* | c7f1b9f365 Merge eded3ad80a ("ia64: fix an addr to taddr in huge_pte_offset()") into android12-5.10-lts
|\|
| * eded3ad80a ia64: fix an addr to taddr in huge_pte_offset()
| * abb427cb77 s390/dasd: fix hanging blockdevice after request requeue
| * c96807a4ad btrfs: scrub: reject unsupported scrub flags
| * f7fd1eed31 scripts/gdb: fix lx-timerlist for Python3
| * 9aabb5f9ef afs: Fix updating of i_size with dv jump from server
| * 3530a795bb mfd: tqmx86: Correct board names for TQMxE39x
| * cbe060011b mfd: tqmx86: Specify IO port register range more precisely
| * 640a1f7e36 mfd: tqmx86: Add support for TQMx110EB and TQMxE40x
| * 4be49b7c24 mfd: tqmx86: Remove incorrect TQMx90UC board ID
| * 6697a3b0ed mfd: tqmx86: Do not access I2C_DETECT register through io_base
| * 15da2acad5 thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe
| * 08012d9edc dmaengine: at_xdmac: do not enable all cyclic channels
| * 4f6303fd8f dmaengine: dw-edma: Fix to enable to issue dma request on DMA processing
| * b295431945 dmaengine: dw-edma: Fix to change for continuous transfer
| * da67d60467 phy: tegra: xusb: Add missing tegra_xusb_port_unregister for usb2_port and ulpi_port
| * 45e4c00940 pwm: mtk-disp: Disable shadow registers before setting backlight values
| * 6d13804388 pwm: mtk-disp: Adjust the clocks to avoid them mismatch
| * 060bd30bf7 pwm: mtk-disp: Don't check the return code of pwmchip_remove()
| * 795cec288e leds: tca6507: Fix error handling of using fwnode_property_read_string
| * 033f00eb89 dmaengine: mv_xor_v2: Fix an error code.
| * 198fbdd106 leds: TI_LMU_COMMON: select REGMAP instead of depending on it
| * 770b061363 ext4: fix use-after-free read in ext4_find_extent for bigalloc + inline
| * 8f009ae90b openrisc: Properly store r31 to pt_regs on unhandled exceptions
| * 1fe1580521 clocksource/drivers/davinci: Fix memory leak in davinci_timer_register when init fails
| * 3bc78eddf0 RDMA/mlx5: Use correct device num_ports when modify DC
| * 95468f165d SUNRPC: remove the maximum number of retries in call_bind_status
| * 50440cdb0b RDMA/mlx5: Fix flow counter query via DEVX
| * 0d6a5c9489 Input: raspberrypi-ts - fix refcount leak in rpi_ts_probe
| * 09bfd90d04 input: raspberrypi-ts: Release firmware handle when not needed
| * 3aa2503717 firmware: raspberrypi: Introduce devm_rpi_firmware_get()
| * 73a65744c7 NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease
| * 9c4c6512d7 IB/hfi1: Fix bugs with non-PAGE_SIZE-end multi-iovec user SDMA requests
| * f84c025978 IB/hfi1: Add additional usdma traces
| * 1af73620a1 IB/hfi1: Add AIP tx traces
| * 823b59fc56 IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order
| * 8ec6acdb9b RDMA/srpt: Add a check for valid 'mad_agent' pointer
| * 16f596cfe9 RDMA/cm: Trace icm_send_rej event before the cm state is reset
| * 3ef7a4c0d5 RDMA/siw: Remove namespace check from siw_netdev_event()
| * ac7f79ee11 clk: add missing of_node_put() in "assigned-clocks" property parsing
| * 391fbf0d08 power: supply: generic-adc-battery: fix unit scaling
| * 9e5a7c1106 rtc: meson-vrtc: Use ktime_get_real_ts64() to get the current time
| * 9ad3221c86 RDMA/mlx4: Prevent shift wrapping in set_user_sq_size()
| * 889a2070dc rtc: omap: include header for omap_rtc_power_off_program prototype
* | b38d756cea Revert "workqueue: Rename "delayed" (delayed by active management) to "inactive""
* | 24c41942a4 Revert "workqueue: Fix hung time report of worker pools"
* | 24c3784e97 Merge 647781347a ("workqueue: Fix hung time report of worker pools") into android12-5.10-lts
|\|
| * 647781347a workqueue: Fix hung time report of worker pools
| * 77d9a64cfb workqueue: Rename "delayed" (delayed by active management) to "inactive"
* | de3c7c404a Merge 960167e0e0 ("RDMA/rdmavt: Delete unnecessary NULL check") into android12-5.10-lts
|\|
| * 960167e0e0 RDMA/rdmavt: Delete unnecessary NULL check
| * f7790aecb3 RDMA/siw: Fix potential page_array out of range access
| * ab8646c9a0 clk: at91: clk-sam9x60-pll: fix return value check
| * 8f381b2494 perf/core: Fix hardlockup failure caused by perf throttle
| * 3ea9186a3e powerpc/rtas: use memmove for potentially overlapping buffer copy
| * 6339b9dcdb macintosh: via-pmu-led: requires ATA to be set
| * 15f3a811bf powerpc/sysdev/tsi108: fix resource printk format warnings
| * 4f41f55d82 powerpc/wii: fix resource printk format warnings
| * 701e3e5999 powerpc/mpc512x: fix resource printk format warning
| * d68265ec0b macintosh/windfarm_smu_sat: Add missing of_node_put()
| * c45ab3ab9c spmi: Add a check for remove callback when removing a SPMI driver
| * 4ca4a3e454 staging: rtl8192e: Fix W_DISABLE# does not work after stop/start
| * d5d628fea5 serial: 8250: Add missing wakeup event reporting
| * fde8ffaaac tty: serial: fsl_lpuart: adjust buffer length to the intended size
| * 5a76bc35cc firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe
| * 012936502a usb: mtu3: fix kernel panic at qmu transfer done irq handler
| * e8f64f3200 usb: chipidea: fix missing goto in `ci_hdrc_probe`
| * 7d667749b3 usb: gadget: tegra-xudc: Fix crash in vbus_draw
| * 95d97e182d sh: sq: Fix incorrect element size for allocating bitmap buffer
* | 01e0792f60 Revert "uapi/linux/const.h: prefer ISO-friendly __typeof__"
* | 2343b43cca Merge a69eb1200e ("uapi/linux/const.h: prefer ISO-friendly __typeof__") into android12-5.10-lts
|\|
| * a69eb1200e uapi/linux/const.h: prefer ISO-friendly __typeof__
* | 2dcf843019 Merge fd7bf900c3 ("i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path") into android12-5.10-lts
|\|
| * fd7bf900c3 i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path
| * b24f1ecc8f spi: cadence-quadspi: fix suspend-resume implementations
| * b5a6930fc6 ASoC: fsl_mqs: move of_node_put() to the correct location
| * 5bf2d84074 coresight: etm_pmu: Set the module field
| * 174d7483f1 scripts/gdb: bail early if there are no generic PD
| * 01710564a9 scripts/gdb: bail early if there are no clocks
| * b4b4409510 ia64: salinfo: placate defined-but-not-used warning
| * 65b5b2c5fd ia64: mm/contig: fix section mismatch warning/error
| * fd4e45d8d7 PCI/EDR: Clear Device Status after EDR error recovery
| * 9e5ee4fa0d of: Fix modalias string generation
| * 85b4aa4eb2 vmci_host: fix a race condition in vmci_host_poll() causing GPF
| * 4bdae667f9 spi: fsl-spi: Fix CPM/QE mode Litte Endian
| * bc88243bbe spi: qup: Don't skip cleanup in remove's error path
| * 00c5b5498b linux/vt_buffer.h: allow either builtin or modular for macros
| * d4a3c912c8 ASoC: es8316: Handle optional IRQ assignment
| * 67b6e077fb ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ
| * eb971efca7 PCI: imx6: Install the fault handler only on compatible match
| * 36c237b202 usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition
| * aa93a46f99 spi: imx: Don't skip cleanup in remove's error path
| * c3aba912f4 spi: spi-imx: using pm_runtime_resume_and_get instead of pm_runtime_get_sync
| * f1f3bc9915 iio: light: max44009: add missing OF device matching
| * ed1f459af6 fpga: bridge: fix kernel-doc parameter description
| * 98bf98e749 usb: dwc3: gadget: Change condition for processing suspend event
| * 8a859ac86d usb: host: xhci-rcar: remove leftover quirk handling
| * c76ba91791 pstore: Revert pmsg_lock back to a normal mutex
| * 7d285c6cfe ipmi: ASPEED_BT_IPMI_BMC: select REGMAP_MMIO instead of depending on it
| * 230a5ed7d8 tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp.
| * 0abcb0b0d6 net: amd: Fix link leak when verifying config failed
| * b978d22fa1 netlink: Use copy_to_user() for optval in netlink_getsockopt().
| * 0837d10f6c Revert "Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work"
| * 566785731c ipv4: Fix potential uninit variable access bug in __ip_make_skb()
| * 4b8a05e380 net/sched: sch_fq: fix integer overflow of "credit"
| * cb71b24a89 netfilter: nf_tables: don't write table validation state without mutex
| * f4fc43fde1 bpf: Don't EFAULT for getsockopt with optval=NULL
| * 80090acb58 ixgbe: Enable setting RSS table to default values
| * 7a150a5b54 ixgbe: Allow flow hash to be set via ethtool
| * 89496d6cff wifi: iwlwifi: fw: fix memory leak in debugfs
| * f4eb14d261 wifi: iwlwifi: mvm: check firmware response size
| * 4ff7c0fbb3 wifi: iwlwifi: make the loop for card preparation effective
| * 62fde46517 jdb2: Don't refuse invalidation of already invalidated buffers
| * 038cbab550 wifi: iwlwifi: fw: move memset before early return
| * c0ca382419 wifi: iwlwifi: yoyo: Fix possible division by zero
| * 2a65555f7e md/raid10: fix memleak of md thread
| * 6361b0592b md/raid10: fix memleak for 'conf->bio_split'
| * 1697fb124c md/raid10: fix leak of 'r10bio->remaining' for recovery
| * fcacaa9d04 bpf, sockmap: Revert buggy deadlock fix in the sockhash and sockmap
| * 21f2503d37 nvme-fcloop: fix "inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage"
| * e119d19183 nvme: fix async event trace event
| * a9e3d9bac9 nvme: handle the persistent internal error AER
| * 2f93072222 bpf, sockmap: fix deadlocks in the sockhash and sockmap
| * 2be04fa7ee net: ethernet: stmmac: dwmac-rk: fix optional phy regulator handling
| * bab8dc38b1 scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup()
| * b2f423fda6 f2fs: fix to avoid use-after-free for cached IPU bio
| * 5877980dc2 xsk: Fix unaligned descriptor validation
| * 2a67bc52cd crypto: drbg - Only fail when jent is unavailable in FIPS mode
| * 9dbdedd44f crypto: drbg - make drbg_prepare_hrng() handle jent instantiation errors
| * 27942f477d bpftool: Fix bug for long instructions in program CFG dumps
| * 072d16abf5 selftests/bpf: Wait for receive in cg_storage_multi test
| * d64a12eeb4 net: qrtr: correct types of trace event parameters
| * dc55805db2 wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_reg()
| * c621697505 wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_rfreg()
* | be7602cdd6 Merge adc2d82eee ("crypto: sa2ul - Select CRYPTO_DES") into android12-5.10-lts
|\|
| * adc2d82eee crypto: sa2ul - Select CRYPTO_DES
| * de3908e151 crypto: caam - Clear some memory in instantiate_rng
| * a8226a45b2 f2fs: compress: fix to call f2fs_wait_on_page_writeback() in f2fs_write_raw_pages()
| * d11a74577c f2fs: apply zone capacity to all zone type
| * d420c4a06d f2fs: enforce single zone capacity
| * c3a1914b96 f2fs: handle dqget error in f2fs_transfer_project_quota()
| * 202048ec1e scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS
| * bfe67e0563 scsi: target: iscsit: Fix TAS handling during conn cleanup
| * e1f59cd18a scsi: target: Fix multiple LUN_RESET handling
| * 008b936bbd scsi: target: Make state_list per CPU
| * 7c8a29f1b2 scsi: target: Rename cmd.bad_sector to cmd.sense_info
| * 621c89a021 scsi: target: Rename struct sense_info to sense_detail
| * 05c6db12ae net/packet: convert po->auxdata to an atomic flag
| * 5ca1be3658 net/packet: convert po->origdev to an atomic flag
| * 8bb81a925a net/packet: annotate accesses to po->xmit
| * ba6d56b20e vlan: partially enable SIOCSHWTSTAMP in container
| * 118df5df1b bpf: Remove misleading spec_v1 check on var-offset stack read
| * 10c1051267 scm: fix MSG_CTRUNC setting condition for SO_PASSSEC
| * 10702be8b3 bpf: fix precision propagation verbose logging
| * 6be8ad4cdc bpf: take into account liveness when propagating precision
| * 243fab8e37 wifi: rtw88: mac: Return the original error from rtw_mac_power_switch()
| * 1980dd8c53 wifi: rtw88: mac: Return the original error from rtw_pwr_seq_parser()
| * 3ab6ec6c48 tools: bpftool: Remove invalid \' json escape
| * 1300517e37 wifi: ath6kl: reduce WARN to dev_dbg() in callback
| * 6c91b3b57b wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list()
| * 320d760a35 wifi: ath9k: hif_usb: fix memory leak of remain_skbs
| * 129c3fb579 wifi: ath6kl: minor fix for allocation size
| * c401368926 tick/common: Align tick period with the HZ tick.
| * 107ea1f63b tick: Get rid of tick_period
| * fdc4876746 tick/sched: Optimize tick_do_update_jiffies64() further
| * 93c4300836 tick/sched: Reduce seqcount held scope in tick_do_update_jiffies64()
| * ca721584e9 tick/sched: Use tick_next_period for lockless quick check
| * 780f303233 drm/i915: Make intel_get_crtc_new_encoder() less oopsy
| * 9edf5518db debugobject: Prevent init race with static objects
| * f16f065f8c arm64: kgdb: Set PSTATE.SS to 1 to re-enable single-step
| * 55fc2246c4 x86/ioapic: Don't return 0 from arch_dynirq_lower_bound()
| * dfce9bb351 regulator: stm32-pwr: fix of_iomap leak
| * a6aeba550c media: venus: dec: Fix handling of the start cmd
| * 3a227dc12b media: venus: vdec: Handle DRC after drain
| * 5bac3de7f4 media: venus: preserve DRC state across seeks
| * 4c1239274f media: venus: vdec: Make decoder return LAST flag for sufficient event
| * a30297bff8 media: venus: vdec: Fix non reliable setting of LAST flag
| * 025a34716c media: rc: gpio-ir-recv: Fix support for wake-up
| * 1acb982e36 media: rcar_fdp1: Fix refcount leak in probe and remove function
| * ccc454881f media: rcar_fdp1: Fix the correct variable assignments
| * ee24c9e232 media: rcar_fdp1: Make use of the helper function devm_platform_ioremap_resource()
| * bf91fb6c1e media: rcar_fdp1: fix pm_runtime_get_sync() usage count
| * 21de9d0daa media: rcar_fdp1: simplify error check logic at fdp_open()
| * 7dac96e9cc media: saa7134: fix use after free bug in saa7134_finidev due to race condition
| * e9d64e90a0 media: dm1105: Fix use after free bug in dm1105_remove due to race condition
| * de19d02d73 media: rkvdec: fix use after free bug in rkvdec_remove
| * 4883f0f7ee x86/apic: Fix atomic update of offset in reserve_eilvt_offset()
| * 06140d6dfe regulator: core: Avoid lockdep reports when resolving supplies
| * 4c0b98d87c regulator: core: Consistently set mutex_owner when using ww_mutex_lock_slow()
| * e21c93b20a drm/lima/lima_drv: Add missing unwind goto in lima_pdev_probe()
| * 0fc1a90bce ARM: dts: gta04: fix excess dma channel usage
| * f59421334e mmc: sdhci-of-esdhc: fix quirk to ignore command inhibit for data
* | c83bfc082b Merge 1487b29030 ("ACPI: processor: Fix evaluating _PDC method when running as Xen dom0") into android12-5.10-lts
|\|
| * 1487b29030 ACPI: processor: Fix evaluating _PDC method when running as Xen dom0
| * ee22417f82 drm: msm: adreno: Disable preemption on Adreno 510
| * 00f02bb8cb drm/msm/adreno: drop bogus pm_runtime_set_active()
| * f9ba5962cc drm/msm/adreno: Defer enabling runpm until hw_init()
| * 9a3a907cf6 media: max9286: Free control handler
| * f8d28cecf2 drm/bridge: adv7533: Fix adv7533_mode_valid for adv7533 and adv7535
| * 076cdba34d firmware: qcom_scm: Clear download bit during reboot
| * 4362444dca media: bdisp: Add missing check for create_workqueue
| * a9b9ea0e63 x86/MCE/AMD: Use an u64 for bank_map
| * a8504f9a13 ARM: dts: qcom: ipq8064: Fix the PCI I/O port range
| * 7d731faebc ARM: dts: qcom: ipq8064: reduce pci IO size to 64K
| * 870644bf1b ARM: dts: qcom: ipq4019: Fix the PCI I/O port range
| * 4585591295 arm64: dts: qcom: msm8996: Fix the PCI I/O port range
| * b6082e8caa arm64: dts: qcom: ipq8074: Fix the PCI I/O port range
| * 5f6302ab78 arm64: dts: qcom: msm8998: Fix the PCI I/O port range
| * 212352542d arm64: dts: qcom: sdm845: Fix the PCI I/O port range
| * eb9c5b383e arm64: dts: qcom: sdm845: correct dynamic power coefficients
| * 94e6f7e757 arm64: dts: qcom: msm8998: Fix stm-stimulus-base reg name
| * e951bdaa65 EDAC/skx: Fix overflows on the DRAM row address mapping arrays
| * 6e6c27b2fb drm/msm/disp/dpu: check for crtc enable rather than crtc active to release shared resources
| * 9c4c9010ae arm64: dts: renesas: r8a774c0: Remove bogus voltages from OPP table
| * fbfca9b839 arm64: dts: renesas: r8a77990: Remove bogus voltages from OPP table
| * 08310f8109 soc: ti: pm33xx: Fix refcount leak in am33xx_pm_probe
| * a1e6a4161a soc: ti: pm33xx: Enable basic PM runtime support for genpd
| * e33f374d65 drm/probe-helper: Cancel previous job before starting new one
| * 67f07215eb drm/vgem: add missing mutex_destroy
| * ae784c3ed3 drm/rockchip: Drop unbalanced obj unref
| * 056a1217cf erofs: fix potential overflow calculating xattr_isize
| * 7a4579cd6e erofs: stop parsing non-compact HEAD index if clusterofs is invalid
| * e5ec129158 tpm, tpm_tis: Claim locality when interrupts are reenabled on resume
| * 933bfc5ad2 tpm, tpm: Implement usage counter for locality
| * 140735c46d tpm, tpm_tis: Claim locality before writing interrupt registers
| * 35ca7f6252 tpm, tpm_tis: Disable interrupts if tpm_tis_probe_irq() failed
| * cbb1dd2705 tpm, tpm_tis: Claim locality before writing TPM_INT_ENABLE register
| * c62a2331ab tpm, tpm_tis: Do not skip reset of original interrupt vector
| * 3ec77043a2 selinux: ensure av_permissions.h is built when needed
| * fea3144639 selinux: fix Makefile dependencies of flask.h
| * 0c29f14cf4 selftests/resctrl: Check for return value after write_schemata()
| * 4075fbcde4 selftests/resctrl: Return NULL if malloc_and_init_memory() did not alloc mem
| * d0653cc6e0 rcu: Fix missing TICK_DEP_MASK_RCU_EXP dependency check
| * d1ab8b54b2 clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent
* | 6f849f24da Merge e0dd13b49d ("wifi: rtl8xxxu: RTL8192EU always needs full init") into android12-5.10-lts
|\|
| * e0dd13b49d wifi: rtl8xxxu: RTL8192EU always needs full init
| * 0fd9b0f611 mailbox: zynqmp: Fix typo in IPI documentation
| * 63314371eb mailbox: zynqmp: Fix IPI isr handling
| * bdbf104b1c md/raid10: fix null-ptr-deref in raid10_sync_request
| * 8a89d36a07 nilfs2: fix infinite loop in nilfs_mdt_get_block()
| * 7c3e662048 nilfs2: do not write dirty data after degenerating to read-only
| * e4b5264422 parisc: Fix argument pointer in real64_call_asm()
| * be649ea153 sound/oss/dmasound: fix build when drivers are mixed =y/=m
| * b8f444a4fa ubifs: Free memory for tmpfile name
| * 5b4b6cb724 ubi: Fix return value overwrite issue in try_write_vid_and_data()
| * 66e9f2fb3e ubifs: Fix memleak when insert_old_idx() failed
| * a4904c56fc Revert "ubifs: dirty_cow_znode: Fix memleak in error handling path"
| * 87d98984b0 iommu/amd: Fix "Guest Virtual APIC Table Root Pointer" configuration in IRTE
| * db8b34ffb2 i2c: omap: Fix standard mode false ACK readings
| * 2b00b2a0e6 writeback, cgroup: fix null-ptr-deref write in bdi_split_work_to_wbs
| * 1b0df44753 relayfs: fix out-of-bounds access in relay_file_read
| * e28df70df0 KVM: nVMX: Emulate NOPs in L2, and PAUSE if it's not intercepted
| * 680c419d0d reiserfs: Add security prefix to xattr name in reiserfs_security_write()
| * eb18bc5a86 rcu: Avoid stack overflow due to __rcu_irq_enter_check_tick() being kprobe-ed
| * 0a89d4a075 crypto: safexcel - Cleanup ring IRQ workqueues on load failure
| * ff86deaba1 crypto: api - Demote BUG_ON() in crypto_unregister_alg() to a WARN_ON()
| * 1c99f65d6a ring-buffer: Sync IRQ works before buffer destruction
| * dda1372c8d pwm: meson: Fix g12a ao clk81 name
| * c1cabb10e0 pwm: meson: Fix axg ao mux parents
| * fcd2da2e6b kheaders: Use array declaration instead of char
| * 1b633da2fe ipmi: fix SSIF not responding under certain cond.
| * 6d5993d569 ipmi:ssif: Add send_retries increment
* | d7203e0307 Merge 47e61cadc7 ("MIPS: fw: Allow firmware to pass a empty env") into android12-5.10-lts
|\|
| * 47e61cadc7 MIPS: fw: Allow firmware to pass a empty env
| * 2884595932 tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem
| * 29b89908fd xhci: fix debugfs register accesses while suspended
| * a863ac03fa staging: iio: resolver: ads1210: fix config mode
| * c8714ddf3c ext4: use ext4_journal_start/stop for fast commit transactions
| * 701a822076 blk-crypto: make blk_crypto_evict_key() more robust
| * 5072008bef blk-crypto: make blk_crypto_evict_key() return void
| * 874bdf43b4 blk-mq: release crypto keyslot before reporting I/O complete
| * 68494eb75f perf sched: Cast PTHREAD_STACK_MIN to int as it may turn into sysconf(__SC_THREAD_STACK_MIN_VALUE)
| * 7c5811b95c posix-cpu-timers: Implement the missing timer_wait_running callback
| * aed39acf7e hwmon: (adt7475) Use device_property APIs when configuring polarity
| * b009006887 hwmon: (k10temp) Check range scale when CUR_TEMP register is read-write
| * a71cb92ec4 USB: dwc3: fix runtime pm imbalance on unbind
| * 27dc207c38 USB: dwc3: fix runtime pm imbalance on probe errors
| * b978269dda PCI: qcom: Fix the incorrect register usage in v2.7.0 config
| * 2f31633da8 PCI: pciehp: Fix AB-BA deadlock between reset_lock and device_lock
| * 5434c7019d wireguard: timers: cast enum limits members to int in prints
| * 69fdbb334d asm-generic/io.h: suppress endianness warnings for readq() and writeq()
| * 925cbb7253 ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750
| * f5e96af71e iio: adc: palmas_gpadc: fix NULL dereference on rmmod
| * 8aa079c2fd driver core: Don't require dynamic_debug for initcall_debug probe timing
| * f964a00386 USB: serial: option: add UNISOC vendor and TOZED LT70C product
| * c0e9214223 x86/fpu: Prevent FPU state corruption
| * 98cfbad52f bluetooth: Perform careful capability checks in hci_sock_ioctl()
| * dc110b20f4 drm/fb-helper: set x/yres_virtual in drm_fb_helper_check_var
| * 549825602e wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies()
| * 1dd95b2109 KVM: arm64: Fix buffer overflow in kvm_arm_set_fw_reg()
| * 0f29d0e8fc counter: 104-quad-8: Fix race condition between FLAG and CNTR reads
| * d4a895e924 seccomp: Move copy_seccomp() to no failure path.
* | 571879dd5f Revert "sched/fair: Detect capacity inversion"
* | ce3ecd63bf Revert "sched/fair: Consider capacity inversion in util_fits_cpu()"
* | 652a7f2c7e Revert "sched/uclamp: Fix a uninitialized variable warnings"
* | e1be343429 Revert "sched/fair: Fixes for capacity inversion detection"
* | 4c20c2c837 Merge 5.10.179 into android12-5.10-lts
|\|
| * f1b32fda06 Linux 5.10.179
| * 0367bf3f4a ASN.1: Fix check for strdup() success
| * 4ab5f8f9d0 ASoC: fsl_asrc_dma: fix potential null-ptr-deref
| * 42604b4ad5 iio: adc: at91-sama5d2_adc: fix an error code in at91_adc_allocate_trigger()
| * 155b2586de pwm: hibvt: Explicitly set .polarity in .get_state()
| * 1c3a121137 pwm: iqs620a: Explicitly set .polarity in .get_state()
| * b28079807d pwm: meson: Explicitly set .polarity in .get_state()
| * f69112de70 sctp: Call inet6_destroy_sock() via sk->sk_destruct().
| * 7da54ddc04 dccp: Call inet6_destroy_sock() via sk->sk_destruct().
| * 04d393c4bb inet6: Remove inet6_destroy_sock() in sk->sk_prot->destroy().
| * b1f06ab985 tcp/udp: Call inet6_destroy_sock() in IPv6 sk->sk_destruct().
| * 0e7b5e1020 udp: Call inet6_destroy_sock() in setsockopt(IPV6_ADDRFORM).
| * 05cf34a2b6 ext4: fix use-after-free in ext4_xattr_set_entry
| * c75711396c ext4: remove duplicate definition of ext4_xattr_ibody_inline_set()
| * 9400206d9d Revert "ext4: fix use-after-free in ext4_xattr_set_entry"
| * 81775ab858 fuse: fix deadlock between atomic O_TRUNC and page invalidation
| * 03cefde986 fuse: always revalidate rename target dentry
| * 42dfdbd4dc fuse: fix attr version comparison in fuse_read_update_size()
| * 0078a1667c fuse: check s_root when destroying sb
| * 6d0d67b05f virtiofs: split requests that exceed virtqueue size
| * cf08dc7916 virtiofs: clean up error handling in virtio_fs_get_tree()
| * e220438d1e purgatory: fix disabling debug info
| * 37df709706 docs: futex: Fix kernel-doc references after code split-up preparation
| * 77748b0a04 MIPS: Define RUNTIME_DISCARD_EXIT in LD script
| * 4735b6f74f sched/fair: Fixes for capacity inversion detection
| * 89ad8a672f sched/uclamp: Fix a uninitialized variable warnings
| * 09129798a6 sched/fair: Consider capacity inversion in util_fits_cpu()
| * 30f04dd56d sched/fair: Detect capacity inversion
| * b18cbd359d sched/uclamp: Cater for uclamp in find_energy_efficient_cpu()'s early exit condition
| * 41a880740c sched/uclamp: Make cpu_overutilized() use util_fits_cpu()
| * 07750955e9 sched/uclamp: Make asym_fits_capacity() use util_fits_cpu()
| * 2fd1c194e6 sched/uclamp: Make select_idle_capacity() use util_fits_cpu()
| * 8ca2bf63d9 sched/uclamp: Fix fits_capacity() check in feec()
| * 5cb1a56ced sched/uclamp: Make task_fits_capacity() use util_fits_cpu()
| * 2523d9d7bb mm/khugepaged: check again on anon uffd-wp during isolation
| * 651b0bf43d mmc: sdhci_am654: Set HIGH_SPEED_ENA for SDR12 and SDR25
| * c61928fcca kernel/sys.c: fix and improve control flow in __sys_setres[ug]id()
| * e10a6d88ae memstick: fix memory leak if card device is never registered
| * 2c90ef3715 nilfs2: initialize unused bytes in segment summary blocks
| * 09daff9c3c iio: light: tsl2772: fix reading proximity-diodes from device tree
| * 77ac8f2ad4 xfs: drop submit side trans alloc for append ioends
| * a4e800a7bd powerpc/doc: Fix htmldocs errors
| * c215c63681 xen/netback: use same error messages for same errors
| * 0c9cbfc951 nvme-tcp: fix a possible UAF when failing to allocate an io queue
| * 8c746b6650 s390/ptrace: fix PTRACE_GET_LAST_BREAK error handling
| * a36246a748 net: dsa: b53: mmap: add phy ops
| * b33f28ea45 scsi: core: Improve scsi_vpd_inquiry() checks
| * 24ddcc6a63 scsi: megaraid_sas: Fix fw_crash_buffer_show()
| * 01bd481b1b selftests: sigaltstack: fix -Wuninitialized
| * 8b44a83a16 Input: i8042 - add quirk for Fujitsu Lifebook A574/H
| * 37882b203a f2fs: Fix f2fs_truncate_partial_nodes ftrace event
| * 9a8dbfd7f3 e1000e: Disable TSO on i219-LM card to increase speed
| * b1281d0088 bpf: Fix incorrect verifier pruning due to missing register precision taints
| * b085b5787b mlxsw: pci: Fix possible crash during initialization
| * c972851d38 net: rpl: fix rpl header size calculation
| * b6b06c5ee3 mlxfw: fix null-ptr-deref in mlxfw_mfa2_tlv_next()
| * 880c09bc2f i40e: fix i40e_setup_misc_vector() error handling
| * 72df55d3dc i40e: fix accessing vsi->active_filters without holding lock
| * 381110d061 netfilter: nf_tables: fix ifdef to also consider nf_tables=m
| * 6758a51ef3 sfc: Fix use-after-free due to selftest_work
| * 06a72bbf0d sfc: Split STATE_READY in to STATE_NET_DOWN and STATE_NET_UP.
| * b6dd232f63 virtio_net: bugfix overflow inside xdp_linearize_page()
| * ddcf35deb8 net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg
| * 8e73952957 regulator: fan53555: Explicitly include bits header
| * 3224458030 netfilter: br_netfilter: fix recent physdev match breakage
| * 08b78037c4 arm64: dts: imx8mm-evk: correct pmic clock source
| * 2c06e904c2 arm64: dts: meson-g12-common: specify full DMC range
| * b33dbd06ac arm64: dts: qcom: ipq8074-hk01: enable QMP device, not the PHY node
| * e662521ec7 ARM: dts: rockchip: fix a typo error for rk3288 spdif node
* | b6b9dff07b Merge branch android12-5.10 into android12-5.10-lts
* | 49df5be923 Revert "ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots()"
* | a406acdee0 ANDROID: preserve CRC for xhci symbols
* | a4023d8fc3 Revert "ipv4: shrink netns_ipv4 with sysctl conversions"
* | e2f3aab65b Revert "tcp: convert elligible sysctls to u8"
* | 036fa20734 Revert "tcp: restrict net.ipv4.tcp_app_win"
* | 2d6a4ad08c Merge 5.10.178 into android12-5.10-lts
|/
* 791a854ae5 Linux 5.10.178
* f177b382c3 sysctl: Fix data-races in proc_dou8vec_minmax().
* 56314b90fd panic, kexec: make __crash_kexec() NMI safe
* d425f34821 kexec: turn all kexec_mutex acquisitions into trylocks
* 784b6ba15e kexec: move locking into do_kexec_load
* 0b077b22ea riscv: Handle zicsr/zifencei issues between clang and binutils
* c36a251011 kbuild: check CONFIG_AS_IS_LLVM instead of LLVM_IAS
* d5f67f6d4e kbuild: Switch to 'f' variants of integrated assembler flag
* 83f55e6f29 kbuild: check the minimum assembler version in Kconfig
* 6facabb4d0 coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug
* 7b78445bce watchdog: sbsa_wdog: Make sure the timeout programming is within the limits
* 10b7a33c5d i2c: ocores: generate stop condition after timeout in polling mode
* b4210b10dc x86/rtc: Remove __init for runtime functions
* ba4a2f6d99 sched/fair: Fix imbalance overflow
* 68387ae3b6 sched/fair: Move calculate of avg_load to a better location
* ccbec01cc9 powerpc/papr_scm: Update the NUMA distance table for the target node
* 453b3188be powerpc/pseries: Add support for FORM2 associativity
* 498618e0a1 powerpc/pseries: Add a helper for form1 cpu distance
* 18ce785eff powerpc/pseries: Consolidate different NUMA distance update code paths
* f2ae0eb96b powerpc/pseries: Rename TYPE1_AFFINITY to FORM1_AFFINITY
* f6d8a3a2ea powerpc/pseries: rename min_common_depth to primary_domain_index
* 5abf8af8df ubi: Fix deadlock caused by recursively holding work_sem
* 33611d4a81 mtd: ubi: wl: Fix a couple of kernel-doc issues
* 0279e82e14 ubi: Fix failure attaching when vid_hdr offset equals to (sub)page size
* 37a3cf4abc cgroup/cpuset: Wake up cpuset_attach_wq tasks in cpuset_cancel_attach()
* 10bda0ec31 x86/PCI: Add quirk for AMD XHCI controller that loses MSI-X state in D3hot
* 176d7345b8 scsi: ses: Handle enclosure with just a primary component gracefully
* cf22c98bcb net: sfp: initialize sfp->i2c_block_size at sfp allocation
* 2a4835b8ed riscv: add icache flush for nommu sigreturn trampoline
* c76e79e526 asymmetric_keys: log on fatal failures in PE/pkcs7
* 5de2e1f5e2 verify_pefile: relax wrapper length check
* e4b9f0bf91 drm: panel-orientation-quirks: Add quirk for Lenovo Yoga Book X90F
* 9f0ee9ed54 efi: sysfb_efi: Add quirk for Lenovo Yoga Book X91F/L
* e1f80b4dfa i2c: imx-lpi2c: clean rx/tx buffers upon new message
* 81c30f89b9 wifi: mwifiex: mark OF related data as maybe unused
* ab39582f30 power: supply: cros_usbpd: reclassify "default case!" as debug
* 6de0d0699f libbpf: Fix single-line struct definition output in btf_dump
* 1bec9da233 net: macb: fix a memory corruption in extended buffer descriptor mode
* 7d8c844b33 udp6: fix potential access to stale information
* d1b9b31916 RDMA/core: Fix GID entry ref leak when create_ah fails
* 79b28f4221 sctp: fix a potential overflow in sctp_ifwdtsn_skip
* 3814d211ff net: qrtr: Fix an uninit variable access bug in qrtr_tx_resume()
* dad92d8ada qlcnic: check pci_reset_function result
* 4a519731ec drm/armada: Fix a potential double free in an error handling path
* a069d4d98c tcp: restrict net.ipv4.tcp_app_win
* cc9f9a49f5 tcp: convert elligible sysctls to u8
* f662a0786d ipv4: shrink netns_ipv4 with sysctl conversions
* 389dab6142 sysctl: add proc_dou8vec_minmax()
* 8a1fdb3545 niu: Fix missing unwind goto in niu_alloc_channels()
* 9266e939d7 9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race condition
* ae11498851 RDMA/cma: Allow UD qp_type to join multicast only
* 5e567fd296 IB/mlx5: Add support for 400G_8X lane speed
* a1d2fb5d13 IB/mlx5: Add support for NDR link speed
* 8a886f01b8 clk: sprd: set max_register according to mapping range
* 6e2845284b mtd: rawnand: stm32_fmc2: use timings.mode instead of checking tRC_min
* 9e946e4e8c mtd: rawnand: stm32_fmc2: remove unsupported EDO mode
* 6b0e719192 mtd: rawnand: meson: fix bitmask for length in command word
* 441e57ff87 mtdblock: tolerate corrected bit-flips
* 0d07ea8d38 fbmem: Reject FB_ACTIVATE_KD_TEXT from userspace
* 5635e69406 btrfs: fix fast csum implementation detection
* 3576e08f19 btrfs: print checksum type and implementation at mount time
* f7ec5ca433 Bluetooth: Fix race condition in hidp_session_thread
* d9ba36c22a Bluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp}
* 8533fe8645 ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards
* 8f6a20a4f4 ALSA: firewire-tascam: add missing unwind goto in snd_tscm_stream_start_duplex()
* 69108a8a45 ALSA: i2c/cs8427: fix iec958 mixer control deactivation
* e63a515d11 ALSA: hda/sigmatel: add pin overrides for Intel DP45SG motherboard
* df4af0ddf7 ALSA: emu10k1: fix capture interrupt handler unlinking
* 14e90335bc Revert "pinctrl: amd: Disable and mask interrupts on resume"
* 59dc9767ce bpftool: Print newline before '}' for struct with padding only fields
* 2765aca637 ocfs2: fix freeing uninitialized resource on ocfs2_dlm_shutdown
* a412ba6b6c Revert "media: ti: cal: fix possible memory leak in cal_ctx_create()"
* 2d96c8dca9 drm/bridge: lt9611: Fix PLL being unable to lock
* a2773afc81 selftests: intel_pstate: ftime() is deprecated
* ea8c42b3b6 mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()
* 5a74837809 ring-buffer: Fix race while reader and writer are on the same page
* c1bbe926a1 drm/nouveau/disp: Support more modes by checking with lower bpc
* 8250f7f7ae drm/panfrost: Fix the panfrost_mmu_map_fault_addr() error path
* acbbfdba9c ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots()
* 6e36373aa5 tracing: Free error logs of tracing instances
* 9c5df2f14e can: isotp: isotp_ops: fix poll() to not report false EPOLLOUT events
* 70caa596d1 can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access
* f018ef34c4 ftrace: Fix issue that 'direct->addr' not restored in modify_ftrace_direct()
* eadcad0a47 ftrace: Mark get_lock_parent_ip() __always_inline
* 9470fc63ab perf/core: Fix the same task check in perf_event_set_output
* 499757ad33 scsi: iscsi_tcp: Check that sock is valid before iscsi_set_param()
* 4bfdead174 iio: adc: ad7791: fix IRQ flags
* 14f9ff7857 ALSA: hda/realtek: Add quirk for Clevo X370SNW
* 1f3b8c3b04 dt-bindings: serial: renesas,scif: Fix 4th IRQ for 4-IRQ SCIFs
* 3dbee84bf9 nilfs2: fix sysfs interface lifetime
* f32297dba3 nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread()
* a17bed82c0 tty: serial: fsl_lpuart: avoid checking for transfer complete when UARTCTRL_SBK is asserted in lpuart32_tx_empty
* 25eff5e7f7 tty: serial: sh-sci: Fix Rx on RZ/G2L SCI
* 72a3e4fa88 tty: serial: sh-sci: Fix transmit end interrupt handler
* 741d73fc57 iio: light: cm32181: Unregister second I2C client if present
* 58bf30479a iio: dac: cio-dac: Fix max DAC write value check for 12-bit
* f47659f1e9 iio: adc: ti-ads7950: Set `can_sleep` flag for GPIO chip
* 52a003870e USB: serial: option: add Quectel RM500U-CN modem
* e6655d4837 USB: serial: option: add Telit FE990 compositions
* 9d1f2a6b8d usb: typec: altmodes/displayport: Fix configure initial pin assignment
* 4be2b71e9d USB: serial: cp210x: add Silicon Labs IFS-USB-DATACABLE IDs
* ec20260950 xhci: also avoid the XHCI_ZERO_64B_REGS quirk with a passthrough iommu
* b4b4f17aa4 usb: xhci: tegra: fix sleep in atomic call
* 07216da8fb NFSD: callback request does not use correct credential for AUTH_SYS
* a3c4aa48e5 sunrpc: only free unix grouplist after RCU settles
* 890517a4a2 net: stmmac: fix up RX flow hash indirection table when setting channels
* bdbbd3fa58 net: ethernet: ti: am65-cpsw: Fix mdio cleanup in probe
* d8c8476c14 gpio: davinci: Add irq chip flag to skip set wake
* 605b056d63 ipv6: Fix an uninit variable access bug in __ip6_make_skb()
* ff2565fb8f net: qrtr: Do not do DEL_SERVER broadcast after DEL_CLIENT
* b4b6dfad41 sctp: check send stream number after wait_for_sndbuf
* efda95cebf net: don't let netpoll invoke NAPI if in xmit context
* ec81049f09 icmp: guard against too small mtu
* 98a9cd82c5 net: qrtr: Fix a refcount bug in qrtr_recvmsg()
* 94c53d2949 net: qrtr: combine nameservice into main module
* 3fe2051544 wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta
* 2951229ee7 KVM: s390: pv: fix external interruption loop not always detected
* b43a8939f1 pwm: sprd: Explicitly set .polarity in .get_state()
* d59b83494d pwm: cros-ec: Explicitly set .polarity in .get_state()
* 176c6b4889 Drivers: vmbus: Check for channel allocation before looking up relids
* c51b336bd9 gpio: GPIO_REGMAP: select REGMAP instead of depending on it

Change-Id: I6a8130fdb5232ff7293bdb1bb84c5dc6dd2f4d47
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Greg Kroah-Hartman 2023-07-10 16:25:57 +00:00
commit e424229872
1018 changed files with 9905 additions and 18981 deletions

View File

@ -894,10 +894,6 @@
debugpat [X86] Enable PAT debugging
decnet.addr= [HW,NET]
Format: <area>[,<node>]
See also Documentation/networking/decnet.rst.
default_hugepagesz=
[HW] The size of the default HugeTLB page. This is
the size represented by the legacy /proc/ hugepages

View File

@ -34,13 +34,14 @@ Table : Subdirectories in /proc/sys/net
========= =================== = ========== ==================
Directory Content Directory Content
========= =================== = ========== ==================
core General parameter appletalk Appletalk protocol
unix Unix domain sockets netrom NET/ROM
802 E802 protocol ax25 AX25
ethernet Ethernet protocol rose X.25 PLP layer
ipv4 IP version 4 x25 X.25 protocol
bridge Bridging decnet DEC net
ipv6 IP version 6 tipc TIPC
802 E802 protocol mptcp Multipath TCP
appletalk Appletalk protocol netfilter Network Filter
ax25 AX25 netrom NET/ROM
bridge Bridging rose X.25 PLP layer
core General parameter tipc TIPC
ethernet Ethernet protocol unix Unix domain sockets
ipv4 IP version 4 x25 X.25 protocol
ipv6 IP version 6
========= =================== = ========== ==================
1. /proc/sys/net/core - Network core options

View File

@ -24,11 +24,8 @@ String Conversions
.. kernel-doc:: lib/vsprintf.c
:export:
.. kernel-doc:: include/linux/kernel.h
:functions: kstrtol
.. kernel-doc:: include/linux/kernel.h
:functions: kstrtoul
.. kernel-doc:: include/linux/kstrtox.h
:functions: kstrtol kstrtoul
.. kernel-doc:: lib/kstrtox.c
:export:

View File

@ -74,7 +74,7 @@ properties:
- description: Error interrupt
- description: Receive buffer full interrupt
- description: Transmit buffer empty interrupt
- description: Transmit End interrupt
- description: Break interrupt
- items:
- description: Error interrupt
- description: Receive buffer full interrupt
@ -89,7 +89,7 @@ properties:
- const: eri
- const: rxi
- const: txi
- const: tei
- const: bri
- items:
- const: eri
- const: rxi

View File

@ -50,7 +50,9 @@ properties:
description: TDM TX current sense time slot.
'#sound-dai-cells':
const: 1
# The codec has a single DAI, the #sound-dai-cells=<1>; case is left in for backward
# compatibility but is deprecated.
enum: [0, 1]
required:
- compatible
@ -67,7 +69,7 @@ examples:
codec: codec@4c {
compatible = "ti,tas2562";
reg = <0x4c>;
#sound-dai-cells = <1>;
#sound-dai-cells = <0>;
interrupt-parent = <&gpio1>;
interrupts = <14>;
shutdown-gpios = <&gpio1 15 0>;

View File

@ -46,7 +46,9 @@ properties:
description: TDM TX voltage sense time slot.
'#sound-dai-cells':
const: 1
# The codec has a single DAI, the #sound-dai-cells=<1>; case is left in for backward
# compatibility but is deprecated.
enum: [0, 1]
required:
- compatible
@ -63,7 +65,7 @@ examples:
codec: codec@38 {
compatible = "ti,tas2764";
reg = <0x38>;
#sound-dai-cells = <1>;
#sound-dai-cells = <0>;
interrupt-parent = <&gpio1>;
interrupts = <14>;
reset-gpios = <&gpio1 15 0>;

View File

@ -52,7 +52,9 @@ properties:
- 1 # Falling edge
'#sound-dai-cells':
const: 1
# The codec has a single DAI, the #sound-dai-cells=<1>; case is left in for backward
# compatibility but is deprecated.
enum: [0, 1]
required:
- compatible
@ -69,7 +71,7 @@ examples:
codec: codec@41 {
compatible = "ti,tas2770";
reg = <0x41>;
#sound-dai-cells = <1>;
#sound-dai-cells = <0>;
interrupt-parent = <&gpio1>;
interrupts = <14>;
reset-gpio = <&gpio1 15 0>;

View File

@ -59,7 +59,7 @@ properties:
description:
size of memory intended as internal memory for endpoints
buffers expressed in KB
$ref: /schemas/types.yaml#/definitions/uint32
$ref: /schemas/types.yaml#/definitions/uint16
cdns,phyrst-a-enable:
description: Enable resetting of PHY if Rx fail is detected

View File

@ -1358,7 +1358,7 @@ Mutex API reference
Futex API reference
===================
.. kernel-doc:: kernel/futex.c
.. kernel-doc:: kernel/futex/core.c
:internal:
Further reading

View File

@ -1,243 +0,0 @@
.. SPDX-License-Identifier: GPL-2.0
=========================================
Linux DECnet Networking Layer Information
=========================================
1. Other documentation....
==========================
- Project Home Pages
- http://www.chygwyn.com/ - Kernel info
- http://linux-decnet.sourceforge.net/ - Userland tools
- http://www.sourceforge.net/projects/linux-decnet/ - Status page
2. Configuring the kernel
=========================
Be sure to turn on the following options:
- CONFIG_DECNET (obviously)
- CONFIG_PROC_FS (to see what's going on)
- CONFIG_SYSCTL (for easy configuration)
if you want to try out router support (not properly debugged yet)
you'll need the following options as well...
- CONFIG_DECNET_ROUTER (to be able to add/delete routes)
- CONFIG_NETFILTER (will be required for the DECnet routing daemon)
Don't turn on SIOCGIFCONF support for DECnet unless you are really sure
that you need it, in general you won't and it can cause ifconfig to
malfunction.
Run time configuration has changed slightly from the 2.4 system. If you
want to configure an endnode, then the simplified procedure is as follows:
- Set the MAC address on your ethernet card before starting _any_ other
network protocols.
As soon as your network card is brought into the UP state, DECnet should
start working. If you need something more complicated or are unsure how
to set the MAC address, see the next section. Also all configurations which
worked with 2.4 will work under 2.5 with no change.
3. Command line options
=======================
You can set a DECnet address on the kernel command line for compatibility
with the 2.4 configuration procedure, but in general it's not needed any more.
If you do st a DECnet address on the command line, it has only one purpose
which is that its added to the addresses on the loopback device.
With 2.4 kernels, DECnet would only recognise addresses as local if they
were added to the loopback device. In 2.5, any local interface address
can be used to loop back to the local machine. Of course this does not
prevent you adding further addresses to the loopback device if you
want to.
N.B. Since the address list of an interface determines the addresses for
which "hello" messages are sent, if you don't set an address on the loopback
interface then you won't see any entries in /proc/net/neigh for the local
host until such time as you start a connection. This doesn't affect the
operation of the local communications in any other way though.
The kernel command line takes options looking like the following::
decnet.addr=1,2
the two numbers are the node address 1,2 = 1.2 For 2.2.xx kernels
and early 2.3.xx kernels, you must use a comma when specifying the
DECnet address like this. For more recent 2.3.xx kernels, you may
use almost any character except space, although a `.` would be the most
obvious choice :-)
There used to be a third number specifying the node type. This option
has gone away in favour of a per interface node type. This is now set
using /proc/sys/net/decnet/conf/<dev>/forwarding. This file can be
set with a single digit, 0=EndNode, 1=L1 Router and 2=L2 Router.
There are also equivalent options for modules. The node address can
also be set through the /proc/sys/net/decnet/ files, as can other system
parameters.
Currently the only supported devices are ethernet and ip_gre. The
ethernet address of your ethernet card has to be set according to the DECnet
address of the node in order for it to be autoconfigured (and then appear in
/proc/net/decnet_dev). There is a utility available at the above
FTP sites called dn2ethaddr which can compute the correct ethernet
address to use. The address can be set by ifconfig either before or
at the time the device is brought up. If you are using RedHat you can
add the line::
MACADDR=AA:00:04:00:03:04
or something similar, to /etc/sysconfig/network-scripts/ifcfg-eth0 or
wherever your network card's configuration lives. Setting the MAC address
of your ethernet card to an address starting with "hi-ord" will cause a
DECnet address which matches to be added to the interface (which you can
verify with iproute2).
The default device for routing can be set through the /proc filesystem
by setting /proc/sys/net/decnet/default_device to the
device you want DECnet to route packets out of when no specific route
is available. Usually this will be eth0, for example::
echo -n "eth0" >/proc/sys/net/decnet/default_device
If you don't set the default device, then it will default to the first
ethernet card which has been autoconfigured as described above. You can
confirm that by looking in the default_device file of course.
There is a list of what the other files under /proc/sys/net/decnet/ do
on the kernel patch web site (shown above).
4. Run time kernel configuration
================================
This is either done through the sysctl/proc interface (see the kernel web
pages for details on what the various options do) or through the iproute2
package in the same way as IPv4/6 configuration is performed.
Documentation for iproute2 is included with the package, although there is
as yet no specific section on DECnet, most of the features apply to both
IP and DECnet, albeit with DECnet addresses instead of IP addresses and
a reduced functionality.
If you want to configure a DECnet router you'll need the iproute2 package
since its the _only_ way to add and delete routes currently. Eventually
there will be a routing daemon to send and receive routing messages for
each interface and update the kernel routing tables accordingly. The
routing daemon will use netfilter to listen to routing packets, and
rtnetlink to update the kernels routing tables.
The DECnet raw socket layer has been removed since it was there purely
for use by the routing daemon which will now use netfilter (a much cleaner
and more generic solution) instead.
5. How can I tell if its working?
=================================
Here is a quick guide of what to look for in order to know if your DECnet
kernel subsystem is working.
- Is the node address set (see /proc/sys/net/decnet/node_address)
- Is the node of the correct type
(see /proc/sys/net/decnet/conf/<dev>/forwarding)
- Is the Ethernet MAC address of each Ethernet card set to match
the DECnet address. If in doubt use the dn2ethaddr utility available
at the ftp archive.
- If the previous two steps are satisfied, and the Ethernet card is up,
you should find that it is listed in /proc/net/decnet_dev and also
that it appears as a directory in /proc/sys/net/decnet/conf/. The
loopback device (lo) should also appear and is required to communicate
within a node.
- If you have any DECnet routers on your network, they should appear
in /proc/net/decnet_neigh, otherwise this file will only contain the
entry for the node itself (if it doesn't check to see if lo is up).
- If you want to send to any node which is not listed in the
/proc/net/decnet_neigh file, you'll need to set the default device
to point to an Ethernet card with connection to a router. This is
again done with the /proc/sys/net/decnet/default_device file.
- Try starting a simple server and client, like the dnping/dnmirror
over the loopback interface. With luck they should communicate.
For this step and those after, you'll need the DECnet library
which can be obtained from the above ftp sites as well as the
actual utilities themselves.
- If this seems to work, then try talking to a node on your local
network, and see if you can obtain the same results.
- At this point you are on your own... :-)
6. How to send a bug report
===========================
If you've found a bug and want to report it, then there are several things
you can do to help me work out exactly what it is that is wrong. Useful
information (_most_ of which _is_ _essential_) includes:
- What kernel version are you running ?
- What version of the patch are you running ?
- How far though the above set of tests can you get ?
- What is in the /proc/decnet* files and /proc/sys/net/decnet/* files ?
- Which services are you running ?
- Which client caused the problem ?
- How much data was being transferred ?
- Was the network congested ?
- How can the problem be reproduced ?
- Can you use tcpdump to get a trace ? (N.B. Most (all?) versions of
tcpdump don't understand how to dump DECnet properly, so including
the hex listing of the packet contents is _essential_, usually the -x flag.
You may also need to increase the length grabbed with the -s flag. The
-e flag also provides very useful information (ethernet MAC addresses))
7. MAC FAQ
==========
A quick FAQ on ethernet MAC addresses to explain how Linux and DECnet
interact and how to get the best performance from your hardware.
Ethernet cards are designed to normally only pass received network frames
to a host computer when they are addressed to it, or to the broadcast address.
Linux has an interface which allows the setting of extra addresses for
an ethernet card to listen to. If the ethernet card supports it, the
filtering operation will be done in hardware, if not the extra unwanted packets
received will be discarded by the host computer. In the latter case,
significant processor time and bus bandwidth can be used up on a busy
network (see the NAPI documentation for a longer explanation of these
effects).
DECnet makes use of this interface to allow running DECnet on an ethernet
card which has already been configured using TCP/IP (presumably using the
built in MAC address of the card, as usual) and/or to allow multiple DECnet
addresses on each physical interface. If you do this, be aware that if your
ethernet card doesn't support perfect hashing in its MAC address filter
then your computer will be doing more work than required. Some cards
will simply set themselves into promiscuous mode in order to receive
packets from the DECnet specified addresses. So if you have one of these
cards its better to set the MAC address of the card as described above
to gain the best efficiency. Better still is to use a card which supports
NAPI as well.
8. Mailing list
===============
If you are keen to get involved in development, or want to ask questions
about configuration, or even just report bugs, then there is a mailing
list that you can join, details are at:
http://sourceforge.net/mail/?group_id=4993
9. Legal Info
=============
The Linux DECnet project team have placed their code under the GPL. The
software is provided "as is" and without warranty express or implied.
DECnet is a trademark of Compaq. This software is not a product of
Compaq. We acknowledge the help of people at Compaq in providing extra
documentation above and beyond what was previously publicly available.
Steve Whitehouse <SteveW@ACM.org>

View File

@ -46,7 +46,6 @@ Contents:
cdc_mbim
dccp
dctcp
decnet
dns_resolver
driver
eql

View File

@ -0,0 +1,105 @@
============================
NUMA resource associativity
============================
Associativity represents the groupings of the various platform resources into
domains of substantially similar mean performance relative to resources outside
of that domain. Resources subsets of a given domain that exhibit better
performance relative to each other than relative to other resources subsets
are represented as being members of a sub-grouping domain. This performance
characteristic is presented in terms of NUMA node distance within the Linux kernel.
From the platform view, these groups are also referred to as domains.
PAPR interface currently supports different ways of communicating these resource
grouping details to the OS. These are referred to as Form 0, Form 1 and Form2
associativity grouping. Form 0 is the oldest format and is now considered deprecated.
Hypervisor indicates the type/form of associativity used via "ibm,architecture-vec-5 property".
Bit 0 of byte 5 in the "ibm,architecture-vec-5" property indicates usage of Form 0 or Form 1.
A value of 1 indicates the usage of Form 1 associativity. For Form 2 associativity
bit 2 of byte 5 in the "ibm,architecture-vec-5" property is used.
Form 0
------
Form 0 associativity supports only two NUMA distances (LOCAL and REMOTE).
Form 1
------
With Form 1 a combination of ibm,associativity-reference-points, and ibm,associativity
device tree properties are used to determine the NUMA distance between resource groups/domains.
The “ibm,associativity” property contains a list of one or more numbers (domainID)
representing the resources platform grouping domains.
The “ibm,associativity-reference-points” property contains a list of one or more numbers
(domainID index) that represents the 1 based ordinal in the associativity lists.
The list of domainID indexes represents an increasing hierarchy of resource grouping.
ex:
{ primary domainID index, secondary domainID index, tertiary domainID index.. }
Linux kernel uses the domainID at the primary domainID index as the NUMA node id.
Linux kernel computes NUMA distance between two domains by recursively comparing
if they belong to the same higher-level domains. For mismatch at every higher
level of the resource group, the kernel doubles the NUMA distance between the
comparing domains.
Form 2
-------
Form 2 associativity format adds separate device tree properties representing NUMA node distance
thereby making the node distance computation flexible. Form 2 also allows flexible primary
domain numbering. With numa distance computation now detached from the index value in
"ibm,associativity-reference-points" property, Form 2 allows a large number of primary domain
ids at the same domainID index representing resource groups of different performance/latency
characteristics.
Hypervisor indicates the usage of FORM2 associativity using bit 2 of byte 5 in the
"ibm,architecture-vec-5" property.
"ibm,numa-lookup-index-table" property contains a list of one or more numbers representing
the domainIDs present in the system. The offset of the domainID in this property is
used as an index while computing numa distance information via "ibm,numa-distance-table".
prop-encoded-array: The number N of the domainIDs encoded as with encode-int, followed by
N domainID encoded as with encode-int
For ex:
"ibm,numa-lookup-index-table" = {4, 0, 8, 250, 252}. The offset of domainID 8 (2) is used when
computing the distance of domain 8 from other domains present in the system. For the rest of
this document, this offset will be referred to as domain distance offset.
"ibm,numa-distance-table" property contains a list of one or more numbers representing the NUMA
distance between resource groups/domains present in the system.
prop-encoded-array: The number N of the distance values encoded as with encode-int, followed by
N distance values encoded as with encode-bytes. The max distance value we could encode is 255.
The number N must be equal to the square of m where m is the number of domainIDs in the
numa-lookup-index-table.
For ex:
ibm,numa-lookup-index-table = <3 0 8 40>;
ibm,numa-distace-table = <9>, /bits/ 8 < 10 20 80 20 10 160 80 160 10>;
::
| 0 8 40
--|------------
|
0 | 10 20 80
|
8 | 20 10 160
|
40| 80 160 10
A possible "ibm,associativity" property for resources in node 0, 8 and 40
{ 3, 6, 7, 0 }
{ 3, 6, 9, 8 }
{ 3, 6, 7, 40}
With "ibm,associativity-reference-points" { 0x3 }
"ibm,lookup-index-table" helps in having a compact representation of distance matrix.
Since domainID can be sparse, the matrix of distances can also be effectively sparse.
With "ibm,lookup-index-table" we can achieve a compact representation of
distance information.

View File

@ -7,6 +7,7 @@ powerpc
.. toctree::
:maxdepth: 1
associativity
booting
bootwrapper
cpu_families

View File

@ -704,7 +704,7 @@ ref
no-jd
BIOS setup but without jack-detection
intel
Intel DG45* mobos
Intel D*45* mobos
dell-m6-amic
Dell desktops/laptops with analog mics
dell-m6-dmic

View File

@ -1400,7 +1400,7 @@ Riferimento per l'API dei Mutex
Riferimento per l'API dei Futex
===============================
.. kernel-doc:: kernel/futex.c
.. kernel-doc:: kernel/futex/core.c
:internal:
Approfondimenti

View File

@ -303,7 +303,6 @@ Code Seq# Include File Comments
0x89 00-06 arch/x86/include/asm/sockios.h
0x89 0B-DF linux/sockios.h
0x89 E0-EF linux/sockios.h SIOCPROTOPRIVATE range
0x89 E0-EF linux/dn.h PROTOPRIVATE range
0x89 F0-FF linux/sockios.h SIOCDEVPRIVATE range
0x8B all linux/wireless.h
0x8C 00-3F WiNRADiO driver

View File

@ -4905,13 +4905,6 @@ F: include/linux/tfrc.h
F: include/uapi/linux/dccp.h
F: net/dccp/
DECnet NETWORK LAYER
L: linux-decnet-user@lists.sourceforge.net
S: Orphan
W: http://linux-decnet.sourceforge.net
F: Documentation/networking/decnet.rst
F: net/decnet/
DECSTATION PLATFORM SUPPORT
M: "Maciej W. Rozycki" <macro@linux-mips.org>
L: linux-mips@vger.kernel.org

View File

@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 10
SUBLEVEL = 177
SUBLEVEL = 185
EXTRAVERSION =
NAME = Dare mighty things
@ -596,8 +596,10 @@ endif
ifneq ($(GCC_TOOLCHAIN),)
CLANG_FLAGS += --gcc-toolchain=$(GCC_TOOLCHAIN)
endif
ifneq ($(LLVM_IAS),1)
CLANG_FLAGS += -no-integrated-as
ifeq ($(LLVM_IAS),1)
CLANG_FLAGS += -fintegrated-as
else
CLANG_FLAGS += -fno-integrated-as
endif
CLANG_FLAGS += -Werror=unknown-warning-option
KBUILD_CFLAGS += $(CLANG_FLAGS)
@ -827,6 +829,10 @@ endif
KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable)
KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable)
# These result in bogus false positives
KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
ifdef CONFIG_FRAME_POINTER
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
else
@ -870,7 +876,7 @@ else
DEBUG_CFLAGS += -g
endif
ifeq ($(LLVM_IAS),1)
ifdef CONFIG_AS_IS_LLVM
KBUILD_AFLAGS += -g
else
KBUILD_AFLAGS += -Wa,-gdwarf-2

View File

@ -179,7 +179,7 @@ codec: wm8960@1a {
compatible = "wlf,wm8960";
reg = <0x1a>;
clocks = <&pmu_system_controller 0>;
clock-names = "MCLK1";
clock-names = "mclk";
wlf,shared-lrclk;
#sound-dai-cells = <0>;
};

View File

@ -609,6 +609,22 @@ &i2c3 {
clock-frequency = <100000>;
};
&mcspi1 {
status = "disabled";
};
&mcspi2 {
status = "disabled";
};
&mcspi3 {
status = "disabled";
};
&mcspi4 {
status = "disabled";
};
&usb_otg_hs {
interface-type = <0>;
usb-phy = <&usb2_phy>;

View File

@ -414,8 +414,8 @@ pcie0: pci@40000000 {
#address-cells = <3>;
#size-cells = <2>;
ranges = <0x81000000 0 0x40200000 0x40200000 0 0x00100000>,
<0x82000000 0 0x40300000 0x40300000 0 0x00d00000>;
ranges = <0x81000000 0x0 0x00000000 0x40200000 0x0 0x00100000>,
<0x82000000 0x0 0x40300000 0x40300000 0x0 0x00d00000>;
interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "msi";

View File

@ -465,8 +465,8 @@ pcie0: pci@1b500000 {
#address-cells = <3>;
#size-cells = <2>;
ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00100000 /* downstream I/O */
0x82000000 0 0x08000000 0x08000000 0 0x07e00000>; /* non-prefetchable memory */
ranges = <0x81000000 0x0 0x00000000 0x0fe00000 0x0 0x00010000 /* I/O */
0x82000000 0x0 0x08000000 0x08000000 0x0 0x07e00000>; /* MEM */
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "msi";
@ -516,8 +516,8 @@ pcie1: pci@1b700000 {
#address-cells = <3>;
#size-cells = <2>;
ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00100000 /* downstream I/O */
0x82000000 0 0x2e000000 0x2e000000 0 0x03e00000>; /* non-prefetchable memory */
ranges = <0x81000000 0x0 0x00000000 0x31e00000 0x0 0x00010000 /* I/O */
0x82000000 0x0 0x2e000000 0x2e000000 0x0 0x03e00000>; /* MEM */
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "msi";
@ -567,8 +567,8 @@ pcie2: pci@1b900000 {
#address-cells = <3>;
#size-cells = <2>;
ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00100000 /* downstream I/O */
0x82000000 0 0x32000000 0x32000000 0 0x03e00000>; /* non-prefetchable memory */
ranges = <0x81000000 0x0 0x00000000 0x35e00000 0x0 0x00010000 /* I/O */
0x82000000 0x0 0x32000000 0x32000000 0x0 0x03e00000>; /* MEM */
interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "msi";

View File

@ -959,7 +959,7 @@ wdt: watchdog@ff800000 {
status = "disabled";
};
spdif: sound@ff88b0000 {
spdif: sound@ff8b0000 {
compatible = "rockchip,rk3288-spdif", "rockchip,rk3066-spdif";
reg = <0x0 0xff8b0000 0x0 0x10000>;
#sound-dai-cells = <0>;

View File

@ -583,7 +583,7 @@ csis0: csis@fa600000 {
interrupts = <29>;
clocks = <&clocks CLK_CSIS>,
<&clocks SCLK_CSIS>;
clock-names = "clk_csis",
clock-names = "csis",
"sclk_csis";
bus-width = <4>;
status = "disabled";

View File

@ -284,6 +284,88 @@ pins2 {
slew-rate = <2>;
};
};
can1_pins_a: can1-0 {
pins1 {
pinmux = <STM32_PINMUX('A', 12, AF9)>; /* CAN1_TX */
};
pins2 {
pinmux = <STM32_PINMUX('A', 11, AF9)>; /* CAN1_RX */
bias-pull-up;
};
};
can1_pins_b: can1-1 {
pins1 {
pinmux = <STM32_PINMUX('B', 9, AF9)>; /* CAN1_TX */
};
pins2 {
pinmux = <STM32_PINMUX('B', 8, AF9)>; /* CAN1_RX */
bias-pull-up;
};
};
can1_pins_c: can1-2 {
pins1 {
pinmux = <STM32_PINMUX('D', 1, AF9)>; /* CAN1_TX */
};
pins2 {
pinmux = <STM32_PINMUX('D', 0, AF9)>; /* CAN1_RX */
bias-pull-up;
};
};
can1_pins_d: can1-3 {
pins1 {
pinmux = <STM32_PINMUX('H', 13, AF9)>; /* CAN1_TX */
};
pins2 {
pinmux = <STM32_PINMUX('H', 14, AF9)>; /* CAN1_RX */
bias-pull-up;
};
};
can2_pins_a: can2-0 {
pins1 {
pinmux = <STM32_PINMUX('B', 6, AF9)>; /* CAN2_TX */
};
pins2 {
pinmux = <STM32_PINMUX('B', 5, AF9)>; /* CAN2_RX */
bias-pull-up;
};
};
can2_pins_b: can2-1 {
pins1 {
pinmux = <STM32_PINMUX('B', 13, AF9)>; /* CAN2_TX */
};
pins2 {
pinmux = <STM32_PINMUX('B', 12, AF9)>; /* CAN2_RX */
bias-pull-up;
};
};
can3_pins_a: can3-0 {
pins1 {
pinmux = <STM32_PINMUX('A', 15, AF11)>; /* CAN3_TX */
};
pins2 {
pinmux = <STM32_PINMUX('A', 8, AF11)>; /* CAN3_RX */
bias-pull-up;
};
};
can3_pins_b: can3-1 {
pins1 {
pinmux = <STM32_PINMUX('B', 4, AF11)>; /* CAN3_TX */
};
pins2 {
pinmux = <STM32_PINMUX('B', 3, AF11)>; /* CAN3_RX */
bias-pull-up;
};
};
};
};
};

View File

@ -1102,7 +1102,7 @@ pins {
};
};
sai2a_sleep_pins_c: sai2a-2 {
sai2a_sleep_pins_c: sai2a-sleep-2 {
pins {
pinmux = <STM32_PINMUX('D', 13, ANALOG)>, /* SAI2_SCK_A */
<STM32_PINMUX('D', 11, ANALOG)>, /* SAI2_SD_A */

View File

@ -132,6 +132,7 @@ L2: cache-controller@2c0f0000 {
reg = <0x2c0f0000 0x1000>;
interrupts = <0 84 4>;
cache-level = <2>;
cache-unified;
};
pmu {

View File

@ -672,7 +672,6 @@ CONFIG_DRM_IMX_LDB=m
CONFIG_DRM_IMX_HDMI=m
CONFIG_DRM_ATMEL_HLCDC=m
CONFIG_DRM_RCAR_DU=m
CONFIG_DRM_RCAR_LVDS=y
CONFIG_DRM_SUN4I=m
CONFIG_DRM_MSM=m
CONFIG_DRM_FSL_DCU=m

View File

@ -300,6 +300,29 @@ static int unwind_exec_pop_subset_r0_to_r3(struct unwind_ctrl_block *ctrl,
return URC_OK;
}
static unsigned long unwind_decode_uleb128(struct unwind_ctrl_block *ctrl)
{
unsigned long bytes = 0;
unsigned long insn;
unsigned long result = 0;
/*
* unwind_get_byte() will advance `ctrl` one instruction at a time, so
* loop until we get an instruction byte where bit 7 is not set.
*
* Note: This decodes a maximum of 4 bytes to output 28 bits data where
* max is 0xfffffff: that will cover a vsp increment of 1073742336, hence
* it is sufficient for unwinding the stack.
*/
do {
insn = unwind_get_byte(ctrl);
result |= (insn & 0x7f) << (bytes * 7);
bytes++;
} while (!!(insn & 0x80) && (bytes != sizeof(result)));
return result;
}
/*
* Execute the current unwind instruction.
*/
@ -353,7 +376,7 @@ static int unwind_exec_insn(struct unwind_ctrl_block *ctrl)
if (ret)
goto error;
} else if (insn == 0xb2) {
unsigned long uleb128 = unwind_get_byte(ctrl);
unsigned long uleb128 = unwind_decode_uleb128(ctrl);
ctrl->vrs[SP] += 0x204 + (uleb128 << 2);
} else {

View File

@ -1,5 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
/**
/*
* arch/arm/mac-sa1100/jornada720_ssp.c
*
* Copyright (C) 2006/2007 Kristoffer Ericson <Kristoffer.Ericson@gmail.com>
@ -26,6 +26,7 @@ static unsigned long jornada_ssp_flags;
/**
* jornada_ssp_reverse - reverses input byte
* @byte: input byte to reverse
*
* we need to reverse all data we receive from the mcu due to its physical location
* returns : 01110111 -> 11101110
@ -46,6 +47,7 @@ EXPORT_SYMBOL(jornada_ssp_reverse);
/**
* jornada_ssp_byte - waits for ready ssp bus and sends byte
* @byte: input byte to transmit
*
* waits for fifo buffer to clear and then transmits, if it doesn't then we will
* timeout after <timeout> rounds. Needs mcu running before its called.
@ -77,6 +79,7 @@ EXPORT_SYMBOL(jornada_ssp_byte);
/**
* jornada_ssp_inout - decide if input is command or trading byte
* @byte: input byte to send (may be %TXDUMMY)
*
* returns : (jornada_ssp_byte(byte)) on success
* : %-ETIMEDOUT on timeout failure

View File

@ -1604,10 +1604,9 @@ usb2_phy0: phy@36000 {
dmc: bus@38000 {
compatible = "simple-bus";
reg = <0x0 0x38000 0x0 0x400>;
#address-cells = <2>;
#size-cells = <2>;
ranges = <0x0 0x0 0x0 0x38000 0x0 0x400>;
ranges = <0x0 0x0 0x0 0x38000 0x0 0x2000>;
canvas: video-lut@48 {
compatible = "amlogic,canvas";

View File

@ -128,7 +128,7 @@ pmic@4b {
rohm,reset-snvs-powered;
#clock-cells = <0>;
clocks = <&osc_32k 0>;
clocks = <&osc_32k>;
clock-output-names = "clk-32k-out";
regulators {

View File

@ -98,11 +98,17 @@ mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy: ethernet-phy@4 {
ethphy: ethernet-phy@4 { /* AR8033 or ADIN1300 */
compatible = "ethernet-phy-ieee802.3-c22";
reg = <4>;
reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
reset-assert-us = <10000>;
/*
* Deassert delay:
* ADIN1300 requires 5ms.
* AR8033 requires 1ms.
*/
reset-deassert-us = <20000>;
};
};
};

View File

@ -60,11 +60,11 @@ &pcie1 {
perst-gpio = <&tlmm 58 0x1>;
};
&pcie_phy0 {
&pcie_qmp0 {
status = "okay";
};
&pcie_phy1 {
&pcie_qmp1 {
status = "okay";
};

View File

@ -607,10 +607,8 @@ pcie1: pci@10000000 {
phys = <&pcie_phy1>;
phy-names = "pciephy";
ranges = <0x81000000 0 0x10200000 0x10200000
0 0x10000>, /* downstream I/O */
<0x82000000 0 0x10220000 0x10220000
0 0xfde0000>; /* non-prefetchable memory */
ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>, /* I/O */
<0x82000000 0x0 0x10220000 0x10220000 0x0 0xfde0000>; /* MEM */
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "msi";
@ -671,10 +669,8 @@ pcie0: pci@20000000 {
phys = <&pcie_phy0>;
phy-names = "pciephy";
ranges = <0x81000000 0 0x20200000 0x20200000
0 0x10000>, /* downstream I/O */
<0x82000000 0 0x20220000 0x20220000
0 0xfde0000>; /* non-prefetchable memory */
ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>, /* I/O */
<0x82000000 0x0 0x20220000 0x20220000 0x0 0xfde0000>; /* MEM */
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "msi";

View File

@ -744,8 +744,8 @@ pcie0: pcie@600000 {
#address-cells = <3>;
#size-cells = <2>;
ranges = <0x01000000 0x0 0x0c200000 0x0c200000 0x0 0x100000>,
<0x02000000 0x0 0x0c300000 0x0c300000 0x0 0xd00000>;
ranges = <0x01000000 0x0 0x00000000 0x0c200000 0x0 0x100000>,
<0x02000000 0x0 0x0c300000 0x0c300000 0x0 0xd00000>;
interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "msi";
@ -796,8 +796,8 @@ pcie1: pcie@608000 {
#address-cells = <3>;
#size-cells = <2>;
ranges = <0x01000000 0x0 0x0d200000 0x0d200000 0x0 0x100000>,
<0x02000000 0x0 0x0d300000 0x0d300000 0x0 0xd00000>;
ranges = <0x01000000 0x0 0x00000000 0x0d200000 0x0 0x100000>,
<0x02000000 0x0 0x0d300000 0x0d300000 0x0 0xd00000>;
interrupts = <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "msi";
@ -845,8 +845,8 @@ pcie2: pcie@610000 {
#address-cells = <3>;
#size-cells = <2>;
ranges = <0x01000000 0x0 0x0e200000 0x0e200000 0x0 0x100000>,
<0x02000000 0x0 0x0e300000 0x0e300000 0x0 0x1d00000>;
ranges = <0x01000000 0x0 0x00000000 0x0e200000 0x0 0x100000>,
<0x02000000 0x0 0x0e300000 0x0e300000 0x0 0x1d00000>;
device_type = "pci";
@ -1771,8 +1771,11 @@ dwc3@6a00000 {
interrupts = <0 131 IRQ_TYPE_LEVEL_HIGH>;
phys = <&hsusb_phy1>, <&ssusb_phy_0>;
phy-names = "usb2-phy", "usb3-phy";
snps,hird-threshold = /bits/ 8 <0>;
snps,dis_u2_susphy_quirk;
snps,dis_enblslpm_quirk;
snps,is-utmi-l1-suspend;
tx-fifo-resize;
};
};

View File

@ -942,7 +942,7 @@ pcie0: pci@1c00000 {
phys = <&pciephy>;
phy-names = "pciephy";
ranges = <0x01000000 0x0 0x1b200000 0x1b200000 0x0 0x100000>,
ranges = <0x01000000 0x0 0x00000000 0x1b200000 0x0 0x100000>,
<0x02000000 0x0 0x1b300000 0x1b300000 0x0 0xd00000>;
#interrupt-cells = <1>;
@ -1187,7 +1187,7 @@ stm: stm@6002000 {
compatible = "arm,coresight-stm", "arm,primecell";
reg = <0x06002000 0x1000>,
<0x16280000 0x180000>;
reg-names = "stm-base", "stm-data-base";
reg-names = "stm-base", "stm-stimulus-base";
status = "disabled";
clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;

View File

@ -196,8 +196,8 @@ CPU0: cpu@0 {
cpu-idle-states = <&LITTLE_CPU_SLEEP_0
&LITTLE_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
capacity-dmips-mhz = <607>;
dynamic-power-coefficient = <100>;
capacity-dmips-mhz = <611>;
dynamic-power-coefficient = <154>;
qcom,freq-domain = <&cpufreq_hw 0>;
operating-points-v2 = <&cpu0_opp_table>;
interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
@ -221,8 +221,8 @@ CPU1: cpu@100 {
cpu-idle-states = <&LITTLE_CPU_SLEEP_0
&LITTLE_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
capacity-dmips-mhz = <607>;
dynamic-power-coefficient = <100>;
capacity-dmips-mhz = <611>;
dynamic-power-coefficient = <154>;
qcom,freq-domain = <&cpufreq_hw 0>;
operating-points-v2 = <&cpu0_opp_table>;
interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
@ -243,8 +243,8 @@ CPU2: cpu@200 {
cpu-idle-states = <&LITTLE_CPU_SLEEP_0
&LITTLE_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
capacity-dmips-mhz = <607>;
dynamic-power-coefficient = <100>;
capacity-dmips-mhz = <611>;
dynamic-power-coefficient = <154>;
qcom,freq-domain = <&cpufreq_hw 0>;
operating-points-v2 = <&cpu0_opp_table>;
interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
@ -265,8 +265,8 @@ CPU3: cpu@300 {
cpu-idle-states = <&LITTLE_CPU_SLEEP_0
&LITTLE_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
capacity-dmips-mhz = <607>;
dynamic-power-coefficient = <100>;
capacity-dmips-mhz = <611>;
dynamic-power-coefficient = <154>;
qcom,freq-domain = <&cpufreq_hw 0>;
operating-points-v2 = <&cpu0_opp_table>;
interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
@ -288,7 +288,7 @@ CPU4: cpu@400 {
cpu-idle-states = <&BIG_CPU_SLEEP_0
&BIG_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
dynamic-power-coefficient = <396>;
dynamic-power-coefficient = <442>;
qcom,freq-domain = <&cpufreq_hw 1>;
operating-points-v2 = <&cpu4_opp_table>;
interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
@ -310,7 +310,7 @@ CPU5: cpu@500 {
cpu-idle-states = <&BIG_CPU_SLEEP_0
&BIG_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
dynamic-power-coefficient = <396>;
dynamic-power-coefficient = <442>;
qcom,freq-domain = <&cpufreq_hw 1>;
operating-points-v2 = <&cpu4_opp_table>;
interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
@ -332,7 +332,7 @@ CPU6: cpu@600 {
cpu-idle-states = <&BIG_CPU_SLEEP_0
&BIG_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
dynamic-power-coefficient = <396>;
dynamic-power-coefficient = <442>;
qcom,freq-domain = <&cpufreq_hw 1>;
operating-points-v2 = <&cpu4_opp_table>;
interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
@ -354,7 +354,7 @@ CPU7: cpu@700 {
cpu-idle-states = <&BIG_CPU_SLEEP_0
&BIG_CPU_SLEEP_1
&CLUSTER_SLEEP_0>;
dynamic-power-coefficient = <396>;
dynamic-power-coefficient = <442>;
qcom,freq-domain = <&cpufreq_hw 1>;
operating-points-v2 = <&cpu4_opp_table>;
interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>,
@ -1816,8 +1816,8 @@ pcie0: pci@1c00000 {
#address-cells = <3>;
#size-cells = <2>;
ranges = <0x01000000 0x0 0x60200000 0 0x60200000 0x0 0x100000>,
<0x02000000 0x0 0x60300000 0 0x60300000 0x0 0xd00000>;
ranges = <0x01000000 0x0 0x00000000 0x0 0x60200000 0x0 0x100000>,
<0x02000000 0x0 0x60300000 0x0 0x60300000 0x0 0xd00000>;
interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "msi";
@ -1920,7 +1920,7 @@ pcie1: pci@1c08000 {
#address-cells = <3>;
#size-cells = <2>;
ranges = <0x01000000 0x0 0x40200000 0x0 0x40200000 0x0 0x100000>,
ranges = <0x01000000 0x0 0x00000000 0x0 0x40200000 0x0 0x100000>,
<0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1fd00000>;
interrupts = <GIC_SPI 307 IRQ_TYPE_EDGE_RISING>;

View File

@ -49,17 +49,14 @@ cluster1_opp: opp_table10 {
opp-shared;
opp-800000000 {
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <820000>;
clock-latency-ns = <300000>;
};
opp-1000000000 {
opp-hz = /bits/ 64 <1000000000>;
opp-microvolt = <820000>;
clock-latency-ns = <300000>;
};
opp-1200000000 {
opp-hz = /bits/ 64 <1200000000>;
opp-microvolt = <820000>;
clock-latency-ns = <300000>;
opp-suspend;
};

View File

@ -60,17 +60,14 @@ cluster1_opp: opp_table10 {
opp-shared;
opp-800000000 {
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <820000>;
clock-latency-ns = <300000>;
};
opp-1000000000 {
opp-hz = /bits/ 64 <1000000000>;
opp-microvolt = <820000>;
clock-latency-ns = <300000>;
};
opp-1200000000 {
opp-hz = /bits/ 64 <1200000000>;
opp-microvolt = <820000>;
clock-latency-ns = <300000>;
opp-suspend;
};

View File

@ -116,6 +116,7 @@ void user_regs_reset_single_step(struct user_pt_regs *regs,
void kernel_enable_single_step(struct pt_regs *regs);
void kernel_disable_single_step(void);
int kernel_active_single_step(void);
void kernel_rewind_single_step(struct pt_regs *regs);
#ifdef CONFIG_HAVE_HW_BREAKPOINT
int reinstall_suspended_bps(struct pt_regs *regs);

View File

@ -9,15 +9,16 @@
#ifdef CONFIG_SHADOW_CALL_STACK
scs_sp .req x18
.macro scs_load tsk, tmp
ldr scs_sp, [\tsk, #TSK_TI_SCS_SP]
.macro scs_load_current
get_current_task scs_sp
ldr scs_sp, [scs_sp, #TSK_TI_SCS_SP]
.endm
.macro scs_save tsk, tmp
str scs_sp, [\tsk, #TSK_TI_SCS_SP]
.endm
#else
.macro scs_load tsk, tmp
.macro scs_load_current
.endm
.macro scs_save tsk, tmp

View File

@ -439,6 +439,11 @@ int kernel_active_single_step(void)
}
NOKPROBE_SYMBOL(kernel_active_single_step);
void kernel_rewind_single_step(struct pt_regs *regs)
{
set_regs_spsr_ss(regs);
}
/* ptrace API */
void user_enable_single_step(struct task_struct *task)
{

View File

@ -297,7 +297,7 @@ alternative_if ARM64_HAS_ADDRESS_AUTH
alternative_else_nop_endif
1:
scs_load tsk, x20
scs_load_current
.else
add x21, sp, #S_FRAME_SIZE
get_current_task tsk
@ -1122,7 +1122,7 @@ SYM_FUNC_START(cpu_switch_to)
msr sp_el0, x1
ptrauth_keys_install_kernel x1, x8, x9, x10
scs_save x0, x8
scs_load x1, x8
scs_load_current
ret
SYM_FUNC_END(cpu_switch_to)
NOKPROBE(cpu_switch_to)

View File

@ -621,7 +621,7 @@ SYM_FUNC_START_LOCAL(__secondary_switched)
ldr x2, [x0, #CPU_BOOT_TASK]
cbz x2, __secondary_too_slow
msr sp_el0, x2
scs_load x2, x3
scs_load_current
mov x29, #0
mov x30, #0

View File

@ -223,6 +223,8 @@ int kgdb_arch_handle_exception(int exception_vector, int signo,
*/
if (!kernel_active_single_step())
kernel_enable_single_step(linux_regs);
else
kernel_rewind_single_step(linux_regs);
err = 0;
break;
default:

View File

@ -499,6 +499,8 @@ int kvm_arm_set_fw_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg)
u64 val;
int wa_level;
if (KVM_REG_SIZE(reg->id) != sizeof(val))
return -ENOENT;
if (copy_from_user(&val, uaddr, KVM_REG_SIZE(reg->id)))
return -EFAULT;

View File

@ -484,8 +484,8 @@ static void do_bad_area(unsigned long far, unsigned int esr,
}
}
#define VM_FAULT_BADMAP 0x010000
#define VM_FAULT_BADACCESS 0x020000
#define VM_FAULT_BADMAP ((__force vm_fault_t)0x010000)
#define VM_FAULT_BADACCESS ((__force vm_fault_t)0x020000)
static int __do_page_fault(struct vm_area_struct *vma, unsigned long addr,
unsigned int mm_flags, unsigned long vm_flags,

View File

@ -581,7 +581,7 @@ static int salinfo_cpu_pre_down(unsigned int cpu)
* 'data' contains an integer that corresponds to the feature we're
* testing
*/
static int proc_salinfo_show(struct seq_file *m, void *v)
static int __maybe_unused proc_salinfo_show(struct seq_file *m, void *v)
{
unsigned long data = (unsigned long)v;
seq_puts(m, (sal_platform_features & data) ? "1\n" : "0\n");

View File

@ -79,7 +79,7 @@ void *per_cpu_init(void)
return __per_cpu_start + __per_cpu_offset[smp_processor_id()];
}
static inline void
static inline __init void
alloc_per_cpu_data(void)
{
size_t size = PERCPU_PAGE_SIZE * num_possible_cpus();

View File

@ -58,7 +58,7 @@ huge_pte_offset (struct mm_struct *mm, unsigned long addr, unsigned long sz)
pgd = pgd_offset(mm, taddr);
if (pgd_present(*pgd)) {
p4d = p4d_offset(pgd, addr);
p4d = p4d_offset(pgd, taddr);
if (p4d_present(*p4d)) {
pud = pud_offset(p4d, taddr);
if (pud_present(*pud)) {

View File

@ -882,11 +882,17 @@ static inline int rt_setup_ucontext(struct ucontext __user *uc, struct pt_regs *
}
static inline void __user *
get_sigframe(struct ksignal *ksig, size_t frame_size)
get_sigframe(struct ksignal *ksig, struct pt_regs *tregs, size_t frame_size)
{
unsigned long usp = sigsp(rdusp(), ksig);
unsigned long gap = 0;
return (void __user *)((usp - frame_size) & -8UL);
if (CPU_IS_020_OR_030 && tregs->format == 0xb) {
/* USP is unreliable so use worst-case value */
gap = 256;
}
return (void __user *)((usp - gap - frame_size) & -8UL);
}
static int setup_frame(struct ksignal *ksig, sigset_t *set,
@ -904,7 +910,7 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set,
return -EFAULT;
}
frame = get_sigframe(ksig, sizeof(*frame) + fsize);
frame = get_sigframe(ksig, tregs, sizeof(*frame) + fsize);
if (fsize)
err |= copy_to_user (frame + 1, regs + 1, fsize);
@ -976,7 +982,7 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set,
return -EFAULT;
}
frame = get_sigframe(ksig, sizeof(*frame));
frame = get_sigframe(ksig, tregs, sizeof(*frame));
if (fsize)
err |= copy_to_user (&frame->uc.uc_extra, regs + 1, fsize);

View File

@ -30,6 +30,7 @@
*
*/
#include <linux/dma-map-ops.h> /* for dma_default_coherent */
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/slab.h>
@ -623,17 +624,18 @@ u32 au1xxx_dbdma_put_source(u32 chanid, dma_addr_t buf, int nbytes, u32 flags)
dp->dscr_cmd0 &= ~DSCR_CMD0_IE;
/*
* There is an errata on the Au1200/Au1550 parts that could result
* in "stale" data being DMA'ed. It has to do with the snoop logic on
* the cache eviction buffer. DMA_NONCOHERENT is on by default for
* these parts. If it is fixed in the future, these dma_cache_inv will
* just be nothing more than empty macros. See io.h.
* There is an erratum on certain Au1200/Au1550 revisions that could
* result in "stale" data being DMA'ed. It has to do with the snoop
* logic on the cache eviction buffer. dma_default_coherent is set
* to false on these parts.
*/
dma_cache_wback_inv((unsigned long)buf, nbytes);
if (!dma_default_coherent)
dma_cache_wback_inv(KSEG0ADDR(buf), nbytes);
dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */
wmb(); /* drain writebuffer */
dma_cache_wback_inv((unsigned long)dp, sizeof(*dp));
ctp->chan_ptr->ddma_dbell = 0;
wmb(); /* force doorbell write out to dma engine */
/* Get next descriptor pointer. */
ctp->put_ptr = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr));
@ -685,17 +687,18 @@ u32 au1xxx_dbdma_put_dest(u32 chanid, dma_addr_t buf, int nbytes, u32 flags)
dp->dscr_source1, dp->dscr_dest0, dp->dscr_dest1);
#endif
/*
* There is an errata on the Au1200/Au1550 parts that could result in
* "stale" data being DMA'ed. It has to do with the snoop logic on the
* cache eviction buffer. DMA_NONCOHERENT is on by default for these
* parts. If it is fixed in the future, these dma_cache_inv will just
* be nothing more than empty macros. See io.h.
* There is an erratum on certain Au1200/Au1550 revisions that could
* result in "stale" data being DMA'ed. It has to do with the snoop
* logic on the cache eviction buffer. dma_default_coherent is set
* to false on these parts.
*/
dma_cache_inv((unsigned long)buf, nbytes);
if (!dma_default_coherent)
dma_cache_inv(KSEG0ADDR(buf), nbytes);
dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */
wmb(); /* drain writebuffer */
dma_cache_wback_inv((unsigned long)dp, sizeof(*dp));
ctp->chan_ptr->ddma_dbell = 0;
wmb(); /* force doorbell write out to dma engine */
/* Get next descriptor pointer. */
ctp->put_ptr = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr));

View File

@ -53,8 +53,6 @@ CONFIG_IPV6_SUBTREES=y
CONFIG_NETWORK_SECMARK=y
CONFIG_IP_SCTP=m
CONFIG_VLAN_8021Q=m
CONFIG_DECNET=m
CONFIG_DECNET_ROUTER=y
# CONFIG_WIRELESS is not set
# CONFIG_UEVENT_HELPER is not set
# CONFIG_FW_LOADER is not set

View File

@ -49,8 +49,6 @@ CONFIG_IPV6_SUBTREES=y
CONFIG_NETWORK_SECMARK=y
CONFIG_IP_SCTP=m
CONFIG_VLAN_8021Q=m
CONFIG_DECNET=m
CONFIG_DECNET_ROUTER=y
# CONFIG_WIRELESS is not set
# CONFIG_UEVENT_HELPER is not set
# CONFIG_FW_LOADER is not set

View File

@ -48,8 +48,6 @@ CONFIG_IPV6_SUBTREES=y
CONFIG_NETWORK_SECMARK=y
CONFIG_IP_SCTP=m
CONFIG_VLAN_8021Q=m
CONFIG_DECNET=m
CONFIG_DECNET_ROUTER=y
# CONFIG_WIRELESS is not set
# CONFIG_UEVENT_HELPER is not set
# CONFIG_FW_LOADER is not set

View File

@ -69,7 +69,6 @@ CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_DECNET_NF_GRABULATOR=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
@ -99,7 +98,6 @@ CONFIG_ATM_MPOA=m
CONFIG_ATM_BR2684=m
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
CONFIG_DECNET=m
CONFIG_LLC2=m
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m

View File

@ -117,7 +117,6 @@ CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_DECNET_NF_GRABULATOR=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
@ -147,7 +146,6 @@ CONFIG_ATM_MPOA=m
CONFIG_ATM_BR2684=m
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
CONFIG_DECNET=m
CONFIG_LLC2=m
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m

View File

@ -200,7 +200,6 @@ CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
CONFIG_DECNET_NF_GRABULATOR=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
@ -234,7 +233,6 @@ CONFIG_ATM_BR2684=m
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_DECNET=m
CONFIG_LLC2=m
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m

View File

@ -198,7 +198,6 @@ CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
CONFIG_DECNET_NF_GRABULATOR=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
@ -232,7 +231,6 @@ CONFIG_ATM_BR2684=m
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_DECNET=m
CONFIG_LLC2=m
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m

View File

@ -116,7 +116,6 @@ CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_DECNET_NF_GRABULATOR=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
@ -137,7 +136,6 @@ CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE=m
CONFIG_DECNET=m
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m

View File

@ -53,7 +53,7 @@ char *fw_getenv(char *envname)
{
char *result = NULL;
if (_fw_envp != NULL) {
if (_fw_envp != NULL && fw_envp(0) != NULL) {
/*
* Return a pointer to the given environment variable.
* YAMON uses "name", "value" pairs, while U-Boot uses

View File

@ -203,7 +203,7 @@ ATOMIC_OPS(atomic64, xor, s64, ^=, xor, lld, scd)
* The function returns the old value of @v minus @i.
*/
#define ATOMIC_SIP_OP(pfx, type, op, ll, sc) \
static __inline__ int pfx##_sub_if_positive(type i, pfx##_t * v) \
static __inline__ type pfx##_sub_if_positive(type i, pfx##_t * v) \
{ \
type temp, result; \
\

View File

@ -154,10 +154,6 @@ static unsigned long __init init_initrd(void)
pr_err("initrd start must be page aligned\n");
goto disable;
}
if (initrd_start < PAGE_OFFSET) {
pr_err("initrd start < PAGE_OFFSET\n");
goto disable;
}
/*
* Sanitize initrd addresses. For example firmware
@ -170,6 +166,11 @@ static unsigned long __init init_initrd(void)
initrd_end = (unsigned long)__va(end);
initrd_start = (unsigned long)__va(__pa(initrd_start));
if (initrd_start < PAGE_OFFSET) {
pr_err("initrd start < PAGE_OFFSET\n");
goto disable;
}
ROOT_DEV = Root_RAM0;
return PFN_UP(end);
disable:

View File

@ -15,6 +15,8 @@
#define EMITS_PT_NOTE
#endif
#define RUNTIME_DISCARD_EXIT
#include <asm-generic/vmlinux.lds.h>
#undef mips

View File

@ -97,7 +97,7 @@ rgmii_0_eth_tse_0: ethernet@400 {
rx-fifo-depth = <8192>;
tx-fifo-depth = <8192>;
address-bits = <48>;
max-frame-size = <1518>;
max-frame-size = <1500>;
local-mac-address = [00 00 00 00 00 00];
altr,has-supplementary-unicast;
altr,enable-sup-addr = <1>;

View File

@ -106,7 +106,7 @@ tse_mac: ethernet@4000 {
interrupt-names = "rx_irq", "tx_irq";
rx-fifo-depth = <8192>;
tx-fifo-depth = <8192>;
max-frame-size = <1518>;
max-frame-size = <1500>;
local-mac-address = [ 00 00 00 00 00 00 ];
phy-mode = "rgmii-id";
phy-handle = <&phy0>;

View File

@ -173,7 +173,6 @@ handler: ;\
l.sw PT_GPR28(r1),r28 ;\
l.sw PT_GPR29(r1),r29 ;\
/* r30 already save */ ;\
/* l.sw PT_GPR30(r1),r30*/ ;\
l.sw PT_GPR31(r1),r31 ;\
TRACE_IRQS_OFF_ENTRY ;\
/* Store -1 in orig_gpr11 for non-syscall exceptions */ ;\
@ -211,9 +210,8 @@ handler: ;\
l.sw PT_GPR27(r1),r27 ;\
l.sw PT_GPR28(r1),r28 ;\
l.sw PT_GPR29(r1),r29 ;\
/* r31 already saved */ ;\
l.sw PT_GPR30(r1),r30 ;\
/* l.sw PT_GPR31(r1),r31 */ ;\
/* r30 already saved */ ;\
l.sw PT_GPR31(r1),r31 ;\
/* Store -1 in orig_gpr11 for non-syscall exceptions */ ;\
l.addi r30,r0,-1 ;\
l.sw PT_ORIG_GPR11(r1),r30 ;\

View File

@ -57,6 +57,11 @@ extern void flush_dcache_page(struct page *page);
#define flush_dcache_mmap_lock(mapping) xa_lock_irq(&mapping->i_pages)
#define flush_dcache_mmap_unlock(mapping) xa_unlock_irq(&mapping->i_pages)
#define flush_dcache_mmap_lock_irqsave(mapping, flags) \
xa_lock_irqsave(&mapping->i_pages, flags)
#define flush_dcache_mmap_unlock_irqrestore(mapping, flags) \
xa_unlock_irqrestore(&mapping->i_pages, flags)
#define flush_icache_page(vma,page) do { \
flush_kernel_dcache_page(page); \

View File

@ -327,6 +327,7 @@ void flush_dcache_page(struct page *page)
struct vm_area_struct *mpnt;
unsigned long offset;
unsigned long addr, old_addr = 0;
unsigned long flags;
pgoff_t pgoff;
if (mapping && !mapping_mapped(mapping)) {
@ -346,7 +347,7 @@ void flush_dcache_page(struct page *page)
* declared as MAP_PRIVATE or MAP_SHARED), so we only need
* to flush one address here for them all to become coherent */
flush_dcache_mmap_lock(mapping);
flush_dcache_mmap_lock_irqsave(mapping, flags);
vma_interval_tree_foreach(mpnt, &mapping->i_mmap, pgoff, pgoff) {
offset = (pgoff - mpnt->vm_pgoff) << PAGE_SHIFT;
addr = mpnt->vm_start + offset;
@ -369,7 +370,7 @@ void flush_dcache_page(struct page *page)
old_addr = addr;
}
}
flush_dcache_mmap_unlock(mapping);
flush_dcache_mmap_unlock_irqrestore(mapping, flags);
}
EXPORT_SYMBOL(flush_dcache_page);

View File

@ -446,11 +446,27 @@ void arch_dma_free(struct device *dev, size_t size, void *vaddr,
void arch_sync_dma_for_device(phys_addr_t paddr, size_t size,
enum dma_data_direction dir)
{
/*
* fdc: The data cache line is written back to memory, if and only if
* it is dirty, and then invalidated from the data cache.
*/
flush_kernel_dcache_range((unsigned long)phys_to_virt(paddr), size);
}
void arch_sync_dma_for_cpu(phys_addr_t paddr, size_t size,
enum dma_data_direction dir)
{
flush_kernel_dcache_range((unsigned long)phys_to_virt(paddr), size);
unsigned long addr = (unsigned long) phys_to_virt(paddr);
switch (dir) {
case DMA_TO_DEVICE:
case DMA_BIDIRECTIONAL:
flush_kernel_dcache_range(addr, size);
return;
case DMA_FROM_DEVICE:
purge_kernel_dcache_range_asm(addr, addr + size);
return;
default:
BUG();
}
}

View File

@ -123,13 +123,18 @@ void machine_power_off(void)
/* It seems we have no way to power the system off via
* software. The user has to press the button himself. */
printk(KERN_EMERG "System shut down completed.\n"
"Please power this system off now.");
printk("Power off or press RETURN to reboot.\n");
/* prevent soft lockup/stalled CPU messages for endless loop. */
rcu_sysrq_start();
lockup_detector_soft_poweroff();
for (;;);
while (1) {
/* reboot if user presses RETURN key */
if (pdc_iodc_getc() == 13) {
printk("Rebooting...\n");
machine_restart(NULL);
}
}
}
void (*pm_power_off)(void);

View File

@ -248,9 +248,6 @@ ENTRY_CFI(real64_call_asm)
/* save fn */
copy %arg2, %r31
/* set up the new ap */
ldo 64(%arg1), %r29
/* load up the arg registers from the saved arg area */
/* 32-bit calling convention passes first 4 args in registers */
ldd 0*REG_SZ(%arg1), %arg0 /* note overwriting arg0 */
@ -262,7 +259,9 @@ ENTRY_CFI(real64_call_asm)
ldd 7*REG_SZ(%arg1), %r19
ldd 1*REG_SZ(%arg1), %arg1 /* do this one last! */
/* set up real-mode stack and real-mode ap */
tophys_r1 %sp
ldo -16(%sp), %r29 /* Reference param save area */
b,l rfi_virt2real,%r2
nop

View File

@ -305,8 +305,8 @@ static void handle_break(struct pt_regs *regs)
#endif
#ifdef CONFIG_KGDB
if (unlikely(iir == PARISC_KGDB_COMPILED_BREAK_INSN ||
iir == PARISC_KGDB_BREAK_INSN)) {
if (unlikely((iir == PARISC_KGDB_COMPILED_BREAK_INSN ||
iir == PARISC_KGDB_BREAK_INSN)) && !user_mode(regs)) {
kgdb_handle_exception(9, SIGTRAP, 0, regs);
return;
}

View File

@ -245,8 +245,6 @@ CONFIG_ATM_LANE=m
CONFIG_ATM_BR2684=m
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
CONFIG_DECNET=m
CONFIG_DECNET_ROUTER=y
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m
CONFIG_IPDDP=m

View File

@ -44,7 +44,7 @@
#define FW_FEATURE_OPAL ASM_CONST(0x0000000010000000)
#define FW_FEATURE_SET_MODE ASM_CONST(0x0000000040000000)
#define FW_FEATURE_BEST_ENERGY ASM_CONST(0x0000000080000000)
#define FW_FEATURE_TYPE1_AFFINITY ASM_CONST(0x0000000100000000)
#define FW_FEATURE_FORM1_AFFINITY ASM_CONST(0x0000000100000000)
#define FW_FEATURE_PRRN ASM_CONST(0x0000000200000000)
#define FW_FEATURE_DRMEM_V2 ASM_CONST(0x0000000400000000)
#define FW_FEATURE_DRC_INFO ASM_CONST(0x0000000800000000)
@ -53,6 +53,7 @@
#define FW_FEATURE_ULTRAVISOR ASM_CONST(0x0000004000000000)
#define FW_FEATURE_STUFF_TCE ASM_CONST(0x0000008000000000)
#define FW_FEATURE_RPT_INVALIDATE ASM_CONST(0x0000010000000000)
#define FW_FEATURE_FORM2_AFFINITY ASM_CONST(0x0000020000000000)
#ifndef __ASSEMBLY__
@ -69,11 +70,11 @@ enum {
FW_FEATURE_SPLPAR | FW_FEATURE_LPAR |
FW_FEATURE_CMO | FW_FEATURE_VPHN | FW_FEATURE_XCMO |
FW_FEATURE_SET_MODE | FW_FEATURE_BEST_ENERGY |
FW_FEATURE_TYPE1_AFFINITY | FW_FEATURE_PRRN |
FW_FEATURE_FORM1_AFFINITY | FW_FEATURE_PRRN |
FW_FEATURE_HPT_RESIZE | FW_FEATURE_DRMEM_V2 |
FW_FEATURE_DRC_INFO | FW_FEATURE_BLOCK_REMOVE |
FW_FEATURE_PAPR_SCM | FW_FEATURE_ULTRAVISOR |
FW_FEATURE_RPT_INVALIDATE,
FW_FEATURE_RPT_INVALIDATE | FW_FEATURE_FORM2_AFFINITY,
FW_FEATURE_PSERIES_ALWAYS = 0,
FW_FEATURE_POWERNV_POSSIBLE = FW_FEATURE_OPAL | FW_FEATURE_ULTRAVISOR,
FW_FEATURE_POWERNV_ALWAYS = 0,

View File

@ -147,8 +147,9 @@ extern int of_read_drc_info_cell(struct property **prop,
#define OV5_MSI 0x0201 /* PCIe/MSI support */
#define OV5_CMO 0x0480 /* Cooperative Memory Overcommitment */
#define OV5_XCMO 0x0440 /* Page Coalescing */
#define OV5_TYPE1_AFFINITY 0x0580 /* Type 1 NUMA affinity */
#define OV5_FORM1_AFFINITY 0x0580 /* FORM1 NUMA affinity */
#define OV5_PRRN 0x0540 /* Platform Resource Reassignment */
#define OV5_FORM2_AFFINITY 0x0520 /* Form2 NUMA affinity */
#define OV5_HP_EVT 0x0604 /* Hot Plug Event support */
#define OV5_RESIZE_HPT 0x0601 /* Hash Page Table resizing */
#define OV5_PFO_HW_RNG 0x1180 /* PFO Random Number Generator */

View File

@ -36,7 +36,7 @@ static inline int pcibus_to_node(struct pci_bus *bus)
cpu_all_mask : \
cpumask_of_node(pcibus_to_node(bus)))
extern int cpu_distance(__be32 *cpu1_assoc, __be32 *cpu2_assoc);
int cpu_relative_distance(__be32 *cpu1_assoc, __be32 *cpu2_assoc);
extern int __node_distance(int, int);
#define node_distance(a, b) __node_distance(a, b)
@ -64,6 +64,7 @@ static inline int early_cpu_to_node(int cpu)
}
int of_drconf_to_nid_single(struct drmem_lmb *lmb);
void update_numa_distance(struct device_node *node);
#else
@ -83,7 +84,7 @@ static inline void sysfs_remove_device_from_node(struct device *dev,
static inline void update_numa_cpu_lookup_table(unsigned int cpu, int node) {}
static inline int cpu_distance(__be32 *cpu1_assoc, __be32 *cpu2_assoc)
static inline int cpu_relative_distance(__be32 *cpu1_assoc, __be32 *cpu2_assoc)
{
return 0;
}
@ -93,6 +94,7 @@ static inline int of_drconf_to_nid_single(struct drmem_lmb *lmb)
return first_online_node;
}
static inline void update_numa_distance(struct device_node *node) {}
#endif /* CONFIG_NUMA */
#if defined(CONFIG_NUMA) && defined(CONFIG_PPC_SPLPAR)

View File

@ -1069,7 +1069,8 @@ static const struct ibm_arch_vec ibm_architecture_vec_template __initconst = {
#else
0,
#endif
.associativity = OV5_FEAT(OV5_TYPE1_AFFINITY) | OV5_FEAT(OV5_PRRN),
.associativity = OV5_FEAT(OV5_FORM1_AFFINITY) | OV5_FEAT(OV5_PRRN) |
OV5_FEAT(OV5_FORM2_AFFINITY),
.bin_opts = OV5_FEAT(OV5_RESIZE_HPT) | OV5_FEAT(OV5_HP_EVT),
.micro_checkpoint = 0,
.reserved0 = 0,

View File

@ -399,7 +399,7 @@ static char *__fetch_rtas_last_error(char *altbuf)
buf = kmalloc(RTAS_ERROR_LOG_MAX, GFP_ATOMIC);
}
if (buf)
memcpy(buf, rtas_err_buf, RTAS_ERROR_LOG_MAX);
memmove(buf, rtas_err_buf, RTAS_ERROR_LOG_MAX);
}
return buf;

View File

@ -1064,8 +1064,8 @@ void radix__ptep_set_access_flags(struct vm_area_struct *vma, pte_t *ptep,
pte_t entry, unsigned long address, int psize)
{
struct mm_struct *mm = vma->vm_mm;
unsigned long set = pte_val(entry) & (_PAGE_DIRTY | _PAGE_ACCESSED |
_PAGE_RW | _PAGE_EXEC);
unsigned long set = pte_val(entry) & (_PAGE_DIRTY | _PAGE_SOFT_DIRTY |
_PAGE_ACCESSED | _PAGE_RW | _PAGE_EXEC);
unsigned long change = pte_val(entry) ^ pte_val(*ptep);
/*

View File

@ -51,14 +51,22 @@ EXPORT_SYMBOL(numa_cpu_lookup_table);
EXPORT_SYMBOL(node_to_cpumask_map);
EXPORT_SYMBOL(node_data);
static int min_common_depth;
static int primary_domain_index;
static int n_mem_addr_cells, n_mem_size_cells;
static int form1_affinity;
#define FORM0_AFFINITY 0
#define FORM1_AFFINITY 1
#define FORM2_AFFINITY 2
static int affinity_form;
#define MAX_DISTANCE_REF_POINTS 4
static int distance_ref_points_depth;
static const __be32 *distance_ref_points;
static int distance_lookup_table[MAX_NUMNODES][MAX_DISTANCE_REF_POINTS];
static int numa_distance_table[MAX_NUMNODES][MAX_NUMNODES] = {
[0 ... MAX_NUMNODES - 1] = { [0 ... MAX_NUMNODES - 1] = -1 }
};
static int numa_id_index_table[MAX_NUMNODES] = { [0 ... MAX_NUMNODES - 1] = NUMA_NO_NODE };
/*
* Allocate node_to_cpumask_map based on number of available nodes
@ -163,7 +171,55 @@ static void unmap_cpu_from_node(unsigned long cpu)
}
#endif /* CONFIG_HOTPLUG_CPU || CONFIG_PPC_SPLPAR */
int cpu_distance(__be32 *cpu1_assoc, __be32 *cpu2_assoc)
static int __associativity_to_nid(const __be32 *associativity,
int max_array_sz)
{
int nid;
/*
* primary_domain_index is 1 based array index.
*/
int index = primary_domain_index - 1;
if (!numa_enabled || index >= max_array_sz)
return NUMA_NO_NODE;
nid = of_read_number(&associativity[index], 1);
/* POWER4 LPAR uses 0xffff as invalid node */
if (nid == 0xffff || nid >= nr_node_ids)
nid = NUMA_NO_NODE;
return nid;
}
/*
* Returns nid in the range [0..nr_node_ids], or -1 if no useful NUMA
* info is found.
*/
static int associativity_to_nid(const __be32 *associativity)
{
int array_sz = of_read_number(associativity, 1);
/* Skip the first element in the associativity array */
return __associativity_to_nid((associativity + 1), array_sz);
}
static int __cpu_form2_relative_distance(__be32 *cpu1_assoc, __be32 *cpu2_assoc)
{
int dist;
int node1, node2;
node1 = associativity_to_nid(cpu1_assoc);
node2 = associativity_to_nid(cpu2_assoc);
dist = numa_distance_table[node1][node2];
if (dist <= LOCAL_DISTANCE)
return 0;
else if (dist <= REMOTE_DISTANCE)
return 1;
else
return 2;
}
static int __cpu_form1_relative_distance(__be32 *cpu1_assoc, __be32 *cpu2_assoc)
{
int dist = 0;
@ -179,6 +235,15 @@ int cpu_distance(__be32 *cpu1_assoc, __be32 *cpu2_assoc)
return dist;
}
int cpu_relative_distance(__be32 *cpu1_assoc, __be32 *cpu2_assoc)
{
/* We should not get called with FORM0 */
VM_WARN_ON(affinity_form == FORM0_AFFINITY);
if (affinity_form == FORM1_AFFINITY)
return __cpu_form1_relative_distance(cpu1_assoc, cpu2_assoc);
return __cpu_form2_relative_distance(cpu1_assoc, cpu2_assoc);
}
/* must hold reference to node during call */
static const __be32 *of_get_associativity(struct device_node *dev)
{
@ -190,7 +255,9 @@ int __node_distance(int a, int b)
int i;
int distance = LOCAL_DISTANCE;
if (!form1_affinity)
if (affinity_form == FORM2_AFFINITY)
return numa_distance_table[a][b];
else if (affinity_form == FORM0_AFFINITY)
return ((a == b) ? LOCAL_DISTANCE : REMOTE_DISTANCE);
for (i = 0; i < distance_ref_points_depth; i++) {
@ -205,52 +272,6 @@ int __node_distance(int a, int b)
}
EXPORT_SYMBOL(__node_distance);
static void initialize_distance_lookup_table(int nid,
const __be32 *associativity)
{
int i;
if (!form1_affinity)
return;
for (i = 0; i < distance_ref_points_depth; i++) {
const __be32 *entry;
entry = &associativity[be32_to_cpu(distance_ref_points[i]) - 1];
distance_lookup_table[nid][i] = of_read_number(entry, 1);
}
}
/*
* Returns nid in the range [0..nr_node_ids], or -1 if no useful NUMA
* info is found.
*/
static int associativity_to_nid(const __be32 *associativity)
{
int nid = NUMA_NO_NODE;
if (!numa_enabled)
goto out;
if (of_read_number(associativity, 1) >= min_common_depth)
nid = of_read_number(&associativity[min_common_depth], 1);
/* POWER4 LPAR uses 0xffff as invalid node */
if (nid == 0xffff || nid >= nr_node_ids)
nid = NUMA_NO_NODE;
if (nid > 0 &&
of_read_number(associativity, 1) >= distance_ref_points_depth) {
/*
* Skip the length field and send start of associativity array
*/
initialize_distance_lookup_table(nid, associativity + 1);
}
out:
return nid;
}
/* Returns the nid associated with the given device tree node,
* or -1 if not found.
*/
@ -284,10 +305,159 @@ int of_node_to_nid(struct device_node *device)
}
EXPORT_SYMBOL(of_node_to_nid);
static int __init find_min_common_depth(void)
static void __initialize_form1_numa_distance(const __be32 *associativity,
int max_array_sz)
{
int depth;
int i, nid;
if (affinity_form != FORM1_AFFINITY)
return;
nid = __associativity_to_nid(associativity, max_array_sz);
if (nid != NUMA_NO_NODE) {
for (i = 0; i < distance_ref_points_depth; i++) {
const __be32 *entry;
int index = be32_to_cpu(distance_ref_points[i]) - 1;
/*
* broken hierarchy, return with broken distance table
*/
if (WARN(index >= max_array_sz, "Broken ibm,associativity property"))
return;
entry = &associativity[index];
distance_lookup_table[nid][i] = of_read_number(entry, 1);
}
}
}
static void initialize_form1_numa_distance(const __be32 *associativity)
{
int array_sz;
array_sz = of_read_number(associativity, 1);
/* Skip the first element in the associativity array */
__initialize_form1_numa_distance(associativity + 1, array_sz);
}
/*
* Used to update distance information w.r.t newly added node.
*/
void update_numa_distance(struct device_node *node)
{
int nid;
if (affinity_form == FORM0_AFFINITY)
return;
else if (affinity_form == FORM1_AFFINITY) {
const __be32 *associativity;
associativity = of_get_associativity(node);
if (!associativity)
return;
initialize_form1_numa_distance(associativity);
return;
}
/* FORM2 affinity */
nid = of_node_to_nid_single(node);
if (nid == NUMA_NO_NODE)
return;
/*
* With FORM2 we expect NUMA distance of all possible NUMA
* nodes to be provided during boot.
*/
WARN(numa_distance_table[nid][nid] == -1,
"NUMA distance details for node %d not provided\n", nid);
}
EXPORT_SYMBOL_GPL(update_numa_distance);
/*
* ibm,numa-lookup-index-table= {N, domainid1, domainid2, ..... domainidN}
* ibm,numa-distance-table = { N, 1, 2, 4, 5, 1, 6, .... N elements}
*/
static void initialize_form2_numa_distance_lookup_table(void)
{
int i, j;
struct device_node *root;
const __u8 *numa_dist_table;
const __be32 *numa_lookup_index;
int numa_dist_table_length;
int max_numa_index, distance_index;
if (firmware_has_feature(FW_FEATURE_OPAL))
root = of_find_node_by_path("/ibm,opal");
else
root = of_find_node_by_path("/rtas");
if (!root)
root = of_find_node_by_path("/");
numa_lookup_index = of_get_property(root, "ibm,numa-lookup-index-table", NULL);
max_numa_index = of_read_number(&numa_lookup_index[0], 1);
/* first element of the array is the size and is encode-int */
numa_dist_table = of_get_property(root, "ibm,numa-distance-table", NULL);
numa_dist_table_length = of_read_number((const __be32 *)&numa_dist_table[0], 1);
/* Skip the size which is encoded int */
numa_dist_table += sizeof(__be32);
pr_debug("numa_dist_table_len = %d, numa_dist_indexes_len = %d\n",
numa_dist_table_length, max_numa_index);
for (i = 0; i < max_numa_index; i++)
/* +1 skip the max_numa_index in the property */
numa_id_index_table[i] = of_read_number(&numa_lookup_index[i + 1], 1);
if (numa_dist_table_length != max_numa_index * max_numa_index) {
WARN(1, "Wrong NUMA distance information\n");
/* consider everybody else just remote. */
for (i = 0; i < max_numa_index; i++) {
for (j = 0; j < max_numa_index; j++) {
int nodeA = numa_id_index_table[i];
int nodeB = numa_id_index_table[j];
if (nodeA == nodeB)
numa_distance_table[nodeA][nodeB] = LOCAL_DISTANCE;
else
numa_distance_table[nodeA][nodeB] = REMOTE_DISTANCE;
}
}
}
distance_index = 0;
for (i = 0; i < max_numa_index; i++) {
for (j = 0; j < max_numa_index; j++) {
int nodeA = numa_id_index_table[i];
int nodeB = numa_id_index_table[j];
numa_distance_table[nodeA][nodeB] = numa_dist_table[distance_index++];
pr_debug("dist[%d][%d]=%d ", nodeA, nodeB, numa_distance_table[nodeA][nodeB]);
}
}
of_node_put(root);
}
static int __init find_primary_domain_index(void)
{
int index;
struct device_node *root;
/*
* Check for which form of affinity.
*/
if (firmware_has_feature(FW_FEATURE_OPAL)) {
affinity_form = FORM1_AFFINITY;
} else if (firmware_has_feature(FW_FEATURE_FORM2_AFFINITY)) {
dbg("Using form 2 affinity\n");
affinity_form = FORM2_AFFINITY;
} else if (firmware_has_feature(FW_FEATURE_FORM1_AFFINITY)) {
dbg("Using form 1 affinity\n");
affinity_form = FORM1_AFFINITY;
} else
affinity_form = FORM0_AFFINITY;
if (firmware_has_feature(FW_FEATURE_OPAL))
root = of_find_node_by_path("/ibm,opal");
@ -318,25 +488,21 @@ static int __init find_min_common_depth(void)
}
distance_ref_points_depth /= sizeof(int);
if (firmware_has_feature(FW_FEATURE_OPAL) ||
firmware_has_feature(FW_FEATURE_TYPE1_AFFINITY)) {
dbg("Using form 1 affinity\n");
form1_affinity = 1;
}
if (form1_affinity) {
depth = of_read_number(distance_ref_points, 1);
} else {
if (affinity_form == FORM0_AFFINITY) {
if (distance_ref_points_depth < 2) {
printk(KERN_WARNING "NUMA: "
"short ibm,associativity-reference-points\n");
"short ibm,associativity-reference-points\n");
goto err;
}
depth = of_read_number(&distance_ref_points[1], 1);
index = of_read_number(&distance_ref_points[1], 1);
} else {
/*
* Both FORM1 and FORM2 affinity find the primary domain details
* at the same offset.
*/
index = of_read_number(distance_ref_points, 1);
}
/*
* Warn and cap if the hardware supports more than
* MAX_DISTANCE_REF_POINTS domains.
@ -348,7 +514,7 @@ static int __init find_min_common_depth(void)
}
of_node_put(root);
return depth;
return index;
err:
of_node_put(root);
@ -426,6 +592,38 @@ static int of_get_assoc_arrays(struct assoc_arrays *aa)
return 0;
}
static int get_nid_and_numa_distance(struct drmem_lmb *lmb)
{
struct assoc_arrays aa = { .arrays = NULL };
int default_nid = NUMA_NO_NODE;
int nid = default_nid;
int rc, index;
if ((primary_domain_index < 0) || !numa_enabled)
return default_nid;
rc = of_get_assoc_arrays(&aa);
if (rc)
return default_nid;
if (primary_domain_index <= aa.array_sz &&
!(lmb->flags & DRCONF_MEM_AI_INVALID) && lmb->aa_index < aa.n_arrays) {
const __be32 *associativity;
index = lmb->aa_index * aa.array_sz;
associativity = &aa.arrays[index];
nid = __associativity_to_nid(associativity, aa.array_sz);
if (nid > 0 && affinity_form == FORM1_AFFINITY) {
/*
* lookup array associativity entries have
* no length of the array as the first element.
*/
__initialize_form1_numa_distance(associativity, aa.array_sz);
}
}
return nid;
}
/*
* This is like of_node_to_nid_single() for memory represented in the
* ibm,dynamic-reconfiguration-memory node.
@ -437,35 +635,28 @@ int of_drconf_to_nid_single(struct drmem_lmb *lmb)
int nid = default_nid;
int rc, index;
if ((min_common_depth < 0) || !numa_enabled)
if ((primary_domain_index < 0) || !numa_enabled)
return default_nid;
rc = of_get_assoc_arrays(&aa);
if (rc)
return default_nid;
if (min_common_depth <= aa.array_sz &&
if (primary_domain_index <= aa.array_sz &&
!(lmb->flags & DRCONF_MEM_AI_INVALID) && lmb->aa_index < aa.n_arrays) {
index = lmb->aa_index * aa.array_sz + min_common_depth - 1;
nid = of_read_number(&aa.arrays[index], 1);
const __be32 *associativity;
if (nid == 0xffff || nid >= nr_node_ids)
nid = default_nid;
if (nid > 0) {
index = lmb->aa_index * aa.array_sz;
initialize_distance_lookup_table(nid,
&aa.arrays[index]);
}
index = lmb->aa_index * aa.array_sz;
associativity = &aa.arrays[index];
nid = __associativity_to_nid(associativity, aa.array_sz);
}
return nid;
}
#ifdef CONFIG_PPC_SPLPAR
static int vphn_get_nid(long lcpu)
static int __vphn_get_associativity(long lcpu, __be32 *associativity)
{
__be32 associativity[VPHN_ASSOC_BUFSIZE] = {0};
long rc, hwid;
/*
@ -485,12 +676,30 @@ static int vphn_get_nid(long lcpu)
rc = hcall_vphn(hwid, VPHN_FLAG_VCPU, associativity);
if (rc == H_SUCCESS)
return associativity_to_nid(associativity);
return 0;
}
return -1;
}
static int vphn_get_nid(long lcpu)
{
__be32 associativity[VPHN_ASSOC_BUFSIZE] = {0};
if (!__vphn_get_associativity(lcpu, associativity))
return associativity_to_nid(associativity);
return NUMA_NO_NODE;
}
#else
static int __vphn_get_associativity(long lcpu, __be32 *associativity)
{
return -1;
}
static int vphn_get_nid(long unused)
{
return NUMA_NO_NODE;
@ -685,7 +894,7 @@ static int __init numa_setup_drmem_lmb(struct drmem_lmb *lmb,
size = read_n_cells(n_mem_size_cells, usm);
}
nid = of_drconf_to_nid_single(lmb);
nid = get_nid_and_numa_distance(lmb);
fake_numa_create_new_node(((base + size) >> PAGE_SHIFT),
&nid);
node_set_online(nid);
@ -702,24 +911,31 @@ static int __init parse_numa_properties(void)
struct device_node *memory;
int default_nid = 0;
unsigned long i;
const __be32 *associativity;
if (numa_enabled == 0) {
printk(KERN_WARNING "NUMA disabled by user\n");
return -1;
}
min_common_depth = find_min_common_depth();
primary_domain_index = find_primary_domain_index();
if (min_common_depth < 0) {
if (primary_domain_index < 0) {
/*
* if we fail to parse min_common_depth from device tree
* if we fail to parse primary_domain_index from device tree
* mark the numa disabled, boot with numa disabled.
*/
numa_enabled = false;
return min_common_depth;
return primary_domain_index;
}
dbg("NUMA associativity depth for CPU/Memory: %d\n", min_common_depth);
dbg("NUMA associativity depth for CPU/Memory: %d\n", primary_domain_index);
/*
* If it is FORM2 initialize the distance table here.
*/
if (affinity_form == FORM2_AFFINITY)
initialize_form2_numa_distance_lookup_table();
/*
* Even though we connect cpus to numa domains later in SMP
@ -727,18 +943,30 @@ static int __init parse_numa_properties(void)
* each node to be onlined must have NODE_DATA etc backing it.
*/
for_each_present_cpu(i) {
__be32 vphn_assoc[VPHN_ASSOC_BUFSIZE];
struct device_node *cpu;
int nid = vphn_get_nid(i);
int nid = NUMA_NO_NODE;
/*
* Don't fall back to default_nid yet -- we will plug
* cpus into nodes once the memory scan has discovered
* the topology.
*/
if (nid == NUMA_NO_NODE) {
memset(vphn_assoc, 0, VPHN_ASSOC_BUFSIZE * sizeof(__be32));
if (__vphn_get_associativity(i, vphn_assoc) == 0) {
nid = associativity_to_nid(vphn_assoc);
initialize_form1_numa_distance(vphn_assoc);
} else {
/*
* Don't fall back to default_nid yet -- we will plug
* cpus into nodes once the memory scan has discovered
* the topology.
*/
cpu = of_get_cpu_node(i, NULL);
BUG_ON(!cpu);
nid = of_node_to_nid_single(cpu);
associativity = of_get_associativity(cpu);
if (associativity) {
nid = associativity_to_nid(associativity);
initialize_form1_numa_distance(associativity);
}
of_node_put(cpu);
}
@ -776,8 +1004,11 @@ static int __init parse_numa_properties(void)
* have associativity properties. If none, then
* everything goes to default_nid.
*/
nid = of_node_to_nid_single(memory);
if (nid < 0)
associativity = of_get_associativity(memory);
if (associativity) {
nid = associativity_to_nid(associativity);
initialize_form1_numa_distance(associativity);
} else
nid = default_nid;
fake_numa_create_new_node(((start + size) >> PAGE_SHIFT), &nid);
@ -926,7 +1157,7 @@ static void __init find_possible_nodes(void)
goto out;
}
max_nodes = of_read_number(&domains[min_common_depth], 1);
max_nodes = of_read_number(&domains[primary_domain_index], 1);
pr_info("Partition configured for %d NUMA nodes.\n", max_nodes);
for (i = 0; i < max_nodes; i++) {
@ -935,7 +1166,7 @@ static void __init find_possible_nodes(void)
}
prop_length /= sizeof(int);
if (prop_length > min_common_depth + 2)
if (prop_length > primary_domain_index + 2)
coregroup_enabled = 1;
out:
@ -1268,7 +1499,7 @@ int cpu_to_coregroup_id(int cpu)
goto out;
index = of_read_number(associativity, 1);
if (index > min_common_depth + 1)
if (index > primary_domain_index + 1)
return of_read_number(&associativity[index - 1], 1);
out:

View File

@ -984,7 +984,7 @@ static void mpc5121_clk_provide_migration_support(void)
#define NODE_PREP do { \
of_address_to_resource(np, 0, &res); \
snprintf(devname, sizeof(devname), "%08x.%s", res.start, np->name); \
snprintf(devname, sizeof(devname), "%pa.%s", &res.start, np->name); \
} while (0)
#define NODE_CHK(clkname, clkitem, regnode, regflag) do { \

View File

@ -144,7 +144,7 @@ static struct irq_domain * __init flipper_pic_init(struct device_node *np)
}
io_base = ioremap(res.start, resource_size(&res));
pr_info("controller at 0x%08x mapped to 0x%p\n", res.start, io_base);
pr_info("controller at 0x%pa mapped to 0x%p\n", &res.start, io_base);
__flipper_quiesce(io_base);

View File

@ -173,7 +173,7 @@ static struct irq_domain *hlwd_pic_init(struct device_node *np)
return NULL;
}
pr_info("controller at 0x%08x mapped to 0x%p\n", res.start, io_base);
pr_info("controller at 0x%pa mapped to 0x%p\n", &res.start, io_base);
__hlwd_quiesce(io_base);

View File

@ -89,8 +89,8 @@ static void __iomem *wii_ioremap_hw_regs(char *name, char *compatible)
hw_regs = ioremap(res.start, resource_size(&res));
if (hw_regs) {
pr_info("%s at 0x%08x mapped to 0x%p\n", name,
res.start, hw_regs);
pr_info("%s at 0x%pa mapped to 0x%p\n", name,
&res.start, hw_regs);
}
out_put:

View File

@ -119,10 +119,11 @@ struct vec5_fw_feature {
static __initdata struct vec5_fw_feature
vec5_fw_features_table[] = {
{FW_FEATURE_TYPE1_AFFINITY, OV5_TYPE1_AFFINITY},
{FW_FEATURE_FORM1_AFFINITY, OV5_FORM1_AFFINITY},
{FW_FEATURE_PRRN, OV5_PRRN},
{FW_FEATURE_DRMEM_V2, OV5_DRMEM_V2},
{FW_FEATURE_DRC_INFO, OV5_DRC_INFO},
{FW_FEATURE_FORM2_AFFINITY, OV5_FORM2_AFFINITY},
};
static void __init fw_vec5_feature_init(const char *vec5, unsigned long len)

View File

@ -484,6 +484,8 @@ static ssize_t dlpar_cpu_add(u32 drc_index)
return saved_rc;
}
update_numa_distance(dn);
rc = dlpar_online_cpu(dn);
if (rc) {
saved_rc = rc;

View File

@ -180,6 +180,8 @@ static int update_lmb_associativity_index(struct drmem_lmb *lmb)
return -ENODEV;
}
update_numa_distance(lmb_node);
dr_node = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory");
if (!dr_node) {
dlpar_free_cc_nodes(lmb_node);

View File

@ -261,7 +261,7 @@ static int cpu_relative_dispatch_distance(int last_disp_cpu, int cur_disp_cpu)
if (!last_disp_cpu_assoc || !cur_disp_cpu_assoc)
return -EIO;
return cpu_distance(last_disp_cpu_assoc, cur_disp_cpu_assoc);
return cpu_relative_distance(last_disp_cpu_assoc, cur_disp_cpu_assoc);
}
static int cpu_home_node_dispatch_distance(int disp_cpu)
@ -281,7 +281,7 @@ static int cpu_home_node_dispatch_distance(int disp_cpu)
if (!disp_cpu_assoc || !vcpu_assoc)
return -EIO;
return cpu_distance(disp_cpu_assoc, vcpu_assoc);
return cpu_relative_distance(disp_cpu_assoc, vcpu_assoc);
}
static void update_vcpu_disp_stat(int disp_cpu)

View File

@ -1079,6 +1079,13 @@ static int papr_scm_probe(struct platform_device *pdev)
return -ENODEV;
}
/*
* open firmware platform device create won't update the NUMA
* distance table. For PAPR SCM devices we use numa_map_to_online_node()
* to find the nearest online NUMA node and that requires correct
* distance table information.
*/
update_numa_distance(dn);
p = kzalloc(sizeof(*p), GFP_KERNEL);
if (!p)

View File

@ -4,6 +4,11 @@ KASAN_SANITIZE := n
targets += trampoline_$(BITS).o purgatory.ro kexec-purgatory.c
# When profile-guided optimization is enabled, llvm emits two different
# overlapping text sections, which is not supported by kexec. Remove profile
# optimization flags.
KBUILD_CFLAGS := $(filter-out -fprofile-sample-use=% -fprofile-use=%,$(KBUILD_CFLAGS))
LDFLAGS_purgatory.ro := -e purgatory_start -r --no-undefined
$(obj)/purgatory.ro: $(obj)/trampoline_$(BITS).o FORCE

View File

@ -216,9 +216,8 @@ int __init tsi108_setup_pci(struct device_node *dev, u32 cfg_phys, int primary)
(hose)->ops = &tsi108_direct_pci_ops;
printk(KERN_INFO "Found tsi108 PCI host bridge at 0x%08x. "
"Firmware bus number: %d->%d\n",
rsrc.start, hose->first_busno, hose->last_busno);
pr_info("Found tsi108 PCI host bridge at 0x%pa. Firmware bus number: %d->%d\n",
&rsrc.start, hose->first_busno, hose->last_busno);
/* Interpret the "ranges" property */
/* This also maps the I/O region and sets isa_io/mem_base */

View File

@ -22,6 +22,7 @@ config RISCV
select ARCH_HAS_GIGANTIC_PAGE
select ARCH_HAS_KCOV
select ARCH_HAS_MMIOWB
select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
select ARCH_HAS_PTE_SPECIAL
select ARCH_HAS_SET_DIRECT_MAP
select ARCH_HAS_SET_MEMORY
@ -331,6 +332,28 @@ config RISCV_BASE_PMU
endmenu
config TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI
def_bool y
# https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=aed44286efa8ae8717a77d94b51ac3614e2ca6dc
depends on AS_IS_GNU && AS_VERSION >= 23800
help
Newer binutils versions default to ISA spec version 20191213 which
moves some instructions from the I extension to the Zicsr and Zifencei
extensions.
config TOOLCHAIN_NEEDS_OLD_ISA_SPEC
def_bool y
depends on TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI
# https://github.com/llvm/llvm-project/commit/22e199e6afb1263c943c0c0d4498694e15bf8a16
depends on CC_IS_CLANG && CLANG_VERSION < 170000
help
Certain versions of clang do not support zicsr and zifencei via -march
but newer versions of binutils require it for the reasons noted in the
help text of CONFIG_TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI. This
option causes an older ISA spec compatible with these older versions
of clang to be passed to GAS, which has the same result as passing zicsr
and zifencei to -march.
config FPU
bool "FPU support"
default y

View File

@ -40,7 +40,7 @@ ifeq ($(CONFIG_LD_IS_LLD),y)
ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 150000; echo $$?),0)
KBUILD_CFLAGS += -mno-relax
KBUILD_AFLAGS += -mno-relax
ifneq ($(LLVM_IAS),1)
ifndef CONFIG_AS_IS_LLVM
KBUILD_CFLAGS += -Wa,-mno-relax
KBUILD_AFLAGS += -Wa,-mno-relax
endif
@ -53,10 +53,12 @@ riscv-march-$(CONFIG_ARCH_RV64I) := rv64ima
riscv-march-$(CONFIG_FPU) := $(riscv-march-y)fd
riscv-march-$(CONFIG_RISCV_ISA_C) := $(riscv-march-y)c
# Newer binutils versions default to ISA spec version 20191213 which moves some
# instructions from the I extension to the Zicsr and Zifencei extensions.
toolchain-need-zicsr-zifencei := $(call cc-option-yn, -march=$(riscv-march-y)_zicsr_zifencei)
riscv-march-$(toolchain-need-zicsr-zifencei) := $(riscv-march-y)_zicsr_zifencei
ifdef CONFIG_TOOLCHAIN_NEEDS_OLD_ISA_SPEC
KBUILD_CFLAGS += -Wa,-misa-spec=2.2
KBUILD_AFLAGS += -Wa,-misa-spec=2.2
else
riscv-march-$(CONFIG_TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI) := $(riscv-march-y)_zicsr_zifencei
endif
KBUILD_CFLAGS += -march=$(subst fd,,$(riscv-march-y))
KBUILD_AFLAGS += -march=$(riscv-march-y)

View File

@ -16,6 +16,7 @@
#include <asm/vdso.h>
#include <asm/switch_to.h>
#include <asm/csr.h>
#include <asm/cacheflush.h>
extern u32 __user_rt_sigreturn[2];
@ -178,6 +179,7 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set,
{
struct rt_sigframe __user *frame;
long err = 0;
unsigned long __maybe_unused addr;
frame = get_sigframe(ksig, regs, sizeof(*frame));
if (!access_ok(frame, sizeof(*frame)))
@ -206,7 +208,12 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set,
if (copy_to_user(&frame->sigreturn_code, __user_rt_sigreturn,
sizeof(frame->sigreturn_code)))
return -EFAULT;
regs->ra = (unsigned long)&frame->sigreturn_code;
addr = (unsigned long)&frame->sigreturn_code;
/* Make sure the two instructions are pushed to icache. */
flush_icache_range(addr, addr + sizeof(frame->sigreturn_code));
regs->ra = addr;
#endif /* CONFIG_MMU */
/*

View File

@ -500,9 +500,7 @@ long arch_ptrace(struct task_struct *child, long request,
}
return 0;
case PTRACE_GET_LAST_BREAK:
put_user(child->thread.last_break,
(unsigned long __user *) data);
return 0;
return put_user(child->thread.last_break, (unsigned long __user *)data);
case PTRACE_ENABLE_TE:
if (!MACHINE_HAS_TE)
return -EIO;
@ -854,9 +852,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
}
return 0;
case PTRACE_GET_LAST_BREAK:
put_user(child->thread.last_break,
(unsigned int __user *) data);
return 0;
return put_user(child->thread.last_break, (unsigned int __user *)data);
}
return compat_ptrace_request(child, request, addr, data);
}

View File

@ -270,10 +270,18 @@ static int handle_prog(struct kvm_vcpu *vcpu)
/**
* handle_external_interrupt - used for external interruption interceptions
*
* This interception only occurs if the CPUSTAT_EXT_INT bit was set, or if
* the new PSW does not have external interrupts disabled. In the first case,
* we've got to deliver the interrupt manually, and in the second case, we
* drop to userspace to handle the situation there.
* This interception occurs if:
* - the CPUSTAT_EXT_INT bit was already set when the external interrupt
* occurred. In this case, the interrupt needs to be injected manually to
* preserve interrupt priority.
* - the external new PSW has external interrupts enabled, which will cause an
* interruption loop. We drop to userspace in this case.
*
* The latter case can be detected by inspecting the external mask bit in the
* external new psw.
*
* Under PV, only the latter case can occur, since interrupt priorities are
* handled in the ultravisor.
*/
static int handle_external_interrupt(struct kvm_vcpu *vcpu)
{
@ -284,10 +292,18 @@ static int handle_external_interrupt(struct kvm_vcpu *vcpu)
vcpu->stat.exit_external_interrupt++;
rc = read_guest_lc(vcpu, __LC_EXT_NEW_PSW, &newpsw, sizeof(psw_t));
if (rc)
return rc;
/* We can not handle clock comparator or timer interrupt with bad PSW */
if (kvm_s390_pv_cpu_is_protected(vcpu)) {
newpsw = vcpu->arch.sie_block->gpsw;
} else {
rc = read_guest_lc(vcpu, __LC_EXT_NEW_PSW, &newpsw, sizeof(psw_t));
if (rc)
return rc;
}
/*
* Clock comparator or timer interrupt with external interrupt enabled
* will cause interrupt loop. Drop to userspace.
*/
if ((eic == EXT_IRQ_CLK_COMP || eic == EXT_IRQ_CPU_TIMER) &&
(newpsw.mask & PSW_MASK_EXT))
return -EOPNOTSUPP;

View File

@ -18,7 +18,7 @@ config SH_STANDARD_BIOS
config STACK_DEBUG
bool "Check for stack overflows"
depends on DEBUG_KERNEL
depends on DEBUG_KERNEL && PRINTK
help
This option will cause messages to be printed if free stack space
drops below a certain limit. Saying Y here will add overhead to

View File

@ -381,7 +381,7 @@ static int __init sq_api_init(void)
if (unlikely(!sq_cache))
return ret;
sq_bitmap = kzalloc(size, GFP_KERNEL);
sq_bitmap = kcalloc(size, sizeof(long), GFP_KERNEL);
if (unlikely(!sq_bitmap))
goto out;

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