Update the PHY register dump for PCIe Endpoint mode so that more
debugging information could be acquired in case of PHY failure.
Change-Id: I6b40df668d8a5c912547af701e8a2150db47452f
Signed-off-by: Yan He <yanhe@codeaurora.org>
Other processors/execution environments may support debug events. Implement
an 'smc instruction' based communications protocol and hook it up to
debugfs.
Change-Id: I3a99dfdac5df7edb874bd449d9abc5a929787758
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Specify the MSM8996-Pro VDD_APCC CPR configurations. This
includes a new corner mapping for the additional CPU frequencies
found on MSM8996-Pro as well as the voltage adjustments
appropriate for all of the frequencies.
Change-Id: Ia09252bf10ed81812bc8511136d97ca885de21a7
Signed-off-by: David Collins <collinsd@codeaurora.org>
Specify an MSM8996-Pro specific APM device compatible string
for MSM8996-Pro boards. This allows software to avoid imposing
various constraints during APM switching which are not required
for MSM8996-Pro chips.
Change-Id: I0664374ca347c0f66d95422cc9bfa4efb1a151ee
Signed-off-by: David Collins <collinsd@codeaurora.org>
HMSS cluster clock source overriding is not required during APM
switching or VDD_APCC voltage changes on MSM8996pro chips.
Therefore, disable this feature for the APM and PM8994 S11
regulator device nodes.
Change-Id: I201373867a8f07742f6bf2794fa59fc1c4c34d74
Signed-off-by: David Collins <collinsd@codeaurora.org>
Use bit 5 in the CP_INIT_MASK to properly enable/disable
microcode workarounds.
Change-Id: I9f43c8c988c3179b3de2cce071339bc565b4a00d
Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
The snapshot mempool size takes into account the memory
required for section headers. It was being calculated based
on old header structure. Update that to avoid corruption/
buffer overflow of the mempool memory.
Change-Id: I07274934e4c0dced707e03be3e31b2459e00d706
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
There is a corrupted line displayed on top of the display in
some cases. It is introduced by insufficient charging time, so
fix it by revising panel's GIP setting.
Change-Id: Ic31f4a512b38a2f5e8c8419c1b72f0706cfc5ced
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
i2c doesn't support bulk read and write. Enable the single read and write
option in regmap configuration for audio codec to operate correctly in
i2c mode.
Change-Id: I8d27826fe634c660c848a2a8db78f8a31ba16ed0
Signed-off-by: Deven Patel <cdevenp@codeaurora.org>
Add port mixer routing support from aux_pcm_tx to quat_mi2s_rx.
Change-Id: I6c72ab41123de4f4ab3a37bd23c37c58d689e509
Signed-off-by: Derek Chen <chenche@codeaurora.org>
As audio DSP can be running in lpass or modem
based on chipset, add API to get the subsys state
from apr_v2(lpass) and apr_v3(modem) accordingly.
Change-Id: I7a2b6f12574edcc5f609ce8ddf684a840f86d676
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
As AFE clock version macros can be used
in other drivers, move them to header file.
Change-Id: Iae5717c181e81bf7a6161742e8d062d09bedfb78
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
While configuring the switching frequency for WLED, we need to set
the overwrite bit as well so that the switching frequency change
will get reflected.
Change-Id: I3e7f67b76ac49c1d925a8e84ea1280160ee044bd
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
Pop is observed during starting of the playback in CLS-AB mode.
Fix the pop issue by updating register sequence properly.
Change-Id: Iff17245e8a2b14354cc99150a57394ce81ec29b8
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
There are cases when multiple branch clocks need to be able to
scale their RCG independently. The RCG should then be configured
to run at the maximum rate of all it's children clocks which are
enabled at that point. Add support for this.
Change-Id: I90b7a9a3007792f65e0292d375e409ce1dbf0c08
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
On 32bit, memblock_alloc_range_nid can return block of
memory from highmem. Ensure kmemleak is called only for
logically mapped region.
Change-Id: I4491f199437d8401071ba5f98a8b0eedbaf47b00
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
When touchscreen is in sleep state, GPIOs are still in use.
Change touchscreen I2C pull bias in sleep state to remove
current leak.
Change-Id: I0112eb6944579c6b10861f19376cf8edccd73891
Signed-off-by: Alex Sarraf <asarraf@codeaurora.org>
Setting message masks with tools outside of the initial range
causes a reallocation of the structure with the wrong size.
This change updates the sizes to the correct values.
Change-Id: I8bb0d0b77cd4d2417b10345b6e4b09ff29ba5f8c
Signed-off-by: Christopher Lew <clew@codeaurora.org>
Few of the camera modules need to run ahb at higher
voltages like nominal and turbo. Hence add support
to query the voltage corner corresponding the core clocks
and vote for the corresponding ahb voltage.
Change-Id: I75a0ac84d32180f0bd5ce892f35515510e4e2e5f
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
Enable CP to process yield packets placed in the IB2s.
Change-Id: I2fadfb108a2dc42f574b3f6ed2e667baddb7889c
Signed-off-by: Jonathan Wicks <jwicks@codeaurora.org>
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>