Commit Graph

1014688 Commits

Author SHA1 Message Date
Naman Jain
d2a9d4436a build.config.msm.waipio.tuivm: Increase DTB img size to 3MB
Update RAMdisk offset to accommodate increase in DTB img
size from 2 MB to 3 MB. This is required because many targets
are now using same DTB for different platforms and the DTB size
of 2 MB was reached.

Change-Id: I31d2304aef7222bf85671fb260ba9f2193f54164
Signed-off-by: Naman Jain <quic_namajain@quicinc.com>
2022-08-16 18:01:18 +05:30
qctecmdr
789c6ab8c7 Merge "remoteproc: helios: using SMCInvoke instead of Qseecom framework" 2022-08-04 15:32:42 -07:00
qctecmdr
dbc29ba450 Merge "rpmsg: glink: Make wakeup timeout configurable" 2022-08-04 15:32:40 -07:00
qctecmdr
63702cf97e Merge "rpmsg: glink: Remove channel decouple from rpdev release" 2022-08-04 09:07:33 -07:00
qctecmdr
f42c75b76b Merge "clk: qcom: gcc-neo: Add reset support for spad clock" 2022-08-04 05:59:28 -07:00
Kishore Kumar Ravi
362b8b1bdb rpmsg: glink: Make wakeup timeout configurable
The Glink helioscom driver can guarantee that the packet gets queued
to the glinkpkt driver but cannot guarantee the client process will
get time to run if auto sleep is enabled. This config will help
mitigate missed packets on systems where auto sleep is too aggressive.
Use the pm_wakeup_ws_event() api so a hard wakeup can be specified.
This will ensure a resume occurs if the data coming in happens while
the device is going into suspend.

Change-Id: I774f7e402d6daad9d6625d9e1659a994a9dd7f0c
Signed-off-by: Kishore Kumar Ravi <quic_kiskum@quicinc.com>
2022-08-04 05:06:12 -07:00
Kishore Kumar Ravi
f113d0205d rpmsg: qcom_glink_helioscom: fix buffer overflow and NULL dereferences
Added changes for avoiding potential buffer overflow, NULL pointer
dereference and kernel info leak.

Change-Id: Ib0a8a91845a2bccfb9bb3267a07f20d6dc68b622
Signed-off-by: Kishore Kumar Ravi <quic_kiskum@quicinc.com>
2022-08-04 04:56:25 -07:00
Kishore Kumar Ravi
fef6e16480 rpmsg: glink: Shift rx_done after client callback
Send rx_done after calling into client callback.
Added retry mechanism for helioscom_fifo_write and
helioscom_ahb_read to handle situations where system
suspend might happen while receiving data or sending
rx_done or other FIFO commands.

Change-Id: I497501b56e6735f5856e183eb83da5b8dda5b906
Signed-off-by: Kishore Kumar Ravi <quic_kiskum@quicinc.com>
2022-08-04 04:51:18 -07:00
Kishore Kumar Ravi
9765daf5df rpmsg: glink: Remove channel decouple from rpdev release
There should not be a need to decouple the channel from rpdev in the
rpdev release since that should only happen from the close commands.

Change-Id: Ie3326104119ceb1f463bcf21f47a38e339bb0826
Signed-off-by: Kishore Kumar Ravi <quic_kiskum@quicinc.com>
2022-08-04 04:44:36 -07:00
Kishore Kumar Ravi
cc0ec35d9d rpmsg: qcom_glink_helioscom: Handle intent NACK from helios
Send EAGAIN on helios responding with intent NACK.

Change-Id: Ia250c7d10cb49b0f86a8a72d008be69c4dff404d
Signed-off-by: Kishore Kumar Ravi <quic_kiskum@quicinc.com>
2022-08-04 04:39:29 -07:00
Kishore Kumar Ravi
2cf7ee5a99 rpmsg: qcom_glink_helioscom: Remove the rpmsg dev in close_ack
Un-register and register of rpmsg driver is giving an error while
re-opening closed channel. Due to decoupling rpdev from channel
before unregistering rpmsg device, the device is not being removed
giving duplication error while registering device on reopen of channel.
Added support to improve logic in destroy endpoint function.

