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

Commit 6db77bde authored by Abhijit Trivedi's avatar Abhijit Trivedi
Browse files

Merge remote-tracking branch 'quic/msm-4.9' into topic branch



* quic/msm-4.9:
  ARM: dts: msm: add PMIC peripheral devices for sdm670
  ARM: dts: msm: add SPMI PMIC arbiter device for sdm670
  msm: kgsl: Delete list entry in only one place
  qseecom: use strnlen in qseecom_start_app
  spi: spi-geni-qcom: Add support for DFS clk select
  platform: msm: qcom_geni_se: Support to identify SE clock frequency
  fs: ext4: disable support for fallocate FALLOC_FL_PUNCH_HOLE
  defconfig: sdm845: Don't compile msm-cpufreq driver
  ARM: dts: msm: add PM660, PM660a and PM660l PMIC peripheral devices
  ARM: dts: msm: Add stub regulator devices for sdm670
  defconfig: sdm845: Enable llcc for sdm670
  msm: camera: isp: Fix leak in bus evt_payload
  msm: camera: HW CDM reset failure workaround
  sched: energy: Remove #define DEBUG
  ARM: dts: msm: replace capacity with frequency in sched-energy for sdm845
  drm/msm/sde: add KMS hook to wait for panel transfer complete
  soc: qcom: dcc_v2: Fix offset calculation for linked list
  net: Fail explicit bind to local reserved ports
  net: Indicate whether a socket is a transparent socket
  net: udp: Adjust UDP socket state for encapsulation sockets
  phy: qcom-ufs-qmp-v3: use CDR DIV4 in all bands and fastlock
  phy: qcom-ufs-qmp-v3: fix UFS NOP Timeout
  ext4: Initialize ee_start_lo to avoid potential use before initialization
  USB: f_qdss: Fix crash issue during connect_work
  sched: energy: calculate and update CPU capacity dynamically
  ARM: dts: msm: Change bus governor for vidc for sdm845
  msm: vidc: Enhance bus scaling algorithm
  msm: vidc: Introduce device specific code for video driver
  msm: ipa: Add assert upon send command failure
  mmc: mmc: Fix mmc_partial_init for HS400 mode
  mmc: host: sdhci-msm: Don't clear IO_PAD_PWR_SWITCH when faking 3V support
  mmc: core: Avoid returning error when clok scaling devfreq is removed
  mmc: host: sdhci-msm: Skip reading GENERICS register in check_pwr_status
  mmc: cmdq_hci: Avoid releasing clock twice during DCMD error
  mmc: queue: Remove BUG_ON() in cmdq_thread
  msm: kgsl: Fix GPU power state machine bug
  Perf: arm64: Use proper API to get task cpu
  msm: cam: isp: Fix camera freeze due to irq scheduling delay
  icnss: Add APIs to store driver load count
  iommu: arm-smmu: Correct decrement of s2cr use count
  ARM: dts: msm: Update thermal vdd restriction level for SDM845
  ARM: dts: msm: Use thermal state macro to specify state for SDM845
  drivers: thermal: Add support for THERMAL_MAX_LIMIT cdev
  drm/msm/sde: refactor encoder irq code into common helpers
  dwc3-msm: Add __iomem markings where needed
  msm: camera: icp: Fix the icp resource leaks
  usb: xhci: Free leaked command in case xhci_queue_stop_endpoint fails
  usb: xhci: Avoid accessing dangling virt_dev in xhci_stop_device
  msm: cam: isp: Fix camera preview freeze caused by IRQ handling sequence
  drm/msm/sde: update play count on sde crtc
  msm: rtb: record counter timestamp for every log record
  msm: ipa: fix ipacm_client usage
  msm: sde: Convert workq to kernel thread in SDE rotator
  msm: camera: Fix fd leak during unmap
  sched: energy: handle memory allocation failure
  msm: vidc: Check width/height limits for downscaling
  f_gsi: Use kernel buffer instead of user space provided buffer
  ARM: dts: msm: Remove qupv3 include from overlay for sdm845
  driver-core: cpu: Make isolate node read-only
  msm: kgsl: Remove stddef.h include
  mmc: core: Ignore CRC errors with CMD13 while executing tuning
  Linux 4.9.32
  netfilter: nft_set_rbtree: handle element re-addition after deletion
  cpufreq: schedutil: Fix per-CPU structure initialization in sugov_start()
  cpufreq: schedutil: move cached_raw_freq to struct sugov_policy
  drm/i915/vbt: split out defaults that are set when there is no VBT
  drm/i915/vbt: don't propagate errors from intel_bios_init()
  usercopy: Adjust tests to deal with SMAP/PAN
  ARM: 8637/1: Adjust memory boundaries after reservations
  ARM: 8636/1: Cleanup sanity_check_meminfo
  arm64: entry: improve data abort handling of tagged pointers
  arm64: hw_breakpoint: fix watchpoint matching for tagged pointers
  arm64: traps: fix userspace cache maintenance emulation on a tagged pointer
  serial: sh-sci: Fix panic when serial console and DMA are enabled
  drivers: char: mem: Fix wraparound check to allow mappings up to the end
  cpu/hotplug: Drop the device lock on error
  ASoC: Fix use-after-free at card unregistration
  ALSA: timer: Fix missing queue indices reset at SNDRV_TIMER_IOCTL_SELECT
  ALSA: timer: Fix race between read and ioctl
  drm/nouveau/tmr: fully separate alarm execution/pending lists
  drm/vmwgfx: Make sure backup_handle is always valid
  drm/vmwgfx: limit the number of mip levels in vmw_gb_surface_define_ioctl()
  drm/vmwgfx: Handle vmalloc() failure in vmw_local_fifo_reserve()
  perf/core: Drop kernel samples even though :u is specified
  powerpc/kernel: Initialize load_tm on task creation
  powerpc/kernel: Fix FP and vector register restoration
  powerpc/hotplug-mem: Fix missing endian conversion of aa_index
  powerpc/numa: Fix percpu allocations to be NUMA aware
  powerpc/sysdev/simple_gpio: Fix oops in gpio save_regs function
  scsi: qla2xxx: Fix mailbox pointer error in fwdump capture
  scsi: qla2xxx: Set bit 15 for DIAG_ECHO_TEST MBC
  scsi: qla2xxx: Modify T262 FW dump template to specify same start/end to debug customer issues
  scsi: qla2xxx: don't disable a not previously enabled PCI device
  KVM: arm/arm64: Handle possible NULL stage2 pud when ageing pages
  btrfs: fix memory leak in update_space_info failure path
  btrfs: use correct types for page indices in btrfs_page_exists_in_range
  cxl: Avoid double free_irq() for psl,slice interrupts
  cxl: Fix error path on bad ioctl
  ufs_getfrag_block(): we only grab ->truncate_mutex on block creation path
  ufs_extend_tail(): fix the braino in calling conventions of ufs_new_fragments()
  ufs: set correct ->s_maxsize
  ufs: restore maintaining ->i_blocks
  fix ufs_isblockset()
  ufs: restore proper tail allocation
  fs: add i_blocksize()
  cpuset: consider dying css as offline
  cgroup: Prevent kill_css() from being called more than once
  drm/msm: Expose our reservation object when exporting a dmabuf.
  target: Re-add check to reject control WRITEs with overflow data
  cpufreq: cpufreq_register_driver() should return -ENODEV if init fails
  mei: make sysfs modalias format similar as uevent modalias
  iio: proximity: as3935: fix iio_trigger_poll issue
  iio: proximity: as3935: fix AS3935_INT mask
  iio: light: ltr501 Fix interchanged als/ps register field
  iio: adc: bcm_iproc_adc: swap primary and secondary isr handler's
  staging/lustre/lov: remove set_fs() call from lov_getstripe()
  usb: chipidea: debug: check before accessing ci_role
  usb: chipidea: udc: fix NULL pointer dereference if udc_start failed
  usb: gadget: f_mass_storage: Serialize wake and sleep execution
  drm: Fix oops + Xserver hang when unplugging USB drm devices
  ext4: fix fdatasync(2) after extent manipulation operations
  ext4: fix data corruption with EXT4_GET_BLOCKS_ZERO
  ext4: keep existing extra fields when inode expands
  ext4: fix SEEK_HOLE
  xen/privcmd: Support correctly 64KB page granularity when mapping memory
  cfq-iosched: fix the delay of cfq_group's vdisktime under iops mode
  dmaengine: mv_xor_v2: set DMA mask to 40 bits
  dmaengine: mv_xor_v2: remove interrupt coalescing
  dmaengine: mv_xor_v2: fix tx_submit() implementation
  dmaengine: mv_xor_v2: enable XOR engine after its configuration
  dmaengine: mv_xor_v2: do not use descriptors not acked by async_tx
  dmaengine: mv_xor_v2: properly handle wrapping in the array of HW descriptors
  dmaengine: mv_xor_v2: handle mv_xor_v2_prep_sw_desc() error properly
  dmaengine: ep93xx: Don't drain the transfers in terminate_all()
  dmaengine: ep93xx: Always start from BASE0
  dmaengine: usb-dmac: Fix DMAOR AE bit definition
  KVM: arm/arm64: vgic-v2: Do not use Active+Pending state for a HW interrupt
  KVM: arm/arm64: vgic-v3: Do not use Active+Pending state for a HW interrupt
  KVM: async_pf: avoid async pf injection when in guest mode
  arm: KVM: Allow unaligned accesses at HYP
  arm64: KVM: Allow unaligned accesses at EL2
  arm64: KVM: Preserve RES1 bits in SCTLR_EL2
  KVM: cpuid: Fix read/write out-of-bounds vulnerability in cpuid emulation
  kvm: async_pf: fix rcu_irq_enter() with irqs enabled
  efi: Don't issue error message when booted under Xen
  nfsd: Fix up the "supattr_exclcreat" attributes
  nfsd4: fix null dereference on replay
  drm/amdgpu/ci: disable mclk switching for high refresh rates (v2)
  crypto: gcm - wait for crypto op not signal safe
  crypto: drbg - wait for crypto op not signal safe
  KEYS: encrypted: avoid encrypting/decrypting stack buffers
  KEYS: fix freeing uninitialized memory in key_update()
  KEYS: fix dereferencing NULL payload with nonzero length
  crypto: asymmetric_keys - handle EBUSY due to backlog correctly
  ptrace: Properly initialize ptracer_cred on fork
  serial: ifx6x60: fix use-after-free on module unload
  arch/sparc: support NR_CPUS = 4096
  sparc64: delete old wrap code
  sparc64: new context wrap
  sparc64: add per-cpu mm of secondary contexts
  sparc64: redefine first version
  sparc64: combine activate_mm and switch_mm
  sparc64: reset mm cpumask after wrap
  sparc: Machine description indices can vary
  sparc64: mm: fix copy_tsb to correctly copy huge page TSBs
  sparc64: Add __multi3 for gcc 7.x and later.
  net: bridge: start hello timer only if device is up
  net: stmmac: fix completely hung TX when using TSO
  net: ethoc: enable NAPI before poll may be scheduled
  net/ipv6: Fix CALIPSO causing GPF with datagram support
  net: ping: do not abuse udp_poll()
  ipv6: Fix leak in ipv6_gso_segment().
  vxlan: fix use-after-free on deletion
  tcp: disallow cwnd undo when switching congestion control
  cxgb4: avoid enabling napi twice to the same queue
  ipv6: xfrm: Handle errors reported by xfrm6_find_1stfragopt()
  vxlan: eliminate cached dst leak
  bnx2x: Fix Multi-Cos
  diag: dci: Add NULL pointer checks for dci buffers
  drm: msm: dp: add support for HPD notification to userspace
  ARM: dts: msm: enable DisplayPort for SDM845 MTP
  iommu/iommu-debug: Do a software table walk if ATOS fails
  iommu/io-pgtable-arm: fix multibit shareability comparison
  iommu: dma-mapping-fast: per-buffer coherent mappings
  arm64: dma-mapping: optimize unmap coherency check
  iommu/io-pgtable-fast: cache clean the last level ptes
  drm/msm/sde: add validation checks for source split
  clk: Add a unique string for clock driver's kernel log messages
  drm/msm/sde: avoid configuring PE for virtual planes
  drm/msm/sde: assign virtual planes to RECT1 of sDMA
  drivers: mailbox: relax CPU to allow interrupt handlers to run
  ARM: dts: msm: Add DM/DP related USB PHY interrupt information on SDM845
  dwc3-msm: Add USB PHY related PDC interrupt handling
  msm: ipa4: add multi PDN support
  ARM: dts: msm: Add smmu device for sdm670
  iommu: dma-mapping-fast: Add support for get_sgtable
  ARM: dts: msm: enable haptics device for sdm845 CDP and MTP
  ARM: dts: msm: specify the haptics device for pmi8998
  defconfig: sdm845: Enable haptics driver
  leds: qpnp-haptics: Add haptics driver
  iommu: dma-mapping-fast: Remove dma_supported op
  arm64: dma-mapping: Ensure iova range within dma_mask
  arm64: dma-mapping: Remove duplicate code
  sched/fair: Always wake up on waker cpu for sync wakeups
  sched: Remove synchronize rcu/sched calls from _cpu_down
  arm64/dma-mapping: Remove extraneous null-pointer checks
  ARM: msm: dts: Add V2 qrd dts file for sdm845
  msm: kgsl: Ensure GFX CX GDSC off in SLUMBER
  soc: qcom: glink_smem_native_xprt: recovery from SSR in tasklet only
  UPSTREAM: drm/msm/mdp5: use __drm_atomic_helper_plane_duplicate_state()
  soc: qcom: pil: Add trace events for PIL driver
  i2c: qcom: geni: Error logging for GENI I2C driver
  ANDROID: sdcardfs: d_splice_alias can return error values
  ARM: dts: msm: Update cpu/llcc devfreq tables on sdm845
  blk-mq: use static mapping
  ARM: dts: msm: enable TE generation for sharp 1080p panel

