Merge android11-5.4.54 (261a54f) into msm-5.4

* refs/heads/tmp-261a54f:
  Revert "soc: qcom: rpmh: Update dirty flag only when data changes"
  Revert "soc: qcom: rpmh: Invalidate SLEEP and WAKE TCSes before flushing new data"
  Revert "soc: qcom: rpmh-rsc: Clear active mode configuration for wake TCS"
  Revert "soc: qcom: rpmh-rsc: Allow using free WAKE TCS for active request"
  Revert "soc: qcom: rpmh: Dirt can only make you dirtier, not cleaner"
  Linux 5.4.54
  ath9k: Fix regression with Atheros 9271
  ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb
  dm integrity: fix integrity recalculation that is improperly skipped
  ASoC: topology: fix tlvs in error handling for widget_dmixer
  ASoC: topology: fix kernel oops on route addition error
  ASoC: qcom: Drop HAS_DMA dependency to fix link failure
  ASoC: rt5670: Add new gpio1_is_ext_spk_en quirk and enable it on the Lenovo Miix 2 10
  x86, vmlinux.lds: Page-align end of ..page_aligned sections
  parisc: Add atomic64_set_release() define to avoid CPU soft lockups
  drm/amd/powerplay: fix a crash when overclocking Vega M
  drm/amdgpu: Fix NULL dereference in dpm sysfs handlers
  mmc: sdhci-of-aspeed: Fix clock divider calculation
  io-mapping: indicate mapping failure
  khugepaged: fix null-pointer dereference due to race
  mm: memcg/slab: fix memory leak at non-root kmem_cache destroy
  mm/memcg: fix refcount error while moving and swapping
  mm/mmap.c: close race between munmap() and expand_upwards()/downwards()
  Makefile: Fix GCC_TOOLCHAIN_DIR prefix for Clang cross compilation
  vt: Reject zero-sized screen buffer size.
  fbdev: Detect integer underflow at "struct fbcon_ops"->clear_margins.
  /dev/mem: Add missing memory barriers for devmem_inode
  serial: 8250_mtk: Fix high-speed baud rates clamping
  serial: 8250: fix null-ptr-deref in serial8250_start_tx()
  serial: tegra: fix CREAD handling for PIO
  staging: comedi: addi_apci_1564: check INSN_CONFIG_DIGITAL_TRIG shift
  staging: comedi: addi_apci_1500: check INSN_CONFIG_DIGITAL_TRIG shift
  staging: comedi: ni_6527: fix INSN_CONFIG_DIGITAL_TRIG support
  staging: comedi: addi_apci_1032: check INSN_CONFIG_DIGITAL_TRIG shift
  staging: wlan-ng: properly check endpoint types
  tty: xilinx_uartps: Really fix id assignment
  iwlwifi: mvm: don't call iwl_mvm_free_inactive_queue() under RCU
  Revert "cifs: Fix the target file was deleted when rename failed."
  usb: xhci: Fix ASM2142/ASM3142 DMA addressing
  usb: xhci-mtk: fix the failure of bandwidth allocation
  binder: Don't use mmput() from shrinker function.
  RISC-V: Upgrade smp_mb__after_spinlock() to iorw,iorw
  drivers/perf: Prevent forced unbinding of PMU drivers
  asm-generic/mmiowb: Allow mmiowb_set_pending() when preemptible()
  x86: math-emu: Fix up 'cmp' insn for clang ias
  arm64: Use test_tsk_thread_flag() for checking TIF_SINGLESTEP
  drivers/perf: Fix kernel panic when rmmod PMU modules during perf sampling
  ALSA: hda/realtek - fixup for yet another Intel reference board
  hwmon: (scmi) Fix potential buffer overflow in scmi_hwmon_probe()
  platform/x86: asus-wmi: allow BAT1 battery name
  platform/x86: ISST: Add new PCI device ids
  hwmon: (nct6775) Accept PECI Calibration as temperature source for NCT6798D
  drm/amdgpu: fix preemption unit test
  drm/amdgpu/gfx10: fix race condition for kiq
  hwmon: (adm1275) Make sure we are reading enough data for different chips
  usb: cdns3: trace: fix some endian issues
  usb: cdns3: ep0: fix some endian issues
  usb: gadget: udc: gr_udc: fix memleak on error handling path in gr_ep_init()
  usb: dwc3: pci: add support for the Intel Jasper Lake
  usb: dwc3: pci: add support for the Intel Tiger Lake PCH -H variant
  Input: elan_i2c - only increment wakeup count on touch
  Input: synaptics - enable InterTouch for ThinkPad X1E 1st gen
  dmaengine: ioat setting ioat timeout as module parameter
  dmaengine: fsl-edma: fix wrong tcd endianness for big-endian cpu
  hwmon: (aspeed-pwm-tacho) Avoid possible buffer overflow
  regmap: dev_get_regmap_match(): fix string comparison
  spi: mediatek: use correct SPI_CFG2_REG MACRO
  ARM: dts: n900: remove mmc1 card detect gpio
  Input: add `SW_MACHINE_COVER`
  dmaengine: tegra210-adma: Fix runtime PM imbalance on error
  HID: apple: Disable Fn-key key-re-mapping on clone keyboards
  HID: steam: fixes race in handling device list.
  HID: alps: support devices with report id 2
  HID: i2c-hid: add Mediacom FlexBook edge13 to descriptor override
  scripts/gdb: fix lx-symbols 'gdb.error' while loading modules
  scripts/decode_stacktrace: strip basepath from all paths
  serial: exar: Fix GPIO configuration for Sealevel cards based on XR17V35X
  geneve: fix an uninitialized value in geneve_changelink()
  bonding: check return value of register_netdevice() in bond_newlink()
  i2c: i2c-qcom-geni: Fix DMA transfer race
  i2c: rcar: always clear ICSAR to avoid side effects
  enetc: Remove the mdio bus on PF probe bailout
  nfsd4: fix NULL dereference in nfsd/clients display code
  Revert "PCI/PM: Assume ports without DLL Link Active train links in 100 ms"
  net: ethernet: ave: Fix error returns in ave_init
  ipvs: fix the connection sync failed in some cases
  qed: suppress false-positives interrupt error messages on HW init
  qed: suppress "don't support RoCE & iWARP" flooding on HW init
  netdevsim: fix unbalaced locking in nsim_create()
  net: dsa: microchip: call phy_remove_link_mode during probe
  net: hns3: fix error handling for desc filling
  net: ag71xx: add missed clk_disable_unprepare in error path of probe
  ionic: fix up filter locks and debug msgs
  ionic: use offset for ethtool regs data
  mlxsw: destroy workqueue when trap_register in mlxsw_emad_init
  bonding: check error value of register_netdevice() immediately
  net: smc91x: Fix possible memory leak in smc_drv_probe()
  drm: sun4i: hdmi: Fix inverted HPD result
  ieee802154: fix one possible memleak in adf7242_probe
  net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration
  ASoC: Intel: bytcht_es8316: Add missed put_device()
  RDMA/mlx5: Use xa_lock_irq when access to SRQ table
  ax88172a: fix ax88172a_unbind() failures
  vsock/virtio: annotate 'the_virtio_vsock' RCU pointer
  hippi: Fix a size used in a 'pci_free_consistent()' in an error handling path
  fpga: dfl: fix bug in port reset handshake
  fpga: dfl: pci: reduce the scope of variable 'ret'
  bnxt_en: Fix completion ring sizing with TPA enabled.
  bnxt_en: Fix race when modifying pause settings.
  btrfs: fix page leaks after failure to lock page for delalloc
  btrfs: fix mount failure caused by race with umount
  btrfs: fix double free on ulist after backref resolution failure
  ASoC: rt5670: Correct RT5670_LDO_SEL_MASK
  ALSA: info: Drop WARN_ON() from buffer NULL sanity check
  ALSA: hda/realtek: Fixed ALC298 sound bug by adding quirk for Samsung Notebook Pen S
  uprobes: Change handle_swbp() to send SIGTRAP with si_code=SI_KERNEL, to fix GDB regression
  btrfs: reloc: clear DEAD_RELOC_TREE bit for orphan roots to prevent runaway balance
  btrfs: reloc: fix reloc root leak and NULL pointer dereference
  SUNRPC reverting d03727b248d0 ("NFSv4 fix CLOSE not waiting for direct IO compeletion")
  drm/amd/display: Check DMCU Exists Before Loading
  dmabuf: use spinlock to access dmabuf->name
  ARM: dts: imx6qdl-gw551x: fix audio SSI
  ARM: dts: imx6qdl-gw551x: Do not use 'simple-audio-card,dai-link'
  irqdomain/treewide: Keep firmware node unconditionally allocated
  fuse: fix weird page warning
  drivers/firmware/psci: Fix memory leakage in alloc_init_cpu_groups()
  dm: use bio_uninit instead of bio_disassociate_blkg
  scsi: dh: Add Fujitsu device to devinfo and dh lists
  scsi: mpt3sas: Fix error returns in BRM_status_show
  drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout
  net: sky2: initialize return of gm_phy_read
  ALSA: hda/hdmi: fix failures at PCM open on Intel ICL and later
  drivers/net/wan/lapbether: Fixed the value of hard_header_len
  scsi: mpt3sas: Fix unlock imbalance
  xtensa: update *pos in cpuinfo_op.next
  xtensa: fix __sync_fetch_and_{and,or}_4 declarations
  scsi: scsi_transport_spi: Fix function pointer check
  mac80211: allow rx of mesh eapol frames with default rx key
  pinctrl: amd: fix npins for uart0 in kerncz_groups
  gpio: arizona: put pm_runtime in case of failure
  gpio: arizona: handle pm_runtime_get_sync failure case
  soc: qcom: rpmh: Dirt can only make you dirtier, not cleaner
  ANDROID: build: update ABI definitions
  ANDROID: update the kernel release format for GKI
  ANDROID: GKI: update clocksource abi due to upstream fixes needed for VDSO backport
  UPSTREAM: arm64: arch_timer: Disable the compat vdso for cores affected by ARM64_WORKAROUND_1418040
  UPSTREAM: arm64: arch_timer: Allow an workaround descriptor to disable compat vdso
  UPSTREAM: arm64: Introduce a way to disable the 32bit vdso
  ANDROID: staging: android: ion: Fix compilation error for ion_trace.h
  ANDROID: GKI: enable CONFIG_SCSI_UFS_BSG=y
  ANDROID: Incremental fs: magic number compatible 32-bit
  ANDROID: kbuild: don't merge .*..compoundliteral in modules
  ANDROID: KABI updates for db845c (QCOM_COMMAND_DB fixups)
  ANDROID: soc: qcom: cmd-db: Allow COMMAND_DB driver to be loaded as a module
  ANDROID: GKI: preserve ABI for struct sock_cgroup_data
  Revert "genetlink: remove genl_bind"
  Revert "arm64/alternatives: use subsections for replacement sequences"
  ANDROID: KABI updates for db845c (USB_EHCI_HCD, USB_EHCI_HCD_PLATFORM and DWC3 fixups)
  ANDROID: db845c_gki.fragment: Remove DWC3 modules built into GKI
  ANDROID: db845c_gki.fragment: Remove modules built into GKI
  ANDROID: power: wakeup_reason: refine wakeup logs
  ANDROID: power: wakeup_reason: export log_threaded_irq_wakeup_reason
  Linux 5.4.53
  gpio: pca953x: disable regmap locking for automatic address incrementing
  drm/i915/gvt: Fix two CFL MMIO handling caused by regression.
  iommu/vt-d: Make Intel SVM code 64-bit only
  ionic: export features for vlans to use
  spi: sprd: switch the sequence of setting WDG_LOAD_LOW and _HIGH
  rxrpc: Fix trace string
  libceph: don't omit recovery_deletes in target_copy()
  block: fix get_max_segment_size() overflow on 32bit arch
  block: fix splitting segments on boundary masks
  drm/i915/gt: Ignore irq enabling on the virtual engines
  drm/amdgpu/sdma5: fix wptr overwritten in ->get_wptr()
  genirq/affinity: Handle affinity setting on inactive interrupts correctly
  sched/fair: handle case of task_h_load() returning 0
  sched: Fix unreliable rseq cpu_id for new tasks
  arm64: compat: Ensure upper 32 bits of x0 are zero on syscall return
  arm64: ptrace: Consistently use pseudo-singlestep exceptions
  arm64: ptrace: Override SPSR.SS when single-stepping is enabled
  thermal/drivers/cpufreq_cooling: Fix wrong frequency converted from power
  thermal: int3403_thermal: Downgrade error message
  misc: atmel-ssc: lock with mutex instead of spinlock
  dmaengine: fsl-edma-common: correct DSIZE_32BYTE
  dmaengine: mcf-edma: Fix NULL pointer exception in mcf_edma_tx_handler
  dmaengine: fsl-edma: Fix NULL pointer exception in fsl_edma_tx_handler
  intel_th: Fix a NULL dereference when hub driver is not loaded
  intel_th: pci: Add Emmitsburg PCH support
  intel_th: pci: Add Tiger Lake PCH-H support
  intel_th: pci: Add Jasper Lake CPU support
  powerpc/pseries/svm: Fix incorrect check for shared_lppaca_size
  powerpc/book3s64/pkeys: Fix pkey_access_permitted() for execute disable pkey
  hwmon: (emc2103) fix unable to change fan pwm1_enable attribute
  riscv: use 16KB kernel stack on 64-bit
  timer: Fix wheel index calculation on last level
  timer: Prevent base->clk from moving backward
  scsi: megaraid_sas: Remove undefined ENABLE_IRQ_POLL macro
  uio_pdrv_genirq: fix use without device tree and no interrupt
  uio_pdrv_genirq: Remove warning when irq is not specified
  Input: elan_i2c - add more hardware ID for Lenovo laptops
  Input: i8042 - add Lenovo XiaoXin Air 12 to i8042 nomux list
  mei: bus: don't clean driver pointer
  Revert "zram: convert remaining CLASS_ATTR() to CLASS_ATTR_RO()"
  fuse: Fix parameter for FS_IOC_{GET,SET}FLAGS
  fuse: use ->reconfigure() instead of ->remount_fs()
  fuse: ignore 'data' argument of mount(..., MS_REMOUNT)
  ovl: fix unneeded call to ovl_change_flags()
  ovl: relax WARN_ON() when decoding lower directory file handle
  ovl: inode reference leak in ovl_is_inuse true case.
  ovl: fix regression with re-formatted lower squashfs
  serial: mxs-auart: add missed iounmap() in probe failure and remove
  virtio: virtio_console: add missing MODULE_DEVICE_TABLE() for rproc serial
  Revert "tty: xilinx_uartps: Fix missing id assignment to the console"
  virt: vbox: Fix guest capabilities mask check
  virt: vbox: Fix VBGL_IOCTL_VMMDEV_REQUEST_BIG and _LOG req numbers to match upstream
  USB: serial: option: add Quectel EG95 LTE modem
  USB: serial: option: add GosunCn GM500 series
  USB: serial: ch341: add new Product ID for CH340
  USB: serial: cypress_m8: enable Simply Automated UPB PIM
  USB: serial: iuu_phoenix: fix memory corruption
  usb: gadget: function: fix missing spinlock in f_uac1_legacy
  usb: chipidea: core: add wakeup support for extcon
  usb: dwc2: Fix shutdown callback in platform
  USB: c67x00: fix use after free in c67x00_giveback_urb
  ALSA: hda/realtek - Enable Speaker for ASUS UX563
  ALSA: hda/realtek - Enable Speaker for ASUS UX533 and UX534
  ALSA: hda/realtek: Enable headset mic of Acer TravelMate B311R-31 with ALC256
  ALSA: hda/realtek: enable headset mic of ASUS ROG Zephyrus G14(G401) series with ALC289
  ALSA: hda/realtek - change to suitable link model for ASUS platform
  ALSA: usb-audio: Fix race against the error recovery URB submission
  ALSA: line6: Sync the pending work cancel at disconnection
  ALSA: line6: Perform sanity check for each URB creation
  HID: quirks: Ignore Simply Automated UPB PIM
  HID: quirks: Always poll Obins Anne Pro 2 keyboard
  HID: magicmouse: do not set up autorepeat
  HID: logitech-hidpp: avoid repeated "multiplier = " log messages
  slimbus: core: Fix mismatch in of_node_get/put
  clk: qcom: gcc: Add missing UFS clocks for SM8150
  clk: qcom: gcc: Add GPU and NPU clocks for SM8150
  mtd: rawnand: oxnas: Release all devices in the _remove() path
  mtd: rawnand: oxnas: Unregister all devices on error
  mtd: rawnand: oxnas: Keep track of registered devices
  mtd: rawnand: brcmnand: fix CS0 layout
  mtd: rawnand: brcmnand: correctly verify erased pages
  mtd: rawnand: timings: Fix default tR_max and tCCS_min timings
  mtd: rawnand: marvell: Fix probe error path
  mtd: rawnand: marvell: Use nand_cleanup() when the device is not yet registered
  mtd: rawnand: marvell: Fix the condition on a return code
  RDMA/mlx5: Verify that QP is created with RQ or SQ
  soc: qcom: rpmh-rsc: Allow using free WAKE TCS for active request
  soc: qcom: rpmh-rsc: Clear active mode configuration for wake TCS
  soc: qcom: rpmh: Invalidate SLEEP and WAKE TCSes before flushing new data
  soc: qcom: rpmh: Update dirty flag only when data changes
  perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode
  PCI/PM: Call .bridge_d3() hook only if non-NULL
  habanalabs: Align protection bits configuration of all TPCs
  apparmor: ensure that dfa state tables have entries
  soc: qcom: socinfo: add missing soc_id sysfs entry
  arm: dts: mt7623: add phy-mode property for gmac2
  copy_xstate_to_kernel: Fix typo which caused GDB regression
  regmap: debugfs: Don't sleep while atomic for fast_io regmaps
  keys: asymmetric: fix error return code in software_key_query()
  arm64: dts: spcfpga: Align GIC, NAND and UART nodenames with dtschema
  ARM: dts: socfpga: Align L2 cache-controller nodename with dtschema
  xprtrdma: fix incorrect header size calculations
  Revert "thermal: mediatek: fix register index error"
  ARM: dts: Fix dcan driver probe failed on am437x platform
  fuse: don't ignore errors from fuse_writepages_fill()
  NFS: Fix interrupted slots by sending a solo SEQUENCE operation
  clk: AST2600: Add mux for EMMC clock
  clk: mvebu: ARMADA_AP_CPU_CLK needs to select ARMADA_AP_CP_HELPER
  staging: comedi: verify array index is correct before using it
  usb: gadget: udc: atmel: fix uninitialized read in debug printk
  spi: spi-sun6i: sun6i_spi_transfer_one(): fix setting of clock rate
  dmaengine: dmatest: stop completed threads when running without set channel
  dmaengine: dw: Initialize channel before each transfer
  iio: adc: ad7780: Fix a resource handling path in 'ad7780_probe()'
  bus: ti-sysc: Do not disable on suspend for no-idle
  bus: ti-sysc: Fix sleeping function called from invalid context for RTC quirk
  bus: ti-sysc: Fix wakeirq sleeping function called from invalid context
  arm64: dts: meson-gxl-s805x: reduce initial Mali450 core frequency
  arm64: dts: meson: add missing gxl rng clock
  phy: sun4i-usb: fix dereference of pointer phy0 before it is null checked
  dmaengine: sh: usb-dmac: set tx_result parameters
  soundwire: intel: fix memory leak with devm_kasprintf
  iio:health:afe4404 Fix timestamp alignment and prevent data leak.
  ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Flight S
  bus: ti-sysc: Use optional clocks on for enable and wait for softreset bit
  ACPI: video: Use native backlight on Acer TravelMate 5735Z
  Input: mms114 - add extra compatible for mms345l
  ALSA: usb-audio: Add quirk for Focusrite Scarlett 2i2
  ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Alpha S
  ACPI: video: Use native backlight on Acer Aspire 5783z
  ALSA: usb-audio: Rewrite registration quirk handling
  mmc: sdhci: do not enable card detect interrupt for gpio cd type
  doc: dt: bindings: usb: dwc3: Update entries for disabling SS instances in park mode
  ALSA: usb-audio: Create a registration quirk for Kingston HyperX Amp (0951:16d8)
  Input: goodix - fix touch coordinates on Cube I15-TC
  ALSA: usb-audio: Add support for MOTU MicroBook IIc
  bus: ti-sysc: Detect EDMA and set quirk flags for tptc
  arm64: dts: g12-common: add parkmode_disable_ss_quirk on DWC3 controller
  bus: ti-sysc: Detect display subsystem related devices
  bus: ti-sysc: Handle module unlock quirk needed for some RTC
  bus: ti-sysc: Consider non-existing registers too when matching quirks
  bus: ti-sysc: Rename clk related quirks to pre_reset and post_reset quirks
  scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled
  drm/sun4i: tcon: Separate quirks for tcon0 and tcon1 on A20
  ARM: at91: pm: add quirk for sam9x60's ulp1
  HID: quirks: Remove ITE 8595 entry from hid_have_special_driver
  mmc: mmci: Support any block sizes for ux500v2 and qcom variant
  ARM: OMAP2+: use separate IOMMU pdata to fix DRA7 IPU1 boot
  ARM: OMAP2+: Add workaround for DRA7 DSP MStandby errata i879
  ARM: OMAP4+: remove pdata quirks for omap4+ iommus
  net: sfp: add some quirks for GPON modules
  net: sfp: add support for module quirks
  Revert "usb/xhci-plat: Set PM runtime as active on resume"
  Revert "usb/ehci-platform: Set PM runtime as active on resume"
  Revert "usb/ohci-platform: Fix a warning when hibernating"
  net: ethernet: mvneta: Add back interface mode validation
  net: ethernet: mvneta: Do not error out in non serdes modes
  net: macb: call pm_runtime_put_sync on failure path
  of: of_mdio: Correct loop scanning logic
  net: dsa: bcm_sf2: Fix node reference count
  spi: spi-fsl-dspi: Fix lockup if device is shutdown during SPI transfer
  iio:health:afe4403 Fix timestamp alignment and prevent data leak.
  iio:pressure:ms5611 Fix buffer element alignment
  iio:humidity:hts221 Fix alignment and data leak issues
  iio: pressure: zpa2326: handle pm_runtime_get_sync failure
  iio: mma8452: Add missed iio_device_unregister() call in mma8452_probe()
  iio: core: add missing IIO_MOD_H2/ETHANOL string identifiers
  iio: magnetometer: ak8974: Fix runtime PM imbalance on error
  iio:humidity:hdc100x Fix alignment and data leak issues
  iio:magnetometer:ak8974: Fix alignment and data leak issues
  arm64/alternatives: don't patch up internal branches
  i2c: eg20t: Load module automatically if ID matches
  gfs2: read-only mounts should grab the sd_freeze_gl glock
  tpm_tis: extra chip->ops check on error path in tpm_tis_core_init
  arm64/alternatives: use subsections for replacement sequences
  cifs: prevent truncation from long to int in wait_for_free_credits
  dt-bindings: mailbox: zynqmp_ipi: fix unit address
  m68k: mm: fix node memblock init
  m68k: nommu: register start of the memory with memblock
  blk-mq-debugfs: update blk_queue_flag_name[] accordingly for new flags
  thermal/drivers: imx: Fix missing of_node_put() at probe time
  x86/fpu: Reset MXCSR to default in kernel_fpu_begin()
  drm/exynos: fix ref count leak in mic_pre_enable
  drm/exynos: Properly propagate return value in drm_iommu_attach_device()
  drm/msm/dpu: allow initialization of encoder locks during encoder init
  drm/msm: fix potential memleak in error branch
  arm64: arch_timer: Disable the compat vdso for cores affected by ARM64_WORKAROUND_1418040
  arm64: arch_timer: Allow an workaround descriptor to disable compat vdso
  arm64: Introduce a way to disable the 32bit vdso
  ip: Fix SO_MARK in RST, ACK and ICMP packets
  cgroup: Fix sock_cgroup_data on big-endian.
  cgroup: fix cgroup_sk_alloc() for sk_clone_lock()
  tcp: md5: allow changing MD5 keys in all socket states
  tcp: md5: refine tcp_md5_do_add()/tcp_md5_hash_key() barriers
  vlan: consolidate VLAN parsing code and limit max parsing depth
  tcp: md5: do not send silly options in SYNCOOKIES
  tcp: md5: add missing memory barriers in tcp_md5_do_add()/tcp_md5_hash_key()
  tcp: make sure listeners don't initialize congestion-control state
  tcp: fix SO_RCVLOWAT possible hangs under high mem pressure
  sched: consistently handle layer3 header accesses in the presence of VLANs
  net: usb: qmi_wwan: add support for Quectel EG95 LTE modem
  net_sched: fix a memory leak in atm_tc_init()
  net: dsa: microchip: set the correct number of ports
  net: Added pointer check for dst->ops->neigh_lookup in dst_neigh_lookup_skb
  llc: make sure applications use ARPHRD_ETHER
  l2tp: remove skb_dst_set() from l2tp_xmit_skb()
  ipv6: Fix use of anycast address with loopback
  ipv6: fib6_select_path can not use out path for nexthop objects
  ipv4: fill fl4_icmp_{type,code} in ping_v4_sendmsg
  genetlink: remove genl_bind
  bridge: mcast: Fix MLD2 Report IPv6 payload length check
  net: rmnet: fix lower interface leak
  net: atlantic: fix ip dst and ipv6 address filters
  crypto: atmel - Fix build error of CRYPTO_AUTHENC
  crypto: atmel - Fix selection of CRYPTO_AUTHENC
  ANDROID: GKI: update abi symbol lists now that CONFIG_DWC3 is enabled.
  ANDROID: GKI: Enable CONFIG_USB_DWC3
  ANDROID: ABI: add the symbols of dwc3.ko and sprd-dma.ko to unisoc
  ANDROID: ABI: Update the ABI whitelist for QCOM
  ANDROID: GKI: Update CF abi list for virtio-console
  UPSTREAM: lkdtm/heap: Avoid edge and middle of slabs
  UPSTREAM: lkdtm: Avoid more compiler optimizations for bad writes
  ANDROID: GKI: Update ABI after RPMH config change
  ANDROID: GKI: Adjust symbol lists after RPMH removed from gki_defconfig
  ANDROID: db845c_gki.fragment: Add QCOM_RPMH and QCOM_RPMHPD as modules
  ANDROID: gki_defconfig: Remove QCOM_RPMH from the gki_defconfig
  ANDROID: Kconfig.gki: Remove GKI_QCOM_CLKS_CONFIGS and QCOM_RPMHPD from GKI_HACKS config option
  FROMLIST: soc: qcom: rpmh: Allow RPMH driver to be loaded as a module
  UPSTREAM: soc: qcom: rpmhpd: Allow RPMHPD driver to be loaded as a module
  ANDROID: GKI: Export memblock_free to drivers
  ANDROID: GKI: do not export symbol_get/put()
  ANDROID: add xfs back to allmodconfig build tests
  FROMLIST: rpmsg: core: Add signal API support
  ANDROID: GKI: Fix x86 warning on DMA_VIRTUAL_CHANNELS
  ANDROID: GKI: Update ABI and export list for qcom
  Revert "ANDROID: net: enable wireless core features with GKI_LEGACY_WEXT_ALLCONFIG"
  Revert "ALSA: compress: fix partial_drain completion state"

 Conflicts:
	Documentation/devicetree/bindings
	Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.txt
	Documentation/devicetree/bindings/usb/dwc3.txt
	android/abi_gki_aarch64_qcom
	drivers/soc/qcom/Kconfig
	drivers/soc/qcom/socinfo.c
	drivers/usb/host/xhci-plat.c
	kernel/sched/core.c

