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

Commit d5d2256a authored by Abhijit Trivedi's avatar Abhijit Trivedi
Browse files

DOWNSTREAM: Merge AU303 -commit '9db5ea28'...


DOWNSTREAM: Merge AU303 -commit '9db5ea28' into Topic branch - 12/11/17

* commit '9db5ea28':
  cfg80211: remove unused function ieee80211_data_from_8023()
  icnss: Reject register_driver request when WLAN FW is down
  ARM: dts: sdxpoorwills: Update imem node
  soc: qcom: glink_ssr: Remove subsystem_restart call
  msm: ipa3: Remove ep_delay on disconnect sequence
  defconfig: msm: Enable IPC router SMD transport for MSM8953
  defconfig: msm: Enable Shared memory drivers defconfig for msm8953
  icnss: Add dev to all export APIs in ICNSS
  drivers: soc: qcom: Enable SPM driver
  ARM: dts: msm: Add PM and SPM support for msm8953
  ARM: dts: msm: Add rpm-smd node for msm8953
  soc: qcom: Add RPM SMD Driver
  ARM: dts: msm: Update VDD restriction cooling device values for sdm670
  ARM: dts: msm: Update thermal zone config rules for sdm670
  ARM: dts: msm: update TSENS id based on latest TSENS floor plan for sdm670
  ARM: dts: msm: configure pm660 emmc_therm & pa_therm on QCS605
  msm: ipa: add wakelock to IPA RM IT
  ARM: dts: msm: Add IMEM dload-type entry for msm8953
  drivers: thermal: Avoid race condition in updating the cooling device
  defconfig: enable rpmh clock and regulator drivers for sdxpoorwills
  drm/msm/dp: fix usbpd and drm framework sequence
  arm: defconfig: Enable power drivers for sdxpoorwills
  leds: qpnp-wled: Fix the check to disable AUTO_PFM
  msm: sps: Update debug message format specifier
  msm: ipa: SDM660 miscellaneous changes
  msm: ipa: add ipc logging for ipa driver
  ARM: dts: msm: Configure the labibb mode to "lcd" for msm8953
  ARM: dts: msm: Add smd_tty devices for msmt8953
  ARM: dts: msm: Add SMD packet device nodes for msm8953
  defconfig: msm: Disable Glink defconfig for msm8953
  soc: qcom: msm_smd: Add snapshot of Shared memory driver
  ARM: dts: msm: disable wcss and ssc cti on sdm670
  sched/fair: Skip energy_diff() for need_idle tasks
  sched/fair: Don't assume higher capacity means higher power
  sched: Set boost policy based on sysctl_sched_is_big_little
  sched: Start using the primary cluster first on SMP
  sched/rt: Extend energy-aware task placement for SMP
  sched/fair: Select the least loaded CPU for SMP under sched boost
  sched: Improve the scheduler
  sched: walt: Derive sched_smp_overlap_capacity from the energy-model
  sched: Add provision to control the spreading on SMP
  sched: walt: select sysctl_sched_is_big_little dynamically
  sched: walt: Sort the clusters based on the energy-model
  sched: Make energy_aware_wake_cpu() work for both SMP and big.LITTLE
  net: rmnet_data: Switch aggregation from delayed work to hrtimer
  msm: kgsl: Add coresight support for Adreno 630
  diag: Increment data ready only if it is first update
  dmaengine: gpi: use spin_lock_irqsave instead of spin_lock_irq
  ARM: dts: msm: Update command DB address for sdxpoorwills
  Revert "msm: ipa3: Fix PM client state check during deactivation"
  mmc: core: Update the logic of controlling clk scaling through sysfs
  smb-lib: update USB max voltage reporting
  clk: qcom: clk-cpu-osm: correct the logic to check per-core DCVS status
  msm: msm_bus: Add mutex lock for floor vote data
  ARM: dts: msm: Add clk rates for ufs phy axi clock in sdhc1 in sdm670
  ARM: dts: msm: Add new MSM info on sdxpoorwills
  sched/fair: Remove the unused code
  sched: walt: Bring back cpufreq based current frequency tracking
  mmc: sdhci-msm: Add support to scale bus aggregate clock
  mmc: card: Requeue the request if it fails during issuing
  mmc: core: Return the error if command queue request fails
  fs: fat: ratelimit the IO errors
  msm: ext-disp: check for NULL before accessing codec ops
  drm/msm: add HDR EOTF values
  msm: ep_pcie: add the support of D3 cold before BME is set
  msm: ipa: avoid wakelock acquire/release during data
  msm: sde: update rotator OT to use total pixels
  msm: kgsl: Enable preemption for A6XX
  soc: qcom: pil: Log the TZ NMI caused subsystem crash on err fatal
  Bluetooth: Fix for checking proper user-supplied buffers
  drm/msm/dp: fix programming of DisplayPort SDP registers
  ARM: dts: msm: Correct the address-cells and interrupt-cells for msm8953
  ARM: dts: msm: set cap mode for micbias1 in sdm670 skuw
  mmc: cmdq_hci: Remove runtime PM vote if request issuing fails
  ARM: dts: msm: use short name for memdump nodes on SDM670
  ARM: dts: msm: Add dload type cookie device tree node for SDM670
  power: reset: Support Minidump select option in dump type
  soc: qcom: Register default dump entries to minidump table
  soc: qcom: Use ToC design for Minidump support
  msm: kgsl: Use proper power level indexes in slumber
  smb-lib: skip legacy detection workaround for micro USB
  cpuidle: lpm-levels: Correctly check if its okay to do cluster LPM
  ARM: dts: msm: specify GPIO LEDs configuration for QCS605
  msm: netfilter: NATTYPE Refresh Timer Changes
  leds: qpnp-flash: Add snapshot of leds-qpnp-flash driver
  msm: kgsl: Correct the inclusion of the sync_file.h
  spcom: fix server rx-abort after SP reset
  drm: use vzalloc for blob allocation
  ARM: dts: msm: Add fastrpc remote heap VMID for sdm670
  msm: adsprpc: Assign heap VMID from device specific file
  netfilter: Changes to handle segmentation in SIP ALG
  ARM: dts: msm: Change WLED string usage for QRD670
  Linux 4.9.65
  mm/pagewalk.c: report holes in hugetlb ranges
  coda: fix 'kernel memory exposure attempt' in fsync
  mm/page_alloc.c: broken deferred calculation
  ipmi: fix unsigned long underflow
  ocfs2: should wait dio before inode lock in ocfs2_setattr()
  ocfs2: fix cluster hang after a node dies
  dmaengine: dmatest: warn user when dma test times out
  serial: 8250_fintek: Fix finding base_port with activated SuperIO
  serial: omap: Fix EFR write on RTS deassertion
  ima: do not update security.ima if appraisal status is not INTEGRITY_PASS
  crypto: dh - Fix double free of ctx->p
  crypto: dh - fix memleak in setkey
  net/sctp: Always set scope_id in sctp_inet6_skb_msgname
  fealnx: Fix building error on MIPS
  sctp: do not peel off an assoc from one netns to another one
  af_netlink: ensure that NLMSG_DONE never fails in dumps
  vlan: fix a use-after-free in vlan_device_event()
  net: usb: asix: fill null-ptr-deref in asix_suspend
  qmi_wwan: Add missing skb_reset_mac_header-call
  net: qmi_wwan: fix divide by 0 on bad descriptors
  net: cdc_ether: fix divide by 0 on bad descriptors
  bonding: discard lowest hash bit for 802.3ad layer3+4
  netfilter/ipvs: clear ipvs_property flag when SKB net namespace changed
  tcp: do not mangle skb->cb[] in tcp_make_synack()
  net: vrf: correct FRA_L3MDEV encode type
  tcp_nv: fix division by zero in tcpnv_acked()
  ARM: dts: msm: Disable IPA in APQ QCS605
  msm: wlan: Update regulatory database
  ARM: dts: msm: add coresight gfx support on sdm670
  scsi: ufs: Fix off-by-one bug in ufs debugfs driver
  diag: Add NULL pointer checks for mask info
  drm/msm/sde: limit log filter scan to function name
  ARM: dts: msm: fix PU feature enabling for sdm670
  msm_11ad: fix rmmod and insmod flows
  drm/msm/dp: add support for HDR state machine
  drm/msm/dp: check for VSC and VSC EXT support for HDR
  drm/msm/dp: avoid audio reconfig delays
  drivers: cpuidle: lpm-levels: Remove unused code
  msm: kgsl: Capture all the shader data in the snapshot
  msm: kgsl: Unprotect the UCHE_SVM_CNTL register
  msm: sde: add P010 Venus support for rotator
  msm: vidc: replace P010 with P010_Venus
  msm: vidc: add new Venus P010 V4L2 color format definition
  regulator: qpnp-oledb: Clear SPARE_CTL register during disable
  ARM: dts: msm: Specify SC interrupts for LAB/IBB in pmi8998
  regulator: qpnp-labibb-regulator: Restart LAB/IBB after SC fault
  regulator: qpnp-oledb: Add support for LAB_VREG_NOT_OK notifier
  regulator: qpnp-labibb: Handle LAB short circuit(SC) detection
  regulator: qpnp-oledb: Add revid support for OLEDB driver
  ARM: dts: msm: add secondary USB port support on HDK845
  msm: vidc: Treat use-ltr control as bitmask
  msm: ep_pcie: add PCIe endpoint driver snapshot
  iommu: arm-smmu: Fix erroneous logic check
  power: smblib: fix die temp state reporting
  msm: vidc: Invalidate output buffer before sending to client
  msm: kgsl: Add sysfs node to track number of preemptions
  spcom: ignore notify-rx-abort after channel closed
  usb: gadget: uvc: Add support for UVC 1.5
  defconfig: sdm670: Enable Kaslr support for sdm670
  usb: dwc3: gadget: Fix ISO transfer performance
  usb: dwc3: gadget: Fix starting microframe for ISOC
  usb: dwc3: isoc clean DWC3_EP_PENDING_REQUEST flag
  usb: dwc3: gadget: cope with XferNotReady before usb_ep_queue()
  msm: netfilter: NATTYPE Refresh Timer Changes.
  drm/msm/sde: Avoid event notification for SDE power ON case
  drivers: qcom: cmd-db: Export cmd_db_get_aux related APIs
  msm: ipa3: using rate limit api for ioctl calls
  ARM: dts: msm: Remove CPR register range from SDM670 GMU device node
  qoc: qcom: secure_buffer: Export hyp_assign_table() for KGSL driver
  msm: ipa: Fix to race condition proxy clock voting
  msm: ipa3: Fix IPA aggregation force close call
  ARM: dts: msm: add dt support for TPDM to memory dump on sdm845
  power: qpnp-fg-gen3: Handle status change only after SOC is ready
  defconfig: sdm670: add Qcs605 360camera LED_GPIO & GPIO_KEYS support
  mtd: nand_ids: Add support for NAND part
  soc: qcom: pil: Do not panic on powerup if the system is rebooting
  ANDROID: binder: clarify deferred thread work.
  ANDROID: binder: Add thread->process_todo flag.
  ANDROID: binder: fix node sched policy calculation
  ANDROID: binder: init desired_prio.sched_policy before use it
  usb: core: Re-try enumeration in FS if high speed enumeration fails
  msm: vidc: add P010 color format in govenors
  msm: sde: check if power enabled before rotator reg dump
  sched: Update tracepoint to include task info
  usb: phy-msm-qusb-v2: Add support to disable high speed chirping
  msm: ipa3: fix holb sequence for SSR
  clk: qcom: clk-cpu-osm: Vote on the MX rail on behalf of CPU clocks
  diag: Update masks to peripherals in workqueue context
  drm/msm/sde: adjust dim layer for partial update roi
  ARM: dts: msm: Add GPU power level speed bin for SDM670
  defconfig: sdm670: enable memory cgroup
  msm: kgsl: Add the flags for IO coherency
  defconfig: sdm670: enable process reclaim
  wil6210: drop RX probe reponses with low SNR
  wil6210: add sysfs for setting connect SNR threshold
  ARM: dts: msm: Enable wil6210 device for sdm845 qvr
  soc: qcom: glink_loopback_server: Fix channel name of CDSP edge
  defconfig: sdm845: Enable config flag for File based Encryption
  defconfig: msm: Enable llcc_perfmon for SDM670
  ARM: dts: msm: Add llcc perfmon device for sdm670
  drivers: soc: llcc_perfmon: fix debug message and code style
  drivers: soc: llcc_perfmon: check counter config status
  Linux 4.9.64
  staging: greybus: spilib: fix use-after-free after deregistration
  brcmfmac: don't preset all channels as disabled
  x86/MCE/AMD: Always give panic severity for UC errors in kernel context
  USB: serial: garmin_gps: fix memory leak on probe errors
  USB: serial: garmin_gps: fix I/O after failed probe and remove
  USB: serial: qcserial: add pid/vid for Wireless EM7355 fw update
  usb: gadget: f_fs: Fix use-after-free in ffs_free_inst
  USB: Add delay-init quirk for Corsair K70 LUX keyboards
  USB: usbfs: compute urb->actual_length for isochronous
  crypto: dh - Don't permit 'key' or 'g' size longer than 'p'
  crypto: dh - Don't permit 'p' to be 0
  Revert "dt-bindings: Add LEGO MINDSTORMS EV3 compatible specification"
  Revert "dt-bindings: Add vendor prefix for LEGO"
  uapi: fix linux/rds.h userspace compilation errors
  uapi: fix linux/rds.h userspace compilation error
  Revert "uapi: fix linux/rds.h userspace compilation errors"
  Revert "crypto: xts - Add ECB dependency"
  MIPS: Netlogic: Exclude netlogic,xlp-pic code from XLR builds
  MIPS: traps: Ensure L1 & L2 ECC checking match for CM3 systems
  MIPS: init: Ensure reserved memory regions are not added to bootmem
  MIPS: init: Ensure bootmem does not corrupt reserved memory
  MIPS: End asm function prologue macros with .insn
  staging: greybus: add host device function pointer checks
  staging: wilc1000: Fix endian sparse warning
  staging: rtl8712: fixed little endian problem
  ixgbe: do not disable FEC from the driver
  ixgbe: add mask for 64 RSS queues
  ixgbe: Reduce I2C retry count on X550 devices
  ixgbe: Fix reporting of 100Mb capability
  ixgbe: handle close/suspend race with netif_device_detach/present
  ixgbe: fix AER error handling
  ixgbe: Configure advertised speeds correctly for KR/KX backplane
  arm64: dts: NS2: reserve memory for Nitro firmware
  ALSA: hda/realtek - Add new codec ID ALC299
  gpu: drm: mgag200: mgag200_main:- Handle error from pci_iomap
  backlight: adp5520: Fix error handling in adp5520_bl_probe()
  backlight: lcd: Fix race condition during register
  drm/omap: panel-sony-acx565akm.c: Add MODULE_ALIAS
  ALSA: vx: Fix possible transfer overflow
  ALSA: vx: Don't try to update capture stream before running
  power: supply: axp288_fuel_gauge: Read 12 bit values 2 registers at a time
  power: supply: axp288_fuel_gauge: Read 15 bit values 2 registers at a time
  rtc: rx8010: change lock mechanism
  scsi: lpfc: Clear the VendorVersion in the PLOGI/PLOGI ACC payload
  scsi: lpfc: Correct issue leading to oops during link reset
  scsi: lpfc: Correct host name in symbolic_name field
  scsi: lpfc: FCoE VPort enable-disable does not bring up the VPort
  scsi: lpfc: Add missing memory barrier
  x86/irq, trace: Add __irq_entry annotation to x86's platform IRQ handlers
  staging: rtl8188eu: fix incorrect ERROR tags from logs
  tcp: provide timestamps for partial writes
  scsi: ufs: add capability to keep auto bkops always enabled
  scsi: ufs-qcom: Fix module autoload
  igb: Fix hw_dbg logging in igb_update_flash_i210
  igb: close/suspend race in netif_device_detach
  igb: reset the PHY before reading the PHY ID
  drm/sti: sti_vtg: Handle return NULL error from devm_ioremap_nocache
  ata: SATA_MV should depend on HAS_DMA
  ata: SATA_HIGHBANK should depend on HAS_DMA
  ata: ATA_BMDMA should depend on HAS_DMA
  ARM: dts: omap5-uevm: Allow bootloader to configure USB Ethernet MAC
  ARM: dts: Fix omap3 off mode pull defines
  ARM: OMAP2+: Fix init for multiple quirks for the same SoC
  ARM: dts: Fix am335x and dm814x scm syscon to probe children
  ARM: dts: Fix compatible for ti81xx uarts for 8250
  fm10k: request reset when mbx->state changes
  extcon: palmas: Check the parent instance to prevent the NULL
  extcon: Remove potential problem when calling extcon_register_notifier()
  Bluetooth: btusb: fix QCA Rome suspend/resume
  arm: crypto: reduce priority of bit-sliced AES cipher
  media: dib0700: fix invalid dvb_detach argument
  media: imon: Fix null-ptr-deref in imon_probe
  ARM: dts: msm: pet HW when ldob7 status change on QRD670
  usb: dwc3: gadget: properly check ep cmd
  ARM: dts: msm: modify max BW configuration for SDM670
  defconfig: msm: Enable A7 cpu clock driver for sdxpoorwills
  ARM: dts: msm: Add support for CPU clock for sdxpoorwills
  clk: qcom: Add A7 CPU clock driver for sdxpoorwills
  clk: qcom: clk-regmap-mux-div: Add support for clk rate notifier
  clk: qcom: Add support to export clk_rcg2_calc_rate()
  ARM: dts: msm: switch to RPMh controlled PMIC regulators for sdxpoorwills
  sched: Fix possible overflow in cpu_cycles_to_freq()
  usb: phy: Add support to override tuneX parameters
  drm/msm/sde: add drm property for multirect mode
  msm: kgsl: Use the correct spin_lock variant for HFI
  power: qpnp-fg-gen3: poll for MEM_GNT instead of interrupt for DMA
  msm: sde: send wake event after retiring rotator request
  iommu: arm-smmu: Support ECATS during context fault
  iommu: debug: Fix leaky context banks
  mm: Increase number of GFP masks
  ion: cma: Use coherent mappings when requested
  serial: msm_geni_serial: Modify the clock on/off sequence for HS-UART
  msm: kgsl: Add secure preemption support for A6XX
  smb-lib: add support of DP/DM pulsing for QC2.0 adapter
  defconfig: msm: add dcc_v2 config for perf on sdm670
  soc: qcom: dcc_v2: Disable DCC on secure devices
  ARM: dts: msm: Add device tree support for msm8953 boards
  Revert "ARM: dts: msm: enable dsi phy idle mode for sdm845"
  msm: ipa3: Fix PM client state check during deactivation
  msm: kgsl: Limit number of reads and writes from GPU on SDM670
  drm/msm/dsi-staging: fix invalid conversion to dsi display reference
  Revert "ARM: dts: msm: enable ESD check for nt35597 truly panel on sdm845"
  drm/msm/sde: set external blob property
  Linux 4.9.63
  misc: panel: properly restore atomic counter on error path
  qla2xxx: Fix incorrect tcm_qla2xxx_free_cmd use during TMR ABORT (v2)
  target/iscsi: Fix iSCSI task reassignment handling
  brcmfmac: remove setting IBSS mode when stopping AP
  security/keys: add CONFIG_KEYS_COMPAT to Kconfig
  netfilter: nat: Revert "netfilter: nat: convert nat bysrc hash to rhashtable"
  netfilter: nat: avoid use of nf_conn_nat extension
  Revert "ARM: dts: imx53-qsb-common: fix FEC pinmux config"
  ALSA: seq: Cancel pending autoload work at unbinding device
  Input: ims-psu - check if CDC union descriptor is sane
  usb: usbtest: fix NULL pointer dereference
  mac80211: don't compare TKIP TX MIC key in reinstall prevention
  mac80211: use constant time comparison with keys
  mac80211: accept key reinstall without changing anything
  ppp: fix race in ppp device destruction
  net_sched: avoid matching qdisc with zero handle
  sctp: reset owner for data chunks on out queues when migrating a sock
  tun: allow positive return values on dev_get_valid_name() call
  ip6_gre: update dst pmtu if dev mtu has been updated by toobig in __gre6_xmit
  ip6_gre: only increase err_count for some certain type icmpv6 in ip6gre_err
  ipip: only increase err_count for some certain type icmp in ipip_err
  tap: double-free in error path in tap_open()
  net/unix: don't show information about sockets from other namespaces
  tcp/dccp: fix other lockdep splats accessing ireq_opt
  tcp/dccp: fix lockdep splat in inet_csk_route_req()
  sctp: full support for ipv6 ip_nonlocal_bind & IP_FREEBIND
  ipv6: flowlabel: do not leave opt->tot_len with garbage
  soreuseport: fix initialization race
  packet: avoid panic in packet_getsockopt()
  tcp/dccp: fix ireq->opt races
  sctp: add the missing sock_owned_by_user check in sctp_icmp_redirect
  tun: call dev_get_valid_name() before register_netdevice()
  l2tp: check ps->sock before running pppol2tp_session_ioctl()
  tcp: fix tcp_mtu_probe() vs highest_sack
  net: call cgroup_sk_alloc() earlier in sk_clone_lock()
  netlink: do not set cb_running if dump's start() errs
  ipv6: addrconf: increment ifp refcount before ipv6_del_addr()
  tun/tap: sanitize TUNSETSNDBUF input
  gso: fix payload length when gso_size is zero
  msm: kgsl: Use GPU for HLSQ/SP/TP perfcounter select on A6xx
  msm: kgsl: Change the secure pagetable initialization sequence
  msm: kgsl: Fix virtual range for non secure pagetables
  drm/msm/sde: move pm_qos vote to command mode only
  msm: kgsl: Use spinlock for A6xx perfcounter updates
  ARM: dts: msm: Add emergency mitigation for SDM845
  ARM: dts: msm: Add clock properties for sdxpoorwills
  defconfig: arm: Enable GCC driver for sdxpoorwills
  clk: qcom: camcc-sdm845: Update the camera RCG FMAX tables for SDM845 v2
  clk: qcom: Add GCC driver support for sdxpoorwills
  msm: sde: increase inline start timeout to match drm driver
  drm/msm/dsi-staging: switch cmd fetch mode during secure session
  perf: Enable user and kernel event sharing
  msm: kgsl: Make sure RBBM_INT_0_STATUS is not transitory
  msm: kgsl: Add the pseudo keepalive bit for preemption
  msm: kgsl: Set preemption OOB when reading the write pointer
  msm: kgsl: Use fence mechanism for A6XX preemption register writes
  msm: kgsl: Make the fenced register write function generic
  msm: kgsl: Add IFPC static registers to powerup register list
  msm: kgsl: Map powerup register list as coherent privileged RW memory
  drm/msm: separate connector set_info_blob from post_init
  drm: msm: dsi-staging: update the crtc value in mode fixup
  kernel: configs: sdm670: Enable dvb/demux modules
  msm: kgsl: Fix the process sysfs refcounting
  sched/rt: Remove #ifdefery around SCHED_CORE_ROTATE
  arm64: stacktrace: avoid listing stacktrace functions in stacktrace
  ARM: dts: msm: Add memshare for sdm670
  clk: qcom: Add support for controlling Trion PLL
  ARM: dts: msm: add MID details for BWMON counter in sdm670
  ARM: dts: msm: Add display panel support for HDK845
  ARM: dts: msm: enable power supplies AMOLED panel on SDM670
  ARM: dts: msm: add audio codec configuration for SDXPOORWILLS CDP target
  drm/msm/sde: avoid fence creation if property reset
  ARM: dts: msm: Update LPM parameters for sdm670
  ARM: dts: msm: enable ESD check feature on sdm670
  cpufreq: schedutil: fix undefined reference to '__aeabi_uldivmod'
  msm: kgsl: Add REGISTER_INIT_LIST_WITH_SPINLOCK CP_INIT ordinal
  ARM: dts: msm: add audio support for SDXPOORWILLS targets
  drm/msm/sde: avoid null pointer dereference in secure_check
  msm: kgsl: Add a new marker for IFPC
  spmi: spmi-pmic-arb: correct duplicate APID to PPID mapping logic
  Revert "scsi: ufshcd: Flush exception event before suspend"
  msm: ipa4: endpoint config fix
  ARM: dts: msm: Extend GPU bus DCVS range
  msm: sde: abort failed inline requests during cleanup
  regulator: refgen: avoid overwriting bandgap bypass control bit
  soc: qcom: glink: Free data memory before freeing intent
  soc: qcom: glink: Free if_ptr before freeing dummy transport
  soc: qcom: glink: Add downvote of transport during SSR
  soc: qcom: glink: Reset qos rate when xprt is down
  soc: qcom: glink_ssr: Use do_cleanup_data from pkt_priv
  defconfig: sdm670: enable regulator proxy consumer driver
  iommu: arm-smmu: use correct SHCFG shift for sCR0
  ARM: dts: msm: Add RPMh controlled clocks for sdxpoorwills
  clk: qcom: add rpmh managed clocks for sdxpoorwills
  ARM: dts: msm: update regulator min-voltage for SDM670 regulators
  defconfig: sdm670: Enable USB UVC drivers
  usb: gadget: Add support for UVC function
  iommu: arm-smmu: enable clocks and regulators in smmu detach
  msm: ADSPRPC: Close glink channel after remote disconnected
  msm: kgsl: Update expected GMU FW version for A615
  drm/msm/dp: avoid sending segment_address command for segment-0
  defconfig: arm: msm: Enable memshare config flag
  drm/msm/dp: fix the return value of DP debug module during bind
  msm: kgsl: Update A615 hardware clock gating settings
  ARM: dts: msm: disable apps smmu ATOS for sdm670
  power: qpnp-fg-gen3: update battery profile based on Rconn configuration
  ARM: dts: msm: update QRNG clock rate on SDM845
  drm/msm: add check for power handle enable failure
  msm_rng: optimize qrng driver retry behavior
  sound: usb: Issue stop endpoint command upon disable stream
  usb: Add helper API to issue stop endpoint command
  msm: kgsl: Enforce limit check for GPU bus DCVS
  FROMLIST: binder: fix proc->files use-after-free
  FROMLIST: binder: fix proc->files use-after-free
  dwc3: gadget: Take copy of dwc->gadget_driver before releasing lock
  icnss: Remove MSA0 permission only when modem is crashed
  msm: kgsl: Update fence span range to a byte span
  msm: kgsl: Set correct context restore address during preemption
  USB: configfs: Don't send DISCONNECT uevent during unbind
  Linux 4.9.62
  x86/oprofile/ppro: Do not use __this_cpu*() in preemptible context
  x86/smpboot: Make optimization of delay calibration work correctly
  can: c_can: don't indicate triple sampling support for D_CAN
  can: ifi: Fix transmitter delay calculation
  can: sun4i: handle overrun in RX FIFO
  drm/bridge: adv7511: Re-write the i2c address before EDID probing
  drm/bridge: adv7511: Reuse __adv7511_power_on/off() when probing EDID
  drm/bridge: adv7511: Rework adv7511_power_on/off() so they can be reused internally
  drm/vmwgfx: Fix Ubuntu 17.10 Wayland black screen issue
  rbd: use GFP_NOIO for parent stat and data requests
  Input: elan_i2c - add ELAN060C to the ACPI table
  MIPS: AR7: Ensure that serial ports are properly set up
  MIPS: AR7: Defer registration of GPIO
  MIPS: BMIPS: Fix missing cbr address
  ASoC: sun4i-spdif: remove legacy dapm components
  tools: firmware: check for distro fallback udev cancel rule
  selftests: firmware: send expected errors to /dev/null
  MIPS: SMP: Fix deadlock & online race
  MIPS: Fix race on setting and getting cpu_online_mask
  MIPS: SMP: Use a completion event to signal CPU up
  MIPS: Fix CM region target definitions
  MIPS: microMIPS: Fix incorrect mask in insn_table_MM
  drm/i915: Do not rely on wm preservation for ILK watermarks
  ALSA: seq: Avoid invalid lockdep class warning
  ALSA: seq: Fix OSS sysex delivery in OSS emulation
  ARM: 8720/1: ensure dump_instr() checks addr_limit
  KEYS: fix NULL pointer dereference during ASN.1 parsing [ver #2]
  crypto: x86/sha256-mb - fix panic due to unaligned access
  crypto: x86/sha1-mb - fix panic due to unaligned access
  crypto: ccm - preserve the IV buffer
  workqueue: Fix NULL pointer dereference
  x86/uaccess, sched/preempt: Verify access_ok() context
  platform/x86: hp-wmi: Do not shadow error values
  platform/x86: hp-wmi: Fix error value for hp_wmi_tablet_state
  KEYS: trusted: fix writing past end of buffer in trusted_read()
  KEYS: trusted: sanitize all key material
  cdc_ncm: Set NTB format again after altsetting switch for devices
  platform/x86: hp-wmi: Fix detection for dock and tablet mode
  net: dsa: select NET_SWITCHDEV
  clk: mvebu: adjust AP806 CPU clock frequencies to production chip
  IB/rxe: Fix reference leaks in memory key invalidation code
  wcn36xx: Don't use the destroyed hal_mutex
  s390/qeth: issue STARTLAN as first IPA command
  s390/qeth: fix retrieval of vipa and proxy-arp addresses
  ARM: dts: STiH410-family: fix wrong parent clock frequency
  IB/ipoib: Change list_del to list_del_init in the tx object
  sched/cputime, powerpc32: Fix stale scaled stime on context switch
  Input: mpr121 - set missing event capability
  Input: mpr121 - handle multiple bits change of status register
  s390/topology: make "topology=off" parameter work
  EDAC, amd64: Save and return err code from probe_one_instance()
  IPsec: do not ignore crypto err in ah4 input
  apparmor: fix undefined reference to `aa_g_hash_policy'
  rt2800usb: mark tx failure on timeout
  brcmfmac: setup wiphy bands after registering it first
  netfilter: nft_meta: deal with PACKET_LOOPBACK in netdev family
  usb: hcd: initialize hcd->flags to 0 when rm hcd
  libertas: fix improper return value
  serial: sh-sci: Fix register offsets for the IRDA serial port
  phy: increase size of MII_BUS_ID_SIZE and bus_id
  dt-bindings: Add vendor prefix for LEGO
  dt-bindings: Add LEGO MINDSTORMS EV3 compatible specification
  iio: proximity: sx9500: claim direct mode during raw proximity reads
  iio: magnetometer: mag3110: claim direct mode during raw writes
  iio: pressure: ms5611: claim direct mode during oversampling changes
  iio: trigger: free trigger resource correctly
  drm: mali-dp: fix Lx_CONTROL register fields clobber
  crypto: vmx - disable preemption to enable vsx in aes_ctr.c
  arm64: dma-mapping: Only swizzle DMA ops for IOMMU_DOMAIN_DMA
  ARM: omap2plus_defconfig: Fix probe errors on UARTs 5 and 6
  cxl: Force psl data-cache flush during device shutdown
  powerpc/corenet: explicitly disable the SDHC controller on kmcoge4
  pinctrl: baytrail: Fix debugfs offset output
  iommu/arm-smmu-v3: Clear prior settings when updating STEs
  KVM: PPC: Book 3S: XICS: correct the real mode ICP rejecting counter
  drm: drm_minor_register(): Clean up debugfs on failure
  clk: samsung: exynos5433: Add IDs for PHYCLK_MIPIDPHY0_* clocks
  PM / OPP: Error out on failing to add static OPPs for v1 bindings
  EDAC, amd64: Add x86cpuid sanity check during init
  dt-bindings: clockgen: Add compatible string for LS1012A
  ARM: dts: imx53-qsb-common: fix FEC pinmux config
  xen/netback: set default upper limit of tx/rx queues to 8
  sched/core: Add missing update_rq_clock() call in sched_move_task()
  PCI: mvebu: Handle changes to the bridge windows while enabled
  video: fbdev: pmag-ba-fb: Remove bad `__init' annotation
  adv7604: Initialize drive strength to default when using DT
  drm/msm: send "set0 tcs" command for wake and sleep tcs
  elf: Add elf headers helpers support
  soc: qcom: Add Minidump support
  ARM: dts: msm: support Qcs605 360camera
  Enable HW File Based Encryption on ext4 file system
  scsi: ufs: Get TX and RX fsm state in case of abort
  ARM: dts: msm: Enable front camera flash for SDM670 CDP/MTP
  net/embms-kernel : Fix for embms-kernel compilation issues
  ARM: dts: msm: add proxy vote for DSI supplies for SDM670
  msm_11ad: update SSR crash status
  ARM: dts: msm: Include arm64 qcom dts Makefile in arm dts Makefile
  ARM: dts: msm: Rename CTI nodes to lower case on sdm845 and sdm670
  regulator: core: fix debugfs files creation for consumer regulators
  ARM: dts: msm: Enable 256 bit key support for sdm670
  ARM: dts: msm: Update filename of SDM845 V2 QVR
  power: qpnp_smb2: add support to detect USB port type
  power_supply: add POWER_SUPPLY_PROP_USB_CONNECTOR_TYPE property
  smb-lib: wait before DRP for audio
  usb: pd: ensure source hard reset is handled timely
  sched/fair: Remove #ifdefery around SCHED_CORE_ROTATE
  sched/rt: Fix an incorrect initialization bug in CPU selection
  sched: walt: Fix the bug in initializing the new task demand
  defconfig: sdxpoorwills: Enable QMP
  ARM: dts: msm: Add QMP device on sdxpoorwills
  drm/msm/sde: perform debug dump before h/w recovery
  drm/msm: limit sde_dbg_dump output to current entries
  drm/msm/sde: Modify event notifier size to overcome out of bounds errors
  sched: Export wake_to_idle API
  ARM: dts: msm: Set IMP_CTRL1 value as 0x08 on SDM845v2
  pinctrl: qcom: Add missing null check
  ARM: dts: msm: Update high-speed PHY parameters for QRD670
  ARM: dts: msm: Change SMMU translation mask bit on SDM670
  msm: vidc: Enable pagetable page caching for SDM670
  drm/msm/dp: clear bootup event notifier on power on
  drm/msm/dp: handle AUX transactions during quick connect/disconnect
  drm/msm/dp: handle connect in separate thread
  drm/msm/dp: fix HDR programming
  drm/msm/dp: add support for SPD infoframe for DisplayPort
  ARM: dts: msm: Enable audio over DP for sdm670
  dwc3: gadget: Flush dwc_wq with dwc3_gadget_stop() API
  drivers: edac: Move panic_on_ce to a module parameter
  drm/msm/dp: fix audio notification path for boot up use case
  qseecom: fix a race condition when TA is blocked
  drivers: lmh-dcvsh: Use FCAP scm call instead of DMAX
  drm: use vmalloc/vfree for blob allocation
  drm/msm/sde: remove fence support through get_property
  drm/msm: support release/retire fence through set prop
  msm: vidc: Update buffer couting logic for PMS
  icnss: Send early modem crash notification to wlan driver
  drm/msm/sde: check with cp properties before msm properties
  usb: gadget: Send dedicate uevent for ML client connection
  mmc: core: Add retuning to cmdq path
  msm: kgsl: Correctly derive RAM cycles from GBIF perf counters
  usb: gadget: f_uac2: Support for mic only use case
  msm: adsprpc: Option to keep maps persistent
  clk: qcom: Update the frequency level for mdss_mdp_clk for smd670
  msm: sde: fix for 32-bit build '__udivdi3' error
  ARM: dts: msm: enable AMOLED panel on SDM670
  msm: ipa3: Add NAT/IPv6CT table creation rollback
  drm/msm/dp: add support for DisplayPort TPG for pixel data
  drm/msm/dp: perform USB3_DP_COM_PHY reset only when needed
  dwc3: Preserve TxFIFO of IN/INT EP for UDC without tx-fifo-resize
  drm/msm/sde: continue with hw init if splash memory is not found
  iommu/arm-smmu: Remove unused functions
  usb: f_gsi: Use required RNDIS IAD descriptors with full speed descriptors
  msm: sde: add rotator busy detection and reset
  drm/msm/sde: remove extra read of vbif halt ack register
  net: rmnet_data: Always try to linearize when UL aggregation is on
  msm: sde: don't abort retired inline rotate requests
  drm/msm/sde: check frame pending status before failure trigger
  drm: msm: dsi-staging: update dfps validation mode check
  ARM: dts: msm: Add snapshot of SMB138x DT node
  msm: kgsl: use div64_s64 instead of do_div
  ARM: qcom: Add board config support for sdm450
  ARM: qcom: Add board config support for msm8953
  ARM: dts: msm: add DT entries for destination scaler on SDM670
  drm/msm/dp: protect audio functionality during link maintenance
  drm/msm/dp: Split control register
  defconfig: sdm670: Enable USB UAC 2.0 drivers
  usb: f_uac2: Add support for UAC2 function
  ARM: dts: msm: Correct the copyright year for sdm450
  drm/dsi: set last command flag for generic DCS commands
  msm: ipa: Add API support for getting IPA SMMU status for WLAN
  ARM: dts: msm: enable dsi phy idle mode for sdm845
  drm/msm/dsi-staging: add min data rate to use phy regulator
  drm/msm/dsi-staging: enable dsi idle to turn off phy
  cnss_utils: Add support for derived MAC address
  drivers: qcom: fix compilation errors
  sdxpoorwills: enable audio compilation
  sdxpoorwills: enable audio compilation
  arm: topology: Export update_cpu_power_capacity API
  drm/msm/sde: update fast clear enable logic
  ARM: dts: msm: Adjust AB/IB values for CNOC voting in sdhc1/sdhc2
  ARM: dts: msm: enable partial update for nt35597 sharp panel on sdm670
  ARM: dts: msm: Update primary qmp phy parameters for SDM845
  drm/msm/sde: add connector property to expose custom mode info
  drm/msm/sde: disable power only after reading the line count
  drm/msm/sde: remember topology to disable ppsplit correctly
  drm/msm/sde: cancel vsync event timer on encoder stop
  ARM: dts: msm: enable ulps feature for sdm670 platform
  ARM: dts: msm: enable partial update for nt35597 truly panel
  diag: Add PD buffering mode configuration support
  msm: kgsl: Actually free the sharedmem when fence is expired
  Linux 4.9.61
  ARM: dts: mvebu: pl310-cache disable double-linefill
  staging: r8712u: Fix Sparse warning in rtl871x_xmit.c
  xen: don't print error message in case of missing Xenstore entry
  powerpc/64: Don't try to use radix MMU under a hypervisor
  PCI: Avoid possible deadlock on pci_lock and p->pi_lock
  drm/exynos: g2d: prevent integer overflow in
  bt8xx: fix memory leak
  s390/crypto: Extend key length check for AES-XTS in fips mode.
  s390/prng: Adjust generation of entropy to produce real 256 bits.
  s390/dasd: check for device error pointer within state change interrupts
  mei: return error on notification request to a disconnected client
  exynos4-is: fimc-is: Unmap region obtained by of_iomap()
  ASoC: Intel: boards: remove .pm_ops in all Atom/DPCM machine drivers
  vfs: open() with O_CREAT should not create inodes with unknown ids
  brcmfmac: check brcmf_bus_get_memdump result for error
  staging: lustre: lmv: Error not handled for lmv_find_target
  staging: lustre: ptlrpc: skip lock if export failed
  staging: lustre: hsm: stack overrun in hai_dump_data_field
  staging: lustre: llite: don't invoke direct_IO for the EOF case
  platform/x86: intel_mid_thermal: Fix module autoload
  scsi: aacraid: Process Error for response I/O
  xen/manage: correct return value check on xenbus_scanf()
  gpio: mcp23s08: Select REGMAP/REGMAP_I2C to fix build error
  mtd: nand: sunxi: Fix the non-polling case in sunxi_nfc_wait_events()
  clk: sunxi-ng: Check kzalloc() for errors and cleanup error path
  ath10k: fix reading sram contents for QCA4019
  cx231xx: Fix I2C on Internal Master 3 Bus
  net: phy: dp83867: Recover from "port mirroring" N/A MODE4
  clocksource/drivers/arm_arch_timer: Add dt binding for hisilicon-161010101 erratum
  drm/fsl-dcu: check for clk_prepare_enable() error
  iwlwifi: mvm: use the PROBE_RESP_QUEUE to send deauth to unknown station
  perf tools: Only increase index if perf_evsel__new_idx() succeeds
  drm/amdgpu: when dpm disabled, also need to stop/start vce.
  i2c: riic: correctly finish transfers
  net/ena: change driver's default timeouts
  ext4: do not use stripe_width if it is not set
  ext4: fix stripe-unaligned allocations
  net: mvneta: fix build errors when linux/phy*.h is removed from net/dsa.h
  PCI/MSI: Return failure when msix_setup_entries() fails
  staging: rtl8712u: Fix endian settings for structs describing network packets
  bnxt_en: Added PCI IDs for BCM57452 and BCM57454 ASICs
  mfd: axp20x: Fix axp288 PEK_DBR and PEK_DBF irqs being swapped
  mfd: ab8500-sysctrl: Handle probe deferral
  mmc: s3cmci: include linux/interrupt.h for tasklet_struct
  scsi: megaraid_sas: Do not set fp_possible if TM capable for non-RW syspdIO, change fp_possible to bool
  PM / wakeirq: report a wakeup_event on dedicated wekup irq
  IB/mlx5: Assign DSCP for R-RoCE QPs Address Path
  staging: fsl-mc: Add missing header
  crypto: ccp - Set the AES size field for all modes
  cpufreq: Do not clear real_cpus mask on policy init
  Fix tracing sample code warning.
  tracing/samples: Fix creation and deletion of simple_thread_fn creation
  drm/msm: fix an integer overflow test
  drm/msm: Fix potential buffer overflow issue
  drm/i915/edp: read edp display control registers unconditionally
  ocfs2: fstrim: Fix start offset of first cluster group during fstrim
  drm/amdgpu: return -ENOENT from uvd 6.0 early init for harvesting
  ARM: 8715/1: add a private asm/unaligned.h
  arm/arm64: kvm: Disable branch profiling in HYP code
  arm/arm64: KVM: set right LR register value for 32 bit guest when inject abort
  arm64: ensure __dump_instr() checks addr_limit
  ASoC: adau17x1: Workaround for noise bug in ADC
  KEYS: fix out-of-bounds read during ASN.1 parsing
  KEYS: return full count in keyring_read() if buffer is too small
  cifs: check MaxPathNameComponentLength != 0 before using it
  ALSA: seq: Fix nested rwsem annotation for lockdep splat
  ALSA: timer: Add missing mutex lock for compat ioctls
  msm: sde: extend inline rotation timeout
  msm: sde: print more rot status on mdp panic
  [Bluetooth] - Fix for checking proper user-supplied buffers
  pinctrl: qcom: Update sdm670 direct connect interrupts
  drm/msm/dp: add support for PHY CTS 1.4 tests
  sched/fair: Respect wake to idle over sync wakeup
  Revert "sched/fair: Limit sync wakeup bias to waker cpu"
  drm/msm/dp: hold conn mode_config mutex to iterate over modes
  ARM: dts: msm: add SMART_PANEL_ALIGN_MODE entry on SDM845, SDM670
  ARM: dts: msm: enable dynamic fps for SDM670
  soc: qcom: socinfo: Add support for HDK platform
  mmc: core: detect change in resume if a new card is found
  ARM: dts: msm: add vref_rgmii regulator device for pmxpoorwills
  drm/msm/dsi-staging: handle dsi buffers during secure transitions
  soc: qcom: Add API to obtain pointer to dump addr
  soc: qcom: Add support for QDSS bridge driver
  ARM: dts: msm: Remove DDR52 bus speed mode for sdm670
  msm: ipa: dynamic memory leak fix
  drm/msm/sde: fix mdp ib bw vote calculations
  ARM: dts: msm: Add support for PRNG TPDM on SDM845
  coresight-ost: Add TGID information for FTRACE events
  msm: kgsl: Use the bind lock when dumping entries
  ARM: dts: msm: Enable vdd_mss on SDM670
  ARM: dts: msm: Add SID 1 to secure context bank for sdm670
  defconfig: msm: Enable USB QDSS and UAC 1.0 drivers on sdxpoorwills
  mm, page_owner: don't grab zone->lock for init_pages_in_zone()

Change-Id: Ic40738ba59d8b0eec1fe0a059a9b139ad358732d
Signed-off-by: default avatarAbhijit Trivedi <abhijitt@codeaurora.org>
parents b985c434 9db5ea28
Loading
Loading
Loading
Loading
+157 −0
Original line number Diff line number Diff line
Introduction
============

Resource Power Manager (RPM)

RPM is a dedicated hardware engine for managing shared SoC resources,
which includes buses, clocks, power rails, etc.  The goal of RPM is
to achieve the maximum power savings while satisfying the SoC's
operational and performance requirements.  RPM accepts resource
requests from multiple RPM masters.  It arbitrates and aggregates the
requests, and configures the shared resources.  The RPM masters are
the application processor, the modem processor, as well as some
hardware accelerators.

The RPM driver provides an API for interacting with RPM.  Kernel code
calls the RPM driver to request RPM-managed, shared resources.
Kernel code can also register with the driver for RPM notifications,
which are sent when the status of shared resources change.

Hardware description
====================

RPM exposes a separate region of registers to each of the RPM masters.
In general, each register represents some shared resource(s).  At a
very basic level, a master requests resources by writing to the
registers, then generating an interrupt to RPM.  RPM processes the
request, writes acknowledgment to the registers, then generates an
interrupt to the master.

In addition to the master-specific regions, RPM also exposes a shared
region that contains the current status of the shared resources.  Only
RPM can write to the status region, but every master can read from it.

RPM contains internal logics that aggregate and arbitrate among
requests from the various RPM masters.  It interfaces with the PMIC,
the bus arbitration block, and the clock controller block in order to
configure the shared resources.

Software description
====================

The RPM driver encapsulates the low level RPM interactions, which
rely on reading/writing registers and generating/processing
interrupts, and provides a higher level synchronuous set/clear/get
interface.  Most functions take an array of id-value pairs.
The ids identify the RPM registers which would correspond to some
RPM resources, the values specify the new resource values.

The RPM driver synchronizes accesses to RPM.  It protects against
simultaneous accesses from multiple tasks, on SMP cores, in task
contexts, and in atomic contexts.

Design
======

Design goals:
- Encapsulate low level RPM interactions.
- Provide a synchronuous set/clear/get interface.
- Synchronize simultaneous software accesses to RPM.

Power Management
================

RPM is part of the power management architecture for MSM 8660.  RPM
manages shared system resources to lower system power.

SMP/multi-core
==============

The RPM driver uses mutex to synchronize client accesses among tasks.
It uses spinlocks to synchronize accesses from atomic contexts and
SMP cores.

Security
========

None.

Performance
===========

None.

Interface
=========

msm_rpm_get_status():
The function reads the shared status region and returns the current
resource values, which are the arbitrated/aggregated results across
all RPM masters.

msm_rpm_set():
The function makes a resource request to RPM.

msm_rpm_set_noirq():
The function is similar to msm_rpm_set() except that it must be
called with interrupts masked.  If possible, use msm_rpm_set()
instead, to maximize CPU throughput.

msm_rpm_clear():
The function makes a resource request to RPM to clear resource values.
Once the values are cleared, the resources revert back to their default
values for this RPM master.  RPM internally uses the default values as
the requests from this RPM master when arbitrating and aggregating with
requests from other RPM masters.

msm_rpm_clear_noirq():
The function is similar to msm_rpm_clear() except that it must be
called with interrupts masked.  If possible, use msm_rpm_clear()
instead, to maximize CPU throughput.

msm_rpm_register_notification():
The function registers for RPM notification.  When the specified
resources change their status on RPM, RPM sends out notifications
and the driver will "up" the semaphore in struct
msm_rpm_notification.

msm_rpm_unregister_notification():
The function unregisters a notification.

msm_rpm_init():
The function initializes the RPM driver with platform specific data.

Driver parameters
=================

None.

Config options
==============

MSM_RPM

Dependencies
============

None.

User space utilities
====================

None.

Other
=====

None.

Known issues
============

None.

To do
=====

None.
+6 −0
Original line number Diff line number Diff line
@@ -31,6 +31,12 @@ to deliver its interrupts via SPIs.
  This also affects writes to the tval register, due to the implicit
  counter read.

- hisilicon,erratum-161010101 : A boolean property. Indicates the
  presence of Hisilicon erratum 161010101, which says that reading the
  counters is unreliable in some cases, and reads may return a value 32
  beyond the correct value. This also affects writes to the tval
  registers, due to the implicit counter read.

** Optional properties:

- arm,cpu-registers-not-fw-configured : Firmware does not initialize
+5 −0
Original line number Diff line number Diff line
@@ -172,6 +172,9 @@ Generic board variants:
- HDK device:
  compatible = "qcom,hdk"

- IPC device:
  compatible = "qcom,ipc"

Boards (SoC type + board variant):

compatible = "qcom,apq8016"
@@ -201,6 +204,7 @@ compatible = "qcom,apq8017-cdp"
compatible = "qcom,apq8017-mtp"
compatible = "qcom,apq8053-cdp"
compatible = "qcom,apq8053-mtp"
compatible = "qcom,apq8053-ipc"
compatible = "qcom,mdm9630-cdp"
compatible = "qcom,mdm9630-mtp"
compatible = "qcom,mdm9630-sim"
@@ -311,6 +315,7 @@ compatible = "qcom,msm8953-rumi"
compatible = "qcom,msm8953-sim"
compatible = "qcom,msm8953-cdp"
compatible = "qcom,msm8953-mtp"
compatible = "qcom,msm8953-ipc"
compatible = "qcom,msm8953-qrd"
compatible = "qcom,msm8953-qrd-sku3"
compatible = "qcom,sdm450-mtp"
+26 −4
Original line number Diff line number Diff line
@@ -21,10 +21,27 @@ Properties:
	Usage:      required
	Value type: <stringlist>
	Definition: Address names. Must be "osm_l3_base", "osm_pwrcl_base",
		    "osm_perfcl_base".
		    "osm_perfcl_base", and "cpr_rc".
		    Must be specified in the same order as the corresponding
		    addresses are specified in the reg property.

- vdd_l3_mx_ao-supply
	Usage:      required
	Value type: <phandle>
	Definition: Phandle to the MX active-only regulator device.

- vdd_pwrcl_mx_ao-supply
	Usage:      required
	Value type: <phandle>
	Definition: Phandle to the MX active-only regulator device.

- qcom,mx-turbo-freq
	Usage:      required
	Value type: <array>
	Definition: List of frequencies for the 3 clock domains (following the
		    order of L3, power, and performance clusters) that denote
		    the lowest rate that requires a TURBO vote on the MX rail.

- l3-devs
	Usage: optional
	Value type: <phandle>
@@ -46,10 +63,15 @@ Example:
		compatible = "qcom,clk-cpu-osm";
		reg = <0x17d41000 0x1400>,
			<0x17d43000 0x1400>,
			<0x17d45800 0x1400>;
		reg-names = "osm_l3_base", "osm_pwrcl_base", "osm_perfcl_base";
			<0x17d45800 0x1400>,
			<0x784248 0x4>;
		reg-names = "osm_l3_base", "osm_pwrcl_base", "osm_perfcl_base",
							"cpr_rc";
		vdd_l3_mx_ao-supply = <&pm8998_s6_level_ao>;
		vdd_pwrcl_mx_ao-supply = <&pm8998_s6_level_ao>;

		l3-devs = <&phandle0 &phandle1 &phandle2>;
		qcom,mx-turbo-freq = <1478400000 1689600000 3300000001>;
		l3-devs = <&l3_cpu0 &l3_cpu4 &l3_cdsp>;

		clock-names = "xo_ao";
		clocks = <&clock_rpmh RPMH_CXO_CLK_A>;
+15 −0
Original line number Diff line number Diff line
Qualcomm Technologies, Inc. QDSS bridge Driver

This device will enable routing debug data from modem
subsystem to APSS host.

Required properties:
-compatible : "qcom,qdss-mhi".
-qcom,mhi : phandle of MHI Device to connect to.

Example:
	qcom,qdss-mhi {
		compatible = "qcom,qdss-mhi";
		qcom,mhi = <&mhi_0>;
	};
Loading