Change-Id: I9493ccfef24e95ad96222785f536e2832a40113f
Signed-off-by: default avatarAbhijit Trivedi <abhijitt@codeaurora.org>
parents ffd90498 e13b3810
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -182,6 +182,11 @@ DMA_ATTR_FORCE_COHERENT

When passed to a DMA map call the DMA_ATTR_FORCE_COHERENT DMA
attribute can be used to force a buffer to be mapped as IO coherent.

When the DMA_ATTR_FORCE_COHERENT attribute is set during a map call ensure
that it is also set during for the matching unmap call to ensure that the
correct cache maintenance is carried out.

This DMA attribute is only currently supported for arm64 stage 1 IOMMU
mappings.

@@ -193,5 +198,10 @@ attribute can be used to force a buffer to not be mapped as IO
coherent.
The DMA_ATTR_FORCE_NON_COHERENT DMA attribute overrides the buffer IO
coherency configuration set by making the device IO coherent.

When the DMA_ATTR_FORCE_NON_COHERENT attribute is set during a map call
ensure that it is also set during for the matching unmap call to ensure
that the correct cache maintenance is carried out.

This DMA attribute is only currently supported for arm64 stage 1 IOMMU
mappings.
+257 −0
Original line number Diff line number Diff line
Qualcomm Technologies, Inc. Haptics driver