Change-Id: If4d45d5447eb2b1b86326bae8c3844fe565a0b42
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
This commit is contained in:
Blagovest Kolenichev 2020-08-04 11:32:47 -07:00
commit 40bffd325d
461 changed files with 8492 additions and 7001 deletions

View file

@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 4
SUBLEVEL = 52
SUBLEVEL = 54
EXTRAVERSION =
NAME = Kleptomaniac Octopus
@ -540,7 +540,7 @@ ifeq ($(shell $(srctree)/scripts/clang-android.sh $(CC) $(CLANG_FLAGS)), y)
$(error "Clang with Android --target detected. Did you specify CLANG_TRIPLE?")
endif
GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)
CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE))
GCC_TOOLCHAIN := $(realpath $(GCC_TOOLCHAIN_DIR)/..)
endif
ifneq ($(GCC_TOOLCHAIN),)
@ -1163,7 +1163,8 @@ targets := vmlinux
$(sort $(vmlinux-deps)): descend ;
filechk_kernel.release = \
echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion \
$(srctree) $(BRANCH) $(KMI_GENERATION))"
# Store (new) KERNELRELEASE string in include/config/kernel.release
include/config/kernel.release: FORCE
@ -1883,7 +1884,8 @@ checkstack:
$(PERL) $(srctree)/scripts/checkstack.pl $(CHECKSTACK_ARCH)
kernelrelease:
@echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
@echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion \
$(srctree) $(BRANCH) $(KMI_GENERATION))"
kernelversion:
@echo $(KERNELVERSION)

