Subversion Repositories Kolibri OS

Rev

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)
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
}