msm: camera2: cpp: support skip of error frames

The frame processing can encounter error conditions. In such
cases the frames are considered to be dropped.

Change-Id: Id418b12d5ccfa2c497e987e9f65bc103c80db0b4
Signed-off-by: Rajakumar Govindaram <rajakuma@codeaurora.org>
power: qpnp-bms: always limit soc to [0, 100]

Currently, soc is only limited to [0, 100] when adjust_soc runs.
However, there are some cases where the main algorithm of adjust_soc is
skipped, due to charging, SOC being too high or in the flat region of
the PC/OCV curve.

This can cause issues where SOC is calculated to be over 100 or under
0, which is undesirable. Fix this by moving the bound_soc call to the
main calculate_soc function so that it is never skipped.

CRs-Fixed: 697713
Change-Id: I641f513d182c62731a4fc115f29c0e38e5ec4c14
Signed-off-by: Xiaozhe Shi <xiaozhes@codeaurora.org>
qseecom: Just check current bus scaling mode in qseecom_suspend

In current qseecom_suspend function, qseecom will scale down bus
bandwidth if both of accumultive mode and current mode are not
INACTIVE. But if device goes into suspend before bus scaling timeout
happens, the accumulative mode may be zero but current mode is
still not INACTIVE. This may prevent the device going to suspend,
thus, make a change to just check current bus scaling mode in
qseecom_suspend.

CRs-Fixed: 740287
Change-Id: I60e90000aa9efe428b144fb766e19e81312af66f
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
qseecom: Free ion memory even if keymaster app is not unloaded

Make a change to free the ion memory allocated for keymaster client
even if keymaster app doesn't need to be unloaded from TZ, so as to
avoid memory leak.

CRs-Fixed: 724638
Change-Id: I3ddb68c8a3f96b0a44afc3efc63e93f0a8be51bb
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
ASoC: wcd9xxx: use hwdep node for codec calibration

Currently codec driver uses request_firmware to get
calibration data but as this firmware file is also written by
userspace process after bootup, it is not recommended to
use request_firmware. ALSA core provides mechanism to get
hardware dependant data using hwdep nodes. Tomtom codec will
use aforementioned nodes to get calibration data from userspace.

Changed ANC calibration data size

Change-Id: Iace6e239029c7b0d93a5d61a0025ee551acf952f
Signed-off-by: Anish Kumar <kanish@codeaurora.org>
Signed-off-by: Pavan Chikkala <pavanc@codeaurora.org>
ASoC: wcd9320: use hwdep nodes to get calibration

Use hwdep node to use calibration and at the same
time keep the code backward compatible. Codec
driver can still use request_firmware to get the
calibration if hwdep is not available.

Change-Id: Ifb4c36632b890b61a0bc67d8af44a5a10233d7bd
Signed-off-by: Pavan Chikkala <pavanc@codeaurora.org>
power: qpnp-charger: don't reset vddmax trim after EOC

Currently the vddmax trim is being calibrated during the constant
voltage charging in order to charge more accurately. However, when end
of charge happens, this trim is reset back to the original value. On
certain chips with very bad preset trims, this can actually cause the
charger to go into accidental reverse boost when USB is reinserted and
vbat is higher than vddmax by 60mV.

Fix this by not resetting the vddmax trim after EOC or USB removal.

CRs-Fixed: 657755
Change-Id: Iaf9c9eb786ee05e5f326fa87813fe867f6493829
Signed-off-by: Xiaozhe Shi <xiaozhes@codeaurora.org>
ASoC: wcd9306: add support for digital mute ops

Alsa ASoC framework provides mute function to avoid click
and pop in pcm prepare function. Change adds op for
digital mute function in codec driver which will be called
by the asoc frame work when audio usecase is enabled.

Change-Id: I067eec9abd1551281ddb92ded614492d115e3a6e
Signed-off-by: Aravind Kumar <akumark@codeaurora.org>
ASoC: msm: qdsp6v2: fix passing calibration to wrong AFE port

Sending speaker protection calibration for wrong afe port
causes crash in ADSP. This is wrong and kernel should
send the parameters only when mixer controls is explicitly
issued.

Change-Id: I5213a99d989b79feede92b3b50eebf84da41cca8
Signed-off-by: Anish Kumar <kanish@codeaurora.org>
ASoC: wcd9306: add mixer control to update loopback mode

Digital mute is enabled as part of the DAPM sequence but unmute
is done through digital mute interface on TX path added in the
codec driver which facilitate soc framework to ensure the
decimator path is unmuted when the stream is started. but this
will not holds good for the ADIE loopback usecases.
Add mixer control to update the loopback status and during
the DAPM sequence based on this status unmute the DEC path as part
of DAPM sequence.

Change-Id: Ia2f83841d0c4fde41627e3ec0bce1eeeee1ebe40
Signed-off-by: Aravind Kumar <akumark@codeaurora.org>
NFC: Wake up HOST from NFCC read interrupt

Wake up HOST only when NFCC wants to inform HOST for
transaction completion notification when HOST is suspended.

CRs-Fixed: 744954
Change-Id: Ib512a72eb0771ba062b57c45411972108e4a4664
Acked-by: Umesh Jagga <ujagga@qti.qualcomm.com>
Signed-off-by: Nakul Kadannavar <nakulk@codeaurora.org>
Signed-off-by: Houston Hoffman <hhoffman@codeaurora.org>
msm: mdp3: use INIT_COMPLETION for re-initialization of histo_comp variable

Using 'init_completion' to re-initialize the dma->histo_comp variable
during histogram reset,start and histo_get can lead to a condition where
the completion variable's wait_queue structure gets cleared while there
are tasks still waiting on it. This can lead to list_del corruption error
when the task is woken up by the next 'complete' call. To avoid this
scenario, replace 'init_completion' with 'INIT_COMPLETION' for
re-initialization scenarios in the histogram flow. During one time
intiialization of the 'dma->histo_comp' variable, 'init_completion'
is used.

Change-Id: Iee3c362c604db9dd167effc106cb12023d85ac2e
Signed-off-by: Nirmal Abraham <nabrah@codeaurora.org>
updated file arch/arm/configs/msm8974_defconfig
updated file arch/arm/configs/msm8226_defconfig
updated file arch/arm/configs/msm8610_defconfig

Change-Id: I9fccbe7f54e5a731647e95fea9dfe888452390a6
Signed-off-by: Pradosh Das <prados@codeaurora.org>
msm-camera:isp: reduce multiple ISP debug messages

Reduce the ISP debug messages to avoid unnecessary watchdog timeouts.

Change-Id: I4a472a638d9340f9ef4ed9c13792b680652c4307
Signed-off-by: Alok Kediya <kediya@codeaurora.org>
Merge "msm: camera2: cpp: support skip of error frames"
msm:isp: avoid race condition in stop axi stream

during axi stop stream and overflow, reset hw may
run in parallel and can cause list corruption.

Change-Id: Idcb5ee7e7675203ecafeb98c3cf6852c3adc4f40
Signed-off-by: Alok Kediya <kediya@codeaurora.org>
Merge "ASoC: msm: qdsp6v2: fix passing calibration to wrong AFE port"
Merge "msm: mdp3: use INIT_COMPLETION for re-initialization of histo_comp variable"
Merge "qseecom: Just check current bus scaling mode in qseecom_suspend"
Merge "msm-camera:isp: reduce multiple ISP debug messages"