Aggregated interrupts that are configured to be masked should
not be reported in the interrupt handler. Thus, mask the status
value being read in the interrupt handler to filter them out.
Change-Id: I6b563955309795ac2b68c2527cbd763f9300a029
Signed-off-by: Tony Truong <truong@codeaurora.org>
Update the PCIe PHY clock scheme based on the
new settings.
Change-Id: I8c0049766e610bf5d7230fb1a8c531ba681db9c3
Signed-off-by: Tony Truong <truong@codeaurora.org>
Update the PCIe PHY DUMP sequence for mdmcalifornium based on
new settings while maintaining backward compatibility.
Change-Id: I8711709dee73d9552c911d10a71e2081d789a51b
Signed-off-by: Tony Truong <truong@codeaurora.org>
Voice driver doesn't create any sessions related to voice call
on modem and hence there is no clean up on APSS is required
when modem SSR is triggered. Cleanup the code in voice driver
which is executed during modem SSR.
CRs-Fixed: 955696
Change-Id: I7536162e49b0eb56f63e7c8e59e0c050123c05fe
Signed-off-by: Venkata Narendra Kumar Gutta <vgutta@codeaurora.org>
Enable CPR thread aggregation regardless of which threads are
enabled or disabled. Also, disable threads in hardware that
are not used.
Change-Id: I969cb4b49d42577eca9902b1a26c71d40443efea
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Update CCI settings for 100Khz, 400Khz and 1Mhz I2C
frequency with upgraded CCI frequency of 37.5 Mhz.
Disable clock stretching for 1Mhz I2C frequency and enable
for custom frequency.
Change-Id: Ib28eacc09028c0e2f3e36259f04b71fe0b827bf8
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
SPI bus driver did data swap to address big-little endian conversion.
However, recent change in bus driver removes this conversion to align
with hardware peripheral design. Therefore, touchscreen driver sets
SPI bits per word to 16 in order to achieve best data transfer
performance and remove this swap.
Change-Id: Id24417e5afe055315b4c173961509aa7d6806034
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
Currently IPC Router queues receive intents as soon as an intent request
is received. Queue a receive intent only if the current pool of
receive intents does not meet the request.
CRs-Fixed: 938394
Change-Id: I6c7a471bf0ed4a4e42f4c42126477de5ee4056a7
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
Increase slimbus clock gear for setting of Tx HPF(High pass filter)
cut off frequency properly. Change will ensure Tx HPF cut off
frequency will applied in the codec.
Change-Id: I7d7c3243c63cd3b9242a15344ecdae89ec9ee977
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Currently when entering touch-to-wakeup (TTW) mode, IBB module
is disabled as part of the regulator_disable sequence before
applying the settings needed for SWIRE control in TTW mode.
This causes adversary effects such as droop in the VDISN
voltage rail.
To avoid this, as per the hardware documentation, do not disable
IBB module through IBB_ENABLE_CTL when LABIBB regulators are
disabled and entering TTW mode. Instead, just enter TTW mode and
mark the regulators disabled. Normal mode settings will be
applied when the regulators are enabled again as before.
While at it, add a centralized function qpnp_ibb_mode() to write
to IBB_ENABLE_CTL register.
CRs-Fixed: 952847
Change-Id: I74c6ba411091d146ab5719c2d72d6385fa90af21
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Add sysfs node to query the total sleep time of a cpu since debugfs node
is not exposed to the userspace service.
Command:
cat /sys/module/lpm_stats/cpu0/total_sleep_time_secs
cat /sys/module/lpm_stats/cpu1/total_sleep_time_secs
cat /sys/module/lpm_stats/cpu2/total_sleep_time_secs
cat /sys/module/lpm_stats/cpu3/total_sleep_time_secs
CRs-fixed: 935207
Change-Id: I45be0a8be29932816aa42e097657a2a60933b986
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
In some MDP revisions, the layermixer which is
attached to writeback block, is dedicated. It cannot
be used for interfaces. Adding support to take care
of mixer allocations for WB and rotator paths,
for such MDP hardware.
Change-Id: I9df51cf419c1dae3d2ce10597017a05dca1023a8
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
Add MDSS version info along with other capabilities
for msmgold.
Change-Id: Ia4602fdaf29bad28dffab4bb08a43a6eb6f32178
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Add MDSS version info along with other capabilities
for msmtitanium.
Change-Id: If9544098e8bb7f4b0d8198a931e5a7ef8eb561d4
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Add addtional debug info to know the commit count
on pingpong timeout.
Change-Id: I1f40a5eee1a14efbf03487db9d398e04cd2e6f7c
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
On receiving hot plug power off event, switch off 5V
regulator in case cable is still connected to sink to
receive disconnect hardware interrupt. Do not issue
software based disconnect event in this case as it can
cause different modules to go out of sync resulting in
unstable system.
Change-Id: I19d82b62e8ad507458abd21a8a71fbcae8adefec
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
For MSM8909 28nm DSI phy is used and dsi-v2 support is not needed.
So disabling dsi-v2 compilation for MDP3.
Change-Id: I7410c434debf119ddad2f6dd8052aabf31c0db6a
Signed-off-by: Sachin Bhayare <sachin.bhayare@codeaurora.org>
It is possible that the ULPS entry request can potentially overlap with
the last DCS command that was sent out on the link. This is more likely
if the DCS command was sent in LP mode. In such cases, the panel could
see some issues in the LP transmission which may trigger an error when a
BTA is done subsequently. To address this, ensure that the lanes are
idle by checking that all active FIFOs are empty and the all active data
lanes are in stop state.
CRs-Fixed: 961817
Change-Id: Ia2575f06762f6bc847f64fb70e96a275712d9135
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
In the current implementation, ULPS entry/exit requests are placed
whenever DSI link clocks are disabled/enabled. However, certain
optimizations can be done avoid unnecessary transitions such as for
cases when clocks are turned off briefly prior to panel
initialization/uninitialization, and then turned right back on to send
the panel on/off commands. Add these optimizations and avoid ULPS
configuration for such cases.
CRs-Fixed: 961817
Change-Id: Ie6c666b91e86697c37e0a557f9ba47811392ae90
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
When HDMI is selected as the primary interface, we want to
retain the HDMI clock state after a successful handoff to ensure
that the interface continues to send data to the sink. We achieve
this by maintaining the HDMI PHY status when we detect that
handoff is in progress.
Change-Id: I0aaefc96d63b9eaf3928c11b5dab51cce99e1dc3
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Update the panel power state after the HDMI transmitter core is
powered on for all HDMI use cases (external and primary). This
will enable other entities (e.g. Audio driver) to query the correct
power state during boot up.
Change-Id: Ie6765880e9e9d9d6f087c1726d331ef2dd632cad
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
This reverts commit b591582c5b5bf2ddee5e3857629bd7f39b8bdffa
("msm: mdss: hdmi: tear down audio at bootup if already started").
The programming sequence to tear down audio (as implemented on
MSM8994 platform) included directly writing to LPASS registers.
However, on 8996, TZ does not allow access to LPASS registers
from the APPS side.
Change-Id: I19c6c0d5f5019ea78463a2d0fbdbddd92edf7ab0
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
During boot-up, if continuous splash screen is enabled, handoff
will populate the controller and other structures after reading
hardware info. If there is a resolution switch, clear the
handoff data so that the data can be reconfigured with new
resolution info.
Change-Id: Ia524136283711e95879936603bb53c5e8f263ea6
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Set the VCO rate properly during handoff. This VCO rate can be
used during suspend-resume to reconfigure the PLL.
Change-Id: Ib67d68f28aa5bd3a09bf7bcc5802ee3b7af342ee
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Initialize the splash enabled flag when HDMI is primary.
This is required during probe time so the HDMI driver can
add pin-control vote, enable regulators, enable GPIOs and
enable clocks.
Change-Id: Iaaf3d983512619bda753b12e3d80ee8efe32d810
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
HPD (Hot Plug Detect) can be powered on or off by down stream
device like MHL or slimport driver based on cable connection
triggered by user. In response to that, HDMI transmitter power
on and off is triggered in a different thread. There can be
a race condition with transmitter power on/off and HPD power
on and off with fast plug in/out. Protect these functionalities
using mutex to avoid such race conditions and keep the HDMI state
machine in valid state.
Change-Id: I7fa8de10b96ca3cf674a0b7cf83b0f96cc177509
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Add atraces tag to track atomic commit. This would be helpful
in analysing systraces to isolate any delays during validate
and commit cycle.
CRs-fixed: 930504
Change-Id: I204e620283926b03f3e956731145b99d81b29e6d
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Fix writeback to use 2 LM for resolution width more than 2048.
And update the pinfo and var data structures when the writeback
output resolution is changed.
CRs-fixed: 930504
Change-Id: Id096511a26845a962c30c6ebf2102ffcb0c18a5f
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
In the current implementation, the existing feature flag to send DCS
commands only by the left controller is parsed only for command mode
panels. Extend this support to include video mode panels as well.
Change-Id: I32c5d96b514a8c4cb90fd320d589fe4252e92133
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
The ctl_stop and vsync_handler both can run in two different
threads. That can lead to race condition in vsync handler.
-> Core 0: vsync handler thread checks the ctl power status
and get preempted by other priority task.
-> Core 1: processes the ctl_stop and power off the display
device.
-> Core 0: Vsync handler task gets chance to run again and
tries to access the ctl->op members.
The third step leads to invalid structure member access because
display is already powered off. This race condition should be
fixed by moving all power state checks inside mutex lock.
Change-Id: I452c9026074acda2d00954e530fc491d395f106b
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
There is a race condition between ESD thread and commit thread
which causes false ESD detections. This change prevents the
condition.
Change-Id: I67a480f7251348fc86be01fe8d5414857f53bc75
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Remove obsolete dsi fifo error status check based on
CMD_MDP_FIFO_UNDERFLOW and check the correct status from
DLNx_HS_FIFO_UNDERFLOW bits in dsi fifo status register.
CRs-Fixed: 961817
Change-Id: I3664e51ffa0fc729e949d85c3d543ec338444a9d
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
In the current implementation adv regulator get is called
from DBA driver but regulator enable or disable is never getting
called. So because of this there is power leakage in the
HDMI path. This change fixes the issue by properly configuring
the adv regulator in DBA driver.
CRs-fixed: 965732
Change-Id: If73d48fc1b34811e8b7ec4fbce91f43b5bb9285d
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
var->transp.offset is 0 for xRGB format, but currently
code allows only 24, which results in check var failure.
Add this to allow 0 also as transp offset value for xRGB.
CRs-Fixed: 969012
Change-Id: Ie52d9363e4e94bf1e3d1cecb5f391687383042b7
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
When panel read command API fails, propagate the error up so that
the caller can take any necessary actions.
CRs-Fixed: 960973
Change-Id: I397f4d47c6343abbab12833a47b753dc3bdb98f0
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
Enable DDC power module and corresponding GPIOs before EDID read,
write, HDCP authentication and SCDC communication with sink to
avoid any DDC read or write failures.
Change-Id: Ia88c616d7a6149c3be190b5fbab22444448aea5d
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Fix pixel clock value overflow when reading from the
dtsi. This fixes the frame rate calculations for 120 fps
panels; wrong frame rates were leading to low bandwidth
and mdp clock calculations, increasing the transfer
times and reducing the fps.
Change-Id: Ia41aae433f89e8970318224562b00cf0cb56767b
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Remove dead code of sysfs node implementations which are not being
used to avoid any possible compliance issues related to sysfs nodes.
Change-Id: Ida43cbd04c7b8ec6ad79e9a4c66a7725920ba116
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Fix HPD (hot plug detect) state with respect to rest of the system
in different use cases like cable connect/disconnect, runtime
suspend/resume, PM suspend/resume, framework stop/start and sysfs
node hpd enable/disable. Set the switch nodes to correct states
in above cases. Protect event handler, sysfs node handler, ISR
work with mutex as there can be race condition between PM events,
framework events and hardware interrupts.
Change-Id: I223602753985d7022a3394fc5f5821e6e36ab2cd
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
MDSS hardware capability node turns on clock and
check the hw revision every time client calls the
read operation. This is not required because MDSS
driver reads the revision information during MDP
driver probe.
Change-Id: I2db424f7aa1af5c5b006023f70516c2d83fe5372
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
In current implementation we are ignoring check revision
failure for ADV7533 probe which might be because the chip
itself is not connected to platform. Due to this we are not
disabling the power supply even though chip is not connected
and going ahead causing power leakage. This change fixes the
same.
Change-Id: I2181aba5978a4364d741a96f659771204fe5a2ee
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Currently, MDP and VBIF settings are not getting programmed
after resuming from suspend due to which it gets reset to
default settings. Fix this to ensure these settings are
programmed after resume.
Change-Id: Ice00d2eaac7adde9583c9a89e8b794e3e889361d
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
The DSI clocks need to sourced out of the correct DSI PLL depending
on the h/w configuration. The current assumption is that the
clk_set_parent operation on DSI branch clocks is necessary for
targets which support 2 DSI PLLs. However, there is a possibility
that the DSI clock source needs to be set even for single DSI
targets if the clock driver implements multi-parent based
approach for DSI RCG clock structures. Add change to take care
of this.
Change-Id: Ib399a8264d0d9919701c70ed6a77d50a69ec386c
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
Do not toggle the HPD circuitry during HDCP re-authentication as
this has undesirable side effects such as failure to detect cable
disconnection event. The HDCP engine already has a dedicated
software interface used to reset during HDCP re-authentication.
Change-Id: I76be51ea286fadabefc436613b420c4d6ac1946a
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Avoid clock off from delayed off when kickoff
is pending. This sequence is leading to mdp
clocks off and on which adds extra delay in
kickoff cycle.
Change-Id: Ia30ec3ac3c2e7602a32c9eb789cd85d4736b6c60
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
There can be race condition possible between Early touch
event thread and kickoff thread. For ex:
-> Eary touch event: Turns on clock and schedule the off
after 4 vsync cycle.
-> Kickoff thread: Leaves the clock on
-> Second touch event: Reschedule the clock off workque
The second touch event call scheduling the clock off
after 4 vsync cycle. On loaded system, kickoff thread
might get intruppted and get chance to rerun after
4 vysnc cycle. The clocks will be turned off for such
use cases before PP done ISR.
Change-Id: I85923146645379be1e3ccc578fc795306cd987ad
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Fix possible overflow while copying config id
in DSI driver.
Change-Id: I0432ddc43c62f5b25a8197f2fc06ea45e4c2738a
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
During early wake up notification, add the request
to update the fps to the default value, so we can
avoid this latency during the first frame update
after Idle.
Change-Id: I796a6ecba19f451e0f5e202c29e4de0d62a8cd5a
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Add support for FPC without psci for cpus in DT. This mode helps reduce the
latency associated with entering Fast Power collapse by not incurring the
latency of terminating in the PSCI driver in Secure EL1.
Change-Id: I1209b62d45d10b74bd36756c4ddefa137fb571a5
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>