Change-Id: I62491bea239d2e373d11f3ec8a928284e3d81e7c
Signed-off-by: Kishore Kumar Ravi <quic_kiskum@quicinc.com>
2022-08-04 04:28:08 -07:00
Kishore Kumar Ravi
69fbd9908e rpmsg: qcom_glink_helioscom: Create single API to send one packet
Added support to avoid aborting packets after partial
send to remote side. Added check to confirm if there
is enough space in fifo to send complete packet before
sending data and short commands.

Change-Id: Idd0f3d2f30e382a5b519c25cdbac52886d40c5ac
Signed-off-by: Kishore Kumar Ravi <quic_kiskum@quicinc.com>
2022-08-04 04:27:12 -07:00
qctecmdr
427effe0ab Merge "virt: gunyah: rm_core: Clean up sequence idr earlier" 2022-08-04 01:11:40 -07:00
Kalpak Kawadkar
a5e9927d33 clk: qcom: gcc-neo: Add reset support for spad clock
Add reset support for gcc_ddrss_spad_clk on NEO.

Change-Id: I901789e6e9869b5e7f9d0806e54f1438c7536c3d
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
2022-08-04 11:03:21 +05:30
Kalpak Kawadkar
a025b69829 bindings: clock: Add reset support for spad clk on NEO
Add clock reset support for gcc_ddrss_spad_clk on NEO.

Change-Id: I3900fe310ed716c1470cf23b759ec21dc89f1242
Signed-off-by: Kalpak Kawadkar <quic_kkawadka@quicinc.com>
2022-08-04 10:55:27 +05:30
Hrishabh Rajput
4eb10b3155 build.config: defconfig: Use gki_defconfig for Anorak
Move from generic_sxr_defconfig to gki_defconfig for Anorak target.
Enable the additional perf and debug configs from
generic_sxr_defconfig, which are absent in gki_defconfig.

Change-Id: I7a40f05ee7a19573a24160149398562249809333
Signed-off-by: Hrishabh Rajput <quic_hrishabh@quicinc.com>
2022-08-04 10:11:02 +05:30
Deepansh Rastogi
fb44e7f642 remoteproc: helios: using SMCInvoke instead of Qseecom framework
Migrate kernel client for Helios PIL TA usecase from legacy Qseecom
framework to pure SMCInvoke transport mechanism.

Change-Id: I717e717c6ee59bde973153f229fc277c92293a4b
Signed-off-by: Deepansh Rastogi <quic_deeprast@quicinc.com>
2022-08-04 00:24:49 +05:30
qctecmdr
1e591ee6f8 Merge "smcinvoke: Add explicit cache flush during callback req from TZ" 2022-08-03 11:18:33 -07:00
qctecmdr
df6e0af393 Merge "defconfig: Enable logbuf vendor hook driver for Anorak" 2022-08-03 08:45:43 -07:00
Nitesh Gupta
901b04bc4a smcinvoke: Add explicit cache flush during callback req from TZ
Change: During Callback request from TZ, out and in buffers
needed explicit cache coherency to be performed.

Change-Id: I2b2aee7dce3d75dc07576079f4b0d268488c5951
Signed-off-by: Nitesh Gupta <quic_nitegupt@quicinc.com>
2022-08-03 20:24:01 +05:30
Subbaraman Narayanamurthy
8d58f3911d power: supply: qti_battery_charger: add error log in wireless_fw_update()
If wireless FW name is not specified for battery_charger device,
then it's better to print an error log and bail out without
requesting a firmware.

Change-Id: Iaf384bee625b1ec69b87de6b5d309569b4b10a17
Signed-off-by: Subbaraman Narayanamurthy <quic_subbaram@quicinc.com>
2022-08-03 12:05:12 +05:30
qctecmdr
03cfa3c212 Merge "clk: qcom: gcc-diwali: Use aon ops for gcc_gpu_snoc_dvm_gfx_clk" 2022-08-02 14:44:43 -07:00
qctecmdr
a893e51770 Merge "icnss2: Handle SOC_WAKE request ACK timeout" 2022-08-02 14:44:43 -07:00
Elliot Berman
94623298e7 virt: gunyah: rm_core: Clean up sequence idr earlier
When RM sends an error for a given call, Linux can re-use that sequence
number later. Presently, the sequence number is kept as reserved and
could cause a denial of service if many messages are crafted which
always return an RM error.

