summaryrefslogtreecommitdiff
path: root/mali_kbase/platform
AgeCommit message (Collapse)Author
2024-02-28mali_kbase: mali_pixel: Define PIXEL_GPU_SLC_ACPM_SIGNAL on ZumaJack Diver
Bug: 313458962 Test: gfxbench Signed-off-by: Jack Diver <diverj@google.com> (cherry picked from https://partner-android-review.googlesource.com/q/commit:3d3cde1cabde47ebb37db73b5e99a238e29b6762) Merged-In: Ifd1f9946b2a3c78c412986c57e499b9bd2ef4b3c Change-Id: Ifd1f9946b2a3c78c412986c57e499b9bd2ef4b3c
2024-02-28mali_kbase: Repurpose liveness ioctl as SLC signalJack Diver
Bug: 321199350 Test: gfxbench Signed-off-by: Jack Diver <diverj@google.com> (cherry picked from https://partner-android-review.googlesource.com/q/commit:57ef78bad803aab9d83325f80349f33727af9af8) Merged-In: I94ff92333cae9b9c54f27af550777fc21da06cb7 Change-Id: I94ff92333cae9b9c54f27af550777fc21da06cb7
2024-02-28mali_pixel: Periodically read ACPM GPU signalJack Diver
Use ACPM GPU signal to make enable/disable decisions for the SLC partition. Currently, the signal is sampled during scheduling tick. Bug: 313458962 Test: gfxbench Signed-off-by: Jack Diver <diverj@google.com> (cherry picked from https://partner-android-review.googlesource.com/q/commit:dec457352147d282921e0ae81ce3a7154e80c64e) Merged-In: Ife0adedf6006daaf17062a0f555d126c1fd45465 Change-Id: Ife0adedf6006daaf17062a0f555d126c1fd45465
2024-02-28mali_pixel: Implement SLC partition ref countingJack Diver
Bug: 313458962 Test: gfxbench Signed-off-by: Jack Diver <diverj@google.com> (cherry picked from https://partner-android-review.googlesource.com/q/commit:ef62a44e1e80286433fae8918996eb57647ba84c) Merged-In: Id2ab03db4b8b3122bc1f87ecb97715fa3a5d80e4 Change-Id: Id2ab03db4b8b3122bc1f87ecb97715fa3a5d80e4
2024-02-28mali_kbase: platform: Remove liveness based SLCJack Diver
Bug: 313458962 Test: gfxbench Signed-off-by: Jack Diver <diverj@google.com> (cherry picked from https://partner-android-review.googlesource.com/q/commit:89419b7e89dcd2bb9f5c0259e8b5c5a875610131) Merged-In: I74a81b54764da315510ce988d0aa450b2761725f Change-Id: I74a81b54764da315510ce988d0aa450b2761725f
2024-02-28mali_kbase: platform: Drop SLC demand on context idleJack Diver
Drop demand to 0 on context idle Bug: 296485687 Test: gfxbench background task Signed-off-by: Jack Diver <diverj@google.com> (cherry picked from https://partner-android-review.googlesource.com/q/commit:b9d48114d56973c60294ec4b94d06d63b845f1ea) Merged-In: I7ca904323c365c6e5e3ab57e23457fca397cf7ae Change-Id: I7ca904323c365c6e5e3ab57e23457fca397cf7ae
2024-02-07Remove IFPO from KMDVamsidhar reddy Gaddam
IFPO feature has been unusued and only creates overhead for smooth driver updates. Bug: 324019470 Change-Id: Iab65e95b9ba21d74cc158557e3fa78d4478c9a71 Signed-off-by: Vamsidhar reddy Gaddam <gvamsi@google.com>
2024-01-18mali_kbase: Avoid duplicate SLC migrationsMattias Simonsson
Bug: 301208289 Test: gfxbench Change-Id: I799115a5c3a6221c074c20b037d51e7a93d96845 Signed-off-by: Mattias Simonsson <mattiass@google.com>
2024-01-09mali_kbase: Add more gpu error eventsVarad Gautam
Bug: 312206733 Change-Id: I154b927152d768944e02fe6083e66bdbb0f47e3a Signed-off-by: Varad Gautam <varadgautam@google.com>
2024-01-09mali_kbase: pixel: Add a helper to send error ueventsVarad Gautam
and use it throughout kbase. Bug: 312206733 Change-Id: Iba908d1dff259aef4bfc35d0ca9df8682e759a9c Signed-off-by: Varad Gautam <varadgautam@google.com>
2024-01-09mali_kbase: pixel: WARN_ON pixel_gpu_uevent_send() from interrupt ctxVarad Gautam
kobject_uevent_env() shouldn't be called from an interrutpt ctx. Log a warning and return early if pixel_gpu_uevent_send() is accidentally called from an interrupt. Bug: 312206733 Change-Id: I66dc5f14c4bf736ffa423aed701906d9da5e00ec Signed-off-by: Varad Gautam <varadgautam@google.com>
2024-01-05Merge branch 'upstream' into HEADVamsidhar reddy Gaddam
Update KMD to R47P0 Bug: 315267052 Test: Outlined in go/pixel-gpu-kmd-r47p0 Change-Id: I89454c4c862033fe330b260a9bc6cc777a3ca231 Signed-off-by: Vamsidhar reddy Gaddam <gvamsi@google.com>
2023-12-14Update KMD to r47p0Jörg Wagner
Provenance: ipdelivery@ad01e50d640910a99224382bb227e6d4de627657 Change-Id: I19ac9bce34a5c5a319c1b4a388e8b037b3dfe6e7
2023-10-18Add firmware core dump error code in sscdYunju Lee
Bug: 277090000 Test: Trigger sscd Change-Id: I6ca23cc74806efc364b10ee17e654f4252d3ec1f Signed-off-by: Yunju Lee <yunjulee@google.com>
2023-10-16Merge android13-gs-pixel-5.10-udc-qpr1 into android13-gs-pixel-5.10-24Q1PixelBot AutoMerger
Bug: 300854197 SBMerger: 571992243 Change-Id: Ie9096d3afd31c2e5959618fb2f1354bca8be3cfd Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
2023-10-08mali_kbase: platform: Add missing bounds checkandroid-u-qpr1-beta-2.2_r0.2android-u-qpr1-beta-2.2_r0.1android-14.0.0_r0.22android-14.0.0_r0.19android-gs-raviole-5.10-android14-qpr1-betaandroid-gs-bluejay-5.10-android14-qpr1-betaGuus Sliepen
Fix potential out-of-bounds read due to missing bounds check. Bug: 298264460 Signed-off-by: Guus Sliepen <gsliepen@google.com> Change-Id: I57b67a4177e4fe6d84a261eeb00b6b833da5486b Merged-In: I57b67a4177e4fe6d84a261eeb00b6b833da5486b
2023-09-28Integrate firmware core dump into sscdYunju Lee
Move macros, struct, and functions required by sscd from source file to header file. Add firmware core dump segment to sscd. Implement firmware core dump in sscd. Bug: 277090000 Test: Trigger sscd manually Change-Id: I3546e74e647e60f13f18c5e9ef6a4a24413f02fb
2023-09-26Merge "Merge android13-gs-pixel-5.10-udc-qpr1 into ↵Pindar Yang
android13-gs-pixel-5.10-24Q1" into android13-gs-pixel-5.10-24Q1
2023-09-20mali_kbase: platform: Fix integer overflowJack Diver
Fix potential integer overflow within buffer liveness ioctl. Bug: 296984851 Test: N/A Change-Id: Ib1c9ee25a89b0a39ec905f109ee2c57c502428db (cherry picked from https://partner-android-review.googlesource.com/q/commit:02e5329e2e3f4af00f51560895b5bbe87fe824ef) Signed-off-by: Jack Diver <diverj@google.com>
2023-09-20mali_kbase: Tracepoints for governor recommendationVarad Gautam
Record the freq recommended by the governor before it's clamped via a new `gpu_gov_rec` clock tracepoint. Also record a new tracepoint `gpu_gov_rec_violate` if this freq is outside of the level lock window. Bug: 291855615 Test: Manual trace Signed-off-by: Varad Gautam <varadgautam@google.com> Change-Id: I45d0ffbebb6fa83d1a47b9d2afc8d96ce420afce
2023-09-19mali_kbase: Add tracepoints to hint_min_freq / hint_max_freqVarad Gautam
Bug: 291855615 Test: Record manual trace. Signed-off-by: Varad Gautam <varadgautam@google.com> Change-Id: Id4341c3809b2e3b147122adaabaa01ac7b265dfc
2023-09-01Merge r44p1-00dev3 from partner/upstream into android13-gs-pixel-5.10-udc-qpr1Jörg Wagner
Bug: 290882327 Change-Id: I90723cbaa3f294431087587fd8025f0688e51bf2
2023-08-24mali_kbase: Use rt_mutex for scheduler lockMattias Simonsson
We use pm_runtime for handling suspends, which means that an internal linux power workqueue will take and hold the CSF scheduler lock while performing suspend operations. This workqueue runs at default priority and so might not be scheduled fast enough if there is high CPU load, which results in missed frames. By promoting the CSF scheduler lock to an rt_mutex we ensure that the GPU wakes up faster when there is work that needs to be done, since our other internal realtime threads will be waiting on the scheduler lock in these cases. Bug: 296862283 Test: CUJ close camera Change-Id: Ibe81ad7e26a75acb1640b2820902eb8144a48fdd Merged-In: I0e81a45e3d65f60337250d35c53ef6447c876051
2023-08-22mali_kbase: platform: Batch MMU flushes after liveness updateJack Diver
Test: Boot to home, gfx-bench sweep Bug: 294167925 (cherry picked from https://partner-android-review.googlesource.com/q/commit:3143995156d9372ca6af0be57aa29dd0ec14cce1) Merged-In: I4a122fe023b43c3763884fda99cfed17048a3eb0 Change-Id: I4a122fe023b43c3763884fda99cfed17048a3eb0 Signed-off-by: Jack Diver <diverj@google.com>
2023-08-03Update KMD to 'mini release: update r44p1-01bet1 to r44p1-00dev2'Jörg Wagner
Provenance: ipdelivery@d10c137c7691a470b8b33786aec4965315db4561 Change-Id: I4fbcc669d3b8e36c8288c91fdddd8b79258b6635
2023-08-02mali_kbase: Reduce kernel log spam.Michael Stokes
We have accumulated various logging that is no longer required, and some messages that sound more scary than they need to. Bug: 291710900 Test: boot to home Change-Id: I870a4136e1de423281b14a2e3ba8f643e9243d81
2023-07-14mali_kbase: Add an ITMON notifier callback to check GPU page tables.Michael Stokes
When an ITMON fault report identifies a transaction originated by the GPU, search for the faulting address in all GPU page tables and log whether it was found or not. Bug: 288088318 Test: boot to home Change-Id: Ic774d4d84af625a33b94b79069f62c8a71adaad7
2023-07-12Merge upstream DDK R43P0 KMDDebarshi Dutta
Merge DDK version R43P0 from upstream branch Provenance: 48a9c7e25986318c8475bc245de51e7bec2606e8 (ipdelivery/EAC/v_r43p0) VX504X08X-BU-00000-r43p0-01eac0 - Valhall Android DDK VX504X08X-BU-60000-r43p0-01eac0 - Valhall Android Document Bundle VX504X08X-DC-11001-r43p0-01eac0 - Valhall Android DDK Software Errata VX504X08X-SW-99006-r43p0-01eac0 - Valhall Android Renderscript AOSP parts Bug 278174418 Commit-Topic: R43P0_KMD Signed-off-by: Debarshi Dutta <debarshid@google.com> Change-Id: I84fb19e7ce5f28e735d44a4993d51bd985aac80b
2023-07-06pixel_gpu_uevent: Increase uevent ratelimiting timeout to 20minsVarad Gautam
Bug: 276704984 Change-Id: Id86861197e8f0929b3594fa28d21b8e3b6bee0f9 Signed-off-by: Varad Gautam <varadgautam@google.com>
2023-04-17kbase: Add new GPU uevents to kbaseVarad Gautam
Add the following types of GPU uevents: 1. KMD_ERROR: Reports incidents where kbase runs into an error (includes FW errors). 2. GPU_RESET: Reports failed or successful GPU reset incidents. Bug: 275367216 Bug: 275367223 Test: Combined with userspace patches: b/276704984#comment2 Change-Id: Ie0d18f96c590cba561e8425eba210136bfef039d Signed-off-by: Varad Gautam <varadgautam@google.com>
2023-04-17pixel: Introduce GPU uevents to notify userspace of GPU failuresVarad Gautam
Add an interface to emit uevents with env GPU_UEVENT_TYPE and GPU_UEVENT_INFO from kbase. This will be used to report common GPU failure conditions. To avoid flooding the userspace with uevents, these are ratelimited to one uevent per GPU_UEVENT_TYPE per GPU_UEVENT_TIMEOUT_MS. Bug: 275367216 Bug: 275367223 Test: Combined with userspace patches: b/276704984#comment2 Change-Id: I557df22c87f435aca4d05e0038609e1c9f82de54 Doc: go/pixel-gpu-instability-monitoring Signed-off-by: Varad Gautam <varadgautam@google.com>
2023-04-13mali_kbase: platform: Init GPU SLC contextJack Diver
Init call for SLC portion of the GPU context was missing. Bug: 276392249 Change-Id: I7f9b8a89a463f66845f5da91adca63d30f138c83 Signed-off-by: Jack Diver <diverj@google.com>
2023-04-13Add partial term support to pixel gpu initAnkit Goyal
Bug: 254279889 Test: Boots to home Signed-off-by: Jack Diver <diverj@google.com> (cherry picked from https://partner-android-review.googlesource.com/q/commit:08be62386b8b087e1979c0396a23847246ca36bb) Change-Id: I1427019107b67139381390a5a73bf518b99927c8
2023-04-06mali_kbase: platform: mgm: Get accurate SLC partition sizeJack Diver
Use mgm_resize_callback to update memory group size. Add entry point allowing memory group size to be queried. Bug: 264990406 Test: Boot to home Test: gfx-bench mh3.1 Change-Id: I80f595724c7418b97e07679719d2b76e4ee7b96f Signed-off-by: Jack Diver <diverj@google.com>
2023-03-31pixel_gpu_sscd: Prevent dumping multiple SSCDs when the GPU hangsVarad Gautam
Add a heuristic to ratelimit SSCD generation for "GPU hang"-type coredumps. Typically when the GPU hangs, this codepath is hit multiple times leading to unnecessary SSCD generation per hang (sometimes > 200 coredumps for a single incident). The heuristic skips SSCD generation depending on: 1. whether there was a "GPU hang" coredump recently within the GPU_HANG_SSCD_TIMEOUT_MS time window. 2. whether there was an unsuccesful GPU reset, which implies the system will end up rebooting soon. Change-Id: I761057aee9c4ff9f32d658c49b99eb162486033b Bug: 264595878 Signed-off-by: Varad Gautam <varadgautam@google.com> Test: b/264595878#comment7
2023-03-23mali_pixel: Downgrade invalid region warning to dev_dbgJack Diver
A malicious app could cause kernel log storm by intentionally supplying invalid virtual addresses. The message is primarily intended for debugging cache performance, and is not needed in bug reports. Bug: 264990406 Test: Boot to home Test: Malicious test app Change-Id: If9292038f286456dc593ad0dcbc6e0a74e063e5c Signed-off-by: Jack Diver <diverj@google.com>
2023-03-23mali_kbase: platform: Perform partition resize and region migrationJack Diver
Implement demand based SLC partition resizing. Implement region migration into the SLC memory group. Bug: 264990406 Test: Boot to home Test: gfx-bench mh3.1 Change-Id: Ibf763652f3db133066c254b66b1316a49803e54f Signed-off-by: Jack Diver <diverj@google.com>
2023-03-23platform: Implement SLC partition accountingJack Diver
Track the per kctx usage and demand of SLC, updating in response to the buffer_liveness_ioctl. Setting SLC PBHA bits and resizing the partition are stubbed for now. Bug: 264990406 Test: Boot to home Test: Manual ioctl call Change-Id: Idfe54f7baad25b9403a69f7269b7c8fc53dedaaa Signed-off-by: Jack Diver <diverj@google.com>
2023-03-23mali_kbase: Implement buffer liveness ioctlJack Diver
Add SLC platform integration, and plumb custom ioctl through. Bug: 264990406 Test: Boot to home Test: Manual ioctl call Change-Id: I0009cec83f54cfed8e12477c5ebd7aa01cf50cc8 Signed-off-by: Jack Diver <diverj@google.com>
2023-03-23mali_kbase: platform: Make kctx platform_data extensibleJack Diver
Allocate a platform_data struct, which can be extended for more uses than per-UID DVFS metrics. Bug: 264990406 Test: Boot Test: Check DVFS time_in_state reporting Change-Id: Iae17f85e6ece87e5bd8aa6f13c75c6f5504e8436 Signed-off-by: Jack Diver <diverj@google.com>
2023-03-14Merge android13-gs-pixel-5.10-tm-qpr3 into android13-gs-pixel-5.10-udcRobin Peng
Bug: 255246572 Change-Id: I4154a51b5f02391cda656a64dc03db3df7671ed9 Signed-off-by: Robin Peng <robinpeng@google.com>
2023-03-01mali_kbase: report contexts on GPU during SSCDKevin DuBois
Takes a snapshot of the contexts that are scheduled on the GPU during a crash. Test: collect a few reports, and check that these are intelligible. Bug: 269802054 Change-Id: I1b2955307c9b6eac5f5d7c6c32ef719dc4bfe47f Signed-off-by: Kevin DuBois <kevindubois@google.com>
2023-02-17mali_kbase: platform: Refactor DVFS table selectionandroid-t-qpr3-beta-2_r0.5android-t-qpr3-beta-1_r0.5android-gs-pantah-5.10-t-qpr3-beta-2android-gs-pantah-5.10-android13-qpr3-beta1Siddharth Kapoor
Bug: 268756179 Change-Id: I0f5476fdfa32aa600cc029284c86862231275797 Signed-off-by: Siddharth Kapoor <ksiddharth@google.com>
2023-01-13mali_kbase: connect rails to ifpo signals by defaultKevin DuBois
IFPO was in neutral by default, it would do the idleness signalling, but not actually turn off the rails. This flag setting made sense at one point, but having the rails connected by default is a less convoluted configuration. Test: build, see rails going off Bug: 265314487 Change-Id: I9c96f0d29c6787f60cb2a47754b204bde1b9fc29
2023-01-13mali_kbase: Fix GPU_DBG timeout logging.Jeremy Kemp
Fixes off-by one error in awaiting debug command. Bug: 260770411 Test: IFPO debug runs Change-Id: I939dc38b0293b221668c47eb420878b9fd125a95 Signed-off-by: Jeremy Kemp <jeremykemp@google.com>
2022-12-15Mali Valhall Android DDK r40p0-01eac0 KMDJörg Wagner
Provenance: 056ded72d351d1bf6319f7b2b925496dd6ad304f (ipdelivery/EAC/v_r40p0) VX504X08X-BU-00000-r40p0-01eac0 - Valhall Android DDK VX504X08X-BU-60000-r40p0-01eac0 - Valhall Android Document Bundle VX504X08X-DC-11001-r40p0-01eac0 - Valhall Android DDK Software Errata VX504X08X-SW-99006-r40p0-01eac0 - Valhall Android Renderscript AOSP parts Change-Id: I6db6b45c73c5447dd246533246e65b5ef2c8872f
2022-12-06mali_kbase: add KTRACE gather ability to SSCDKevin DuBois
Gather the KTRACE buffer into the SSCD report to give us some information about the CPU side activity before ramdump. Should only be enabled on debug builds. Test: trigger ramdump, see usable data in dmesg Bug: 249325561 Change-Id: I151644e425d8c3d235c2c540819f9c50c01f2bf8
2022-11-09platform: Disable GPU FW logJack Diver
Disable GPU FW log, as it incurs performance penalty when left on Bug: 228779790 Test: benchmark before and after setting this switch Change-Id: If3b824eb3a7cbde502b3eef38befb9e9856eee50 Signed-off-by: Jack Diver <diverj@google.com> (cherry picked from commit d4578bc2eb297fdb4c15bb54cd48d45c38ff1885)
2022-11-09Revert "Revert "Merge r38p1 from upstream into ↵Jack Diver
partner/android13-gs-pixel-5.10-tm-qpr2"" This reverts commit 34e635317dc2a91076ac341df3867ac3bdb31ef1. Bug: 228779790 Change-Id: Ic9d131af5568d7f55f610f255fa1c02925b18482 (cherry picked from commit 1c916e3f7c4d999f68e40c60fee6fe39418fcecd)
2022-11-08platform: Disable GPU FW logJack Diver
Disable GPU FW log, as it incurs performance penalty when left on Bug: 228779790 Bug: 256851310 Test: benchmark before and after setting this switch Change-Id: If3b824eb3a7cbde502b3eef38befb9e9856eee50 Signed-off-by: Jack Diver <diverj@google.com>