21
21
#include <asm/barrier.h>
22
22
23
23
#include "io-pgtable-arm.h"
24
+ #include "iommu-pages.h"
24
25
25
26
#define ARM_LPAE_MAX_ADDR_BITS 52
26
27
#define ARM_LPAE_S2_MAX_CONCAT_PAGES 16
@@ -198,14 +199,10 @@ static void *__arm_lpae_alloc_pages(size_t size, gfp_t gfp,
198
199
199
200
VM_BUG_ON ((gfp & __GFP_HIGHMEM ));
200
201
201
- if (cfg -> alloc ) {
202
+ if (cfg -> alloc )
202
203
pages = cfg -> alloc (cookie , size , gfp );
203
- } else {
204
- struct page * p ;
205
-
206
- p = alloc_pages_node (dev_to_node (dev ), gfp | __GFP_ZERO , order );
207
- pages = p ? page_address (p ) : NULL ;
208
- }
204
+ else
205
+ pages = iommu_alloc_pages_node (dev_to_node (dev ), gfp , order );
209
206
210
207
if (!pages )
211
208
return NULL ;
@@ -233,7 +230,7 @@ static void *__arm_lpae_alloc_pages(size_t size, gfp_t gfp,
233
230
if (cfg -> free )
234
231
cfg -> free (cookie , pages , size );
235
232
else
236
- free_pages (( unsigned long ) pages , order );
233
+ iommu_free_pages ( pages , order );
237
234
238
235
return NULL ;
239
236
}
@@ -249,7 +246,7 @@ static void __arm_lpae_free_pages(void *pages, size_t size,
249
246
if (cfg -> free )
250
247
cfg -> free (cookie , pages , size );
251
248
else
252
- free_pages (( unsigned long ) pages , get_order (size ));
249
+ iommu_free_pages ( pages , get_order (size ));
253
250
}
254
251
255
252
static void __arm_lpae_sync_pte (arm_lpae_iopte * ptep , int num_entries ,
0 commit comments