Commit graph

904,806 commits

Author SHA1 Message Date
qctecmdr
dbac7e54dd Merge "net: introduce the MACSEC netdev feature" 2022-01-29 22:54:34 -08:00
qctecmdr
c2e807493a Merge "usb: pd: Process request message as soon as it is received" 2022-01-29 22:54:34 -08:00
qctecmdr
9bd352ef1a Merge "msm_serial: msm_uart_next_id decrease when probe failed" 2022-01-29 22:54:34 -08:00
qctecmdr
5d371bf947 Merge "msm: kgsl: Perform cache flush on the pages obtained using get_user_pages()" 2022-01-29 22:54:33 -08:00
qctecmdr
b9b4d35b0f Merge "cnss2: Wlan is going into recovery mode due to pcie link down" 2022-01-29 22:54:33 -08:00
qctecmdr
aaa533fbc7 Merge "power: reset: qcom-dload-mode: Add support for EDL over PCIe" 2022-01-29 22:54:32 -08:00
Fenglin Wu
8d0283a368 input: qcom-hv-haptics: reset FIFO play logic when hBoost is busy
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>
2022-01-25 17:41:29 -08:00
Antoine Tenart
b96af0f331 net: introduce the MACSEC netdev feature
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>
2022-01-24 15:37:35 -08:00
Rohith Kollalsi
0c110427c7 usb: pd: Process request message as soon as it is received
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>
2022-01-24 02:29:38 -08:00
Yue Liu
2c57ec46e1 msm_serial: msm_uart_next_id decrease when probe failed
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>
2022-01-24 00:13:36 -08:00
qctecmdr
d6a2023cd2 Merge "atlantic forwarding driver v1.1.23" 2022-01-23 02:52:10 -08:00
qctecmdr
53d55f6a17 Merge "msm: mhi_dev: Keeping event req memory without clearing in close channel" 2022-01-22 22:25:45 -08:00
qctecmdr
1d97d4833c Merge "msm: mhi: Check ERRDBG registers for device status" 2022-01-22 22:25:45 -08:00
qctecmdr
3035689d90 Merge "atlantic forwarding driver v1.1.22" 2022-01-22 22:25:45 -08:00
qctecmdr
9172e2d415 Merge "defconfig: Enable usb peripheral audio on sdxnightjar" 2022-01-22 22:25:44 -08:00
qctecmdr
ab1815a767 Merge "msm: ipa: match QMI request message length as per IDL" 2022-01-22 22:25:43 -08:00
Puranam V G Tejaswi
0f82107638 msm: kgsl: Perform cache flush on the pages obtained using get_user_pages()
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>
2022-01-18 18:06:17 +05:30
Sameer Saurabh
2993024f71 atlantic forwarding driver v1.1.23
- Add License headers to atl_dump parser files.
- Fixed cpus_read lock/unlock apis for latest kernel
- Fixed the coalescing APIs for the latest kernel.

Change-Id: Ic01e197195e715eca6388759298d54c4c51b0fe8
Signed-off-by: Sameer Saurabh <ssaurabh@marvell.com>
Git-commit: 5721b086beed3aa34fd8b2c503b169b19b302664
Git-repo: https://github.com/aquantia/linux-4.14-atlantic-forwarding
Signed-off-by: Raihan Haider <quic_rhaider@quicinc.com>
2022-01-18 03:18:01 -08:00
Sameer Saurabh
1298adebf7 atlantic forwarding driver v1.1.22
- 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>
2022-01-18 03:17:29 -08:00
Rohith Kollalsi
bc6f276779 defconfig: Enable usb peripheral audio on sdxnightjar
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>
2022-01-17 20:36:55 -08:00
Vivek Pernamitta
66a25bec60 msm: mhi: Check ERRDBG registers for device status
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>
2022-01-17 20:26:58 -08:00
qctecmdr
f89c40b130 Merge "msm: ep_pcie: Adding log for PHY version 7" 2022-01-12 02:39:38 -08:00
qctecmdr
74d8eab695 Merge "msm: ipa: New APIs for PINE+PINE dual wifi support" 2022-01-11 22:19:47 -08:00
Shivali M S
701425a048 msm: ep_pcie: Adding log for PHY version 7
Adding log as 5nm QMP for PHY version 7.

Change-Id: Ia109d971e80d919b29dac5cd3bcbd02019bdfb18
Signed-off-by: Shivali M S <quic_shivms@quicinc.com>
2022-01-11 18:06:38 +05:30
Yogesh Lal
1508778d30 power: reset: qcom-dload-mode: Add support for EDL over PCIe
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>
2022-01-11 11:02:57 +05:30
Michael Adisumarta
59ba0d8951 msm: ipa: match QMI request message length as per IDL
Match the QMI request message max length as per IDL changes.