File diff suppressed because it is too large Load diff

View file

@ -15,6 +15,9 @@
cfg80211_put_bss
__cfi_slowpath
__check_object_size
__class_create
class_destroy
complete
__const_udelay
consume_skb
cpu_hwcap_keys
@ -60,6 +63,7 @@
kfree_skb
__kmalloc
kmalloc_caches
kmalloc_order_trace
kmem_cache_alloc
kmem_cache_alloc_trace
kmem_cache_create
@ -95,6 +99,7 @@
netif_tx_stop_all_queues
netif_tx_wake_queue
no_llseek
nonseekable_open
noop_llseek
nr_cpu_ids
param_ops_bool
@ -115,6 +120,7 @@
platform_device_unregister
__platform_driver_register
platform_driver_unregister
preempt_schedule
preempt_schedule_notrace
prepare_to_wait_event
printk
@ -169,6 +175,8 @@
strsep
synchronize_irq
synchronize_net
sysfs_create_group
sysfs_remove_group
system_wq
trace_define_field
trace_event_buffer_commit
@ -179,6 +187,7 @@
trace_handle_return
trace_raw_output_prep
trace_seq_printf
unlock_page
unregister_netdev
unregister_netdevice_notifier
unregister_netdevice_queue
@ -207,6 +216,7 @@
vring_del_virtqueue
vring_interrupt
vring_transport_features
wait_for_completion
wait_woken
__wake_up
__warn_printk
@ -305,7 +315,6 @@
pagecache_get_page
path_get
path_put
preempt_schedule
register_filesystem
seq_puts
set_anon_super
@ -315,11 +324,8 @@
simple_statfs
strndup_user
sync_filesystem
sysfs_create_group
sysfs_remove_group
truncate_inode_pages
unlock_new_inode
unlock_page
unlock_rename
unregister_filesystem
user_path_at_empty
@ -430,8 +436,6 @@
cdev_device_add
cdev_device_del
cdev_init
__class_create
class_destroy
__compat_only_sysfs_link_entry_to_kobj
del_timer_sync
device_initialize
@ -591,7 +595,6 @@
drm_set_preferred_mode
drm_universal_plane_init
__get_task_comm
kmalloc_order_trace
kvfree
kvmalloc_node
memdup_user
@ -629,8 +632,6 @@
ww_mutex_unlock
# required by virtio-rng.ko
complete
wait_for_completion
wait_for_completion_killable
# required by virtio_blk.ko
@ -679,6 +680,33 @@
__sysfs_match_string
unregister_blkdev
# required by virtio_console.ko
cancel_work_sync
cdev_add
cdev_alloc
cdev_del
device_create
device_destroy
dma_alloc_attrs
dma_free_attrs
fasync_helper
freezing_slow_path
hvc_alloc
hvc_instantiate
hvc_kick
hvc_poll
hvc_remove
__hvc_resize
kill_fasync
kobject_uevent
pipe_lock
pipe_unlock
__refrigerator
__register_chrdev
__splice_from_pipe
system_freezing_cnt
__unregister_chrdev
# required by virtio_input.ko
input_alloc_absinfo
input_allocate_device
@ -803,7 +831,6 @@
# required by vsock.ko
autoremove_wake_function
nonseekable_open
prandom_u32
prepare_to_wait
proto_register

View file

