With commit a3a3c169dd ("icnss: Prevent power collapse during
driver probe/remove"), NULL pointer dereference happens in probe
because of recent changes in the function. Fix the issue by using
right pointer.
CRs-Fixed: 1061279
Change-Id: I464579953fabe1bd42ced50f0bbfdfd3cda0a492
Signed-off-by: Prashanth Bhatta <bhattap@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>
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>
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>
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>
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>
Tune1 HSTX_TRIM parameter varies from part to part and needs to
be programmed using fused values. Update the code to read
the efuse register and update tune1 parameter. On previous
platforms this used to be tune2.
Change-Id: I7a2efa3c2409ba5dbb1ae9581738518b9457a971
Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
Update the sequence to include tune1 and tune2 parameters. While
at it update the comments to include register names.
Change-Id: Ib8ff42a6e05c0065b19e977eb56f6b96a78fcf39
Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
Update the tcsr_clamp_dig_n signal and phy init sequence
to reduce the random leakage from qusb2 phy. Random leakage
can result from turning on/off analog power rails
before/after digital power rails.
Change-Id: Id51a2d34f61c0a41891551d15b706872abf13809
Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
Analog and digital power rails connected to the phy can be turned
on/off in any order. This may result in random leakage in the phy
as it expects certain power rails to be on/off in certain order.
Avoid random leakage on qusb2 phy by
1. Disable pll when phy is suspended/disconnected.
2. Reset and assert clamp dig_n signal to put dp/dm lines in high
impedance state.
Change-Id: I1bafa7f824af8bbb3f67a71b81bf23b0a9c7164e
Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
xdci release function is called during xdci connect
failure cleanup. A bug passing the tethering protocol
to the function instead of the tethering type caused
it to fail and cease the cleanup operations.
Change-Id: I6337f93c13678c9256dfd46825f9a317cdaa0a1b
CRs-fixed: 1057013
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
Currently the timeout period of IPA resource add dependency
is HZ jiffies (1 second). We have seen situations
where this timeout period is too small especially on heavy
loaded system with debug log enabled.
Enlarge the period to 5 HZ jiffies.
Change-Id: Ia678276ed1c3c223b1cedd1e6e8713ca06aefd14
CRs-fixed: 1057013
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
During SSR, we observe cases where card enter bad state
and does not responding to any I/O commands. Fix it by
powering off and on the card.
Change-Id: Ia3ab2781c93d1cfe7427e2b1c2644f6628f6465f
CRs-Fixed: 1058794
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
DMA coherent allocation was done with inappropriate
flags causing memory allocation to fail occasionally.
Use GFP_KERNEL flag as well as fix up some cleanup
actions.
CRs-Fixed: 1060305
Change-Id: I93c9340439dd65c50764dd078071bf66f65a9464
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
This algorithm allows for programmable charge current values
based on programmable thresholds on state-of-charge (SoC).
Adjusting battery charge current based on the battery SoC
may lead to extended battery capacity over number of charge
cycles.
Charging profile to be used relies on battery characterization
data from battery cell manufacurers.
CRs-Fixed: 1052854
Change-Id: I8844a3e8428b045514863d72c08f6c6b2b2ac2a4
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Change the ddr width from 8 to 4 for msmhamster, due to
ddr width being halved in hardware.
Change-Id: I40f5972be54393813ad04b07c032f494888ad5e8
Signed-off-by: David Dai <daidavid1@codeaurora.org>
* fix skb->dev vs par->in/out
When there is some forwarding going on, it introduces extra state
around devs associated with xt_action_param->in/out and sk_buff->dev.
E.g.
par->in and par->out are both set, or
skb->dev and par->out are both set (and different)
This would lead qtaguid to make the wrong assumption about the
direction and update the wrong device stats.
Now we rely more on par->in/out.
* Fix handling when qtaguid is used as "owner"
When qtaguid is used as an owner module, and sk_socket->file is
not there (happens when tunnels are involved), it would
incorrectly do a tag stats update.
* Correct debug messages.
Bug: 11687690
Change-Id: I2b1ff8bd7131969ce9e25f8291d83a6280b3ba7f
CRs-Fixed: 747810
Signed-off-by: JP Abgrall <jpa@google.com>
Git-commit: 2b71479d6f5fe8f33b335f713380f72037244395
Git-repo: https://www.codeaurora.org/cgit/quic/la/kernel/mediatek
[imaund@codeaurora.org: Resolved trivial context conflicts.]
Signed-off-by: Ian Maund <imaund@codeaurora.org>
[bflowers@codeaurora.org: Resolved merge conflicts]
Signed-off-by: Bryse Flowers <bflowers@codeaurora.org>
When playing secure content, framebuffer is setup as secure in the
rotator. But the sw timestamp is not going through the secure
route, and must clear out the secure setting, otherwise a smmu fault
will be issued. This fix make sure the secure buffer status is
cleared during the sw timestamp submission.
CRs-Fixed: 1059620
Change-Id: Ifb0f9928fa1d948351e6fc1ad925a070a7f50a96
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
Initialize some local variables before using them and safely return an
error code when encounter error cases in the SDE rotator driver.
CRs-Fixed: 1060558
Change-Id: I25406b13ac2007f1789d8d32e428c39dac4c29cf
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
Add support to enable WDI 2.0 interface on IPA version 2.6.1
which is used in falcon.
Change-Id: Id6460f21245808b739ad215fe8073ae7cae8422c
Acked-by: Mohammed Javid <mjavid@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>