QPNP (Qualcomm Technologies, Inc. Plug N Play) Haptics is a peripheral on some
QTI PMICs. It can be interfaced with the host processor via SPMI or I2C bus.

Haptics peripheral can support different actuators or vibrators,
1. Eccentric Rotation Mass (ERM)
2. Linear Resonant Actuator (LRA)

Also, it can support multiple modes of operation: Direct, Buffer, PWM or Audio.

Haptics device is described under a single level of node.

Properties:

- compatible
  Usage:      required
  Value type: <string>
  Definition: "qcom,qpnp-haptics".

- reg
  Usage:      required
  Value type: <u32>
  Definition: Base address of haptics peripheral.

- interrupts
  Usage:      required
  Value type: <prop-encoded-array>
  Definition: Peripheral interrupt specifier.

- interrupt-names
  Usage:      required
  Value type: <stringlist>
  Definition: Interrupt names.  This list must match up 1-to-1 with the
		interrupts specified in the 'interrupts' property. Currently
		supported interrupts are short-circuit and play.

- qcom,pmic-revid
  Usage:      required
  Value type: <phandle>
  Definition: Should specify the phandle of PMIC's revid module. This is used to
		identify the PMIC subtype.

- qcom,pmic-misc
  Usage:      optional
  Value type: <phandle>
  Definition: Should specify the phandle of PMIC's misc module. This is used to
		read the clock trim error register under MISC peripheral.

