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>