Commit Graph

1006307 Commits

Author SHA1 Message Date
qctecmdr
12ea6b93e8 Merge "icnss2: Indicate total bdf file to wlan fw" 2021-11-09 00:30:09 -08:00
qctecmdr
57dd865fbd Merge "build.config: modules.list.msm.waipio: add ufs modules for diwali" 2021-11-08 20:51:06 -08:00
qctecmdr
fd019f8109 Merge "input: touchscreen: nt36xxx: TLMM gpios initialization for trusted VM" 2021-11-08 20:51:05 -08:00
Woogeun Lee
68a3d0062d ANDROID: ABI: update allowed list for galaxy
Leaf changes summary: 3 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 3 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

3 Added functions:

  [A] 'function int kern_path(const char*, unsigned int, path*)'
  [A] 'function int kstrtos16(const char*, unsigned int, s16*)'
  [A] 'function void path_put(const path*)'

Bug: 205492131

Signed-off-by: Woogeun Lee <woogeun.lee@samsung.com>
Change-Id: Ice467d47203335bccb9a3a7006e0ecfb97d01714
2021-11-09 04:44:01 +00:00
Manikandan Mohan
28b4582251 cnss2: Add sysfs entry for charger mode
WLAN is not needed in charger mode. Thus add a sysfs entry to notify
charger mode to cnss platform driver to ignore wlan init request.

Change-Id: I4719b16e7fa6914c253018284b5a5d80acf14bbb
Signed-off-by: Manikandan Mohan <quic_manikand@quicinc.com>
2021-11-08 17:41:27 -08:00
Guru Das Srinagesh
8b32f7b699 firmware: qcom_scm: Handle Waitqueue operations iteratively
Instead of calling __scm_smc_call() recursively to make the
waitqueue-specific SMC calls, make them directly by populating the SMC
call arguments by hand and calling __scm_smc_do_quirk().

Motivating points for this change:
1. With the exception of get_wq_ctx(), the other two waitqueue-specific
   SMC calls wq_wake_ack() and wq_resume() can return WAIT_SLEEP, and
   this cycle of attempting to resume and sleeping can take place
   several times. With recursive logic, this can potentially lead to
   stack overflow.
2. If an SMC client call has received WAITQ_SLEEP, it must prevent other
   fresh client calls from being made until it has reached completion
   (success or error). Therefore, handle the waitqueue operations within
   the mutex qcom_scm_lock.

Use a do-while loop to iteratively check the return values of
wq_resume() and wq_wake_ack() for WAITQ_SLEEP or WAITQ_WAKE.

Change-Id: I937eb00c753903885fb211abb2bfeec5c431ee35
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
2021-11-08 17:34:02 -08:00
qctecmdr
604ad7045d Merge "iommu: qcom-iommu-util: Fix out-of-sync data structure" 2021-11-08 17:26:55 -08:00
Android Build Coastguard Worker
d89be32443 Snap for 7894567 from daa5d38561 to android12-5.10-keystone-qcom-release
Change-Id: I01f7b9bd4a8229de29e29256c05111deffdafb60
2021-11-09 01:00:29 +00:00
qctecmdr
95362691c6 Merge "build.config : Add build config for Parrot" 2021-11-08 12:28:06 -08:00
qctecmdr
fb92988e87 Merge "sched/walt/walt_rt: Improve the scheduler" 2021-11-08 12:28:04 -08:00
Elliot Berman
fb247ebba9 ANDROID: Add android_vh_rproc_recovery_set
Leaf changes summary: 2 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 1 Added variable

1 Added function:

  [A] 'function int __traceiter_android_vh_rproc_recovery_set(void*, rproc*)'

1 Added variable:

  [A] 'tracepoint __tracepoint_android_vh_rproc_recovery_set'

Bug: 205534894
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
Change-Id: Ibd421d3b1b756f3c7f6283e1d697b865ea89b480
2021-11-08 20:26:32 +00:00
Elliot Berman
14eae186e4 ANDROID: rproc: Add vendor hook when setting recovery mode
Add vendor hook when setting recovery mode to notify coprocessor when
mode is changed.

Bug: 205534894
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
Change-Id: Ie41170deb0426a7bcfeed8a51cc4e8e1a427592a
2021-11-08 20:26:18 +00:00
BIVASH KUMAR SINGH
230e52b973 input: touchscreen: nt36xxx: fix bootup crash
This change fixes bootup crash if trusted touch related dtsi entries
are not present.

