Készül a Raspberry Pi 5 IOMMU‑meghajtó a mainline Linux kernelhez

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

A nyílt forráskódú fejlesztő, Daniel Drake a Broadcom BCM2712 IOMMU‑meghajtó támogatásán dolgozik, amelyet a Raspberry Pi használ. A meghajtót a Raspberry Pi saját, downstream driveréből vették át, de több fejlesztést is beletettek, és további bővítések is várhatók. Az IOMMU‑meghajtó integrációja együtt jár azzal is, hogy összekötik az SBC kijelzővezérlőjével, így hatékonyabban lehet kezelni a grafikus memóriát. Drake a javítócsomag‑sorozat kísérőlevelében ezt írta:

"Ez a sorozat egy meghajtót ad hozzá a Raspberry Pi 5-ben található Broadcom BCM2712 IOMMU‑hoz, és bekapcsolja a kijelzővezérlő IOMMU‑ját a grafikus memória hatékony kezeléséhez. A driver a Raspberry Pi downstream meghajtójából származik (eredeti szerző: Nick Hollinghurst), a fő változtatások pedig a következők:

  • A lapozótábla‑kezelés megvalósítása generic_pt használatával
  • A brcm,iova-window és brcm,iommu-cache megvalósítása szabványos DT tulajdonságnévként, miközben megmarad a kompatibilitás a már kiadott RPi firmware‑rel
  • A dma-iova-offset hack elhagyása, amelyet egy, a dma-ranges használatakor jelentkező probléma megkerülésére használtak. Ezt külön kell kivizsgálni és rendesen megoldani. (A kijelzővezérlő IOMMU‑t támogató mostani kódhoz nincs rá szükség.)
  • Egyéb egyszerűsítések, egységesítések, tisztítások

Az IOMMU kizárólag 4 KB‑os lapokkal működik. Ez sajnos azt jelenti, hogy amikor a kernel‑t PAGE_SIZE=16KB beállítással fordítják (ami a Raspberry Pi 5 kernel alapértelmezett értéke), minden lapozótáblához lefoglalt lapban 12 KB kárba vész. Ezt egy későbbi munkában tervezem kezelni.

A kódot Raspberry Pi 5‑ön teszteltem, 3D‑gyorsított grafikus környezetben, amely rengeteg IOMMU map és unmap műveletet végez."

A bcm2712-iommu meghajtó most kódellenőrzés alatt áll, és remélhetőleg a mainline kernel egyik közeljövőbeli kiadásába is bekerül, hogy javítsa a Raspberry Pi 5 támogatását a mainline kernel-ban.