Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 78969bcf authored by Abhijit Trivedi's avatar Abhijit Trivedi
Browse files

DOWNSTREAM: Merge commit '037d768f' into topic branch 09/20/17



* commit '037d768f':
  ARM: dts: msm: Add sdm670 device tree files for Audio over USB-C
  mmc: core: Ignore bus resume flags when card removal event is detected
  Revert "ARM: dts: msm: Enable wlan-msa-fixed-region on SDM845"
  dwc3-msm: Don't override USB speed with EUD based spoof connect/detach
  ARM: dts: msm: Move extcon entry into overlay for sdm670
  iommu: arm-smmu: Standardize atos disablement feature
  lowmemorykiller:  use oom reaper to free pages of task killed by lmk
  ARM: dts: msm: Remove sdm845 interposer overlay files
  defconfig: sdm670: Enable Energy-aware scheduler (EAS)
  ARM: dts: msm: Add the energy-model for SDM670
  scsi: ufs: Get TX and RX FSM states for debug purpose
  ARM: dts: msm: Add sdm670 device tree files for external codec
  ARM: dts: msm: enable charger/fg device for SDM670
  defconfig: sdm670: Enable regmap debugfs write
  ARM: dts: msm: Enable UFS support for SDM845 QVR
  usb: gadget: ccid: Fix data types of header structures
  tty: serial: msm_geni_serial: Update console port to yield the CPU
  soc: qcom: glink: Change division types to uint64_t
  soc: qcom: pil: Take MSS PDC offset from DT
  ARM: dts: msm: Add the register offset for modem PDC on SDM670 and SDM845
  pil: soc: qcom: Add Documentation for mss_pdc_offset
  diag: Prevent local diag_id update after SSR
  ARM: dts: msm: Define thermal zone for pm660_tz sensor in pm660
  ARM: dts: msm: Add BCL thermal zone configs for pm660
  mmc: sdhci: Force probe of shdc1 based on boolean property
  mmc: sdhci-msm: make probe as async probe
  mmc: core: Correct the checks while setting clock scaling frequencies
  mmc: sdhci-msm: Don't enable PWRSAVE_DLL for all latest sdhc hosts
  mmc: host: sdhci-msm: Enable SDHC FIFO explicitly
  mmc: sdhci-msm: Set dll to good phase while sending cmd13 in tuning
  mmc: sdhci-msm-ice: Add new sdhci host_op for updating ice config
  ARM: dts: msm: Add missing properties of USB for SDM670
  arm64: defconfig: Enable USB_LINK_LAYER_TEST on sdm670
  defconfig: sdm845: Enable regmap debugfs write
  regmap: Make regmap debugfs write optional
  mmc: host: Update the USE_PIO_FOR_EMMC_TUNING quirk value
  mmc: core: Select HS mode in device first and then in the host
  mmc: sdhci: Add logs when ignoring timeout due to quirk
  mmc: sdhci: Fix SDHCI_QUIRK2_IGNORE_DATATOUT_FOR_R1BCMD handling
  dma-iommu: Ensure iova is within given range
  iommu/dma: Plumb in the per-CPU IOVA caches
  iommu/dma: Convert to address-based allocation
  msm: ipa3: add lock for num_q6_rule
  f_gsi: Add USB full speed descriptors for DPL interface
  ARM: dts: msm: Add modem_skin cooling device for SDM845
  drivers: qmi-cooling: Add modem skin mitigation device
  drivers: thermal: lmh-dcvsh: Allow boost frequency
  ARM: dts: msm: support SEM1355 with multiple I2C addresses for SDM845
  usb: gadget: f_diag: allocate diag USB channel when not found
  msm: vidc: Check for VB2_BUF_STATE_ACTIVE state
  msm: ipa: Cache CNE event
  ALSA: info: Protect list access of new entry
  msm/sde/rotator: Add rev checks for sdm670
  ARM: dts: msm: dtsi change for sdm670
  ARM: dts: msm: Update USB regulators for sdm670 Track3
  clk: qcom: clk-alpha-pll: Set PLL_UPDATE if configuring the PLL twice
  defconfig: sdxpoorwills: Enable mailbox driver
  drm/msm/sde: release the fence refcount on signal
  soc: sdm845: Update SCT table as per new version
  ARM: dts: msm: Add UFS's Vcc voltage level entry for SDM845
  input: misc: hbtp_input: allow read access to display_pwr sysfs
  soc: qcom: pil: Change timeout API and reset modem on timeout
  drivers: media: broadcast: Fix security vulnerability issue
  wil6210: ensure P2P device is stopped before removing interface
  wil6210: increase connect timeout
  wil6210: clear PAL_UNIT_ICR part of device reset
  wil6210: move pre-FW configuration to separate function
  wil6210: align to latest auto generated wmi.h
  wil6210: make debugfs compilation optional
  wil6210: ratelimit errors in TX/RX interrupts
  ARM: dts: msm: Add video device to sdm670
  msm: vidc: Add changes to read efuse, dt and platform data
  soc: qcom: Add power register dump entry id for memory dump
  ARM: dts: msm: Add memory dump device for SDM670
  ARM: dts: msm: Add imem cookies for boot stats and usb diag for SDM670
  leds: qpnp-wled: Run auto-calibration during init
  ARM: dts: msm: Add thermal zone config for sdm670
  ARM: dts: msm: Configure LMH DCVSh for sdm670
  ARM: dts: msm: Add QMI cooling devices for sdm670
  ARM: dts: msm: Move thermal zone configs to sdm670 thermal devicetree file
  drivers: qti-virtual-sensor: Add virtual sensors for new core combination
  ARM: dts: msm: Add cooling device property to charger in pm660
  ARM: dts: msm: Define thermal zone for pm660l_tz sensor in pm660l
  ARM: dts: msm: Add cooling device property to sdm670 msm gpu
  ARM: dts: msm: Add regulator cooling device for sdm670
  defconfig: sdm670: Enable BCL driver, QMI and regulator cooling devices
  drm/msm/sde: Add rev checks for sdm670 target
  defconfig: sdm670: Enable clock controller drivers for sdm670
  ARM: dts: msm: Update clock nodes for sdm670
  msm: kgsl: Protect the bind object against bad dereference
  Revert "msm: kgsl: Do not memset pages to zero while adding to pool"
  scsi: ufs: Read device tree to find UFS's Vcc voltage level
  msm: vidc: Update operating rate handling
  msm: vidc: Add new control for flip
  diag: Do not close MHI channels when usb is disconnected
  ARM: dts: msm: Enable support for QSEE IPC irq bridge on sdm845
  arm64: defconfig: Enable QSEE IPC irq bridge
  msm: ipa: fix calling mutex lock from atomic context.
  power: qpnp-fg-gen3: update SOC masking algorithm
  qpnp-smb2: provide means to suspend dcin
  power: qpnp-fg-gen3: apply SOC linearization based on user input
  power: qpnp-smb2: smb138x: change the vbus/vconn regulator_ops to static
  power: qpnp-fg-gen3: support JEITA thresholds configurable runtime
  power_supply: add POWER_SUPPLY_PROP_{COLD,HOT}_TEMP properties
  power: qpnp-fg-gen3: make CHARGE_FULL property writable by user
  ARM: dts: msm: Update DCVS table for sdm670 gpu
  ARM: dts: msm: Enable sdhc1 and sdhc2 for sdm670 mtp and cdp
  ARM: dts: msm: Enable UFS support for sdm670 mtp and cdp
  mmc: core: enable async suspend of card
  mmc: sdhci-msm: Put platform suspend in late suspend list
  msm: kgsl: Overwrite a GPU snapshot with a GMU snapshot
  NFC: Add delay to update eSE power state
  msm: ADSPRPC: Support to set FastRPC session ID
  iommu/iova: Fix underflow bug in __alloc_and_insert_iova_range
  iommu/iova: Consolidate code for adding new node to iovad domain rbtree
  iommu/iova: Use rb_entry()
  iommu/iova: Extend cached node lookup condition
  dst: Use after free in __dst_destroy_metrics_generic
  drm/msm/sde: enable SDM845 V2 HW support
  drm/msm/sde: Add support for mdp interrupts handling during IPC
  icnss: Add support to validate the result and error code
  mm: vmscan: scan until it finds eligible pages
  mm, vmscan: prevent kswapd sleeping prematurely due to mismatched classzone_idx
  mm, vmscan: only clear pgdat congested/dirty/writeback state when balanced
  mm, vmscan: fix zone balance check in prepare_kswapd_sleep
  mm: remove unnecessary back-off function when retrying page reclaim
  Revert "mm, vmscan: account for skipped pages as a partial scan"
  mm, vmscan: show the number of skipped pages in mm_vmscan_lru_isolate
  mm, vmscan: remove unused mm_vmscan_memcg_isolate
  mm: delete NR_PAGES_SCANNED and pgdat_reclaimable()
  mm: don't avoid high-priority reclaim on memcg limit reclaim
  mm: don't avoid high-priority reclaim on unreclaimable nodes
  mm: remove unnecessary reclaimability check from NUMA balancing target
  mm: remove seemingly spurious reclaimability check from laptop_mode gating
  mm: fix check for reclaimable pages in PF_MEMALLOC reclaim throttling
  mm, vmscan: clear PGDAT_WRITEBACK when zone is balanced
  ARM: dts: qcom: Move some pm660 devices into overlays for sdm670
  clk: qcom: Add clock driver support for SDM670
  PM / devfreq: memlat: Don't ignore extremely latency sensitive workloads
  iio: rradc: Update RRADC USBIN scaling
  ARM: dts: msm: Update GPU PM QoS Vote for SDM845
  power: smb138x-charger: Add support of extcon based notifications
  pinctrl: qcom: spmi-gpio: Update GPIO EN_CTL when setting pin config
  ARM: dts: msm: Add GPU coresight properties for SDM845
  tty: serial: msm_geni_serial: Handle RX errors and statistics
  sched: introduce per CPU sched_load_boost knob
  smp: Wake up all idle CPUs when suspending to idle
  spi: spi-geni-qcom: Fix non-byte aligned bits per word logic
  FROMLIST: binder: fix memory corruption in binder_transaction binder
  ARM: dts: qcom: Add v2 overlay for 4k devices on sdm845 and sda845
  msm: ipa3: add support for WAN UL aggregation
  power: smb-lib: Add USB notification
  msm: vidc: add P010 support for encoders
  mm: fix 100% CPU kswapd busyloop on unreclaimable nodes
  timers: Fix excessive granularity of new timers after a nohz idle
  ARM: dts: msm: Defer init QoS config for IPA for sdm845
  msm: kgsl: Recover from GMU fault
  include: fib: Remove the deprecated UID fields
  ARM: dts: msm: update the energy model for SDM845v2
  msm: vidc: Generate sys error for session init failure
  ARM: dts: msm: add dummy SPSS ETM device for SDM845
  msm: msm_bus: Add flag to defer initial QoS configuration
  drm/msm/sde: initialize display info during connector setup
  drm/msm/sde: enable dsi core clk before updating backlight
  drivers: mailbox: rename mbox_send_controller_data
  ARM: dts: msm: Enable wlan-msa-fixed-region on SDM845
  soc: qcom: glink_pkt: fix number of intent queued
  msm: vidc: enable encoder slice delivery for HEVC
  ARM: dts: msm: Set PM-Qos value for GPU on SDM670
  ARM: dts: msm: Enable context aware DCVS for SDM670
  ARM: dts: msm: Add GPU properties for SDM670 GPU
  soc: qcom: glink_spi_xprt: Remove extra SPI transactions
  usbpd: Add mutex lock to manipulate svid_handler list
  drm/msm/sde: update pre-fetch checks for video mode
  drivers: mailbox: rpmh: fix validation check in probe
  drivers: cpuidle: lpm-levels: Notify sched of low power modes
  tracing: fix race condition reading saved tgids
  ARM: dts: msm: Update cpubw frequency plan for sdm845v2
  ARM: dts: msm: Use the MHZ_TO_MBPS macro for sdm845
  cpufreq: schedutil: Avoid unnecessary kthread wakeup
  ARM: dts: msm: Add a frequency to bandwidth macro for sdm845
  ARM: dts: msm: Add TLB dump buffer ID entries for SDM670
  ARM: dts: msm: Add dtsi entries of USB for SDM670
  ARM: dts: msm: Add Rumi overlay files for SDM670
  msm: ipa: Fix to use after free issue
  ARM: dts: msm: Configure SMMU stream IDs for SLIMBUS on SDM670
  msm: vidc: Check session properties in set format
  wil6210: move vring_idle_trsh definition to wil6210_priv
  wil6210: store FW RF calibration result
  wil6210: fix interface-up check
  wil6210: add statistics for suspend time
  wil6210: check no_fw_recovery in resume failure recovery
  wil6210: support FW RSSI reporting
  msm: kgsl: Enable A6XX preemption through sysfs
  soc: qcom: Add SSR minidump provision for subsystem ramdump
  i2c: qcom: geni: use geni device ptr for dma mapping
  ARM: dts: msm: add PCIe Gen3 PHY sequence for sdm845 v2
  ARM: dts: msm: create PCIe Gen3 node for sdm845
  ARM: dts: msm: Update freq mapping for SDM845-v2 for l3 memlat
  usb: gsi: Remove module param related USB IN/OUT TRBs
  USB: phy-msm-qusb-v2: Enable autoresume only when device is connected
  Revert "iommu: arm-smmu: Add support for ACTLR settings for sdm845"
  soc: qcom: dcc_v2: Add timeout for linked list
  ARM: dts: msm: fix size-cells for smb1355
  ARM: dts: msm: update the battery profile for ascent 3450mAh battery
  dmaengine: gpi: Add support for SMMU S1 translation
  dmaengine: gpi: Dynamically assign gpii instance to clients
  msm: pcie: support PCIe Gen3 core and PHY
  msm: pcie: option to specify Root Complex max link speed
  msm: pcie: add option to change slave address space size
  icnss: Add size check before assigning msa permission
  ASoC: Remove audio drivers from kernel
  soc: qcom: Add snapshot of MSM JTAG drivers
  ion: fix logical-not comparison warning
  soc: qcom: glink: Initialize dummy xprt with dummy functions
  soc: qcom: add physical address error type in Gladiator erp
  i2c-msm-v2: Add snapshot of I2C MSM V2 driver
  qcom-sps-dma: Add snapshot of QCOM SPS DMA driver
  drm/msm/sde: clean up idle pc notification implementation
  ARM: dts: msm: update the clock frequency of SPI slave node to 24Mhz
  ARM: dts: msm: update PCIe0 PHY sequence for sdm845
  drivers: edac: Register IRQ after all the resources are allocated
  msm: kgsl: Add A6XX preemption level sysfs nodes
  msm: pcie: remove PCIe common PHY logic
  defconfig: sdm845: Enable CORESIGHT_EVENT on SDM845
  qpnp-qnovo: fix ptrain done handler
  qpnp-qnovo: disable qnovo for dcin
  qpnp-qnovo: initialize chg_ready votable
  qpnp-qnovo: disable while shutting down
  qpnp: revid: Add support to read TP Rev
  qpnp-qnovo: check ptrain_en in restart work
  qpnp-smb2: use real_type to convey WIPOWER type
  power: qpnp-smb2: expose CHARGE_COUNTER prop via batt psy
  power: qpnp-smb2: use correct properties
  msm: ipa4: Add retry for GSI_channel_halt
  power_supply: add properties for SDP current and PD voltage
  qcom: smb138x: supsend USBIN and disable OTG before shutdown
  power: smb2: Update the charger buck frequencies for PM660
  drivers: thermal: Add support to disable a thermal zone by default
  drivers: thermal: disable the mitigation when zone is disabled
  ARM: dts: msm: update VDD_APC0 CPR aging voltage and corner for SDM845 v2
  drm/msm/sde: update scalar configuration for color fill plane
  msm: kgsl: Enable Content protection and GPMU features for SDM670
  icnss: Fix uninitialized variable
  defconfig: sdm670: enable pm660 devices
  msm: vidc: Update resolution on session continue
  lpm-levels: Correctly log failure to enter LPM
  power: qpnp-fg-gen3: Free the interrupt handlers in fg_cleanup
  msm: gsi: gsi_ctx pointer dereference fix
  ARM: dts: msm: add core, llcc and dram minimum ib values for sdm845
  drm/msm/sde: set minimum ib vote for core, llcc and dram
  ARM: dts: msm: add LOWSVS support on sdm845
  usb: core: Add usb_set_interface_timeout API
  coresight: abort coresight tracing on kernel crash
  ion: Remove unused file ion-ioctl.c
  iommu: arm-smmu: Fix uninitialized variable
  defconfig: sdm845: Panic on hard lockups
  Revert "msm: kgsl: Support GFX CPR control in GPU driver"
  Revert "ARM: dts: msm: Add RPMH CPR register range in GPU DTSI"
  seemp: fix minor issues
  msm: vidc: Map HAL work mode to HFI work mode values
  ARM: dts: msm: Add sdhc2 for sdm670 rumi
  msm: ipa3: Vote to IPA clocks when destroying MHI channels
  ARM: dts: msm: add pmxpoorwills PMIC peripheral devices
  msm: kgsl: Fix integer overflow in _load_gpmu_firmware
  drm: msm: sde: Fix 3d gamut coarse offset
  perf: protect group_leader from races that cause ctx double-free
  netfilter: Change %p to %pK in debug messages
  perf: don't leave group_entry on sibling list (use-after-free)
  msm: kgsl: Do not use GMU for bus DCVS
  ARM: dts: MSM: Add support for SDA845
  drm/msm: add dynamic dsc on/off for resolution switch
  drivers: mailbox: rpmh-mailbox: rename file to match convention
  drivers: mailbox: qti-tcs: rename variables to align with hw
  drivers: qcom: rpmh: rename rpmh_write_passthru to rpmh_write_batch
  msm: ipa3: add LOWSVS frequency votes
  kernel: time: Fix accuracy for low resolution timer
  ARM: dts: msm: configure PMI8998 BOB mode based on APPS state for SDM845
  drm/msm/dp: fix check for sink support for HDCP 2.x
  drm/msm/sde: use secure-direct translation for secure display
  drm/msm: use local non-blocking flag to avoid use after free
  msm: ipa: protect q6_proxy_clk_vote
  Revert "ARM: dts: msm: disable reg dma block for sdm845"
  drm: msm: sde: fix the node name for sde register dump
  drm: msm: sde: Fix the reg dma last command sequence
  msm: ipa: ipa_usb: teth_prot and ttype validation
  power: smblib: suspend USBIN when ICL <= 25mA
  soc: qcom: socinfo: Add SDA845 to list of devices
  msm: vidc: Enhance the STOP command for encoder
  ARM: dts: msm: Use V2 chip for SDM845 QVR
  defconfig: sdxpoorwills: Enable MSM SPI QSD driver
  SPI: spi_qsd: Add snapshot of SPI QSD driver
  ARM: dts: msm: add QDSS support for SDM670
  msm: vidc: Remove WARN_ON usage in driver
  msm: vidc: add P010 support for decoder
  msm: vidc: enable mark_data feature
  Revert "ARM: dts: msm: Add DT node for aop-qmp clock controller on SDM845 v2"
  timers, sched/clock: Hook into s2idle freeze path
  sched: Remove sched_ktime_clock()
  PM / wakeirq: Fixup SRCU conversion
  msm: msm_bus: Only free wake/sleep sets when allocated
  drm/msm/dp: time out after reaching link training max retries
  drm/msm/dp: fix handling of unsupported IRQ requests
  drm/msm/dp: add support for electrical compliance tests
  power: smb138x-charger: increase OTG concurrent mode threshold
  tty: serial: msm_geni_serial: Requeue buffer after handling the data
  msm: vidc: Correct VP9 profile enum
  clk: qcom: Remove GPU_CC_GX_CXO_CLK control for SDM845
  drivers: tty: serial: Fix the early console behavior
  defconfig: sdm845: Enable remoteqdss driver for SDM845
  ANDROID: hardlockup: detect hard lockups without NMIs using secondary cpus
  msm: msm_bus: Check active or dual vote when updating bw
  PM / wakeup: Add msm_show_resume_irq_mask to print off wakeup irq
  msm: vidc: Allocate memory dynamically for debugfs info_reads
  ARM: dts: msm: Add stub regulator devices for sdm670-rumi
  drm/msm/dp: downshift the link rate during link training logic
  drm/msm/dp: add support for EDID and link compliance tests
  drm/msm/dp: add the support to read DP test/link parameters
  drm/msm/dp: fix handling of branch devices
  drivers: llcc: add support to detect llcc instances dynamically
  ARM: dts: msm: add pinctrl devices for PM660, PM660L PMIC GPIOs
  ARM: dts: msm: add DCC ram offset for SDM670
  defconfig: msm: Enable CONFIG_MMC_CQ_HCI for sdm670
  ARM: dts: msm: Remove non-psci properties for sdm845/670
  drivers: cpuidle: lpm-levels: Remove non-psci code and workarounds
  arm: provision page alloc debug support
  arm: mm: program ptes for access restriction
  arm: dma-mapping: handle IOVA address zero
  arm: dma-mapping: page align size before flush tlb
  arm: mm: consider only lowmem regions while remap
  arm: mm: fix pte allocation with CONFIG_FORCE_PAGES feature
  arm: Allow remapping lowmem as 4K pages
  arm/arm64: dma-mapping: flush the tlb on unremap
  dma-mapping: use iommu_unmap for unmapping address
  spcom: fix memory leak in spcom register client / register service API
  arm: dma-mapping: map sg lists into the SMMU as virtually contiguous
  arm: dma: Expand the page protection attributes
  arm: keep address range pmd aligned while remap
  ASoC: msm: qdsp6v2: Use right qualifiers to print size_t variable
  arm: io: Add missing writew relaxed_no_log variant
  msm: kgsl: Avoid unnecessary AHB access
  net: sched: Schedule PRIO qdisc when flow control released
  drm/msm/sde: unregister the backlight node on connector destroy
  msm: kgsl: Support GFX CPR control in GPU driver
  usb: pd: Add support to send PD 3.0 extended messages
  ARM: dts: msm: Add RPMH CPR register range in GPU DTSI
  usb: pd: Add support to handle alert message for PD 3.0
  usb: pd: Add support for PD revision 3.0 control messages
  usb: pd: send Not Supported message when operating in 3.0
  usb: pd: support PD 3.0 extended messages with chunking
  msm: ipa4: enable RMNET_IPA3 for sdxpoorwills
  drm/msm/dp: fix programming for HBR3 link rate
  drm/msm/dp: exit super speed mode when sink doesn't support it
  drm/msm/dp: add support for USB3 DP PHY combo reset
  ARM: dts: msm: Remove GPU_CC_GX_CXO_CLK clock from SDM845
  ARM: dts: msm: Update the pet time NS WDOG on sdm845
  msm: vidc: Fix memory leak issue
  ARM: dts: msm: Add iommu actlr settings for sdm845
  iommu: arm-smmu: Add support for ACTLR settings for sdm845
  ARM: dts: msm: Update the memory map for sdm845
  drm/msm/sde: correct heap id for internal secure fb
  ARM: dts: msm: Enable performance boost frequencies on SDM845 v2
  msm: kgsl: Limit snapshot when GMU fails to boot
  power: qpnp-fg-gen3: Report time_to_full only after SOC is ready
  drm/msm/sde: trigger fence from sde_fence_create API
  power: smblib: Add logging for APSD status
  dwc3: gadget: Use sysdev device instead of gadget->dev.parent
  seemp: check validity of task struct pointer
  drm/msm: skip commit when handling pm suspend if no crtcs active
  sched: walt: fix load_to_freq() for 32 bit system
  drm/msm/sde: fix IRQ callback list adding issue
  clk: qcom: clk-cpu-osm: Change logic to enable OSM
  msm: vidc: Fix race condition in STOP command
  msm: msm_bus: Adjust active and dual votes to prevent double voting
  ARM: dts: msm: Add GPU DTSI entries for SDM845v2
  ARM: dts: msm: Add GDSC GX support for SDM845 v2
  msm: kgsl: Remove unreadable registers from snapshot on SDM845 v2
  msm: sde: parse IOMMU SIDs from the device tree
  drm/msm/sde: store connector list associated with commit state
  drm/msm/sde: reset release and retire timeline for display
  drm/msm: handle case where atomic dispatch fails
  msm: vidc: Skip resetting skip_pc_count for SYS_PC_PREP cmd
  drm/msm/sde: add parentheses for inline kickoff
  msm: sde: enable rotator interrupt only if irq is defined
  icnss: Do not process FW messages after Modem shutdown
  serial: msm_geni_serial: Modify power off sequence
  msm: vidc: Add debug timeout support
  defconfig: sdm845: Enable cnss_genl driver compilation
  msm: driver to create cld80211 nl family at bootup time
  diag: Proper feature mask update to Glink supported peripherals
  regulator: qpnp-lcdb: Add headroom voltage for boost
  regulator: qpnp-lcdb: Add a WA to toggle SC before module_enable
  ARM: dts: msm: Early mount of vendor partition for SDM670
  ARM: dts: msm: Add overlay files for SDM670
  ARM: dts: msm: add csiphy refgen for sdm845 v2
  ARM: dts: msm: increase reset delay for 4k dsc panel
  drm/msm/dp: check for receptacle/plug state
  msm: vidc: Add VP9 profile/level query support
  msm: vidc: Enable color space conversion
  msm: vidc: Align HFI profile with HAL profile
  drm/msm/sde: enable single flush for video mode panels
  msm: kgsl: Add A6XX powerup register list
  platform: msm: check for codec ops
  msm: ipa3: Load IPA FW using PIL for MDM devices
  ARM: dts: msm: Add initial support for SDM845 QVR board
  tty: serial: msm_geni_serial: Disable the IRQ during resume_noirq
  ARM: dts: msm: reduce VDD_APC0/1 CPR voltage margin for SDM845 v2
  ARM: dts: msm: update VDD_APC0/1 NOM_L1 CPR ceiling voltages for SDM845 v2
  ARM: dts: msm: update APC1 speed bin 1 CPRh frequency mapping for SDM845 v2
  msm: ipa4: Change uC EE enum and add new uC protocol struct for IPA4.0
  drm/msm/sde: handle sticky inline rotate flush bit
  drm/msm/sde: AD4 feature enhancement
  ARM: dts: msm: Fix secondary USB controller device name on SDM845
  msm: kgsl: Increase fault detection threshold
  drm/msm/sde: add secure fb translation mode for writeback
  drm/msm/sde: clear encoder connectors pointers after disable
  drm/msm/sde: add support for idle timeout feature
  drm/msm/sde: add connector support for bl scale
  msm: kgsl: Wrap IBs with SET_MARKER packets on A6XX
  drm/msm/dp: remove invalid DPCD write
  soc: qcom: smp2p: spinlock_test: Initialize work item
  spmi: pmic-arb: Remove custom show_resume_irq code
  pinctrl: qcom: Remove show_resume_irq support
  drm/msm/sde: remove obsolete vblank refcount error message
  ARM: dts: msm: add /vendor node in SDM670
  msm: kgsl: Add disable-wake-on-touch devicetree property
  msm: kgsl: Disallow L2PC during wake up from SLUMBER
  msm: kgsl: Disable VPC all flat shading optimization for A5XX
  msm: kgsl: Update total time at right place for accurate GPU busy
  msm: kgsl: Add a NULL check for limit pointer
  drm/msm/sde: remove vote on power handle disable
  drm/msm/dsi-staging: Add support for TE control
  msm: kgsl: Add a trace event for the GPU clock
  msm: sde: defer rotator probe when irq get fails
  ASoC: wcd-spi: Remove debugfs node on unbind
  ASoC: wcd934x: Fix rmmod issues
  ASoC: sdm845: Add support for machine driver rmmod
  ASoC: msm: qdsp6v2: Cleanup of sound card remove
  ASoC: soundwire: Add support for rmmod of swr-wcd-ctrl
  drivers: mfd: Support for rmmod of wcd9xxx-core
  ARM: dts: add audio support for Display Port on SDM845
  ASoC: modify Kconfig files to enable audio for DisplayPort on SDM845
  platform: msm: qcom-geni-se: Fix the race condition during bus voting
  drm/msm/sde: issue flush for rot fetch update only if differs
  drivers: cpuidle: lpm-levels: Print enabled clocks during suspend
  ARM: dts: msm: Add CTI device for SDM845
  msm: sde: avoid commit kickoff if no inline start
  drm/msm/sde: Correct IRQ mapping table for AD
  qpnp-smb2: enable/disable sw jeita using a property
  power: power_supply: add property for sw based JEITA
  power: qpnp-fg-gen3: adjust recharge voltage during soft JEITA charge done
  qpnp-qnovo: skip taking ESR measurement when disabled
  power: qpnp-fg-gen3: add support for skew in capacity learning algorithm
  drm/msm/sde: add interrupt disable function without lock
  drm/msm/sde: fix clearing of multi-rect blendstages
  drm/msm/dp: align the DP link CTS parameters to DRM upstream
  drm: dp: add the definitions for DP Link Compliance tests
  drm: Add definitions for DP compliance Video pattern tests
  drm/msm/dp: rename the enums for DP test bit depth
  soc: qcom: Add debugfs interface for enabling SOC debug events
  drm/msm/dsi-staging: add support to parse ESD specific dt params
  drm/msm/dp: fix host init and deinit sequence
  iommu/arm-smmu: Fix non-fatal fault attribute determination
  ARM: dts: msm: Add support for AOP clock for SDM670
  ARM: dts: msm: Add DSC configuration for sim panels on sdm845
  Linux 4.9.41
  ASoC: dpcm: Avoid putting stream state to STOP when FE stream is paused
  ASoC: : Skylake: Release FW ctx in cleanup
  scsi: bfa: Increase requested firmware version to 3.2.5.1
  scsi: snic: Return error code on memory allocation failure
  scsi: fnic: Avoid sending reset to firmware when another reset is in progress
  HID: ignore Petzl USB headlamp
  ASoC:  bytcr-rt5640: fix settings in internal clock mode
  perf/x86: Set pmu->module in  PMU modules
  x86/platform/-mid: Rename 'spidev' to 'mrfld_spidev'
  ALSA: usb-audio: test EP_FLAG_RUNNING at urb completion
  ARCv2: IRQ: Call entry/exit functions for chained handlers in MCIP
  sh_eth: enable RX descriptor word 0 shift on SH7734
  ASoC: fsl_ssi: set fifo watermark to more reliable value
  net: usb: asix_devices: add .reset_resume for USB PM
  nvmem: imx-ocotp: Fix wrong register size
  arm64: mm: fix show_pte KERN_CONT fallout
  vfio-pci: Handle error from pci_iomap
  video: fbdev: cobalt_lcdfb: Handle return NULL error from devm_ioremap
  perf symbols: Robustify reading of build-id from sysfs
  perf tools: Install tools/lib/traceevent plugins with install-bin
  xfrm: Don't use sk_family for socket policy lookups
  tools lib traceevent: Fix prev/next_prio for deadline tasks
  Xen: ARM: Zero reserved fields of xatp before making hypervisor call
  Btrfs: adjust outstanding_extents counter properly when dio write is split
  benet: stricter vxlan offloading check in be_features_check
  Btrfs: fix lockdep warning about log_mutex
  Btrfs: use down_read_nested to make lockdep silent
  usb: gadget: Fix copy/pasted error message
  ACPI / scan: Prefer devices without _HID/_CID for _ADR matching
  ARM: s3c2410_defconfig: Fix invalid values for NF_CT_PROTO_*
  perf probe: Fix to get correct modname from elf header
  ARM64: zynqmp: Fix i2c node's compatible string
  ARM64: zynqmp: Fix W=1 dtc 1.4 warnings
  usb: dwc3: omap: fix race of pm runtime with irq handler in probe
  dmaengine: ti-dma-crossbar: Add some 'of_node_put()' in error path.
  l2tp: consider '::' as wildcard address in l2tp_ip6 socket lookup
  dmaengine: ioatdma: workaround SKX ioatdma version
  dmaengine: ioatdma: Add Skylake PCI Dev ID
  openrisc: Add _text symbol to fix ksym build error
  irqchip/mxs: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND
  ASoC: nau8825: fix invalid configuration in Pre-Scalar of FLL
  spi: dw: Make debugfs name unique between instances
  ASoC: tlv320aic3x: Mark the RESET register as volatile
  irqchip/keystone: Fix "scheduling while atomic" on rt
  vfio-pci: use 32-bit comparisons for register address for gcc-4.5
  drm/msm: Verify that MSM_SUBMIT_BO_FLAGS are set
  drm/msm: Put back the vaddr in submit_reloc()
  drm/msm: Ensure that the hardware write pointer is valid
  net/mlx4_core: Fix raw qp flow steering rules under SRIOV
  net/mlx4: Remove BUG_ON from ICM allocation routine
  net/mlx4_core: Use-after-free causes a resource leak in flow-steering detach
  ipv6: Should use consistent conditional judgement for ip6 fragment between __ip6_append_data and ip6_finish_output
  net/mlx5: Disable RoCE on the e-switch management port under switchdev mode
  ARM: dts: n900: Mark eMMC slot with no-sdio and no-sd flags
  ARM: dts: am57xx-idk: Put USB2 port in peripheral mode
  dt-bindings: input: Specify the interrupt number of TPS65217 power button
  dt-bindings: power/supply: Update TPS65217 properties
  ARM: omap2+: fixing wrong strcat for Non-NULL terminated string
  r8169: add support for RTL8168 series add-on card.
  x86/mce/AMD: Make the init code more robust
  device-dax: fix sysfs duplicate warnings
  net: skb_needs_check() accepts CHECKSUM_NONE for tx
  pstore: Use dynamic spinlock initializer
  pstore: Correctly initialize spinlock and flags
  pstore: Allow prz to control need for locking
  v4l: s5c73m3: fix negation operator
  dentry name snapshots
  ipmi/watchdog: fix watchdog timeout set on reboot
  RDMA/uverbs: Fix the check for port number
  sched/cgroup: Move sched_online_group() back into css_online() to fix crash
  mailbox: handle empty message in tx_tick
  mailbox: skip complete wait event if timer expired
  mailbox: always wait in mbox_send_message for blocking Tx mode
  wil6210: fix deadlock when using fw_no_recovery option
  ath10k: fix null deref on wmi-tlv when trying spectral scan
  isdn/i4l: fix buffer overflow
  isdn: Fix a sleep-in-atomic bug
  net: phy: Do not perform software reset for Generic PHY
  nfc: fdp: fix NULL pointer dereference
  nfc: Fix hangup of RC-S380* in port100_send_ack()
  smp/hotplug: Replace BUG_ON and react useful
  smp/hotplug: Move unparking of percpu threads to the control CPU
  drm: rcar-du: Simplify and fix probe error handling
  Staging: comedi: comedi_fops: Avoid orphaned proc entry
  Revert "powerpc/numa: Fix percpu allocations to be NUMA aware"
  KVM: PPC: Book3S HV: Save/restore host values of debug registers
  KVM: PPC: Book3S HV: Restore critical SPRs to host values on guest exit
  drm/nouveau/bar/gf100: fix access to upper half of BAR2
  drm/nouveau/disp/nv50-: bump max chans to 21
  drm/vmwgfx: Fix gcc-7.1.1 warning
  md/raid5: add thread_group worker async_tx_issue_pending_all
  KVM: PPC: Book3S HV: Enable TM before accessing TM registers
  crypto: authencesn - Fix digest_null crash
  NFSv4.1: Fix a race where CB_NOTIFY_LOCK fails to wake a waiter
  NFS: invalidate file size when taking a lock.
  powerpc/pseries: Fix of_node_put() underflow during reconfig remove
  parisc: Suspend lockup detectors before system halt
  parisc: Extend disabled preemption in copy_user_page
  parisc: Prevent TLB speculation on flushed pages on CPUs that only support equivalent aliases
  ALSA: hda - Add missing NVIDIA GPU codec IDs to patch table
  ALSA: fm801: Initialize chip after IRQ handler is registered
  jfs: Don't clear SGID when inheriting ACLs
  net: reduce skb_warn_bad_offload() noise
  pstore: Make spinlock per zone instead of global
  af_key: Add lock to key dump
  ANDROID: sched/fair: Add a backup_cpu to find_best_target
  ANDROID: sched/fair: Try to estimate possible idle states.
  ANDROID: sched/fair: Sync task util before EAS wakeup
  ANDROID: Revert "sched/fair: ensure utilization signals are synchronized before use"
  ANDROID: sched/fair: kick nohz idle balance for misfit task
  ANDROID: sched/fair: Update signals of nohz cpus if we are going idle
  ANDROID: events: add tracepoint for find_best_target
  ANDROID: sched/fair: streamline find_best_target heuristics
  UPSTREAM: cpufreq: schedutil: Trace frequency only if it has changed
  UPSTREAM: cpufreq: schedutil: Avoid reducing frequency of busy CPUs prematurely
  UPSTREAM: cpufreq: schedutil: Refactor sugov_next_freq_shared()
  UPSTREAM: cpufreq: schedutil: Pass sg_policy to get_next_freq()
  UPSTREAM: cpufreq: schedutil: Rectify comment in sugov_irq_work() function
  UPSTREAM: cpufreq: schedutil: irq-work and mutex are only used in slow path
  UPSTREAM: cpufreq: schedutil: enable fast switch earlier
  UPSTREAM: cpufreq: schedutil: Avoid indented labels
  ANDROID: sched/{fair,tune}: simplify fair.c code
  ANDROID: FIXUP: sched/tune: update accouting before CPU capacity
  ANDROID: sched: walt: fix window misalignment when HZ=300
  ANDROID: sched/fair: Remove remnants of commit 608d4948
  ANDROID: schedstats/eas: guard properly to avoid breaking non-smp schedstats users
  ANDROID: sched/tune: don't use schedtune before it is ready
  ANDROID: sched/fair: use SCHED_CAPACITY_SCALE for energy normalization
  ANDROID: sched/{fair,tune}: use reciprocal_value to compute boost margin
  ANDROID: sched/tune: Initialize raw_spin_lock in boosted_groups
  ANDROID: sched/tune: report when SchedTune has not been initialized
  ANDROID: sched/tune: fix sched_energy_diff tracepoint
  ANDROID: sched/tune: increase group count to 5
  ANDROID: cpufreq/schedutil: use boosted_cpu_util for PELT to match WALT
  ANDROID: sched/fair: Fix sched_group_energy() to support per-cpu capacity states
  ANDROID: sched/fair: discount task contribution to find CPU with lowest utilization
  ANDROID: sched/fair: ensure utilization signals are synchronized before use
  ANDROID: sched/fair: remove task util from own cpu when placing waking task
  ANDROID: trace:sched: Make util_avg in load_avg trace reflect PELT/WALT as used
  ANDROID: sched/fair: Add eas (& cas) specific rq, sd and task stats
  ANDROID: sched/core: Fix PELT jump to max OPP upon util increase
  ANDROID: sched: EAS & 'single cpu per cluster'/cpu hotplug interoperability
  UPSTREAM: sched/core: Fix group_entity's share update
  UPSTREAM: sched/fair: Propagate asynchrous detach
  UPSTREAM: sched/fair: Propagate load during synchronous attach/detach
  UPSTREAM: sched/fair: Factorize attach/detach entity
  ANDROID: sched/fair: Simplify idle_idx handling in select_idle_sibling()
  ANDROID: sched/fair: refactor find_best_target() for simplicity
  ANDROID: sched/fair: Change cpu iteration order in find_best_target()
  ANDROID: sched/core: Add first cpu w/ max/min orig capacity to root domain
  ANDROID: sched/core: Remove remnants of commit fd5c98da1a42
  ANDROID: sched: Remove sysctl_sched_is_big_little
  ANDROID: sched/fair: Code !is_big_little path into select_energy_cpu_brute()
  ANDROID: EAS: sched/fair: Re-integrate 'honor sync wakeups' into wakeup path
  ANDROID: Fixup!: sched/fair.c: Set SchedTune specific struct energy_env.task
  ANDROID: sched/fair: Energy-aware wake-up task placement
  ANDROID: sched/fair: Add energy_diff dead-zone margin
  ANDROID: arm64: Set SD_ASYM_CPUCAPACITY sched_domain flag on DIE level
  UPSTREAM: sched/fair: Fix incorrect comment for capacity_margin
  UPSTREAM: sched/fair: Avoid pulling tasks from non-overloaded higher capacity groups
  UPSTREAM: sched/fair: Add per-CPU min capacity to sched_group_capacity
  UPSTREAM: sched/fair: Consider spare capacity in find_idlest_group()
  UPSTREAM: sched/fair: Compute task/cpu utilization at wake-up correctly
  ANDROID: Partial Revert: "ANDROID: sched: Add cpu capacity awareness to wakeup balancing"
  ANDROID: sched/fair: Decommission energy_aware_wake_cpu()
  ANDROID: Revert "WIP: sched: Consider spare cpu capacity at task wake-up"
  FROM-LIST: cpufreq: schedutil: Redefine the rate_limit_us tunable
  ANDROID: cpufreq: schedutil: add up/down frequency transition rate limits
  ANDROID: trace/sched: add rq utilization signal for WALT
  ANDROID: sched/cpufreq: make schedutil use WALT signal
  ANDROID: sched: cpufreq: use rt_avg as estimate of required RT CPU capacity
  UPSTREAM: cpufreq: schedutil: move slow path from workqueue to SCHED_FIFO task
  ANDROID: sched/cpufreq: fix tunables for schedfreq governor
  cpufreq: interactive governor drops bits in time calculation
  DEBUG: sched/fair: Fix sched_load_avg_cpu events for task_groups
  DEBUG: sched/fair: Fix missing sched_load_avg_cpu events
  sched: Consider misfit tasks when load-balancing
  mmc: sdhci: Enable CDR for cmdq mode
  ANDROID: binder: Don't BUG_ON(!spin_is_locked()).
  drm/msm/sde: increase hw reset wait to 2ms
  ARM: dts: msm: enable 11AD keep-radio-on-during-sleep on SDM845
  ARM: dts: msm: Add sps node for sdxpoorwills

