Currently, when waiting for hBoost ready times out, error code -EBUSY is
returned. In addition to that, reset the FIFO play logic so that the
following FIFO requests can still be served.
Meanwhile, add 100us before updating HAPTICS_EN for hBoost to have
enough time to handle its power transition as per the hardware
recommendation.
Change-Id: Iebfc98b589bda747e4c2b6fdf6ff78d2f46ece5d
Signed-off-by: Fenglin Wu <quic_fenglinw@quicinc.com>
This patch introduce a new netdev feature, which will be used by drivers
to state they can perform MACsec transformations in hardware.
The patchset was gathered by Mark, macsec functinality itself
was implemented by Dmitry, Mark and Pavel Belous.
Change-Id: I84cc0abf852a5adb25d3f6d3fd100b1921b66165
Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: Mark Starovoytov <mstarovoitov@marvell.com>
Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Git-commit: 5908220b2b3d6918f88cd645a39e1dcb84d1c5d9
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[quic_adamodar@quicinc.com: Moved upstream change in
net/ethtool/common.c to net/core/ethtool.c]
Signed-off-by: Akshaya Damodaran <quic_adamodar@quicinc.com>
Below mentioned is the sequence of operations done during a pr swap.
During the issue scenario, the sleep time of 26 ms is almost coinciding
between src_send_capabilities and snk_select_capabilities. Due to this
sink side is not able to receive accept from the source for the message
request sent. Hence, it does a hard reset.
State changes during working scenario.
Source Sink
SRC_Startup SNK_Startup
SRC_Send_Capabilities
sleeps for 26ms then entertains req
from snk
SNK_Evaluate_Capability
SNK_Select_Capability
send message request to src
expects accept in 26ms or else
does hard reset
Message request received from snk
SRC_Negotiate_Capability
Send message accept
SNK_Transition_Sink
SRC_Ready
SNK_READY
Below is the issue scenario
Source Sink
SRC_Startup SNK_Startup
SRC_Send_Capabilities
sleeps for 26ms then entertains req
from snk
SNK_Evaluate_Capability
SNK_Select_Capability
send message request to src
expects accept in 26ms or else
does hard reset
Message request received from snk
during this 26ms sleep, hence it
could not send accept
Perform hard reset as accept
not received within 26ms
Fix this by processing the request message immediately after it is
received. This makes sure that request message sent from another end
is processed quickly, so that it doesn't cause other end to send
a hard reset.
Change-Id: I7ffc0772df9300f6e56bbb4e4ad9aa3f15b10b8a
Signed-off-by: Rohith Kollalsi <quic_rkollals@quicinc.com>
When the msm_serial driver defer probed, if
msm_uart_next_id increased at the beginning
of probe, should decreased when probe failed.
Change-Id: I8a2594afca17c4ab5fef78da822ffdf39377d0bb
Signed-off-by: Yue Liu <quic_yueliu@quicinc.com>
Consider a scenario where user allocates anonymous memory but does not
write to it. Here the physical pages are not yet allocated. Now when this
memory is requested to be imported, a list of newly allocated zero pages
is obtained using get_user_pages(). Currently cache flush is not done for
these pages and hence GPU sees stale data. Fix this by performing cache
flush on these pages.
Change-Id: Id1e8aa20e8a9de112761732ed92f30c01088840b
Signed-off-by: Puranam V G Tejaswi <quic_pvgtejas@quicinc.com>
- Fixed header file and warning complain
- Atl-fwd: Fix name string for mac_phy stats in ethtool-dump
- Atl-fwd: Minor additions to ethtool dump implementation
- Atl-fwd: Add ethtool-dump parser
- ATLDRV-1776: Fix for link flip during IPA ring reconfig
- Atl-fwd: Update crash-dump structure to fixed size structure
- Atl-fwd: Correct driver README file and export couple of APIs
- Atl-fwd: Populate Action resolve table and Ring data in the ethtool-dump
- ATLDRV-1766: Fix to update HWTS ring tail value to HW
- Fix error in populating the extended stats
- AQC113 register dump support
- stats+crashdump implementation draft
- Statistics and crash dump API proposal
- factor out fwd stuff to drop headers dependencies
- ATLDRV-1744] - Add FW version check in Atl-fwd driver
- Move check for PTP UDP packets to separate function, Enable TX pad insert and Handle all FFs in ptp tx TS
- ATLDRV-1582] - Link not Up after FLR reset
- ATLDRV-1653] - Packet with vlan id 1 doesn't get received when rx vlan filter is disabled
- ATLDRV-1659] - Failed to compile with CONFIG_ATLFWD_FWD=y flag on RHEL 8.3 kernel.
Change-Id: Ie1c4a42f9938b0b4dfb26418a755010baadad011
Signed-off-by: Sameer Saurabh <ssaurabh@marvell.com>
Git-commit: d86086216c6d511576d63dd216ab2cc1a8d46309
Git-repo: https://github.com/aquantia/linux-4.14-atlantic-forwarding
Signed-off-by: Raihan Haider <quic_rhaider@quicinc.com>
This change enables UAC1 and UAC2 protocol for USB peripheral
audio on sdxnightjar.
Change-Id: Icb804ab221a79ed2c581cebd7107a3a3055f40fd
Signed-off-by: Rohith Kollalsi <quic_rkollals@quicinc.com>
Add support to check RDDM cookie in ERRDBG1,ERRDBG2 and ERRDBG3
registers to debug the the bootup failure when device
failed to enter MISSION mode.
Change-Id: Idaf00c082ffda97805e958ae083a331d9f0909e9
Signed-off-by: Vivek Pernamitta <vpernami@codeaurora.org>
Signed-off-by: Ramya SR <rsr@codeaurora.org>
Currently EDL mode works over USB, if PCIe is early
enumerated on the device add support for EDL over PCIe.
Change-Id: I051ef2a5fa4f63890a1044838dd870fa0195b0b7
Signed-off-by: Yogesh Lal <ylal@codeaurora.org>
Match the QMI request message max length as per IDL changes.
Change-Id: I960c3f07cd738b6324fa4cd13ffe696870f33b4e
Signed-off-by: Michael Adisumarta <quic_madisuma@quicinc.com>
Update the reason for cpuidle state selection as scheduler
bias in case bias timer is set. Make use of unused next_event_us
parameter to replace with cpu bias status.
Change-Id: I42950b3d9d85da0ec5245c9cdbc7bcc5d609be3d
Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>
mhi_dev_write_channel is called by diag channel. While processing it,
reset interrupt is received from host. During the reset sequence the
work queue mhi_sm_wq is getting destroyed in mhi_dev_sm_exit API. When
the mhi_dev_write_channel is resumed, queuing of work is done as part of
mhi_dev_notify_sm_event. Here, as the work queue is destroyed, crash
occurred with a kernel null pointer deference error. This is a race
condition between reset sequence and mhi_dev_notify_sm_event.
To avoid this race condition added a mutex lock mhi_lock in
mhi_dev_write_channel before calling mhi_dev_notify_sm_event.
Change-Id: Idaf1c33c462b6d659f3e5ddb333afe9c6a967fac
Signed-off-by: Sai Chaitanya Kaveti <quic_skaveti@quicinc.com>
The data on NAND parts degrades overtime. This is known as data decay.
This decay is accelarated by extreme temperatures.
When data on nand is read over and over again this can also cause decay
of data. This is known as read disturb and can degrade the data in
the page/block that is read and the adjacent cells as well.
This data degrade can be corrected to a certain degree by the nand
driver/controller using the ECC but this is not sufficient specially
in products designed to last years.
The only way to combat the decay is to "refresh" the data by moving it
to a new location.
Add scrub_all support to UBI to facilitate the data refresh.
Change-Id: Ifafb82fe4ddb7120277dcfbbff79b3e087ca344d
Signed-off-by: Nikhilesh Reddy <reddyn@codeaurora.org>
Signed-off-by: Pradeep P V K <quic_pragalla@quicinc.com>
To handle corner case where mhi power on success and the boot
debug timer handler execution(i.e dumping register) runs parellel.
Even-though the timer is deleted as soon as mhi is powered on,
as this handler is still running it is armed again. Use
del_timer_sync which makes sure the timer is not queued and
the handler is not running upon its exit.
Change-Id: Ie428f3e8af8870018dfed99a5472afca14116bb3
Signed-off-by: Mohammed Siddiq <quic_msiddiq@quicinc.com>
Suppose if the userspace using ffs failed to open
ep0, it will issue a ep0_release and continuously try to do
ep0_open until it gets through.
The general operation of ep0_release is the it will destroy
the epfile and free the structures. Whole thing follows this
path:
ffs_ep0_release
ffs_data_reset
ffs_data_clear
kfree(epfiles) mark NULL
kfree(raw_desc)
raw_desc =NULL
Now the last few steps of the release process is done without
any mutex. In one functions we do kfree and another we mark
NULL.
This created a potential double free scenario, if a ep0_release
process got preempted before kfree, meanwhile another ep0_release
gets through and freed up the structures but didn't mark NULL
and within that time the preempted process wakes up and tried
to kfree again, due to structure not marked NULL will lead to
double free/invalid free.
Following is the illustration:
CPU2 CPU3
ffs_ep0_release
ffs_data_reset
ffs_data_clear
kfree(epfiles)
epfiles = NULL
--preempted--
ffs_ep0_release
ffs_data_reset
ffs_data_clear
kfree(epfiles)
epfiles = NULL
kfree(ffs->raw_descs_data)
kfree(ffs->raw_strings)
kfree(ffs->stringtabs)
--woke-up--
kfree(ffs->raw_descs_data)
<use-after-free>
raw_desc =NULL
Fix this by performing kfree and NULL operations under
ffs_data_clear within a mutex lock.
Change-Id: I1c8d92ff99c30165b06bafdd00bc9eb610f3bb76
Signed-off-by: Udipto Goswami <quic_ugoswami@quicinc.com>
Add support for pin connectivity test for BT/FM slimbus
Change-Id: Ia913bcb204f6cccc59790b9a4cef20cbd346f05c
Signed-off-by: Satish Kumar Kodishala <quic_skodisha@quicinc.com>
Due to pcie link down, wlan tried to recover from the
failure, it checked for the current context to see if
some memory has to be allocated in atomic context, but
seems it failed to take into account one condition.
To maintain wlan driver code as OS independent, code changes
are done to allocate memory always with GFP_ATOMIC flag inside
cnss_schedule_recovery() function. This avoids adding gfp flags
inside wlan driver code.
Change-Id: I255d22a46288eccc2056d870b5f3ee7575ee71eb
Signed-off-by: Gangadhar Kavalastramath <quic_gkavalas@quicinc.com>
Due to changes in Kconfig default options, genericarmv8 is out of sync.
Sync genericarmv8 defconfig to the latest code.
Change-Id: I15d753b9d9429ac623fd7b7e7eaa936b5ed2a8b1
Signed-off-by: Pavankumar Kondeti <quic_pkondeti@quicinc.com>
The function drivers have no business accessing usb_request::num_mapped_sgs
field. The UDC will use this field to cache the sgs mapped for a given
request.
Change-Id: I6a8c8c2e52a36caedfe977f517b4c04b1ad0045c
Signed-off-by: Pavankumar Kondeti <quic_pkondeti@quicinc.com>
Dump registers in case of Data CRC/timeout errors and print other
useful information.
This contains below patches as well:
4c196de7e0fd mmc: sdhci: rate limit sdhci_dumpregs() prints
16dabee056d4 mmc: sdhci: Add timestamp debug info for data timeout error
e00d878df07e mmc: sdhci: Avoid dumping registers when SD card removed.
Change-Id: I5efe8ff4bacc5da3a05829be7cac4ce40f9fc584
Signed-off-by: Sarthak Garg <quic_sartgarg@quicinc.com>
This patch adds new netlink attribute to allow a user to (optionally)
specify the desired offload mode immediately upon MACSec link creation.
Separate iproute patch will be required to support this from user space.
Change-Id: I3aa8c9c2eb65763707487267a23ea2e645d1afde
Signed-off-by: Mark Starovoytov <mstarovoitov@marvell.com>
Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Git-commit: 791bb3fcafcedd11f9066da9fee9342ecb6904d0
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Karthik Rudrapatna <quic_krudrapa@quicinc.com>