Update latest gki version in sync
with LTS tag android11-5.4.61+ (874de1d).
Change-Id: I07e2305756019d7c2a4d2e81b8303e0a5f9d0dd3
Signed-off-by: Yogesh Lal <ylal@codeaurora.org>
By default when ep0 gets enable, current code SET XFER resource command
for all USB endpoints excluding USB GSI endpoint. SET XFER resource
command shall fail if all resources are allocated. All allocated transfer
resources are resets in controller when DEPXFERCFG cmd is send with ep0
with value as 2 OR when controller is being peformed power on reset or
being restarted (i.e. device initiated disconnect and reconnect).
Consider case as below:
a. USB enumerated
b. USB bus suspend
c. USB bus reset
d. USB connect done
e. USB set_config() (set_alt())
f. Reenable all USB endpoint and resize tx fifo for it except ep0 and ep1
g. USB GSI endpoint operation (EP_OP_CONFIG) is sending SET XFER RESOURCE
which is failing as all resources are already allocated.
ep0 is disabled while clearing run stop and re-enabled when setting run
stop. For USB device mode we know that ep0 enabling is prerequisite before
setting run stop. Hence let ep0 enabling takes care of reallocating
transfer resources for all endpoint including USB GSI endpoints.
Change-Id: Ic5ab7558fadc636aaf255d62f91abf7842460659
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
https://bugzilla.kernel.org/show_bug.cgi?id=208565
PID: 257 TASK: ecdd0000 CPU: 0 COMMAND: "init"
#0 [<c0b420ec>] (__schedule) from [<c0b423c8>]
#1 [<c0b423c8>] (schedule) from [<c0b459d4>]
#2 [<c0b459d4>] (rwsem_down_read_failed) from [<c0b44fa0>]
#3 [<c0b44fa0>] (down_read) from [<c044233c>]
#4 [<c044233c>] (f2fs_truncate_blocks) from [<c0442890>]
#5 [<c0442890>] (f2fs_truncate) from [<c044d408>]
#6 [<c044d408>] (f2fs_evict_inode) from [<c030be18>]
#7 [<c030be18>] (evict) from [<c030a558>]
#8 [<c030a558>] (iput) from [<c047c600>]
#9 [<c047c600>] (f2fs_sync_node_pages) from [<c0465414>]
#10 [<c0465414>] (f2fs_write_checkpoint) from [<c04575f4>]
#11 [<c04575f4>] (f2fs_sync_fs) from [<c0441918>]
#12 [<c0441918>] (f2fs_do_sync_file) from [<c0441098>]
#13 [<c0441098>] (f2fs_sync_file) from [<c0323fa0>]
#14 [<c0323fa0>] (vfs_fsync_range) from [<c0324294>]
#15 [<c0324294>] (do_fsync) from [<c0324014>]
#16 [<c0324014>] (sys_fsync) from [<c0108bc0>]
This can be caused by flush_dirty_inode() in f2fs_sync_node_pages() where
iput() requires f2fs_lock_op() again resulting in livelock.
Change-Id: I5d7ef35a21cdb074e7bf5288371f579bfc0eb19d
Reported-by: Zhiguo Niu <Zhiguo.Niu@unisoc.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Git-commit: b0f3b87fb3abc42c81d76c6c5795f26dbdb2f04b
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
Add the null checks for irq_chip callback while calling
affinity call of glink interrupt.
Change-Id: I62cec6ade0233094ef9a821185677b703d3ba1a3
Signed-off-by: Raghavendra Kakarla <rkakarla@codeaurora.org>
It takes sometime for complete memory reclaimed by oom kills to be
available, specifically ion allocations. This either require FDs to be
closed which is not covered by oom reaper or released by another process
not being kiled. So defer panic_on_oom to avoid panic trigger before memory
become available.
Change-Id: I9f3312c780e4d8444f58de5f781c9c8dfec9b2c7
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
This change adds power config changes for sdxlemur.
Change-Id: Icb09b5361cfda42c18c316e0a0d79aeee3d18b97
Signed-off-by: Tushar Nimkar <tnimkar@codeaurora.org>
MADV_FREE clears pte dirty bit and then marks the page lazyfree (clear
SwapBacked). PPR increments ISOLATE_FILES count, then isolates page and
invokes a reclaim. Inbetween if this lazyfreed page is touched by user then
it becomes dirty. PPR in shrink_page_list in try_to_unmap finds the page
dirty, marks it back as PageSwapBacked and skips reclaim. As PageSwapBacked
set, PPR identifies the page as anon and decrements ISOLATED_ANON, thus
creating isolated count mismatch.
This results in too_many_isolated() check causing delay in reclaim. Skip
reclaiming lazyfreed pages in PPR path.
Change-Id: I87223c4fa492c5e373ac48f116384b5de03da9fa
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Currently, updating USB type only depends on USB status change
notification from the charger firmware. During a reboot with USB
connected, there is a chance that a USB power supply notification would
have been sent by the charger firmware little earlier even before the
battery charger driver was ready to handle it. Hence it would've got
missed and USB type is not updated properly. Fix it by scheduling
usb_type_work once the driver probes.
Change-Id: I0ae482e90a76a0b2128fcc45561adb77a2ca017c
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
Provide the option to configure the request of preset during
the initial part of the equalization master phase.
Change-Id: Ib33e84b3d333bc7c7275dd7108ef37067d92abbd
Signed-off-by: Tony Truong <truong@codeaurora.org>
Clear AOSS_CC_RESET_STATUS::PERST_RAW_RESET_STATUS
after PCIe link training in HLOS. Failure to clear it in
HLOS will result in PBL to consider it a controller reset
pending state during warm reset and initiate a controller
reset even if the PCIe link is up.
Change-Id: I3e5b89181be29062f79e4c5ace1863124367c72c
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Toggle between tcxo and phy pipe clock as part of
LPM sequence. Switch the source to XO before disabling
PCIe gdsc to avoid PCIe gdsc to be stuck until source
is switched to XO.
Change-Id: Ie2044da622962ff316319e7891974621e5c0ee92
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
Typec attach_detach handler gets executed which is not
expected for micro-usb design. Return from type-C attach-detach
handler for micro-usb stack.
Change-Id: Ia7bfe6b407757663be4f7d143ccd88a60079657b
Signed-off-by: Kavya Nunna <knunna@codeaurora.org>
Signed-off-by: Ashish Chavan <ashichav@codeaurora.org>
Add partner registration for otg to provide UX. USB_HAL expects
power_role and data_role to be updated for the notification to UI.
Update power_role and data_role for microusb otg.
Change-Id: I741df638e18a400c862845bddd5bb19130adecd7
Signed-off-by: Kavya Nunna <knunna@codeaurora.org>
Signed-off-by: Ashish Chavan <ashichav@codeaurora.org>
Add support for reading S3 die_temp channel on PM2250 by
specifying the scaling function.
Change-Id: I1e8fcba0058851a540bc39adc7606d4f0ad8f6db
Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org>
Enable CONFIG_ARM_SMMU_POWER_ON_ALWAYS for all GKI targets, and only
in the GKI configuration. This feature should not be enabled in
the QGKI/production configurations.
Change-Id: Ifa16169b2595408d4f5c2142f6fddb9aa941eb2a
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
The SMMU driver will vote for the resources it needs before performing
a particular operation, and will remove its votes after the operation
is complete.
When power resources are not currently enabled by other drivers,
the SMMU driver's requests to enable its devices' power resources
go through the slow paths where the hardware power resources
get turned on. So, in a scenario where the SMMU driver is constantly
performing work and having to toggle the state of the power resources,
the SMMU driver operations take more time.
On GKI, the upstream implementation of the IOMMU page table management
code is used, which doesn't have the optimizations we have downstream,
which improve the performance of the SMMU driver when unmapping memory.
The GPU can go into slumber if it is not active, and can relinquish its
votes for the power resources that the SMMU driver votes for when
unmapping memory. This requires the SMMU driver to take the slowpath
of enabling all of these power resources and then disabling them
on every call to unmap memory, which can incur a considerable amount
of delay.
This delay, along with the usage of the unoptimized IOMMU page table
management code in GKI results in slow unmap calls.
Thus, add support for the SMMU driver to never remove its power votes,
so that it doesn't have to spend time voting for power resources while
it is operating.
Change-Id: Id93aafef18f69e377391875e2a7b340b34b4b3e8
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>