Change-Id: I0f4e72a14de1748c276512cd448d0381633d4367
Signed-off-by: default avatarAbhijit Trivedi <abhijitt@codeaurora.org>
parents 58f152fb 037d768f
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -67,6 +67,11 @@ USB Diag Cookies:
Memory region used to store USB PID and serial numbers to be used by
bootloader in download mode.

SSR Minidump Offset
-------------------
-Compatible: "qcom,msm-imem-minidump"
-reg: start address and size of ssr imem region

Required properties:
-compatible: "qcom,msm-imem-diag-dload"
-reg: start address and size of USB Diag download mode region in imem
@@ -115,4 +120,9 @@ Example:
			compatible = "qcom,msm-imem-emergency_download_mode";
			reg = <0xfe0 12>;
		};

		ss_mdump@b88 {
			compatible = "qcom,msm-imem-minidump";
			reg = <0xb88 28>;
		};
	};
+32 −0
Original line number Diff line number Diff line
* JTAG-MM

The jtag-mm entry specifies the memory mapped addresses for the debug and ETM
registers. The jtag-mm driver uses these to save and restore the registers
using memory mapped access during power collapse so as to retain their state
across power collapse. This is necessary in case cp14 access to the registers
is not permitted.

Required Properties:
compatible: component name used for driver matching, should be:
	"qcom,jtag-mm"		- for jtag-mm device
	"qcom,jtagv8-mm"	- for jtagv8-mm device supporting ARMv8 targets

	reg: physical base address and length of the register set
	reg-names: should be "etm-base" for etm register set and "debug-base"
		   for debug register set.
	qcom,coresight-jtagmm-cpu: specifies phandle for the cpu associated
				   with the jtag-mm device
	qcom,si-enable : boolean, indicating etm save and restore is
			 supported via system instructions
	qcom,save-restore-disable : boolean, to disable etm save and restore
				    functionality