- qcom,misc-clk-trim-error-reg
  Usage:      optional
  Value type: <u32>
  Definition: Register offset in MISC peripheral to read the clock trim error.
		If this is specified, then qcom,pmic-misc should be specified.

- qcom,actuator-type
  Usage:      optional
  Value type: <u32>
  Definition: Allowed values are 0 for LRA and 1 for ERM. If this is not
		specified, then LRA type will be used by default.

- qcom,play-mode
  Usage:      optional
  Value type: <string>
  Definition: Allowed values are: "direct", "buffer", "pwm", "auto". If not
		specified for LRA actuator, auto mode will be selected by
		default.

- qcom,wave-shape
  Usage:      optional
  Value type: <string>
  Definition: Wave shape to be played. Allowed values: "sine" or "square".
		Default value is "square".

- qcom,wave-play-rate-us
  Usage:      optional
  Value type: <u32>
  Definition: Wave sample duration in microseconds. This should match with
		the frequency the vibrator supports.
		Allowed values are: 0 to 20475. Default value is 5715.

- qcom,max-play-time-us
  Usage:      optional
  Value type: <u32>
  Definition: Maximum play time supported in microseconds. Default value is
		15000.

- qcom,vmax-mv
  Usage:      optional
  Value type: <u32>
  Definition: Maximum output voltage in millivolts. Value specified here will
		be rounded off to the closest multiple of 116 mV.
		Allowed values: 0 to 3596. Default value is 3596.