Change-Id: I5436a5c90bce7f8705c98f4c2e861b1471985a05
Signed-off-by: BIVASH KUMAR SINGH <bkumarsi@codeaurora.org>
2021-11-08 12:16:22 -08:00
Siddharth Gupta
117ca9a5b6 pci: controller: qcom: Register for early SSR notifications
This change registers for early SSR notifications for the ADSP
remoteproc, which is responsible for running the DRV logic
when APSS enters suspend mode.

Change-Id: Ib81c61835476c582d4f07eb102c0e0594fe4a5bf
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
2021-11-08 11:13:06 -08:00
Siddharth Gupta
9f66e73612 remoteproc: qcom: Add APIs to provide early notifications
Devices which cannot tolerate latencies in notification after a
remoteproc crash (such as PCIe), need a way to be notified in a
fraction of a second to ensure they meet the QoS requirements.
This change adds APIs to provide a way for such device drivers
to register for early notifications.

Change-Id: Ieee0c3868962fc825407d7292e4be9f10248c864
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
Signed-off-by: Mukesh Ojha <quic_mojha@quicinc.com>
2021-11-08 11:10:36 -08:00
Siddharth Gupta
73236ed921 remoteproc: qcom: Register SSR subdevice with the q6v5 IRQ driver
To allow for early notifications to be sent to the SSR clients the q6v5
driver needs a way to invoke the SSR subdevice for the remoteproc. This
change adds an API in the q6v5 IRQ layer to optionally register the SSR
subdevice, and registers the SSR subdevice in the PAS driver.

Change-Id: I450d262575538b6b2c2e038a41fd0cca234bc3b2
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
2021-11-08 11:10:35 -08:00
Bart Van Assche
56cc81bb39 BACKPORT: FROMLIST: scsi: ufs: Fix a deadlock in the error handler
The following deadlock has been observed on a test setup:
* All tags allocated.
* The SCSI error handler calls ufshcd_eh_host_reset_handler()
* ufshcd_eh_host_reset_handler() queues work that calls ufshcd_err_handler()
* ufshcd_err_handler() locks up as follows:

Workqueue: ufs_eh_wq_0 ufshcd_err_handler.cfi_jt
Call trace:
 __switch_to+0x298/0x5d8
 __schedule+0x6cc/0xa94
 schedule+0x12c/0x298
 blk_mq_get_tag+0x210/0x480
 __blk_mq_alloc_request+0x1c8/0x284
 blk_get_request+0x74/0x134
 ufshcd_exec_dev_cmd+0x68/0x640
 ufshcd_verify_dev_init+0x68/0x35c
 ufshcd_probe_hba+0x12c/0x1cb8
 ufshcd_host_reset_and_restore+0x88/0x254
 ufshcd_reset_and_restore+0xd0/0x354
 ufshcd_err_handler+0x408/0xc58
 process_one_work+0x24c/0x66c
 worker_thread+0x3e8/0xa4c
 kthread+0x150/0x1b4
 ret_from_fork+0x10/0x30

Fix this lockup by making ufshcd_exec_dev_cmd() allocate a reserved
request.

This patch is closely related to the upstream patch with the same title.

Bug: 205080886
Link: https://lore.kernel.org/linux-scsi/700f0463-23a9-8465-f712-1188cb884dea@acm.org/T/#u
Change-Id: I9e9ba3f45ba23ecf576380aa19701d3437af6cdd
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2021-11-08 10:01:41 -08:00
Bart Van Assche
ff748ee298 BACKPORT: FROMLIST: scsi: core: Reserve one tag for the UFS driver
This is a GKI-compatible version of the following patch: "scsi: core:
Add support for reserved tags".

Bug: 205080886
Link: https://lore.kernel.org/linux-scsi/20211103000529.1549411-2-bvanassche@acm.org.
Change-Id: I6273114ae8cc6c2a74c72f7bc090eb0319ec5772
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2021-11-08 10:01:41 -08:00
Bart Van Assche
94ca15ec92 BACKPORT: FROMLIST: scsi: ufs: Limit the queue depth to host->can_queue
Before reducing 'can_queue' from 32 to 31, make
ufshcd_change_queue_depth() restrict the queue depth to 'can_queue'
instead of hba->nutrs (32). This is a backport of a subset of the
following patch: "[PATCH 2/2] scsi: ufs: Fix a deadlock in the error
handler".