Change-Id: Icc2b054ab8d110c63759e30d62650ebc9d02b234
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2022-08-02 11:01:22 -07:00
Elliot Berman
bc672049f8 virt: gunyah: rm_core: Use a single buffer to process messages from RM
The message buffer received by gh_msgq_recv is now not directly used by
any upper layers and always copied to a "buff" in gh_rm_connection, so
the same buffer can be re-used in the gh_msgq_recv loop.

Change-Id: I92988711b84b6f1e6b653c7d8cb5b66abc7a322e
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2022-08-02 11:01:11 -07:00
Elliot Berman
6fdbe50c1b virt: gunyah: rm_core: Re-use alloc'd message when sending requests
No need to allocate a message queue buffer for each message queue
fragment, re-use the same one.

Change-Id: I5743a704ec08732a2e405724ba795d2d8cea90e3
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2022-08-02 11:00:14 -07:00
Elliot Berman
b9d45e26fe virt: gunyah: rm_core: Guard against unexpected messages
Gracefully handle non-standard sequences of messages such as
continuation messages without receiving a reply/notification message
first, or a new reply/notification message without having finished the
last message sequence.

Change-Id: I52922fc9ccefb1f7dbb40fbffd2ad6b7fd1162b7
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2022-08-02 11:00:04 -07:00
Elliot Berman
f4d861e81b virt: gunyah: rm_core: Consolidate handling of complete messages
Consolidate the handling of complete replies or notifications into one
common function that is called after each message is received. This
reduces redundant lines of code.

Change-Id: Iaa52c9d07d86327498f6aa2b60fa8aaa6bfe2c7f
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2022-08-02 10:59:49 -07:00
Elliot Berman
f8532d564c virt: gunyah: rm_core: Rename connection variables
Rename "recv_buff" and "recv_buff_size" to "payload" and "size",
respectively. gh_rm_connection on tracks received buffers, so it is
redundant to add "recv". Rename "reply_err_code" to "rm_error" to make
it clear that this field is used for the resource manager's return error
code, and not some other value. While here, re-org and document the
gh_rm_connection struct.

Change-Id: I101262dd907a0e678d8d2c5232a17745f057edaf
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2022-08-02 23:27:46 +05:30
qctecmdr
a6a0839573 Merge "modules.list.anorak: Add llcc-qcom to modules list" 2022-08-02 09:55:01 -07:00
qctecmdr
b74faec3c0 Merge "defconfig: Enable Stability configs for anorak" 2022-08-02 09:55:01 -07:00
qctecmdr
ea47d9576e Merge "usb: dwc3: msm: Ensure disconnect interrupt is processed on time" 2022-08-02 07:42:37 -07:00
qctecmdr
ba0b382321 Merge "msm: kgsl: Increase read/write OT size to 96 for A662 gpu" 2022-08-02 05:18:01 -07:00
qctecmdr
46c4270745 Merge "msm: kgsl: Fix null pointer dereference in hwsched_hfi_remove" 2022-08-02 05:17:58 -07:00
Kamati Srinivas
81817e8460 defconfig: Enable Stability configs for anorak
Enable stability configs for anorak
   CONFIG_DEBUG_LOCK_ALLOC=y
   CONFIG_DEBUG_MUTEXES=y
   CONFIG_DEBUG_PREEMPT=y
   CONFIG_DEBUG_RT_MUTEXES=y
   CONFIG_DEBUG_RWSEMS=y
   CONFIG_DEBUG_SPINLOCK=y

Change-Id: I2a6f34cba55c3a5a6fbb3a3b577a3c480375aa6f
Signed-off-by: Kamati Srinivas <quic_kamasrin@quicinc.com>
2022-08-02 15:35:31 +05:30
qctecmdr
29dba9a4be Merge "defconfig: Enable ICE and FBE on anorak target" 2022-08-02 03:00:40 -07:00
Kamati Srinivas
da4c48d455 modules.list.anorak: Add llcc-qcom to modules list
Updated modules list with llcc-qcom.