@ -1,8 +1,5 @@
[abi_whitelist]
# commonly used symbols
add_uevent_var
__alloc_skb
alloc_workqueue
__arch_copy_from_user
__arch_copy_to_user
arm64_const_caps_ready
@ -10,9 +7,7 @@
bpf_trace_run2
bpf_trace_run3
bpf_trace_run4
bt_err
bt_info
cancel_delayed_work
bpf_trace_run5
cancel_delayed_work_sync
cancel_work_sync
__cfi_slowpath
@ -34,8 +29,6 @@
clk_set_rate
clk_sync_state
clk_unprepare
cmd_db_read_addr
cmd_db_read_aux_data
complete
complete_all
__const_udelay
@ -48,21 +41,12 @@
delayed_work_timer_fn
del_timer
del_timer_sync
destroy_workqueue
dev_driver_string
_dev_err
dev_fwnode
dev_get_regmap
device_create_file
device_init_wakeup
device_match_fwnode
device_property_present
device_property_read_string
device_property_read_u32_array
device_register
device_release_driver
device_set_wakeup_capable
device_unregister
device_wakeup_enable
_dev_info
__dev_kfree_skb_any
@ -81,23 +65,20 @@
__devm_of_phy_provider_register
devm_of_platform_populate
devm_phy_create
devm_phy_get
devm_pinctrl_register
__devm_regmap_init_mmio_clk
devm_regulator_bulk_get
devm_regulator_get
devm_regulator_register
devm_request_threaded_irq
devm_reset_control_array_get
__devm_reset_control_get
devm_reset_controller_register
devm_usb_get_phy_by_phandle
devm_watchdog_register_device
_dev_notice
dev_pm_opp_get_level
dev_set_name
_dev_warn
disable_irq
disable_irq_nosync
divider_get_val
divider_recalc_rate
divider_round_rate_parent
@ -116,7 +97,6 @@
dma_set_coherent_mask
dma_set_mask
do_SAK
down_write
driver_unregister
drm_add_edid_modes
drm_atomic_helper_connector_destroy_state
@ -134,10 +114,6 @@
enable_irq
eth_validate_addr
event_triggers_call
extcon_get_edev_by_phandle
extcon_get_state
extcon_register_notifier
extcon_unregister_notifier
fd_install
find_next_bit
find_next_zero_bit
@ -158,8 +134,6 @@
handle_edge_irq
handle_level_irq
hdmi_audio_infoframe_init
hrtimer_init
hrtimer_start_range_ns
i2c_add_adapter
i2c_del_adapter
idr_find
@ -182,7 +156,6 @@
irq_domain_remove
irq_find_mapping
irq_find_matching_fwspec
irq_modify_status
irq_of_parse_and_map
irq_set_chained_handler_and_data
irq_set_chip_and_handler_name
@ -196,19 +169,18 @@
__kmalloc
kmalloc_caches
kmem_cache_alloc_trace
kmemdup
kstrdup
ktime_get
ktime_get_mono_fast_ns
__list_add_valid
__list_del_entry_valid
memcpy
memremap
memset
mii_ethtool_gset
mii_nway_restart
mod_timer
module_layout
module_put
__msecs_to_jiffies
msleep
__mutex_init
@ -224,14 +196,13 @@
of_alias_get_id
of_clk_add_hw_provider
of_clk_del_provider
of_clk_get
of_clk_hw_onecell_get
of_clk_set_defaults
of_device_get_match_data
of_device_is_compatible
of_find_device_by_node
of_find_property
of_fwnode_ops
of_genpd_add_provider_onecell
of_get_child_by_name
of_get_next_available_child
of_get_next_child
@ -242,43 +213,27 @@
of_match_node
of_parse_phandle
of_phy_simple_xlate
of_platform_depopulate
of_platform_populate
of_property_count_elems_of_size
of_property_read_string
of_property_read_u32_index
of_property_read_variable_u32_array
of_reserved_mem_lookup
param_ops_bool
param_ops_int
param_ops_uint
pci_bus_type
pci_dev_put
pci_match_id
pci_read_config_byte
pci_read_config_dword
pci_read_config_word
__pci_register_driver
pci_set_mwi
pci_unregister_driver
pci_write_config_byte
perf_trace_buf_alloc
perf_trace_run_bpf_submit
phy_exit
phy_init
phy_power_off
phy_power_on
phy_set_mode_ext
pinconf_generic_dt_node_to_map
pinctrl_dev_get_drvdata
pinctrl_pm_select_default_state
pinctrl_pm_select_sleep_state
pinctrl_utils_free_map
platform_bus_type
platform_device_add
platform_device_add_properties
platform_device_add_resources
platform_device_alloc
platform_device_put
platform_device_register_full
platform_device_unregister
__platform_driver_register
@ -287,6 +242,8 @@
platform_get_irq_byname
platform_get_resource
platform_get_resource_byname
pm_genpd_add_subdomain
pm_genpd_init
pm_runtime_allow
__pm_runtime_disable
pm_runtime_enable
@ -331,13 +288,10 @@
regulator_disable
regulator_enable
regulator_set_load
regulator_set_voltage
release_firmware
request_firmware
request_threaded_irq
reset_control_assert
reset_control_deassert
rpmh_write_async
schedule_timeout
schedule_timeout_uninterruptible
scnprintf
@ -347,22 +301,19 @@
sg_next
skb_clone
skb_dequeue
skb_pull
skb_push
skb_put
skb_queue_purge
skb_queue_tail
snprintf
sort
sprintf
sscanf
__stack_chk_fail
__stack_chk_guard
strcmp
strcpy
strlcpy
strlen
strncmp
strncpy
__sw_hweight32
__sw_hweight64
synchronize_irq
@ -378,10 +329,8 @@
trace_handle_return
trace_raw_output_prep
trace_seq_printf
try_module_get
tty_flip_buffer_push
__tty_insert_flip_char
tty_termios_encode_baud_rate
uart_add_one_port
uart_get_baud_rate
uart_register_driver
@ -392,19 +341,14 @@
uart_update_timeout
uart_write_wakeup
unregister_reboot_notifier
up_write
usb_add_hcd
usb_amd_dev_put
usb_amd_quirk_pll_check
usb_amd_quirk_pll_disable
usb_amd_quirk_pll_enable
usb_calc_bus_time
usb_create_hcd
usb_deregister
usb_disabled
usb_get_dr_mode
usb_hcd_check_unlink_urb
usb_hcd_end_port_resume
usb_hcd_giveback_urb
usb_hc_died
usb_hcd_is_primary_hcd
@ -416,10 +360,7 @@
usb_hcd_platform_shutdown
usb_hcd_poll_rh_status
usb_hcd_resume_root_hub
usb_hcds_loaded
usb_hcd_start_port_resume
usb_hcd_unlink_urb_from_ep
usb_hub_clear_tt_buffer
usbnet_disconnect
usbnet_get_endpoints
usbnet_get_msglevel
@ -480,11 +421,8 @@
__clk_mux_determine_rate_closest
divider_ro_round_rate_parent
of_find_node_opts_by_path
of_genpd_add_provider_onecell
of_genpd_del_provider
of_prop_next_u32
pm_genpd_add_subdomain
pm_genpd_init
pm_genpd_remove_subdomain
# required by clk-rpmh.ko
@ -518,9 +456,9 @@
regmap_multi_reg_write
# required by msm.ko
alloc_workqueue
__bitmap_andnot
__bitmap_weight
bpf_trace_run5
bpf_trace_run6
bpf_trace_run8
clk_get
@ -542,6 +480,7 @@
component_master_del
component_unbind_all
_ctype
destroy_workqueue
devfreq_recommended_opp
devfreq_resume_device
devfreq_suspend_device
@ -557,7 +496,6 @@
dev_pm_opp_find_freq_ceil
dev_pm_opp_find_freq_exact
dev_pm_opp_find_freq_floor
dev_pm_opp_get_level
dev_pm_opp_get_opp_count
dev_pm_opp_get_voltage
dev_pm_opp_of_add_table
@ -739,6 +677,8 @@
gpiod_set_value
hdmi_audio_infoframe_pack
hdmi_infoframe_pack
hrtimer_init
hrtimer_start_range_ns
i2c_transfer
icc_put
icc_set_bw
@ -752,6 +692,7 @@
iommu_unmap
irq_domain_xlate_onecell
kasprintf
kmemdup
kstrdup_quotable_cmdline
kthread_create_on_node
kthread_destroy_worker
@ -763,7 +704,6 @@
kvmalloc_node
llist_add_batch
memparse
memremap
memunmap
mipi_dsi_create_packet
mipi_dsi_host_register
@ -779,6 +719,7 @@
of_dma_configure
of_drm_find_bridge
of_drm_find_panel
of_find_device_by_node
of_find_matching_node_and_match
of_get_compatible_child
of_graph_get_endpoint_by_regs
@ -786,6 +727,7 @@
of_graph_get_remote_port_parent
of_graph_parse_endpoint
of_icc_get
of_platform_depopulate
of_property_read_string_helper
param_ops_charp
pm_runtime_get_if_in_use
@ -799,13 +741,14 @@
register_vmap_purge_notifier
regulator_get
regulator_put
request_firmware
request_firmware_direct
reservation_ww_class
round_jiffies_up
sched_setscheduler
sg_free_table
shmem_truncate_range
strncpy
sscanf
strstr
sync_file_create
sync_file_get_fence
@ -835,6 +778,7 @@
of_machine_is_compatible
# required by i2c-qup.ko
param_ops_uint
__usecs_to_jiffies
# required by pm8941-pwrkey.ko
@ -852,14 +796,13 @@
icc_provider_add
icc_provider_del
of_icc_xlate_onecell
rpmh_invalidate
rpmh_write_batch
# required by arm_smmu.ko
alloc_io_pgtable_ops
amba_bustype
bus_set_iommu
device_link_add
device_match_fwnode
devm_free_irq
driver_find_device
free_io_pgtable_ops
@ -946,6 +889,7 @@
mii_ethtool_set_link_ksettings
netif_carrier_on
pskb_expand_head
skb_pull
skb_trim
# required by nvmem_qfprom.ko
@ -960,7 +904,12 @@
devm_nvmem_cell_get
# required by phy-qcom-usb-hs.ko
extcon_get_edev_by_phandle
extcon_get_state
extcon_register_notifier
extcon_unregister_notifier
of_property_read_variable_u8_array
regulator_set_voltage
reset_control_reset
# required by pinctrl-msm.ko
@ -970,10 +919,12 @@
gpiochip_set_chained_irqchip
gpiochip_unlock_as_irq
handle_bad_irq
module_put
pinctrl_force_default
pinctrl_force_sleep
pm_power_off
register_restart_handler
try_module_get
unregister_restart_handler
# required by pinctrl-spmi-gpio.ko
@ -991,12 +942,12 @@
devres_release
kfree_const
kstrdup_const
strncmp
# required by qcom-rpmh-regulator.ko
of_get_regulator_init_data
of_node_name_eq
regulator_list_voltage_linear_range
rpmh_write
# required by qcom_spmi-regulator.ko
jiffies_to_usecs
@ -1014,6 +965,12 @@
rtc_valid_tm
# required by ufs-qcom.ko
devm_phy_get
phy_exit
phy_init
phy_power_off
phy_power_on
phy_set_mode_ext
print_hex_dump
ufshcd_dme_get_attr
ufshcd_dme_set_attr
@ -1036,6 +993,11 @@
# required by mdt_loader.ko
request_firmware_into_buf
# required by qcom_rpmh.ko
bitmap_find_next_zero_area_off
__bitmap_set
of_get_property
# required by rmtfs_mem.ko
alloc_chrdev_region
cdev_device_add
@ -1046,7 +1008,6 @@
default_llseek
device_initialize
devm_memremap
of_reserved_mem_lookup
remap_pfn_range
unregister_chrdev_region
@ -1061,6 +1022,7 @@
# required by smsm.ko
handle_nested_irq
irq_domain_xlate_twocell
irq_modify_status
qcom_smem_state_register
qcom_smem_state_unregister
@ -1075,9 +1037,11 @@
__release_region
__request_region
tty_termios_baud_rate
tty_termios_encode_baud_rate
# required by qcom_geni_serial.ko
console_stop
device_create_file
devm_platform_ioremap_resource
handle_sysrq
kstrtoint
@ -1090,58 +1054,50 @@
uart_set_options
# required by ulpi.ko
add_uevent_var
bus_register
bus_unregister
device_register
device_unregister
driver_register
of_device_modalias
of_device_request_module
of_device_uevent_modalias
__request_module
# required by dwc3-qcom.ko
devm_extcon_register_notifier
of_clk_get_parent_count
# required by dwc3.ko
device_property_read_u8_array
devm_usb_get_phy
extcon_find_edev_by_node
extcon_get_extcon_dev
of_usb_get_phy_mode
phy_pm_runtime_get_sync
phy_pm_runtime_put_sync
platform_get_irq_byname_optional
system_freezable_wq
usb_add_gadget_udc
usb_decode_ctrl
usb_del_gadget_udc
usb_ep_set_maxpacket_limit
usb_gadget_giveback_request
usb_gadget_map_request_by_dev
usb_gadget_set_state
usb_gadget_udc_reset
usb_gadget_unmap_request_by_dev
usb_get_maximum_speed
# required by ohci-hcd.ko
flush_work
gen_pool_dma_alloc_align
gen_pool_dma_zalloc_align
gen_pool_free_owner
sb800_prefetch
usb_calc_bus_time
usb_hcds_loaded
# required by ohci-pci.ko
pci_get_slot
pci_match_id
usb_amd_prefetch_quirk
# required by ohci-platform.ko
devm_reset_control_array_get
of_clk_get
usb_create_hcd
# required by xhci-hcd.ko
add_timer
cancel_delayed_work
mod_delayed_work_on
__num_online_cpus
param_ops_ullong
pci_alloc_irq_vectors_affinity
pci_free_irq_vectors
pci_irq_vector
platform_device_add
platform_device_add_properties
platform_device_add_resources
platform_device_alloc
platform_device_put
radix_tree_maybe_preload
sg_pcopy_from_buffer
sg_pcopy_to_buffer
@ -1149,38 +1105,36 @@
usb_amd_pt_check_port
usb_asmedia_modifyflowcontrol
usb_disable_xhci_ports
usb_hcd_end_port_resume
usb_hcd_irq
usb_hcd_map_urb_for_dma
usb_hcd_start_port_resume
usb_hub_clear_tt_buffer
usb_wakeup_notification
wait_for_completion
# required by xhci-pci-renesas.ko
device_release_driver
pci_dev_get
pci_read_config_dword
pci_read_config_word
pci_write_config_byte
pci_write_config_dword
request_firmware_nowait
# required by xhci-pci.ko
pci_d3cold_disable
pci_set_mwi
pci_set_power_state
usb_create_shared_hcd
usb_enable_intel_xhci_ports
# required by xhci-plat-hcd.ko
device_property_present
devm_usb_get_phy_by_phandle
of_usb_host_tpl_support
__usb_create_hcd
# required by roles.ko
__class_create
class_destroy
class_find_device
device_connection_find_match
device_match_name
fwnode_connection_find_match
fwnode_get_parent
fwnode_property_present
kstrtobool
__sysfs_match_string
# required by qcom-wdt.ko
platform_get_irq_optional
@ -1200,6 +1154,7 @@
dget_parent
d_instantiate
d_make_root
down_write
dput
fget
flush_dcache_page
@ -1255,6 +1210,7 @@
unlock_page
unlock_rename
unregister_filesystem
up_write
user_path_at_empty
vfs_create
vfs_fallocate
@ -1275,6 +1231,7 @@
schedule
# required by qrtr.ko
__alloc_skb
capable
datagram_poll
idr_alloc
@ -1296,6 +1253,7 @@
skb_copy_datagram_iter
skb_free_datagram
__skb_pad
skb_queue_purge
skb_recv_datagram
skb_set_owner_w
sk_free

