forked from xuos/xiuos
modify variate name
This commit is contained in:
parent
3886ed4b12
commit
7d6cc6d1d8
|
@ -11,7 +11,7 @@ History:
|
||||||
Author: AIIT XUOS Lab
|
Author: AIIT XUOS Lab
|
||||||
Modification: re-develop usb_hc_malloc, usb_hc_malloc_align and usb_hc_free functions
|
Modification: re-develop usb_hc_malloc, usb_hc_malloc_align and usb_hc_free functions
|
||||||
*************************************************/
|
*************************************************/
|
||||||
struct usb_mem_pool usb_mem_pool;
|
struct usb_mem_pool usb_mem_data_pool;
|
||||||
|
|
||||||
|
|
||||||
void *usb_hc_malloc(size_t size){
|
void *usb_hc_malloc(size_t size){
|
||||||
|
@ -59,7 +59,7 @@ int usb_mem_pool_init(){
|
||||||
int rc, count;
|
int rc, count;
|
||||||
uintptr_t phy_addr, vir_addr;
|
uintptr_t phy_addr, vir_addr;
|
||||||
|
|
||||||
memset(&usb_mem_pool, 0, sizeof(usb_mem_pool));
|
memset(&usb_mem_data_pool, 0, sizeof(usb_mem_data_pool));
|
||||||
|
|
||||||
count = 0;
|
count = 0;
|
||||||
while(count < MEM_POOL_SIZE){
|
while(count < MEM_POOL_SIZE){
|
||||||
|
@ -68,8 +68,8 @@ int usb_mem_pool_init(){
|
||||||
if(rc != 0)
|
if(rc != 0)
|
||||||
goto mmap_error;
|
goto mmap_error;
|
||||||
|
|
||||||
usb_mem_pool.pages[count].vir_addr = vir_addr;
|
usb_mem_data_pool.pages[count].vir_addr = vir_addr;
|
||||||
usb_mem_pool.pages[count].phy_addr = phy_addr;
|
usb_mem_data_pool.pages[count].phy_addr = phy_addr;
|
||||||
|
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
|
@ -85,8 +85,8 @@ int usb_alloc_mem_page(usb_mem_page_t page){
|
||||||
usb_mem_page_t selected_page;
|
usb_mem_page_t selected_page;
|
||||||
int header, tail;
|
int header, tail;
|
||||||
|
|
||||||
header = usb_mem_pool.header;
|
header = usb_mem_data_pool.header;
|
||||||
tail = usb_mem_pool.tail;
|
tail = usb_mem_data_pool.tail;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -96,7 +96,7 @@ int usb_alloc_mem_page(usb_mem_page_t page){
|
||||||
if((tail + 1) % MEM_POOL_SIZE == header)
|
if((tail + 1) % MEM_POOL_SIZE == header)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
selected_page = &usb_mem_pool.pages[tail];
|
selected_page = &usb_mem_data_pool.pages[tail];
|
||||||
tail++;
|
tail++;
|
||||||
|
|
||||||
memcpy(page, selected_page, sizeof(struct usb_mem_page));
|
memcpy(page, selected_page, sizeof(struct usb_mem_page));
|
||||||
|
@ -104,7 +104,7 @@ int usb_alloc_mem_page(usb_mem_page_t page){
|
||||||
if(tail == MEM_POOL_SIZE)
|
if(tail == MEM_POOL_SIZE)
|
||||||
tail = 0;
|
tail = 0;
|
||||||
|
|
||||||
usb_mem_pool.tail = tail;
|
usb_mem_data_pool.tail = tail;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -115,8 +115,8 @@ void usb_free_mem_page(usb_mem_page_t page){
|
||||||
usb_mem_page_t selected_page;
|
usb_mem_page_t selected_page;
|
||||||
int header, tail;
|
int header, tail;
|
||||||
|
|
||||||
header = usb_mem_pool.header;
|
header = usb_mem_data_pool.header;
|
||||||
tail = usb_mem_pool.tail;
|
tail = usb_mem_data_pool.tail;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check whether the memory pool is full or not.
|
* Check whether the memory pool is full or not.
|
||||||
|
@ -124,7 +124,7 @@ void usb_free_mem_page(usb_mem_page_t page){
|
||||||
if((header + 1) % MEM_POOL_SIZE == tail)
|
if((header + 1) % MEM_POOL_SIZE == tail)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
selected_page = &usb_mem_pool.pages[header];
|
selected_page = &usb_mem_data_pool.pages[header];
|
||||||
selected_page->vir_addr = page->vir_addr;
|
selected_page->vir_addr = page->vir_addr;
|
||||||
selected_page->phy_addr = page->phy_addr;
|
selected_page->phy_addr = page->phy_addr;
|
||||||
|
|
||||||
|
@ -133,14 +133,14 @@ void usb_free_mem_page(usb_mem_page_t page){
|
||||||
if(header == MEM_POOL_SIZE)
|
if(header == MEM_POOL_SIZE)
|
||||||
header = 0;
|
header = 0;
|
||||||
|
|
||||||
usb_mem_pool.header = header;
|
usb_mem_data_pool.header = header;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int usb_used_page_num_mem_pool(){
|
int usb_used_page_num_mem_pool(){
|
||||||
int header, tail, used_num;
|
int header, tail, used_num;
|
||||||
header = usb_mem_pool.header;
|
header = usb_mem_data_pool.header;
|
||||||
tail = usb_mem_pool.tail;
|
tail = usb_mem_data_pool.tail;
|
||||||
|
|
||||||
used_num = tail - header;
|
used_num = tail - header;
|
||||||
|
|
||||||
|
@ -155,13 +155,13 @@ uintptr_t usb_mem_page_phy2vir(uintptr_t phy_addr){
|
||||||
int header, used_num, cnt;
|
int header, used_num, cnt;
|
||||||
uintptr_t vir_addr = 0;
|
uintptr_t vir_addr = 0;
|
||||||
|
|
||||||
header = usb_mem_pool.header;
|
header = usb_mem_data_pool.header;
|
||||||
used_num = usb_used_page_num_mem_pool();
|
used_num = usb_used_page_num_mem_pool();
|
||||||
|
|
||||||
cnt = 0;
|
cnt = 0;
|
||||||
while(cnt < used_num){
|
while(cnt < used_num){
|
||||||
if(usb_mem_pool.pages[header].phy_addr == phy_addr){
|
if(usb_mem_data_pool.pages[header].phy_addr == phy_addr){
|
||||||
vir_addr = usb_mem_pool.pages[header].vir_addr;
|
vir_addr = usb_mem_data_pool.pages[header].vir_addr;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue