Lines 112-118
Link Here
|
112 |
int nvidia_p2p_get_pages( |
112 |
int nvidia_p2p_get_pages( |
113 |
uint64_t p2p_token, |
113 |
uint64_t p2p_token, |
114 |
uint32_t va_space, |
114 |
uint32_t va_space, |
115 |
uint64_t virtual_address, |
115 |
uint64_t address, |
116 |
uint64_t length, |
116 |
uint64_t length, |
117 |
struct nvidia_p2p_page_table **page_table, |
117 |
struct nvidia_p2p_page_table **page_table, |
118 |
void (*free_callback)(void * data), |
118 |
void (*free_callback)(void * data), |
Lines 136-142
Link Here
|
136 |
return -ENOMEM; |
136 |
return -ENOMEM; |
137 |
|
137 |
|
138 |
status = rm_p2p_get_pages(sp, p2p_token, va_space, |
138 |
status = rm_p2p_get_pages(sp, p2p_token, va_space, |
139 |
virtual_address, length, &physical_addresses, &wreqmb_h, |
139 |
address, length, &physical_addresses, &wreqmb_h, |
140 |
&rreqmb_h, &entries, *page_table, |
140 |
&rreqmb_h, &entries, *page_table, |
141 |
free_callback, data); |
141 |
free_callback, data); |
142 |
if (status != RM_OK) |
142 |
if (status != RM_OK) |
Lines 195-201
Link Here
|
195 |
nvidia_p2p_page_t_cache); |
195 |
nvidia_p2p_page_t_cache); |
196 |
} |
196 |
} |
197 |
|
197 |
|
198 |
rm_p2p_put_pages(sp, p2p_token, va_space, virtual_address, |
198 |
rm_p2p_put_pages(sp, p2p_token, va_space, address, |
199 |
*page_table); |
199 |
*page_table); |
200 |
|
200 |
|
201 |
os_free_mem((*page_table)->pages); |
201 |
os_free_mem((*page_table)->pages); |
Lines 232-238
Link Here
|
232 |
int nvidia_p2p_put_pages( |
232 |
int nvidia_p2p_put_pages( |
233 |
uint64_t p2p_token, |
233 |
uint64_t p2p_token, |
234 |
uint32_t va_space, |
234 |
uint32_t va_space, |
235 |
uint64_t virtual_address, |
235 |
uint64_t address, |
236 |
struct nvidia_p2p_page_table *page_table |
236 |
struct nvidia_p2p_page_table *page_table |
237 |
) |
237 |
) |
238 |
{ |
238 |
{ |
Lines 243-249
Link Here
|
243 |
if (sp == NULL) |
243 |
if (sp == NULL) |
244 |
return -ENOMEM; |
244 |
return -ENOMEM; |
245 |
|
245 |
|
246 |
status = rm_p2p_put_pages(sp, p2p_token, va_space, virtual_address, |
246 |
status = rm_p2p_put_pages(sp, p2p_token, va_space, address, |
247 |
page_table); |
247 |
page_table); |
248 |
if (status == RM_OK) |
248 |
if (status == RM_OK) |
249 |
nvidia_p2p_free_page_table(page_table); |
249 |
nvidia_p2p_free_page_table(page_table); |