This change adds some routing missing plus few other fixes needed
when MI2S interfaces are used.
CRs-fixed: 909961
Change-Id: Ic1e234c955a6162d67fd97ac7647ec810ede204c
Signed-off-by: Roberto Granados Dorado <robertog@codeaurora.org>
POWER_SUPPLY_TYPE_USB_DCP type is returned in read_usb_type() if no
charger is connected, which might cause APSD to unnecessarily rerun.
To fix it, POWER_SUPPLY_TYPE_UNKNOWN should be returned instead.
A bug is also fixed by returning right after IDEV_STS register
read error in this function .
CRs-fixed: 963745
Change-Id: Ia399e05fe8d0ad13c2f1f272c6737e8798177174
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Use proper size for dma memory free call API while saving lmh sensors
list in lmh hardware driver otherwise it leads to memory leak or
unexpected crash if scm_call error path is executed.
CRs-Fixed: 982320
Change-Id: I31ac79585c8899b44ece745676d9af79fe8bca78
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
For kernel clients, some of the flags are maintained which is not required
as those are specific to userspace clients. So remove the code which is
not required.
Change-Id: If7fb51cc17e9a8c0f3c2632e9c42d84489bda4f6
Signed-off-by: Mallikarjuna Reddy Amireddy <mamire@codeaurora.org>
A small fraction of MSM8996v3 parts with CPR revision 0 to 5 may
not operate properly at very low VDD_APCC voltages. Therefore
increase the VDD_APCC CPR floor voltage for these parts to 625 mV
in order to guarantee stable operation.
Also change the maximum CPR floor to ceiling voltage range from
80 mV to 50 mV for all MinSVS and LowSVS corners in order to
ensure stable operation.
Change-Id: I71c32aac8ef7d54dfcf48098aaf5d5909762df15
CRs-Fixed: 981898
Signed-off-by: David Collins <collinsd@codeaurora.org>
Add the qcom,pwm-sel and qcom,enable-gp-driver properties to
the MISC device driver to enable configuring the PWM source.
Currently this will be supported only for pmdcalifornium.
CRs-Fixed: 972331
Change-Id: I320edac22b20d748a531a41eaff06162092cfd3d
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Add documentation for KGSL_CMDBATCH_PROFILING_KTIME to make it
clear that KGSL_CMDBATCH_PROFILING must also be set.
CRs-Fixed: 977455
Change-Id: I44f9dbc006450fbe226b642ee66b8d49dd1108cc
Signed-off-by: Jonathan Wicks <jwicks@codeaurora.org>
As part of dynamic refresh sequence, we program PLL_UPPER_ADDR2 register to
0x003FFE00 instead of 0x001FFE00. This causes a register write to
DSIPHY_PLL_KVCO_COUNT1 to 0x1 during the dynamic refresh operation whereas
the register write is supposed to happen for DSIPHY_CMN_PLL_CNTRL register.
Update the write value to DYNAMIC_REFRESH_PLL_UPPER_ADDR2 to take care
of this.
Change-Id: I991920d5a45e79670a4a033c8a83bef6c7f3136b
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
Due to chipset max capabilities considered in buffer population,
secure scenarios are failing due to limited CMA size.
Remove read-only flags for profile and level clusters to allow
omx component set.
CRs-Fixed: 973470
Change-Id: I28c8318bd356ebb01258c1ec946215a838f81827
Signed-off-by: Srinu Gorle <sgorle@codeaurora.org>
This change adds support to read HPD state from sysfs node,
which will be helpful in automated test cases where multiple
HPD operations are performed on HDMI TV.
Change-Id: I39d19447c01d11a54a8e54c661b2dd177310c205
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
In simulator panel SW-TE approach, we rely on the sync config
height, init, start_pos and read ptr TE parameters. Set start_pos,
init and read ptr with respect to panel yres, as it is done in
the default settings when it is used with an actual panel.
Setting these parameters with respect to 0 causes fps drops.
Change-Id: I9acf4d1558767e7789a5e37dc2444f947d11eb21
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Add rmts shared memory node for msmcobalt to support EFS
on the modem.
CRs-Fixed: 980874
Change-Id: Ic869dd739f7efd880d574bcc1f730d9d04d9c456
Signed-off-by: Nikhilesh Reddy <reddyn@codeaurora.org>
This patch checks for Null Pointer dereference before destroying the
diag mempools.
CRs-Fixed: 980428
Change-Id: I0e8fc8aa82ad26263bd9d47cbdd22de212efe489
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
The memory color values for the left and right hold of foliage were
incorrectly returning the values for sky. This change fixes the foliage
hold values that will be returned during read.
CRs-Fixed: 968059
Change-Id: Ib5c2ae9b8fbe8817d730104ace88f20f04b59d17
Signed-off-by: Benet Clark <benetc@codeaurora.org>
This change add a sysfs node to enable the misr crc generation
in batch mode. Once this is enabled, driver will collect the
crc numbers during each of the interfaces interrupt,
vsync interrupt for video mode panels and ping pong done
for cmd mode panels.
To enable/disable the crc generation, respectively:
echo 1 > /sys/class/graphics/fb0/msm_misr_en
echo 0 > /sys/class/graphics/fb0/msm_misr_en
To collect the last crc generated:
cat /sys/class/graphics/fb0/msm_misr_en
To enable the ftrace to collect the crc for all frames:
echo 1 > <debugfs>/tracing/events/mdss/mdp_misr_crc/enable
CRs-Fixed: 964076
Change-Id: I47fb47b772aef097bc9af3b58a6c79565bcdc872
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Set the correct offsets of the MISR for command mode
interfaces in 8996.
CRs-Fixed: 964076
Change-Id: I90c7fa1ff144ae547cc0537421211a73051f1036
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Cannot switch from memory device logging to USB Mode after
the first switch because the first MD state is stored.
This fix resets the MD state by closing the session when
switching to USB Mode from MD mode.
Change-Id: I9addf0c7d8f1c058485349e196c1dcaa54b92f3a
CRs-Fixed: 972027
Signed-off-by: Chris Lew <clew@codeaurora.org>
Correct the size of the register block.
CRs-Fixed: 980025
Change-Id: I6a672bf4f46f6ba453e4382c41cefd1630c0ac1e
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Increase the scm retry timeout to 2 seconds and add a warning
message if the call takes longer than 1 second.
CRs-Fixed: 975433
Change-Id: I7719df41e491c9a8c80b8547de14bc8c71bf7c8d
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Initialize tdm group reference count on tdm group q6 probe
instead of tdm per dai probe to avoid duplicated init calls.
CRs-fixed: 975767
Change-Id: I88bc791fc2bfbb60f1cf6b2faeb6de0c865539c0
Signed-off-by: Derek Chen <chenche@codeaurora.org>
Add mixer controls to adjust wcd9335 codec lineout PA
volume adjustment. This gives flexibility for user
to modify volume based on use-case.
CRs-fixed: 969512
Change-Id: I562f17363d7d38caece358a50d1e3f654d87491f
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
Initialize PMCOBALT regulators SMPS 7 and LDO 5 to use HW_EN0 pin
control to force high power mode. Whenever HW_EN0 is driven high these
regulators will be forced into high power mode.
HW_EN0 is driven high whenever WLAN is transmitting or receiving, thereby
reducing power when it is not active.
Initialize PMCOBALT regulators SMPS 3 and SMPS 5 to use HW_EN2 pin
control to force high power mode. Whenever HW_EN2 is driven high these
regulators will be forced into high power mode.
Add pin control regulator devices for PMCOBALT regulators LDO 7, LDO
17, and LDO 25. When any of these pin control regulators are enabled by
software their output will be physically enabled whenever HW_EN2 is driven
high. When disabled HW_EN2 is ignored.
HW_EN2 is driven high whenever BT is transmitting or receiving, thereby
reducing power when it is not active.
CRs-Fixed: 971169
Change-Id: I819299fefde72400a18fb8503aedd1a1f32bfe7b
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
ARB occurs upon DCP removal due to bit INPUT_MISSING_POLLER_EN_BIT
cleared in kernel charger driver. Enable input missing poller bit
to avoid ARB.
CRs-Fixed: 965458
Change-Id: I3597327d8607b61582d124318e06da701758e34b
Signed-off-by: Harry Yang <harryy@codeaurora.org>
RCO calibration codec registers are read only and they can
be modified at any time during codec operation. Mark them as
volatile so that reads to these registers always happen from
hardware instead of cache.
CRs-Fixed: 974785
Change-Id: I1fb66ca19d0889aa7e21f433f8722af7b527705c
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
Expose pingpong split info to userspace via sysfs. This info
can be used to do ROI alignment for Partial update use cases.
Change-Id: Ifb165944b1725f4299e34068b67926785def032c
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
PGC block of mdss supports 8/10 bit rounding options.
Default setting is 10 bit, userspace module can enable 8 bit rounding by
updating the flag.
Change-Id: Ide66c3854e333a0a1ce48b15d82760f37a05cc10
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
solid fill pipe b/w vote is not reset properly. This causes
a mismatch wrt the bw calculation in sdm and results in a bw
validation check failure.
Change-Id: Ie4f36c376efe3eb405cf4aca6f2ed79ee9849950
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
The retire timeline counter in command mode is used
by vsync worker queue, validate/commit ioctl thread
and overlay off. However, this counter is not protected
with any locking mechanism and each thread updates the
value. Race condition with updated value between two
thread can lead to invalid vsync operation or list
corruption. This change protects the counter with
mutex lock to avoid all such race conditions.
Change-Id: Ib3c3f6c839fc82c6d31fa28066df1f23dab19746
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Add support to configure mode_option, framebuffer size and bpp
from kernel command line.
Change-Id: I2f08ed3851db4008569f1c77a195e46931674919
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
diagfwd_socket.c is using few IPC router APIs. diagfwd_socket.c is
showing compilation error due to CONFIG_IPC_ROUTER is not enabled. Fix
this issue by adding missing APIs as part of !ifdef CONFIG_IPC_ROUTER.
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
compilation error seen with redefinition of usb_bam_alloc_fifos
and usb_bam_free_fifos APIs. Fix this issue by adding proper
check, removing usb_bam.h as part of f_qdss.h and fixing makefile.
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This change fixes USB and related different PHYs base address,
and interrupt. It also adds USB DBM and USB BAM related device
node and required resources for USB QDSS BAM functionality.
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
There is a deadlock scenario due to the circular dependency of CPU's
rq->lock and kswapd's waitqueue lock.
(1) when kswapd is woken up, try_to_wake_up() is called with it's
waitqueue lock held. It's previous CPU is offline, so it is woken
up on a different CPU. We try to acquire the offline CPU's rq->lock
in either cpufreq change callback or fixup_busy_time()
(2) At the same time, the offline CPU is coming online and init_idle()
is called from __cpu_up(). init_idle() calls __sched_fork() with
rq->lock held. A debug object allocation in hrtimer_init() called
from __sched_fork() is trying to wakeup the kswapd and attempts to
take the waitqueue lock held in the (1) path.
Task specific initialization is done in __sched_fork() and rq->lock
is not held when it is called for other tasks. The same holds true for
the idle task as well. __sched_fork() for the idle task is called only
when the CPU is not active.
Acquire the rq->lock after calling __sched_fork() in init_idle()
to fix this deadlock.
CRs-Fixed: 965873
Change-Id: Ib8a265835c29861dba571c9b2a6b7e75b5cb43ee
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
[satyap: trivial merge conflicts resolution and omitted changes for QHMP]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Enable configurations needed for the operation of data specific
features such as IPv4 and IPv6 tethering and packet filtering
using QoS. Enable ESP match target in iptables to provide the ability
to match packets based on the SPI (Security Parameters Index) value
in the ESP (Encapsulating Security Payload) header. Enable the
rmnet_data driver for MAP functionality.
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
This snapshot is taken as of msm-3.18 commit
d580948 (Merge "msm: ipa: fix race condition when teardown pipe")
Signed-off-by: Sungjun Park <sjpark@codeaurora.org>
IPC_LOGGING allows the debug logging for IPC Drivers and
QPNP_SMBCHARGER depends on EXTCON.
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Keep NR_CPUSs restricted to 16 compared to 64, since
some of the schedular tracer code has compile time
checks for NR_CPUS > 32.
Other options update in this defconfig is based on the
auto-update.
Change-Id: I91e28714e3ee79a06eb5994ad8fc14f0b58a1e43
Signed-off-by: Trilok Soni <tsoni@codeaurora.org>
It is found thats UFS device may take longer than 100ms to respond to
query requests and in this case we might run into following scenario:
1. UFS host SW sends a query request to UFS device to read an attribute
value. SW uses tag #31 for this purpose.
2. UFS host SW waits for 100ms to get the query response (and doorbell
to be cleared by UFS host HW).
3. UFS device doesn't respond back within 100ms hence UFS host SW times
out waiting for the query response.
4. UFS host SW clears the tag#31 from UTRLCLR register.
5. UFS host SW waits until UFS host HW to clear tag#31 from the doorbell
register.
6. UFS host SW retries the same query request on same tag#31 (sends a query
request to device to read an attribute value).
7. UFS host HW gets the query response from the device but this was
intended as a query response for the 1st query request sent (step-1).
8. Now UFS device sends another query response to host (for query request
sent @step-6).
Now there are 2 issues that could happen with above scenario:
1. UFS device should have actually responded back with only one query
response but it is found that device may respond back with 2 query
responses.
2. If UFS device responds back with 2 resposes on same tag, host HW/SW
behaviour isn't predictable.
To avoid running into above scenario, we would basically allow device
to take longer (upto 1.5 seconds) for query response.
CRs-Fixed: 966573
Change-Id: I9885cac614eff011b617064edcd31d0e8daddd45
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Add snapshot for Video driver source for MSM targets. The code is
migrated from msm-3.18 kernel at the below commit level -
d5809484bb1bf5864dad2f081b0145224762963a.
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
This change adds required QMP PHY related initialization from devicetree
instead of using getting revision based sequence from QMP PHY driver.
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This change removes unused devicetree property with QMP PHY
as now all QMP PHY related initialization information needs to
be provided through devicetree.
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This change updates USB QMP PHY related registers' offset from
devicetree for MSM8996 and cobalt platforms.
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This change removes QMP PHY revision based phy_reg_offset from
QMP PHY driver. It makes mandatory to have required QMP PHY
related register offset through devicetree. It also removes
different revision ID related register offset usage and
requirement.
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This change adds missing terminate entry with QMP PHY init sequence
which is required to know end of programming sequence.
Signed-off-by: Mayank Rana <mrana@codeaurora.org>