-
-
Notifications
You must be signed in to change notification settings - Fork 209
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rebase commits from rk-6.1-rk1 to rk-6.1-rkr3 #200
rebase commits from rk-6.1-rk1 to rk-6.1-rkr3 #200
Commits on Jul 1, 2024
-
scripts: install dtbo files to kernel packages
Signed-off-by: Stephen Chen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4e2f623 - Browse repository at this point
Copy the full SHA 4e2f623View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a209b8 - Browse repository at this point
Copy the full SHA 5a209b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5ac7ae2 - Browse repository at this point
Copy the full SHA 5ac7ae2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 28ba801 - Browse repository at this point
Copy the full SHA 28ba801View commit details -
Configuration menu - View commit details
-
Copy full SHA for f4860c2 - Browse repository at this point
Copy the full SHA f4860c2View commit details -
input: touchscreen: add Raspberry Pi touchscreen IC FT5426 driver
Signed-off-by: Stephen Chen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8cba6c5 - Browse repository at this point
Copy the full SHA 8cba6c5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2b808ee - Browse repository at this point
Copy the full SHA 2b808eeView commit details -
drm: panel: add radxa display 8hd panel
Signed-off-by: Stephen Chen <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5a3c86c - Browse repository at this point
Copy the full SHA 5a3c86cView commit details -
Configuration menu - View commit details
-
Copy full SHA for c48dfdb - Browse repository at this point
Copy the full SHA c48dfdbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0ff98cd - Browse repository at this point
Copy the full SHA 0ff98cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 13d77b3 - Browse repository at this point
Copy the full SHA 13d77b3View commit details -
cma: Enable reserved-memory on orangepi5
Signed-off-by: Zhang Rui <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a277872 - Browse repository at this point
Copy the full SHA a277872View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c4008c - Browse repository at this point
Copy the full SHA 3c4008cView commit details -
Configuration menu - View commit details
-
Copy full SHA for b939c10 - Browse repository at this point
Copy the full SHA b939c10View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f42cf5 - Browse repository at this point
Copy the full SHA 3f42cf5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6be2302 - Browse repository at this point
Copy the full SHA 6be2302View commit details -
Configuration menu - View commit details
-
Copy full SHA for 727a069 - Browse repository at this point
Copy the full SHA 727a069View commit details -
arm64: dts: Add device trees for NanoPi R6S and R6C
arm64: dts: Add device trees for NanoPi R6S and R6C arm64: dts: Add device trees for NanoPi R6S and R6C arm64: dts: Add device trees for NanoPi R6S and R6C
Configuration menu - View commit details
-
Copy full SHA for e7dbe36 - Browse repository at this point
Copy the full SHA e7dbe36View commit details -
Configuration menu - View commit details
-
Copy full SHA for 24bad6c - Browse repository at this point
Copy the full SHA 24bad6cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f6f60c - Browse repository at this point
Copy the full SHA 7f6f60cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 92a0fab - Browse repository at this point
Copy the full SHA 92a0fabView commit details -
Configuration menu - View commit details
-
Copy full SHA for bf4cca6 - Browse repository at this point
Copy the full SHA bf4cca6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ebc6bc - Browse repository at this point
Copy the full SHA 6ebc6bcView commit details -
Configuration menu - View commit details
-
Copy full SHA for dcf63d6 - Browse repository at this point
Copy the full SHA dcf63d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 36d2b16 - Browse repository at this point
Copy the full SHA 36d2b16View commit details -
Configuration menu - View commit details
-
Copy full SHA for 50388c8 - Browse repository at this point
Copy the full SHA 50388c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 937ba96 - Browse repository at this point
Copy the full SHA 937ba96View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3b415ef - Browse repository at this point
Copy the full SHA 3b415efView commit details -
Configuration menu - View commit details
-
Copy full SHA for b07774a - Browse repository at this point
Copy the full SHA b07774aView commit details -
khadas: arm64: dts: khadas edge 2 [rpardini rework]
- rework: - rk3588-rk806-single-khadas.dtsi instead of hacking common dtsi - arm64: dts: rk3588s-khadas-edge2: remove chosen node - drop useless nvr-demo / chosen-thingy dtsi - squashed, scripts/packaging/etc removed, grouped by directory - source - https://github.com/khadas/linux/commits/khadas-edges-5.10.y - khadas/linux@85a8b25
Configuration menu - View commit details
-
Copy full SHA for d843b7d - Browse repository at this point
Copy the full SHA d843b7dView commit details -
- squashed, scripts/packaging/etc removed, grouped by directory - source - https://github.com/khadas/linux/commits/khadas-edges-5.10.y - khadas/linux@85a8b25
Configuration menu - View commit details
-
Copy full SHA for eeb5eef - Browse repository at this point
Copy the full SHA eeb5eefView commit details -
- squashed, scripts/packaging/etc removed, grouped by directory - source - https://github.com/khadas/linux/commits/khadas-edges-5.10.y - khadas/linux@85a8b25
Configuration menu - View commit details
-
Copy full SHA for 3866258 - Browse repository at this point
Copy the full SHA 3866258View commit details -
- squashed, scripts/packaging/etc removed, grouped by directory - source - https://github.com/khadas/linux/commits/khadas-edges-5.10.y - khadas/linux@85a8b25
Configuration menu - View commit details
-
Copy full SHA for 587e9c8 - Browse repository at this point
Copy the full SHA 587e9c8View commit details -
- squashed, scripts/packaging/etc removed, grouped by directory - source - https://github.com/khadas/linux/commits/khadas-edges-5.10.y - khadas/linux@85a8b25
Configuration menu - View commit details
-
Copy full SHA for 8d04eb3 - Browse repository at this point
Copy the full SHA 8d04eb3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 261a6ef - Browse repository at this point
Copy the full SHA 261a6efView commit details -
Configuration menu - View commit details
-
Copy full SHA for df2acb0 - Browse repository at this point
Copy the full SHA df2acb0View commit details -
arm64: dts: rk3588: swap cursor and display plane
Signed-off-by: ZHANG Yuntian <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 87ecf04 - Browse repository at this point
Copy the full SHA 87ecf04View commit details -
amr64: dts: rock 5b: enable usb wakeup
Signed-off-by: Feng Zhang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bf9db89 - Browse repository at this point
Copy the full SHA bf9db89View commit details -
arm64: dts: rock 5b: es8316 uses multicodecs card driver
Signed-off-by: Feng Zhang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 460e8c6 - Browse repository at this point
Copy the full SHA 460e8c6View commit details -
arm64: dts: rock 5b: move display configuration to overlay
Signed-off-by: Alvin Xie <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f800aa6 - Browse repository at this point
Copy the full SHA f800aa6View commit details -
arm64: dts: rock 5b: move camera configuration to overlay
Signed-off-by: Alvin Xie <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 68fcebf - Browse repository at this point
Copy the full SHA 68fcebfView commit details -
add radxa rock 5b gpiod label support
Signed-off-by: nascs <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1e3e70a - Browse repository at this point
Copy the full SHA 1e3e70aView commit details -
arm64: dts: rock 5b: update user leds configuration
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c131296 - Browse repository at this point
Copy the full SHA c131296View commit details -
arm64: dts: rock 5b: use broadcom bluetooth protocol
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2dc6caf - Browse repository at this point
Copy the full SHA 2dc6cafView commit details -
Configuration menu - View commit details
-
Copy full SHA for 22e34a1 - Browse repository at this point
Copy the full SHA 22e34a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 518d1d4 - Browse repository at this point
Copy the full SHA 518d1d4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 11e5cbb - Browse repository at this point
Copy the full SHA 11e5cbbView commit details -
Configuration menu - View commit details
-
Copy full SHA for f72ba28 - Browse repository at this point
Copy the full SHA f72ba28View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2d9aa49 - Browse repository at this point
Copy the full SHA 2d9aa49View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb6bed7 - Browse repository at this point
Copy the full SHA eb6bed7View commit details -
usb: typec: tcpm: add devicetree property faster-pd-negotiation to ma…
…ke pd negotiation faster
Configuration menu - View commit details
-
Copy full SHA for 80d424d - Browse repository at this point
Copy the full SHA 80d424dView commit details -
arm64: dts: rock 5b: add property faster-pd-negotiation to make pd ne…
…gotiation faster
Configuration menu - View commit details
-
Copy full SHA for 5174eb7 - Browse repository at this point
Copy the full SHA 5174eb7View commit details -
arm64: dts: Add device tree for NanoPC T6
Imported from https://github.com/friendlyarm/kernel-rockchip/blob/nanopi5-v5.10.y_opt/arch/arm64/boot/dts/rockchip/rk3588-nanopi6-rev01.dts Signed-off-by: Molly Sophia <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2d1516f - Browse repository at this point
Copy the full SHA 2d1516fView commit details -
arm64: dts: NanoPC-T6: Enable onboard pwm-fan node
Signed-off-by: Molly Sophia <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 52650ea - Browse repository at this point
Copy the full SHA 52650eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 62ca5b2 - Browse repository at this point
Copy the full SHA 62ca5b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for a8c3087 - Browse repository at this point
Copy the full SHA a8c3087View commit details -
Configuration menu - View commit details
-
Copy full SHA for 99ff1ac - Browse repository at this point
Copy the full SHA 99ff1acView commit details -
Configuration menu - View commit details
-
Copy full SHA for 28af0f9 - Browse repository at this point
Copy the full SHA 28af0f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 712e746 - Browse repository at this point
Copy the full SHA 712e746View commit details -
arm64: dts: Add overlays to Makefile and remove unnecessary ROCK4 ove…
…rlays arm64: dts: Add overlays to Makefile and remove unnecessary ROCK4 overlays
Configuration menu - View commit details
-
Copy full SHA for cf50bb5 - Browse repository at this point
Copy the full SHA cf50bb5View commit details -
Configuration menu - View commit details
-
Copy full SHA for fb5e75f - Browse repository at this point
Copy the full SHA fb5e75fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3310e90 - Browse repository at this point
Copy the full SHA 3310e90View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a42d20 - Browse repository at this point
Copy the full SHA 0a42d20View commit details -
Configuration menu - View commit details
-
Copy full SHA for f09a508 - Browse repository at this point
Copy the full SHA f09a508View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f91e8f - Browse repository at this point
Copy the full SHA 7f91e8fView commit details -
Configuration menu - View commit details
-
Copy full SHA for ce424db - Browse repository at this point
Copy the full SHA ce424dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 25903fc - Browse repository at this point
Copy the full SHA 25903fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 331fbfb - Browse repository at this point
Copy the full SHA 331fbfbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a8dba5 - Browse repository at this point
Copy the full SHA 4a8dba5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e08fd7 - Browse repository at this point
Copy the full SHA 4e08fd7View commit details -
arm64: dts: add opi5b device tree again
* arm64: dts: add opi5b device tree and disable sfc node * arm64: dts: enable sdhci node only for opi5b * arm64: dts: opi5: fix sdhci disabled typo * arm64: dts: opi5b: fix compile error
Configuration menu - View commit details
-
Copy full SHA for a013175 - Browse repository at this point
Copy the full SHA a013175View commit details -
Configuration menu - View commit details
-
Copy full SHA for affc531 - Browse repository at this point
Copy the full SHA affc531View commit details -
Configuration menu - View commit details
-
Copy full SHA for 962b741 - Browse repository at this point
Copy the full SHA 962b741View commit details -
Configuration menu - View commit details
-
Copy full SHA for 72cbc36 - Browse repository at this point
Copy the full SHA 72cbc36View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d8e287 - Browse repository at this point
Copy the full SHA 6d8e287View commit details -
Configuration menu - View commit details
-
Copy full SHA for 190c451 - Browse repository at this point
Copy the full SHA 190c451View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6fce9ad - Browse repository at this point
Copy the full SHA 6fce9adView commit details -
Configuration menu - View commit details
-
Copy full SHA for 26c2468 - Browse repository at this point
Copy the full SHA 26c2468View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0dbae17 - Browse repository at this point
Copy the full SHA 0dbae17View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0860df6 - Browse repository at this point
Copy the full SHA 0860df6View commit details -
Configuration menu - View commit details
-
Copy full SHA for c028434 - Browse repository at this point
Copy the full SHA c028434View commit details -
sound: rockchip: fix dp sound issue
Signed-off-by: Nick Xie <[email protected]> Change-Id: I465e68bb493ad4c403883c2b7117976a1dfcf1d9
Configuration menu - View commit details
-
Copy full SHA for 326d9ee - Browse repository at this point
Copy the full SHA 326d9eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0576f51 - Browse repository at this point
Copy the full SHA 0576f51View commit details -
Store caches at this repository
* Update compile.yaml * Update compile.yaml * Update compile.yaml * Update compile.yaml
Configuration menu - View commit details
-
Copy full SHA for 1cad54e - Browse repository at this point
Copy the full SHA 1cad54eView commit details -
Configuration menu - View commit details
-
Copy full SHA for c9d0d0d - Browse repository at this point
Copy the full SHA c9d0d0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for eff85f0 - Browse repository at this point
Copy the full SHA eff85f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 21d982d - Browse repository at this point
Copy the full SHA 21d982dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ed0429 - Browse repository at this point
Copy the full SHA 4ed0429View commit details -
media: rockchip: hdmirx: hdmirx_audio_startup always return 0 PulseAu…
…dio would fail to load alsa card if hdmirx_audio_startup return error
Configuration menu - View commit details
-
Copy full SHA for 288f7e4 - Browse repository at this point
Copy the full SHA 288f7e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 406ee3b - Browse repository at this point
Copy the full SHA 406ee3bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ee14da9 - Browse repository at this point
Copy the full SHA ee14da9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 053288b - Browse repository at this point
Copy the full SHA 053288bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0dac63c - Browse repository at this point
Copy the full SHA 0dac63cView commit details -
meko: remove silly indentation changes; bring back amazingfate's hdmi…
…in-sound changes in the v10
Configuration menu - View commit details
-
Copy full SHA for b09d966 - Browse repository at this point
Copy the full SHA b09d966View commit details -
meko: vk2c21 LCD driver for the R58X-PRO
- from `blueberry_edge_patch_230617` from vendor - fixed Chinese GB18030 encoding
Configuration menu - View commit details
-
Copy full SHA for f68b181 - Browse repository at this point
Copy the full SHA f68b181View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0dc8ba2 - Browse repository at this point
Copy the full SHA 0dc8ba2View commit details -
meko: es8311: v10, preserve "arm64: dts: rockchip: rk3588: Use mclkou…
…t_i2sx" from 005807f - v12 from vendor already has the same change
Configuration menu - View commit details
-
Copy full SHA for 1709d97 - Browse repository at this point
Copy the full SHA 1709d97View commit details -
meko: v12 MeiZhuo: drop DP changes from vendor
- keep only LCD & GPIO keys
Configuration menu - View commit details
-
Copy full SHA for 91887e5 - Browse repository at this point
Copy the full SHA 91887e5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 15ea1eb - Browse repository at this point
Copy the full SHA 15ea1ebView commit details -
mixtile: add dts & Makefile for Mixtile Blade 3
- source: https://github.com/mixtile/linux/blob/mixtile/blade3/debian11/kernel5.10/arch/arm64/boot/dts/rockchip/rk3588-blade3-v101-linux.dts - removed imx415 stuff
Configuration menu - View commit details
-
Copy full SHA for dd04c69 - Browse repository at this point
Copy the full SHA dd04c69View commit details -
Configuration menu - View commit details
-
Copy full SHA for 21592e8 - Browse repository at this point
Copy the full SHA 21592e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac96b3e - Browse repository at this point
Copy the full SHA ac96b3eView commit details -
Configuration menu - View commit details
-
Copy full SHA for b769b90 - Browse repository at this point
Copy the full SHA b769b90View commit details -
Configuration menu - View commit details
-
Copy full SHA for 91ad37b - Browse repository at this point
Copy the full SHA 91ad37bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 53e95c9 - Browse repository at this point
Copy the full SHA 53e95c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 62d33bf - Browse repository at this point
Copy the full SHA 62d33bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d045ba - Browse repository at this point
Copy the full SHA 8d045baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3790233 - Browse repository at this point
Copy the full SHA 3790233View commit details -
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 902e71b - Browse repository at this point
Copy the full SHA 902e71bView commit details -
arm64: dts: cm5 io: add user led
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 76b82f6 - Browse repository at this point
Copy the full SHA 76b82f6View commit details -
arm64: dts: cm5 io: change i2c7m0 to i2c8m2 for es8316
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6aad877 - Browse repository at this point
Copy the full SHA 6aad877View commit details -
Configuration menu - View commit details
-
Copy full SHA for c280781 - Browse repository at this point
Copy the full SHA c280781View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0113e5e - Browse repository at this point
Copy the full SHA 0113e5eView commit details -
Configuration menu - View commit details
-
Copy full SHA for a802c49 - Browse repository at this point
Copy the full SHA a802c49View commit details -
Configuration menu - View commit details
-
Copy full SHA for 36d7529 - Browse repository at this point
Copy the full SHA 36d7529View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3fec309 - Browse repository at this point
Copy the full SHA 3fec309View commit details -
Configuration menu - View commit details
-
Copy full SHA for 507d14f - Browse repository at this point
Copy the full SHA 507d14fView commit details -
Configuration menu - View commit details
-
Copy full SHA for c8b06c9 - Browse repository at this point
Copy the full SHA c8b06c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for bf5c0ae - Browse repository at this point
Copy the full SHA bf5c0aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 119d77e - Browse repository at this point
Copy the full SHA 119d77eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3326ee2 - Browse repository at this point
Copy the full SHA 3326ee2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7864340 - Browse repository at this point
Copy the full SHA 7864340View commit details -
Revert "net: wireless: rockchip_wlan: bcmdhd: Enable CONFIG_BCMDHD_RE…
…QUEST_FW" This reverts commit 1659a56.
Configuration menu - View commit details
-
Copy full SHA for 59b8d7f - Browse repository at this point
Copy the full SHA 59b8d7fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f6abea - Browse repository at this point
Copy the full SHA 3f6abeaView commit details -
Configuration menu - View commit details
-
Copy full SHA for eddf576 - Browse repository at this point
Copy the full SHA eddf576View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7895a18 - Browse repository at this point
Copy the full SHA 7895a18View commit details -
arm64: dts: odroid-m1: add ODROID-M1 dt from 4.19 vendor sources
- taken from https://github.com/hardkernel/linux/tree/odroidm1-4.19.y sha1 89b88ec44cb98ec17b8460cc3c0127fcb1f7b159 - added the infamous delete chosen - moved stuff HK did to common rk3568-linux.dtsi to their own dtsi - change `RK_GPIO0` -> `0`
Configuration menu - View commit details
-
Copy full SHA for 06eccc6 - Browse repository at this point
Copy the full SHA 06eccc6View commit details -
arm64: dts: odroid-m1: add vp0 and gpu props for panfrost
- suggested by amazingfate - from way back in February; armbian/build#4794 (comment)
Configuration menu - View commit details
-
Copy full SHA for 6d569ea - Browse repository at this point
Copy the full SHA 6d569eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 45e505d - Browse repository at this point
Copy the full SHA 45e505dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 498f874 - Browse repository at this point
Copy the full SHA 498f874View commit details -
Configuration menu - View commit details
-
Copy full SHA for e14250d - Browse repository at this point
Copy the full SHA e14250dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7a72c5d - Browse repository at this point
Copy the full SHA 7a72c5dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 92f6c80 - Browse repository at this point
Copy the full SHA 92f6c80View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9fb6b1a - Browse repository at this point
Copy the full SHA 9fb6b1aView commit details -
arm64: dts: rockchip: add GPIO nodes for NanoPi R6 and NanoPC T6
cherry picked from: friendlyarm/kernel-rockchip@5549a0f
Configuration menu - View commit details
-
Copy full SHA for 0d4f5d5 - Browse repository at this point
Copy the full SHA 0d4f5d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 12856d6 - Browse repository at this point
Copy the full SHA 12856d6View commit details -
video: rockchip: rga3: fix 10b compact in win0/1 cannot be changed fr…
…om user space Signed-off-by: nyanmisaka <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 07a56db - Browse repository at this point
Copy the full SHA 07a56dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3b0faa3 - Browse repository at this point
Copy the full SHA 3b0faa3View commit details -
Revert "arm64: dts: rockchip: add GPIO nodes for NanoPi R6 and NanoPC…
… T6" This reverts commit a3b4862.
Configuration menu - View commit details
-
Copy full SHA for 546be99 - Browse repository at this point
Copy the full SHA 546be99View commit details -
Configuration menu - View commit details
-
Copy full SHA for 620b9c8 - Browse repository at this point
Copy the full SHA 620b9c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 00c07eb - Browse repository at this point
Copy the full SHA 00c07ebView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8eff030 - Browse repository at this point
Copy the full SHA 8eff030View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a82eb1 - Browse repository at this point
Copy the full SHA 3a82eb1View commit details -
arm64: dts: mekotronics: enable avsd; add missing sound-dai-cells to …
…v12's hdmirx_ctrler - source: vendor drop `blueberry_edge_patch_230810`
Configuration menu - View commit details
-
Copy full SHA for da2882d - Browse repository at this point
Copy the full SHA da2882dView commit details -
Configuration menu - View commit details
-
Copy full SHA for bb0e8b6 - Browse repository at this point
Copy the full SHA bb0e8b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 91adb58 - Browse repository at this point
Copy the full SHA 91adb58View commit details -
video: rockchip: rga3: fix compatibility with legacy global alpha config
Fixes a typo in 7291693, which broke compatibility with librga API 1.9.x and older when using DST over blend/composite and premultiplied alpha. Signed-off-by: nyanmisaka <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b2251fc - Browse repository at this point
Copy the full SHA b2251fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 24b3a09 - Browse repository at this point
Copy the full SHA 24b3a09View commit details -
Configuration menu - View commit details
-
Copy full SHA for c718101 - Browse repository at this point
Copy the full SHA c718101View commit details -
arm64: dts: turing-rk1: configure extcon attribute
Configure the extcon attribute to support software switching Device/Host mode.
Configuration menu - View commit details
-
Copy full SHA for ccef2e2 - Browse repository at this point
Copy the full SHA ccef2e2View commit details -
arm64: dts: move status led configuration to radxa cm5
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 32df73e - Browse repository at this point
Copy the full SHA 32df73eView commit details -
arm64: dts: cm5 io: add dp sound
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 69e4f91 - Browse repository at this point
Copy the full SHA 69e4f91View commit details -
arm64: dts: cm5 io: modify vcc5v0_host gpio
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 85a9d3a - Browse repository at this point
Copy the full SHA 85a9d3aView commit details -
arm64: dts: delete duplicate gpio-leds nodes
The gpio-leds node is defined in cm5 dtsi Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0a555cf - Browse repository at this point
Copy the full SHA 0a555cfView commit details -
arm64: dts: turing-rk1: use HS200 mode for eMMC
On the production RK1 boards a new eMMC chip was selected, for some reason it causes I/O errors when writing data to the eMMC. So for now we need to use HS200 mode to avoid this issue.
Configuration menu - View commit details
-
Copy full SHA for 92f95c9 - Browse repository at this point
Copy the full SHA 92f95c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d74ac1 - Browse repository at this point
Copy the full SHA 8d74ac1View commit details -
arm64: dts: turing-rk1: add usb pinctrl and missing regulators
- Fixes usb causing a kernel panic when rebooting the system - Add missing regulators from rk3588-evb7-lp4-v10-linux.dts
Configuration menu - View commit details
-
Copy full SHA for 458eb65 - Browse repository at this point
Copy the full SHA 458eb65View commit details -
Configuration menu - View commit details
-
Copy full SHA for c51b681 - Browse repository at this point
Copy the full SHA c51b681View commit details -
Revert "arm64: dts: turing-rk1: use HS200 mode for eMMC"
This reverts commit dc9ef48.
Configuration menu - View commit details
-
Copy full SHA for fcde64f - Browse repository at this point
Copy the full SHA fcde64fView commit details -
Configuration menu - View commit details
-
Copy full SHA for bf98a76 - Browse repository at this point
Copy the full SHA bf98a76View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d9a995 - Browse repository at this point
Copy the full SHA 0d9a995View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5ae2877 - Browse repository at this point
Copy the full SHA 5ae2877View commit details -
Configuration menu - View commit details
-
Copy full SHA for bb91a00 - Browse repository at this point
Copy the full SHA bb91a00View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8933efa - Browse repository at this point
Copy the full SHA 8933efaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7649460 - Browse repository at this point
Copy the full SHA 7649460View commit details -
Configuration menu - View commit details
-
Copy full SHA for 530fc11 - Browse repository at this point
Copy the full SHA 530fc11View commit details -
Configuration menu - View commit details
-
Copy full SHA for 62035ee - Browse repository at this point
Copy the full SHA 62035eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for c452291 - Browse repository at this point
Copy the full SHA c452291View commit details -
Configuration menu - View commit details
-
Copy full SHA for 364e3a4 - Browse repository at this point
Copy the full SHA 364e3a4View commit details -
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8073409 - Browse repository at this point
Copy the full SHA 8073409View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8735545 - Browse repository at this point
Copy the full SHA 8735545View commit details -
Configuration menu - View commit details
-
Copy full SHA for aa70d97 - Browse repository at this point
Copy the full SHA aa70d97View commit details -
Configuration menu - View commit details
-
Copy full SHA for 720dbe8 - Browse repository at this point
Copy the full SHA 720dbe8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 42c2c6a - Browse repository at this point
Copy the full SHA 42c2c6aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8bcc886 - Browse repository at this point
Copy the full SHA 8bcc886View commit details -
Configuration menu - View commit details
-
Copy full SHA for 095379d - Browse repository at this point
Copy the full SHA 095379dView commit details -
arm64: dts: rk3588-fxblox-rk1: add edp and user leds (armbian#134)
* rk3588-fxblox-rk1a dd edp and user leds to dts * Update rk3588-fxblox-rk1.dts
Configuration menu - View commit details
-
Copy full SHA for 3ba82e1 - Browse repository at this point
Copy the full SHA 3ba82e1View commit details -
Configuration menu - View commit details
-
Copy full SHA for a1745ee - Browse repository at this point
Copy the full SHA a1745eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 06366ce - Browse repository at this point
Copy the full SHA 06366ceView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ab51dd - Browse repository at this point
Copy the full SHA 1ab51ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 02e48d5 - Browse repository at this point
Copy the full SHA 02e48d5View commit details -
Added device tree overlays files for armsom-sige7 board: camera-imx41…
…5-4k.dtbo and display-10hd.dtbo
Configuration menu - View commit details
-
Copy full SHA for b730420 - Browse repository at this point
Copy the full SHA b730420View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9678ca7 - Browse repository at this point
Copy the full SHA 9678ca7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5de846f - Browse repository at this point
Copy the full SHA 5de846fView commit details -
arm64: dts: rock-5a: pull down data-strobe to fix emmc compatibility
Pull down the emmc-data-strobe to fix some emmc compatibility.
Configuration menu - View commit details
-
Copy full SHA for 397a627 - Browse repository at this point
Copy the full SHA 397a627View commit details -
arm64: dts: rockchip: Radxa ROCK 5 ITX DTS patch (armbian#146)
* arm64: dts: rock 5 itx: add power led and user led Signed-off-by: Ken Wang <[email protected]> * arm64: dts: rock 5 itx: modify vbus5v0_typec enable gpio Signed-off-by: Ken Wang <[email protected]> * arm64: dts: rock 5 itx: add pwm-fan node Signed-off-by: Ken Wang <[email protected]> * arm64: dts: rock 5 itx: modify bt gpio pinctrl Signed-off-by: Ken Wang <[email protected]> * arm64: dts: rock 5 itx: modify dp sound card name Signed-off-by: Ken Wang <[email protected]> * arm64: dts: rock5 itx: remove useless node Signed-off-by: Ken Wang <[email protected]> * arm64: dts: rock5 itx: add hdmi0_phy_pll Fix dp0 display abnormality when hdmi1 and dp0 are displayed at the same time. Signed-off-by: Ken Wang <[email protected]> * arm64: dts: rock 5 itx: modify hp_det pinctrl pull down Since F_AUDIO's headphones don't have a detect pin, force the detect pin low. Signed-off-by: Ken Wang <[email protected]> * arm64: dts: rock5itx: enable vdd_0v75_s0 when suspend Fix automatic wakeup after suspend. Signed-off-by: Ken Wang <[email protected]> --------- Signed-off-by: Ken Wang <[email protected]> Co-authored-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 30df35e - Browse repository at this point
Copy the full SHA 30df35eView commit details -
Configuration menu - View commit details
-
Copy full SHA for e512fd4 - Browse repository at this point
Copy the full SHA e512fd4View commit details -
Configuration menu - View commit details
-
Copy full SHA for a41dbc3 - Browse repository at this point
Copy the full SHA a41dbc3View commit details -
Configuration menu - View commit details
-
Copy full SHA for a5732a8 - Browse repository at this point
Copy the full SHA a5732a8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 225e11e - Browse repository at this point
Copy the full SHA 225e11eView commit details -
drm: Allow DRM_IOCTL_MODE_CREATE_DUMB on render nodes
Due to a change in Mesa, the render node ends up being picked instead of the primary node when using Exynos DRM kmsro. In turn, this results in that dumb buffers cannot be allocated with DRM_IOCTL_MODE_CREATE_DUMB, so many applications crash. This works around that by allowing dumb buffers to be created by render nodes. Mesa issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5510
Configuration menu - View commit details
-
Copy full SHA for 5ce6552 - Browse repository at this point
Copy the full SHA 5ce6552View commit details -
Configuration menu - View commit details
-
Copy full SHA for f0e0f65 - Browse repository at this point
Copy the full SHA f0e0f65View commit details -
Revert "MALI: rockchip: upgrade bifrost DDK to g21p0-01eac0, from g18…
…p0-01eac0" This reverts commit b72fff5.
Configuration menu - View commit details
-
Copy full SHA for e0a96f4 - Browse repository at this point
Copy the full SHA e0a96f4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 657d7e2 - Browse repository at this point
Copy the full SHA 657d7e2View commit details -
arm64: dts: nanopi-6-common: Add several features based on vendor dtsi
https://github.com/friendlyarm/kernel-rockchip/ The following commits from the vendor dtsi file have been used: ARM64: dts: rockchip: enable crypto node for nanopi5/6 Signed-off-by: jensen <[email protected]> arm64: dts: rockchip: update ir-key-table for nanopi6 Signed-off-by: jensen <[email protected]> ARM64: dts: rockchip: apply the EVB changes to nanopi5/6 Signed-off-by: jensen <[email protected]> ARM64: dts: rockchip: enable watchdog for nanopi5/6 Signed-off-by: jensen <[email protected]> Some documentation for the watchdog can be found here: https://wiki.t-firefly.com/en/ROC-RK3588-PC/usage_watchdog.html Watchdog and crypto has been successfully tested on CM3588.
Configuration menu - View commit details
-
Copy full SHA for 3dc8290 - Browse repository at this point
Copy the full SHA 3dc8290View commit details -
arm64: dts: Add support for FriendlyElec CM3588
Tested and working: - all 4 NVMe port, including their respective activity LEDs (NVMe tested with hdparm) - HDMI 4k@60 (tested with Gnome desktop), more will likely work too - LAN - 2xUSB3, 1xUSB2 (USB-C and OTG/DP mode untested) - hardware buttons (power, reset) - hardware acceleration for video encoding/decoding (tested with jellyfin-ffmpeg6)
Configuration menu - View commit details
-
Copy full SHA for f4fdaff - Browse repository at this point
Copy the full SHA f4fdaffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 59ce87e - Browse repository at this point
Copy the full SHA 59ce87eView commit details -
Configuration menu - View commit details
-
Copy full SHA for f818e0c - Browse repository at this point
Copy the full SHA f818e0cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 832dca9 - Browse repository at this point
Copy the full SHA 832dca9View commit details -
arm64: dts: cm5 io: add gpiod label
Signed-off-by: Nascs <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ccf2f32 - Browse repository at this point
Copy the full SHA ccf2f32View commit details -
arm64: dts: cm5 io: update type-c configuration
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3ad85a3 - Browse repository at this point
Copy the full SHA 3ad85a3View commit details -
arm64: dts: cm5: enable usb wakeup
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4c901ef - Browse repository at this point
Copy the full SHA 4c901efView commit details -
arm64: dts: cm5 io: update gpiod gpio-line-names
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e1573a9 - Browse repository at this point
Copy the full SHA e1573a9View commit details -
arm64: dts: cm5: modify vdd_0v75_s0 regulator-microvolt
Increased compatibility with different monitors. Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3cfbdfd - Browse repository at this point
Copy the full SHA 3cfbdfdView commit details -
arm46: dts: cm5: enable hdmi0 cec
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7450ce9 - Browse repository at this point
Copy the full SHA 7450ce9View commit details -
arm64: dts: cm5: enable emmc hs400 mode
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9b6b9b4 - Browse repository at this point
Copy the full SHA 9b6b9b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 867d10a - Browse repository at this point
Copy the full SHA 867d10aView commit details -
arm64: dts: Add board bananapim7
bananapim7 and armsom-sige7 are the same board
Configuration menu - View commit details
-
Copy full SHA for d257c33 - Browse repository at this point
Copy the full SHA d257c33View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c13e66 - Browse repository at this point
Copy the full SHA 1c13e66View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8731c00 - Browse repository at this point
Copy the full SHA 8731c00View commit details -
Configuration menu - View commit details
-
Copy full SHA for b7d0366 - Browse repository at this point
Copy the full SHA b7d0366View commit details -
Configuration menu - View commit details
-
Copy full SHA for d50c96d - Browse repository at this point
Copy the full SHA d50c96dView commit details -
Configuration menu - View commit details
-
Copy full SHA for d47b163 - Browse repository at this point
Copy the full SHA d47b163View commit details -
Configuration menu - View commit details
-
Copy full SHA for 491851f - Browse repository at this point
Copy the full SHA 491851fView commit details -
dt-bindings: gpu: mali-valhall-csf: Add support for Arm Mali CSF GPUs
Arm has introduced a new v10 GPU architecture that replaces the Job Manager interface with a new Command Stream Frontend. It adds firmware driven command stream queues that can be used by kernel and user space to submit jobs to the GPU. Add the initial schema for the device tree that is based on support for RK3588 SoC. The minimum number of clocks is one for the IP, but on Rockchip platforms they will tend to expose the semi-independent clocks for better power management. v5: - Move the opp-table node under the gpu node v4: - Fix formatting issue v3: - Cleanup commit message to remove redundant text - Added opp-table property and re-ordered entries - Clarified power-domains and power-domain-names requirements for RK3588. - Cleaned up example Note: power-domains and power-domain-names requirements for other platforms are still work in progress, hence the bindings are left incomplete here. v2: - New commit Signed-off-by: Liviu Dudau <[email protected]> Cc: Krzysztof Kozlowski <[email protected]> Cc: Rob Herring <[email protected]> Cc: Conor Dooley <[email protected]> Cc: [email protected] Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Rob Herring <[email protected]> drm: execution context for GEM buffers v7 This adds the infrastructure for an execution context for GEM buffers which is similar to the existing TTMs execbuf util and intended to replace it in the long term. The basic functionality is that we abstracts the necessary loop to lock many different GEM buffers with automated deadlock and duplicate handling. v2: drop xarray and use dynamic resized array instead, the locking overhead is unnecessary and measurable. v3: drop duplicate tracking, radeon is really the only one needing that. v4: fixes issues pointed out by Danilo, some typos in comments and a helper for lock arrays of GEM objects. v5: some suggestions by Boris Brezillon, especially just use one retry macro, drop loop in prepare_array, use flags instead of bool v6: minor changes suggested by Thomas, Boris and Danilo v7: minor typos pointed out by checkpatch.pl fixed Signed-off-by: Christian König <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Reviewed-by: Danilo Krummrich <[email protected]> Tested-by: Danilo Krummrich <[email protected]> Acked-by: Alex Deucher <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm: manager to keep track of GPUs VA mappings Add infrastructure to keep track of GPU virtual address (VA) mappings with a decicated VA space manager implementation. New UAPIs, motivated by Vulkan sparse memory bindings graphics drivers start implementing, allow userspace applications to request multiple and arbitrary GPU VA mappings of buffer objects. The DRM GPU VA manager is intended to serve the following purposes in this context. 1) Provide infrastructure to track GPU VA allocations and mappings, using an interval tree (RB-tree). 2) Generically connect GPU VA mappings to their backing buffers, in particular DRM GEM objects. 3) Provide a common implementation to perform more complex mapping operations on the GPU VA space. In particular splitting and merging of GPU VA mappings, e.g. for intersecting mapping requests or partial unmap requests. Acked-by: Thomas Hellström <[email protected]> Acked-by: Matthew Brost <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Tested-by: Matthew Brost <[email protected]> Tested-by: Donald Robson <[email protected]> Suggested-by: Dave Airlie <[email protected]> Signed-off-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm: manager: Fix printk format for size_t sizeof() returns a size_t which may be different to an unsigned long. Use the correct format specifier of '%zu' to prevent compiler warnings. Fixes: e6303f323b1a ("drm: manager to keep track of GPUs VA mappings") Reviewed-by: Danilo Krummrich <[email protected]> Signed-off-by: Steven Price <[email protected]> Signed-off-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/gpuva_mgr: remove unused prev pointer in __drm_gpuva_sm_map() The prev pointer in __drm_gpuva_sm_map() was used to implement automatic merging of mappings. Since automatic merging did not make its way upstream, remove this leftover. Fixes: e6303f323b1a ("drm: manager to keep track of GPUs VA mappings") Signed-off-by: Danilo Krummrich <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/gpuvm: rename struct drm_gpuva_manager to struct drm_gpuvm Rename struct drm_gpuva_manager to struct drm_gpuvm including corresponding functions. This way the GPUVA manager's structures align very well with the documentation of VM_BIND [1] and VM_BIND locking [2]. It also provides a better foundation for the naming of data structures and functions introduced for implementing a common dma-resv per GPU-VM including tracking of external and evicted objects in subsequent patches. [1] Documentation/gpu/drm-vm-bind-async.rst [2] Documentation/gpu/drm-vm-bind-locking.rst Cc: Thomas Hellström <[email protected]> Cc: Matthew Brost <[email protected]> Acked-by: Dave Airlie <[email protected]> Acked-by: Christian König <[email protected]> Signed-off-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/gpuvm: allow building as module HB: drivers/gpu/drm/nouveau/Kconfig skipped because there is no gpuvm support of nouveau in 6.1 Currently, the DRM GPUVM does not have any core dependencies preventing a module build. Also, new features from subsequent patches require helpers (namely drm_exec) which can be built as module. Reviewed-by: Christian König <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Signed-off-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/gpuvm: convert WARN() to drm_WARN() variants HB: drivers/gpu/drm/nouveau/nouveau_uvmm.c skipped since 6.1 does not support gpuvm on nv Use drm_WARN() and drm_WARN_ON() variants to indicate drivers the context the failing VM resides in. Acked-by: Christian König <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Reviewed-by: Thomas Hellström <[email protected]> Signed-off-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/gpuvm: don't always WARN in drm_gpuvm_check_overflow() Don't always WARN in drm_gpuvm_check_overflow() and separate it into a drm_gpuvm_check_overflow() and a dedicated drm_gpuvm_warn_check_overflow() variant. This avoids printing warnings due to invalid userspace requests. Acked-by: Christian König <[email protected]> Reviewed-by: Thomas Hellström <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Signed-off-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/gpuvm: export drm_gpuvm_range_valid() Drivers may use this function to validate userspace requests in advance, hence export it. Acked-by: Christian König <[email protected]> Reviewed-by: Thomas Hellström <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Signed-off-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/gpuvm: add common dma-resv per struct drm_gpuvm hb: drivers/gpu/drm/nouveau/nouveau_uvmm.c skipped Provide a common dma-resv for GEM objects not being used outside of this GPU-VM. This is used in a subsequent patch to generalize dma-resv, external and evicted object handling and GEM validation. Acked-by: Christian König <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Reviewed-by: Thomas Hellström <[email protected]> Signed-off-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/gpuvm: add drm_gpuvm_flags to drm_gpuvm HB: drivers/gpu/drm/nouveau/nouveau_uvmm.c skipped Introduce flags for struct drm_gpuvm, this required by subsequent commits. Acked-by: Christian König <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Reviewed-by: Thomas Hellström <[email protected]> Signed-off-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/gpuvm: reference count drm_gpuvm structures HB: drivers/gpu/drm/nouveau/nouveau_uvmm.c skipped Implement reference counting for struct drm_gpuvm. Acked-by: Christian König <[email protected]> Reviewed-by: Thomas Hellström <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Signed-off-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/gpuvm: add an abstraction for a VM / BO combination HB: drivers/gpu/drm/nouveau/nouveau_uvmm.c skipped Add an abstraction layer between the drm_gpuva mappings of a particular drm_gem_object and this GEM object itself. The abstraction represents a combination of a drm_gem_object and drm_gpuvm. The drm_gem_object holds a list of drm_gpuvm_bo structures (the structure representing this abstraction), while each drm_gpuvm_bo contains list of mappings of this GEM object. This has multiple advantages: 1) We can use the drm_gpuvm_bo structure to attach it to various lists of the drm_gpuvm. This is useful for tracking external and evicted objects per VM, which is introduced in subsequent patches. 2) Finding mappings of a certain drm_gem_object mapped in a certain drm_gpuvm becomes much cheaper. 3) Drivers can derive and extend the structure to easily represent driver specific states of a BO for a certain GPUVM. The idea of this abstraction was taken from amdgpu, hence the credit for this idea goes to the developers of amdgpu. Cc: Christian König <[email protected]> Acked-by: Christian König <[email protected]> Reviewed-by: Thomas Hellström <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Signed-off-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/gpuvm: track/lock/validate external/evicted objects Currently the DRM GPUVM offers common infrastructure to track GPU VA allocations and mappings, generically connect GPU VA mappings to their backing buffers and perform more complex mapping operations on the GPU VA space. However, there are more design patterns commonly used by drivers, which can potentially be generalized in order to make the DRM GPUVM represent a basis for GPU-VM implementations. In this context, this patch aims at generalizing the following elements. 1) Provide a common dma-resv for GEM objects not being used outside of this GPU-VM. 2) Provide tracking of external GEM objects (GEM objects which are shared with other GPU-VMs). 3) Provide functions to efficiently lock all GEM objects dma-resv the GPU-VM contains mappings of. 4) Provide tracking of evicted GEM objects the GPU-VM contains mappings of, such that validation of evicted GEM objects is accelerated. 5) Provide some convinience functions for common patterns. Big thanks to Boris Brezillon for his help to figure out locking for drivers updating the GPU VA space within the fence signalling path. Acked-by: Christian König <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Reviewed-by: Thomas Hellström <[email protected]> Suggested-by: Matthew Brost <[email protected]> Signed-off-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/gpuvm: fall back to drm_exec_lock_obj() Fall back to drm_exec_lock_obj() if num_fences is zero for the drm_gpuvm_prepare_* function family. Otherwise dma_resv_reserve_fences() would actually allocate slots even though num_fences is zero. Cc: Christian König <[email protected]> Acked-by: Donald Robson <[email protected]> Signed-off-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/gpuvm: Let drm_gpuvm_bo_put() report when the vm_bo object is destroyed Some users need to release resources attached to the vm_bo object when it's destroyed. In Panthor's case, we need to release the pin ref so BO pages can be returned to the system when all GPU mappings are gone. This could be done through a custom drm_gpuvm::vm_bo_free() hook, but this has all sort of locking implications that would force us to expose a drm_gem_shmem_unpin_locked() helper, not to mention the fact that having a ::vm_bo_free() implementation without a ::vm_bo_alloc() one seems odd. So let's keep things simple, and extend drm_gpuvm_bo_put() to report when the object is destroyed. Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/exec: Pass in initial # of objects HB: skipped drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c drivers/gpu/drm/amd/amdkfd/kfd_svm.c drivers/gpu/drm/imagination/pvr_job.c drivers/gpu/drm/nouveau/nouveau_uvmm.c In cases where the # is known ahead of time, it is silly to do the table resize dance. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Christian König <[email protected]> Patchwork: https://patchwork.freedesktop.org/patch/568338/ drm/gem-shmem: When drm_gem_object_init failed, should release object when goto err_free, the object had init, so it should be release when fail. Signed-off-by: ChunyouTang <[email protected]> Signed-off-by: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm: Remove usage of deprecated DRM_DEBUG_PRIME drm_print.h says DRM_DEBUG_PRIME is deprecated in favor of drm_dbg_prime(). Signed-off-by: Siddh Raman Pant <[email protected]> Reviewed-by: Simon Ser <[email protected]> Signed-off-by: Simon Ser <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/cd663b1bc42189e55898cddecdb3b73c591b341a.1673269059.git.code@siddh.me drm/shmem: Cleanup drm_gem_shmem_create_with_handle() Once we create the handle, the handle owns the reference. Currently nothing was doing anything with the shmem ptr after the handle was created, but let's change drm_gem_shmem_create_with_handle() to not return the pointer, so-as to not encourage problematic use of this function in the future. As a bonus, it makes the code a bit cleaner. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Steven Price <[email protected]> Signed-off-by: Steven Price <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/shmem-helper: Fix locking for drm_gem_shmem_get_pages_sgt() Other functions touching shmem->sgt take the pages lock, so do that here too. drm_gem_shmem_get_pages() & co take the same lock, so move to the _locked() variants to avoid recursive locking. Discovered while auditing locking to write the Rust abstractions. Fixes: 2194a63a818d ("drm: Add library for shmem backed GEM objects") Fixes: 4fa3d66f132b ("drm/shmem: Do dma_unmap_sg before purging pages") Signed-off-by: Asahi Lina <[email protected]> Reviewed-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Javier Martinez Canillas <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/shmem-helper: Switch to use drm_* debug helpers Ease debugging of a multi-GPU system by using drm_WARN_*() and drm_dbg_kms() helpers that print out DRM device name corresponding to shmem GEM. Reviewed-by: Thomas Zimmermann <[email protected]> Suggested-by: Thomas Zimmermann <[email protected]> Signed-off-by: Dmitry Osipenko <[email protected]> Link: https://lore.kernel.org/all/[email protected]/ drm/shmem-helper: Don't use vmap_use_count for dma-bufs DMA-buf core has its own refcounting of vmaps, use it instead of drm-shmem counting. This change prepares drm-shmem for addition of memory shrinker support where drm-shmem will use a single dma-buf reservation lock for all operations performed over dma-bufs. Reviewed-by: Thomas Zimmermann <[email protected]> Signed-off-by: Dmitry Osipenko <[email protected]> Link: https://lore.kernel.org/all/[email protected]/ drm/shmem-helper: Switch to reservation lock Replace all drm-shmem locks with a GEM reservation lock. This makes locks consistent with dma-buf locking convention where importers are responsible for holding reservation lock for all operations performed over dma-bufs, preventing deadlock between dma-buf importers and exporters. Suggested-by: Daniel Vetter <[email protected]> Acked-by: Thomas Zimmermann <[email protected]> Signed-off-by: Dmitry Osipenko <[email protected]> Link: https://lore.kernel.org/all/[email protected]/ drm/shmem-helper: Revert accidental non-GPL export The referenced commit added a wrapper for drm_gem_shmem_get_pages_sgt(), but in the process it accidentally changed the export type from GPL to non-GPL. Switch it back to GPL. Reported-by: Dmitry Osipenko <[email protected]> Fixes: ddddedaa0db9 ("drm/shmem-helper: Fix locking for drm_gem_shmem_get_pages_sgt()") Signed-off-by: Asahi Lina <[email protected]> Signed-off-by: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Revert "drm/shmem-helper: Switch to reservation lock" This reverts commit 67b7836d4458790f1261e31fe0ce3250989784f0. The locking appears incomplete. A caller of SHMEM helper's pin function never acquires the dma-buf reservation lock. So we get WARNING: CPU: 3 PID: 967 at drivers/gpu/drm/drm_gem_shmem_helper.c:243 drm_gem_shmem_pin+0x42/0x90 [drm_shmem_helper] Signed-off-by: Thomas Zimmermann <[email protected]> Acked-by: Dmitry Osipenko <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/shmem-helper: Switch to reservation lock Replace all drm-shmem locks with a GEM reservation lock. This makes locks consistent with dma-buf locking convention where importers are responsible for holding reservation lock for all operations performed over dma-bufs, preventing deadlock between dma-buf importers and exporters. Suggested-by: Daniel Vetter <[email protected]> Acked-by: Thomas Zimmermann <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Signed-off-by: Dmitry Osipenko <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/shmem-helper: Reset vma->vm_ops before calling dma_buf_mmap() The dma-buf backend is supposed to provide its own vm_ops, but some implementation just have nothing special to do and leave vm_ops untouched, probably expecting this field to be zero initialized (this is the case with the system_heap implementation for instance). Let's reset vma->vm_ops to NULL to keep things working with these implementations. Fixes: 26d3ac3cb04d ("drm/shmem-helpers: Redirect mmap for imported dma-buf") Cc: <[email protected]> Cc: Daniel Vetter <[email protected]> Reported-by: Roman Stratiienko <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Tested-by: Roman Stratiienko <[email protected]> Reviewed-by: Thomas Zimmermann <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] iommu: Allow passing custom allocators to pgtable drivers This will be useful for GPU drivers who want to keep page tables in a pool so they can: - keep freed page tables in a free pool and speed-up upcoming page table allocations - batch page table allocation instead of allocating one page at a time - pre-reserve pages for page tables needed for map/unmap operations, to ensure map/unmap operations don't try to allocate memory in paths they're allowed to block or fail It might also be valuable for other aspects of GPU and similar use-cases, like fine-grained memory accounting and resource limiting. We will extend the Arm LPAE format to support custom allocators in a separate commit. Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Steven Price <[email protected]> Reviewed-by: Robin Murphy <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Joerg Roedel <[email protected]> iommu: Extend LPAE page table format to support custom allocators We need that in order to implement the VM_BIND ioctl in the GPU driver targeting new Mali GPUs. VM_BIND is about executing MMU map/unmap requests asynchronously, possibly after waiting for external dependencies encoded as dma_fences. We intend to use the drm_sched framework to automate the dependency tracking and VM job dequeuing logic, but this comes with its own set of constraints, one of them being the fact we are not allowed to allocate memory in the drm_gpu_scheduler_ops::run_job() to avoid this sort of deadlocks: - VM_BIND map job needs to allocate a page table to map some memory to the VM. No memory available, so kswapd is kicked - GPU driver shrinker backend ends up waiting on the fence attached to the VM map job or any other job fence depending on this VM operation. With custom allocators, we will be able to pre-reserve enough pages to guarantee the map/unmap operations we queued will take place without going through the system allocator. But we can also optimize allocation/reservation by not free-ing pages immediately, so any upcoming page table allocation requests can be serviced by some free page table pool kept at the driver level. I might also be valuable for other aspects of GPU and similar use-cases, like fine-grained memory accounting and resource limiting. Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Steven Price <[email protected]> Reviewed-by: Robin Murphy <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Joerg Roedel <[email protected]> drm/sched: Add FIFO sched policy to run queue When many entities are competing for the same run queue on the same scheduler, we observe an unusually long wait times and some jobs get starved. This has been observed on GPUVis. The issue is due to the Round Robin policy used by schedulers to pick up the next entity's job queue for execution. Under stress of many entities and long job queues within entity some jobs could be stuck for very long time in it's entity's queue before being popped from the queue and executed while for other entities with smaller job queues a job might execute earlier even though that job arrived later then the job in the long queue. Fix: Add FIFO selection policy to entities in run queue, chose next entity on run queue in such order that if job on one entity arrived earlier then job on another entity the first job will start executing earlier regardless of the length of the entity's job queue. v2: Switch to rb tree structure for entities based on TS of oldest job waiting in the job queue of an entity. Improves next entity extraction to O(1). Entity TS update O(log N) where N is the number of entities in the run-queue Drop default option in module control parameter. v3: Various cosmetical fixes and minor refactoring of fifo update function. (Luben) v4: Switch drm_sched_rq_select_entity_fifo to in order search (Luben) v5: Fix up drm_sched_rq_select_entity_fifo loop (Luben) v6: Add missing drm_sched_rq_remove_fifo_locked v7: Fix ts sampling bug and more cosmetic stuff (Luben) v8: Fix module parameter string (Luben) Cc: Luben Tuikov <[email protected]> Cc: Christian König <[email protected]> Cc: Direct Rendering Infrastructure - Development <[email protected]> Cc: AMD Graphics <[email protected]> Signed-off-by: Andrey Grodzovsky <[email protected]> Tested-by: Yunxiang Li (Teddy) <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/scheduler: Set the FIFO scheduling policy as the default The currently default Round-Robin GPU scheduling can result in starvation of entities which have a large number of jobs, over entities which have a very small number of jobs (single digit). This can be illustrated in the following diagram, where jobs are alphabetized to show their chronological order of arrival, where job A is the oldest, B is the second oldest, and so on, to J, the most recent job to arrive. ---> entities j | H-F-----A--E--I-- o | --G-----B-----J-- b | --------C-------- s\/ --------D-------- WLOG, assuming all jobs are "ready", then a R-R scheduling will execute them in the following order (a slice off of the top of the entities' list), H, F, A, E, I, G, B, J, C, D. However, to mitigate job starvation, we'd rather execute C and D before E, and so on, given, of course, that they're all ready to be executed. So, if all jobs are ready at this instant, the order of execution for this and the next 9 instances of picking the next job to execute, should really be, A, B, C, D, E, F, G, H, I, J, which is their chronological order. The only reason for this order to be broken, is if an older job is not yet ready, but a younger job is ready, at an instant of picking a new job to execute. For instance if job C wasn't ready at time 2, but job D was ready, then we'd pick job D, like this: 0 +1 +2 ... A, B, D, ... And from then on, C would be preferred before all other jobs, if it is ready at the time when a new job for execution is picked. So, if C became ready two steps later, the execution order would look like this: ......0 +1 +2 ... A, B, D, E, C, F, G, H, I, J This is what the FIFO GPU scheduling algorithm achieves. It uses a Red-Black tree to keep jobs sorted in chronological order, where picking the oldest job is O(1) (we use the "cached" structure), and balancing the tree is O(log n). IOW, it picks the *oldest ready* job to execute now. The implementation is already in the kernel, and this commit only changes the default GPU scheduling algorithm to use. This was tested and achieves about 1% faster performance over the Round Robin algorithm. Cc: Christian König <[email protected]> Cc: Alex Deucher <[email protected]> Cc: Direct Rendering Infrastructure - Development <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> Reviewed-by: Christian König <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Signed-off-by: Christian König <[email protected]> drm/scheduler: add drm_sched_job_add_resv_dependencies Add a new function to update job dependencies from a resv obj. Signed-off-by: Christian König <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/scheduler: remove drm_sched_dependency_optimized Not used any more. Signed-off-by: Christian König <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/scheduler: rework entity flush, kill and fini This was buggy because when we had to wait for entities which were killed as well we would just deadlock. Instead move all the dependency handling into the callbacks so that will all happen asynchronously. Signed-off-by: Christian König <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/scheduler: rename dependency callback into prepare_job This now matches much better what this is doing. Signed-off-by: Christian König <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/amdgpu: revert "implement tdr advanced mode" This reverts commit e6c6338f393b74ac0b303d567bb918b44ae7ad75. This feature basically re-submits one job after another to figure out which one was the one causing a hang. This is obviously incompatible with gang-submit which requires that multiple jobs run at the same time. It's also absolutely not helpful to crash the hardware multiple times if a clean recovery is desired. For testing and debugging environments we should rather disable recovery alltogether to be able to inspect the state with a hw debugger. Additional to that the sw implementation is clearly buggy and causes reference count issues for the hardware fence. Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]> drm/scheduler: Fix lockup in drm_sched_entity_kill() The drm_sched_entity_kill() is invoked twice by drm_sched_entity_destroy() while userspace process is exiting or being killed. First time it's invoked when sched entity is flushed and second time when entity is released. This causes a lockup within wait_for_completion(entity_idle) due to how completion API works. Calling wait_for_completion() more times than complete() was invoked is a error condition that causes lockup because completion internally uses counter for complete/wait calls. The complete_all() must be used instead in such cases. This patch fixes lockup of Panfrost driver that is reproducible by killing any application in a middle of 3d drawing operation. Fixes: 2fdb8a8f07c2 ("drm/scheduler: rework entity flush, kill and fini") Signed-off-by: Dmitry Osipenko <[email protected]> Reviewed-by: Christian König <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/scheduler: deprecate drm_sched_resubmit_jobs This interface is not working as it should. Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/scheduler: track GPU active time per entity Track the accumulated time that jobs from this entity were active on the GPU. This allows drivers using the scheduler to trivially implement the DRM fdinfo when the hardware doesn't provide more specific information than signalling job completion anyways. [Bagas: Append missing colon to @elapsed_ns] Signed-off-by: Bagas Sanjaya <[email protected]> Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Andrey Grodzovsky <[email protected]> drm/sched: Create wrapper to add a syncobj dependency to job In order to add a syncobj's fence as a dependency to a job, it is necessary to call drm_syncobj_find_fence() to find the fence and then add the dependency with drm_sched_job_add_dependency(). So, wrap these steps in one single function, drm_sched_job_add_syncobj_dependency(). Reviewed-by: Christian König <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Signed-off-by: Maíra Canal <[email protected]> Signed-off-by: Maíra Canal <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/scheduler: Fix variable name in function description Compiling AMD GPU drivers displays two warnings: drivers/gpu/drm/scheduler/sched_main.c:738: warning: Function parameter or member 'file' not described in 'drm_sched_job_add_syncobj_dependency' drivers/gpu/drm/scheduler/sched_main.c:738: warning: Excess function parameter 'file_private' description in 'drm_sched_job_add_syncobj_dependency' Get rid of them by renaming the variable name on the function description Signed-off-by: Caio Novais <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Luben Tuikov <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> drm/scheduler: Add fence deadline support As the finished fence is the one that is exposed to userspace, and therefore the one that other operations, like atomic update, would block on, we need to propagate the deadline from from the finished fence to the actual hw fence. v2: Split into drm_sched_fence_set_parent() (ckoenig) v3: Ensure a thread calling drm_sched_fence_set_deadline_finished() sees fence->parent set before drm_sched_fence_set_parent() does this test_bit(DMA_FENCE_FLAG_HAS_DEADLINE_BIT). Signed-off-by: Rob Clark <[email protected]> Acked-by: Luben Tuikov <[email protected]> Revert "drm/scheduler: track GPU active time per entity" This reverts commit df622729ddbf as it introduces a use-after-free, which isn't easy to fix without going back to the design drawing board. Reported-by: Danilo Krummrich <[email protected]> Signed-off-by: Lucas Stach <[email protected]> drm/scheduler: Fix UAF race in drm_sched_entity_push_job() After a job is pushed into the queue, it is owned by the scheduler core and may be freed at any time, so we can't write nor read the submit timestamp after that point. Fixes oopses observed with the drm/asahi driver, found with kASAN. Signed-off-by: Asahi Lina <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Luben Tuikov <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> drm/sched: Check scheduler ready before calling timeout handling During an IGT GPU reset test we see the following oops, [ +0.000003] ------------[ cut here ]------------ [ +0.000000] WARNING: CPU: 9 PID: 0 at kernel/workqueue.c:1656 __queue_delayed_work+0x6d/0xa0 [ +0.000004] Modules linked in: iptable_filter bpfilter amdgpu(OE) nls_iso8859_1 snd_hda_codec_realtek snd_hda_codec_generic intel_rapl_msr ledtrig_audio snd_hda_codec_hdmi intel_rapl_common snd_hda_intel edac_mce_amd snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec snd_hda_core iommu_v2 gpu_sched(OE) kvm_amd drm_buddy snd_hwdep kvm video drm_ttm_helper snd_pcm ttm snd_seq_midi drm_display_helper snd_seq_midi_event snd_rawmidi cec crct10dif_pclmul ghash_clmulni_intel sha512_ssse3 snd_seq aesni_intel rc_core crypto_simd cryptd binfmt_misc drm_kms_helper rapl snd_seq_device input_leds joydev snd_timer i2c_algo_bit syscopyarea snd ccp sysfillrect sysimgblt wmi_bmof k10temp soundcore mac_hid sch_fq_codel msr parport_pc ppdev drm lp parport ramoops reed_solomon pstore_blk pstore_zone efi_pstore ip_tables x_tables autofs4 hid_generic usbhid hid r8169 ahci xhci_pci gpio_amdpt realtek i2c_piix4 wmi crc32_pclmul xhci_pci_renesas libahci gpio_generic [ +0.000070] CPU: 9 PID: 0 Comm: swapper/9 Tainted: G W OE 6.1.11+ #2 [ +0.000003] Hardware name: Gigabyte Technology Co., Ltd. AB350-Gaming 3/AB350-Gaming 3-CF, BIOS F7 06/16/2017 [ +0.000001] RIP: 0010:__queue_delayed_work+0x6d/0xa0 [ +0.000003] Code: 7a 50 48 01 c1 48 89 4a 30 81 ff 00 20 00 00 75 38 4c 89 cf e8 64 3e 0a 00 5d e9 1e c5 11 01 e8 99 f7 ff ff 5d e9 13 c5 11 01 <0f> 0b eb c1 0f 0b 48 81 7a 38 70 5c 0e 81 74 9f 0f 0b 48 8b 42 28 [ +0.000002] RSP: 0018:ffffc90000398d60 EFLAGS: 00010007 [ +0.000002] RAX: ffff88810d589c60 RBX: 0000000000000000 RCX: 0000000000000000 [ +0.000002] RDX: ffff88810d589c58 RSI: 0000000000000000 RDI: 0000000000002000 [ +0.000001] RBP: ffffc90000398d60 R08: 0000000000000000 R09: ffff88810d589c78 [ +0.000002] R10: 72705f305f39765f R11: 7866673a6d72645b R12: ffff88810d589c58 [ +0.000001] R13: 0000000000002000 R14: 0000000000000000 R15: 0000000000000000 [ +0.000002] FS: 0000000000000000(0000) GS:ffff8887fee40000(0000) knlGS:0000000000000000 [ +0.000001] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ +0.000002] CR2: 00005562c4797fa0 CR3: 0000000110da0000 CR4: 00000000003506e0 [ +0.000002] Call Trace: [ +0.000001] <IRQ> [ +0.000001] mod_delayed_work_on+0x5e/0xa0 [ +0.000004] drm_sched_fault+0x23/0x30 [gpu_sched] [ +0.000007] gfx_v9_0_fault.isra.0+0xa6/0xd0 [amdgpu] [ +0.000258] gfx_v9_0_priv_reg_irq+0x29/0x40 [amdgpu] [ +0.000254] amdgpu_irq_dispatch+0x1ac/0x2b0 [amdgpu] [ +0.000243] amdgpu_ih_process+0x89/0x130 [amdgpu] [ +0.000245] amdgpu_irq_handler+0x24/0x60 [amdgpu] [ +0.000165] __handle_irq_event_percpu+0x4f/0x1a0 [ +0.000003] handle_irq_event_percpu+0x15/0x50 [ +0.000001] handle_irq_event+0x39/0x60 [ +0.000002] handle_edge_irq+0xa8/0x250 [ +0.000003] __common_interrupt+0x7b/0x150 [ +0.000002] common_interrupt+0xc1/0xe0 [ +0.000003] </IRQ> [ +0.000000] <TASK> [ +0.000001] asm_common_interrupt+0x27/0x40 [ +0.000002] RIP: 0010:native_safe_halt+0xb/0x10 [ +0.000003] Code: 46 ff ff ff cc cc cc cc cc cc cc cc cc cc cc eb 07 0f 00 2d 69 f2 5e 00 f4 e9 f1 3b 3e 00 90 eb 07 0f 00 2d 59 f2 5e 00 fb f4 <e9> e0 3b 3e 00 0f 1f 44 00 00 55 48 89 e5 53 e8 b1 d4 fe ff 66 90 [ +0.000002] RSP: 0018:ffffc9000018fdc8 EFLAGS: 00000246 [ +0.000002] RAX: 0000000000004000 RBX: 000000000002e5a8 RCX: 000000000000001f [ +0.000001] RDX: 0000000000000001 RSI: ffff888101298800 RDI: ffff888101298864 [ +0.000001] RBP: ffffc9000018fdd0 R08: 000000527f64bd8b R09: 000000000001dc90 [ +0.000001] R10: 000000000001dc90 R11: 0000000000000003 R12: 0000000000000001 [ +0.000001] R13: ffff888101298864 R14: ffffffff832d9e20 R15: ffff888193aa8c00 [ +0.000003] ? acpi_idle_do_entry+0x5e/0x70 [ +0.000002] acpi_idle_enter+0xd1/0x160 [ +0.000003] cpuidle_enter_state+0x9a/0x6e0 [ +0.000003] cpuidle_enter+0x2e/0x50 [ +0.000003] call_cpuidle+0x23/0x50 [ +0.000002] do_idle+0x1de/0x260 [ +0.000002] cpu_startup_entry+0x20/0x30 [ +0.000002] start_secondary+0x120/0x150 [ +0.000003] secondary_startup_64_no_verify+0xe5/0xeb [ +0.000004] </TASK> [ +0.000000] ---[ end trace 0000000000000000 ]--- [ +0.000003] BUG: kernel NULL pointer dereference, address: 0000000000000102 [ +0.006233] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx_low timeout, signaled seq=3, emitted seq=4 [ +0.000734] #PF: supervisor read access in kernel mode [ +0.009670] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process amd_deadlock pid 2002 thread amd_deadlock pid 2002 [ +0.005135] #PF: error_code(0x0000) - not-present page [ +0.000002] PGD 0 P4D 0 [ +0.000002] Oops: 0000 [#1] PREEMPT SMP NOPTI [ +0.000002] CPU: 9 PID: 0 Comm: swapper/9 Tainted: G W OE 6.1.11+ #2 [ +0.000002] Hardware name: Gigabyte Technology Co., Ltd. AB350-Gaming 3/AB350-Gaming 3-CF, BIOS F7 06/16/2017 [ +0.012101] amdgpu 0000:0c:00.0: amdgpu: GPU reset begin! [ +0.005136] RIP: 0010:__queue_work+0x1f/0x4e0 [ +0.000004] Code: 87 cd 11 01 0f 1f 80 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 41 57 41 56 41 55 49 89 d5 41 54 49 89 f4 53 48 83 ec 10 89 7d d4 <f6> 86 02 01 00 00 01 0f 85 6c 03 00 00 e8 7f 36 08 00 8b 45 d4 48 For gfx_rings the schedulers may not be initialized by amdgpu_device_init_schedulers() due to ring->no_scheduler flag being set to true and thus the timeout_wq is NULL. As a result, since all ASICs call drm_sched_fault() unconditionally even for schedulers which have not been initialized, it is simpler to use the ready condition which indicates whether the given scheduler worker thread runs and whether the timeout_wq of the reset domain has been initialized. Signed-off-by: Vitaly Prosyak <[email protected]> Cc: Christian König <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> Link: https://lore.kernel.org/r/[email protected] drm/scheduler: set entity to NULL in drm_sched_entity_pop_job() It already happend a few times that patches slipped through which implemented access to an entity through a job that was already removed from the entities queue. Since jobs and entities might have different lifecycles, this can potentially cause UAF bugs. In order to make it obvious that a jobs entity pointer shouldn't be accessed after drm_sched_entity_pop_job() was called successfully, set the jobs entity pointer to NULL once the job is removed from the entity queue. Moreover, debugging a potential NULL pointer dereference is way easier than potentially corrupted memory through a UAF. Signed-off-by: Danilo Krummrich <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Luben Tuikov <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> drm/scheduler: properly forward fence errors When a hw fence is signaled with an error properly forward that to the finished fence. Signed-off-by: Christian König <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/scheduler: add drm_sched_entity_error and use rcu for last_scheduled Switch to using RCU handling for the last scheduled job and add a function to return the error code of it. Signed-off-by: Christian König <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/scheduler: mark jobs without fence as canceled When no hw fence is provided for a job that means that the job didn't executed. Signed-off-by: Christian König <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/sched: Check scheduler work queue before calling timeout handling During an IGT GPU reset test we see again oops despite of commit 0c8c901aaaebc9 (drm/sched: Check scheduler ready before calling timeout handling). It uses ready condition whether to call drm_sched_fault which unwind the TDR leads to GPU reset. However it looks the ready condition is overloaded with other meanings, for example, for the following stack is related GPU reset : 0 gfx_v9_0_cp_gfx_start 1 gfx_v9_0_cp_gfx_resume 2 gfx_v9_0_cp_resume 3 gfx_v9_0_hw_init 4 gfx_v9_0_resume 5 amdgpu_device_ip_resume_phase2 does the following: /* start the ring */ gfx_v9_0_cp_gfx_start(adev); ring->sched.ready = true; The same approach is for other ASICs as well : gfx_v8_0_cp_gfx_resume gfx_v10_0_kiq_resume, etc... As a result, our GPU reset test causes GPU fault which calls unconditionally gfx_v9_0_fault and then drm_sched_fault. However now it depends on whether the interrupt service routine drm_sched_fault is executed after gfx_v9_0_cp_gfx_start is completed which sets the ready field of the scheduler to true even for uninitialized schedulers and causes oops vs no fault or when ISR drm_sched_fault is completed prior gfx_v9_0_cp_gfx_start and NULL pointer dereference does not occur. Use the field timeout_wq to prevent oops for uninitialized schedulers. The field could be initialized by the work queue of resetting the domain. v1: Corrections to commit message (Luben) Fixes: 11b3b9f461c5c4 ("drm/sched: Check scheduler ready before calling timeout handling") Signed-off-by: Vitaly Prosyak <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Luben Tuikov <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> drm/sched: Remove redundant check The rq pointer points inside the drm_gpu_scheduler structure. Thus it can't be NULL. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes: c61cdbdbffc1 ("drm/scheduler: Fix hang when sched_entity released") Signed-off-by: Vladislav Efanov <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Luben Tuikov <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> drm/sched: Rename to drm_sched_can_queue() Rename drm_sched_ready() to drm_sched_can_queue(). "ready" can mean many things and is thus meaningless in this context. Instead, rename to a name which precisely conveys what is being checked. Cc: Christian König <[email protected]> Cc: Alex Deucher <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Link: https://lore.kernel.org/r/[email protected] drm/sched: Rename to drm_sched_wakeup_if_can_queue() Rename drm_sched_wakeup() to drm_sched_wakeup_if_canqueue() since the former is misleading, as it wakes up the GPU scheduler _only if_ more jobs can be queued to the underlying hardware. This distinction is important to make, since the wake conditional in the GPU scheduler thread wakes up when other conditions are also true, e.g. when there are jobs to be cleaned. For instance, a user might want to wake up the scheduler only because there are more jobs to clean, but whether we can queue more jobs is irrelevant. v2: Separate "canqueue" to "can_queue". (Alex D.) Cc: Christian König <[email protected]> Cc: Alex Deucher <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Alex Deucher <[email protected]> drm/scheduler: avoid infinite loop if entity's dependency is a scheduled error fence [Why] drm_sched_entity_add_dependency_cb ignores the scheduled fence and return false. If entity's dependency is a scheduler error fence and drm_sched_stop is called due to TDR, drm_sched_entity_pop_job will wait for the dependency infinitely. [How] Do not wait or ignore the scheduled error fence, add drm_sched_entity_wakeup callback for the dependency with scheduled error fence. Signed-off-by: ZhenGuo Yin <[email protected]> Acked-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]> drm/sched: Make sure we wait for all dependencies in kill_jobs_cb() drm_sched_entity_kill_jobs_cb() logic is omitting the last fence popped from the dependency array that was waited upon before drm_sched_entity_kill() was called (drm_sched_entity::dependency field), so we're basically waiting for all dependencies except one. In theory, this wait shouldn't be needed because resources should have their users registered to the dma_resv object, thus guaranteeing that future jobs wanting to access these resources wait on all the previous users (depending on the access type, of course). But we want to keep these explicit waits in the kill entity path just in case. Let's make sure we keep all dependencies in the array in drm_sched_job_dependency(), so we can iterate over the array and wait in drm_sched_entity_kill_jobs_cb(). We also make sure we wait on drm_sched_fence::finished if we were originally asked to wait on drm_sched_fence::scheduled. In that case, we assume the intent was to delegate the wait to the firmware/GPU or rely on the pipelining done at the entity/scheduler level, but when killing jobs, we really want to wait for completion not just scheduling. v2: - Don't evict deps in drm_sched_job_dependency() v3: - Always wait for drm_sched_fence::finished fences in drm_sched_entity_kill_jobs_cb() when we see a sched_fence v4: - Fix commit message - Fix a use-after-free bug v5: - Flag deps on which we should only wait for the scheduled event at insertion time v6: - Back to v4 implementation - Add Christian's R-b Cc: Frank Binns <[email protected]> Cc: Sarah Walker <[email protected]> Cc: Donald Robson <[email protected]> Cc: Luben Tuikov <[email protected]> Cc: David Airlie <[email protected]> Cc: Daniel Vetter <[email protected]> Cc: Sumit Semwal <[email protected]> Cc: "Christian König" <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Suggested-by: "Christian König" <[email protected]> Reviewed-by: "Christian König" <[email protected]> Acked-by: Luben Tuikov <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/sched: Call drm_sched_fence_set_parent() from drm_sched_fence_scheduled() Drivers that can delegate waits to the firmware/GPU pass the scheduled fence to drm_sched_job_add_dependency(), and issue wait commands to the firmware/GPU at job submission time. For this to be possible, they need all their 'native' dependencies to have a valid parent since this is where the actual HW fence information are encoded. In drm_sched_main(), we currently call drm_sched_fence_set_parent() after drm_sched_fence_scheduled(), leaving a short period of time during which the job depending on this fence can be submitted. Since setting parent and signaling the fence are two things that are kinda related (you can't have a parent if the job hasn't been scheduled), it probably makes sense to pass the parent fence to drm_sched_fence_scheduled() and let it call drm_sched_fence_set_parent() before it signals the scheduled fence. Here is a detailed description of the race we are fixing here: Thread A Thread B - calls drm_sched_fence_scheduled() - signals s_fence->scheduled which wakes up thread B - entity dep signaled, checking the next dep - no more deps waiting - entity is picked for job submission by drm_gpu_scheduler - run_job() is called - run_job() tries to collect native fence info from s_fence->parent, but it's NULL => BOOM, we can't do our native wait - calls drm_sched_fence_set_parent() v2: * Fix commit message v3: * Add a detailed description of the race to the commit message * Add Luben's R-b Signed-off-by: Boris Brezillon <[email protected]> Cc: Frank Binns <[email protected]> Cc: Sarah Walker <[email protected]> Cc: Donald Robson <[email protected]> Cc: Luben Tuikov <[email protected]> Cc: David Airlie <[email protected]> Cc: Daniel Vetter <[email protected]> Cc: Sumit Semwal <[email protected]> Cc: "Christian König" <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] dma-buf: add dma_fence_timestamp helper When a fence signals there is a very small race window where the timestamp isn't updated yet. sync_file solves this by busy waiting for the timestamp to appear, but on other ocassions didn't handled this correctly. Provide a dma_fence_timestamp() helper function for this and use it in all appropriate cases. Another alternative would be to grab the spinlock when that happens. v2 by teddy: add a wait parameter to wait for the timestamp to show up, in case the accurate timestamp is needed and/or the timestamp is not based on ktime (e.g. hw timestamp) v3 chk: drop the parameter again for unified handling Signed-off-by: Yunxiang Li <[email protected]> Signed-off-by: Christian König <[email protected]> Fixes: 1774baa64f93 ("drm/scheduler: Change scheduled fence track v2") Reviewed-by: Alex Deucher <[email protected]> CC: [email protected] Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/sched: Convert the GPU scheduler to variable number of run-queues The GPU scheduler has now a variable number of run-queues, which are set up at drm_sched_init() time. This way, each driver announces how many run-queues it requires (supports) per each GPU scheduler it creates. Note, that run-queues correspond to scheduler "priorities", thus if the number of run-queues is set to 1 at drm_sched_init(), then that scheduler supports a single run-queue, i.e. single "priority". If a driver further sets a single entity per run-queue, then this creates a 1-to-1 correspondence between a scheduler and a scheduled entity. Cc: Lucas Stach <[email protected]> Cc: Russell King <[email protected]> Cc: Qiang Yu <[email protected]> Cc: Rob Clark <[email protected]> Cc: Abhinav Kumar <[email protected]> Cc: Dmitry Baryshkov <[email protected]> Cc: Danilo Krummrich <[email protected]> Cc: Matthew Brost <[email protected]> Cc: Boris Brezillon <[email protected]> Cc: Alex Deucher <[email protected]> Cc: Christian König <[email protected]> Cc: Emma Anholt <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Signed-off-by: Luben Tuikov <[email protected]> Acked-by: Christian König <[email protected]> Link: https://lore.kernel.org/r/[email protected] drm/sched: Add drm_sched_wqueue_* helpers Add scheduler wqueue ready, stop, and start helpers to hide the implementation details of the scheduler from the drivers. v2: - s/sched_wqueue/sched_wqueue (Luben) - Remove the extra white line after the return-statement (Luben) - update drm_sched_wqueue_ready comment (Luben) Cc: Luben Tuikov <[email protected]> Signed-off-by: Matthew Brost <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Luben Tuikov <[email protected]> drm/sched: Convert drm scheduler to use a work queue rather than kthread In Xe, the new Intel GPU driver, a choice has made to have a 1 to 1 mapping between a drm_gpu_scheduler and drm_sched_entity. At first this seems a bit odd but let us explain the reasoning below. 1. In Xe the submission order from multiple drm_sched_entity is not guaranteed to be the same completion even if targeting the same hardware engine. This is because in Xe we have a firmware scheduler, the GuC, which allowed to reorder, timeslice, and preempt submissions. If a using shared drm_gpu_scheduler across multiple drm_sched_entity, the TDR falls apart as the TDR expects submission order == completion order. Using a dedicated drm_gpu_scheduler per drm_sched_entity solve this problem. 2. In Xe submissions are done via programming a ring buffer (circular buffer), a drm_gpu_scheduler provides a limit on number of jobs, if the limit of number jobs is set to RING_SIZE / MAX_SIZE_PER_JOB we get flow control on the ring for free. A problem with this design is currently a drm_gpu_scheduler uses a kthread for submission / job cleanup. This doesn't scale if a large number of drm_gpu_scheduler are used. To work around the scaling issue, use a worker rather than kthread for submission / job cleanup. v2: - (Rob Clark) Fix msm build - Pass in run work queue v3: - (Boris) don't have loop in worker v4: - (Tvrtko) break out submit ready, stop, start helpers into own patch v5: - (Boris) default to ordered work queue v6: - (Luben / checkpatch) fix alignment in msm_ringbuffer.c - (Luben) s/drm_sched_submit_queue/drm_sched_wqueue_enqueue - (Luben) Update comment for drm_sched_wqueue_enqueue - (Luben) Positive check for submit_wq in drm_sched_init - (Luben) s/alloc_submit_wq/own_submit_wq v7: - (Luben) s/drm_sched_wqueue_enqueue/drm_sched_run_job_queue v8: - (Luben) Adjust var names / comments Signed-off-by: Matthew Brost <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Luben Tuikov <[email protected]> drm/sched: Split free_job into own work item Rather than call free_job and run_job in same work item have a dedicated work item for each. This aligns with the design and intended use of work queues. v2: - Test for DMA_FENCE_FLAG_TIMESTAMP_BIT before setting timestamp in free_job() work item (Danilo) v3: - Drop forward dec of drm_sched_select_entity (Boris) - Return in drm_sched_run_job_work if entity NULL (Boris) v4: - Replace dequeue with peek and invert logic (Luben) - Wrap to 100 lines (Luben) - Update comments for *_queue / *_queue_if_ready functions (Luben) v5: - Drop peek argument, blindly reinit idle (Luben) - s/drm_sched_free_job_queue_if_ready/drm_sched_free_job_queue_if_done (Luben) - Update work_run_job & work_free_job kernel doc (Luben) v6: - Do not move drm_sched_select_entity in file (Luben) Signed-off-by: Matthew Brost <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Luben Tuikov <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> drm/sched: Add drm_sched_start_timeout_unlocked helper Also add a lockdep assert to drm_sched_start_timeout. Signed-off-by: Matthew Brost <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Luben Tuikov <[email protected]> drm/sched: Add a helper to queue TDR immediately Add a helper whereby a driver can invoke TDR immediately. v2: - Drop timeout args, rename function, use mod delayed work (Luben) v3: - s/XE/Xe (Luben) - present tense in commit message (Luben) - Adjust comment for drm_sched_tdr_queue_imm (Luben) v4: - Adjust commit message (Luben) Cc: Luben Tuikov <[email protected]> Signed-off-by: Matthew Brost <[email protected]> Reviewed-by: Luben Tuikov <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Luben Tuikov <[email protected]> drm/sched: Rename drm_sched_get_cleanup_job to be more descriptive "Get cleanup job" makes it sound like helper is returning a job which will execute some cleanup, or something, while the kerneldoc itself accurately says "fetch the next _finished_ job". So lets rename the helper to be self documenting. Signed-off-by: Tvrtko Ursulin <[email protected]> Cc: Luben Tuikov <[email protected]> Cc: Matthew Brost <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Reviewed-by: Luben Tuikov <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> drm/sched: Move free worker re-queuing out of the if block Whether or not there are more jobs to clean up does not depend on the existance of the current job, given both drm_sched_get_finished_job and drm_sched_free_job_queue_if_done take and drop the job list lock. Therefore it is confusing to make it read like there is a dependency. Signed-off-by: Tvrtko Ursulin <[email protected]> Cc: Luben Tuikov <[email protected]> Cc: Matthew Brost <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Reviewed-by: Luben Tuikov <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> drm/sched: Rename drm_sched_free_job_queue to be more descriptive The current name makes it sound like helper will free a queue, while what it does is it enqueues the free job worker. Rename it to drm_sched_run_free_queue to align with existing drm_sched_run_job_queue. Despite that creating an illusion there are two queues, while in reality there is only one, at least it creates a consistent naming for the two enqueuing helpers. At the same time simplify the "if done" helper by dropping the suffix and adding a double underscore prefix to the one which just enqueues. Signed-off-by: Tvrtko Ursulin <[email protected]> Cc: Luben Tuikov <[email protected]> Cc: Matthew Brost <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Reviewed-by: Luben Tuikov <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> drm/sched: Rename drm_sched_run_job_queue_if_ready and clarify kerneldoc "If ready" is not immediately clear what it means - is the scheduler ready or something else? Drop the suffix, clarify kerneldoc, and employ the same naming scheme as in drm_sched_run_free_queue: - drm_sched_run_job_queue - enqueues if there is something to enqueue *and* scheduler is ready (can queue) - __drm_sched_run_job_queue - low-level helper to simply queue the job Signed-off-by: Tvrtko Ursulin <[email protected]> Cc: Luben Tuikov <[email protected]> Cc: Matthew Brost <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Reviewed-by: Luben Tuikov <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> drm/sched: Drop suffix from drm_sched_wakeup_if_can_queue Because a) helper is exported to other parts of the scheduler and b) there isn't a plain drm_sched_wakeup to begin with, I think we can drop the suffix and by doing so separate the intimiate knowledge between the scheduler components a bit better. Signed-off-by: Tvrtko Ursulin <[email protected]> Cc: Luben Tuikov <[email protected]> Cc: Matthew Brost <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Reviewed-by: Luben Tuikov <[email protected]> Signed-off-by: Luben Tuikov <[email protected]> drm/sched: Don't disturb the entity when in RR-mode scheduling Don't call drm_sched_select_entity() in drm_sched_run_job_queue(). In fact, rename __drm_sched_run_job_queue() to just drm_sched_run_job_queue(), and let it do just that, schedule the work item for execution. The problem is that drm_sched_run_job_queue() calls drm_sched_select_entity() to determine if the scheduler has an entity ready in one of its run-queues, and in the case of the Round-Robin (RR) scheduling, the function drm_sched_rq_select_entity_rr() does just that, selects the _next_ entity which is ready, sets up the run-queue and completion and returns that entity. The FIFO scheduling algorithm is unaffected. Now, since drm_sched_run_job_work() also calls drm_sched_select_entity(), then in the case of RR scheduling, that would result in drm_sched_select_entity() having been called twice, which may result in skipping a ready entity if more than one entity is ready. This commit fixes this by eliminating the call to drm_sched_select_entity() from drm_sched_run_job_queue(), and leaves it only in drm_sched_run_job_work(). v2: Rebased on top of Tvrtko's renames series of patches. (Luben) Add fixes-tag. (Tvrtko) Signed-off-by: Luben Tuikov <[email protected]> Fixes: f7fe64ad0f22ff ("drm/sched: Split free_job into own work item") Reviewed-by: Matthew Brost <[email protected]> Reviewed-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/sched: Qualify drm_sched_wakeup() by drm_sched_entity_is_ready() Don't "wake up" the GPU scheduler unless the entity is ready, as well as we can queue to the scheduler, i.e. there is no point in waking up the scheduler for the entity unless the entity is ready. Signed-off-by: Luben Tuikov <[email protected]> Fixes: bc8d6a9df99038 ("drm/sched: Don't disturb the entity when in RR-mode scheduling") Reviewed-by: Danilo Krummrich <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/sched: implement dynamic job-flow control Currently, job flow control is implemented simply by limiting the number of jobs in flight. Therefore, a scheduler is initialized with a credit limit that corresponds to the number of jobs w…
Configuration menu - View commit details
-
Copy full SHA for 21b6984 - Browse repository at this point
Copy the full SHA 21b6984View commit details -
Configuration menu - View commit details
-
Copy full SHA for 93b793d - Browse repository at this point
Copy the full SHA 93b793dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 06d12f5 - Browse repository at this point
Copy the full SHA 06d12f5View commit details -
Sync Panthor with drm-misc-next by adding missing commits
drm/panthor: Fix panthor_devfreq kerneldoc Missing '*' to have a valid kerneldoc prefix. Reported-by: kernel test robot <[email protected]> Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Steven Price <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Explicitly include mm.h for the {virt, __phys)_to_pfn() defs Something on arm[64] must be including <asm/page.h>, but things fail to compile on sparc64. Make sure this header is included (through linux/mm.h) so this driver can be compile-tested on all supported architectures. Reported-by: kernel test robot <[email protected]> Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Liviu Dudau <[email protected]> Reviewed-by: Steven Price <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Fix the CONFIG_PM=n case Putting a hard dependency on CONFIG_PM is not possible because of a circular dependency issue, and it's actually not desirable either. In order to support this use case, we forcibly resume at init time, and suspend at unplug time. v2: - Drop the #ifdef CONFIG_PM section around panthor_pm_ops's definition Reported-by: kernel test robot <[email protected]> Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Steven Price <[email protected]> Reviewed-by: AngeloGioacchino Del Regno <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Don't use virt_to_pfn() virt_to_pfn() isn't available on x86 (except to xen) so breaks COMPILE_TEST builds. Avoid its use completely by instead storing the struct page pointer allocated in panthor_device_init() and using page_to_pfn() instead. Signed-off-by: Steven Price <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Fix spelling mistake "readyness" -> "readiness" There is a spelling mistake in a drm_err message. Fix it. Signed-off-by: Colin Ian King <[email protected]> Acked-by: Liviu Dudau <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Fix clang -Wunused-but-set-variable in tick_ctx_apply() Clang warns (or errors with CONFIG_WERROR): drivers/gpu/drm/panthor/panthor_sched.c:2048:6: error: variable 'csg_mod_mask' set but not used [-Werror,-Wunused-but-set-variable] 2048 | u32 csg_mod_mask = 0, free_csg_slots = 0; | ^ 1 error generated. The variable is an artifact left over from refactoring that occurred during the development of the initial series for this driver. Remove it to resolve the warning. Fixes: de85488 ("drm/panthor: Add the scheduler logical block") Signed-off-by: Nathan Chancellor <[email protected]> Reviewed-by: Steven Price <[email protected]> Reviewed-by: Justin Stitt <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Cleanup unused variable 'cookie' Commit 962f88b ("drm/panthor: Drop the dev_enter/exit() sections in _irq_suspend/resume()") removed the code that used the 'cookie' variable but left the declaration in place. Remove it. Fixes: 962f88b ("drm/panthor: Drop the dev_enter/exit() sections in _irq_suspend/resume()") Cc: Boris Brezillon <[email protected]> Cc: Steven Price <[email protected]> Signed-off-by: Liviu Dudau <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Fix some kerneldoc warnings When compiling with W=1 the build process will flag empty comments, misnamed documented variables and incorrect tagging of functions. Fix them in one go. Fixes: de85488 ("drm/panthor: Add the scheduler logical block") Cc: Boris Brezillon <[email protected]> Cc: Steven Price <[email protected]> Signed-off-by: Liviu Dudau <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Fix a couple -ENOMEM error codes These error paths forgot to set the error code to -ENOMEM. Fixes: 647810e ("drm/panthor: Add the MMU/VM logical block") Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Fix error code in panthor_gpu_init() This code accidentally returns zero/success on error because of a typo. It should be "irq" instead of "ret". The other thing is that if platform_get_irq_byname() were to return zero then the error code would be cmplicated. Fortunately, it does not so we can just change <= to < 0. Fixes: 5cd894e ("drm/panthor: Add the GPU logical block") Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Fix off by one in panthor_fw_get_cs_iface() The ->iface.streams[csg_slot][] array has MAX_CS_PER_CSG elements so this > comparison needs to be >= to prevent an out of bounds access. Fixes: 2718d91 ("drm/panthor: Add the FW logical block") Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Fix NULL vs IS_ERR() bug in panthor_probe() The devm_drm_dev_alloc() function returns error pointers. Update the error handling to check for error pointers instead of NULL. Fixes: 4bdca11 ("drm/panthor: Add the driver frontend block") Signed-off-by: Harshit Mogalapalli <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Don't return NULL from panthor_vm_get_heap_pool() The kernel doc says this function returns either a valid pointer or an ERR_PTR(), but in practice this function can return NULL if create=false. Fix the function to match the doc (return ERR_PTR(-ENOENT) instead of NULL) and adjust all call-sites accordingly. Fixes: 4bdca11 ("drm/panthor: Add the driver frontend block") Signed-off-by: Harshit Mogalapalli <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: clean up some types in panthor_sched_suspend() These variables should be u32 instead of u64 because they're only storing u32 values. Also static checkers complain when we do: suspended_slots &= ~upd_ctx.timedout_mask; In this code "suspended_slots" is a u64 and "upd_ctx.timedout_mask". The mask clears out the top 32 bits which would likely be a bug if anything were stored there. Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Steven Price <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Configuration menu - View commit details
-
Copy full SHA for 6b6f326 - Browse repository at this point
Copy the full SHA 6b6f326View commit details -
Configuration menu - View commit details
-
Copy full SHA for fae30fc - Browse repository at this point
Copy the full SHA fae30fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for d0d42ae - Browse repository at this point
Copy the full SHA d0d42aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for e833a93 - Browse repository at this point
Copy the full SHA e833a93View commit details -
Configuration menu - View commit details
-
Copy full SHA for a5a8711 - Browse repository at this point
Copy the full SHA a5a8711View commit details -
Configuration menu - View commit details
-
Copy full SHA for b3ceccb - Browse repository at this point
Copy the full SHA b3ceccbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0938539 - Browse repository at this point
Copy the full SHA 0938539View commit details -
Configuration menu - View commit details
-
Copy full SHA for 01d6195 - Browse repository at this point
Copy the full SHA 01d6195View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a67150 - Browse repository at this point
Copy the full SHA 5a67150View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9f3d77f - Browse repository at this point
Copy the full SHA 9f3d77fView commit details -
Configuration menu - View commit details
-
Copy full SHA for e5fc215 - Browse repository at this point
Copy the full SHA e5fc215View commit details -
arm64: dts: rock5 itx: change user-led2 to hdd-led2 function
Set trigger to "disk-activity". Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3386d89 - Browse repository at this point
Copy the full SHA 3386d89View commit details -
arm64: dts: rock5 itx: modify the vp binding
binding: * vp0 --- dp0 * vp1 --- hdmi1 Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for db77297 - Browse repository at this point
Copy the full SHA db77297View commit details -
arm64: dts: rock5 itx: delete duplicate nodes
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c4654ca - Browse repository at this point
Copy the full SHA c4654caView commit details -
arm64: dts: rockchip: rock5itx: use mclkout_i2s0 for es8316
Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3bdf1a0 - Browse repository at this point
Copy the full SHA 3bdf1a0View commit details -
arm64: dts: rockchip: rock-5-itx: update vp plane
Fix error caused by cursor plane. Error log: [ 357.605538] [drm:vop2_plane_atomic_check] *ERROR* Esmart2-win0 is invisible(src: pos[0, 0] rect[64 x 64] dst: pos[3012, 1988406] rect[64 x 64] Signed-off-by: Ken Wang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fe98820 - Browse repository at this point
Copy the full SHA fe98820View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c69ff8 - Browse repository at this point
Copy the full SHA 8c69ff8View commit details -
arm64: dts: rockchip: Enable the missing av1d nodes
Required by the RKMPP AV1 hardware decoding in Chromium (libv4l-rkmpp), FFmpeg and Gstreamer. Signed-off-by: nyanmisaka <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b612298 - Browse repository at this point
Copy the full SHA b612298View commit details -
Configuration menu - View commit details
-
Copy full SHA for 71b0538 - Browse repository at this point
Copy the full SHA 71b0538View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4a179ad - Browse repository at this point
Copy the full SHA 4a179adView commit details -
drm/panthor: Kill the faulty_slots variable in panthor_sched_suspend() We can use upd_ctx.timedout_mask directly, and the faulty_slots update in the flush_caches_failed situation is never used. Suggested-by: Suggested-by: Steven Price <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Steven Price <[email protected]> Reviewed-by: Liviu Dudau <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Make sure we handle 'unknown group state' case properly When we check for state values returned by the FW, we only cover part of the 0:7 range. Make sure we catch FW inconsistencies by adding a default to the switch statement, and flagging the group state as unknown in that case. When an unknown state is detected, we trigger a reset, and consider the group as unusable after that point, to prevent the potential corruption from creeping in other places if we continue executing stuff on this context. v2: - Add Steve's R-b - Fix commit message Reported-by: Dan Carpenter <[email protected]> Closes: https://lore.kernel.org/dri-devel/[email protected]/T/#u Suggested-by: Steven Price <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Steven Price <[email protected]> Reviewed-by: Liviu Dudau <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Fix the FW reset logic In the post_reset function, if the fast reset didn't succeed, we are not clearing the fast_reset flag, which prevents firmware sections from being reloaded. While at it, use panthor_fw_stop() instead of manually writing DISABLE to the MCU_CONTROL register. Fixes: 2718d91 ("drm/panthor: Add the FW logical block") Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Liviu Dudau <[email protected]> Reviewed-by: Steven Price <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Fix tiler OOM handling to allow incremental rendering If the kernel couldn't allocate memory because we reached the maximum number of chunks but no render passes are in flight (panthor_heap_grow() returning -ENOMEM), we should defer the OOM handling to the FW by returning a NULL chunk. The FW will then call the tiler OOM exception handler, which is supposed to implement incremental rendering (execute an intermediate fragment job to flush the pending primitives, release the tiler memory that was used to store those primitives, and start over from where it stopped). Instead of checking for both ENOMEM and EBUSY, make panthor_heap_grow() return ENOMEM no matter the reason of this allocation failure, the FW doesn't care anyway. v3: - Add R-bs v2: - Make panthor_heap_grow() return -ENOMEM for all kind of allocation failures - Document the panthor_heap_grow() semantics Fixes: de85488 ("drm/panthor: Add the scheduler logical block") Signed-off-by: Antonino Maniscalco <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Liviu Dudau <[email protected]> Reviewed-by: Steven Price <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Make sure the tiler initial/max chunks are consistent It doesn't make sense to have a maximum number of chunks smaller than the initial number of chunks attached to the context. Fix the uAPI header to reflect the new constraint, and mention the undocumented "initial_chunk_count > 0" constraint while at it. v3: - Add R-b v2: - Fix the check Fixes: 9cca48f ("drm/panthor: Add the heap logical block") Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Liviu Dudau <[email protected]> Reviewed-by: Steven Price <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Relax the constraints on the tiler chunk size The field used to store the chunk size if 12 bits wide, and the encoding is chunk_size = chunk_header.chunk_size << 12, which gives us a theoretical [4k:8M] range. This range is further limited by implementation constraints, and all known implementations seem to impose a [128k:8M] range, so do the same here. We also relax the power-of-two constraint, which doesn't seem to exist on v10. This will allow userspace to fine-tune initial/max tiler memory on memory-constrained devices. v4: - Actually fix the range in the kerneldoc v3: - Add R-bs - Fix valid range in the kerneldoc v2: - Turn the power-of-two constraint into a page-aligned constraint to allow fine-tune of the initial/max heap memory size - Fix the panthor_heap_create() kerneldoc Fixes: 9cca48f ("drm/panthor: Add the heap logical block") Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Liviu Dudau <[email protected]> Reviewed-by: Steven Price <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Fix an off-by-one in the heap context retrieval logic The heap ID is used to index the heap context pool, and allocating in the [1:MAX_HEAPS_PER_POOL] leads to an off-by-one. This was originally to avoid returning a zero heap handle, but given the handle is formed with (vm_id << 16) | heap_id, with vm_id > 0, we already can't end up with a valid heap handle that's zero. v4: - s/XA_FLAGS_ALLOC1/XA_FLAGS_ALLOC/ v3: - Allocate in the [0:MAX_HEAPS_PER_POOL-1] range v2: - New patch Fixes: 9cca48f ("drm/panthor: Add the heap logical block") Reported-by: Eric Smith <[email protected]> Signed-off-by: Boris Brezillon <[email protected]> Tested-by: Eric Smith <[email protected]> Reviewed-by: Steven Price <[email protected]> Reviewed-by: Liviu Dudau <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Force an immediate reset on unrecoverable faults If the FW reports an unrecoverable fault, we need to reset the GPU before we can start re-using it again. Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Steven Price <[email protected]> Reviewed-by: Liviu Dudau <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Keep a ref to the VM at the panthor_kernel_bo level Avoids use-after-free situations when panthor_fw_unplug() is called and the kernel BO was mapped to the FW VM. Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Steven Price <[email protected]> Reviewed-by: Liviu Dudau <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Reset the FW VM to NULL on unplug This way get NULL derefs instead of use-after-free if the FW VM is referenced after the device has been unplugged. Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Steven Price <[email protected]> Acked-by: Liviu Dudau <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] drm/panthor: Call panthor_sched_post_reset() even if the reset failed We need to undo what was done in panthor_sched_pre_reset() even if the reset failed. We just flag all previously running groups as terminated when that happens to unblock things. Signed-off-by: Boris Brezillon <[email protected]> Reviewed-by: Steven Price <[email protected]> Reviewed-by: Liviu Dudau <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Configuration menu - View commit details
-
Copy full SHA for fc66253 - Browse repository at this point
Copy the full SHA fc66253View commit details -
Add rtw89 8852be/ce support from linux-6.2 (orangepi5-plus default wi…
…fi6 pcie card) coming from xunlong commit-id: 96b2d2827a3f1e4719ebdfcac0b2108e8cbae932
Configuration menu - View commit details
-
Copy full SHA for fd33610 - Browse repository at this point
Copy the full SHA fd33610View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1da0bc3 - Browse repository at this point
Copy the full SHA 1da0bc3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 24b80b7 - Browse repository at this point
Copy the full SHA 24b80b7View commit details -
Configuration menu - View commit details
-
Copy full SHA for d1e9f00 - Browse repository at this point
Copy the full SHA d1e9f00View commit details -
video: rockchip: rga3: fix 4:2:2 10-bit reading in rga2
Like 4:2:0 10-bit, rotate_mode needs to be assigned to (1 << 6) when scaling is not going to be used in rga2. Or the output image is corrupted. Signed-off-by: nyanmisaka <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 08b884d - Browse repository at this point
Copy the full SHA 08b884dView commit details
Commits on Jul 16, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 3d62c39 - Browse repository at this point
Copy the full SHA 3d62c39View commit details -
Revert "usb: dwc3: core: Do not perform GCTL_CORE_SOFTRESET during bo…
…otup" This reverts commit d376ca6. It's reported that when using Radxa CM5 with RPI CM4 IO board, USB2.0 host ports don't work. By default RK3588 USB DRD DWC3_0 (usb@fc000000) is set in otg mode. In hardware, RK3588 TYPEC0_USB20_OTG_ID is pulled down to groud by a 2.2k resistor. It is needed to perform GCTL_CORE_SOFTRESET during bootup. Signed-off-by: Stephen Chen <[email protected]> (cherry picked from commit ec8a9ad) Signed-off-by: Joshua Riek <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 17680a7 - Browse repository at this point
Copy the full SHA 17680a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 91eed95 - Browse repository at this point
Copy the full SHA 91eed95View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ce8f06 - Browse repository at this point
Copy the full SHA 7ce8f06View commit details -
add FriendlyElec's 6.1-rkr1 NanoPi R5S/R5C/R5S-LTS
- straight from https://github.com/friendlyarm/kernel-rockchip/tree/nanopi6-v6.1.y - at sha1 34cd890017997ea3be9524977b278ed4c21298b9
Configuration menu - View commit details
-
Copy full SHA for baa16f4 - Browse repository at this point
Copy the full SHA baa16f4View commit details -
arm64: dts: rockchip: rk3588: remove unused hdptxphy_hdmi_clk0/1 in b…
…oard devicetree hdptxphy_hdmi_clk0/1 sub node is removed by commit fa7c72a: arm64: dts: rockchip: rk3588: remove unused sub node hdptxphy_hdmi_clk0/1. So remove them from all the board dts.
Configuration menu - View commit details
-
Copy full SHA for ecda768 - Browse repository at this point
Copy the full SHA ecda768View commit details