Rev 1605 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1605 | Rev 1613 | ||
---|---|---|---|
Line 101... | Line 101... | ||
101 | 101 | ||
102 | bool mouse_handler(udev_t *dev, struct tag_request *rq) |
102 | bool mouse_handler(udev_t *dev, struct tag_request *rq) |
103 | { |
103 | { |
- | 104 | td_t *td; |
|
Line 104... | Line 105... | ||
104 | td_t *td; |
105 | qh_t *qh; |
Line 105... | Line 106... | ||
105 | 106 | ||
106 | td = rq->td_head; |
107 | td = rq->td_head; |
Line 113... | Line 114... | ||
113 | }; |
114 | }; |
114 | td->status = TD_CTRL_ACTIVE | TD_CTRL_IOC | dev->speed; |
115 | td->status = TD_CTRL_ACTIVE | TD_CTRL_IOC | dev->speed; |
115 | td->token ^= DATA1; |
116 | td->token ^= DATA1; |
116 | 117 | ||
Line -... | Line 118... | ||
- | 118 | u32_t efl = safe_cli(); |
|
- | 119 | list_add_tail(&rq->list, &dev->host->rq_list); |
|
- | 120 | qh = dev->host->qh[6]; |
|
- | 121 | qh->qelem = rq->td_head->dma; |
|
- | 122 | mb(); |
|
- | 123 | safe_sti(efl); |
|
- | 124 | ||
117 | return true; |
125 | return true; |
118 | }; |
126 | }; |
Line 119... | Line 127... | ||
119 | 127 | ||
120 | void create_hid_mouse(udev_t *dev, endpoint_descr_t *en_d) |
128 | void create_hid_mouse(udev_t *dev, endpoint_descr_t *en_d) |
Line 146... | Line 154... | ||
146 | rq = create_request(dev, &enp, DIN, packet, enp.size); |
154 | rq = create_request(dev, &enp, DIN, packet, enp.size); |
147 | rq->qnum = 6; |
155 | rq->qnum = 6; |
148 | rq->handler = &mouse_handler; |
156 | rq->handler = &mouse_handler; |
Line -... | Line 157... | ||
- | 157 | ||
149 | 158 | u32_t efl = safe_cli(); |
|
- | 159 | list_add_tail(&rq->list, &dev->host->rq_list); |
|
- | 160 | qh = dev->host->qh[6]; |
|
- | 161 | qh->qelem = rq->td_head->dma; |
|
- | 162 | mb(); |
|
Line 150... | Line 163... | ||
150 | list_add_tail(&rq->list, &rq_list); |
163 | safe_sti(efl); |
151 | 164 |