When usb composition switch happens upon cable disconnect and
function bind fails, function's config pointer is set to NULL.
This is resulting in to NULL ptr dereference when config is
accessed from APIs which are called asynchronously and out
side of the usb core driver(i.e. dwc3) context. Fix the
issue by directly accessing gadget pointer from gsi driver
context in those APIs.
Change-Id: I1006881ae1838e8ddc8fa5e9ef501f4c658b54e7
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
App type is required to send the calibration
for the modules in a topology that would
be selected for ULLPP. For this, expose
a mixer control. App type will be sent
if the ULLPP is used for NOIRQ.
CRs-Fixed: 2009687
Change-Id: I7c8349d5827dffe32c0db35262d54cb7c1dba1a9
Signed-off-by: Alexy Joseph <alexyj@codeaurora.org>
Some FS devices report maxpacket size as 4 for their BULK EPs
which is incorrect as per USB specification. This results in
ep_config command to controller timing out and enumeration fails.
As minimum maxpacket size for FS is 8, override the same for such
devices.
CRs-fixed: 1002876
Change-Id: I70c2210b4eb93f557eef306fcbc11308b7b33e07
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
The wlan firmware is configuring the clk and voltage regulator
for hardware power on and hardware reset sequence.
The icnss platform driver is configuring this clk and regulators
to avoid invalid access to copy engine register during the wlan
recovery.
As platform driver is not configuring this regulator to power on
or reset the WLAN hardware, So no need to define the voltage
regulators are the required properties for the ICNSS platform driver.
Define vdd-0.8-cx-mx as an optional voltage regulator for
the icnss platform driver.
CRs-Fixed: 2014965
Change-Id: I74a1445522997ba4e7a52da5a29e9afb57ad12df
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
As GPIO 54 has already been connected to an external
pull up resistor, config it to no pull to save power
consumption.
CRs-Fixed: 2015121
Change-Id: Id13588be53b8756e4d9792035bcc6adfbaa8c3f7
Signed-off-by: xiaonian <xiaonian@codeaurora.org>
Add backend user count checking to protect the index
boundary.
Change-Id: Ic1b61d1f7130252cc54da0b16553858714988dbd
CRs-Fixed: 2009216
Signed-off-by: Walter Yang <yandongy@codeaurora.org>
Mark AIF4 MAD TX as ignore suspend so that MAD path
will not power down during suspend mode.
CRs-Fixed: 2003858
Change-Id: Iae55e2778edcdd8efa6ae13b746795d8a1594a41
Signed-off-by: Walter Yang <yandongy@codeaurora.org>
HIFI headphone path is not present in sdm660 qrd board.
So there is no need to add these two hph_en nodes under tasha node.
These two nodes get initialized by msm_cdc_pinctrl driver and make
gpio24/25 as output low, which causes some power leakage.
Remove these two hph_en nodes for sdm660 qrd.
Change-Id: I527ce45296cd3b168bea67804e0909f668f74221
CRs-Fixed: 2011375
Signed-off-by: Walter Yang <yandongy@codeaurora.org>
Currently the HVDCP auth IRQ is only enabled upon USB removal. When APSD
is rerun the USB type is not updated to HVDCP_3 since the IRQ was
disabled.
Fix this by enabling the HVDCP auth IRQ before APSD is rerun.
Change-Id: Ic9ec2dca5915651864582abea9165ca8c4290169
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
As the best clocksource is not selected till core boot completion,
only periodic tick timer works and it increases jiffies by one at
every tick updates. If interrupt is disabled more than one tick(10ms),
timer interrupts are missed and jiffies can't be updated at every
10ms and it can be behind the real time. So make it possible to select
the best clocksource right after arm arch timer initialization, so that
jiffies can be increased by multiple counts since then.
Change-Id: Id8c4e3ce9b9e44061fef7ad7e678ca1c27d84bb1
Signed-off-by: Se Wang (Patrick) Oh <sewango@codeaurora.org>
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
As the best clocksource is not selected till core boot completion,
only periodic tick timer works and it increases jiffies by one at
every tick updates. If interrupt is disabled more than one tick(10ms),
timer interrupts are missed and jiffies can't be updated at every
10ms and it can be behind the real time. So add API to force re-
selection of the best clocksource among registered clocksources so
that the best clocksource can be selected whenever it is available.
Change-Id: I481de3cdf1df8f0e35ed10aee7ab3882bf7a35b3
Signed-off-by: Se Wang (Patrick) Oh <sewango@codeaurora.org>
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>