summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-03-03Merge cherrypicks of ['partner-android-review.googlesource.com/2755567', ↵android-wear-13.0.0_r0.14android-msm-eos-5.15-tm-wear-kr3-pixel-watchAndroid Build Coastguard Worker
'partner-android-review.googlesource.com/2755569'] into android13-msm-pixelwatch-5.15-24Q1-release. Change-Id: I4ff7aa83b6d58ccb9834b109e071e3c9ad2d62f2 Signed-off-by: Coastguard Worker <android-build-coastguard-worker@google.com>
2024-03-03Merge KGSL fixes for May 2024 SMR into android13-msm-pixelwatch-5.15Fred Lundquist
kgsl: Gen7: Enable access protection for LPAC pipeline Bug: 323918714 Bug: 324446026 Signed-off-by: Fred Lundquist <flundquist@google.com> (cherry picked from commit f40a4b93e210f4bb8ee2374ab5bf73a8bcec9cf5) (cherry picked from https://partner-android-review.googlesource.com/q/commit:f71334cb85eedd3ad3692645b589609d7ad291b6) Merged-In: I146715b1b710a2c3d5ebef37c678b83ea49374ee Change-Id: I146715b1b710a2c3d5ebef37c678b83ea49374ee
2024-03-03Merge KGSL fixes for May 2024 SMR into android13-msm-pixelwatch-5.15Fred Lundquist
msm: kgsl: Do not free sharedmem if it cannot be unmapped Bug: 324446026 Bug: 318393843 Signed-off-by: Fred Lundquist <flundquist@google.com> (cherry picked from commit bad264f896099d73edb52172594bdf8cba1172a1) (cherry picked from https://partner-android-review.googlesource.com/q/commit:6b7ddcfdb4a0ef731aabc8e0cf73f7993a02e203) Merged-In: Ie6922a3d63be6c2494567167378038ad45fe06aa Change-Id: Ie6922a3d63be6c2494567167378038ad45fe06aa
2023-11-16Merge cherrypicks of ['partner-android-review.googlesource.com/2656996'] ↵android-wear-13.0.0_r0.8android-wear-13.0.0_r0.12android-wear-13.0.0_r0.10android-msm-eos-android13-wear-kr3-pixel-watchAndroid Build Coastguard Worker
into android13-msm-pixelwatch-5.15-eos-release. Change-Id: Ib3623b5713b5b95bb8d20109c9b46aaa3aa0d201
2023-11-16Merge KGSL fixes for January 2024 EMR into android13-msm-pixelwatch-5.15Andrew Evans
msm: kgsl: Simplify timelineobj cleanup msm: kgsl: Defer drawobj_sync_timeline_fence_work() to a workqueue Bug: 307604078 Signed-off-by: Andrew Evans <andrewevans@google.com> (cherry picked from https://partner-android-review.googlesource.com/q/commit:5f0124adcdfe68e348874b5d5b12db3bcae3c104) Merged-In: I82919a18ee097083ca50727ababa5cd69827880c Change-Id: I82919a18ee097083ca50727ababa5cd69827880c
2023-10-05Merge cherrypicks of ['partner-android-review.googlesource.com/2629628'] ↵android-wear-13.0.0_r0.6Android Build Coastguard Worker
into android13-msm-pixelwatch-5.15-eos-release. Change-Id: I93956866216dd73969761a66f1c58215d3f24af5
2023-10-05Merge KGSL security fixes into android13-msm-pixelwatch-5.15Andrew Evans
msm: kgsl: Limit the syncpoint count for AUX commands msm: kgsl: Prevent wrap around during user address mapping Bug: 299649795 Bug: 300941008 Signed-off-by: Andrew Evans <andrewevans@google.com> (cherry picked from https://partner-android-review.googlesource.com/q/commit:abecb8dd35388c365dfa69617949ffb0997b25e6) Merged-In: I01a27482be96fa5c68b593fbd84f9189834afb96 Change-Id: I01a27482be96fa5c68b593fbd84f9189834afb96
2023-05-18Kbuild: Don't try to build from an Android treeandroid-wear-13.0.0_r0.4android-wear-13.0.0_r0.3android-msm-eos-5.15-tm-wear-kr3-dr-eosAndrew Evans
Prevent obscure build errors caused by having sourced `build/envsetup.sh` from an Android tree. Bug: 223899851 Change-Id: I780f12bfe288da3eded2e424e12a496a5d44bc0b Signed-off-by: Andrew Evans <andrewevans@google.com>
2023-05-01Merge AU_LINUX_ANDROID_LW.UM.2.1.R1.11.00.00.200.040Daniel Price
This updates our sources to CodeLinaro release AU_LINUX_ANDROID_LW.UM.2.1.R1.11.00.00.200.040 (LW.UM.2.1.r1-04000-SW5100.0), which corresponds to ChipCode LW 2.0 r00078.3a. Bug: 280095980 Change-Id: Icee1ff7849842f77853fbc9f1d9a59ac97413c51 Signed-off-by: Daniel Price <danielprice@google.com>
2023-04-23msm: kgsl: Keep postamble packets in a privileged bufferAmit Kushwaha
Postamble packets are executed in privileged mode by gpu. So we should keep them in a privileged scratch buffer to block userspace access. For targets with APRIV feature support, we can mark the preemption scratch buffer as privileged too to avoid similar issues in future Change-Id: Ifda360dda251083f38dfde80ce1b5dc83daae902 Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com> Signed-off-by: Kaushal Sanadhya <quic_ksanadhy@quicinc.com> Signed-off-by: Amit Kushwaha <quic_amitkush@quicinc.com>
2023-04-19Set up OWNERSAndrew Evans
Point to kernel/private/msm-google:OWNERS_pixelwatchbsp Bug: 247160135 Change-Id: I4b424c6b505f75611e7d14e51e05db93456c1393 Signed-off-by: Andrew Evans <andrewevans@google.com>
2023-04-17Merge 8fa442b60b2c40b57e44d43663f315dc76371ade on remote branchLinux Build Service Account
Change-Id: I1a7803126bbf0104c6f4d1f5b6c8a3acb124642f
2023-04-03Merge AU_LINUX_ANDROID_LW.UM.2.1.R1.11.00.00.200.031Daniel Price
This updates our sources to CodeLinaro release AU_LINUX_ANDROID_LW.UM.2.1.R1.11.00.00.200.031 (LW.UM.2.1.r1-03100-SW5100.0), which corresponds to ChipCode LW 2.0 r00062.1a. Bug: 276757489 Change-Id: I3971246723ffdc9a80b977a7934c8270eb98783a Signed-off-by: Daniel Price <danielprice@google.com>
2023-03-30Merge "msm: kgsl: Move kgsl MMU and CBs to a component device"qctecmdr
2023-03-29msm: kgsl: Update ACV perfmode vote for gen7_9_0Mohammed Mirza Mandayappurath Manzoor
Targets from gen7_9_0 have CPU vs GPU policy differentiation for perfmode and hence the provision to do independent GPU perfmode for improved performance. Add support to configure the ACV vote from GMU that sets the perfmode. Since for gen7_9_0 the perfmode is set through GMU, disable the icc path as well. Change-Id: I05574bcfca6080cba147c92a2e3939dbbe7cfadf Signed-off-by: Mohammed Mirza Mandayappurath Manzoor <quic_mmandaya@quicinc.com>
2023-03-29msm: kgsl: Move kgsl MMU and CBs to a component deviceDeepak Kumar
Currently, there is no dependency between kgsl driver probe and smmu driver probe, this results in issues in case smmu driver probe is not done before kgsl driver probe. To ensure kgsl driver probe/bind happens only post smmu driver probe, add kgsl MMU and CBs as a component device. As CB nodes contain "iommus" property, fw_devlink ensures that CBs are probed only after corresponding supplier (smmu driver) probe is done. Adding CBs as a component device ensures master bind (adreno_bind) is called only once all components are probed. So adding CBs as component device ensures kgsl probe/bind are done only post smmu driver probe. Change-Id: I369c406128dc7f5c8904792f5979b3d0692ced5a Signed-off-by: Deepak Kumar <quic_dkumar@quicinc.com>
2023-03-28Merge "msm: kgsl: Support perfcounter enable via gpu for hwsched"qctecmdr
2023-03-28Merge "kgsl: gen7: Increase snapshot preemption record dump size"qctecmdr
2023-03-28Merge "msm: kgsl: Print the cmdline string during snapshot"qctecmdr
2023-03-19kgsl: gen7: Increase snapshot preemption record dump sizeHareesh Gundu
When AQE is enabled, CP actively uses 112KB(48(BR)+48(BV)+16(AQE0)) of preemption record. So, for Gen7 snapshot increase preemption record dump size from 64KB to 112KB. Change-Id: Ibca2703294ec7dd689985f1e9d6b8ccd49063129 Signed-off-by: Hareesh Gundu <quic_hareeshg@quicinc.com>
2023-03-19msm: kgsl: Print the cmdline string during snapshotAkhil P Oommen
Print the cmdline string of the culprit process during snapshot to identify the exact command to trigger the same gpu hang. This will help to make it easier to reproduce the gpu issue in scenarios involving cmdline applications. Change-Id: I26baa671aa7a5465cfc88cebe08aeee550e22922 Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
2023-03-15msm: kgsl: Enable KGSL process reclaim feature for KhajeArchana Sriram
Enable needed configs for KGSL process reclaim feature on Khaje. Change-Id: I2ce784384cd623fc3204235217b401d5563be388 Signed-off-by: Archana Sriram <quic_c_apsrir@quicinc.com>
2023-03-13Merge f900d903dbe93e6000b044a9a2c0aeb9b05abc26 on remote branchLinux Build Service Account
Change-Id: I0b666ac62f86cc21ea1fc299eeca3c78d6bbbc65
2023-03-06Merge "Revert "msm: kgsl: Call dma_buf_unmap_attachment() early""qctecmdr
2023-03-06Revert "msm: kgsl: Call dma_buf_unmap_attachment() early"Pankaj Gupta
This reverts msm-5.10 commit b84bd97e37f8ac3a0f3194ebcbb1fa962e42cd73. Warnings for direct dma clients during cache operations are now being handled by dma-buf driver. Instead of doing dma_buf_unmap_attachment early if we do it in destroy path, it helps in saving cycles and improving performance during app launch. Change-Id: Ic66dd3b66136318abf59685f95fee17890377fd4 Signed-off-by: Pankaj Gupta <quic_gpankaj@quicinc.com> Signed-off-by: Archana Sriram <quic_c_apsrir@quicinc.com>
2023-03-06msm: kgsl: Set KGSL_MMU_SUPPORT_VBO feature at probe timeAbhishek Barman
Set KGSL_MMU_SUPPORT_VBO feature at probe time. PRR registers are not supported in A650 through HLOS. Thus, disable this feature for A650 target. Change-Id: Ied897f4cff4de1cd361e63d5df6ed3a80444fe01 Signed-off-by: Abhishek Barman <quic_abarman@quicinc.com>
2023-03-05Merge "msm: kgsl: Allocate user_ctxt_record based on preemption feature set"qctecmdr
2023-03-05Merge "kgsl: gmu: Add ifpc_hyst debugfs node"qctecmdr
2023-03-05Merge "msm: kgsl: Handle return value for rb context switch"qctecmdr
2023-03-05Merge "kgsl: Allow preemption override request for context creation"qctecmdr
2023-03-05Merge "msm: kgsl: Fix null pointer dereference in deferred_destroy"qctecmdr
2023-03-05Merge "msm: kgsl: Fix power regression due to IB vote"qctecmdr
2023-03-05Merge "msm: kgsl: Add a KGSL_MEMFLAGS_VBO_NO_MAP_ZERO flag"qctecmdr
2023-02-28msm: kgsl: Support perfcounter enable via gpu for hwschedAkhil P Oommen
Enabling some perf counter groups needs sending commands to GPU. Add support to send these commands via HFI for HW-Sched to enable these perfcounters. Change-Id: I3441c024cf3a4bc56998d27153201e6cf9236d26 Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com> Signed-off-by: Hareesh Gundu <quic_hareeshg@quicinc.com>
2023-02-28msm: kgsl: Fix null pointer dereference in deferred_destroyHarshitha Sai Neelati
iommu->user_context can get detached in kgsl_iommu_close and later get accessed in the deferred_destroy path. Flush the workqueue to ensure pagetables are destroyed before proceeding for context detach. Also handle set_ttbr0_cfg properly in the close path. Change-Id: Idd936957e9c7617d978056604241e2e24dac8af4 Signed-off-by: Harshitha Sai Neelati <quic_hsaineel@quicinc.com>
2023-02-26msm: kgsl: Fix power regression due to IB voteAkhil P Oommen
Recently, there was a fix for a gpu bw starvation issue in a gen7 gpu. This fix increases the GPU IB vote when gpu is at the lowest opp corner and when it detects a high 'ram wait' above a particular threshold. Some GPUs are less capable in terms of ddr channels, system cache, smmu tbu size etc. So it is natural to see a much higher 'ram waits' on these gpus. Due to this, there is now a very high IB vote in some a6xx GPUs causing severe power regression in some use cases. So, lets keep this ddr stall fix enabled only on Gen7 GPUs for now. We have not seen a similar ddr starvation issue in a6xx/a5xx/a3xx family. Change-Id: Ic89a9a90665566749e7715446ab16fdcbadb37d6 Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
2023-02-26msm: kgsl: Refactor bus hint/modAkhil P Oommen
Currently, we generate bus modifier hint (to update bus level) in gpubw governor to identify the bus modifier value. Also, we leak "wait_active_percent" stat from gpubw governor to kgsl_bus.c to again update the bus level, something which a bus hint could have done. To make it cleaner, we can keep the entire logic of bus hint generation logic within the gpubw governor and pass a new hint to increase the buslevel twice. And refactor the bus hint generation logic in gpubw governer to make it a little bit more readable. Change-Id: Id996c31f20efd6735b7f79da642bd3db1aa3184e Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
2023-02-25msm: kgsl: Add deep sleep config for ZAP unloadAmit Kushwaha
Use CONFIG_DEEPSLEEP to unload ZAP shader and passed context info during SMMU aperture set. Change-Id: I455c01822e5bc657689784f5dfcf3077ae6363ac Signed-off-by: Amit Kushwaha <quic_amitkush@quicinc.com> Signed-off-by: Abhishek Barman <quic_abarman@quicinc.com>
2023-02-25Merge "msm: kgsl: Add support to handle hardware fence timeout"qctecmdr
2023-02-25Merge "msm: kgsl: Remove frequency restrictions imposed by initial-min-pwrlevel"qctecmdr
2023-02-25msm: kgsl: Remove frequency restrictions imposed by initial-min-pwrlevelCarter Cooper
This reverts commit 45683098e772a463ce9d206dad0923a4340aaae4. Users are allowed to override the default frequency behaviors and request lower GPU frequencies. Revert that patch that was restricting the user from making such requests. Change-Id: Ie9995babc59aa12cde8a7a2d9f7d04b609538553 Signed-off-by: Carter Cooper <quic_ccooper@quicinc.com>
2023-02-25msm: kgsl: Add support to handle hardware fence timeoutHarshdeep Dhatt
If GMU detects that a certain external hardware fence (part of a sync object) is not signaled via the hardware path, GMU will query the software status of that fence. Say, kgsl indicates to GMU that the software status of the fence is signaled, GMU will wait for another epoch. GMU will then send a F2H_MSG_CONTEXT_BAD packet if it still detects that the hardware fence is not signaled via the hardware path. This packet contains the context id (that was waiting for this external hardware fence) and the sync object timestamp (to which the external hardware fence belongs). Kgsl will log all the fences (and some metadata) that are part of this sync object and trigger snapshot and recovery. Change-Id: If7ece0d4e45b3ff4e0af05f9233752b99b0bb123 Signed-off-by: Harshdeep Dhatt <quic_hdhatt@quicinc.com>
2023-02-25msm: kgsl: Query software status of hardware fencesHarshdeep Dhatt
If GMU detects that certain external hardware fences (part of a sync object) haven't signaled in a given amount of time, GMU will send F2H_MSG_SYNCOBJ_QUERY packet to query the software status of these hardware fences. In response to this packet, kgsl will look up these hardware fences (in the queried sync object) and indicate to GMU whether the corresponding dma fences are signaled (or not) via the same packet. In case a dma fence is signaled, add a log to indicate the dma fence is signaled and the hardware fence isn't. Change-Id: Iada8a8a2641cf74c591604b8236c8555d1fb4d2f Signed-off-by: Harshdeep Dhatt <quic_hdhatt@quicinc.com>
2023-02-25msm: kgsl: Dump hw-fence buffer using unique typeHarshdeep Dhatt
Snapshot parsers need this to be able to identify this buffer uniquely (using type=SNAPSHOT_GMU_MEM_HW_FENCE) to parse it accordingly. Also, remove KGSL_MEMDESC_IOMEM flag as it is no longer needed. Change-Id: If0bf9c0efe9a099a8b6790737642b0fe2d69ce29 Signed-off-by: Harshdeep Dhatt <quic_hdhatt@quicinc.com>
2023-02-24Merge "msm: kgsl: Remove redundant call in gen7_hwsched_snapshot()"qctecmdr
2023-02-24Merge "msm: kgsl: Fix null pointer dereference in hwsched_hfi_remove"qctecmdr
2023-02-24Merge "msm: kgsl: Enable ADRENO_HW_FENCE feature on gen7_9_0"qctecmdr
2023-02-24Merge "msm: kgsl: Remove dead code related to devfreq"qctecmdr
2023-02-24Merge "msm: kgsl: Capture eventlog buffer in snapshot"qctecmdr
2023-02-23msm: kgsl: Allocate user_ctxt_record based on preemption feature setSIVA MULLATI
Allocation of memory to user_ctxt_record is done based on adreno_device flag. If a context is created when preemption is disabled, the memory to user_ctxt_record is not allocated. Now if we enable preemption, through the sysfs knob, the device flag is again set. We may try to access user_ctxt_record in preemption_pre_ibsubmit(). So allocate memory to user_ctxt_record based on the preemption feature flag instead of preemption device flag. Change-Id: I947ef5a1bfbd8bff471427fae60d7fcd507b85a2 Signed-off-by: SIVA MULLATI <quic_smullati@quicinc.com>