Bug: 205080886
Link: https://lore.kernel.org/linux-scsi/20211103000529.1549411-3-bvanassche@acm.org/
Change-Id: I6e694a9698f91293fc2987217e3f939726c397dd
Signed-off-by: Bart Van Assche <bvanassche@google.com>
2021-11-08 10:01:41 -08:00
Daniel Norman
daa5d38561 Merge keystone/mirror-android12-5.10 into keystone/android12-5.10-keystone-qcom-dev
* keystone/mirror-android12-5.10:
  ANDROID: GKI: fix up abi breakage from "cfg80211: fix management registrations locking"
  UPSTREAM: cfg80211: fix management registrations locking

Signed-off-by: Daniel Norman <danielnorman@google.com>
Change-Id: Ia622e37ce7a0502213c37294b0e1f1998960b2f4
2021-11-08 09:27:30 -08:00
qctecmdr
9e6a07ecab Merge "msm: kgsl: Add GBIF L2 CGC control with A6x CGC" 2021-11-08 07:07:43 -08:00
BIVASH KUMAR SINGH
b7e7b339aa input: touchscreen: nt36xxx: TLMM gpios initialization for trusted VM
This change will initialize the tlmm gpios for trusted touch.

Change-Id: Ia2d1c66aac8e0be71ede7bba02c892e66773f1a7
Signed-off-by: BIVASH KUMAR SINGH <bkumarsi@codeaurora.org>
2021-11-08 05:44:21 -08:00
Konstantin Dorfman
81e68143f1 soc: qcom: spcom: maintain wakeup window when active packet exchange
This change activate PM wakeup source in following way:
1. Activate on receive a spcom request from SPU
2. Close window in the end of packet exchange or timeout:
   - end of tx of spcom response to SPU (server case)
   - end of delivery of spcom request to usersace (client case)
   - timeout for handling a packet exchange for 2 seconds

Change-Id: Ibbb6ba9870226299e5731fda6133c3dde780ca25
Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>
2021-11-08 13:19:02 +02:00
qctecmdr
34cb269ff8 Merge "Revert "Add qseecom logging on unload path"" 2021-11-08 00:23:43 -08:00
Gauri Joshi
d036500c1b msm: mhi-dev: Block the adb read when mhi is in suspend
Adb client on device expects a blocking read from mhi. While mhi
is in suspend, it is returning with an error value. This is
causing the adb client to spawn every 1ms causing error code to
flood the serial logs. If mhi is in suspend and adb client tries
to poll for data, remove the read request from the list to block
the read.

Change-Id: Idaa70568cbddaf6b99fb5c6722a4da594d3e066d
Signed-off-by: Gauri Joshi <gaurjosh@codeaurora.org>
2021-11-07 23:05:40 -08:00
Hareesh Gundu
dde4355ea9 msm: kgsl: Add GBIF L2 CGC control with A6x CGC
GBIF L2 CGC is not covered in UCHE CGC control.
Hence handle GBIF L2 CGC settings separately.

Change-Id: I9f33b2a868a81a68c5957990f737a3eeab7cd6fc
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Signed-off-by: Harshitha Sai Neelati <hsaineel@codeaurora.org>
2021-11-08 12:34:51 +05:30
Subramanian Ananthanarayanan
a43884c7e6 msm: mhi: Send Ch cmd ack in async fashion
The CH completion commands are sent in async fashion, whereas the ch
cmd ack event is send in a sync fashion. This can lead to the host
receiving completions post the reset ch ack. These ch completion
events post ch reset would be treated as OOS events.
Making changes to send cmd ack events in async fashion to maintain the
ordering that is being sent to the host.

Change-Id: Ib2d568ea1d69486f3d1ebf4e7b209bba3315eba5
Signed-off-by: Subramanian Ananthanarayanan <skananth@codeaurora.org>
Signed-off-by: Gauri Joshi <gaurjosh@codeaurora.org>
Signed-off-by: Lakshmi Prasanna Meka <quic_lmeka@quicinc.com>
2021-11-08 12:11:45 +05:30
qctecmdr
33b8a9ae97 Merge "icc: dt-bindings: add endpoint IDs for interconnects for Neo" 2021-11-07 22:08:41 -08:00
qctecmdr
d461dc6a57 Merge "arm64: defconfig: Enable interconnect driver for Parrot" 2021-11-07 22:08:41 -08:00
Nitesh Gupta
fedde1e3bd msm: mhi_dev: Poll for ipa_dma_disable during MHI suspend
Poll for ipa_dma_disable prior to entering mhi suspend, until it returns
success. this is to prevent IPA disable failure in case on
pending transfers.

