Commit Graph

1163157 Commits

Author SHA1 Message Date
qctecmdr
085288911c Merge "remoteproc: pas: update driver for SOCCP" 2024-01-24 06:11:07 -08:00
Anvesh Jain P
7983935d57 modules.list: autogvm: Add qcom-ipcc module to first stage list
Add qcom-ipcc module to autogvm first stage modules list.

Change-Id: I239055e8de557c47f0c58c8ff72fa1c709a77aff
Signed-off-by: Anvesh Jain P <quic_ajainp@quicinc.com>
2024-01-24 02:29:41 -08:00
Raghavendra Kakarla
b700529dba Revert "cpuidle: governors: qcom-lpm: Do not disable CPUidle during suspend"
This reverts commit 7dcee2dc40.

Delayed core wakeup mess up the cluster genpd sd counter post
late suspend phase. Disallow cpuidle during suspend.

Change-Id: I8f1a06214ee7a05d38c2941550877ae70abcf15c
Signed-off-by: Raghavendra Kakarla <quic_rkakarla@quicinc.com>
2024-01-24 00:56:00 -08:00
Srinath Pandey
6a0a3670c3 net: stmmac: Link serdes_loopback_v3_1 to ethqos function
Link serdes_loopback_v3_1 function pointer to qcom_serdes_loopback_v3_1
function.

Change-Id: I167dead399f4081272b044563860fb41ac111bac
Signed-off-by: Srinath Pandey <quic_srinpand@quicinc.com>
2024-01-23 23:41:00 -08:00
Patrick Daly
95bf3f5b47 dma-heap: qcom: Export qcom_tvm_heap_add_pool for in-kernel driver use
QCOM camera drivers may allocate dma-bufs from within the kernel, rather
than from userspace.

Change-Id: I461183c8e91fbf683c4e70a52f9dc6e56fb13aa3
Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
2024-01-23 22:43:22 -08:00
Amrit Anand
4f18a9f4ca soc: qcom: Add support for camera fw client for niobe
Add support for camera fw client in niobe SCT table for LLCC driver.

Change-Id: Id9608f538e703d0dffa2c510e5e7567b74a92bc0
Signed-off-by: Amrit Anand <quic_amrianan@quicinc.com>
2024-01-24 11:30:25 +05:30
Fei Yang
7b2848704a defconfig: autogvm: Enable UFS related config for direwolf
Enable UFS related config for direwolf.

Change-Id: Ib0cc9891e08ad93314167bbe16e914cd773840af
Signed-off-by: Fei Yang <quic_feiyan@quicinc.com>
2024-01-24 10:56:11 +08:00
juzhan
91bb255368 soc: qcom: hgsl: initialize metainfo
initialize metainfo with 0 before copying user data into it.

Change-Id: Ib793100a95d0138c70c1b64372039dbfc098c722
Signed-off-by: juzhan <quic_juzhan@quicinc.com>
2024-01-23 17:46:26 -08:00
qctecmdr
4d166850d9 Merge "defconfig: autogvm: Add UFS PHY driver for Lemans LVGVM" 2024-01-23 11:40:50 -08:00
Kasin Li
a7fe879bbd soc: hgsl: fix race of isync timeline when creating
In isync timeline create, after timeline object is attached into idr and
unlock the isync_timeline_lock, timeline object still is accessed. if
there is a release thread which try to release the same timeline object,
then maybe cause UAF issue.
Move the access operation into lock to avoid.

Change-Id: Ie2ff412b90924acb8f40e182f26c770b1f110a56
Signed-off-by: Kasin Li <quic_donglil@quicinc.com>
2024-01-23 22:50:57 +08:00
qctecmdr
ca0e1196e9 Merge "arm64: defconfig: Enable USB LVS test compliance module" 2024-01-22 23:45:33 -08:00
qctecmdr
d4435b97e9 Merge "remoteproc: qcom: q6v5: Early notify clients when recovery is disabled" 2024-01-22 23:45:33 -08:00
qctecmdr
8f2be5b1c4 Merge "usb: misc: lvstest: fix the logic that checks the port number from user" 2024-01-22 23:45:32 -08:00
Zou Shunxiang
d5b41f6b5d defconfig: autogvm: Add UFS PHY driver for Lemans LVGVM
Need enable CONFIG_PHY_QCOM_UFS_V4_WAIPIO for UFS PHY driver
to support Lemans LVGVM UFS passthrough.

