Addition of Ngid breaks some third party applications, which
are dependent on a particular order of fields. This change
moves the field to the end, to fix this issue.
Change-Id: Ifdc781aca49dcb535d5fa5005b85dc87604560dc
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
If ERRATIC event irq is triggered by USB controller, it requires to perform
block reset USB controller as recovery mechanism as per SNPS data book.
Error recovery happens through allowing USB entering low power mode and
exit low power mode. We might see recovery failing as check for P3 state is
true as part of suspend and results in USB not entering low power mode.
Fix this issue by allowing USB enter low power mode in case of recovery
flag mdwc->in_restart set.
CRs-Fixed: 1060831
Change-Id: I41f935da3d4af1dd04eb4b3299e36a0f528633da
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Commit 18cd808986ba101d ("usb: dwc3-msm: Make power collapse
and power-on-reset mandatory") removed the device tree properties
for power-collapse due to which the dwc3_restart_usb_work() which
was supposed to do a full POR sequence by simulating a cable
disconnection-reconnection sequence now only does a dbm reset.
Fix this, so that dwc3_restart_usb_work(), does a full POR.
CRs-Fixed: 975249
Change-Id: Iaabe9283ec80954a2e504a55f2b4cdf93ca8ae46
Signed-off-by: Azhar Shaikh <azhars@codeaurora.org>
Currenlty driver is clearing mdwc->inrestart flag only if vbus_active
is high only after making sure USB entered low power mode. There is a
chance cable is disconnected during execution of restart work and endup
not clearing mdwc->in_restart flag if disconnect happens. Hence fix this
by clearing mdwc->in_restart flag always irrespective of vbus_active set
or cleared.
Change-Id: I15fa1893c798946c7514bf8cb23773b5784e671e
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
If the qos value is increased only for a subset of cpu's
aggregated qos for those cpu's is still the previous value.
This is because the qos request list is maintained per
request and not per cpu. In this case as there is no change
in aggregated qos value, these cpu's are not wokenup to
take the new qos value into effect.
So wakeup cpu's even if the aggregated qos value does not change
but the cpumask changes.
Change-Id: If5a4a100108e85e04beb77e5249bd6c452672edf
Signed-off-by: Anil Kumar Mamidala <amami@codeaurora.org>
Add required changes for LDOs for msm8998-interposer-msmfalcon
for USB functionality to be working.
Change-Id: I121651a49ef27ba02f1960ed5c95baf93b00d1f5
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Add required USBPD PHY device node for msmfalcon for USB PD
functionality to be working.
Change-Id: I8cd2981f176e08c1ea4f8a9b7ff42887b590d941
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Core-ctl module by default, manages cpus instead of msm_performance
module. Set this config to allow msm_performance manage(hot-plug) cores
in the absence of core-ctl.
Change-Id: I02a1007edfc63ad2c2dd99616cb1a64432b08d13
Signed-off-by: Dilip Gudlur <dgudlur@codeaurora.org>
Prepare driver for FTM/AOA while unassociated.
1. Added attributes allowing user space to specify the frequency
where FTM/AOA peer is listening. When specified it will override
the entry in the kernel scan results cache. If not specified,
the kernel scan results cache will be used like today.
This gives user space location framework more flexibility - it
can maintain its own cache of peers, or perform scans less
often (since entries in the kernel scan results cache expire
quickly)
2. Remove associated check when starting FTM session, so session
can start even when unassociated.
Change-Id: Ib0ba52c506e1d8d59ab8c12043acd792405d69a0
CRs-Fixed: 1094147
Signed-off-by: Lior David <liord@codeaurora.org>
This change adds the UFS_RESET pin ctrl data for UFS controller node.
This will enable UFS driver to issue reset to UFS device.
Change-Id: I61561fb7e395671d2bc52c6a9c0c71e0351114ea
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Some platforms may have a SOC pin/gpio connected to UFS device's
RST_n to allow the UFS device reset. This change adds support to
trigger device reset on such platforms.
Change-Id: Ie4faa47fb76837dba909f9a3d0dfe11bc69659e1
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
UFS_RESET is a single purpose output only pin which can be used
to send reset to connected UFS device. This change adds the
UFS_RESET pin data.
Change-Id: Iec5e70e3f57a8dd06c0ceda3a6e67e47e043f2d1
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
The phy initialization sequence assumes a POR state but
the bootloaders can leave PHY at an already initialized
state, hence there could potentially be issues with the
initialization from ufs driver. Perform a full reset to
start from a power on reset state. Also a reset is
required by the UFS hardware programming guide.
Change-Id: I0118b0d3013166aeec0bb0bc0ef181e48998e758
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
The hardware requirement for delay between assert/deassert
is at least 3-4 sleep clock (32.7KHz) cycles, which comes to
~125us (4/32768). To be on the safe side add 200us delay.
Change-Id: Ib9d27fe7bbf6107b1249b3719f63efdbff4b3795
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
When a filesystem driver calls into makes a RPM request, RPM driver
makes a kzalloc request with GFP_NOFS flag. This results in a
deadlock if a driver waiting on IO completion sends a RPM message.
Change memory allocation in the RPM driver to use GFP_NOIO.
Change-Id: Ie986b6eb21845b679f068372e46dfb402f234dcf
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
In msmfalcon interposer for CDP and MTP, add
audio related dtsi files to support external
codecs tasha and tavil.
CRs-Fixed: 1083537
Change-Id: I867e28101cfa37f9764d547f3b43871a430de6d7
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
If the acc_total value is zero then kernel would crash on
div-by-zero. Add better input validation in gpu_load_show()
to avoid divide by zero problem.
CRs-Fixed: 1092584
Change-Id: I7affbd797bf4b0025f718c757043b36f392dae5b
Signed-off-by: Sudeep Yedalapure <sudeepy@codeaurora.org>
PM3FALCON inherits all it's peripheral nodes from PM2FALCON.
Disable WLED which is not supported on pm3falcon.
CRs-Fixed: 1093681
Change-Id: I1eb0583010712286659ec9b726f4ae7a9a2a84e6
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
There is a mismatch in the interface num being passed for
enabling/disabling the CWB_OVERFLOW IRQ during concurrent
writeback(CWB). Fix it to use the same intf_num for both
cases.
Change-Id: Ic4b7599ac7a06583d745630ee10d3c77d40ac526
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
HW recommendation is to set the TX_TRIM_3 value to 0x2 for
a steeper slope. This improves eye diagram testing result.
This register is secure access so write to the SEC_ACCESS
prior to setting this.
Change-Id: I80b0a02feb0e4d1fb382407087fa30f390641ccb
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Decrease the wait time from 5ms to 2ms when preparing a VDM
response to ensure that it gets sent out timely within
tSenderResponse (15ms). To avoid possible collision with an
incoming packet, check that there has not been any queued Rx
message just prior to sending a VDM. Also check the result of the
transmit and simply try again later if -EBUSY is returned.
While at it, fix a couple other miscellaneous timing issues.
Setting PD_ACTIVE=1 has considerable delay due to the charger's
voting mechanism, so move setting it to after starting the
SenderResponse timer when sending the Source Capabilities, and
similarly after sending a Request as a sink, in order to make
sure response timing is met. For source hard reset, increase the
tSrcRecover delay slightly from the spec minimum to account for
additional VBUS rise/fall delays before sending PS_RDY. Finally,
add a delay for VCONN_SWAP before sending PS_RDY for similar reason.
Change-Id: I5760fadb66cad6faf02e95a1e1bb975289ef8e9f
Signed-off-by: Jack Pham <jackp@codeaurora.org>
To avoid missing an incoming packet that was quickly sent while
still processing the previous packet, clear the acknowledge bit
as soon as the message is consumed from the Rx FIFO. This gives
the hardware a chance to send a GoodCRC without causing the
sender to retry.
Change-Id: I8a9ef42685576ab68aa65efab1bebc40d801990d
Signed-off-by: Jack Pham <jackp@codeaurora.org>
If an unexpected or delayed Type-C mode change notification
arrives from the charger driver, it could falsely kick the
state machine and could cause it to prematurely hard reset
since it preempted an expected message. This is particularly
true for the PR Swap operation in which the timing of PS_RDY
and resulting power negotiation is disrupted by the CC change
notification which is catching up. The previous way of handling
this by using the pd->in_pr_swap flag to mask the typec_mode
changes is quite fragile due to the uncertainty of when said
flag should be cleared.
Hence, demote the use of the in_pr_swap flag for only ignoring
the expected disconnect the happens in between the role change.
Then, for typec_mode changes, determine if current_pr is changed
or not to decide whether to kick the state machine. Finally,
since disconnect now is signaled by pd->current_pr==PR_NONE,
we'll need to keep track of whether VBUS had been enabled with
a separate flag rather than relying on pd->current_pr==PR_SRC.
Change-Id: I66be40091b75726d25c7be4478f1248a6af9ca3c
Signed-off-by: Jack Pham <jackp@codeaurora.org>