Change-Id: I960c3f07cd738b6324fa4cd13ffe696870f33b4e
Signed-off-by: Michael Adisumarta <quic_madisuma@quicinc.com>
2022-01-10 17:35:05 -08:00
qctecmdr
d70a1a1959 Merge "ubi: Add scrub_all support to UBI" 2022-01-10 09:43:08 -08:00
Sivakanth Vaka
62bdfdbbd5 msm: ipa: New APIs for PINE+PINE dual wifi support
Add per instance APIs to support dual wifi attach.

Change-Id: I9330382fde5e5c727dd5a619b863adbed9f0c661
Signed-off-by: Sivakanth Vaka <svaka@codeaurora.org>
Signed-off-by: Piyush Dhyani <<quic_pdhyani@quicinc.com>
2022-01-10 19:50:18 +05:30
qctecmdr
ab3960446c Merge "msm: mhi_dev: Added mutex lock in mhi_dev_write_channel" 2022-01-10 04:12:07 -08:00
Maulik Shah
36d60ecc86 cpuidle: lpm-levels: Log sched bias reason in trace
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>
2022-01-09 23:44:01 -08:00
Sai Chaitanya Kaveti
24ebbc28a2 msm: mhi_dev: Added mutex lock in mhi_dev_write_channel
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>
2022-01-09 21:19:16 -08:00
Pradeep P V K
ec242d217d ubi: Add scrub_all support to UBI
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>
2022-01-09 20:36:47 -08:00
qctecmdr
9ac5330952 Merge "cnss2: Add code to address boot timer debug corner case" 2022-01-07 17:28:16 -08:00
Abhishek Chauhan
39ae50f6ad arch: arm: defconfig: sdxlemur: Enable MACSEC config
This config enables the MACSEC feature.

Change-Id: Ida828ccac6e5bd4ba003bae87157bede10d793ca
Signed-off-by: Abhishek Chauhan <quic_abchauha@quicinc.com>
2022-01-07 11:02:37 -08:00
Mohammed Siddiq
a3bfceb5af cnss2: Add code to address boot timer debug corner case
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>
2022-01-07 06:30:14 -08:00
qctecmdr
ced73a7604 Merge "usb: f_fs: Fix Double free from ffs_data_clear" 2022-01-06 20:30:36 -08:00
qctecmdr
48ad9e8cc1 Merge "BTFM SLIM:Add support for pin connectivity test" 2022-01-06 09:56:45 -08:00
Udipto Goswami
4925b858ac usb: f_fs: Fix Double free from ffs_data_clear
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>
2022-01-05 20:27:27 -08:00
Satish Kumar Kodishala
5582182dad BTFM SLIM:Add support for pin connectivity test
Add support for pin connectivity test for BT/FM slimbus

Change-Id: Ia913bcb204f6cccc59790b9a4cef20cbd346f05c
Signed-off-by: Satish Kumar Kodishala <quic_skodisha@quicinc.com>
2022-01-05 04:40:57 -08:00
qctecmdr
a0072c96a9 Merge "usb: f_qdss: Remove usb_request::num_mapped_sgs access" 2022-01-05 00:43:54 -08:00
Gangadhar Kavalastramath
c72e457856 cnss2: Wlan is going into recovery mode due to pcie link down
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>
2022-01-04 00:29:56 -08:00
Pavankumar Kondeti
cb6bfc80a2 arm64: defconfig: Default updates for genericarmv8
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>
2022-01-04 13:33:48 +05:30
Pavankumar Kondeti
ea6dfe28c6 usb: f_qdss: Remove usb_request::num_mapped_sgs access
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>
2022-01-03 19:54:31 -08:00
qctecmdr
6c2909cd85 Merge "mmc: sdhci: Dump registers in case of DATA CRC/timeout errors" 2022-01-02 20:11:32 -08:00
qctecmdr
cace14e427 Merge "input: qcom-hv-haptics: delay hBoost turning off" 2022-01-02 20:11:30 -08:00
qctecmdr
1ebc5a867d Merge "net: macsec: add support for specifying offload upon link creation" 2022-01-02 09:00:23 -08:00
qctecmdr
f885eea1d5 Merge "Merge android11-5.4.147+ (983a7e7) into msm-5.4" 2021-12-31 03:14:52 -08:00
Sarthak Garg
e9a8ea4493 mmc: sdhci: Dump registers in case of DATA CRC/timeout errors
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>
2021-12-31 13:09:15 +05:30
Mark Starovoytov
a00bf2b8d6 net: macsec: add support for specifying offload upon link creation
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>
2021-12-28 09:52:18 -08:00
qctecmdr
8cd841af1b Merge "defconfig: sdxlemur: Enable SHA512 crypto in kernel" 2021-12-28 00:41:19 -08:00