- qcom,ilim-ma
  Usage:      optional
  Value type: <u32>
  Definition: Output current limit in mA. Allowed values: 400 or 800. Default
		value is 400.

- qcom,en-brake
  Usage:      optional
  Value type: <empty>
  Definition: Enables internal reverse braking.

- qcom,brake-pattern
  Usage:      optional
  Value type: <prop-encoded-array>
  Definition: Brake pattern to be applied. If specified, should be having
		4 elements. Allowed values for each element are:
		0, 1: Vmax/4, 2: Vmax/2, 3: Vmax.

- qcom,sc-dbc-cycles
  Usage:      optional
  Value type: <u32>
  Definition: Short circuit debounce cycles for internal PWM.
		Allowed values: 0, 8, 16 or 32.

Following properties are specific only to LRA vibrators.

- qcom,lra-auto-res-mode
  Usage:      optional
  Value type: <string>
  Definition: Auto resonance method. Allowed values are:
		For pmi8998 and chips earlier,
		"none" : No auto resonance
		"zxd" : Zero crossing detection method
		"qwd" : Quarter wave drive method
		"max-qwd" : Maximum QWD
		"zxd-eop" : ZXD + End of Pattern
		For pm660,
		"zxd" : Zero crossing detection method
		"qwd" : Quarter wave drive method

