Changes in / [e583fd4:0146d41] in mainline


Ignore:
Location:
uspace
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/ohci/batch.c

    re583fd4 r0146d41  
    161161                        usb_log_debug("Batch(%p) found error TD(%d):%x.\n",
    162162                            instance, i, data->tds[i]->status);
    163                         /* Make sure TD queue is empty (one TD),
    164                          * ED should be marked as halted */
    165                         data->ed->td_tail =
    166                             (data->ed->td_head & ED_TDTAIL_PTR_MASK);
    167                         ++i;
    168163                        break;
    169164                }
     
    174169        assert(hcd_ep);
    175170        hcd_ep->td = data->tds[i];
    176         /* Clear possible ED HALT */
    177         data->ed->td_head &= ~ED_TDHEAD_HALTED_FLAG;
    178         uint32_t pa = addr_to_phys(hcd_ep->td);
    179         assert(pa == (data->ed->td_head & ED_TDHEAD_PTR_MASK));
    180         assert(pa == (data->ed->td_tail & ED_TDTAIL_PTR_MASK));
    181171
    182172        return true;
  • uspace/drv/ohci/hcd_endpoint.c

    re583fd4 r0146d41  
    3535#include "hcd_endpoint.h"
    3636
    37 static void hcd_ep_toggle_set(void *hcd_ep, int toggle)
    38 {
    39         hcd_endpoint_t *instance = hcd_ep;
    40         assert(instance);
    41         assert(instance->ed);
    42         ed_toggle_set(instance->ed, toggle);
    43 }
    44 static int hcd_ep_toggle_get(void *hcd_ep)
    45 {
    46         hcd_endpoint_t *instance = hcd_ep;
    47         assert(instance);
    48         assert(instance->ed);
    49         return ed_toggle_get(instance->ed);
    50 }
    51 
    52 
    5337hcd_endpoint_t * hcd_endpoint_assign(endpoint_t *ep)
    5438{
     
    7357        ed_init(hcd_ep->ed, ep);
    7458        ed_set_td(hcd_ep->ed, hcd_ep->td);
    75         endpoint_set_hc_data(ep, hcd_ep, hcd_ep_toggle_get, hcd_ep_toggle_set);
     59        endpoint_set_hc_data(ep, hcd_ep, NULL, NULL);
    7660
    7761        return hcd_ep;
  • uspace/drv/ohci/hw_struct/endpoint_descriptor.h

    re583fd4 r0146d41  
    7373#define ED_TDHEAD_ZERO_SHIFT (2)
    7474#define ED_TDHEAD_TOGGLE_CARRY (0x2)
    75 #define ED_TDHEAD_HALTED_FLAG (0x1)
    7675
    7776        volatile uint32_t next;
     
    107106        instance->next = pa;
    108107}
    109 
    110 static inline int ed_toggle_get(ed_t *instance)
    111 {
    112         assert(instance);
    113         return (instance->td_head & ED_TDHEAD_TOGGLE_CARRY) ? 1 : 0;
    114 }
    115 
    116 static inline void ed_toggle_set(ed_t *instance, int toggle)
    117 {
    118         assert(instance);
    119         assert(toggle == 0 || toggle == 1);
    120         if (toggle == 1) {
    121                 instance->td_head |= ED_TDHEAD_TOGGLE_CARRY;
    122         } else {
    123                 /* clear halted flag when reseting toggle */
    124                 instance->td_head &= ~ED_TDHEAD_TOGGLE_CARRY;
    125                 instance->td_head &= ~ED_TDHEAD_HALTED_FLAG;
    126         }
    127 }
    128108#endif
    129109/**
  • uspace/lib/usb/src/host/endpoint.c

    re583fd4 r0146d41  
    123123        if (instance->address == target.address &&
    124124            (instance->endpoint == target.endpoint || target.endpoint == 0))
    125                 endpoint_toggle_set(instance, 0);
     125                instance->toggle = 0;
    126126}
    127127/**
Note: See TracChangeset for help on using the changeset viewer.