Rev 1600 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1600 | Rev 1605 | ||
---|---|---|---|
Line 36... | Line 36... | ||
36 | u32_t r1; |
36 | u32_t r1; |
37 | 37 | ||
Line 38... | Line 38... | ||
38 | }qh_t __attribute__((aligned(16))); |
38 | }qh_t __attribute__((aligned(16))); |
Line -... | Line 39... | ||
- | 39 | ||
- | 40 | ||
- | 41 | #define UHCI_NUM_SKELQH 11 |
|
- | 42 | ||
- | 43 | #define SKEL_ISO 1 |
|
- | 44 | #define SKEL_ASYNC 9 |
|
- | 45 | ||
- | 46 | /* |
|
- | 47 | #define QH_1 0 |
|
- | 48 | #define QH_2 1 |
|
- | 49 | #define QH_4 2 |
|
- | 50 | #define QH_8 3 |
|
- | 51 | #define QH_16 4 |
|
- | 52 | #define QH_32 5 |
|
- | 53 | #define QH_64 6 |
|
- | 54 | */ |
|
- | 55 | ||
39 | 56 | ||
40 | typedef struct |
57 | typedef struct |
41 | { |
58 | { |
Line 42... | Line 59... | ||
42 | list_t list; |
59 | list_t list; |
Line 43... | Line 60... | ||
43 | 60 | ||
44 | addr_t iobase; |
61 | addr_t iobase; |
45 | 62 | ||
Line 46... | Line 63... | ||
46 | u32_t *frame_base; |
63 | u32_t *frame_base; |
Line 47... | Line 64... | ||
47 | count_t frame_number; |
64 | count_t frame_number; |
48 | addr_t frame_dma; |
65 | addr_t frame_dma; |
Line 49... | Line 66... | ||
49 | 66 | ||
Line 61... | Line 78... | ||
61 | addr_t ioBase[6]; |
78 | addr_t ioBase[6]; |
62 | addr_t memBase[6]; |
79 | addr_t memBase[6]; |
63 | size_t memSize[6]; |
80 | size_t memSize[6]; |
64 | u32_t memType[6]; |
81 | u32_t memType[6]; |
65 | }hc_t; |
82 | u32_t irq_line; |
- | 83 | }hc_t; |
|
66 | 84 | ||
Line 67... | Line 85... | ||
67 | typedef struct tag_td |
85 | typedef struct tag_td |
68 | { |
86 | { |
69 | /* Hardware fields */ |
87 | /* Hardware fields */ |
Line 212... | Line 230... | ||
212 | addr_t data; |
230 | addr_t data; |
213 | size_t size; |
231 | size_t size; |
214 | udev_t *dev; |
232 | udev_t *dev; |
215 | u32_t type; |
233 | u32_t type; |
216 | bool (*handler)(udev_t *dev, struct tag_request *rq); |
234 | int qnum; |
- | 235 | bool (*handler)(udev_t *dev, struct tag_request *rq); |
|
217 | }request_t; |
236 | }request_t; |
218 | 237 | ||
Line 219... | Line 238... | ||
219 | 238 | ||
Line 246... | Line 265... | ||
246 | 265 | ||
Line 247... | Line 266... | ||
247 | #define DATA0 (0<<19) |
266 | #define DATA0 (0<<19) |
248 | #define DATA1 (1<<19)19)><19)>19) |
267 | #define DATA1 (1<<19) |
Line -... | Line 268... | ||
- | 268 | ||
- | 269 | ||
- | 270 | ||
- | 271 | static inline u32_t __bsf(u32_t val) |
|
- | 272 | { |
|
- | 273 | asm("bsf %1,%0" |
|
- | 274 | :"=r" (val) |
|
- | 275 | :"rm" (val)); |
|
- | 276 | return val; |
|
- | 277 | }19) |