- qcom,lra-high-z
  Usage:      optional
  Value type: <string>
  Definition: High Z configuration for auto resonance. Allowed values are:
		"none", "opt1", "opt2" and "opt3".
		For pm660, "opt0" is valid value for 1 LRA period.

- qcom,lra-res-cal-period
  Usage:      optional
  Value type: <u32>
  Definition: Auto resonance calibration period. Allowed values are:
		For pmi8998 and chips earlier: 4, 8, 16, and 32.
		For pm660: 4, 8, 16, 32, 64, 128 and 256.

- qcom,lra-qwd-drive-duration
  Usage:      optional
  Value type: <u32>
  Definition: LRA drive duration in QWD mode. Applies only for pm660 currently.
		Allowed values are: 0 and 1, for 1/4 and 3/8 LRA period.
		respectively.

- qcom,lra-calibrate-at-eop
  Usage:      optional
  Value type: <u32>
  Definition: Enables calibration at end of pattern. Applies only for pm660
		currently. Allowed values are: 0 and 1.

- qcom,auto-res-err-recovery-hw
  Usage:      optional
  Value type: <empty>
  Definition: Enables Hardware auto resonance error recovery. Applies only for
		pm660 currently.

- qcom,drive-period-code-max-variation-pct
  Usage:      optional
  Value type: <u32>
  Definition: Maximum allowed variation of LRA drive period code in percentage
		above which RATE_CFG registers will not be updated by SW when
		auto resonance is enabled and auto resonance error correction
		algorithm is running. If not specified, default value is 25%.

- qcom,drive-period-code-min-variation-pct
  Usage:      optional
  Value type: <u32>
  Definition: Minimum allowed variation of LRA drive period code in percentage
		below which RATE_CFG registers will not be updated by SW when
		auto resonance is enabled and auto resonance error correction
		algorithm is running. If not specified, default value is 25%.

Following properties are applicable only when "qcom,play-mode" is set to
"buffer".

- qcom,wave-rep-cnt
  Usage:      optional
  Value type: <u32>
  Definition: Repetition count for wave form.
		Allowed values are: 1, 2, 4, 8, 16, 32, 64 and 128. Default
		value is 1.

- qcom,wave-samp-rep-cnt
  Usage:      optional
  Value type: <u32>
  Definition: Repetition count for each sample of wave form. Allowed values
		are: 1, 2, 4 and 8. Default value is 1.

- qcom,wave-samples
  Usage:      optional
  Value type: <prop-encoded-array>
  Definition: Wave samples in an array of 8 elements. Each element takes the
		following representation, bit 0: unused, bits[5:1] : amplitude,
		bit 6: overdrive, bit 7: sign. Default sample value is 0x3E.

Following properties are applicable only when "qcom,play-mode" is set to
"pwm".

- pwms
  Usage:      required, if "qcom,play-mode" is set to "pwm".
  Value type: <phandle>
  Definition: PWM device that is feeding its output to Haptics.

- qcom,period-us
  Usage:      required, if "qcom,play-mode" is set to "pwm".
  Value type: <u32>
  Definition: PWM period in us.

- qcom,duty-us
  Usage:      required, if "qcom,play-mode" is set to "pwm".
  Value type: <u32>
  Definition: PWM duty cycle in us.

- qcom,ext-pwm-freq-khz
  Usage:      optional
  Value type: <u32>
  Definition: Frequency for external PWM in KHz.
		Allowed values are: 25, 50, 75 and 100.

- qcom,ext-pwm-dtest-line
  Usage:      optional
  Value type: <u32>
  Definition: DTEST line which is used for external PWM.