Change-Id: I8be8b478d84095f04373cc2c8393460cb493136d
Signed-off-by: Zou Shunxiang <quic_shunxian@quicinc.com>
2024-01-23 12:55:15 +08:00
qctecmdr
e5f840a63a Merge "net: stmmac: Enable clock for EMAC driver" 2024-01-22 20:51:59 -08:00
qctecmdr
e1d8edd96c Merge "serial: msm-geni-serial: Add NULL check before freeing of buffer" 2024-01-22 20:51:58 -08:00
qctecmdr
0b7198863e Merge "serial: msm_geni_serial: Parity check failure issue" 2024-01-22 20:51:56 -08:00
qctecmdr
14b3d2f19f Merge "modules.list: Add msm-poweroff/ps-hold module for Pitti" 2024-01-22 20:51:56 -08:00
Tony Truong
a0f4db3bb6 msm: msi: set enable_irq_wake for PCIe MSI IRQ
To guarantee PCIe client MSI can wake up APPS while its in LPM,
call enable_irq_wake on the parent MSI, PCIe MSI IRQ. Doing so
will make sure these IRQs are not disabled as part of APPS system
suspend.

Change-Id: Ifdb74068a26eca7028667310d62df8b974e58927
Signed-off-by: Tony Truong <truong@codeaurora.org>
Signed-off-by: Krishna chaitanya chundru <quic_krichai@quicinc.com>
Signed-off-by: Yogesh Jadav <quic_yjadav@quicinc.com>
Signed-off-by: Joco Zhang <quic_pingshen@quicinc.com>
2024-01-23 12:26:06 +08:00
Rajashekar kuruva
c0878c41d7 arm64: defconfig: Enable USB LVS test compliance module
The LVS test module is used to verify host link layer compliance, as it
allows for control of specific root hub operations, such as bus power
management.  Enable the module in the kernel configuration, as
it should only be used in debug builds for compliance testing.

Change-Id: I3e320ba6bf5b0e0f0c607e4041aa26b2d4d8f697
Signed-off-by: Rajashekar kuruva <quic_kuruva@quicinc.com>
2024-01-21 22:13:31 -08:00
Pavankumar Kondeti
c17b9cd74c usb: misc: lvstest: fix the logic that checks the port number from user
commit 6f8914bb78fa ("usb: misc: lvstest: allow specifying port for
compliance mode") added an incorrect boolean expression to sanitize
the port number from the user. Using an arbitrary port number may result
in an invalid access. Fix this by correcting the boolean expression.

Change-Id: I7d26ace07b41c274fe9f1005c507abdefad9ea07
Signed-off-by: Pavankumar Kondeti <quic_pkondeti@quicinc.com>
Signed-off-by: Prashanth K <quic_prashk@quicinc.com>
2024-01-21 22:12:26 -08:00
Naman Jain
f6c320f01c remoteproc: qcom: q6v5: Early notify clients when recovery is disabled
In the remote subsystem crash scenario with recovery disabled, there is
no mechanism of early SSR notifications. There can be a case where
one of the SSR notifier block gets stuck while contesting for a lock
held by a task which is trying to contact the crashed remote subsystem
via glink. The problem is glink is not yet aware of the crash, and thus
keep on retrying, thus leading to lock not available for SSR notifier,
which leads to SSR notification timeout. To save some time to reboot by
panic in such situations, and avoid SSR timeouts, early notify the
clients, including glink in the recovery disabled case as well.

Change-Id: I67dde7023052ffb5b9932c0ac666f799fa7d0bbe
Signed-off-by: Naman Jain <quic_namajain@quicinc.com>
2024-01-22 10:09:30 +05:30
qctecmdr
688fbb711e Merge "defconfig: Enable QDSS Functions driver for Niobe" 2024-01-19 08:47:11 -08:00
qctecmdr
14e1ebd8a9 Merge "usb: dwc3-msm: Allow DP mode only after host mode has started" 2024-01-19 06:43:21 -08:00
qctecmdr
73ce43fb80 Merge "remoteproc: qcom: pas: Add support to boot WPSS in pitti" 2024-01-19 06:43:21 -08:00
Charan Teja Kalla
52b5629ec5 virtio: serialize the unplugging of virtio memblocks
The below scenario can cause plugging of memory block enter into oom
path thus can cause the dead lock scenario:
1) Plug 'm' memory blocks. Happens sequentially under qvm_lock +
flush(work).
2) Unplug 'n' memory blocks, that can happen once for a bunch as this
get triggered in close(fd) and asynchronously.
3) some blocks from step2 are failed thus the final updated plugged size
is much larger than 'qvm_hint_total'(which effects the requested size
for the next block to be plugged)
4) Now memory pressure triggered the below:
acquire(oom_lock)->qvm_oom_notify->plug memory block. The expectation
here is to plug the memory block but because of step 3, the requested
size will be still below the plugged size thus it takes the unplug
path which again enters into reclaim and stuck on oom_lock.

