Changes in / [0f3e68c:dd6f59f] in mainline


Ignore:
Location:
uspace/drv
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/ehci-hcd/pci.c

    r0f3e68c rdd6f59f  
    247247
    248248
    249         if ((value & USBLEGSUP_BIOS_CONTROL) == 0) {
     249        if ((value & USBLEGSUP_BIOS_CONTROL) != 0) {
    250250                usb_log_info("BIOS released control after %d usec.\n", wait);
    251251        } else {
    252252                /* BIOS failed to hand over control, this should not happen. */
    253                 usb_log_warning( "BIOS failed to release control after "
     253                usb_log_warning( "BIOS failed to release control after"
    254254                    "%d usecs, force it.\n", wait);
    255255                ret = async_req_3_0(parent_phone, DEV_IFACE_ID(PCI_DEV_IFACE),
     
    258258                CHECK_RET_HANGUP_RETURN(ret,
    259259                    "Failed(%d) to force OS EHCI control.\n", ret);
     260                /* TODO: This does not seem to work on my machine */
    260261        }
    261262
     
    279280        usb_log_debug2("USBLEGSUP: %x.\n", value);
    280281
    281         /*
    282          * TURN OFF EHCI FOR NOW, DRIVER WILL REINITIALIZE IT
    283         */
     282/*
     283 * TURN OFF EHCI FOR NOW, REMOVE IF THE DRIVER IS IMPLEMENTED
     284 */
    284285
    285286        /* Get size of capability registers in memory space. */
  • uspace/drv/uhci-hcd/batch.c

    r0f3e68c rdd6f59f  
    177177                        usb_log_debug("Batch(%p) found error TD(%d):%x.\n",
    178178                            instance, i, instance->tds[i].status);
    179                         td_print_status(&instance->tds[i]);
    180179
    181180                        device_keeper_set_toggle(instance->manager,
     
    319318                ++packet;
    320319        }
    321         instance->tds[packet - 1].status |= TD_STATUS_IOC_FLAG;
     320        instance->tds[packet - 1].status |= TD_STATUS_COMPLETE_INTERRUPT_FLAG;
    322321        device_keeper_set_toggle(instance->manager, instance->target, toggle);
    323322}
     
    372371
    373372
    374         instance->tds[packet].status |= TD_STATUS_IOC_FLAG;
     373        instance->tds[packet].status |= TD_STATUS_COMPLETE_INTERRUPT_FLAG;
    375374        usb_log_debug2("Control last TD status: %x.\n",
    376375            instance->tds[packet].status);
  • uspace/drv/uhci-hcd/uhci.c

    r0f3e68c rdd6f59f  
    436436
    437437                int frnum = pio_read_16(&instance->registers->frnum) & 0x3ff;
     438                usb_log_debug2("Framelist item: %d \n", frnum );
    438439
    439440                uintptr_t expected_pa = instance->frame_list[frnum] & (~0xf);
    440441                uintptr_t real_pa = addr_to_phys(QH(interrupt));
    441442                if (expected_pa != real_pa) {
    442                         usb_log_debug("Interrupt QH: %p(frame: %d) vs. %p.\n",
    443                             expected_pa, frnum, real_pa);
     443                        usb_log_debug("Interrupt QH: %p vs. %p.\n",
     444                            expected_pa, real_pa);
    444445                }
    445446
  • uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.c

    r0f3e68c rdd6f59f  
    8888        }
    8989
    90         usb_log_debug2("Created TD(%p): %X:%X:%X:%X(%p).\n",
    91             instance, instance->next, instance->status, instance->device,
     90        usb_log_debug2("Created TD: %X:%X:%X:%X(%p).\n",
     91            instance->next, instance->status, instance->device,
    9292            instance->buffer_ptr, buffer);
    93         td_print_status(instance);
    9493        if (pid == USB_PID_SETUP) {
    9594                usb_log_debug("SETUP BUFFER: %s\n",
     
    127126        return EOK;
    128127}
    129 /*----------------------------------------------------------------------------*/
    130 void td_print_status(td_t *instance)
    131 {
    132         assert(instance);
    133         const uint32_t s = instance->status;
    134         usb_log_debug2("TD(%p) status(%#x):%s %d,%s%s%s%s%s%s%s%s%s%s%s %d.\n",
    135             instance, instance->status,
    136             (s & TD_STATUS_SPD_FLAG) ? " SPD," : "",
    137             (s >> TD_STATUS_ERROR_COUNT_POS) & TD_STATUS_ERROR_COUNT_MASK,
    138             (s & TD_STATUS_LOW_SPEED_FLAG) ? " LOW SPEED," : "",
    139             (s & TD_STATUS_ISOCHRONOUS_FLAG) ? " ISOCHRONOUS," : "",
    140             (s & TD_STATUS_IOC_FLAG) ? " IOC," : "",
    141             (s & TD_STATUS_ERROR_ACTIVE) ? " ACTIVE," : "",
    142             (s & TD_STATUS_ERROR_STALLED) ? " STALLED," : "",
    143             (s & TD_STATUS_ERROR_BUFFER) ? " BUFFER," : "",
    144             (s & TD_STATUS_ERROR_BABBLE) ? " BABBLE," : "",
    145             (s & TD_STATUS_ERROR_NAK) ? " NAK," : "",
    146             (s & TD_STATUS_ERROR_CRC) ? " CRC/TIMEOUT," : "",
    147             (s & TD_STATUS_ERROR_BIT_STUFF) ? " BIT_STUFF," : "",
    148             (s & TD_STATUS_ERROR_RESERVED) ? " RESERVED," : "",
    149             (s >> TD_STATUS_ACTLEN_POS) & TD_STATUS_ACTLEN_MASK
    150         );
    151 }
    152128/**
    153129 * @}
  • uspace/drv/uhci-hcd/uhci_struct/transfer_descriptor.h

    r0f3e68c rdd6f59f  
    5353#define TD_STATUS_LOW_SPEED_FLAG ( 1 << 26 )
    5454#define TD_STATUS_ISOCHRONOUS_FLAG ( 1 << 25 )
    55 #define TD_STATUS_IOC_FLAG ( 1 << 24 )
     55#define TD_STATUS_COMPLETE_INTERRUPT_FLAG ( 1 << 24 )
    5656
    5757#define TD_STATUS_ERROR_ACTIVE ( 1 << 23 )
     
    127127        return (instance->status & TD_STATUS_ERROR_ACTIVE) != 0;
    128128}
    129 
    130 void td_print_status(td_t *instance);
    131129#endif
    132130/**
  • uspace/drv/uhci-rhd/port.c

    r0f3e68c rdd6f59f  
    4444
    4545#include "port.h"
     46#include "port_status.h"
    4647
    4748static int uhci_port_new_device(uhci_port_t *port, usb_speed_t speed);
     
    125126                port_status_t port_status = uhci_port_read_status(instance);
    126127
    127                 /* print the value if it's interesting */
    128                 if (port_status & ~STATUS_ALWAYS_ONE)
    129                         uhci_port_print_status(instance, port_status);
     128                print_port_status(instance->id_string, port_status);
    130129
    131130                if ((port_status & STATUS_CONNECTED_CHANGED) == 0)
     
    159158                        /* Write one to WC bits, to ack changes */
    160159                        uhci_port_write_status(instance, port_status);
    161                         usb_log_debug("%s: status change ACK.\n",
     160                        usb_log_debug("%s: Change status ACK.\n",
    162161                            instance->id_string);
    163162                }
  • uspace/drv/uhci-rhd/port.h

    r0f3e68c rdd6f59f  
    3636
    3737#include <assert.h>
     38#include <ddf/driver.h>
    3839#include <stdint.h>
    39 #include <ddf/driver.h>
    40 #include <libarch/ddi.h> /* pio_read and pio_write */
    4140#include <usb/usbdevice.h>
    4241
    43 typedef uint16_t port_status_t;
    44 
    45 #define STATUS_CONNECTED         (1 << 0)
    46 #define STATUS_CONNECTED_CHANGED (1 << 1)
    47 #define STATUS_ENABLED           (1 << 2)
    48 #define STATUS_ENABLED_CHANGED   (1 << 3)
    49 #define STATUS_LINE_D_PLUS       (1 << 4)
    50 #define STATUS_LINE_D_MINUS      (1 << 5)
    51 #define STATUS_RESUME            (1 << 6)
    52 #define STATUS_ALWAYS_ONE        (1 << 7)
    53 
    54 #define STATUS_LOW_SPEED (1 <<  8)
    55 #define STATUS_IN_RESET  (1 <<  9)
    56 #define STATUS_SUSPEND   (1 << 12)
     42#include "port_status.h"
    5743
    5844typedef struct uhci_port
     
    8672        pio_write_16(port->address, value);
    8773}
    88 
    89 static inline void uhci_port_print_status(
    90     uhci_port_t *port, const port_status_t value)
    91 {
    92         assert(port);
    93         usb_log_debug2("%s Port status(%#x):%s%s%s%s%s%s%s%s%s%s%s.\n",
    94             port->id_string, value,
    95             (value & STATUS_SUSPEND) ? " SUSPENDED," : "",
    96             (value & STATUS_RESUME) ? " IN RESUME," : "",
    97             (value & STATUS_IN_RESET) ? " IN RESET," : "",
    98             (value & STATUS_LINE_D_MINUS) ? " VD-," : "",
    99             (value & STATUS_LINE_D_PLUS) ? " VD+," : "",
    100             (value & STATUS_LOW_SPEED) ? " LOWSPEED," : "",
    101             (value & STATUS_ENABLED_CHANGED) ? " ENABLED-CHANGE," : "",
    102             (value & STATUS_ENABLED) ? " ENABLED," : "",
    103             (value & STATUS_CONNECTED_CHANGED) ? " CONNECTED-CHANGE," : "",
    104             (value & STATUS_CONNECTED) ? " CONNECTED," : "",
    105             (value & STATUS_ALWAYS_ONE) ? " ALWAYS ONE" : " ERROR: NO ALWAYS ONE"
    106         );
    107 }
    10874#endif
    10975/**
Note: See TracChangeset for help on using the changeset viewer.