Changes in / [76b57734:c8ca07e] in mainline


Ignore:
Location:
uspace/drv/uhci
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/uhci/callback.c

    r76b57734 rc8ca07e  
    4848                  instance->callback_in, outcome, act_size);
    4949                instance->callback_in(
    50                   instance->dev, outcome, act_size, instance->arg);
     50                  instance->dev, act_size, outcome, instance->arg);
    5151        } else {
    5252                assert(instance->callback_out);
  • uspace/drv/uhci/debug.h

    r76b57734 rc8ca07e  
    6060        usb_dprintf( NAME, DEBUG_LEVEL_VERBOSE, fmt, ##args )
    6161
    62 #define UHCI_GET_STR_FLAG(reg, flag, msg_set, msg_unset) \
    63         ((((reg) & (flag)) > 0) ? (msg_set) : (msg_unset))
    64 
    65 
    6662#endif
    6763/**
  • uspace/drv/uhci/root_hub/port.c

    r76b57734 rc8ca07e  
    11
    22#include <errno.h>
    3 #include <str_error.h>
    43//#include <usb/devreq.h> /* for usb_device_request_setup_packet_t */
    54#include <usb/usb.h>
     
    2322
    2423        while (1) {
    25                 /* Read port status. */
     24                uhci_print_info("Port(%d) status address %p:\n",
     25                  port_instance->number, port_instance->address);
     26
     27                /* read register value */
    2628                port_status_t port_status =
    2729                        port_status_read(port_instance->address);
    2830
    29                 uhci_print_info("Port %d: %04X (@ 0x%x) = " \
    30                     "%s,%s,%s,%s,[%s,%s],%s,%s,%s,%s\n",
    31                     port_instance->number, port_status, port_instance->address,
    32                     UHCI_GET_STR_FLAG(port_status, STATUS_SUSPEND, "suspend", "up"),
    33                     UHCI_GET_STR_FLAG(port_status, STATUS_IN_RESET, "in reset", "-"),
    34                     UHCI_GET_STR_FLAG(port_status, STATUS_LOW_SPEED, "lowsp", "fullsp"),
    35                     UHCI_GET_STR_FLAG(port_status, STATUS_RESUME, "resume", "k-state"),
    36                     UHCI_GET_STR_FLAG(port_status, STATUS_LINE_D_MINUS, "D- on", "D- off"),
    37                     UHCI_GET_STR_FLAG(port_status, STATUS_LINE_D_PLUS, "D+ on", "D+ off"),
    38                     UHCI_GET_STR_FLAG(port_status, STATUS_ENABLED_CHANGED, "enblchg", "-"),
    39                     UHCI_GET_STR_FLAG(port_status, STATUS_ENABLED, "enabled", "disabled"),
    40                     UHCI_GET_STR_FLAG(port_status, STATUS_CONNECTED_CHANGED, "connchg", "-"),
    41                     UHCI_GET_STR_FLAG(port_status, STATUS_CONNECTED, "hasdev", "nodev"));
     31                /* debug print */
     32                uhci_print_info("Port(%d) status %#.4x:\n",
     33                  port_instance->number, port_status);
     34                print_port_status(port_status);
    4235
    4336                if (port_status & STATUS_CONNECTED_CHANGED) {
     
    9992
    10093        if (ret != EOK) { /* address assigning went wrong */
    101                 uhci_print_error("Failed to assign address (port %d): %s.\n",
    102                     port->number, str_error(ret));
     94                uhci_print_error("Failed(%d) to assign address to the device.\n", ret);
    10395                uhci_port_set_enabled(port, false);
    10496                usb_address_keeping_release_default(&uhci_instance->address_manager);
  • uspace/drv/uhci/uhci.c

    r76b57734 rc8ca07e  
    219219        return EOK;
    220220}
    221 
    222221/*---------------------------------------------------------------------------*/
    223222int uhci_debug_checker(void *arg)
     
    229228                reg = pio_read_16(&instance->registers->usbcmd);
    230229                uhci_print_info("Command register: %X\n", reg);
    231 
    232230                reg = pio_read_16(&instance->registers->usbsts);
    233                 uhci_print_info("Status register: %X (%s,%s,%s,%s,%s,%s)\n",
    234                     reg,
    235                     UHCI_GET_STR_FLAG(reg, UHCI_STATUS_HALTED, "halted", "-"),
    236                     UHCI_GET_STR_FLAG(reg, UHCI_STATUS_PROCESS_ERROR, "prerr", "-"),
    237                     UHCI_GET_STR_FLAG(reg, UHCI_STATUS_SYSTEM_ERROR, "syserr", "-"),
    238                     UHCI_GET_STR_FLAG(reg, UHCI_STATUS_RESUME, "res", "-"),
    239                     UHCI_GET_STR_FLAG(reg, UHCI_STATUS_ERROR_INTERRUPT, "errintr", "-"),
    240                     UHCI_GET_STR_FLAG(reg, UHCI_STATUS_INTERRUPT, "intr", "-"));
     231                uhci_print_info("Status register: %X\n", reg);
    241232/*
    242233                uintptr_t frame_list = pio_read_32(&instance->registers->flbaseadd);
  • uspace/drv/uhci/uhci_struct/transfer_descriptor.c

    r76b57734 rc8ca07e  
    1 #include <stdio.h>
    21#include "transfer_descriptor.h"
    3 
    4 #define BUFFER_LEN 40
    5 
    6 static void buffer_to_str(char *str, size_t str_size,
    7     uint8_t *buffer, size_t buffer_size)
    8 {
    9         if (buffer_size == 0) {
    10                 *str = 0;
    11                 return;
    12         }
    13         while (str_size >= 4) {
    14                 snprintf(str, 4, " %02X", (int) *buffer);
    15                 str += 3;
    16                 str_size -= 3;
    17                 buffer++;
    18                 buffer_size--;
    19                 if (buffer_size == 0) {
    20                         break;
    21                 }
    22         }
    23 }
    242
    253void transfer_descriptor_init(transfer_descriptor_t *instance,
     
    4119        uhci_print_verbose("Creating status field: %x.\n", instance->status);
    4220
    43         uint32_t maxlen_field = (size == 0) ? 0x7FF : ((uint32_t) size - 1);
    44         maxlen_field = (maxlen_field & TD_DEVICE_MAXLEN_MASK)
    45             << TD_DEVICE_MAXLEN_POS;
    4621        instance->device = 0
    47                 | (maxlen_field)
     22                | (((size - 1) & TD_DEVICE_MAXLEN_MASK) << TD_DEVICE_MAXLEN_POS)
    4823                | ((target.address & TD_DEVICE_ADDRESS_MASK) << TD_DEVICE_ADDRESS_POS)
    4924                | ((target.endpoint & TD_DEVICE_ENDPOINT_MASK) << TD_DEVICE_ENDPOINT_POS)
     
    5227        uhci_print_verbose("Creating device field: %x.\n", instance->device);
    5328
    54         char buffer_dump[BUFFER_LEN];
    55         buffer_to_str(buffer_dump, BUFFER_LEN, buffer, size);
    56         uhci_print_verbose("Buffer dump (%zuB): %s.\n", size, buffer_dump);
    57 
    5829        if (size) {
    5930                instance->buffer_ptr = (uintptr_t)addr_to_phys(buffer);
     
    6132                uhci_print_verbose("Creating buffer field: %p(%p).\n",
    6233                        buffer, instance->buffer_ptr);
     34
     35                if (size >= 8) {
     36                        char * buff = buffer;
     37
     38                        uhci_print_verbose("Buffer dump(8B): %x %x %x %x %x %x %x %x.\n",
     39                                buff[0], buff[1], buff[2], buff[3], buff[4], buff[5], buff[6], buff[7]);
     40                }
    6341        } else {
    6442                instance->buffer_ptr = 0;
    6543        }
    66 
    6744
    6845        instance->next_va = NULL;
Note: See TracChangeset for help on using the changeset viewer.