This can be avoided by serializing the step2 which happens under
qvm_lock and flush(vm->wq). For the blocks that are failed to unplug
will not lead into changing the 'qvm_hint_total' thus not effect the
requested size calculation for the next block.

Change-Id: I14bd05ef21ada9d183f00f30806b1556eb967099
Signed-off-by: Charan Teja Kalla <quic_charante@quicinc.com>
2024-01-18 19:58:47 -08:00
Sandeep Singh
40bfe6a811 remoteproc: qcom: pas: Add support to boot WPSS in pitti
Add entries to support WPSS boot for adrastea in pitti using
rproc.

Change-Id: I059c6fe44176a4bd814335b7934c3b7e5098cdf6
Signed-off-by: Sandeep Singh <quic_sandsing@quicinc.com>
2024-01-19 01:58:59 +05:30
Srinivasarao Pathipati
5e321b7e89 Merge keystone/android14-6.1-keystone-qcom-release.6.1.57 (daf56c4) into qcom-6.1
* refs/heads/tmp-daf56c4:
  FROMLIST: mm: migrate high-order folios in swap cache correctly

Change-Id: Ief52fd313a8a922caa272b8050775494170d6ad2
Upstream-Build: ks_qcom-android14-6.1-keystone-qcom-release@11305096 UKQ2.240112.001
Signed-off-by: Srinivasarao Pathipati <quic_c_spathi@quicinc.com>
2024-01-18 10:49:08 -08:00
qctecmdr
07ae530480 Merge "defconfig: pitti: enable fbe modules" 2024-01-18 10:39:21 -08:00
qctecmdr
725b5d19b0 Merge "usb: dwc3: msm-ops: Set maxpacket limit in usb_ep_set_limit call" 2024-01-18 08:31:10 -08:00
qctecmdr
2d5b1ac0f2 Merge "virtio: fix livelock from virtio_mem_run_wq" 2024-01-18 08:31:09 -08:00
qctecmdr
e44df6c0a3 Merge "backlight: qcom-spmi-wled: restrict HFRC clocks WA to PM8150L alone" 2024-01-18 08:31:08 -08:00
Wasim Nazir
ae6f070323 modules.list: Add msm-poweroff/ps-hold module for Pitti
Add ps-hold in first stage for pitti.

Change-Id: Iad49382320574f735be9b9dfaba6e14d9e92bf80
Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com>
2024-01-18 20:29:12 +05:30
Wasim Nazir
fd02cd7c44 defconfig: Enable msm-poweroff/ps-hold on Pitti
Add ps-hold to secure restart_reason during
power-off & restart.