View file

@ -239,7 +239,6 @@
devm_snd_dmaengine_pcm_register
devm_snd_soc_register_card
devm_snd_soc_register_component
devm_usb_get_phy
devm_usb_get_phy_by_phandle
_dev_notice
dev_pm_opp_add
@ -1204,11 +1203,8 @@
up_read
up_write
usb_add_function
usb_add_gadget_udc
usb_assign_descriptors
usb_copy_descriptors
usb_decode_ctrl
usb_del_gadget_udc
usb_ep_alloc_request
usb_ep_autoconfig
usb_ep_dequeue
@ -1217,19 +1213,12 @@
usb_ep_free_request
usb_ep_queue
usb_ep_set_halt
usb_ep_set_maxpacket_limit
usb_free_all_descriptors
usb_function_register
usb_function_unregister
usb_gadget_giveback_request
usb_gadget_map_request_by_dev
usb_gadget_set_state
usb_gadget_udc_reset
usb_gadget_unmap_request_by_dev
usb_gadget_vbus_connect
usb_gadget_vbus_disconnect
usb_get_dr_mode
usb_get_maximum_speed
usb_gstrings_attach
usb_hub_find_child
usb_interface_id

View file

@ -474,7 +474,6 @@
usb_calc_bus_time
usb_create_hcd
usb_disabled
usb_gadget_set_state
usb_get_dr_mode
usb_hc_died
usb_hub_clear_tt_buffer
@ -1052,51 +1051,6 @@
serial8250_suspend_port
serial8250_unregister_port
# required by dwc3-haps.ko
pcim_enable_device
# required by dwc3-of-simple.ko
clk_bulk_get_all
clk_bulk_put_all
of_reset_control_array_get
reset_control_put
reset_control_reset
# required by dwc3-qcom.ko
devm_extcon_register_notifier
irq_modify_status
of_clk_get_parent_count
# required by dwc3.ko
bpf_trace_run4
device_property_read_u8_array
devm_clk_bulk_get_all
devm_phy_get
devm_usb_get_phy
extcon_find_edev_by_node
extcon_get_extcon_dev
extcon_register_notifier
extcon_unregister_notifier
of_usb_get_phy_mode
phy_exit
phy_init
phy_pm_runtime_get_sync
phy_pm_runtime_put_sync
phy_power_off
phy_power_on
phy_set_mode_ext
platform_get_irq_byname_optional
system_freezable_wq
usb_add_gadget_udc
usb_decode_ctrl
usb_del_gadget_udc
usb_ep_set_maxpacket_limit
usb_gadget_giveback_request
usb_gadget_map_request_by_dev
usb_gadget_udc_reset
usb_gadget_unmap_request_by_dev
usb_get_maximum_speed
# required by gadgetfs.ko
_copy_to_iter
current_time

View file

@ -222,10 +222,6 @@
cma_alloc
cma_get_name
cma_release
cmd_db_read_addr
cmd_db_read_aux_data
cmd_db_read_slave_id
cmd_db_ready
compat_alloc_user_space
complete
complete_all
@ -482,6 +478,7 @@
dev_pm_opp_find_freq_ceil
dev_pm_opp_find_freq_exact
dev_pm_opp_find_freq_floor
dev_pm_opp_get_level
dev_pm_opp_get_opp_count
dev_pm_opp_get_opp_table
dev_pm_opp_get_voltage
@ -1206,6 +1203,7 @@
irq_domain_xlate_twocell
irq_find_mapping
irq_find_matching_fwspec
irq_get_irqchip_state
irq_get_irq_data
irq_modify_status
irq_of_parse_and_map
@ -1941,12 +1939,6 @@
rndis_signal_connect
rndis_uninit
round_jiffies
rpmh_flush
rpmh_invalidate
rpmh_mode_solver_set
rpmh_write
rpmh_write_async
rpmh_write_batch
rpmsg_create_ept
rpmsg_destroy_ept
rpmsg_get_signals
@ -2751,7 +2743,6 @@
wiphy_new_nm
wiphy_register
wiphy_unregister
wireless_send_event
woken_wake_function
work_busy
would_dump

View file

@ -145,7 +145,6 @@
devm_regulator_register
devm_request_threaded_irq
devm_spi_register_controller
devm_usb_get_phy
devm_usb_get_phy_by_phandle
dev_queue_xmit
dev_set_name
@ -368,6 +367,7 @@
netif_carrier_on
netif_rx_ni
netif_tx_wake_queue
nf_conntrack_destroy
nf_conntrack_find_get
nf_ct_get_tuplepr
nf_ct_invert_tuple
@ -677,14 +677,12 @@
unregister_chrdev_region
unregister_pernet_subsys
up
usb_add_gadget_udc
usb_alloc_coherent
usb_alloc_urb
usb_autopm_get_interface
usb_autopm_get_interface_no_resume
usb_autopm_put_interface
usb_control_msg
usb_del_gadget_udc
usb_deregister
usb_ep_alloc_request
usb_ep_autoconfig
@ -692,14 +690,11 @@
usb_ep_enable
usb_ep_free_request
usb_ep_queue
usb_ep_set_maxpacket_limit
usb_find_common_endpoints
usb_free_coherent
usb_free_urb
usb_function_register
usb_function_unregister
usb_gadget_giveback_request
usb_gadget_udc_reset
usb_get_dr_mode
usb_get_intf
usb_hcd_is_primary_hcd
@ -801,48 +796,6 @@
cpufreq_register_governor
cpufreq_unregister_governor
# required by dwc3-haps.ko
pcim_enable_device
# required by dwc3-of-simple.ko
clk_bulk_get_all
clk_bulk_put_all
of_reset_control_array_get
reset_control_put
reset_control_reset
# required by dwc3-qcom.ko
devm_extcon_register_notifier
devm_reset_control_array_get
# required by dwc3.ko
device_property_read_string
device_property_read_u8_array
devm_clk_bulk_get
devm_phy_get
__devm_reset_control_get
extcon_find_edev_by_node
extcon_get_extcon_dev
extcon_register_notifier
extcon_unregister_notifier
of_usb_get_phy_mode
phy_exit
phy_init
phy_pm_runtime_get_sync
phy_pm_runtime_put_sync
phy_power_off
phy_power_on
phy_set_mode_ext
pinctrl_pm_select_default_state
pinctrl_pm_select_sleep_state
platform_get_irq_byname_optional
synchronize_irq
usb_decode_ctrl
usb_gadget_map_request_by_dev
usb_gadget_set_state
usb_gadget_unmap_request_by_dev
usb_get_maximum_speed
# required by exfat.ko
__blockdev_direct_IO
block_write_full_page
@ -1702,6 +1655,11 @@
of_dma_controller_free
of_dma_controller_register
of_dma_simple_xlate
vchan_dma_desc_free_list
vchan_find_desc
vchan_init
vchan_tx_desc_free
vchan_tx_submit
# required by sprd-gsp.ko
__kthread_init_worker

View file

@ -36,7 +36,6 @@ CONFIG_BLK_DEV_CY82C693=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_SCSI_AIC7XXX=m
CONFIG_AIC7XXX_CMDS_PER_DEVICE=253
# CONFIG_AIC7XXX_DEBUG_ENABLE is not set

View file

@ -1276,6 +1276,7 @@ config HAVE_ARM_ARCH_TIMER
depends on CPU_V7
select ARM_ARCH_TIMER
select GENERIC_CLOCKEVENTS
select GENERIC_GETTIMEOFDAY
help
This option enables support for the ARM architected timer

View file

@ -1576,8 +1576,9 @@
reg-names = "rev";
ti,hwmods = "d_can0";
/* Domains (P, C): per_pwrdm, l4ls_clkdm */
clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN0_CLKCTRL 0>;
clock-names = "fck";
clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN0_CLKCTRL 0>,
<&dcan0_fck>;
clock-names = "fck", "osc";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0xcc000 0x2000>;
@ -1585,6 +1586,8 @@
dcan0: can@0 {
compatible = "ti,am4372-d_can", "ti,am3352-d_can";
reg = <0x0 0x2000>;
clocks = <&dcan0_fck>;
clock-names = "fck";
syscon-raminit = <&scm_conf 0x644 0>;
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
@ -1597,8 +1600,9 @@
reg-names = "rev";
ti,hwmods = "d_can1";
/* Domains (P, C): per_pwrdm, l4ls_clkdm */
clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN1_CLKCTRL 0>;
clock-names = "fck";
clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN1_CLKCTRL 0>,
<&dcan1_fck>;
clock-names = "fck", "osc";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0xd0000 0x2000>;
@ -1606,6 +1610,8 @@
dcan1: can@0 {
compatible = "ti,am4372-d_can", "ti,am3352-d_can";
reg = <0x0 0x2000>;
clocks = <&dcan1_fck>;
clock-name = "fck";
syscon-raminit = <&scm_conf 0x644 1>;
interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";

View file

@ -105,19 +105,16 @@
sound-digital {
compatible = "simple-audio-card";
simple-audio-card,name = "tda1997x-audio";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&sound_codec>;
simple-audio-card,frame-master = <&sound_codec>;
simple-audio-card,dai-link@0 {
format = "i2s";
sound_cpu: simple-audio-card,cpu {
sound-dai = <&ssi1>;
};
cpu {
sound-dai = <&ssi2>;
};
codec {
bitclock-master;
frame-master;
sound-dai = <&hdmi_receiver>;
};
sound_codec: simple-audio-card,codec {
sound-dai = <&hdmi_receiver>;
};
};
};

View file

@ -138,6 +138,7 @@
mac@1 {
compatible = "mediatek,eth-mac";
reg = <1>;
phy-mode = "rgmii";
phy-handle = <&phy5>;
};

View file

@ -105,6 +105,14 @@
linux,code = <SW_FRONT_PROXIMITY>;
linux,can-disable;
};
machine_cover {
label = "Machine Cover";
gpios = <&gpio6 0 GPIO_ACTIVE_LOW>; /* 160 */
linux,input-type = <EV_SW>;
linux,code = <SW_MACHINE_COVER>;
linux,can-disable;
};
};
isp1707: isp1707 {
@ -814,10 +822,6 @@
pinctrl-0 = <&mmc1_pins>;
vmmc-supply = <&vmmc1>;
bus-width = <4>;
/* For debugging, it is often good idea to remove this GPIO.
It means you can remove back cover (to reboot by removing
battery) and still use the MMC card. */
cd-gpios = <&gpio6 0 GPIO_ACTIVE_LOW>; /* 160 */
};
/* most boards use vaux3, only some old versions use vmmc2 instead */

View file

