Now that there is a "real" solution for exfat in the vfs tree queued up
to be merged in 5.7-rc1 the "old" exfat code in staging can be removed.
Many thanks to Valdis for doing the work to get this into the tree in
the first place, it was greatly appreciated.
Acked-by: Valdis Kletnieks <valdis.kletnieks@vt.edu>
Cc: Pali Rohár <pali@kernel.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Namjae Jeon <namjae.jeon@samsung.com>
Cc: Sungjong Seo <sj1557.seo@samsung.com>
Cc: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20200310105421.GA2810679@kroah.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Git-commit: 590a95e418d18894e34cd240b3e7ef278add05c7
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
[lixiang@codeaurora.org: resolve trivial merge conflicts]
Change-Id: I24f4da72efcbde084f917a2be75dcc5e5c1f711c
Signed-off-by: lixiang <lixiang@codeaurora.org>
Add the following symbols to QCOM allowed-list:
-- __irq_set_handler
-- irq_set_handler_data
Bug: 172879351
Change-Id: I6869b60b4893a3f9447d0fb6e7977e0685477386
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
If multiple rpmsg are sent, it is possible there will be a
mismatch of completions. If requester sends rpmsg A and B,
it is possible the completer sees only rpmsg B. Once completer
sends ACK/NACK for rpmsg B, the requester may interpret, it is
for rpmsg A if the timeout for it has not expired. Therefore,
serialize the send of rpmsg and its completion to avoid this
possible race by moving rpmsg lock after command completion.
Change-Id: Id2ac8a03da2dd941ac9ea9d5c556a108af5faecd
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Cancel pending firmware delayed work during the disable
sequence since hardware is already released to PVM.
Change-Id: Ie66c4a5dfe81219e034ae1aea01c0e2a76fa4903
Signed-off-by: Shashank Babu Chinta Venkata <sbchin@codeaurora.org>
Introduce usage count for QMI send get/put APIs. Make sure PCIe link
will not be suspended from runtime PM path if the usage count is not 0.
That means PCIe link should be always up when host driver starts to
proceed stats query from upper layer.
Change-Id: I0ff62874d62c4db2292236d8b4b5c2e09e439a5b
Signed-off-by: Yue Ma <yuem@codeaurora.org>
During UFS host init, we calibrate the UFS host PHY with
HS-Gear4 Rate-B settings by default. After UFS device is
initialized but before it switched to HS mode, if it
found as UFS 2.x device we re-init the UFS host PHY
with its HS-Gear3 Rate-B settings, then start over
the UFS device initialization again.
Change-Id: I854a34b2e5d76103d447508cf2137427def93d17
Signed-off-by: Can Guo <cang@codeaurora.org>
Signed-off-by: Nitin Rawat <nitirawa@codeaurora.org>
Signed-off-by: Ram Prakash Gupta <rampraka@codeaurora.org>
The struct coex_antenna_switch_to_mdm_resp_msg_v01_ei is
missing with second element and causing OOB issue with
KASAN.
Change-Id: Iac53f5b4883a620f5179fe2caa7e2169d487c619
CRs-Fixed: 2814572
Signed-off-by: Paul Zhang <paulz@codeaurora.org>
Signed-off-by: Manikandan Mohan <manikand@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>
Check for gmu prealloc failure only in case of prealloc request to avoid
use of uninitialized ret variable.
Change-Id: Ie0718f17fb9517e3e7659c277ff6f2fc3ef07f53
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
spcom_register_rpmsg_drv() can hit race from different contexts:
when create channel occurs for uefi loaded sp application
and spdaemon uses the cryptoapp channel early, and at the same
time sec_nvm channel also creates new channel.
This change locks globally access to the channel table for
spcom_create_channel_chardev() command.
Change-Id: Ic4daee06591427146602f41227e77b3ccc3f3151
Signed-off-by: Konstantin Dorfman <kdorfman@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>
Create the ipa_client interface for ethernet offloading.
Change-Id: I8120b0cca9e42a75153fb1468dc1b8bcbd43484c
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
Signed-off-by: Amir Levy <alevy@codeaurora.org>
This change supports device assisted low power modes -M1/M2 states
in IPA. For M1/M2 states, GSI is continued to be in poll mode where
as for M3 state GSI is moved to doorbell mode.
Change-Id: I48a7c9f2c27da0be69a6bb50dfec0a542e46caec
Signed-off-by: Michael Adisumarta <madisuma@codeaurora.org>
The GMU log is currently very small at 4 KB.
Increase size to 16 KB to accommodate more event history.
Change-Id: Iba86f28573d6f5224e07834be9acc9765beef79f
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
GMU log entries are not streamed out to the host by default.
The log_stream_enable sysfs node allows that.
Change-Id: I8e532cbb059f98652d2bf72842245625549002f1
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
There is a very tight race where the irq_retrigger function is run
on one cpu and the actual retrigger softirq is running on a second
cpu. When this happens, there may be a chance that the second cpu
will not see the updated irq_pending value from first cpu.
Add a memory barrier to ensure that irq_pending is read correctly.
Change-Id: I3dd185decc4f050bd57c0b6558f417ead2a3aa5a
Signed-off-by: Chris Lew <clew@codeaurora.org>
There are an increasing amount of reports where the tx timeout is
being asserted. Add logging to mark the enter and exit of the qmp
worker thread in ipc logs to correlate with the rx interrupts.
Change-Id: Ie24ab7ac761b16abfeeef78bbb3907e781b6f79d
Signed-off-by: Chris Lew <clew@codeaurora.org>
Set the wakeup timeout for qrtr to 500 ms for genericarmv8. This change
will help ensure the TUI client thread gets a chance to run before the
system is suspended again.
Change-Id: Iaaa84e99c0e1f8c29b6e80746440b7d960887193
Signed-off-by: Chris Lew <clew@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>
Disable access to PCIE PARF registers when link is disabled.
Change-Id: I2496edbfecb5f67571138fea1b4edfa5df3f030b
Signed-off-by: Vivek Pernamitta <vpernami@codeaurora.org>
QUPV3 clocks could be under DFS control, thus register them with DFS
clock ops.
Change-Id: Iefac3479490fbcca8de4bbf151d82d8e6c7d3ca7
Signed-off-by: Taniya Das <tdas@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 scale function macro for selecting correct scale function for S3
die temp ADC channel on PM2250 V2, as the channel is mapped to the
default voltage scaling function otherwise.
Change-Id: I6c4905100a19adcc0cf9d6beb9cb3471cc4d232b
Signed-off-by: Jishnu Prakash <jprakash@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>
when usb_bypass_notify is called by ush_qdss_close(), no need to
response to USB_QDSS_DISCONNECT event. so add etr status check to
avoid exception.
Change-Id: I4ab5d7f4ba054b0d1ecc7026b5662ddc1c8b5ca1
Signed-off-by: Yuanfang Zhang <zhangyuanfang@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>