Change-Id: I77cc4e24b0ca6c50fa41972f62e7c601170471a0
Signed-off-by: Kamati Srinivas <quic_kamasrin@quicinc.com>
2022-08-02 14:33:35 +05:30
Elliot Berman
e7dcbdc4df virt: gunyah: rm_core: Remove current_recv_buffer tracking
current_recv_buffer tracks the current end of an ongoing message from
resource manager. It can be easily tracked by "conection->recv_buff +
connection->recv_buff_size". Do that instead to make code clearer.

Change-Id: I191dbdbf39c802868e1c6a262ef5420c02f127b2
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2022-08-02 01:57:38 -07:00
qctecmdr
4f64969918 Merge "msm: kgsl: Add support for per pool page limit" 2022-08-02 00:25:38 -07:00
qctecmdr
a883eb1fb7 Merge "defconfig: Enable CONFIG_DYNAMIC_DEBUG for anorak" 2022-08-02 00:25:38 -07:00
Elliot Berman
586bb7d8c6 virt: gunyah: rm_core: Always allocate a connection for notifications
Currently, there is an optimized path to directly use the message queue
buffer when a received notification fits within a single message and
there aren't any fragments. This greatly complicates buffer management
and might not provide any measurable benefit.

Suppose Linux receives a notification with one fragment then a
notification with 3 fragments. In current flow, there is 1 alloc for the
first notification and 4 allocations for the 2nd notification (1 for
each message + 1 for overall combined buffer). In the new flow, we could
optimize this to 0 allocations for each message because we can re-use
the same message buffer for each fragment and then a single alloc for
the entire payload.

There is, however, a slightly increased cost for single-message
notifications in the form of an extra memcpy from the message buffer to
notification buffer. Under the code optimizations and simplifications
that come with this cost, it is a worthy cost.

Change-Id: Ib52bd332f59b108d7dab9121c0beefed0aa66994
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2022-08-02 12:42:03 +05:30
Elliot Berman
17658bf233 virt: gunyah: rm_core: Validate notifications using payload size only
Preparation for cleaning up the resource manager core.

Notification size validation needs to only be performed on the payload
size. The RM RPC header will always be present, else the RM driver would
not have been able to determine that the message is a notification.
Thus, considering the RPC header is not required.

Change-Id: Id6a561a77d693e4f8f307d9d0d96b8d173940c60
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2022-08-01 22:26:19 -07:00
qctecmdr
c236e46c16 Merge "scsi: ufs: Enable crash on error at boot" 2022-08-01 12:03:02 -07:00
qctecmdr
8e82109470 Merge "defconfig: Enable CONFIG_QCOM_QFPROM_SYS for Anorak" 2022-08-01 12:03:01 -07:00
Rahul L
77afddfc45 defconfig: Enable ICE and FBE on anorak target
Added defconfig entries for ICE(Inline Crypto Engine)
and FBE(File Block Encryption) on anorak target.

Test: Tested build compilation.

Change-Id: I76891ae893bc9928acd93617276670c3842a7c84
Signed-off-by: Rahul L <quic_rahull@quicinc.com>
2022-08-01 22:43:32 +05:30
qctecmdr
a50f91c6e6 Merge "soc: qcom: Add Ukee SoC information to socinfo" 2022-08-01 10:00:32 -07:00
qctecmdr
631865c53f Merge "soc: qcom: subsystem_sleep_stats: Add missing device destroy" 2022-08-01 10:00:32 -07:00
qctecmdr
d741be3392 Merge "cnss2: skip operations when it's under reboot" 2022-08-01 10:00:31 -07:00
qctecmdr
4ca061851b Merge "msm: adsprpc: Protect find map's API using mutex" 2022-08-01 07:40:30 -07:00
Kamati Srinivas
8253c21ddd defconfig: Enable CONFIG_DYNAMIC_DEBUG for anorak
Enable config DYNAMIC_DEBUG for anorak.

Change-Id: I296c6731de76f4e558770b957205bdba71461c27
Signed-off-by: Kamati Srinivas <quic_kamasrin@quicinc.com>
2022-08-01 19:21:29 +05:30