Slimbus 4 carries V-sense and I-sense signal from speaker.
For VI sense recording, sb_4_tx_vi is added.
CRs-Fixed: 1087025
Change-Id: I49842df0af73a3124e734632dc3c314e6f5761a1
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Add initial device tree support for CDP, MTP and RCM
platforms of msmfalcon.
Change-Id: I2e4591c50fe3db61ed3a4364647579bf254d0edd
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
LCDB supports the LCD display +ve/-ve bias. Add the device
node for it.
While at it, disable the LCDB module for PM3FALCON and remove
the dummy bias regulator nodes from falcon interposer.
CRs-Fixed: 1074468
Change-Id: I0aa4736aa0f2d6c6fe3b2e0d19c41df80c0975fe
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
LCDB driver exoses regulators to control the positive and
negative voltage bias for the LCD display panel. It also
allows configurability for the various bias-voltage parameters.
CRs-Fixed: 1074468
Change-Id: Id3c0eccd95d5e510489ee74b3043082b7e473daa
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
QPNP LCDB regulator driver supports the LCD display
bias configuration. It exposes 2 regulators to control
the positive and negative voltage biases.
CRs-Fixed: 1074468
Change-Id: I069dc61ee4fc5d56aff2b836f06fa7246285e42a
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Add the power supplies to vote for max supported voltage on the
regulator for mdss dsi. Also add mdss dsi node for the msm8998
v2.1 interposer.
Change-Id: I84cae6e7816834dfce0839faa41903f2f871782d
Signed-off-by: Ashish Garg <ashigarg@codeaurora.org>
To support a higher GPU frequency on MSM8937 Pro target the CX rail
expects TURBO_HIGH voltage level. So while requesting regulator voltage
for CX rail request with max value set as INT_MAX.
Change-Id: I47eb863c4b384bb12e2ff21c44104847b0baa7ee
Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
Enable config IP_NF_MATCH_RPFILTER.
This option allows you to match packets whose replies would go out via
the interface the packet came in
Change-Id: I2a23346e726a8df8487aeb664d6316b3cf2b9d77
Signed-off-by: Ashwanth Goli <ashwanth@codeaurora.org>
From DSI HW version 103 onwards, for smart panels command and
data arbitration is possible in the h/w with the help of burst mode
feature in DSI controller. Hence removing the synchronization
mechanism which can cause performance issues.
CRs-Fixed: 1042240
Change-Id: I8eeb3508e2258318538e893069a2c74c068026fc
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
Triggering Crash Dumper might actually change the values of
few GPU registers including VBIF. Hence dump those registers
ahead and skip them from the list which goes to crash dumper.
Change-Id: I37a53983a65bd8abfefa780053819de71df7f24f
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
By default A5xx GPUs use CP crash dumper to get GPU
snapshot in case of any fault.
At times it is required to disable crash dumper
in case of any abnormalities, add support to do so.
Change-Id: Iea6497778bcd711e769f0e509103bd3bd0fd8574
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
When video driver queues the flush event, it doesn't convey the
port which is flushed. Due to this userspace content has to
handle the event according to the flush status variables that it
maintains. This handling can go wrong when there are concurrent
flush commands from client. Address this by adding port detail
to flush event.
Change-Id: Ie9b7e35ad396ba8eed20dcca1f655b3e23f6626c
Signed-off-by: Abdulla Anam <abdullahanam@codeaurora.org>
Power regulator pm2falcon_bob is used to supply micbias
to WCD codec. Add the supply in codec supplies list.
As external buck supply is from VPH_PWR, remove
entries of s4 rail.
Change-Id: I24791396fff9bf612985ff2073e2a74356570a35
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Reduce halt ack timeout to 25 ms from 100 ms to reduce delay in
mss shutdown path.
Change-Id: I935e35d5d848e564aad5987b1652546046f0927d
Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
Add a new RCG clock ops specific for the DP pixel clock source.
Change-Id: I2ec5ddcfd47af8362f76d76d153e30d4e2f45370
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Vote on the CX rail only if the gfx_ldo regulator
is enabled.
CRs-Fixed: 1078568
Change-Id: Ice3a527b9952c0fdee813d8ad152d4c1deea7ecd
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
A few gfx_ldo memory read/write calls use an invalid ldo
base address leading to other corruptions in the system.
Fix this by using the correct LDO base address.
CRs-Fixed: 1078353
Change-Id: I034d473e86b3fe7164d1c9ddad326c9dd77a188f
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Enable the configuration which keeps the CPR sensors active
when LDO is in auto-bypass mode. The sensors only stay
bypassed when LDO is regulating.
CRs-Fixed: 1027469
Change-Id: I6b8c2a3fd8fe22a64b6d24c458a7c60641195e45
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Add a DT property to adjust the open-loop voltage for the LDO
corners, this will be useful for voltage adjustments after
LDO characterization.
While at it, update the LDO MIN_VOLTAGE value for 8953.
CRs-Fixed: 1010052
Change-Id: I7479ebbf0ac7253eb355246d36f15a91ce96cd9a
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Change the LDO_EN bit definition for GFX LDO on MSM8953 and
remove the LDO bypass fusing logic as it is not supported.
While at it, add the debugfs node to disable ldo_mode.
Disable LDO mode: echo 1 > /d/msm_gfx_ldo/ldo_mode_disable
Enable LDO mode: echo 0 > /d/msm_gfx_ldo/ldo_mode_disable
CRs-Fixed: 989270
Change-Id: Ibc7aa921380e89da4963571408b89bc417dec245
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Remove all reference to internal code name msmtitanium
and replace them with msm8953, as there is an official
announcement for msm8953 SoC.
Change-Id: If99bbf20756a524c5a3bd7ba49366c29e158289e
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
Enable the PWMs mapped to the RGB module and specify
the lpg-lut-size.
While at it, enable the haptics and flash node.
Change-Id: I83cf7882d1abb96c343973894c2a7ab3f932dfb1
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Currently one gic interrupt is mapped to one mpm pin.
Support multiple mpm pins to get enabled with single irq
with client drivers using enable_irq_wake API.
Change-Id: Iea575079c24ed0986b74fb6e86c7b8100474f19e
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Add cpp src clock rates to device node configuration instead of
using the list rate api from clock driver.
CRs-Fixed: 1093630
Change-Id: If17c4ab996be31563a260ba3c326ee5e8f58e695
Signed-off-by: Krupal Divvela <kdivvela@codeaurora.org>
Compilation issues were observed on 32-bit as header files
were not present. Add support to resolve the issue.
Change-Id: I8071405a888cd2b23a068ca5b9c3a7808d13821a
CRs-fixed: 1089405
Signed-off-by: Amey Telawane <ameyt@codeaurora.org>
During the GDSC enable sequence, the GDS_HW_CTRL forces some
clocks to be on to trigger the handshake to unhalt the SMMU
and NOC. Once the handshake completes, the controller asserts
the PWR_ON status and disables the clocks.
If the clock driver tries enabling the SMMU ahb/axi clocks
immediately, there is a possibility that these clocks might
still not have gone through their disable sequence; especially
if the AXI/AHB rates are very low. If this happens, the clock
driver falsely assumes that the clocks are on and returns. Any
SMMU accesses/traffic at this point might lead to a failure since
the clock could turn off.
Change-Id: I544ca82e20e1c026d0ff1881c96edd33bf362b7d
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Include single/dual cmd/video mode simulator panel configs
for msm8998. Configure the backlight and power for the same
in the corresponding mtp/cdp configs, though it is not
necessary for simulator panels to avoid unnecessary warnings
related to backlight.
Change-Id: Ib043d4e152c04f2cbc723e6ce4daebe3f9083e7b
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Sensor temperature read function traverses the
sensor list every time without using any lock. If the
list is undergoing mutation when it is traversed, it may
result in memory violation. For example, the new element
could have added to the list before updating the
next pointer due to out of order execution. This could result
in either NULL pointer dereference or unassigned memory access
violation. Using a lock every time when temperature
is read may mutually exclude it from list mutation, but it impacts
the performance. Sensor addition is an infrequent operation
when compared to sensor temperature read. So adding a lock
to protect against this infrequent operation will add overhead
and deter performance. Use of list_for_each_entry_safe() function
for traversing, won't help. Because this function can help
only if the traversal loop removes the current element, that
is pointed by this iteration.
Use RCU when traversing and updating the list to avoid locks.
RCU ensures list traversal safe addition or deletion happens
and doesn't block the frequent read operation. Replace the
list_for_each_entry_safe() function with rcu safe list
traversal function list_for_each_entry_rcu(), wherever it is
applicable.
Change-Id: I4c05fefa6906ecad408dfd4407b60bc051366f8c
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
Fix the following in qpnp-power-on driver:
- Use GENMASK for bit mask
- Remove unused module parameter
- Use nested comments properly wherever applicable
- Fix conditional block formatting and typos
- Use const qualifier for of_device_id table
Change-Id: Ib9dd9be6cafad4c7aec1c88d9828ef1ebbe2a1c3
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
New requests coming after/in parallel to shutdown are being
returned with DID_ERROR, but this causes the request to be
requeued and retried. These requests are getting pulled by
the shutdown context since the PON request is inserted at
the head of the queue and the queue is run for processing.
The queuecommand in ufs driver allows requests in the context
of shutdown as PON has to be sent to the device, but this
retried regular request also ends up getting submitted after
PON which fails and causes issues in err handling.
Fix this by not relying on the context but looking for the
target lun of the request. Allow only requests directed
towards well known device lun (where PON will be sent) and
block all other requests. Also make sure we mark the
shutdown processing first before taking the write lock so
that we can appropriately fail the regular request.
Change-Id: Iaa442e8e92310ea0761c27af8fda57ffcadadb3d
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
The IOVA allocator used by these calls supports IOVA address
zero so properly handle IOVA address zero.
Change-Id: I012452d4cf3534dfb79e6deb15b7ff74f5e3bb40
Signed-off-by: Liam Mark <lmark@codeaurora.org>
This patch corrects rotator driver unload sequence to
release memory with proper deallocator and deallocate smmu
resource in reverse allocation order.
CRs-Fixed: 1096831
Change-Id: Ia067c6969d1f323e4b40f553a786b9af0c4aee47
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
The smb138x device has been duplicated across many board level files.
Refactor the smb138x device to a separate dtsi file so it can be
included in any board level files.
Change-Id: I9520595f2a40e197ad2227a8391bed79412b19f8
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>