SCHG_LITE supports additional aicl-restart values, update the table
accordingly. While at it, use the right mask to update the AICL_WL_SEL
register.
CRs-Fixed: 954243
Change-Id: Icf18c1556c4598896c5ae6d0e9ed55bbd46fa41e
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
During device resume, the touch resume function is called after display's
resume. In this case, the ft5x06's resume function needs to wait for
200ms because of reset requirement. Defer the touch resume to a workqueue
to reduce the total device resume time. For this an optional DT property
is added to enable this on targets that need this feature.
Change-Id: Ib0677ca792aea83ece1caf8a0afff341302747fb
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
Signed-off-by: zhaoyuan <yzhao@codeaurora.org>
Current the smbcharger is splitting the ICL and charge current fairly
naively. This can cause problems where one charger is FCC limited and
another charger is ICL limited, causing a lot of wasted charge current.
Do a better current distribution to maximize the amount of charge
current going into the battery. By default, raise the ICL ratio of the
primary charger up to 60% to avoid issues with system load prematurely
causing the charger to current limit. Lower the FCC ratio back to 50% to
accommodate this.
Also, make both of these properties configurable through module
parameters and device tree in order to accommodate differences in pcb
and battery limitation.
CRs-Fixed: 930588
Change-Id: I77ec8483232e4297936baaad1e9bb4399474d444
Signed-off-by: Xiaozhe Shi <xiaozhes@codeaurora.org>
Add the dtsi property qcom,aicl-rerun-period-s in order to allow for the
configuration of how often AICL is reran in hardware.
CRs-Fixed: 920791
Change-Id: Id262f26b409d75f7c82ee79b25c4258baed43840
Signed-off-by: Xiaozhe Shi <xiaozhes@codeaurora.org>
The parallel charger's VSYS is not connected on parallel charging
designs. All of the charge current flows through the CHGOUT to the
battery. However, if the primary charger is input current limited and
there is a large system load, then the parallel charger's current will
flow into the primary charger's CHGOUT. This will supplement the system
load instead of charging the battery.
This is a problem because all the current provided by the secondary
charger is fed through the batfet, and is sensed as charge current. The
amount of current provided to the battery is actually less than that
because the current is partially supplied to the system instead. This
results in the parallel charger not drawing enough current to charge the
battery even though there is plenty of current left before the input
current limit is hit.
Work around this issue by increasing the fast charge current on the
secondary charger and lowering it on the primary charger. This way, the
primary charger has more current to feed the system and the secondary
charger is less likely to be limited by the false charge current limit.
CRs-Fixed: 895883
Change-Id: I792ed9450bdac87d96b24707c1fb63fe93925b70
Signed-off-by: Xiaozhe Shi <xiaozhes@codeaurora.org>
Some hardware configurations allow the USB driver to detect presence
and type without charger's APSD. This is true especially when the external
muxes are used to multiplex an USB port and a docking station on the usbin
input line.
The USB port when active, ends up notifying the USB driver via a gpio.
When docking station is active, USB side need not know about it.
Note that this change also removes the null checks for usb_psy. It is
initialized at probe and probe's success is dependent on proper usb_psy
detection and initialization.
Change-Id: I7e300ce19d82861f34ccf37545f3317221f727a9
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Detect safety timer expired condition from charger and notify it to FG
through safety_timer_expired property. This can be used for PMi8952 V2.0
and future PMi chips. While at it, rename the safety-timeout irq to
wdog-timeout irq.
CRs-Fixed: 866074
Change-Id: I3a0f1f053a0038349bf5f704cf29eb5b84de2601
Signed-off-by: Chunmei Cai <ccai@codeaurora.org>
Configure PC disable latency value for 8976 target when pm_qos
request to disable power collapse for DDR during SSR and coldboot.
CRs-Fixed: 914674
Change-Id: I65a2ca8b4a94a337195e8c4e8e4743e38f57197e
Signed-off-by: Anand N Sunkad <asunka@codeaurora.org>
Add change to support the MDSS PLL Spread spectrum clock feature.
This is helpful in avoiding EMI issues of DSI PLL with other
subsystems.
Change-Id: I950c91e2c0955044bf33ce4b4343d1820a945d97
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
The VCHG can be configured to track the current drawn by the
charger at its input (IUSB). The voltage at VCHG is proportional
to the IUSB.
PMI8950 - VCHG is internally routed to a VADC channel.
PMI8994 - The VCHG pin can be externally routed to VADC via a MPP
CRs-Fixed: 930343
Change-Id: I4c299c92d6405f65f1280655c8a5d004ef401d38
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
This change gives way to read svs freq for certain targets
for which VFE's have svs freq defined.
Change-Id: I749327861e4392c6f3f24235c1e9b47b684f1362
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
Add changes to support both user space and kernel probing.
Change-Id: I7d4f66ba73ce4a040b5f8889c5680faa8b99b3e1
Signed-off-by: Viswanadha Raju Thotakura <viswanad@codeaurora.org>
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
As per the hardware documentation, certain registers in
the control block need to be over-written for supporting
AMOLED panels. Add support of configuring these registers.
Change-Id: I2a68b4033e2680290479523acd51a4472ad21e3a
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
TI chip supports detection of type-c chargers using I2C interface.
Add driver for TI type-c chip to detect and notify type-c chargers
to USB driver using power supply framework.
Also provide an option to disable the TI chip during suspend if state
is not-attached using DT or module param.
Command to enable this at runtime:
echo 1 > /sys/module/type_c_ti/parameters/disable_on_suspend
Only side-effect of enabling suspend during LPM is that ID High->Low
transition (or host cable connection) won't be detected when device
is in suspend state. Cable detection will happen when system wakes-up.
Change-Id: I69010ee391543831aa54fd869abbbe06cfb6b594
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
Video hardware on msm8956/76 version v1 chipset supports
VP9 decoder with a hardware limitation which requires
more voltage for a given video clock rate. So read
hardware version from efuse register and do necessary
voltage scaling by defining new VP9 decoder clock vs
voltage table in dtsi and use it when VP9 decoder
session is running.
Change-Id: I2824d64aa1abd7f2d3c1853d6f23f2d172bf3929
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
After the interrupt mode is initialized, KTM starts the progressive
algorithm based frequency mitigation for multiple sensors based on
thermal sensor information devicetree configuration. This mitigation
will be disabled when thermal-engine starts and disables the KTM
boot up polling mode mitigation.
By default progressive mitigation is in monitor state. In monitor
state algorithm waits for sensor high threshold trigger. If sensor
temperature reaches high threshold, progressive mitigation algorithm
starts in polling mode. In each polling iteration, if current
temperature is greater than or equal to high threshold, it mitigates
by one level down of supported frequency table from fmax. If current
temperature is less than high threshold in a particular sample,
it reduces mitigation by one level up from previous mitigation state
and at this condition if mitigation is fully cleared, then algorithm
moves from polling mode to monitor mode. In polling mode if the
temperature is less than low threshold then algorithm will clear all
mitigations and will switch to monitor mode.
Add an optional devicetree entry "qcom,ktm-prog-mitigation-config"
to thermal sensor info node which takes cluster id to be mitigated,
high threshold, low threshold and progressive mitigation algo
sampling as input.
Change-Id: Ic609e5beb603c3dec1f7de8f64d1c35516eed057
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
Add support to control external audio switch thru
machine driver. This is to support msm8952 Polaris
devices.
Change-Id: I42e0779b1f18e4883006fdfa71d99da0d2519784
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
Add initial device tree configuration for MSM8976
Polaris devices.
Change-Id: Iee5a0cc2cb48eee143977c584ecc07579af0cc75
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
Add initial device tree configuration for the MSM8952
Polaris devices.
Change-Id: Ifcc0038c6e6b688ca59f880bedcebee4b6067d8b
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
In the SWIRE configuration, the SWIRE signal from the display
panel controls the LAB/IBB voltage and MODULE_EN directly.
Skip the voltage/MODULE_EN configuration during initialization
and suspend/resume if SWIRE control is enabled.
CRs-Fixed: 923651
Change-Id: I425711ef46511816d2ad0f2a34189b7dc47c00c3
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
There is a requirement to configure LAB/IBB module registers with
the specified settings to enable support for touch-to-wakeup(TTW)
mode. Add support for TTW mode by configuring the LAB/IBB
registers as per the hardware documentation. This feature can
be enabled by specifying qcom,qpnp-labibb-touch-to-wake-en property.
TTW mode settings will be applied to LAB/IBB module registers
when the regulator suspend callback is executed. Normal mode
settings will be restored back when the regulator resume callback
is executed.
CRs-Fixed: 847094
Change-Id: Ia80f0d67de4af701d89fb8dceae80fba078dd367
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
As per the hardware documentation, current sense gain for LAB regulator
should be configured to 1.5 times for AMOLED mode. Add
support for that.
While at it, add support for configuring current sense gain through a
device tree property "qcom,qpnp-lab-current-sense". If the property is
specified, then allow overriding the current sense gain irrespective of
the panel type.
Change-Id: I7567eedb8331c70de715f2b392cbb6e560ec4622
Signed-off-by: Ravindranath Thiyagarajan <rthiyaga@codeaurora.org>
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
CPR aging sensors detect the performance degradation
resulting from silicon aging. The CPR de-aging algorithm
detects the aging degradation of the device by reading
aging sensor data and generating necessary voltage guard band
to maintain SoC performance. Limit the generated voltage
guard band to a pre-defined threshold.
CRs-Fixed: 922440
Change-Id: I7c6f05b3c1e1e87f9e5cd0a18a51466e7b93ee20
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
On certain targets some fuse parameters are split between
non-contiguous fuse rows. The various device tree fuse
specification properties cannot handle such a layout. Therefore,
add support for a pair of device tree properties which can be
used to remap arbitrary combinations of fuse bits into a single
contiguous range of virtual fuse rows. These remapped fuse rows
can then be referenced by all other device tree fuse properties.
CRs-Fixed: 922440
Change-Id: I6ae32ecadb6cc8d427f5e47bdd665d899e56d181
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Configure vdd-supply to PWM mode for CPR de-aging measurements.
Also, perform multiple aging measurements and then average the
results in order to determine the final aging adjustment value.
Also, during CPR aging measurements for some power-domains it may
not be required to bypass the sensors. Handle this case by making
the sensor-bypass property optional.
CRs-Fixed: 913916
Change-Id: Ifb8447f1afe379c7108dca4e96d733dd256703e7
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Add support in machine driver to be able to parse device
tree for all possible wsa881x that are supported in the
target, find out from ALSA core about how many wsa881x out
of the list of devices passed from device tree are present
in the target and already registered with ALSA as codec,
and eventually register those wsa881x devices (which are
present) as AUX codec to be used with the sound card.
Change-Id: I69a5cf7d542178aca97eb0dd91e5b35e23467c93
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
Retrieve the set group buffer command payload length and offset to
duplication indicator flag from DT. Update the payload with
distance parameter for ubwc. Send the set group buffer command
to hardware before sending the frame. This information is used
during batch HFR to update the output buffer address and also the
frame that needs to be duplicated.
Change-Id: I7d7bf7080614d55289228336843d44edd6e72733
Signed-off-by: Krishnankutty Kolathappilly <kkolatha@codeaurora.org>
Add support for mmu prefetch in cpp driver. Add support for cds
in cpp driver. Fetch cpp firmware payload information like
offsets for fetch, write, reference engines, meta data offsets,
plane and stripe size and offsets from camera dtsi.
Change-Id: I3a527a748082622aa21709f67322a98c8fb96b3a
Signed-off-by: Shilpa Mamidi <shilpam@codeaurora.org>
TSC and TSPP2 were HW blocks in MPQ8092 target which is
no longer supported. Remove TSC and TSPP2 drivers to
eliminate unused code.
Change-Id: Ibb55ae0d15b33ba5855bde69e78925d23def3c6b
Signed-off-by: Liron Kuch <lkuch@codeaurora.org>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJVoAOcAAoJEDjbvchgkmk+UhcP/1EOwnsJDcZ/sZkkclNgRmrJ
yLBCW65caLAI2E3SmIdKvHQwIx7lHzX5gmWRBrvx+fIl4KhaNKEQ0NCOf1ATaVuQ
MkYMdkicXWpLiFNdKokezryevGS8T1RME+2QlPFv3++Rby1Gy90YD5tu7YlIrEn7
sPRJQHEPCzVAQ7Lqhd66yHICM6/QvdefXj4pjh7vV8IMb2YwnY4vqYt7RxnJCUfP
tqljxrT274kzpA2awzALNh+o3B3/Y4W9ROmlDWviw3JBc9gEqFXYwbDf8KDwA5c0
sp9GPGed/dV5DFuqRcAHksJenFnE3E4gZjo/R5hluHQU27peBuRfXev2hZyBfZqG
796eUOky8fb0OiyxHfT2vhfGeD7CHI/asvIAORjDBVUqzJy9nkkby3XJ0U4tW+pz
VkcilD2oHw1uRIFH3JoBWTJ9W6CYSNFG1qxw+brgfKT5otJG/dBiI8kBABx+aTq7
V+A2cvf11oVwDEb93dnVypMGsfCywqzJUwEIRli9fTFjK7Fg9CBSGX38nwVGUaRv
M2/NeloTyWqUQE41Nd11gCu+hKQRtUU77nxpZcSeKn1XsbpO9/7dHTwcELRuKnTD
9XDksqPznXmC9KXGj7XMcRkLyWyB//JHjay0FCS6b4S6v7R5nrEIRjcpdB+H1WLd
zMOXRH4ZlcOAS/Yt2QMd
=8AB3
-----END PGP SIGNATURE-----
Merge upstream tag 'v3.10.84' into LA.BR.1.3.3
This merge brings us up-to-date as of upstream tag v3.10.84
* tag 'v3.10.84' (317 commits):
Linux 3.10.84
fs: Fix S_NOSEC handling
KVM: x86: make vapics_in_nmi_mode atomic
MIPS: Fix KVM guest fixmap address
x86/PCI: Use host bridge _CRS info on Foxconn K8M890-8237A
powerpc/perf: Fix book3s kernel to userspace backtraces
arm: KVM: force execution of HCPTR access on VM exit
Revert "crypto: talitos - convert to use be16_add_cpu()"
crypto: talitos - avoid memleak in talitos_alg_alloc()
sctp: Fix race between OOTB responce and route removal
packet: avoid out of bounds read in round robin fanout
packet: read num_members once in packet_rcv_fanout()
bridge: fix br_stp_set_bridge_priority race conditions
bridge: fix multicast router rlist endless loop
sparc: Use GFP_ATOMIC in ldc_alloc_exp_dring() as it can be called in softirq context
Linux 3.10.83
bus: mvebu: pass the coherency availability information at init time
KVM: nSVM: Check for NRIPS support before updating control field
ARM: clk-imx6q: refine sata's parent
d_walk() might skip too much
ipv6: update ip6_rt_last_gc every time GC is run
ipv6: prevent fib6_run_gc() contention
xfrm: Increase the garbage collector threshold
Btrfs: make xattr replace operations atomic
x86/microcode/intel: Guard against stack overflow in the loader
fs: take i_mutex during prepare_binprm for set[ug]id executables
hpsa: add missing pci_set_master in kdump path
hpsa: refine the pci enable/disable handling
sb_edac: Fix erroneous bytes->gigabytes conversion
ACPICA: Utilities: Cleanup to remove useless ACPI_PRINTF/FORMAT_xxx helpers.
ACPICA: Utilities: Cleanup to convert physical address printing formats.
__ptrace_may_access() should not deny sub-threads
include/linux/sched.h: don't use task->pid/tgid in same_thread_group/has_group_leader_pid
netfilter: Zero the tuple in nfnl_cthelper_parse_tuple()
netfilter: nfnetlink_cthelper: Remove 'const' and '&' to avoid warnings
config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected
get rid of s_files and files_lock
fput: turn "list_head delayed_fput_list" into llist_head
Linux 3.10.82
lpfc: Add iotag memory barrier
pipe: iovec: Fix memory corruption when retrying atomic copy as non-atomic
drm/mgag200: Reject non-character-cell-aligned mode widths
tracing: Have filter check for balanced ops
crypto: caam - fix RNG buffer cache alignment
Linux 3.10.81
btrfs: cleanup orphans while looking up default subvolume
btrfs: incorrect handling for fiemap_fill_next_extent return
cfg80211: wext: clear sinfo struct before calling driver
mm/memory_hotplug.c: set zone->wait_table to null after freeing it
drm/i915: Fix DDC probe for passive adapters
pata_octeon_cf: fix broken build
ozwpan: unchecked signed subtraction leads to DoS
ozwpan: divide-by-zero leading to panic
ozwpan: Use proper check to prevent heap overflow
MIPS: Fix enabling of DEBUG_STACKOVERFLOW
ring-buffer-benchmark: Fix the wrong sched_priority of producer
USB: serial: ftdi_sio: Add support for a Motion Tracker Development Board
USB: cp210x: add ID for HubZ dual ZigBee and Z-Wave dongle
block: fix ext_dev_lock lockdep report
Input: elantech - fix detection of touchpads where the revision matches a known rate
ALSA: usb-audio: add MAYA44 USB+ mixer control names
ALSA: usb-audio: Add mic volume fix quirk for Logitech Quickcam Fusion
ALSA: hda/realtek - Add a fixup for another Acer Aspire 9420
iio: adis16400: Compute the scan mask from channel indices
iio: adis16400: Use != channel indices for the two voltage channels
iio: adis16400: Report pressure channel scale
xen: netback: read hotplug script once at start of day.
udp: fix behavior of wrong checksums
net_sched: invoke ->attach() after setting dev->qdisc
unix/caif: sk_socket can disappear when state is unlocked
net: dp83640: fix broken calibration routine.
bridge: fix parsing of MLDv2 reports
ipv4: Avoid crashing in ip_error
net: phy: Allow EEE for all RGMII variants
Linux 3.10.80
fs/binfmt_elf.c:load_elf_binary(): return -EINVAL on zero-length mappings
vfs: read file_handle only once in handle_to_path
ACPI / init: Fix the ordering of acpi_reserve_resources()
Input: elantech - fix semi-mt protocol for v3 HW
rtlwifi: rtl8192cu: Fix kernel deadlock
md/raid5: don't record new size if resize_stripes fails.
svcrpc: fix potential GSSX_ACCEPT_SEC_CONTEXT decoding failures
ARM: fix missing syscall trace exit
ARM: dts: imx27: only map 4 Kbyte for fec registers
crypto: s390/ghash - Fix incorrect ghash icv buffer handling.
rt2x00: add new rt2800usb device DWA 130
libata: Ignore spurious PHY event on LPM policy change
libata: Add helper to determine when PHY events should be ignored
ext4: check for zero length extent explicitly
ext4: convert write_begin methods to stable_page_writes semantics
mmc: atmel-mci: fix bad variable type for clkdiv
powerpc: Align TOC to 256 bytes
usb: gadget: configfs: Fix interfaces array NULL-termination
usb-storage: Add NO_WP_DETECT quirk for Lacie 059f:0651 devices
USB: cp210x: add ID for KCF Technologies PRN device
USB: pl2303: Remove support for Samsung I330
USB: visor: Match I330 phone more precisely
xhci: gracefully handle xhci_irq dead device
xhci: Solve full event ring by increasing TRBS_PER_SEGMENT to 256
xhci: fix isoc endpoint dequeue from advancing too far on transaction error
target/pscsi: Don't leak scsi_host if hba is VIRTUAL_HOST
ASoC: wm8994: correct BCLK DIV 348 to 384
ASoC: wm8960: fix "RINPUT3" audio route error
ASoC: mc13783: Fix wrong mask value used in mc13xxx_reg_rmw() calls
ALSA: hda - Add headphone quirk for Lifebook E752
ALSA: hda - Add Conexant codecs CX20721, CX20722, CX20723 and CX20724
d_walk() might skip too much
lib: Fix strnlen_user() to not touch memory after specified maximum
hwmon: (ntc_thermistor) Ensure iio channel is of type IIO_VOLTAGE
libceph: request a new osdmap if lingering request maps to no osd
lguest: fix out-by-one error in address checking.
fs, omfs: add NULL terminator in the end up the token list
KVM: MMU: fix CR4.SMEP=1, CR0.WP=0 with shadow pages
net: socket: Fix the wrong returns for recvmsg and sendmsg
kernel: use the gnu89 standard explicitly
staging, rtl8192e, LLVMLinux: Remove unused inline prototype
staging: rtl8712, rtl8712: avoid lots of build warnings
staging, rtl8192e, LLVMLinux: Change extern inline to static inline
drm/i915: Fix declaration of intel_gmbus_{is_forced_bit/is_port_falid}
staging: wlags49_h2: fix extern inline functions
Linux 3.10.79
ACPICA: Utilities: Cleanup to enforce ACPI_PHYSADDR_TO_PTR()/ACPI_PTR_TO_PHYSADDR().
ACPICA: Tables: Change acpi_find_root_pointer() to use acpi_physical_address.
revert "softirq: Add support for triggering softirq work on softirqs"
sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND)
mmc: card: Don't access RPMB partitions for normal read/write
pinctrl: Don't just pretend to protect pinctrl_maps, do it for real
drm/i915: Add missing MacBook Pro models with dual channel LVDS
ARM: mvebu: armada-xp-openblocks-ax3-4: Disable internal RTC
ARM: dts: imx23-olinuxino: Fix dr_mode of usb0
ARM: dts: imx28: Fix AUART4 TX-DMA interrupt name
ARM: dts: imx25: Add #pwm-cells to pwm4
gpio: sysfs: fix memory leaks and device hotplug
gpio: unregister gpiochip device before removing it
xen/console: Update console event channel on resume
mm/memory-failure: call shake_page() when error hits thp tail page
nilfs2: fix sanity check of btree level in nilfs_btree_root_broken()
ocfs2: dlm: fix race between purge and get lock resource
Linux 3.10.78
ARC: signal handling robustify
UBI: fix soft lockup in ubi_check_volume()
Drivers: hv: vmbus: Don't wait after requesting offers
ARM: dts: dove: Fix uart[23] reg property
staging: panel: fix lcd type
usb: gadget: printer: enqueue printer's response for setup request
usb: host: oxu210hp: use new USB_RESUME_TIMEOUT
3w-sas: fix command completion race
3w-9xxx: fix command completion race
3w-xxxx: fix command completion race
ext4: fix data corruption caused by unwritten and delayed extents
rbd: end I/O the entire obj_request on error
serial: of-serial: Remove device_type = "serial" registration
ALSA: hda - Fix mute-LED fixed mode
ALSA: emu10k1: Emu10k2 32 bit DMA mode
ALSA: emu10k1: Fix card shortname string buffer overflow
ALSA: emux: Fix mutex deadlock in OSS emulation
ALSA: emux: Fix mutex deadlock at unloading
ipv4: Missing sk_nulls_node_init() in ping_unhash().
Linux 3.10.77
s390: Fix build error
nosave: consolidate __nosave_{begin,end} in <asm/sections.h>
memstick: mspro_block: add missing curly braces
C6x: time: Ensure consistency in __init
wl18xx: show rx_frames_per_rates as an array as it really is
lib: memzero_explicit: use barrier instead of OPTIMIZER_HIDE_VAR
e1000: add dummy allocator to fix race condition between mtu change and netpoll
ksoftirqd: Enable IRQs and call cond_resched() before poking RCU
RCU pathwalk breakage when running into a symlink overmounting something
drm/i915: cope with large i2c transfers
drm/radeon: fix doublescan modes (v2)
i2c: core: Export bus recovery functions
IB/mlx4: Fix WQE LSO segment calculation
IB/core: don't disallow registering region starting at 0x0
IB/core: disallow registering 0-sized memory region
stk1160: Make sure current buffer is released
mvsas: fix panic on expander attached SATA devices
Drivers: hv: vmbus: Fix a bug in the error path in vmbus_open()
xtensa: provide __NR_sync_file_range2 instead of __NR_sync_file_range
xtensa: xtfpga: fix hardware lockup caused by LCD driver
ACPICA: Utilities: split IO address types from data type models.
drivers: parport: Kconfig: exclude arm64 for PARPORT_PC
scsi: storvsc: Fix a bug in copy_from_bounce_buffer()
UBI: fix check for "too many bytes"
UBI: initialize LEB number variable
UBI: fix out of bounds write
UBI: account for bitflips in both the VID header and data
tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support for O= option in Makefile
powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH
ext4: make fsync to sync parent dir in no-journal for real this time
arm64: kernel: compiling issue, need delete read_current_timer()
video: vgacon: Don't build on arm64
console: Disable VGA text console support on cris
drivers: parport: Kconfig: exclude h8300 for PARPORT_PC
parport: disable PC-style parallel port support on cris
rtlwifi: rtl8192cu: Add new device ID
rtlwifi: rtl8192cu: Add new USB ID
ptrace: fix race between ptrace_resume() and wait_task_stopped()
fs/binfmt_elf.c: fix bug in loading of PIE binaries
Input: elantech - fix absolute mode setting on some ASUS laptops
ALSA: emu10k1: don't deadlock in proc-functions
usb: core: hub: use new USB_RESUME_TIMEOUT
usb: host: sl811: use new USB_RESUME_TIMEOUT
usb: host: xhci: use new USB_RESUME_TIMEOUT
usb: host: isp116x: use new USB_RESUME_TIMEOUT
usb: host: r8a66597: use new USB_RESUME_TIMEOUT
usb: define a generic USB_RESUME_TIMEOUT macro
usb: phy: Find the right match in devm_usb_phy_match
ARM: S3C64XX: Use fixed IRQ bases to avoid conflicts on Cragganmore
ARM: 8320/1: fix integer overflow in ELF_ET_DYN_BASE
power_supply: lp8788-charger: Fix leaked power supply on probe fail
ring-buffer: Replace this_cpu_*() with __this_cpu_*()
spi: spidev: fix possible arithmetic overflow for multi-transfer message
cdc-wdm: fix endianness bug in debug statements
MIPS: Hibernate: flush TLB entries earlier
KVM: use slowpath for cross page cached accesses
s390/hibernate: fix save and restore of kernel text section
KVM: s390: Zero out current VMDB of STSI before including level3 data.
usb: gadget: composite: enable BESL support
Btrfs: fix inode eviction infinite loop after cloning into it
Btrfs: fix log tree corruption when fs mounted with -o discard
tcp: avoid looping in tcp_send_fin()
tcp: fix possible deadlock in tcp_send_fin()
ip_forward: Drop frames with attached skb->sk
Linux 3.10.76
dcache: Fix locking bugs in backported "deal with deadlock in d_walk()"
arc: mm: Fix build failure
sb_edac: avoid INTERNAL ERROR message in EDAC with unspecified channel
x86: mm: move mmap_sem unlock from mm_fault_error() to caller
vm: make stack guard page errors return VM_FAULT_SIGSEGV rather than SIGBUS
vm: add VM_FAULT_SIGSEGV handling support
deal with deadlock in d_walk()
move d_rcu from overlapping d_child to overlapping d_alias
kconfig: Fix warning "‘jump’ may be used uninitialized"
KVM: x86: SYSENTER emulation is broken
netfilter: conntrack: disable generic tracking for known protocols
Bluetooth: Ignore isochronous endpoints for Intel USB bootloader
Bluetooth: Add support for Intel bootloader devices
Bluetooth: btusb: Add IMC Networks (Broadcom based)
Bluetooth: Add firmware update for Atheros 0cf3:311f
Bluetooth: Enable Atheros 0cf3:311e for firmware upload
mm: Fix NULL pointer dereference in madvise(MADV_WILLNEED) support
splice: Apply generic position and size checks to each write
jfs: fix readdir regression
serial: 8250_dw: Fix deadlock in LCR workaround
benet: Call dev_kfree_skby_any instead of kfree_skb.
ixgb: Call dev_kfree_skby_any instead of dev_kfree_skb.
tg3: Call dev_kfree_skby_any instead of dev_kfree_skb.
bnx2: Call dev_kfree_skby_any instead of dev_kfree_skb.
r8169: Call dev_kfree_skby_any instead of dev_kfree_skb.
8139too: Call dev_kfree_skby_any instead of dev_kfree_skb.
8139cp: Call dev_kfree_skby_any instead of kfree_skb.
tcp: tcp_make_synack() should clear skb->tstamp
tcp: fix FRTO undo on cumulative ACK of SACKed range
ipv6: Don't reduce hop limit for an interface
tcp: prevent fetching dst twice in early demux code
remove extra definitions of U32_MAX
conditionally define U32_MAX
Linux 3.10.75
pagemap: do not leak physical addresses to non-privileged userspace
console: Fix console name size mismatch
IB/mlx4: Saturate RoCE port PMA counters in case of overflow
kernel.h: define u8, s8, u32, etc. limits
net: llc: use correct size for sysctl timeout entries
net: rds: use correct size for max unacked packets and bytes
ipc: fix compat msgrcv with negative msgtyp
core, nfqueue, openvswitch: fix compilation warning
media: s5p-mfc: fix mmap support for 64bit arch
iscsi target: fix oops when adding reject pdu
ocfs2: _really_ sync the right range
be2iscsi: Fix kernel panic when device initialization fails
cifs: fix use-after-free bug in find_writable_file
usb: xhci: apply XHCI_AVOID_BEI quirk to all Intel xHCI controllers
cpuidle: ACPI: do not overwrite name and description of C0
dmaengine: omap-dma: Fix memory leak when terminating running transfer
iio: imu: Use iio_trigger_get for indio_dev->trig assignment
iio: inv_mpu6050: Clear timestamps fifo while resetting hardware fifo
Defer processing of REQ_PREEMPT requests for blocked devices
USB: ftdi_sio: Use jtag quirk for SNAP Connect E10
USB: ftdi_sio: Added custom PID for Synapse Wireless product
radeon: Do not directly dereference pointers to BIOS area.
writeback: fix possible underflow in write bandwidth calculation
writeback: add missing INITIAL_JIFFIES init in global_update_bandwidth()
mm/memory hotplug: postpone the reset of obsolete pgdat
nbd: fix possible memory leak
iwlwifi: dvm: run INIT firmware again upon .start()
IB/uverbs: Prevent integer overflow in ib_umem_get address arithmetic
IB/core: Avoid leakage from kernel to user space
tcp: Fix crash in TCP Fast Open
selinux: fix sel_write_enforce broken return value
ALSA: hda - Fix headphone pin config for Lifebook T731
ALSA: usb - Creative USB X-Fi Pro SB1095 volume knob support
ALSA: hda - Add one more node in the EAPD supporting candidate list
Linux 3.10.74
net: ethernet: pcnet32: Setup the SRAM and NOUFLO on Am79C97{3, 5}
powerpc/mpc85xx: Add ranges to etsec2 nodes
hfsplus: fix B-tree corruption after insertion at position 0
dm: hold suspend_lock while suspending device during device deletion
vt6655: RFbSetPower fix missing rate RATE_12M
perf: Fix irq_work 'tail' recursion
Revert "iwlwifi: mvm: fix failure path when power_update fails in add_interface"
mac80211: drop unencrypted frames in mesh fwding
mac80211: disable u-APSD queues by default
nl80211: ignore HT/VHT capabilities without QoS/WMM
tcm_qla2xxx: Fix incorrect use of __transport_register_session
tcm_fc: missing curly braces in ft_invl_hw_context()
ASoC: wm8955: Fix wrong value references for boolean kctl
ASoC: adav80x: Fix wrong value references for boolean kctl
ASoC: ak4641: Fix wrong value references for boolean kctl
ASoC: wm8904: Fix wrong value references for boolean kctl
ASoC: wm8903: Fix wrong value references for boolean kctl
ASoC: wm2000: Fix wrong value references for boolean kctl
ASoC: wm8731: Fix wrong value references for boolean kctl
ASoC: tas5086: Fix wrong value references for boolean kctl
ASoC: wm8960: Fix wrong value references for boolean kctl
ASoC: cs4271: Fix wrong value references for boolean kctl
ASoC: sgtl5000: remove useless register write clearing CHRGPUMP_POWERUP
Change-Id: Ib7976ee2c7224e39074157e28db4158db40b00db
Signed-off-by: Kaushal Kumar <kaushalk@codeaurora.org>
When IRAT is performed on modem, flow will be disabled
for more time. At this point if USB is disconnected, USB
producer pipe will not be empty as ep delay is set on IPA
consumer pipe and it results in kernel panic. Provide a
new API to remove ep delay on IPA consumer pipe towards USB.
Before disconnect USB uses this API to enable flow. Also
added optional DT param to check if apps flow control is
needed or not.
Change-Id: I815591feedda6b69f904bf1e7927afd0a3a3cb25
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Ravinder Konka <rkonka@codeaurora.org>
On some MSM revisions, both the DSI PLLs need to be enabled to
drive the MDP TG/DSI controller even for split DSI cases. This is due
to limitation at GCC level where the DSI PLL0 output cannot be used
to drive DSI1 byte/pixel clocks. Add a DT property to specify this
configuration and add change in DSI drivers to handle these cases.
DSI-1 PLL will be set as parent for DSI-1 byte/pixel RCG clocks in
such cases.
Change-Id: I2d4b1f179952922f5daf4f0c81be1242aa69951b
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
Clock changes for MSM8976 v1.1 supports new frequency table for SDCC clock
and PCLK1/BYTE1 clock.
Change-Id: If16533206511c64db4a7b7d5388e3a98f1a80677
Signed-off-by: Taniya Das <tdas@codeaurora.org>
The SW-FW workaround is needed on msm8976 1.0 hardware
but not on msm8976 1.1 as the hardware fix is available.
So disable the workaround on msm8976 1.1 hardware while
keeping it enabled for msm8976 1.0 hardware.
Change-Id: I1bc956591c8f363e512401f45d29913f5c2a0e32
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
The DT-binding for MMC_CAP2_FULL_PWR_CYCLE, is used to indicate whether
it is possible to perform a full power cycle of the card.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Git-commit: 823b9ed01bbcb01d5119f822142f8620cc897571
Git-repo: https://android.googlesource.com/kernel/common.git
Signed-off-by: Kaushal Kumar <kaushalk@codeaurora.org>
This node epxorts two values separated by space.
From left to right:
1. time spent in suspend/resume process
2. time spent sleep in suspend state
Change-Id: I2cb9a9408a5fd12166aaec11b935a0fd6a408c63
Git-commit: c2e60d7cefa8f573f318c0f17895da8e765f1532
Git-repo: https://android.googlesource.com/kernel/common.git
Signed-off-by: Kaushal Kumar <kaushalk@codeaurora.org>
Add a device specific mode to dm-verity for handling corrupted
blocks:
DM_VERITY_MODE_EIO is the default behavior, where reading a
corrupted block results in -EIO.
DM_VERITY_MODE_LOGGING only logs corrupted blocks, but does
not block the read.
DM_VERITY_MODE_RESTART calls kernel_restart when a corrupted
block is discovered.
Each mode sends a uevent to notify userspace of corruption and
allow further recovery actions.
Defaults to previous behavior, other modes can be enabled with
an optional parameter added to the verity table.
Change-Id: Ib72ae6ccb865594d28f3553bdcc5a40b1d7af390
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Git-commit: 062a6b5efee1a4e97fae2569517d35af9ed99148
Git-repo: https://android.googlesource.com/kernel/common.git
Signed-off-by: Kaushal Kumar <kaushalk@codeaurora.org>
Peak resident size of a process can be reset back to the process's
current rss value by writing "5" to /proc/pid/clear_refs. The driving
use-case for this would be getting the peak RSS value, which can be
retrieved from the VmHWM field in /proc/pid/status, per benchmark
iteration or test scenario.
Origin:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=695f055936938c674473ea071ca7359a863551e7
[akpm@linux-foundation.org: clarify behaviour in documentation]
Signed-off-by: Petr Cermak <petrcermak@chromium.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Primiano Tucci <primiano@chromium.org>
Cc: Petr Cermak <petrcermak@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Change-Id: I543a7640639d9916e813af875003fe3ee3a6bfe0
Git-commit: 740006ef285f77b02b016b9a21453e56db1915ed
Git-repo: https://android.googlesource.com/kernel/common.git
[kaushalk@codeaurora.org: Resolved trivial merge conflicts]
Signed-off-by: Kaushal Kumar <kaushalk@codeaurora.org>
iterate_dir(): new helper, replacing vfs_readdir().
struct dir_context: contains the readdir callback (and will get more stuff
in it), embedded into whatever data that callback wants to deal with;
eventually, we'll be passing it to ->readdir() replacement instead of
(data,filldir) pair.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Git-commit: c301a0e047e401d41b26db1009d08e088ae2365a
Git-repo: https://android.googlesource.com/kernel/common.git
Signed-off-by: Kaushal Kumar <kaushalk@codeaurora.org>
Add logic to enable/disable closed-loop CPR based on TSENS temperature.
Use the thermal sensor interface which allows monitoring TSENS
temperature thresholds and notifies when the configured threshold is hit.
Use the notification callbacks to disable/enable CPR and force open-loop
voltage.
CRs-Fixed: 903646
Change-Id: Id131f7570740dce4445ce1849ae0551d6207c737
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Reserved ports may have some special use cases which are not suitable
for use by general userspace applications. Currently, ports specified
in ip_local_reserved_ports will not be returned only in case of
automatic port assignment.
Add a boolean sysctl flag 'reserved_port_bind'. Default value is 1
which preserves the existing behavior. Setting the value to 0 will
prevent userspace applications from binding to these ports even when
they are explicitly requested.
BUG=20663075
Change-Id: Ib1071ca5bd437cd3c4f71b56147e4858f3b9ebec
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Signed-off-by: Mekala Natarajan <mekalan@codeaurora.org>
CPR aging sensors detect the performance degradation
resulting from silicon aging. The CPR de-aging algorithm
detects the aging degradation of the device by reading
aging sensor data and generating necessary voltage guard band
to maintain SoC performance. Limit the generated voltage
guard band to a pre-defined threshold.
Change-Id: Iea6123c1b42856bb123d3e1c79f60401882aa8ba
Signed-off-by: Ravindranath Thiyagarajan <rthiyaga@codeaurora.org>
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Revert the change to fix the HDCP provisioning failure.
This reverts commit e0e5f8cd5f
Change-Id: Idff038e467089d77dc68e0c15ad30fd5ebf1b4f6
Signed-off-by: Brahmaji K <bkomma@codeaurora.org>
Add logic to choose between multiple ACC override configurations
based on the override fuse. The scheme maps each possible override
fuse value to a override configuration.
Update 8952 and 8939 ACC DT configuration accordingly.
CRs-Fixed: 896763
Change-Id: Ia5cc395edab3d9fe34c94af5457462a677b59399
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
By default video hardware will run in 2D-2S mode
and it has few hardware limitations in below usecases
- Constant bitrate
- Byte mode slicing
- MB mdoe slicing with slice size greater than 4096
As a workaround, client will enable low latency mode
which in turn will set 1D-1S mode on video hardware
to avoid hardware limitations in above use cases, but
1D-1S mode requires more bus bandwidth when compared
to 2D-2S mode. So add new bus client which has increased
bus votes and select the new bus client when video client
enables low latency mode for proper functionality of
video usecases.
Change-Id: Ie24ea93d6847720df57b67d54f1c0e83d5dc5d8b
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
The msm_bus driver provides offers a means of managing performance
levels for the buses, fabrics and NoCs, which connect the peripherals
and processes within MSM chipsets.
This snapshot is taken to merge missing changes from msm-3.18 to msm-3.10
Change-Id: If6fff441265716632ee2b8d666cbbdaf5974a34e
Signed-off-by: Alok Chauhan <alokc@codeaurora.org>
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
If pericom chip is enabled using GPIO on bootup then keeping it
always enabled may increase rock bottom current of system by few
micro-amps. Provide an option to use to allow disabling the chip
during suspend if state is not-attached using DT or module param.
Command to enable this at runtime:
echo 1 > /sys/module/type_c_pericom/parameters/disable_on_suspend
Only side-effect of enabling suspend during LPM is that ID High->Low
transition (or host cable connection) won't be detected when device
is in suspend state. Cable detection will happen when system wakes-up.
Change-Id: I0526bc7b1e752e8490189fbb1ed17973e9c492fd
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
To support SPM pll management cpu ops are required to be added which needs
re-organization of the code.
SPM child node probe is required for the spm event management to be handled
for the SR2/HF PLL of C0/C1/CCI.
Also make the corresponding device tree changes for the clock name changes
which are added to accommodate the new clock code.
Change-Id: I08e7a7ff367c0ae8ae71f954f2c91858b1e9c386
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Driver currently assumes that ENB pin of Pericom chip
is connected to one of the GND pin of type-c receptacle.
Though this allows automatically enabling pericom chip
on plug insertion, but this is recommended by hardware
team due to side effects of leaving a receptacle pin
floating. In addition to this, as per pericom HPG, chip
is reset only on Power-On and when chip is disabled and
then enabled again using ENB pin then it must be reset
using i2c writes. This indirectly enforces the need
to have software control the ENB pin using GPIO.
Change-Id: Iea14f79fd7e7379a3f338922f497440fef0eee37
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
Use this property to determine if HVDCP3 is supported. HVDCP 3.0
is not supported at startup and needs to be enabled from
userspace. The charger is forced to 9V HVDCP 2.0 at all times
if HVDCP 3.0 is not enabled.
While at it remove the DT property 'qcom,enable-hvdcp-9v'.
Change-Id: I193bd959dd9cb5303f375d2720ec59914ef16032
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
The clk status register and vbif status based on xin-id
is used to check if pipes are idle. VBIF checks cannot be done
for cursor pipes as the same xin-id is shared between dsi, cursor0
and cursor1. Avoid vbif status check and fix clk status check for
cursor pipes.
Change-Id: I9e0a185beffd4e732c1b5dc61822cc94b3735a27
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
The lower bus speed mode to be used during clock scaling may
vary based on the target. Hence, add a new dtsi property to
define this bus speed mode.
Change-Id: If8e2d125b8246ca479f816a475940bb357138297
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
With the keymaster 1.0 support appsbl is loading the keymaster
during boot-up, because of this app_arch flag is not propagated
which results in send modified command failures. This patch adds
support to get the app_arch for keymaster app if KM is loaded by
appsbl.
Change-Id: Iff997db8c96591c9f5e3d6609cfcb424b922f34a
Signed-off-by: AnilKumar Chimata <anilc@codeaurora.org>
Voltage sensor regulators need to be notified when the corner of apc
rail changes. Voltage Sensor regulator needs to be disabled prior
to changing the apc corner and needs to be notified of the ceiling
and floor voltage before enabling it again.
Change-Id: I0156480f6bfaf10397578caded2c15a298f20f95
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Voltage Sensors are h/w blocks that monitor the voltage at particular
sites within the MSM.
They consist of a voltage controlled oscillator and use phase quantization
(frequency to digital) converter to report voltage. They need a known
frequency input to generate a code for the voltage observed.
The primary usecase is to set a bit in the status register when the
voltage crosses programmed minimum or maximum thresholds. This bit is
read by crash dump tool for debugging and analysis.
Change-Id: Ibe6e07776e9694422e64859c24951b91ddcdee46
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Some targets have a single irq line which is shared among all
the cci hwmon counters. Enhance the driver to support shared interrupt
handling.
Change-Id: I5fdaecfaa14fa47e8f393fe51c538e5000e6ad5b
Signed-off-by: Arun KS <arunks@codeaurora.org>
Signed-off-by: Hanumath Prasad <hpprasad@codeaurora.org>
Type-C defines new USB cables, connectors and plugs to allow
connecting USB cables without worrying about orientation. This
also allows detecting type-c enabled host/chargers enabling phone
to draw up to 3A current for charging.
Change-Id: Icdf913dcfdbd5c3d74c8bb3c7584be61e01d0056
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
Add information on which cluster low power mode causing reset of that
cluster level. This data will be used to send out pm notifications.
Change-Id: I4eb4f3cacb590bbc1110770d422dfbfe67bb338a
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
Add support to thermal driver to handle partial
goods.
In this case, it is possible that some physical
CPUs may not be brought online and it can be
decided runtime. This behavior changes the physical
CPU to logical CPU numbering dynamic.
Thermal driver should be capable to map the
temperature sensor with the correct logical CPU number.
This is achieved by creating different mitigation
profiles and associating each physical CPU to one
profile using device tree phandle. Thus thermal driver
identifies the thermal profile associated with the
logical CPU and then determines the mitigation
information. The mitigation profile has a phandle to the
temperature sensor and devicetree properties to
enable or disable various type of mitigation.
A single device can have multiple sensors mapped in
array of phandles or even multiple sensors mapping
to a single sensor.
Partial goods cpu feature will be enabled only if
'qcom,mitigation-profile-enable' DT node is defined
in msm_thermal node.
CRs-Fixed: 756322
Change-Id: If0196a9a3a03c117f67bae3591d1f5050d32b59b
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
On certains devices, some of the CPUs within the apps subsystem are not
functional and might be removed from the CPU possible map. To handle this
dynamic list of CPUs, sleep driver shouldn't make any assumptions with
regards to the logical mapping of the CPU.
Remove the assumption on how physical CPUs are mapped onto logical CPUs and
populate create a reference of sleep status driver in the corresponding
CPU phandles. When the sleep status driver is probed, it would probe
iterating the list of possble CPUs.
CRs-fixed: 756327
Change-Id: I3afe8c9afd26000ab08f0e0c2703f2ce9e15f374
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Signed-off-by: Srinivas Rao L <lsrao@codeaurora.org>
The logical ids of CPUs can be altered during boot up in the linux
bootloaders and the drivers cannot rely on logical CPUids hardcoded into
the device tree. Remove support "qcom,core-id" and "qcom,vctl-cpu-mask",
which were used for on targets where CPU phandles weren't available.
These targets are not longer supported with the existing code base and the
driver expects phandles to identify the CPU that is associated with a CPU.
In scenarios where the CPU phandle isn't associated with a physical CPU,
these devices are ignored and not probed.
CRs-fixed: 756327
Change-Id: I5fc06c04636ada085002135f92c629ab6b629644
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Add a new spm probe which will add an SPM child node. Also modify hf pll/sr
pll hooks to add the spm event while enabling/disabling HF/SR PLL.
Change-Id: I998aa2953aaf9408aa2175d1a83c85f517bf7953
Signed-off-by: Taniya Das <tdas@codeaurora.org>
The CLK_DIS_WAIT bits value may differ from the default value of 0x2.
Allow the value to be taken as input from device tree as parameter
'qcom,clk-dis-wait-val'.
Change-Id: I0a42eec47a563acf667fe6dad39fcd8314e4d590
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Codec specific metadata is sent only for first stream in gapless
playback. This causes incorrect configuration to be set for second
stream and distortions are observed due to framedrops in adsp.
Add support to send codec specific format during start of
next stream in gapless using set_next_track_param.
Change-Id: Ieec6b2afedec156e47873efcad9b3571160b0a29
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
Define an array to map the CPR corner to MEM ACC corner. This allows
finer ACC configuration for individual corners. This is an optional
mapping provided through the device node. If not specified, the
fuse-corners are mapped as acc corners.
Change-Id: I260d4a906e0b16bacc9e724dd910c0afbe97925c
Signed-off-by: Ravindranath Thiyagarajan <rthiyaga@codeaurora.org>
Remove the usage of mode select GPIO in the MDSS DSI drivers.
Instead make use of LCD mode select GPIO to take care of
configuration of DSC/non-DSC/video/command mode panel selection
in the DSI drivers.
Change-Id: If61df541d6190920e314cd2c352d82441f728f69
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
Add support to detect the damaged battery when the safety-timer expires
by using the coulomb count. This feature is applicable only for PMi8952
V2.0 FG and the future PMi chips.
CRs-Fixed: 866074
Change-Id: I36bbfac5cea741ab64c7ff2bdeb786d907c101f8
Signed-off-by: Chunmei Cai <ccai@codeaurora.org>
Whenever APSS is active, the cpu clocks would need to put an active vote
of 50MHz on peripheral NOC. This would in turn put a vote on GPLL0, which
would help in cases where APPS needs to be out of suspend and gpll0 is off
due to no other subsystem vote.
Also add a device tree property to indicate if this vote is required or
not.
Change-Id: I531480f13013cd89d3866851f8f3bf591f8dc41b
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Apply per pipe BW limit check based on HFlip/VFlip. Some
targets have different limits for BW based on usecase.
Signed-off-by: Anusha Koduru <kanusha@codeaurora.org>
Change-Id: Ie23dba396b47ffb3fb910e746e4a992fe6d78ab9
Disable POPP feature by default for all targets
and enable for a specific target by adding the
entry in its dtsi file.
Conflicts:
Documentation/devicetree/bindings/gpu/adreno.txt
Change-Id: I1c2ed1af9e94470ef734b75bb2af3e093517b35d
Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
Update missed properties in binding documents for msm8976.
Change-Id: I5d0514a13329ebd2060698a52760fe7ffb3c31b1
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Move duration property support to flash LED node. Moving this
property is to allow camera software get flash LED duration
information, to support flash bracketing for camera sensor.
Change-Id: Id76716a89601158157437ad95317f82d12ee26d8
Signed-off-by: Jigarkumar Kishorkumar Zala <j_zala@codeaurora.org>
Add sysfs entry for enabling and disabling PMIC die temperature
derate current feature. Improve functionality for exposing
max allowed current for flash LED, with PMIC die temperature
derate current.
Change-Id: I2b17c0ca1fa0d26e5d3efd23c9a318f1c9782df0
CRs-Fixed: 793990
Signed-off-by: Jigarkumar Kishorkumar Zala <j_zala@codeaurora.org>
Add support to reset/deset bit for FOLLOW_OTST2_RB when MASK3
module is enabled.
Change-Id: If14115e4cd007b117b131e5f239254a7049644d1
Signed-off-by: Jigarkumar Kishorkumar Zala <j_zala@codeaurora.org>
commit ea78b9511a54d0de026e04b5da86b30515072f31 upstream.
There was a mistake in the definition of the functions for MPP48 on
Marvell Armada XP. The second function is dev(clkout), and not tclk.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes: 463e270f76 ("pinctrl: mvebu: add pinctrl driver for Armada XP")
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 80b3d04feab5e69d51cb2375eb989a7165e43e3b upstream.
The latest version of the Armada XP datasheet no longer documents the
VDD cpu_pd functions, which might indicate they are not working and/or
not supported. This commit ensures the pinctrl driver matches the
datasheet.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes: 463e270f76 ("pinctrl: mvebu: add pinctrl driver for Armada XP")
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit bc99357f3690c11817756adfee0ece811a3db2e7 upstream.
After updating to a more recent version of the Armada XP datasheet, we
realized that some of the pins documented as having a NAND-related
functionality in fact did not have such functionality. This commit
updates the pinctrl driver accordingly.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes: 463e270f76 ("pinctrl: mvebu: add pinctrl driver for Armada XP")
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 438881dfddb9107ef0eb30b49368e91e092f0b3e upstream.
Due to a mistake, the CS0 and CS1 SPI0 functions were incorrectly
named "spi0-1" instead of just "spi0". This commit fixes that.
This DT binding change does not affect any of the in-tree users.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fixes: 5f597bb2be ("pinctrl: mvebu: add pinctrl driver for Armada 370")
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit ea6055c46eda1e19e02209814955e13f334bbe1b upstream.
Since commit 39a6ac11df ("spi/pl022: Devicetree support w/o platform data")
the 'num-cs' parameter cannot be passed through platform data when probing
with devicetree. Instead, it's a required devicetree property.
Fix the binding documentation so the property is properly specified.
Fixes: 39a6ac11df ("spi/pl022: Devicetree support w/o platform data")
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
On some systems, scm calls for cci registers are not supported.
Use normal writel/readl in those cases. Add device tree flag to
distinguish them.
Change-Id: Icfb609d43f888856786c1881b2ee34ffd501e37a
Signed-off-by: Arun KS <arunks@codeaurora.org>
ISPIF enables VFE clocks to perform a hardware reset.VFE clocks
needs VFE regulators to be enabled to turn on clocks.This change
enables the regulators before the clocks are enabled and disable
regulators after clocks are disabled .
Change-Id: I8a65f8238cfbdaac64184e697e3f7e2a5665d4e9
Signed-off-by: Sreesudhan Ramakrish Ramkumar <srramku@codeaurora.org>
Signed-off-by: Harsh Shah <harshs@codeaurora.org>
Signed-off-by: Alok Kediya <kediya@codeaurora.org>
Add support for the optional property qcom,hold-soc-while-full. When
this property is defined, the fuel gauge driver will report 100% SoC
whenever the battery is full.
CRs-Fixed: 864029
Change-Id: Ide23402f04e1ed71c4d8d9839522e4198b222e35
Signed-off-by: Xiaozhe Shi <xiaozhes@codeaurora.org>
CCI400 on MSM has additional PMU counters that can be used to monitor
cache requests. MSM CCI hardware monitor device configures these
registers to monitor cache and inform governor. It can also set an
IRQ when count exceeds a programmable limit.
Change-Id: I1d80f57749b91c3972e60e54c75226c4d49d2ec6
Signed-off-by: Junjie Wu <junjiew@codeaurora.org>
Add support for JEITA hysteresis and allow it to be configured
through "qcom,cold-hot-jeita-hysteresis" device tree property.
CRs-Fixed: 866616
Signed-off-by: Qiang Huang <qianghuang@codeaurora.org>
Change-Id: I902080978701a1853531496e4afdd85ecf972b0d
Add initial device tree support for APQ8056
based CDP and MTP platforms. This patch also
adds socinfo to identify the chip APQ8056.
Change-Id: I46a19712a317e5ea3065b975ad1152388d752816
Signed-off-by: Aparna Mallavarapu <aparnam@codeaurora.org>
SPM DT node supplies all the register information and expects
initialization value for all of them. With PSCI, most of the SPM
programming will be done in EL1 secure and only vctl programming will be
done from HLOS. Change the spm driver to allow write to only those
registers which has initialization values provided in DT.
Change-Id: I073c1c0487bfa98400e234e32f1cc27f20f3b79e
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Add support to terminate all low power modes in PSCI. The lpm-levels will
work with version 1.0 of PSCI specification using the OS initiated scheme.
The lpm-levels driver would determine the last man standing and vote into
TZ accordingly.
Change-Id: I7cbe2ded36ab320334dcf3f971fd6d4a36a881bf
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
MSMs support v1.0 version of the PSCI specification. Add support for the
same.
Change-Id: If80d0b7555bd63c711ac420cfcbe6bb0fad1e241
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Current design disables S2 reset if the reset configuration
parameters are not defined in DT. Add code change to disable
s2 reset only if the reset configuration is defined to disable
s2 reset.
Change-Id: I3addfaf44896decd5297048f19418d319ff60ad2
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
In the current implementation, the continuous splash screen flag
is set based on whether there is handoff pending in MDP or not.
With the dual DSI use-case now in place, there is possibility that
the primary panel has continuous splash enabled whereas the other
panel doesn't have the feature enabled. Add change to take care of
this by checking if a particular interface is enabled in MDP_INTF_SEL
register to set the cont. splash screen flag. Remove the DT entries
for continuous splash screen since it is no longer needed after this
change.
Change-Id: I4d617386c8f5d166de76b79a10680d024320a889
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
Parse dsi panel dt file to check if current DSI controller
is used for dsi2hdmi bridge. If the current panel is a dba
panel then no need to configure display specific gpios for
this.
Change-Id: I9bc0def2207980e72e395bfbb17ebea61a9a6b6b
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
The RCGwRC consists of 2 major modules
- Root clock Generator
- This is a legacy root clock generator module.
- Ramp Controller
- Swallows clock pulses based on LMHlite requirement.
- Perform clock ramp up/down operation during dfs operation.
- Hand shake with lmhlite hardware for new configuration.
This ramp controller driver allows programming the sequence ID for pulse
swallowing, enable sequence and for linking sequence IDs.
Change-Id: I92ead5f5aa8dee292f5ae3ce708c406c12910ecb
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Allocate the remote heap using dma allocation APIs inside
the kernel to ensure that XPU violations are not seen due
to speculative accesses.
Change-Id: Iede43f739e9917b8a08152bc3e101e93a4f2dafd
Acked-by: Himateja Reddy <hmreddy@qti.qualcomm.com>
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Enable the power supply, if defined, for adv7533 chip.
On 8976, explicit regulator for the adv7533 chip is
present and needs to be enabled prior to communicating
with the chip.
Change-Id: If775f1f406987ec9e6709f3a4d3934ed812c2172
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>