@ -710,7 +710,7 @@
};
};
L2: l2-cache@fffef000 {
L2: cache-controller@fffef000 {
compatible = "arm,pl310-cache";
reg = <0xfffef000 0x1000>;
interrupts = <0 38 0x04>;

View file

@ -636,7 +636,7 @@
reg = <0xffcfb100 0x80>;
};
L2: l2-cache@fffff000 {
L2: cache-controller@fffff000 {
compatible = "arm,pl310-cache";
reg = <0xfffff000 0x1000>;
interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;

View file

@ -32,7 +32,6 @@ CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y

View file

@ -202,7 +202,6 @@ CONFIG_EEPROM_AT24=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_CONSTANTS=y

View file

@ -2,6 +2,11 @@
#ifndef _ASM_CLOCKSOURCE_H
#define _ASM_CLOCKSOURCE_H
#include <asm/vdso/clocksource.h>
#include <vdso/clocksource.h>
struct arch_clocksource_data {
/* Usable for direct VDSO access? */
enum vdso_clock_mode clock_mode;
};
#endif /* _ASM_CLOCKSOURCE_H */

View file

@ -2,8 +2,8 @@
#ifndef __ASM_VDSOCLOCKSOURCE_H
#define __ASM_VDSOCLOCKSOURCE_H
struct arch_clocksource_data {
bool vdso_direct; /* Usable for direct VDSO access? */
};
#define VDSO_ARCH_CLOCKMODES \
VDSO_CLOCKMODE_ARCHTIMER, \
VDSO_CLOCKMODE_ARCHTIMER_NOCOMPAT = VDSO_CLOCKMODE_ARCHTIMER
#endif /* __ASM_VDSOCLOCKSOURCE_H */

View file

@ -281,7 +281,7 @@ static bool tk_is_cntvct(const struct timekeeper *tk)
if (!IS_ENABLED(CONFIG_ARM_ARCH_TIMER))
return false;
if (!tk->tkr_mono.clock->archdata.vdso_direct)
if (tk->tkr_mono.clock->archdata.clock_mode != VDSO_CLOCKMODE_ARCHTIMER)
return false;
return true;

View file

@ -268,6 +268,10 @@ ENDPROC(at91_backup_mode)
orr tmp1, tmp1, #AT91_PMC_KEY
str tmp1, [pmc, #AT91_CKGR_MOR]
/* Quirk for SAM9X60's PMC */
nop
nop
wait_mckrdy
/* Enable the crystal oscillator */

View file

@ -11,14 +11,43 @@
#include "omap_hwmod.h"
#include "omap_device.h"
#include "clockdomain.h"
#include "powerdomain.h"
static void omap_iommu_dra7_emu_swsup_config(struct platform_device *pdev,
bool enable)
{
static struct clockdomain *emu_clkdm;
static DEFINE_SPINLOCK(emu_lock);
static atomic_t count;
struct device_node *np = pdev->dev.of_node;
if (!of_device_is_compatible(np, "ti,dra7-dsp-iommu"))
return;
if (!emu_clkdm) {
emu_clkdm = clkdm_lookup("emu_clkdm");
if (WARN_ON_ONCE(!emu_clkdm))
return;
}
spin_lock(&emu_lock);
if (enable && (atomic_inc_return(&count) == 1))
clkdm_deny_idle(emu_clkdm);
else if (!enable && (atomic_dec_return(&count) == 0))
clkdm_allow_idle(emu_clkdm);
spin_unlock(&emu_lock);
}
int omap_iommu_set_pwrdm_constraint(struct platform_device *pdev, bool request,
u8 *pwrst)
{
struct powerdomain *pwrdm;
struct omap_device *od;
u8 next_pwrst;
int ret = 0;
od = to_omap_device(pdev);
if (!od)
@ -31,13 +60,21 @@ int omap_iommu_set_pwrdm_constraint(struct platform_device *pdev, bool request,
if (!pwrdm)
return -EINVAL;
if (request)
if (request) {
*pwrst = pwrdm_read_next_pwrst(pwrdm);
omap_iommu_dra7_emu_swsup_config(pdev, true);
}
if (*pwrst > PWRDM_POWER_RET)
return 0;
goto out;
next_pwrst = request ? PWRDM_POWER_ON : *pwrst;
return pwrdm_set_next_pwrst(pwrdm, next_pwrst);
ret = pwrdm_set_next_pwrst(pwrdm, next_pwrst);
out:
if (!request)
omap_iommu_dra7_emu_swsup_config(pdev, false);
return ret;
}

View file

@ -44,6 +44,17 @@ struct pdata_init {
static struct of_dev_auxdata omap_auxdata_lookup[];
static struct twl4030_gpio_platform_data twl_gpio_auxdata;
#if IS_ENABLED(CONFIG_OMAP_IOMMU)
int omap_iommu_set_pwrdm_constraint(struct platform_device *pdev, bool request,
u8 *pwrst);
#else
static inline int omap_iommu_set_pwrdm_constraint(struct platform_device *pdev,
bool request, u8 *pwrst)
{
return 0;
}
#endif
#ifdef CONFIG_MACH_NOKIA_N8X0
static void __init omap2420_n8x0_legacy_init(void)
{
@ -311,16 +322,6 @@ static void __init omap3_pandora_legacy_init(void)
}
#endif /* CONFIG_ARCH_OMAP3 */
#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5)
static struct iommu_platform_data omap4_iommu_pdata = {
.reset_name = "mmu_cache",
.assert_reset = omap_device_assert_hardreset,
.deassert_reset = omap_device_deassert_hardreset,
.device_enable = omap_device_enable,
.device_idle = omap_device_idle,
};
#endif
#if defined(CONFIG_SOC_AM33XX) || defined(CONFIG_SOC_AM43XX)
static struct wkup_m3_platform_data wkup_m3_data = {
.reset_name = "wkup_m3",
@ -336,6 +337,10 @@ static void __init omap5_uevm_legacy_init(void)
#endif
#ifdef CONFIG_SOC_DRA7XX
static struct iommu_platform_data dra7_ipu1_dsp_iommu_pdata = {
.set_pwrdm_constraint = omap_iommu_set_pwrdm_constraint,
};
static struct omap_hsmmc_platform_data dra7_hsmmc_data_mmc1;
static struct omap_hsmmc_platform_data dra7_hsmmc_data_mmc2;
static struct omap_hsmmc_platform_data dra7_hsmmc_data_mmc3;
@ -543,10 +548,6 @@ static struct of_dev_auxdata omap_auxdata_lookup[] = {
&wkup_m3_data),
#endif
#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5)
OF_DEV_AUXDATA("ti,omap4-iommu", 0x4a066000, "4a066000.mmu",
&omap4_iommu_pdata),
OF_DEV_AUXDATA("ti,omap4-iommu", 0x55082000, "55082000.mmu",
&omap4_iommu_pdata),
OF_DEV_AUXDATA("ti,omap4-smartreflex-iva", 0x4a0db000,
"4a0db000.smartreflex", &omap_sr_pdata[OMAP_SR_IVA]),
OF_DEV_AUXDATA("ti,omap4-smartreflex-core", 0x4a0dd000,
@ -561,6 +562,12 @@ static struct of_dev_auxdata omap_auxdata_lookup[] = {
&dra7_hsmmc_data_mmc2),
OF_DEV_AUXDATA("ti,dra7-hsmmc", 0x480ad000, "480ad000.mmc",
&dra7_hsmmc_data_mmc3),
OF_DEV_AUXDATA("ti,dra7-dsp-iommu", 0x40d01000, "40d01000.mmu",
&dra7_ipu1_dsp_iommu_pdata),
OF_DEV_AUXDATA("ti,dra7-dsp-iommu", 0x41501000, "41501000.mmu",
&dra7_ipu1_dsp_iommu_pdata),
OF_DEV_AUXDATA("ti,dra7-iommu", 0x58882000, "58882000.mmu",
&dra7_ipu1_dsp_iommu_pdata),
#endif
/* Common auxdata */
OF_DEV_AUXDATA("ti,sysc", 0, NULL, &ti_sysc_pdata),

View file

@ -77,7 +77,7 @@
method = "smc";
};
intc: intc@fffc1000 {
intc: interrupt-controller@fffc1000 {
compatible = "arm,gic-400", "arm,cortex-a15-gic";
#interrupt-cells = <3>;
interrupt-controller;
@ -302,7 +302,7 @@
status = "disabled";
};
nand: nand@ffb90000 {
nand: nand-controller@ffb90000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "altr,socfpga-denali-nand";
@ -445,7 +445,7 @@
clock-names = "timer";
};
uart0: serial0@ffc02000 {
uart0: serial@ffc02000 {
compatible = "snps,dw-apb-uart";
reg = <0xffc02000 0x100>;
interrupts = <0 108 4>;
@ -456,7 +456,7 @@
status = "disabled";
};
uart1: serial1@ffc02100 {
uart1: serial@ffc02100 {
compatible = "snps,dw-apb-uart";
reg = <0xffc02100 0x100>;
interrupts = <0 109 4>;

View file

@ -2381,6 +2381,7 @@
dr_mode = "host";
snps,dis_u2_susphy_quirk;
snps,quirk-frame-length-adjustment;
snps,parkmode-disable-ss-quirk;
};
};

View file

@ -9,7 +9,7 @@
#include <dt-bindings/input/input.h>
#include "meson-gxl-s905x.dtsi"
#include "meson-gxl-s805x.dtsi"
/ {
compatible = "libretech,aml-s805x-ac", "amlogic,s805x",

View file

@ -9,7 +9,7 @@
#include <dt-bindings/input/input.h>
#include "meson-gxl-s905x.dtsi"
#include "meson-gxl-s805x.dtsi"
/ {
compatible = "amlogic,p241", "amlogic,s805x", "amlogic,meson-gxl";

View file

@ -0,0 +1,24 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2020 BayLibre SAS
* Author: Neil Armstrong <narmstrong@baylibre.com>
*/
#include "meson-gxl-s905x.dtsi"
/ {
compatible = "amlogic,s805x", "amlogic,meson-gxl";
};
/* The S805X Package doesn't seem to handle the 744MHz OPP correctly */
&mali {
assigned-clocks = <&clkc CLKID_MALI_0_SEL>,
<&clkc CLKID_MALI_0>,
<&clkc CLKID_MALI>; /* Glitch free mux */
assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
<0>, /* Do Nothing */
<&clkc CLKID_MALI_0>;
assigned-clock-rates = <0>, /* Do Nothing */
<666666666>,
<0>; /* Do Nothing */
};

View file

@ -288,6 +288,11 @@
};
};
&hwrng {
clocks = <&clkc CLKID_RNG0>;
clock-names = "core";
};
&i2c_A {
clocks = <&clkc CLKID_I2C>;
};

View file

@ -18,6 +18,8 @@ CONFIG_QCOM_WDT=m
CONFIG_PM8916_WATCHDOG=m
CONFIG_MFD_SPMI_PMIC=m
CONFIG_SPMI_MSM_PMIC_ARB=m
CONFIG_QCOM_RPMH=m
CONFIG_QCOM_RPMHPD=m
CONFIG_REGULATOR_QCOM_RPMH=m
CONFIG_REGULATOR_QCOM_SPMI=m
CONFIG_DRM_MSM=m
@ -27,16 +29,11 @@ CONFIG_DRM_MSM=m
CONFIG_DRM_LONTIUM_LT9611=m
CONFIG_USB_XHCI_PCI_RENESAS=m
CONFIG_USB_XHCI_HCD=m
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_HCD_PLATFORM=m
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_OHCI_HCD_PLATFORM=m
CONFIG_USB_DWC3=m
CONFIG_USB_DWC3_DISABLE_GADGET_SG=y
# CONFIG_USB_DWC3_HAPS is not set
# CONFIG_USB_DWC3_OF_SIMPLE is not set
CONFIG_USB_GADGET_VBUS_DRAW=500
# CONFIG_USB_DUMMY_HCD is not set
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_ULPI_BUS=m
CONFIG_MMC_SDHCI_MSM=m
@ -68,3 +65,4 @@ CONFIG_QCOM_SCM=m
CONFIG_ARM_SMMU=m
CONFIG_INCREMENTAL_FS=m
CONFIG_PINCTRL_MSM=m
CONFIG_QCOM_COMMAND_DB=m

View file

@ -244,6 +244,7 @@ CONFIG_SCSI_UFSHCD_PCI=y
CONFIG_SCSI_UFSHCD_PLATFORM=y
CONFIG_SCSI_UFS_DWC_TC_PLATFORM=y
CONFIG_SCSI_UFS_HISI=y
CONFIG_SCSI_UFS_BSG=y
CONFIG_SCSI_UFS_CRYPTO=y
CONFIG_MD=y
CONFIG_BLK_DEV_DM=y
@ -380,6 +381,7 @@ CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_STORAGE=y
CONFIG_USB_UAS=y
CONFIG_USB_DWC3=y
CONFIG_USB_GADGET=y
CONFIG_USB_DUMMY_HCD=y
CONFIG_USB_CONFIGFS=y
@ -418,8 +420,6 @@ CONFIG_MAILBOX=y
CONFIG_IOMMU_LIMIT_IOVA_ALIGNMENT=y
CONFIG_REMOTEPROC=y
CONFIG_RPMSG_CHAR=y
CONFIG_QCOM_COMMAND_DB=y
CONFIG_QCOM_RPMH=y
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
CONFIG_DEVFREQ_GOV_POWERSAVE=y
CONFIG_DEVFREQ_GOV_USERSPACE=y

View file

@ -3,6 +3,9 @@ CONFIG_ARCH_HOLI=y
CONFIG_TRIM_UNUSED_KSYMS=y
CONFIG_UNUSED_KSYMS_WHITELIST="android/abi_gki_aarch64_qcom android/abi_gki_aarch64_qcom_internal"
CONFIG_UNUSED_KSYMS_WHITELIST_ONLY=y
CONFIG_QCOM_RPMH=m
CONFIG_QCOM_RPMHPD=m
CONFIG_QCOM_COMMAND_DB=m
CONFIG_PINCTRL_HOLI=m
CONFIG_HVC_DCC=y
CONFIG_HVC_DCC_SERIALIZE_SMP=y

View file

@ -47,7 +47,6 @@ CONFIG_BALANCE_ANON_FILE_RECLAIM=y
# CONFIG_ZONE_DEVICE is not set
# CONFIG_BUG_ON_HW_MEM_ONLINE_FAIL is not set
CONFIG_MSM_BT_POWER=m
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_I2C_RTC6226_QCA=m
CONFIG_SCSI_UFSHCD_QTI=y
CONFIG_SCSI_UFS_BSG=y

View file

@ -4,6 +4,9 @@ CONFIG_ARCH_SHIMA=y
CONFIG_TRIM_UNUSED_KSYMS=y
CONFIG_UNUSED_KSYMS_WHITELIST="android/abi_gki_aarch64_qcom android/abi_gki_aarch64_qcom_internal"
CONFIG_UNUSED_KSYMS_WHITELIST_ONLY=y
CONFIG_QCOM_RPMH=m
CONFIG_QCOM_RPMHPD=m
CONFIG_QCOM_COMMAND_DB=m
CONFIG_REGULATOR_STUB=m
CONFIG_REGULATOR_PROXY_CONSUMER=m
CONFIG_PINCTRL_MSM=m

View file

@ -50,7 +50,6 @@ CONFIG_LIMIT_MOVABLE_ZONE_ALLOC=y
# CONFIG_ZONE_DEVICE is not set
# CONFIG_BUG_ON_HW_MEM_ONLINE_FAIL is not set
CONFIG_MSM_BT_POWER=m
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_I2C_RTC6226_QCA=m
CONFIG_SCSI_UFSHCD_QTI=y
CONFIG_SCSI_UFS_BSG=y

View file

@ -58,6 +58,7 @@ struct arch_timer_erratum_workaround {
u64 (*read_cntvct_el0)(void);
int (*set_next_event_phys)(unsigned long, struct clock_event_device *);
int (*set_next_event_virt)(unsigned long, struct clock_event_device *);
bool disable_compat_vdso;
};
DECLARE_PER_CPU(const struct arch_timer_erratum_workaround *,

View file

@ -2,6 +2,11 @@
#ifndef _ASM_CLOCKSOURCE_H
#define _ASM_CLOCKSOURCE_H
#include <asm/vdso/clocksource.h>
#include <vdso/clocksource.h>
struct arch_clocksource_data {
/* Usable for direct VDSO access? */
enum vdso_clock_mode clock_mode;
};
#endif

View file

@ -109,6 +109,8 @@ void disable_debug_monitors(enum dbg_active_el el);
void user_rewind_single_step(struct task_struct *task);
void user_fastforward_single_step(struct task_struct *task);
void user_regs_reset_single_step(struct user_pt_regs *regs,
struct task_struct *task);
void kernel_enable_single_step(struct pt_regs *regs);
void kernel_disable_single_step(void);

View file

@ -34,6 +34,10 @@ static inline long syscall_get_error(struct task_struct *task,
struct pt_regs *regs)
{
unsigned long error = regs->regs[0];
if (is_compat_thread(task_thread_info(task)))
error = sign_extend64(error, 31);
return IS_ERR_VALUE(error) ? error : 0;
}
@ -47,7 +51,13 @@ static inline void syscall_set_return_value(struct task_struct *task,
struct pt_regs *regs,
int error, long val)
{
regs->regs[0] = (long) error ? error : val;
if (error)
val = error;
if (is_compat_thread(task_thread_info(task)))
val = lower_32_bits(val);
regs->regs[0] = val;
}
#define SYSCALL_MAX_ARGS 6

View file

@ -94,6 +94,7 @@ void arch_release_task_struct(struct task_struct *tsk);
#define _TIF_SYSCALL_EMU (1 << TIF_SYSCALL_EMU)
#define _TIF_UPROBE (1 << TIF_UPROBE)
#define _TIF_FSCHECK (1 << TIF_FSCHECK)
#define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP)
#define _TIF_32BIT (1 << TIF_32BIT)
#define _TIF_SVE (1 << TIF_SVE)

View file

@ -2,8 +2,10 @@
#ifndef __ASM_VDSOCLOCKSOURCE_H
#define __ASM_VDSOCLOCKSOURCE_H
struct arch_clocksource_data {
bool vdso_direct; /* Usable for direct VDSO access? */
};
#define VDSO_ARCH_CLOCKMODES \
/* vdso clocksource for both 32 and 64bit tasks */ \
VDSO_CLOCKMODE_ARCHTIMER, \
/* vdso clocksource for 64bit tasks only */ \
VDSO_CLOCKMODE_ARCHTIMER_NOCOMPAT \
#endif

View file

@ -10,6 +10,7 @@
#include <asm/unistd.h>
#include <asm/errno.h>
#include <asm/vdso/clocksource.h>
#include <asm/vdso/compat_barrier.h>
#define __VDSO_USE_SYSCALL ULLONG_MAX
@ -112,10 +113,10 @@ static __always_inline u64 __arch_get_hw_counter(s32 clock_mode)
u64 res;
/*
* clock_mode == 0 implies that vDSO are enabled otherwise
* clock_mode == ARCHTIMER implies that vDSO are enabled otherwise
* fallback on syscall.
*/
if (clock_mode)
if (clock_mode != VDSO_CLOCKMODE_ARCHTIMER)
return __VDSO_USE_SYSCALL;
/*

View file

@ -9,6 +9,8 @@
#include <asm/unistd.h>
#include <asm/vdso/clocksource.h>
#define __VDSO_USE_SYSCALL ULLONG_MAX
#define VDSO_HAS_CLOCK_GETRES 1
@ -72,10 +74,10 @@ static __always_inline u64 __arch_get_hw_counter(s32 clock_mode)
u64 res;
/*
* clock_mode == 0 implies that vDSO are enabled otherwise
* clock_mode != NONE implies that vDSO are enabled otherwise
* fallback on syscall.
*/
if (clock_mode)
if (clock_mode == VDSO_CLOCKMODE_NONE)
return __VDSO_USE_SYSCALL;
/*

View file

@ -24,9 +24,7 @@ struct vdso_data *__arm64_get_k_vdso_data(void)
static __always_inline
int __arm64_get_clock_mode(struct timekeeper *tk)
{
u32 use_syscall = !tk->tkr_mono.clock->archdata.vdso_direct;
return use_syscall;
return tk->tkr_mono.clock->archdata.clock_mode;
}
#define __arch_get_clock_mode __arm64_get_clock_mode

View file

@ -43,20 +43,8 @@ bool alternative_is_applied(u16 cpufeature)
*/
static bool branch_insn_requires_update(struct alt_instr *alt, unsigned long pc)
{
unsigned long replptr;
if (kernel_text_address(pc))
return true;
replptr = (unsigned long)ALT_REPL_PTR(alt);
if (pc >= replptr && pc <= (replptr + alt->alt_len))
return false;
/*
* Branching into *another* alternate sequence is doomed, and
* we're not even trying to fix it up.
*/
BUG();
unsigned long replptr = (unsigned long)ALT_REPL_PTR(alt);
return !(pc >= replptr && pc <= (replptr + alt->alt_len));
}
#define align_down(x, a) ((unsigned long)(x) & ~(((unsigned long)(a)) - 1))

View file

@ -141,17 +141,20 @@ postcore_initcall(debug_monitors_init);
/*
* Single step API and exception handling.
*/
static void set_regs_spsr_ss(struct pt_regs *regs)
static void set_user_regs_spsr_ss(struct user_pt_regs *regs)
{
regs->pstate |= DBG_SPSR_SS;
}
NOKPROBE_SYMBOL(set_regs_spsr_ss);
NOKPROBE_SYMBOL(set_user_regs_spsr_ss);
static void clear_regs_spsr_ss(struct pt_regs *regs)
static void clear_user_regs_spsr_ss(struct user_pt_regs *regs)
{
regs->pstate &= ~DBG_SPSR_SS;
}
NOKPROBE_SYMBOL(clear_regs_spsr_ss);
NOKPROBE_SYMBOL(clear_user_regs_spsr_ss);
#define set_regs_spsr_ss(r) set_user_regs_spsr_ss(&(r)->user_regs)
#define clear_regs_spsr_ss(r) clear_user_regs_spsr_ss(&(r)->user_regs)
static DEFINE_SPINLOCK(debug_hook_lock);
static LIST_HEAD(user_step_hook);
@ -393,17 +396,26 @@ void user_rewind_single_step(struct task_struct *task)
* If single step is active for this thread, then set SPSR.SS
* to 1 to avoid returning to the active-pending state.
*/
if (test_ti_thread_flag(task_thread_info(task), TIF_SINGLESTEP))
if (test_tsk_thread_flag(task, TIF_SINGLESTEP))
set_regs_spsr_ss(task_pt_regs(task));
}
NOKPROBE_SYMBOL(user_rewind_single_step);
void user_fastforward_single_step(struct task_struct *task)
{
if (test_ti_thread_flag(task_thread_info(task), TIF_SINGLESTEP))
if (test_tsk_thread_flag(task, TIF_SINGLESTEP))
clear_regs_spsr_ss(task_pt_regs(task));
}
void user_regs_reset_single_step(struct user_pt_regs *regs,
struct task_struct *task)
{
if (test_tsk_thread_flag(task, TIF_SINGLESTEP))
set_user_regs_spsr_ss(regs);
else
clear_user_regs_spsr_ss(regs);
}
/* Kernel API */
void kernel_enable_single_step(struct pt_regs *regs)
{

View file

@ -1819,12 +1819,23 @@ static void tracehook_report_syscall(struct pt_regs *regs,
saved_reg = regs->regs[regno];
regs->regs[regno] = dir;
if (dir == PTRACE_SYSCALL_EXIT)
if (dir == PTRACE_SYSCALL_ENTER) {
if (tracehook_report_syscall_entry(regs))
forget_syscall(regs);
regs->regs[regno] = saved_reg;
} else if (!test_thread_flag(TIF_SINGLESTEP)) {
tracehook_report_syscall_exit(regs, 0);
else if (tracehook_report_syscall_entry(regs))
forget_syscall(regs);
regs->regs[regno] = saved_reg;
} else {
regs->regs[regno] = saved_reg;
regs->regs[regno] = saved_reg;
/*
* Signal a pseudo-step exception since we are stepping but
* tracer modifications to the registers may have rewound the
* state machine.
*/
tracehook_report_syscall_exit(regs, 1);
}
}
int syscall_trace_enter(struct pt_regs *regs)
@ -1852,12 +1863,14 @@ int syscall_trace_enter(struct pt_regs *regs)
void syscall_trace_exit(struct pt_regs *regs)
{
unsigned long flags = READ_ONCE(current_thread_info()->flags);
audit_syscall_exit(regs);
if (test_thread_flag(TIF_SYSCALL_TRACEPOINT))
if (flags & _TIF_SYSCALL_TRACEPOINT)
trace_sys_exit(regs, regs_return_value(regs));
if (test_thread_flag(TIF_SYSCALL_TRACE))
if (flags & (_TIF_SYSCALL_TRACE | _TIF_SINGLESTEP))
tracehook_report_syscall(regs, PTRACE_SYSCALL_EXIT);
rseq_syscall(regs);
@ -1935,8 +1948,8 @@ static int valid_native_regs(struct user_pt_regs *regs)
*/
int valid_user_regs(struct user_pt_regs *regs, struct task_struct *task)
{
if (!test_tsk_thread_flag(task, TIF_SINGLESTEP))
regs->pstate &= ~DBG_SPSR_SS;
/* https://lore.kernel.org/lkml/20191118131525.GA4180@willie-the-truck */
user_regs_reset_single_step(regs, task);
if (is_compat_thread(task_thread_info(task)))
return valid_compat_regs(regs);

View file

@ -782,7 +782,6 @@ static void setup_restart_syscall(struct pt_regs *regs)
*/
static void handle_signal(struct ksignal *ksig, struct pt_regs *regs)
{
struct task_struct *tsk = current;
sigset_t *oldset = sigmask_to_save();
int usig = ksig->sig;
int ret;
@ -806,14 +805,8 @@ static void handle_signal(struct ksignal *ksig, struct pt_regs *regs)
*/
ret |= !valid_user_regs(&regs->user_regs, current);
/*
* Fast forward the stepping logic so we step into the signal
* handler.
*/
if (!ret)
user_fastforward_single_step(tsk);
signal_setup_done(ret, ksig, 0);
/* Step into the signal handler if we are stepping */
signal_setup_done(ret, ksig, test_thread_flag(TIF_SINGLESTEP));
}
/*

View file

@ -50,6 +50,9 @@ static void invoke_syscall(struct pt_regs *regs, unsigned int scno,
ret = do_ni_syscall(regs, scno);
}
if (is_compat_task())
ret = lower_32_bits(ret);
regs->regs[0] = ret;
}
@ -121,7 +124,7 @@ static void el0_svc_common(struct pt_regs *regs, int scno, int sc_nr,
if (!has_syscall_work(flags) && !IS_ENABLED(CONFIG_DEBUG_RSEQ)) {
local_daif_mask();
flags = current_thread_info()->flags;
if (!has_syscall_work(flags)) {
if (!has_syscall_work(flags) && !(flags & _TIF_SINGLESTEP)) {
/*
* We're off to userspace, where interrupts are
* always enabled after we restore the flags from

View file

@ -35,7 +35,6 @@ CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_CHR_DEV_OSST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y

View file

@ -334,7 +334,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SAS_ATTRS=m

View file

@ -319,7 +319,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SAS_ATTRS=m

View file

@ -334,7 +334,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SAS_ATTRS=m

View file

@ -316,7 +316,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SAS_ATTRS=m

View file

@ -318,7 +318,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SAS_ATTRS=m

View file

@ -325,7 +325,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SAS_ATTRS=m

View file

@ -358,7 +358,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SAS_ATTRS=m

View file

@ -315,7 +315,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SAS_ATTRS=m

View file

@ -316,7 +316,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SAS_ATTRS=m

View file

@ -324,7 +324,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SAS_ATTRS=m

View file

@ -313,7 +313,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SAS_ATTRS=m

View file

@ -313,7 +313,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SAS_ATTRS=m

View file

@ -139,7 +139,8 @@ void __init setup_arch(char **cmdline_p)
pr_debug("MEMORY -> ROMFS=0x%p-0x%06lx MEM=0x%06lx-0x%06lx\n ",
__bss_stop, memory_start, memory_start, memory_end);
memblock_add(memory_start, memory_end - memory_start);
memblock_add(_rambase, memory_end - _rambase);
memblock_reserve(_rambase, memory_start - _rambase);
/* Keep a copy of command line */
*cmdline_p = &command_line[0];

View file

@ -164,7 +164,7 @@ void __init cf_bootmem_alloc(void)
m68k_memory[0].addr = _rambase;
m68k_memory[0].size = _ramend - _rambase;
memblock_add(m68k_memory[0].addr, m68k_memory[0].size);
memblock_add_node(m68k_memory[0].addr, m68k_memory[0].size, 0);
/* compute total pages in system */
num_pages = PFN_DOWN(_ramend - _rambase);

View file

@ -112,7 +112,6 @@ CONFIG_BLK_DEV_TC86C001=m
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_ATA=y

View file

@ -99,7 +99,6 @@ CONFIG_CDROM_PKTCDVD=m
CONFIG_ATA_OVER_ETH=m
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOWLEVEL is not set

View file

@ -99,7 +99,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_CONSTANTS=y

View file

@ -50,7 +50,6 @@ CONFIG_RAID_ATTRS=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y

View file

@ -191,7 +191,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_FC_ATTRS=y

View file

@ -239,7 +239,6 @@ CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y

View file

@ -247,7 +247,6 @@ CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y

View file

@ -245,7 +245,6 @@ CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y

View file

@ -245,7 +245,6 @@ CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y

View file

@ -203,7 +203,6 @@ CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_FC_ATTRS=y

View file

@ -444,9 +444,10 @@ static int bridge_probe(struct platform_device *pdev)
return -ENOMEM;
domain = irq_domain_create_hierarchy(parent, 0, 8, fn,
&bridge_domain_ops, NULL);
irq_domain_free_fwnode(fn);
if (!domain)
if (!domain) {
irq_domain_free_fwnode(fn);
return -ENOMEM;
}
pci_set_flags(PCI_PROBE_ONLY);

View file

@ -212,6 +212,8 @@ atomic64_set(atomic64_t *v, s64 i)
_atomic_spin_unlock_irqrestore(v, flags);
}
#define atomic64_set_release(v, i) atomic64_set((v), (i))
static __inline__ s64
atomic64_read(const atomic64_t *v)
{

View file

@ -2,7 +2,6 @@ CONFIG_AQUANTIA_PHY=y
CONFIG_AT803X_PHY=y
CONFIG_ATA=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_BLK_DEV_SR=y
CONFIG_BROADCOM_PHY=y
CONFIG_C293_PCIE=y

View file

@ -47,7 +47,6 @@ CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SYM53C8XX_2=y

View file

@ -45,7 +45,6 @@ CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SYM53C8XX_2=y

View file

@ -62,7 +62,6 @@ CONFIG_CDROM_PKTCDVD=m
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SPI_ATTRS=y

View file

@ -41,7 +41,6 @@ CONFIG_BLK_DEV_RAM_SIZE=8192
# CONFIG_SCSI_PROC_FS is not set
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_IPR=y
CONFIG_ATA=y

View file

@ -60,7 +60,6 @@ CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_CHR_DEV_OSST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_SCH=y
CONFIG_SCSI_CONSTANTS=y

View file

@ -119,7 +119,6 @@ CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_FC_ATTRS=y

View file

@ -111,7 +111,6 @@ CONFIG_BLK_DEV_NVME=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SCAN_ASYNC=y

View file

@ -110,7 +110,6 @@ CONFIG_VIRTIO_BLK=m
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_FC_ATTRS=y

View file

@ -60,7 +60,6 @@ CONFIG_BLK_DEV_RAM_SIZE=65536
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_FC_ATTRS=y

View file

@ -372,7 +372,6 @@ CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_ENCLOSURE=m

View file

@ -97,7 +97,6 @@ CONFIG_VIRTIO_BLK=m
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_FC_ATTRS=y

View file

@ -83,7 +83,6 @@ CONFIG_EEPROM_AT24=m
# CONFIG_OCXL is not set
CONFIG_BLK_DEV_SD=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SCAN_ASYNC=y

View file

@ -86,7 +86,7 @@ static void *__init alloc_shared_lppaca(unsigned long size, unsigned long align,
* This is very early in boot, so no harm done if the kernel crashes at
* this point.
*/
BUG_ON(shared_lppaca_size >= shared_lppaca_total_size);
BUG_ON(shared_lppaca_size > shared_lppaca_total_size);
return ptr;
}

View file

@ -367,12 +367,14 @@ static bool pkey_access_permitted(int pkey, bool write, bool execute)
return true;
pkey_shift = pkeyshift(pkey);
if (execute && !(read_iamr() & (IAMR_EX_BIT << pkey_shift)))
return true;
if (execute)
return !(read_iamr() & (IAMR_EX_BIT << pkey_shift));
amr = read_amr(); /* Delay reading amr until absolutely needed */
return ((!write && !(amr & (AMR_RD_BIT << pkey_shift))) ||
(write && !(amr & (AMR_WR_BIT << pkey_shift))));
amr = read_amr();
if (write)
return !(amr & (AMR_WR_BIT << pkey_shift));
return !(amr & (AMR_RD_BIT << pkey_shift));
}
bool arch_pte_access_permitted(u64 pte, bool write, bool execute)

View file

@ -58,8 +58,16 @@ do { \
* The AQ/RL pair provides a RCpc critical section, but there's not really any
* way we can take advantage of that here because the ordering is only enforced
* on that one lock. Thus, we're just doing a full fence.
*
* Since we allow writeX to be called from preemptive regions we need at least
* an "o" in the predecessor set to ensure device writes are visible before the
* task is marked as available for scheduling on a new hart. While I don't see
* any concrete reason we need a full IO fence, it seems safer to just upgrade
* this in order to avoid any IO crossing a scheduling boundary. In both
* instances the scheduler pairs this with an mb(), so nothing is necessary on
* the new hart.
*/
#define smp_mb__after_spinlock() RISCV_FENCE(rw,rw)
#define smp_mb__after_spinlock() RISCV_FENCE(iorw,iorw)
#include <asm-generic/barrier.h>

View file

@ -12,7 +12,11 @@
#include <linux/const.h>
/* thread information allocation */
#ifdef CONFIG_64BIT
#define THREAD_SIZE_ORDER (2)
#else
#define THREAD_SIZE_ORDER (1)
#endif
#define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
#ifndef __ASSEMBLY__

View file

@ -46,7 +46,6 @@ CONFIG_BLK_DEV_IDETAPE=m
CONFIG_SCSI=m
CONFIG_BLK_DEV_SD=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y

View file

@ -73,7 +73,6 @@ CONFIG_RAID_ATTRS=m
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y

View file

@ -218,6 +218,7 @@ CONFIG_SCSI_UFSHCD=y
CONFIG_SCSI_UFSHCD_PCI=y
CONFIG_SCSI_UFSHCD_PLATFORM=y
CONFIG_SCSI_UFS_DWC_TC_PLATFORM=y
CONFIG_SCSI_UFS_BSG=y
CONFIG_SCSI_UFS_CRYPTO=y
CONFIG_MD=y
CONFIG_BLK_DEV_DM=y
@ -337,6 +338,7 @@ CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_STORAGE=y
CONFIG_USB_UAS=y
CONFIG_USB_DWC3=y
CONFIG_USB_GADGET=y
CONFIG_USB_DUMMY_HCD=y
CONFIG_USB_CONFIGFS=y
@ -357,6 +359,7 @@ CONFIG_MMC_CRYPTO=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_RTC_CLASS=y
CONFIG_DMADEVICES=y
CONFIG_UIO=y
CONFIG_STAGING=y
CONFIG_ASHMEM=y

View file

@ -137,7 +137,6 @@ CONFIG_CONNECTOR=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SPI_ATTRS=y

View file

@ -136,7 +136,6 @@ CONFIG_CONNECTOR=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SPI_ATTRS=y

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