Example:
	qcom,haptics@c000 {
		compatible = "qcom,qpnp-haptics";
		reg = <0xc000 0x100>;
		interrupts = <0x3 0xc0 0x0 IRQ_TYPE_EDGE_RISING>,
			     <0x3 0xc0 0x1 IRQ_TYPE_EDGE_BOTH>;
		interrupt-names = "hap-sc-irq", "hap-play-irq";
		qcom,pmic-revid = <&pmi8998_revid>;
		qcom,pmic-misc = <&pmi8998_misc>;
		qcom,misc-clk-trim-error-reg = <0xf3>;
		qcom,actuator-type = <0>;
		qcom,play-mode = "direct";
		qcom,vmax-mv = <3200>;
		qcom,ilim-ma = <800>;
		qcom,sc-dbc-cycles = <8>;
		qcom,wave-play-rate-us = <6667>;
		qcom,en-brake;
		qcom,brake-pattern = <0x3 0x0 0x0 0x0>;
		qcom,lra-high-z = "opt1";
		qcom,lra-auto-res-mode = "qwd";
		qcom,lra-res-cal-period = <4>;
	};
+1 −37
Original line number Diff line number Diff line
@@ -6,20 +6,11 @@ Venus
Required properties:
- compatible : one of:
	- "qcom,msm-vidc"
- qcom,max-hw-load: The maximum load the hardware can support expressed in units
  of macroblocks per second. The load is a reflection of hardware capability
  rather than a performance guarantee. Performance is guaranteed only up to
  advertised capability of the chipset.
- qcom,max-hq-mbs-per-frame : Max no of mbs per frame beyond which
    "High Quality" encoding is not supported.
- qcom,max-hq-frames-per-sec : Max no of frames per second beyond which
    "High Quality" encoding is not supported.
        - "qcom,sdm845-vidc" : Invokes driver specific data for SDM845.

Optional properties:
- reg : offset and length of the register set for the device.
- interrupts : should contain the vidc interrupt.
- qcom,platform-version : mask and shift of the platform version bits
    in efuse register.
- qcom,reg-presets : list of offset-value pairs for registers to be written.
  The offsets are from the base offset specified in 'reg'. This is mainly
  used for QoS, VBIF, etc. presets for video.
@@ -64,20 +55,9 @@ Optional properties:
       macro block in low power mode.
       the required frequency to get the final frequency, the factor is
       represented in Q16 format.
- qcom,sw-power-collapse = A bool indicating if video hardware core can be
  power collapsed in idle state.
- qcom,never-unload-fw = A bool indicating if video firmware should be not be
  unloaded after all active sessions have closed.  Once a new session starts up
  after this, the firmware will be ready to go.  This should be set on platforms
  that desire low-latency video startup and don't mind "leakage" of some memory.
- qcom,use-non-secure-pil = A bool indicating which type of pil to use to load
  the fw.
- qcom,fw-bias = The address at which venus fw is loaded (manually).
- qcom,enable-thermal-mitigation = A bool to enable thermal mitigation when
  thermal run away occurs.
- qcom,hfi-version = The hfi packetization version supported by venus firmware.
  If hfi version is not specified, then packetization type will default to
  legacy.
- qcom,vidc-iommu-domains = node containing individual domain nodes, each with:
     - a unique domain name for the domain node (e.g vidc,domain-ns)
     - qcom,vidc-domain-phandle: phandle for the domain as defined in
@@ -97,13 +77,6 @@ Optional properties:
           internal persist = 0x200
           internal persist1 = 0x400
           internal cmd queue = 0x800
- qcom,pm-qos-latency-us = The latency used to vote for QOS power manager. This
value is typically max(latencies of every cluster at all power levels) + 1
- qcom,max-secure-instances = An int containing max number of concurrent secure
  instances supported, accounting for venus and system wide limitations like
  memory, performance etc.
- qcom,debug-timeout = A bool indicating that FW errors such as SYS_ERROR,
  SESSION_ERROR and timeouts will be treated as Fatal.