Change-Id: I62b41ff9da5d61aba11b7ab835785d2c3c7dc849
Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com>
2024-01-18 20:29:03 +05:30
Satya Durga Srinivasu Prabhala
6a7c7c7fe8 remoteproc: pas: update driver for SOCCP
In panic path, APSS should wake-up SOCCP, so that, SOCCP can execute error
handlers before system goes down to debug issues by retaining the call
stacks as needed. Add panic notifier to send SMP2P to SOCCP from panic
path and wake-up SOCCP during shutdown path to make sure SMP2P gets
handleded in SOCCP.

While at it, add logs in error paths to assist with debug issues.

Change-Id: I0dfec2098ab6091b20a66324830591ccdf15a65f
Signed-off-by: Satya Durga Srinivasu Prabhala <quic_satyap@quicinc.com>
Signed-off-by: Kamati Srinivas <quic_kamasrin@quicinc.com>
2024-01-18 18:58:41 +05:30
Uttkarsh Aggarwal
0e3264c196 usb: dwc3-msm: LPM capability only when otg/gadget mode is supported
This change is for gadget lpm capability only when otg/gadget
mode is supported.

Change-Id: I509f0760bf49a6362b562f0bdfe6012b227462bb
Signed-off-by: Uttkarsh Aggarwal <quic_uaggarwa@quicinc.com>
2024-01-18 17:06:28 +05:30
Prashanth K
a4653c72bb usb: dwc3-msm: Allow DP mode only after host mode has started
There are scenarios where DP driver passes the lane information
using dwc3_msm_set_dp_mode() even before dwc3-msm gets the role
notification. This causes the ssphy flags to be incorrectly set,
causing the SSUSB/QMP phy to operate in USB3 only mode instead
of USB3_AND_DP mode. Consider the following case when we connect
a 2 lane monitor to DuT using Type-C-to-C cable during bootup,

1) Role None -> sm_work kicks in and drives device to suspend,
		This causes the ss phy set_suspend to be called
		& sets USB3 mode using msm_ssphy_qmp_setmode().

2) Role None -> Device (since monitor is self powered, sometimes
			ADSP passes Device role since DUT acts
			as sink during the power negotiation).

3) dwc3_msm_set_dp_mode() - sets the PHY_USB_DP_CONCURRENT_MODE
			    flag in ssphy->flags. But since the
			    DuT is in device mode, ssphy mode is
			    not initialised properly and still
			    remains in USB3 mode. This results
			    in link layer training failures and
			    aux timeouts in DP layer.

4) Device -> Host - This initialises phy in USB3 and DP mode,
		    But by this time DP layer is already in
		    bad state causing DP mirroring to fail.

Fix this allowing DP driver to call dwc3_msm_set_mode() only
after host/XHCI has started and phy is initialised. DP Altmode
driver has retry mechanism if we return -EAGAIN or -EBUSY.

And there is a case where host_notifier might call power down
ssphy using dwc3_msm_host_ss_powerdown() if the monitor has
internal hubs and peripherals like ethernet adaptor. SSPhy gets
powered down if the SS enumeration of these internal peripherals
fails. These peripherals eventually gets enumerated after retry,
and ssphy powerup happens, but there are chances this can cause
the phy to be out of concurrent mode which affects DP mirroring.
So avoid SSphy powerdown if DP mode is enabled.

Change-Id: I358ec630bc4400a4567c2aee2d160b3ba77d6a0f
Signed-off-by: Prashanth K <quic_prashk@quicinc.com>
2024-01-18 11:54:44 +05:30
qctecmdr
465c6c6a12 Merge "soc: qcom: hab: Add sanity check for dmabuf size" 2024-01-17 19:19:27 -08:00
Charan Teja Kalla
aa21375f46 virtio: fix livelock from virtio_mem_run_wq
The below live lock is reported with VM:

