On MSMCOBALT, the GPU GX GDSC enable status register must be
polled to see if the GPU (and top level CPR sensors) are powered
before attempting to perform a CPR aging measurement.
Specify the address of this register as well the bitmask and
expected enable state masked register value in the VDD_GFX CPR
device node.
Change-Id: I55d5fb0c799dfec73830e8e97dcff79cd045b29c
Signed-off-by: David Collins <collinsd@codeaurora.org>
Some platforms have a special register that must be checked in
order to verify that it is possible to perform a CPR aging
measurement. For example, on MSMCOBALT, the GPU head switch
power state must be checked to see if a graphics CPR aging
measurement can take place.
Add support for this kind of custom aging allowed register
verification via three device tree properties: the address of
the register, the mask to use on the register, and the expected
masked value to read if aging measurements are allowed.
Change-Id: I7bcb88002bdc0609e835bc9ce29c84d93684e445
Signed-off-by: David Collins <collinsd@codeaurora.org>
Change the CPR sensor used for graphics aging measurements on
MSMCOBALT from 17 to 29. Sensor 29 is in the top level of the
GPU so it is guaranteed to be usable for aging measurements
whenever the GPU is powered regardless of the GPU operating
state.
Also bypass CPR sensors 0 - 23 during graphics CPR aging
measurements so that the measurements will succeed even if the
hardware power state of these CPR sensors changes during a
given measurement.
Change-Id: I3c0dd344e0192a375f31fefea7ef6559fab0652d
CRs-Fixed: 1061372
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct the condition checked in the CPR aging error cleanup path
so that a return code of 0 (success) is not returned when the
aging measurement fails. Also, correct the order of the
arguments in the aging failure error message.
Change-Id: Ica925da95b5ab35f63bb0355470475733080a88c
CRs-Fixed: 1061372
Signed-off-by: David Collins <collinsd@codeaurora.org>
During power up operation check whether power up
failure is due to SSR or noise over slimbus.
If power up failure is due to SSR prevent retry
operation.
This change also do allocate DMA memory for slimbus
bulk trasactions. Memory should be DMA for slimbus
transactions as using non-DMA memory will end up
in creating bounce buffers and affect the performance.
Change-Id: Iaca520d92c4ee2d73f8e751699779e6cfc9ddb87
Signed-off-by: Dilip Kota <dkota@codeaurora.org>
Not all memebers of config_32 are set before they are used which
might lead to invalid values being passed and used. To fix this issue
initialize all member variables of struct config_32 to 0 before
assigning specific values individually.
CRs-Fixed: 1058826
Change-Id: Ifea3a6e8bf45481c65a4455ee64318304798fee2
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
1. Select COMMON_CLK_MSM for msmfalcon when building
for 32-bit.
2. Select RATIONAL when COMMON_CLK_MSM is selected as
it's using an api from rational library.
Change-Id: I5b8fa962718a5ae44dfd18a13285715580ee0dbc
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
'commit 34e4cf13f7 ("mmc: core: Update HS400 timing
mode before performing tuning")' updates timing mode
to HS400 before tuning in mmc_hs200_tuning.
On 4.4 kernel, there is check added to bail out from
execute_tuning if HS400 tuning is done in HS200 mode.
Adding check to avoid bailing out and allow
execute_tuning if POST_TUNING capability is set.
Change-Id: I259da28050e5da0c96251cb99176386927b596f0
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
1. Define SVHDR buffer queue management specific flags
2. Fetch engine state need not be checked during READ_DONE,
it is handled during buf_divert
3. Extend the framedrop logic to RDI path
Change-Id: Ie3ed9fd8a4d58d4664fa71b2d3da320fabc6a05b
Signed-off-by: Srikanth Uyyala <suyyala@codeaurora.org>
As per the new schematic the debug uart is on BLSP1UART1
instead of BLSP2UART1.
Change-Id: I08b3ffa1a027b3212b77fe661348f2852485ed0d
Signed-off-by: Venkatesh Yadav Abbarapu <vabbar@codeaurora.org>
Add support for audio over Display port.
Change-Id: I4e85351226b30b97d58ffcec76398fb8cbf9e730
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
Audio codec now supports audio both on HDMI and display port
interfaces. Rename audio codec and compatible string to be
generic.
Change-Id: I7c2ace6dedc0cad34fe0ab46c6290526972824a1
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
Add display port codec dai in external display codec driver to
enable audio over display port.
Change-Id: I9fce9622ff0580bca2414a8d6625774ae3f2d6c0
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
Add support in cpu dai, routing and native afe driver to enable
audio over display port.
Change-Id: I4cd5b738caab4d40c1c118d3111c3f4af740c84e
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
Update the DSI phy v3 initialization sequence as per the
recommended values. The key changes include changing the operating
mode from hybrid to full-rate only.
Change-Id: I999c6f2f76b8991172cd2f5c4b6c99e0ed5d186b
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
Current register default setting for MAD buffer interval is incorrect
and hence microphone activity detection is not functional. Update the
default value of the MAD buffer interval to 10msec.
CRs-Fixed: 1049012
Change-Id: I1dcdcb566f096bbddad286dc71c5bf980303e4c3
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
Add support for controlling the hw_ctl bit of the
gcc_aggre1_ufs_axi_clk CBCR.
Change-Id: I856f2c76c3149f3704c47e6f8b0019805a1a0cd4
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
Fix data RX data stall by adding missing work initialization in
gadget ether setup function
CRs-Fixed: 1059091
Change-Id: I334c1d17b7b63baeb7a36cc26e513b28b106002b
Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
CVD version is updated to 2.3 on ADSP. Update the mapping
table in voice driver to allow CVD version 2.3 to be
recognized and used.
Change-Id: Id6d1c960dc720e8013eb9ba1f07af7662b576e37
CRs-Fixed: 1060201
Signed-off-by: Siena Richard <sienar@codeaurora.org>
With the recovery changes, if modem is brought down without FW
ready but WLAN driver is registered then shutdown call back is
called. This causes stability issue.
Make sure not call the shutdown call back if driver is not
registered. Also listening for PD notifications are enough even
for Subsystem restart so changing the quirks to take care of it.
CRs-fixed: 1061734
Change-Id: Ic5d1a38dfb6ea3e255424af135e2afbe47d1fc18
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
LM provides data stream with some write gaps that are propagated
through VBIF to AXI. If write gap is big enough it hangs AXI/BMIC.
In order to ensure there are no gaps in the outgoing data transfer
to AXI interface, all write data must available before initiating
an access. Starting with SDE3xx, the outgoing burst data collection
function is implemented in VBIF module, and it is HW recommendation
to enable this for WB2.
Change-Id: I6f0495068dd6344f8cd161175947391e5998b8d4
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Update the initial VDD_GFX CPR step quotient values to match the
latest hardware recommendation.
Change-Id: Ibc5da9bb1e47e32acb0268a15cea79d48907b106
CRs-Fixed: 1054539
Signed-off-by: David Collins <collinsd@codeaurora.org>
Add sysfs node to provide the status of display-port's 3D
mode support. Framework will query about the interface for
3D mode status before enabling the corresponding
FrameBuffer.
Change-Id: If53a034c3c5ee39a95b2501ee495e572f60d6b56
Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
Fix fcc max and step values per HW specification.
CRs-Fixed: 1060633
Change-Id: Ie4ff10977840d8210482ad6f7bba4f0f0160aa03
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Currently the PMI stat pin is configured to output IRQ and SW
override status. Parallel charging requires the stat pin for
parallel enable status and under the control of HW, and hence
the change.
CRs-Fixed: 1060633
Change-Id: Ie93f874b90b5aed0a66e97186e4f1d69a1275c8b
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Wait till all pending acks are receivied for active set messages
before lpm driver choose to enter rpm assisted pc.
Change-Id: Ifefb9f3ae88d890e64e7e123e0fcedc00aea719c
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Add initial device trees for msmcobalt QRD VR1 board.
Change-Id: I94ebf6366b75daf9102a50eb86e757139e6d4231
Signed-off-by: Xiaogang Cui <xiaogang@codeaurora.org>
dummy_codec is not initialized before use, which
could cause kernel panic. Initialize dummy_codec before use.
Change-Id: Iedf7a3accbd14138ab7ed9e4e36a98fd7ca9a839
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Update wcd934x codec master clock configuration to
9.6MHz or 12.288MHz based on the device tree setting.
This is done during early codec initialization to prevent
artifacts when audio path is enabled.
CRs-fixed: 1061430
Change-Id: Ic983a524b6fa5bb079c6e61b8fe729974de78eea
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
Add sysfs under sys/kernel/ts_info to access touch vendor name,
model number, firmware version.
Change-Id: I531c7fa7db2b7140e5b9c7bb31831d221c734e3e
Signed-off-by: Mao Li <maol@codeaurora.org>
remove psensor support as the linux/sensors.h file is not yet merged
in msm-3.18 kernel.
Change-Id: I6d46b35938b7420072f9245ffa27bb59f28d5e03
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Sensor HAL takes long time to scan /dev/input to get information
from input subsystem. Change sensors sysfs hierarchy to avoid
the scanning to reduce sensor HAL initialization time.
Change-Id: Ifcd560dacdba2600f2ae5d40a5c3e639ea291274
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Do not need to call function to enter pocket mode if the touch
panel is already in pocket mode as well as no need to call function
to leave pocket mode if it is not in pocket mode.
Change-Id: Ic26376bebeba8e7f0dd37ef3bfbbed36c621604b
Signed-off-by: Mao Li <maol@codeaurora.org>
Change dev_debug to dev_dbg to fix compiling error
if CONFIG_TOUCHSCREEN_FT5X06_PSENSOR is enabled.
Change-Id: Ic228ac8b6dec0bc3e1aaff890dc5b1b7c024bdfc
Signed-off-by: Mao Li <maol@codeaurora.org>
Once the input device is successfully registered via
input_register_device(), it has to be unregistered via
input_unregister_device(); input_free_device()
should not be called in this case. input_unregister_device()
frees the input device, hence the call to input_free_device()
is a double free. This is also described in comments of
input_unregister_device().
Reorganize the code to avoid a double free.
Change-Id: I7abee3f1ad6c73e1c38aa64e627ffd73f6f9d3b2
Signed-off-by: Mao Li <maol@codeaurora.org>
Focaltech touch controller FT6436 support new feature Screen-off-Gesture.
It is able to turn on the screen by drawing gestures on the touch screen
when the screen is during off status. Enable the FT CTP driver to support
the screen off gesture recognization.
This patch is propagated from msm-3.18 kernel.
'commit 5cc0bff80d65 ("input: ft5x06_ts: add gesture feature support")'
Also cleared the following checkpatch warnings.
- Missing a blank line after declarations
- Missing a blank line after declarations
- Comparisons should place the constant on the right side of the test.
Change-Id: I77d111d3ef800b636a337221d7e605f746a113dd
Signed-off-by: Mao Li <maol@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Fixed below irq flag issues of Focaltech CTP:
Focaltech CTP firmware generates edge interrupt to MSM, but the
interrupt type in DTSI is level, which will cause CTP interrupt
cannot wake up MSM when system is in deep sleep. Fix this by
setting edge irq flag in DTSI.
For GPIO irq, the irq flag should be specified in "interrupts"
node. Msm_gpio module will only use the lower 8-bit of
"interrupts" node and discards the upper bits. If we specify
0x2002 in "interrupts" node, the upper bits(0x2000) is not used
by msm_gpio, only lower bits(0x2) is used, that means only
lower bits(0x2) should be set in "interrupts" node.
"focaltech,irq-gpio" node is used to specify gpio property,
rather than irq flag. Remove the irq flag setting in this node.
In driver code, specify only "IRQF_ONESHOT". The irq trigger type
is specified by DTSI "interrupts" node. See above.
Change-Id: I4cd8596fb4538b701317f01a6cafaa771041ffdd
Signed-off-by: Mao Li <maol@codeaurora.org>
Currently driver is enabling all the regulators in probe
even if usb cable is not connected which has power impact.
Hence enable regulators before the phy initialization sequence
and move regulator_set_voltage & enable/disable API for vdd supply
in msm_ssusb_qmp_ldo_enable() to handle all the regulators from one
place.
Change-Id: Ibc4cf8328c209dbf968b7d6c498e1462397be351
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Race condition observed during driver probe/remove and
suspend/resume because suspend/resume is not serialized
to work queue. Fix this problem by holding a wake lock
during wlan driver probe/remove to prevent system
suspend/resume.
CRs-Fixed: 1061279
Change-Id: Iad1c9abbdbaea21d4c55d64a6c120d3bcf0df1eb
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
Hardware characterization has shown that some parts require
higher voltage in order to operate reliably. Therefore, raise
the CPR ceiling voltages for the VDD_GFX CPR regulator in order
to allow higher open-loop voltages.
Change-Id: I8c4ceaa2703c15c1f590befb9397d47da9f9c1e9
CRs-Fixed: 1054539
Signed-off-by: David Collins <collinsd@codeaurora.org>
WCSS may take upto 400us to get out of retention. Fix the polling
logic to wait for more than 400us before proceeding with the
reset sequence.
Also do not send mode request to firmware during recovery.
CRs-fixed: 1060725
Change-Id: Id19518a12fe8a0acffd725b25dbcb0240bdbf446
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
When diag receives two link state notifications it tries to
open the glink channel which is already open. Add a check to
not open the channel if the channel is already open.
Change-Id: I5818d2731b53af37d796d421c5ae9a4b7fa52405
Signed-off-by: Sreelakshmi Gownipalli <sgownipa@codeaurora.org>
Create a virtual device inside of sysfs. Use the created
kobject to notify userspace of counter transitions.
Bug: 24140541
CRs-Fixed: 1008025
Change-Id: I06a02a3e6c70160083e17291cf08f1e9b375a26f
Signed-off-by: Bryse Flowers <bflowers@codeaurora.org>
Add runtime pm and suspend/resume callback support to serial msm
driver so that clock resources are managed runtime to save power.
CRs-Fixed: 1061290
Change-Id: If2004dcf19649f68cc8fbe0506799d3c700293ff
Signed-off-by: Pramod Gurav <gpramod@codeaurora.org>
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Efuse parameters are used to update qusb analog tuning values.
Change-Id: I4bc919ba7cf24d73cbc6cac392e00f81005bf64c
Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>