Changeset 63d4d4fd in mainline for uspace/drv/ohci/root_hub.c
- Timestamp:
- 2011-05-27T09:38:22Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 848dafc, cd83f25
- Parents:
- ffca03c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/ohci/root_hub.c
rffca03c r63d4d4fd 61 61 .vendor_id = 0x16db, 62 62 .product_id = 0x0001, 63 /// \TODO these values migt be different64 63 .str_serial_number = 0, 65 64 .usb_spec_version = 0x110, … … 119 118 static const uint32_t hub_clear_feature_by_writing_one_mask = 120 119 RHS_CLEAR_PORT_POWER; 121 // 1 << USB_HUB_FEATURE_C_HUB_LOCAL_POWER;122 120 123 121 /** … … 127 125 RHS_LPSC_FLAG | 128 126 RHS_OCIC_FLAG; 129 //(1 << USB_HUB_FEATURE_C_HUB_OVER_CURRENT) |130 //(1 << USB_HUB_FEATURE_C_HUB_LOCAL_POWER);131 127 132 128 /** … … 135 131 static const uint32_t hub_set_feature_direct_mask = 136 132 RHS_SET_PORT_POWER; 137 //(1 << USB_HUB_FEATURE_C_HUB_OVER_CURRENT);138 133 139 134 /** … … 160 155 RHPS_PRSC_FLAG; 161 156 162 /*163 164 (1 << USB_HUB_FEATURE_PORT_CONNECTION) |165 (1 << USB_HUB_FEATURE_PORT_SUSPEND) |166 (1 << USB_HUB_FEATURE_PORT_OVER_CURRENT) |167 (1 << USB_HUB_FEATURE_PORT_POWER) |168 (1 << USB_HUB_FEATURE_C_PORT_CONNECTION) |169 (1 << USB_HUB_FEATURE_C_PORT_ENABLE) |170 (1 << USB_HUB_FEATURE_C_PORT_SUSPEND) |171 (1 << USB_HUB_FEATURE_C_PORT_OVER_CURRENT) |172 (1 << USB_HUB_FEATURE_C_PORT_RESET);173 */174 157 //note that USB_HUB_FEATURE_PORT_POWER bit is translated into 175 158 //USB_HUB_FEATURE_PORT_LOW_SPEED for port set feature request … … 179 162 */ 180 163 static const uint32_t port_status_change_mask = RHPS_CHANGE_WC_MASK; 181 /* (1 << USB_HUB_FEATURE_C_PORT_CONNECTION) |182 (1 << USB_HUB_FEATURE_C_PORT_ENABLE) |183 (1 << USB_HUB_FEATURE_C_PORT_OVER_CURRENT) |184 (1 << USB_HUB_FEATURE_C_PORT_RESET) |185 (1 << USB_HUB_FEATURE_C_PORT_SUSPEND);186 */187 164 188 165 static int create_serialized_hub_descriptor(rh_t *instance); … … 433 410 if (port < 1 || port > instance->port_count) 434 411 return EINVAL; 435 uint32_t * uint32_buffer = (uint32_t*) request->data_buffer;436 412 request->transfered_size = 4; 437 uint32_buffer[0] = instance->registers->rh_port_status[port - 1]; 413 uint32_t data = instance->registers->rh_port_status[port - 1]; 414 memcpy(request->data_buffer,&data,4); 438 415 #if 0 439 416 int i; … … 462 439 static int process_get_hub_status_request(rh_t *instance, 463 440 usb_transfer_batch_t * request) { 464 uint32_t * uint32_buffer = (uint32_t*) request->data_buffer;441 //uint32_t * uint32_buffer = (uint32_t*) request->data_buffer; 465 442 request->transfered_size = 4; 466 443 //bits, 0,1,16,17 467 444 uint32_t mask = 1 | (1 << 1) | (1 << 16) | (1 << 17); 468 uint32_buffer[0] = mask & instance->registers->rh_status; 445 uint32_t data = mask & instance->registers->rh_status; 446 //uint32_buffer[0] = mask & instance->registers->rh_status; 447 memcpy(request->data_buffer,&data,4); 469 448 470 449 return EOK; … … 520 499 | (1 << (USB_HUB_FEATURE_C_HUB_OVER_CURRENT + 16)); 521 500 bzero(bitmap, instance->interrupt_mask_size); 522 if ( instance->registers->rh_status & mask) {501 if ((instance->registers->rh_status & mask) !=0 ) { 523 502 bitmap[0] = 1; 524 503 } … … 526 505 mask = port_status_change_mask; 527 506 for (port = 1; port <= instance->port_count; ++port) { 528 if (mask & instance->registers->rh_port_status[port - 1] ) {507 if (mask & instance->registers->rh_port_status[port - 1] != 0) { 529 508 530 509 bitmap[(port) / 8] += 1 << (port % 8);
Note:
See TracChangeset
for help on using the changeset viewer.