Example:
jtag_mm: jtagmm@fc332000 {
	compatible = "qcom,jtag-mm";
	reg = <0xfc332000 0x1000>,
		<0xfc333000 0x1000>;
	reg-names = "etm-base","debug-base";

	qcom,coresight-jtagmm-cpu = <&CPU0>;
};
+148 −195
Original line number Diff line number Diff line
@@ -19,15 +19,14 @@ Required properties:
[Node bindings for qcom,pm-cluster]
 Required properties:
	- reg - The numeric cluster id
	- label: Identifies the cluster name. The name will be
	used when reporting the stats for each low power mode.
	- qcom,spm-device-names: List of  SPM device names which control the
	low power modes for this driver. The lpm driver uses the device name
	to obtain a handle to the SPM driver that controls the cluster's low
	power mode. This is only required if "qcom,use-psci" is not defined.
	- qcom,default-level: The default low power level that a cluster is
	programmed. The SPM of the corresponding device is configured at this
	low power mode by default.
	- label: Identifies the cluster name. The name is used when reporting
	the stats for each low power mode.
	- qcom,psci-mode-shift: The property is used to determine with bit
	location of the cluster mode in the composite state ID used to define
	cluster low power modes in PSCI.
	- qcom,psci-mode-mask: The property is used to determine with bit
	mask of the cluster mode in the composite state ID used to define
	cluster low power modes in PSCI.

	qcom,pm-cluster contains qcom,pm-cluster-level nodes which identify
	the various low power modes that the cluster can enter. The
