Alokace DMA bafru?

Mikulas Patocka mikulas na artax.karlin.mff.cuni.cz
Pondělí Únor 28 13:08:48 CET 2000


>        Zdravim,
>
>        pisu si jakysi modul ke karte a potrebuji alokovat DMA bafrik
>dlouhy 64kB a navic zarovnany na hranici 64kB bloku. Je na to nejaka
>metoda?
>Zkousel jsem se divat po __get_free_pages(GFB_KARNEL|GFB_DMA,pages),
>ale jednak jsem nak usoudil ze zdrojaku, ze takto jde alokovat
>maximalne 40KB (10x stranka po 4KB). Sice kdyz to zkusim pouzit,
>tak se to jevi, ze jedna stranka je 4KWordy?

Hodnota 'pages' je dvojkovy logaritmus poctu stranek, ktery chces
alokovat.  Pro jednu stranku je to 0, pro dve stranky 1, pro ctyri
stranky 2, pro osm 3 atd...

Taky musis osetrit pripad, kdy souvisly blok 64kb neni k dispozici.
Zavolej neco jako try_to_free_pages a zkus to znovu.

Mikulas


Další informace o konferenci Linux