Jobb GPU‑reset érkezik a Raspberry Pi boardokra a Linux 7.4-gyel

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

Az új HDMI 2.0 segédfüggvények bevezetése mellett a DRM driverekhez a pull request a Broadcom V3D GPU jobb reset támogatását is elhozta a VC4 kernel driverhez. Maíra Canal, az Igalia tanácsadó cég munkatársa dolgozott a V3D hardverblokk GPU reset támogatásának fejlesztésén, mégpedig úgy, hogy megfelelően kihasználta a reset vezérlőt. Canal a javítócsomag-sorozat kísérőlevelében így foglalta össze a változtatásokat:

„A vc4_reset() úgy hoz helyre egy lefagyott GPU-t, hogy a runtime PM használati számlálót nullára állítja, így a V3D power domain lekapcsol, majd újra felhozza. A számláló nullára kényszerítése csak akkor működik, ha a driver pontosan tudja, hány referenciát tart, ezért a vc4 szokatlan módon minden pm_runtime_get_sync() hívást egy saját refcounttal és mutexszel burkol, amitől a kód nehezen kezelhetővé válik.

A BCM2835 PM blokk a 670c672608a1 („soc: bcm: bcm2835-pm: Add support for power domains under a new binding.”) commit óta biztosít reset vonalat a V3D blokkhoz, éppen ezért, de a vc4 ezt sosem használta ki. Ez a sorozat átállítja a vc4-et erre a megoldásra, és elhagyja a saját refcountot, így a vc4_v3d_pm_get/put() egyszerű runtime PM wrapperré válik.

A reset vonal opcionális, ezért azok az eszközfák, amelyek nem írják le, továbbra is működnek: ők a driver oldali helyreállítást kapják a vc4_irq_reset()-ben, miközben a hardverhez nem nyúlunk. A két, fán belüli platform közül:

1. A BCM2835 megkapja a tulajdonságot a 4. PATCH-ben.

2. A Cygnusnak eleve nincs V3D power domainje, így ott a power-cycle eddig is csak az órajelét kapcsolgatta.”

Ennek a munkának köszönhetően a Raspberry Pi boardokon és más érintett Broadcom alapú hardveren a GPU-t mostantól úgy lehet resetelni, hogy nem kell az egész power domaint ki‑ és bekapcsolni. Hosszabb távon ez jobb és megbízhatóbb GPU‑fagyás utáni helyreállítást ígér. A kód ennek a pull requestnek a része, és várhatóan a Linux 7.4 októberi merge ablakában kerül be. A Linux 7.4 stabil kiadás pedig jó eséllyel még az év vége előtt megjelenik.