- cache-slice-names = An array of supported cache slice names by llcc
- cache-slices = An array of supported cache slice ids corresponding
  to cache-slice-names by llcc
@@ -171,25 +144,16 @@ Example:
		venus-supply = <&gdsc>;
		venus-core0-supply = <&gdsc1>;
		venus-core1-supply = <&gdsc2>;
		qcom,hfi-version = "3xx";
		qcom,reg-presets = <0x80004 0x1>,
			<0x80178 0x00001FFF>;
		qcom,qdss-presets = <0xFC307000 0x1000>,
			<0xFC322000 0x1000>;
		qcom,max-hw-load = <1224450>; /* 4k @ 30 + 1080p @ 30*/
		qcom,never-unload-fw;
		clock-names = "foo_clk", "bar_clk", "baz_clk";
		qcom,clock-configs = <0x3 0x1 0x0>;
		qcom,sw-power-collapse;
		qcom,buffer-type-tz-usage-table = <0x1 0x1>,
						<0x1fe 0x2>;
		qcom,enable-thermal-mitigation;
		qcom,use-non-secure-pil;
		qcom,use_dynamic_bw_update;
		qcom,fw-bias = <0xe000000>;
		qcom,allowed-clock-rates = <200000000 300000000 400000000>;
		qcom,max-hq-mbs-per-frame = <8160>;
		qcom,max-hq-frames-per-sec = <60>;
		msm_vidc_cb1: msm_vidc_cb1 {
			compatible = "qcom,msm-vidc,context-bank";
			label = "venus_ns";
+13 −0
Original line number Diff line number Diff line
* Scheduler Energy Driver

Scheduler Energy Driver updates capacities in the scheduler group energy array.
The array contains power cost at each CPU operating points so energy aware
scheduler (EAS) can utilize it for task placement.

Required properties:
- compatible:		Must be "sched-energy"

Example:
	energy-costs {
		compatible = "sched-energy";
	}
+8 −1
Original line number Diff line number Diff line
@@ -7,7 +7,6 @@ Required properties :
	"core_base" : usb controller register set
- interrupts: IRQ lines used by this controller
- interrupt-names : Interrupt resource entries are :
	"hs_phy_irq" : Interrupt from HS PHY for asynchronous events in LPM.
	"pwr_event_irq" : Interrupt to controller for asynchronous events in LPM.
	Used for SS-USB power events.
 - clocks: a list of phandles to the controller clocks. Use as per
@@ -36,6 +35,12 @@ Optional properties :
- interrupt-names : Optional interrupt resource entries are:
    "pmic_id_irq" : Interrupt from PMIC for external ID pin notification.
    "ss_phy_irq"  : Interrupt from super speed phy for wake up notification.
    "hs_phy_irq" : Interrupt from HS PHY for asynchronous events in LPM.
    "dp_hs_phy_irq" : Interrupt from HS PHY for asynchronous events in LPM
    going through PDC. (use qcom,use-pdc-interrupts property)
    "dm_hs_phy_irq" : Interrupt from HS PHY for asynchronous events in LPM
    going through PDC. (use qcom,use-pdc-interrupts property)

 - clocks: a list of phandles to the controller clocks. Use as per
   Documentation/devicetree/bindings/clock/clock-bindings.txt
 - clock-names: Names of the clocks in 1-1 correspondence with the "clocks"
@@ -57,6 +62,8 @@ Optional properties :
- qcom,core-clk-rate: If present, indicates clock frequency to be set for USB master clock.
- qcom,core-clk-rate-hs: If present, indicates min core clock frequency required to support
  hs speed.
- qcom,use-pdc-interrupts: It present, it configures provided PDC IRQ with required
  configuration for wakeup functionality.
- extcon: phandles to external connector devices. First phandle should point to
	  external connector, which provide "USB" cable events, the second
	  should point to external connector device, which provide "USB-HOST"
Loading