/* ************************************************************************************************************ * * function * * name : * * parmeters : * * return : * * note : * * ************************************************************************************************************ */ void sunxi_usb_irq(void *data) { __u32 i, num; num = SUSB_Get_EvtCount(); for(i=0; i<num; i++) { __process_event_buf(i); } return ; }
/* ************************************************************************************************************ * * function * * name : * * parmeters : * * return : * * note : * * ************************************************************************************************************ */ void SUSB_Event_Buffers_Setup(struct susb_event_buffer *event_buffer) { struct susb_event_buffer *evt; u32 i, num; num = SUSB_Get_EvtCount(); evt = event_buffer; for(i=0; i<num; i++) { writel((uint)evt->buf_start_l, SUSB_GEVNTADRLO(i)); writel(evt->length & 0xffff, SUSB_GEVNTSIZ(i)); writel(0, SUSB_GEVNTCOUNT(i)); evt->lpos = 0; } }