Change-Id: I38143284447b86ce34c47e100e6fe0c23cf28f0b
Signed-off-by: Subramanian Ananthanarayanan <skananth@codeaurora.org>
Signed-off-by: Nitesh Gupta <nitegupt@codeaurora.org>
Signed-off-by: Gauri Joshi <gaurjosh@codeaurora.org>
Signed-off-by: Lakshmi Prasanna Meka <quic_lmeka@quicinc.com>
2021-11-08 10:55:35 +05:30
qctecmdr
6ef160d065 Merge "phy: ufs: Add ufs phy support for diwali" 2021-11-07 19:56:55 -08:00
qctecmdr
715c375c7d Merge "soc: qcom: spcom: allow a re-started daemon to re-register channels" 2021-11-07 02:11:51 -08:00
Odelu Kukatla
c1275fdbd5 icc: dt-bindings: add endpoint IDs for interconnects for Neo
Add master and slave ID constants for all Qualcomm Technologies, Inc.
Neo interconnect providers which consumers can use to set bandwidth
constraints and find paths in the NoC (Network-On-Chip) topology.

Change-Id: I2c0e62f96ba6288b6903f0dd13a2d68aa7b3ec49
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
2021-11-06 21:30:17 +05:30
Greg Kroah-Hartman
5b87b8d669 ANDROID: GKI: fix up abi breakage from "cfg80211: fix management registrations locking"
Commit 4c22227e39 ("cfg80211: fix management registrations locking")
in 5.10.77, which is commit 09b1d5dc6ce1 ("cfg80211: fix management
registrations locking") upstream, moved the mgmt_registrations_lock out
of struct wireless_dev.  This did not change the structure size, but
caused a CRC change in the structure pointer, which tripped the abi
checker.

So restore the variable, and comment that this is not used anymore.  No
driver should ever be touching this so it is safe.

Note, using a __GENKSYMS__ hack would work, as the overall structure
size remains the same when this variable is removed, BUT the warning
that the field is gone is reported by libabigail correctly, which would
require a .xml update, so it's not worth it.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ibcfe743833860e6f75611d7ebed1036a77be0a69
2021-11-06 12:02:55 +00:00
Johannes Berg
a7d87a08b4 UPSTREAM: cfg80211: fix management registrations locking
The management registrations locking was broken, the list was
locked for each wdev, but cfg80211_mgmt_registrations_update()
iterated it without holding all the correct spinlocks, causing
list corruption.

Rather than trying to fix it with fine-grained locking, just
move the lock to the wiphy/rdev (still need the list on each
wdev), we already need to hold the wdev lock to change it, so
there's no contention on the lock in any case. This trivially
fixes the bug since we hold one wdev's lock already, and now
will hold the lock that protects all lists.

Cc: stable@vger.kernel.org
Reported-by: Jouni Malinen <j@w1.fi>
Fixes: 6cd536fe62 ("cfg80211: change internal management frame registration API")
Link: https://lore.kernel.org/r/20211025133111.5cf733eab0f4.I7b0abb0494ab712f74e2efcd24bb31ac33f7eee9@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>

Bug: 204384349
(cherry picked from commit 09b1d5dc6ce1c9151777f6c4e128a59457704c97)
Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Id1bca68277be3a5f7c7329a8195018946f686bdb
2021-11-06 12:02:45 +00:00
Odelu Kukatla
e98caf0053 arm64: defconfig: Enable interconnect driver for Parrot
Enable the interconnect driver so that consumers are
able to obtain their path handles properly.

Change-Id: I39cb8d60fd1c8f1a0c986e28e7dbfb61acc8fe56
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
2021-11-06 01:21:02 -07:00
Odelu Kukatla
bb4e28e2f7 interconnect: qcom: Add interconnect stubs for Parrot
Add stub interconnect providers for config_noc, dc_noc,
gem_noc, lpass_ag_noc, mc_virt_noc, mmss_noc, nsp_noc
and system_noc. This will allow consumers to get their
path and set bandwidth constraints on them.

Change-Id: Ibe4324defd8003ab74da74b0d13ed82e2ebd33eb
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
2021-11-06 01:20:48 -07:00
qctecmdr
45768ac99f Merge "sched/walt: Improve the scheduler" 2021-11-05 23:26:53 -07:00
qctecmdr
da32ab627a Merge "byte-cntr: Enable qdss clock before getting the rwp offset" 2021-11-05 23:26:53 -07:00
qctecmdr
e526f4ad30 Merge "soc: qcom: sync_fence: add changes to fix memory leakage issue" 2021-11-05 23:26:52 -07:00
qctecmdr
cd625fc289 Merge "arm64: defconfig: Enable DEBUGCC on DIWALI" 2021-11-05 23:26:51 -07:00
Android Build Coastguard Worker
949305922e Snap for 7888891 from f9515a1b6d to android12-5.10-keystone-qcom-release
Change-Id: I0bba6281fd617aebbfb96e72d7deab9e1cca21fd
2021-11-06 00:00:43 +00:00
Shaleen Agrawal
9aa15a606d sched: walt: add trace in update_cpu_capacity
When cpu capacities are updated, due to either thermal or frequency
limits, print trace output to understand why the change happened.

Change-Id: I5c09ddbcbfae5b26a23d6d2ca07b38c89159f878
Signed-off-by: Shaleen Agrawal <shalagra@codeaurora.org>
2021-11-05 16:35:11 -07:00
Patrick Daly
11f61af7fb iommu: qcom-iommu-util: Fix out-of-sync data structure
Ensure the rbtree entry which saves the pages associated with
a vmalloc address is removed prior to vunmapping that vmalloc
address.

Thread 1:
fast_smmu_free
  qcom_dma_common_free_remap
    vunmap(cpu_addr)
Thread 2:
fast_smmu_alloc
  qcom_dma_common_pages_remap
    /* get address which was just freed by Thread1 */
    cpu_addr = vmap
    /* Error - cpu_addr not yet removed from by Thread1 */
    qcom_insert_vm_area

Change-Id: I4b5a621f030a1839625c4dccda4dbced4c09c584
Signed-off-by: Patrick Daly <quic_pdaly@quicinc.com>
2021-11-05 14:40:21 -07:00
qctecmdr
be8d3f9bf0 Merge "msm: kgsl: Update GPUCC Offsets for A662" 2021-11-05 12:16:05 -07:00
qctecmdr
b25c16a315 Merge "icc: dt-bindings: add endpoint IDs for interconnects for Parrot" 2021-11-05 12:16:04 -07:00
qctecmdr
38dc430cd2 Merge "sched: walt: Improve the scheduler" 2021-11-05 12:16:02 -07:00
Harshdeep Dhatt
e34eeed4cc msm: kgsl: Fix sysfs deadlock in kgsl
If kgsl mem entries are being accessed in sysfs and if putting
back the mementry refcount triggers a free of the process private,
we have a mutex deadlock. Because freeing the process private triggers
removal of the sysfs directories from within a thread that is accessing
the sysfs files. Fix this by taking an extra refcount on the process
private and then putting it back in a deferred manner.

Change-Id: I7db0e6144cabec2a86df9afbc500cd0ba3af0291
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
2021-11-05 11:24:35 -06:00
Daniel Norman
f9515a1b6d Merge keystone/mirror-android12-5.10 into keystone/android12-5.10-keystone-qcom-dev
* keystone/mirror-android12-5.10:
  ANDROID: GKI: Update symbol list for VIVO
  FROMGIT: usb: gadget: f_mass_storage: Disable eps during disconnect
  FROMGIT: usb: gadget: udc: core: Revise comments for USB ep enable/disable
  UPSTREAM: tracing/cfi: Fix cmp_entries_* functions signature mismatch
  FROMGIT: scsi: ufshpb: Do not report victim error in HCM
  FROMGIT: scsi: ufshpb: Verify that num_inflight_map_req is non-negative
  FROMGIT: scsi: ufshpb: Use a correct max multi chunk
  FROMGIT: scsi: ufshpb: rewind the read timeout on every read
  ANDROID: sched: Add vendor hooks for sync_entity_load_avg
  ANDROID: GKI: Add symbols to abi_gki_aarch64_oplus
  ANDROID: GKI: Update symbols to symbol list
  ANDROID: fips140: add name and version, and a function to retrieve them
  ANDROID: fips140: add service indicators

Signed-off-by: Daniel Norman <danielnorman@google.com>
Change-Id: Idbc0a2bbb1e33c64da8ec44f46a9ebaf2d57c42a
2021-11-05 09:56:32 -07:00
Akhil P Oommen
f583f456d0 msm: kgsl: Correct a6xx CP init sequence
Currently, the a6xx CP init sequence has a stale dword at the end. Fix
this by correcting the size of the CP init sequence.

Change-Id: I91fb37ed11e758f50a56287a8a17fdc8061a55ae
Signed-off-by: Akhil P Oommen <akhilpo@codeaurora.org>
2021-11-05 21:43:45 +05:30