@@ -39,20 +38,7 @@ Required properties:
	- reg: The numeric cluster level id
	- label: Name to identify the low power mode in stats
	module.
	- qcom,spm-<device-name>-mode: For each SPM device defined in
	qcom,spm-devices-names, a corresponding entry identifying the low
	power mode is expected. For example, the qcom,pm-cluster node contains
	a SPM device by name "l2" then the cluster level should contain a
	qcom,spm-l2-mode.  When a cluster level is chosen ,the SPM device is
	programmed with its
	corresponding low power mode. The accepted values for this property
	are:
		- "active"
		- "wfi"
		- "retention"
		- "gdhs"
		- "pc"
		- "fpc"
	- qcom,psci-mode: ID to be passed into the PSCI firmware.
	- qcom,min-child-idx: The minimum level that a child CPU should be in
	before this level can be chosen. This property is required for all
        non-default level.
@@ -64,31 +50,13 @@ Required properties:
	this level in mWatts.uSec
	- qcom,time-overhead: The time spent in entering and exiting this
	level in uS

 Optional properties:
	- qcom,notify-rpm: When set, the driver flushes the RPM sleep set and
	configures the virtual MPM driver in prepration for a RPM assisted
	sleep.
	- qcom,last-level - When set, the cluster level is applied only when
	there is 1 online core.
	- qcom,disable-dynamic-int-routing: When set disables the dynamic
	routing of rpm-smd and mpm interrupts to next wake up core.
	- qcom,use-psci: This boolean property allows the LPM modules to
	terminate in PSCI to configure SPM for low power modes.
	- qcom,psci-mode-shift: The property is used to determine with bit
	location of the cluster mode in the composite state ID used to define
	cluster low power modes in PSCI v1.0. Required only if qcom,use-psci
	is defined at the lpm-levels root node.
	- qcom,psci-mode-mask: The property is used to determine with bit
	mask of the cluster mode in the composite state ID used to define
	cluster low power modes in PSCI v1.0. Required only if qcom,use-psci
	is defined at the lpm-levels root node.
	- qcom,psci-mode: ID to be passed into the PSCI firmware. Required
	only if qcom,use-psci is defined at the lpm-levels root node.
	- qcom,is-reset: This boolean property will tell whether
	cluster level need power management notifications to be sent out
	or not for the drivers to prepare for cluster collapse.
	- qcom,hyp-psci: This property is used to determine if the cpu
        enters the low power mode within hypervisor.
	- qcom,notify-rpm: When set, the driver configures the sleep and wake
	sets. It also configures the next wakeup time for APPS.
	- qcom,is-reset: This boolean property tells whether cluster level need
	power management notifications to be sent out or not for the drivers to
	prepare for cluster collapse.
	- qcom,reset-level: This property is used to determine in this
	low power mode only control logic power collapse happens or memory
	logic power collapse aswell happens or retention state.
