Ensure usbch is ready before usb bypass start to avoid usbch is NULL
in usb_read_work_fn().
Change-Id: I0b932f1713a2d49424860728e79e3684122b4e40
Signed-off-by: Yuanfang Zhang <zhangyuanfang@codeaurora.org>
Enable LKDTM driver to enable testing PAN features
Change-Id: I37421dd50cc4241ae73db9d4b3b953997b2934c5
Signed-off-by: Likai Ding <likaid@codeaurora.org>
* remotes/origin/tmp-5030b0a: (48 commits)
exfat: Avoid allocating upcase table using kcalloc()
exfat: remove useless check in exfat_move_file()
exfat: remove 'rwoffset' in exfat_inode_info
exfat: replace memcpy with structure assignment
exfat: remove useless directory scan in exfat_add_entry()
exfat: eliminate dead code in exfat_find()
exfat: use i_blocksize() to get blocksize
exfat: fix misspellings using codespell tool
exfat: fix use of uninitialized spinlock on error path
exfat: fix pointer error checking
exfat: retain 'VolumeFlags' properly
exfat: optimize exfat_zeroed_cluster()
exfat: add error check when updating dir-entries
exfat: write multiple sectors at once
exfat: remove EXFAT_SB_DIRTY flag
exfat: fix name_hash computation on big endian systems
exfat: fix wrong size update of stream entry by typo
exfat: fix wrong hint_stat initialization in exfat_find_dir_entry()
exfat: fix overflow issue in exfat_cluster_to_sector()
exfat: flush dirty metadata in fsync
exfat: move setting VOL_DIRTY over exfat_remove_entries()
exfat: call sync_filesystem for read-only remount
exfat: add missing brelse() calls on error paths
exfat: Set the unused characters of FileName field to the value 0000h
exfat: Fix potential use after free in exfat_load_upcase_table()
exfat: fix range validation error in alloc and free cluster
exfat: fix incorrect update of stream entry in __exfat_truncate()
exfat: fix memory leak in exfat_parse_param()
exfat: remove unnecessary reassignment of p_uniname->name_len
exfat: standardize checksum calculation
exfat: add boot region verification
exfat: separate the boot sector analysis
exfat: redefine PBR as boot_sector
exfat: optimize dir-cache
exfat: replace 'time_ms' with 'time_cs'
exfat: remove the assignment of 0 to bool variable
exfat: Remove unused functions exfat_high_surrogate() and exfat_low_surrogate()
exfat: Simplify exfat_utf8_d_hash() for code points above U+FFFF
exfat: Use a more common logging style
exfat: Simplify exfat_utf8_d_cmp() for code points above U+FFFF
exfat: fix possible memory leak in exfat_find()
exfat: use iter_file_splice_write
exfat: truncate atimes to 2s granularity
exfat: properly set s_time_gran
exfat: remove 'bps' mount-option
exfat: Unify access to the boot sector
exfat: add missing MODULE_ALIAS_FS()
exfat: Fix discard support
Change-Id: Ib7942188437aec61c0f26d56976fcf0a025d2ec3
Signed-off-by: lixiang <lixiang@codeaurora.org>
Enable linux bridge on QGKI builds to support multi-AP bridge mode.
Change-Id: I1c8278b3ca29d973ea5350028c8f065370e91271
Signed-off-by: wadesong <wadesong@codeaurora.org>
Add mproc related defconfig for sa8155 which inlcudes
qrtr,hwspinlock,mailbox,glink,smem,smp2p,ipc irq bridge
and ipc logging related configurations.
Change-Id: I64e8feea35a0acabf48e538dfe9e7bdd3b547b11
Signed-off-by: Arun Prakash <app@codeaurora.org>
Currently the driver explicitly clears the HWO bit of the TRB
prepared for short packet or ZLP for EPs in both the directions,
and returns with non-zero code which breaks cleanup of completed
requests. The driver does this because it is written with the
understanding that the HW does not clear HWO for such packets.
But the databook section 4.2.3.2 says that the HW does not clear
HWO for such packets on the OUT EP only.
Now consider a device-to-host(USB IN) usecase like SW NCM, where
the u_ether driver looks for interrupt on every 5th request(say).
In between these 5 requests, if there is any packet of multiple
of MPS, then ZLP TRB will also be prepared. When the event is
received for the 5th request, we will only handle upto the ZLP
TRB because of the faulty logic described above. And only on the
event for the 10th request, we handle the 5th request (because of
IOC set on the 5th request). So, clearly the TRB cleanup logic is
lagging behind the HW actually completing the requests. When this
mismatch happens multiple times, there eventually comes a time
when the SW does not have any free requests anymore and hence
stall will be seen.
Fix this by returning with non-zero code only if the IOC bit is
set for the short packet or ZLP TRB, so that the cleanup routine
continues upto the TRB for which the event was raised.
Change-Id: I984e6de383993fc3c2da6b74147d6f50e081de34
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Add property to configure the default trigger for the LED.
This will allow clients to use trigger APIs to configure
the brightness of the LED if needed.
Change-Id: I1db0a5f2d697c6ac6f6ae1296e43ae55509f2298
Signed-off-by: Veera Vegivada <vvegivad@codeaurora.org>
slatecom_interface driver is use for communication from
slate PIL and slatecom spi to userspace.
Changes are ported from bgcom_interface driver.
Change-Id: I92379ca3d691a17f8e6507f1135f2ab340a9a8ae
Signed-off-by: Ajit Kumar <kajit@codeaurora.org>
slatecom driver provides a set of apis to perform
register, fifo, ahb read and write operations with
slate coprocessor over spi interface.
slatecom driver is ported from bgcom driver.
Change-Id: Ibaacf4748d893511196e4a66ed17ff26a854809b
Signed-off-by: Ajit Kumar <kajit@codeaurora.org>
Commit 3741fb2cfb ("coresight: byte-cntr: Free USB requests when
disconnected") introduced a regression which leads qdss_disable &
qdss_close paths to race between them.
If qdss_disable path is processing, it would queue disconnect_work
which will notify the bypass notifier of USB_DISCONNECT and it will
call free_req. Within same time frame if qdss_close is called,
it will try to go ahead dequeue the request and wait_for_completion.
But since free_req got called, it will free the qreq instance which
wait_for_completion uses resulting in kernel panic.
Fix this by checking for ep_dequeue status if dequeue was success
then only wait_for_completion. Also taking the list operation under
qdss->lock in order to avoid any races between qdss_write as well.
Change-Id: I7bf9eab4296a509f5b459fa7768987c4a1f1287f
Signed-off-by: Udipto Goswami <ugoswami@codeaurora.org>
Add CONFIG options to get the number of AMUs and PMUs supported on
a given target to define the size of structures accordingly in driver.
Change-Id: I6ed58465f789156887a28bd49da7220396854e50
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>