Thread Z: holds qvm_lock, waiting for Thread A to finish its work.
Thread A: virtio_mem_run_wq calling alloc_contig_range ->
__alloc_pages_may_oom
Thread B: a random kmalloc() allocation -> __alloc_pages_may_oom

Suppose Thread B acquires oom lock first and calls qvm_oom_notify. Then
it will wait on qvm_lock. Thread A will observe failure from
mutex_trylock(&oom_lock) as called from __alloc_pages_may_oom, and set
*did_some_progress=1 (livelock scenario).

To fix this problem, when the allocation request is from oom notifier,
try to get the qvm_lock, If acquired, other paths will be waiting on
qvm_lock. If failed, just return so that other paths with qvm_lock don't
wait on the oom_lock.

Change-Id: I7b56c79df94c9e6f738629c9e61dd23405dae475
Suggested-by: Pavan Kumar Kondeti <quic_pkondeti@quicinc.com>
Signed-off-by: Charan Teja Kalla <quic_charante@quicinc.com>
2024-01-17 21:58:52 +05:30
qctecmdr
f06d02ce23 Merge "modules.list.msm.niobe: Add clock modules to first stage init" 2024-01-17 07:43:24 -08:00
Zahir Shabbir Khan
2467f9cda8 serial: msm_geni_serial: Parity check failure issue
Data transfer error was seen over UART.
With frequent switching odd/even parity,
waveforms were observed indicating mismatch.
Uart parity registers updated as per HW doc &
added logic to clear previous setting before new.

Change-Id: I74cdf6f93d73e8f45e443da049961060e31687f3
Signed-off-by: Zahir Shabbir Khan <quic_zshabbir@quicinc.com>
2024-01-17 02:14:15 -08:00
qctecmdr
e584cccedd Merge "scsi: ufs: qcom: Add support to identify ufs device version" 2024-01-17 02:06:15 -08:00
qctecmdr
3d05bd887c Merge "soc: qcom: hgsl: Enable hgsl driver for auto gvm" 2024-01-17 02:06:14 -08:00
qctecmdr
bd90168f07 Merge "module.list: Add watchdog support for pitti" 2024-01-17 02:06:14 -08:00
qctecmdr
928becdd70 Merge "q2spi-msm-geni: Add system suspend and resume support" 2024-01-17 02:06:13 -08:00
lixiang
1bce7a89c8 soc: qcom: hab: Add sanity check for dmabuf size
When exporting a dmabuf buffer, the total size of the buffer should
NOT be less than the export size.
Added a sanity check for it and return -EINVAL if detected.

Change-Id: Ib9b03ef37bcc6ef13dca58d131f872332782eb55
Signed-off-by: lixiang <quic_lixian@quicinc.com>
2024-01-16 22:59:21 -08:00
Kalpak Kawadkar
b2cddeafb4 modules.list.msm.niobe: Add clock modules to first stage init
Add tcsrcc, clk-rpmh and cpufreq-hw modules to modules list,
to enable them to load during first stage initialization.

Change-Id: I994e8af0cdc97aaecd40178acf3b114f03cdb943
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
2024-01-16 21:27:26 +05:30
qctecmdr
828d896d4a Merge "defconfig: Enable CONFIG_CHR_DEV_SG for Pitti" 2024-01-16 07:38:55 -08:00
Manish Pandey
5aa23dd127 scsi: ufs: qcom: Add support to identify ufs device version
Add support to identify ufs device version using sdam nvmem
cell and calibarate ufs phy according to ufs device version.

Change-Id: I90f834b2010ecc5bd684dcf291f4e2996c10267d
Signed-off-by: Ram Prakash Gupta <quic_rampraka@quicinc.com>
Signed-off-by: Manish Pandey <quic_mapa@quicinc.com>
2024-01-16 20:22:21 +05:30
qctecmdr
2fed1352e4 Merge "bazel: Add secure hibernation for module S2D" 2024-01-16 01:39:57 -08:00