@@ -104,6 +72,8 @@ qcom,pm-cpu contains the low power modes that a cpu could enter and the CPUs
that share the parameters.It contains the following properties.
	- qcom,cpu: List of CPU phandles to identify the CPUs associated with
	this cluster.
	- qcom,psci-mode-shift: Same as cluster level fields.
	- qcom,psci-mode-mask: Same as cluster level fields.
	- qcom,pm-cpu-levels: The different low power modes that a CPU could
	enter. The following section explains the required properties of this
	node.
@@ -111,12 +81,8 @@ that share the parameters.It contains the following properties.
[Node bindings for qcom,pm-cpu-levels]
 Required properties:
	- reg: The numeric cpu level id
	- qcom,spm-cpu-mode: The sleep mode of the processor, values for the
	property are:
		"wfi" - Wait for Interrupt
		"retention" - Retention
		"standalone_pc" - Standalone power collapse
		"pc" - Power Collapse
	- label: Name to identify the low power mode in stats
	- qcom,psci-cpu-mode: ID to be passed into PSCI firmware.
	- qcom,latency-us: The latency in handling the interrupt if this level
	was chosen, in uSec
	- qcom,ss-power: The steady state power expelled when the processor is
@@ -125,201 +91,188 @@ that share the parameters.It contains the following properties.
	this level in mWatts.uSec
	- qcom,time-overhead: The time spent in entering and exiting this
	level in uS
	- qcom,use-broadcast-timer: Indicates that the timer gets reset during
	power collapse and the cpu relies on Broadcast timer for scheduled
	wakeups. Required only for states where the CPUs internal timer state
	is lost.

 Optional properties:
	- qcom,psci-mode-shift: Same as cluster level fields.
	- qcom,psci-mode-mask: Same as cluster level fields.
	- qcom,psci-cpu-mode: ID to be passed into PSCI firmware.
	- qcom,jtag-save-restore: A boolean specifying jtag registers save and restore
	required are not.
	- qcom,is-reset: This boolean property maps to "power state" bit in PSCI
	state_id configuration. This property will tell whether CPU get reset for
	a particular LPM or not. This property will also be used to notify the
	drivers in case of cpu reset.
	a particular LPM or not. This property is also used to notify the drivers
	in case of cpu reset.
	- qcom,use-broadcast-timer: Indicates that the timer gets reset during
	power collapse and the cpu relies on Broadcast timer for scheduled wakeups.
	Required only for states where the CPUs internal timer state is lost.

