If a USB charger is already attached before the master charger
probes, the master will miss updating parallel charging states.
ICL and charge state change interrupts get triggered before
their handlers are registered. Hence these interrupts will not
be handled. Obtain the state of missing interrupts by polling
status registers.
If parallel charging is ready on master side before the parallel
charger probes, then parallel charging will not be enabled.
Check if parallel charging is ready once the parallel charger
probes so parallel charging can be enabled immediately.
CRs-Fixed: 1033688
Change-Id: Ic91baeaeb7410b6f265b8bfa8e31e2bcff8dfce2
Signed-off-by: Harry Yang <harryy@codeaurora.org>
When clients dumps PCIe PARF registers, it should not flood
dmesg. Change the logging type for dumping PCIe PARF register
to a lower priority one. The dump will only show up in PCIe
specific logs and not dmesg.
Change-Id: Ide04b0d2017ce3c1a99edd2b38ef5b06178a1f41
Signed-off-by: Tony Truong <truong@codeaurora.org>
The peripheral_mem carveout currently contains three separate images.
If these images are dynamically unloaded and reloaded in the wrong
order they could fragment the memory such that not all images would
fit.
Break apart the peripheral_mem into separate carveouts for each PIL
image to avoid the possibility of fragmentation.
CRs-Fixed: 1024397
Change-Id: Id9607b7e4a5e0cdcbf4c36ffad32536dd0669005
Signed-off-by: Liam Mark <lmark@codeaurora.org>
Some of the features like MSM_GIC_SHOW_IRQ are using ARM_GIC
flag. So select this even for gic-v3 target on 32-bit.
This will also make it consistent with arm64 where ARM_GIC
is selected along with gic-v3.
Change-Id: Ie929d63a23c88799c488c5a79c81cd1cbfaa6565
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
Serial function driver creates debugfs files even though ports
are not allocated. Fetching/reading those files without allocation
of ports leads to crash. Check port allocation before creating
the files.
Change-Id: I85b050a261cca6f961d5d9058efb8b7facf242ce
Signed-off-by: Arumuga Durai A <cadurai@codeaurora.org>
If target can support multiple codecs, only one of the
codecs will be enumerated. Do not clean up common resources
when other codec fails to enumerate.
CRs-Fixed: 1041199
Change-Id: I74a298739925b5763458c2e637372aa8f2c2aa55
Signed-off-by: Yeleswarapu Nagaradhesh <nagaradh@codeaurora.org>
Increase ADSP ION heap by 4 MB that is required by the
ImproveTouch functionality.
Change-Id: I03a298cf69369efc58f8d85d39897408d34f3635
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
Added channel state and checks to avoid glink channel opening twice
during timeout of previous call. Clean up and added more checks.
Change-Id: Ibf5343a86d3aeaf67acfbae381f103428c98ea73
Acked-by: Viswanatham Paduchuri <vpaduchu@qti.qualcomm.com>
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
The ungate work turns on the clock before it exits hibern8,
if the link was put in hibern8 during clock gating work.
There occurs a race condition when clock scaling work calls
ufshcd_hold() to make sure low power states cannot be entered,
but that returns by checking only whether the clocks are on.
This causes the clock scaling work to issue UIC commands when
the link is in hibern8 causing failures. Make sure we exit
hibern8 state before returning from ufshcd_hold().
Callstacks for race condition:
ufshcd_scale_gear+0x120/0x138
ufshcd_devfreq_scale+0x98/0x154
ufshcd_devfreq_target+0x14c/0x250
update_devfreq+0xc4/0x10c
devfreq_monitor+0x34/0x90
process_one_work+0x24c/0x430
worker_thread+0x2e0/0x408
kthread+0x100/0x108
ret_from_fork+0x10/0x40
ufshcd_uic_hibern8_exit+0x128/0x1f0
ufshcd_ungate_work+0xec/0x148
process_one_work+0x24c/0x430
worker_thread+0x2e0/0x408
kthread+0x100/0x108
ret_from_fork+0x10/0x40
CRs-Fixed: 1036530
Change-Id: I7f430abfb2a545ac97dee488a696a89cd18214f1
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
As the PD PHY probes, assign the static __pdphy pointer with
the pdphy instance prior to calling usbpd_create(). This ensures
that if the policy engine state machine kicks off right away
and calls back into the PHY APIs that there is a valid instance
found.
As further safeguarding, also fix the open/close/signal/write APIs
in the case where the instance cannot be found by using pr_err
instead of dev_err which would lead to a NULL pointer dereference.
Change-Id: I59a01f2ac3b0c374eb3420f40054cc05a80226ba
Signed-off-by: Jack Pham <jackp@codeaurora.org>
The new API clk_set_flags could be used by hardware specific clock drivers
or clients for specific hardware requirements. These flags could be custom
defined as per hardware needs.
Change-Id: Ia67373ee2b8934c898052c68338fa86cb16070dd
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Checking offset_entry is not necessary when using DDR addresses.
Check offset_entry only when using header tables.
CRs-fixed: 1041515
Change-Id: I4b3e44bda6ee05932a7de66e1e7cea300936f982
Signed-off-by: Amir Levy <alevy@codeaurora.org>
While NOC timeout feature is enabled, L1 and L1 substate
low power mode should be disabled. Thus, disable L1 and L1ss
for PCIe on msmcobalt.
Change-Id: If77f1850396d3e78cdcb774cdb6de148a2b4d14e
Signed-off-by: Tony Truong <truong@codeaurora.org>
Add required settings for command mode and video
mode 2k truly panel and include those settings in
msmcobalt for CDP and MTP.
Change-Id: I419af32ee73bd486258692eba3f699e6b987c288
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
POWER_SUPPLY_STATUS shows 'Discharging' when DCIN is the only charging
input, because current input online report is solely based on USB.
DCIN is included to fix the issue.
CRs-Fixed: 1034899
Change-Id: I58b8ca712a7900caf37bf79f5281fb3b6dab80f2
Signed-off-by: Harry Yang <harryy@codeaurora.org>