[Example dts]

	qcom,lpm-levels {
		compatible = "qcom,lpm-levels";
		#address-cells = <1>;
		#size-cells = <0>;
	compatible = "qcom,lpm-levels";

		qcom,pm-cluster@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;
		reg = <0>;
		label = "system";
		qcom,spm-device-names = "cci";
		qcom,default-level = <0>;
			label = "L3";
			qcom,psci-mode-shift = <4>;
			qcom,psci-mode-mask = <0xfff>;

		qcom,pm-cluster-level@0{
			qcom,pm-cluster-level@0 { /* D1 */
				reg = <0>;
			label = "system-cci-retention";
			qcom,spm-cci-mode = "retention";
			qcom,latency-us = <100>;
			qcom,ss-power = <1000>;
			qcom,energy-overhead = <300000>;
			qcom,time-overhead = <100>;
				label = "l3-wfi";
				qcom,psci-mode = <0x1>;
				qcom,latency-us = <51>;
				qcom,ss-power = <452>;
				qcom,energy-overhead = <69355>;
				qcom,time-overhead = <99>;
			};

		qcom,pm-cluster-level@2{
			qcom,pm-cluster-level@1 { /* D2 */
				reg = <1>;
			label = "system-cci-pc";
			qcom,spm-cci-mode = "pc";
			qcom,latency-us = <30000>;
			qcom,ss-power = <83>;
			qcom,energy-overhead = <2274420>;
			qcom,time-overhead = <6605>;
				label = "l3-dyn-ret";
				qcom,psci-mode = <0x2>;
				qcom,latency-us = <659>;
				qcom,ss-power = <434>;
				qcom,energy-overhead = <465725>;
				qcom,time-overhead = <976>;
				qcom,min-child-idx = <1>;
			qcom,notify-rpm;
			};

		qcom,pm-cluster@0{
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;
			label = "a53";
			qcom,spm-device-names = "l2";
			qcom,default-level=<0>;
			qcom,pm-cluster-level@2 { /* D4, D3 is not supported */
				reg = <2>;
				label = "l3-pc";
				qcom,psci-mode = <0x4>;
				qcom,latency-us = <4562>;
				qcom,ss-power = <408>;
				qcom,energy-overhead = <2421840>;
				qcom,time-overhead = <5376>;
				qcom,min-child-idx = <2>;
				qcom,is-reset;
			};

			qcom,pm-cluster-level@0{
				reg = <0>;
				label = "a53-l2-retention";
				qcom,spm-l2-mode = "retention";
				qcom,latency-us = <100>;
				qcom,ss-power = <1000>;
				qcom,energy-overhead = <300000>;
				qcom,time-overhead = <100>;
			qcom,pm-cluster-level@3 { /* Cx off */
				reg = <3>;
				label = "cx-off";
				qcom,psci-mode = <0x224>;
				qcom,latency-us = <5562>;
				qcom,ss-power = <308>;
				qcom,energy-overhead = <2521840>;
				qcom,time-overhead = <6376>;
				qcom,min-child-idx = <3>;
				qcom,is-reset;
				qcom,notify-rpm;
			};

			qcom,pm-cluster-level@1{
				reg = <1>;
				label = "a53-l2-pc";
				qcom,spm-l2-mode = "pc";
				qcom,latency-us = <30000>;
				qcom,ss-power = <83>;
				qcom,energy-overhead = <2274420>;
				qcom,time-overhead = <6605>;
			qcom,pm-cluster-level@4 { /* LLCC off, AOSS sleep */
				reg = <4>;
				label = "llcc-off";
				qcom,psci-mode = <0xC24>;
				qcom,latency-us = <6562>;
				qcom,ss-power = <108>;
				qcom,energy-overhead = <2621840>;
				qcom,time-overhead = <7376>;
				qcom,min-child-idx = <3>;
				qcom,is-reset;
				qcom,notify-rpm;
			};

			qcom,pm-cpu {
			qcom,pm-cpu@0 {
				#address-cells = <1>;
				#size-cells = <0>;
				qcom,psci-mode-shift = <0>;
				qcom,psci-mode-mask = <0xf>;
				qcom,cpu = <&CPU0 &CPU1 &CPU2 &CPU3>;
				qcom,pm-cpu-level@0 {

				qcom,pm-cpu-level@0 { /* C1 */
					reg = <0>;
					qcom,spm-cpu-mode = "wfi";
					qcom,latency-us = <1>;
					qcom,ss-power = <715>;
					qcom,energy-overhead = <17700>;
					qcom,time-overhead = <2>;
					label = "wfi";
					qcom,psci-cpu-mode = <0x1>;
					qcom,latency-us = <43>;
					qcom,ss-power = <454>;
					qcom,energy-overhead = <38639>;
					qcom,time-overhead = <83>;
				};

				qcom,pm-cpu-level@1 {
				qcom,pm-cpu-level@1 { /* C2D */
					reg = <1>;
					qcom,spm-cpu-mode = "retention";
					qcom,latency-us = <35>;
					qcom,ss-power = <542>;
					qcom,energy-overhead = <34920>;
					qcom,time-overhead = <40>;
					label = "ret";
					qcom,psci-cpu-mode = <0x2>;
					qcom,latency-us = <86>;
					qcom,ss-power = <449>;
					qcom,energy-overhead = <78456>;
					qcom,time-overhead = <167>;
				};

				qcom,pm-cpu-level@2 {
				qcom,pm-cpu-level@2 {  /* C3 */
					reg = <2>;
					qcom,spm-cpu-mode = "standalone_pc";
					qcom,latency-us = <300>;
					qcom,ss-power = <476>;
					qcom,energy-overhead = <225300>;
					qcom,time-overhead = <350>;
					label = "pc";
					qcom,psci-cpu-mode = <0x3>;
					qcom,latency-us = <612>;
					qcom,ss-power = <436>;
					qcom,energy-overhead = <418225>;
					qcom,time-overhead = <885>;
					qcom,is-reset;
				};

				qcom,pm-cpu-level@3 {
				qcom,pm-cpu-level@3 {  /* C4 */
					reg = <3>;
					qcom,spm-cpu-mode = "pc";
					qcom,latency-us = <500>;
					qcom,ss-power = <163>;
					qcom,energy-overhead = <577736>;
					label = "rail-pc";
					qcom,psci-cpu-mode = <0x4>;
					qcom,latency-us = <700>;
					qcom,ss-power = <400>;
					qcom,energy-overhead = <428225>;
					qcom,time-overhead = <1000>;
					qcom,is-reset;
				};
			};
		};

		qcom,pm-cluster@1{
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;
			label = "a57";
			qcom,spm-device-names = "l2";
			qcom,default-level=<0>;

			qcom,pm-cluster-level@0{
				reg = <0>;
				label = "a57-l2-retention";
				qcom,spm-l2-mode = "retention";
				qcom,latency-us = <100>;
				qcom,ss-power = <1000>;
				qcom,energy-overhead = <300000>;
				qcom,time-overhead = <100>;
			};

			qcom,pm-cluster-level@2{
				reg = <1>;
				label = "a57-l2-pc";
				qcom,spm-l2-mode = "pc";
				qcom,latency-us = <30000>;
				qcom,ss-power = <83>;
				qcom,energy-overhead = <2274420>;
				qcom,time-overhead = <6605>;
				qcom,min-child-idx = <3>;
			};

			qcom,pm-cpu {
			qcom,pm-cpu@1 {
				#address-cells = <1>;
				#size-cells = <0>;
				qcom,psci-mode-shift = <0>;
				qcom,psci-mode-mask = <0xf>;
				qcom,cpu = <&CPU4 &CPU5 &CPU6 &CPU7>;
				qcom,pm-cpu-level@0 {

				qcom,pm-cpu-level@0 { /* C1 */
					reg = <0>;
					qcom,spm-cpu-mode = "wfi";
					qcom,latency-us = <1>;
					qcom,ss-power = <715>;
					qcom,energy-overhead = <17700>;
					qcom,time-overhead = <2>;
					label = "wfi";
					qcom,psci-cpu-mode = <0x1>;
					qcom,latency-us = <43>;
					qcom,ss-power = <454>;
					qcom,energy-overhead = <38639>;
					qcom,time-overhead = <83>;
				};

				qcom,pm-cpu-level@1 {
				qcom,pm-cpu-level@1 { /* C2D */
					reg = <1>;
					qcom,spm-cpu-mode = "retention";
					qcom,latency-us = <35>;
					qcom,ss-power = <542>;
					qcom,energy-overhead = <34920>;
					qcom,time-overhead = <40>;
					label = "ret";
					qcom,psci-cpu-mode = <0x2>;
					qcom,latency-us = <86>;
					qcom,ss-power = <449>;
					qcom,energy-overhead = <78456>;
					qcom,time-overhead = <167>;
				};

				qcom,pm-cpu-level@2 {
				qcom,pm-cpu-level@2 {  /* C3 */
					reg = <2>;
					qcom,spm-cpu-mode = "standalone_pc";
					qcom,latency-us = <300>;
					qcom,ss-power = <476>;
					qcom,energy-overhead = <225300>;
					qcom,time-overhead = <350>;
					label = "pc";
					qcom,psci-cpu-mode = <0x3>;
					qcom,latency-us = <612>;
					qcom,ss-power = <436>;
					qcom,energy-overhead = <418225>;
					qcom,time-overhead = <885>;
					qcom,is-reset;
				};

				qcom,pm-cpu-level@3 {
				qcom,pm-cpu-level@3 {  /* C4 */
					reg = <3>;
					qcom,spm-cpu-mode = "pc";
					qcom,latency-us = <500>;
					qcom,ss-power = <163>;
					qcom,energy-overhead = <577736>;
					label = "rail-pc";
					qcom,psci-cpu-mode = <0x4>;
					qcom,latency-us = <700>;
					qcom,ss-power = <400>;
					qcom,energy-overhead = <428225>;
					qcom,time-overhead = <1000>;
					qcom,is-reset;
				};
			};
		};
	};


};
+6 −0
Original line number Diff line number Diff line
@@ -157,6 +157,8 @@ Generic board variants:
- RUMI device:
  compatible = "qcom,rumi"

- VR device:
  compatible = "qcom,qvr"


Boards (SoC type + board variant):
@@ -267,6 +269,10 @@ compatible = "qcom,sdm845-cdp"
compatible = "qcom,sdm845-mtp"
compatible = "qcom,sdm845-mtp"
compatible = "qcom,sdm845-qrd"
compatible = "qcom,sdm845-qvr"
compatible = "qcom,sda845-cdp"
compatible = "qcom,sda845-mtp"
compatible = "qcom,sda845-qrd"
compatible = "qcom,sdm670-rumi"
compatible = "qcom,sdm670-cdp"
compatible = "qcom,sdm670-mtp"
+1 −0
Original line number Diff line number Diff line
@@ -139,6 +139,7 @@ qcom,bcm-name: The name used to fetch details about the bcm device from
			the command DB driver.
qcom,drv-id:		The DRV id associated with the RSC, used to differentiate
			between RSCS owned by different execution environments.
qcom,defer-init-qos:	Flag to force defer initial QoS configuration at probe time.


Example:
Loading