HelenOS sources
hub 219 uspace/drv/bus/usb/ehci/ehci_rh.c #define TEST_SIZE_INIT(size, port, hub) \
hub 221 uspace/drv/bus/usb/ehci/ehci_rh.c hub = virthub_get_data(device); \
hub 222 uspace/drv/bus/usb/ehci/ehci_rh.c assert(hub);\
hub 226 uspace/drv/bus/usb/ehci/ehci_rh.c if (port > hub->port_count) \
hub 242 uspace/drv/bus/usb/ehci/ehci_rh.c ehci_rh_t *hub = virthub_get_data(device);
hub 243 uspace/drv/bus/usb/ehci/ehci_rh.c assert(hub);
hub 265 uspace/drv/bus/usb/ehci/ehci_rh.c ehci_rh_t *hub = virthub_get_data(device);
hub 266 uspace/drv/bus/usb/ehci/ehci_rh.c assert(hub);
hub 293 uspace/drv/bus/usb/ehci/ehci_rh.c ehci_rh_t *hub;
hub 295 uspace/drv/bus/usb/ehci/ehci_rh.c TEST_SIZE_INIT(4, port, hub);
hub 299 uspace/drv/bus/usb/ehci/ehci_rh.c const uint32_t reg = EHCI_RD(hub->registers->portsc[port]);
hub 314 uspace/drv/bus/usb/ehci/ehci_rh.c (hub->resume_flag[port] ? USB2_HUB_PORT_STATUS_C_SUSPEND : 0) |
hub 316 uspace/drv/bus/usb/ehci/ehci_rh.c (hub->reset_flag[port] ? USB_HUB_PORT_STATUS_C_RESET : 0));
hub 321 uspace/drv/bus/usb/ehci/ehci_rh.c usb_log_debug2("RH(%p-%u) port status: %" PRIx32 "(%" PRIx32 ")", hub, port,
hub 329 uspace/drv/bus/usb/ehci/ehci_rh.c ehci_rh_t *hub;
hub 337 uspace/drv/bus/usb/ehci/ehci_rh.c usb_log_debug("RH(%p-%u): Clearing reset", job->hub, job->port);
hub 338 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_CLR(job->hub->registers->portsc[job->port],
hub 341 uspace/drv/bus/usb/ehci/ehci_rh.c while (EHCI_RD(job->hub->registers->portsc[job->port]) &
hub 345 uspace/drv/bus/usb/ehci/ehci_rh.c usb_log_debug("RH(%p-%u): Reset complete", job->hub, job->port);
hub 350 uspace/drv/bus/usb/ehci/ehci_rh.c if (!(EHCI_RD(job->hub->registers->portsc[job->port]) &
hub 353 uspace/drv/bus/usb/ehci/ehci_rh.c "), giving up ownership", job->hub, job->port,
hub 354 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_RD(job->hub->registers->portsc[job->port]));
hub 355 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_SET(job->hub->registers->portsc[job->port],
hub 358 uspace/drv/bus/usb/ehci/ehci_rh.c job->hub->reset_flag[job->port] = true;
hub 359 uspace/drv/bus/usb/ehci/ehci_rh.c ehci_rh_interrupt(job->hub);
hub 368 uspace/drv/bus/usb/ehci/ehci_rh.c usb_log_debug("RH(%p-%u): Stopping resume", job->hub, job->port);
hub 369 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_CLR(job->hub->registers->portsc[job->port],
hub 371 uspace/drv/bus/usb/ehci/ehci_rh.c job->hub->resume_flag[job->port] = true;
hub 372 uspace/drv/bus/usb/ehci/ehci_rh.c ehci_rh_interrupt(job->hub);
hub 382 uspace/drv/bus/usb/ehci/ehci_rh.c job->hub = rh;
hub 406 uspace/drv/bus/usb/ehci/ehci_rh.c ehci_rh_t *hub;
hub 408 uspace/drv/bus/usb/ehci/ehci_rh.c TEST_SIZE_INIT(0, port, hub);
hub 413 uspace/drv/bus/usb/ehci/ehci_rh.c usb_log_debug2("RH(%p-%u): Clear port power.", hub, port);
hub 414 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_CLR(hub->registers->portsc[port],
hub 419 uspace/drv/bus/usb/ehci/ehci_rh.c usb_log_debug2("RH(%p-%u): Clear port enable.", hub, port);
hub 420 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_CLR(hub->registers->portsc[port],
hub 425 uspace/drv/bus/usb/ehci/ehci_rh.c usb_log_debug2("RH(%p-%u): Clear port suspend.", hub, port);
hub 427 uspace/drv/bus/usb/ehci/ehci_rh.c if ((EHCI_RD(hub->registers->portsc[port]) &
hub 431 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_SET(hub->registers->portsc[port],
hub 434 uspace/drv/bus/usb/ehci/ehci_rh.c return delayed_job(stop_resume, hub, port);
hub 438 uspace/drv/bus/usb/ehci/ehci_rh.c hub, port);
hub 439 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_SET(hub->registers->portsc[port],
hub 444 uspace/drv/bus/usb/ehci/ehci_rh.c hub, port);
hub 445 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_SET(hub->registers->portsc[port],
hub 450 uspace/drv/bus/usb/ehci/ehci_rh.c hub, port);
hub 451 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_SET(hub->registers->portsc[port],
hub 456 uspace/drv/bus/usb/ehci/ehci_rh.c hub, port);
hub 457 uspace/drv/bus/usb/ehci/ehci_rh.c hub->resume_flag[port] = false;
hub 461 uspace/drv/bus/usb/ehci/ehci_rh.c hub, port);
hub 462 uspace/drv/bus/usb/ehci/ehci_rh.c hub->reset_flag[port] = false;
hub 467 uspace/drv/bus/usb/ehci/ehci_rh.c hub, port, feature);
hub 484 uspace/drv/bus/usb/ehci/ehci_rh.c ehci_rh_t *hub;
hub 486 uspace/drv/bus/usb/ehci/ehci_rh.c TEST_SIZE_INIT(0, port, hub);
hub 490 uspace/drv/bus/usb/ehci/ehci_rh.c usb_log_debug2("RH(%p-%u): Set port enable.", hub, port);
hub 491 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_SET(hub->registers->portsc[port],
hub 495 uspace/drv/bus/usb/ehci/ehci_rh.c usb_log_debug2("RH(%p-%u): Set port suspend.", hub, port);
hub 496 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_SET(hub->registers->portsc[port],
hub 500 uspace/drv/bus/usb/ehci/ehci_rh.c usb_log_debug2("RH(%p-%u): Set port reset.", hub, port);
hub 501 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_SET(hub->registers->portsc[port],
hub 504 uspace/drv/bus/usb/ehci/ehci_rh.c return delayed_job(stop_reset, hub, port);
hub 506 uspace/drv/bus/usb/ehci/ehci_rh.c usb_log_debug2("RH(%p-%u): Set port power.", hub, port);
hub 507 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_SET(hub->registers->portsc[port],
hub 512 uspace/drv/bus/usb/ehci/ehci_rh.c hub, port, feature);
hub 533 uspace/drv/bus/usb/ehci/ehci_rh.c ehci_rh_t *hub = virthub_get_data(device);
hub 534 uspace/drv/bus/usb/ehci/ehci_rh.c assert(hub);
hub 536 uspace/drv/bus/usb/ehci/ehci_rh.c if (buffer_size < STATUS_BYTES(hub->port_count))
hub 540 uspace/drv/bus/usb/ehci/ehci_rh.c for (unsigned port = 0; port < hub->port_count; ++port) {
hub 542 uspace/drv/bus/usb/ehci/ehci_rh.c uint32_t status = EHCI_RD(hub->registers->portsc[port]);
hub 543 uspace/drv/bus/usb/ehci/ehci_rh.c if ((status & USB_PORTSC_WC_MASK) || hub->reset_flag[port]) {
hub 548 uspace/drv/bus/usb/ehci/ehci_rh.c EHCI_SET(hub->registers->portsc[port],
hub 555 uspace/drv/bus/usb/ehci/ehci_rh.c usb_log_debug2("RH(%p): root hub interrupt mask: %" PRIx16, hub, mask);
hub 560 uspace/drv/bus/usb/ehci/ehci_rh.c memcpy(buffer, &mask, STATUS_BYTES(hub->port_count));
hub 561 uspace/drv/bus/usb/ehci/ehci_rh.c *actual_size = STATUS_BYTES(hub->port_count);
hub 243 uspace/drv/bus/usb/ohci/ohci_rh.c #define TEST_SIZE_INIT(size, port, hub) \
hub 245 uspace/drv/bus/usb/ohci/ohci_rh.c hub = virthub_get_data(device); \
hub 246 uspace/drv/bus/usb/ohci/ohci_rh.c assert(hub);\
hub 250 uspace/drv/bus/usb/ohci/ohci_rh.c if (port > hub->port_count) \
hub 266 uspace/drv/bus/usb/ohci/ohci_rh.c ohci_rh_t *hub = virthub_get_data(device);
hub 267 uspace/drv/bus/usb/ohci/ohci_rh.c assert(hub);
hub 270 uspace/drv/bus/usb/ohci/ohci_rh.c const uint32_t val = OHCI_RD(hub->registers->rh_status) &
hub 289 uspace/drv/bus/usb/ohci/ohci_rh.c ohci_rh_t *hub = virthub_get_data(device);
hub 290 uspace/drv/bus/usb/ohci/ohci_rh.c assert(hub);
hub 302 uspace/drv/bus/usb/ohci/ohci_rh.c OHCI_WR(hub->registers->rh_status, RHS_OCIC_FLAG);
hub 319 uspace/drv/bus/usb/ohci/ohci_rh.c ohci_rh_t *hub;
hub 321 uspace/drv/bus/usb/ohci/ohci_rh.c TEST_SIZE_INIT(4, port, hub);
hub 325 uspace/drv/bus/usb/ohci/ohci_rh.c const uint32_t status = OHCI_RD(hub->registers->rh_port_status[port]);
hub 343 uspace/drv/bus/usb/ohci/ohci_rh.c ohci_rh_t *hub;
hub 346 uspace/drv/bus/usb/ohci/ohci_rh.c TEST_SIZE_INIT(0, port, hub);
hub 351 uspace/drv/bus/usb/ohci/ohci_rh.c rhda = OHCI_RD(hub->registers->rh_desc_a);
hub 357 uspace/drv/bus/usb/ohci/ohci_rh.c OHCI_WR(hub->registers->rh_status,
hub 361 uspace/drv/bus/usb/ohci/ohci_rh.c OHCI_WR(hub->registers->rh_port_status[port],
hub 365 uspace/drv/bus/usb/ohci/ohci_rh.c OHCI_WR(hub->registers->rh_port_status[port],
hub 370 uspace/drv/bus/usb/ohci/ohci_rh.c OHCI_WR(hub->registers->rh_port_status[port],
hub 382 uspace/drv/bus/usb/ohci/ohci_rh.c OHCI_WR(hub->registers->rh_port_status[port],
hub 403 uspace/drv/bus/usb/ohci/ohci_rh.c ohci_rh_t *hub;
hub 406 uspace/drv/bus/usb/ohci/ohci_rh.c TEST_SIZE_INIT(0, port, hub);
hub 411 uspace/drv/bus/usb/ohci/ohci_rh.c rhda = OHCI_RD(hub->registers->rh_desc_a);
hub 419 uspace/drv/bus/usb/ohci/ohci_rh.c OHCI_WR(hub->registers->rh_status, RHS_SET_GLOBAL_POWER);
hub 430 uspace/drv/bus/usb/ohci/ohci_rh.c OHCI_WR(hub->registers->rh_port_status[port], 1 << feature);
hub 453 uspace/drv/bus/usb/ohci/ohci_rh.c ohci_rh_t *hub = virthub_get_data(device);
hub 454 uspace/drv/bus/usb/ohci/ohci_rh.c assert(hub);
hub 456 uspace/drv/bus/usb/ohci/ohci_rh.c if (buffer_size < STATUS_BYTES(hub->port_count))
hub 462 uspace/drv/bus/usb/ohci/ohci_rh.c if (OHCI_RD(hub->registers->rh_status) & (RHS_LPSC_FLAG | RHS_OCIC_FLAG)) {
hub 466 uspace/drv/bus/usb/ohci/ohci_rh.c for (unsigned port = 1; port <= hub->port_count; ++port) {
hub 468 uspace/drv/bus/usb/ohci/ohci_rh.c if (OHCI_RD(hub->registers->rh_port_status[port - 1]) &
hub 479 uspace/drv/bus/usb/ohci/ohci_rh.c memcpy(buffer, &mask, STATUS_BYTES(hub->port_count));
hub 480 uspace/drv/bus/usb/ohci/ohci_rh.c *actual_size = STATUS_BYTES(hub->port_count);
hub 167 uspace/drv/bus/usb/uhci/uhci_rh.c #define TEST_SIZE_INIT(size, port, hub) \
hub 174 uspace/drv/bus/usb/uhci/uhci_rh.c hub = virthub_get_data(device); \
hub 175 uspace/drv/bus/usb/uhci/uhci_rh.c assert(hub);\
hub 178 uspace/drv/bus/usb/uhci/uhci_rh.c #define RH_DEBUG(hub, port, msg, ...) \
hub 181 uspace/drv/bus/usb/uhci/uhci_rh.c usb_log_debug("RH(%p-%d): " msg, hub, port, ##__VA_ARGS__); \
hub 183 uspace/drv/bus/usb/uhci/uhci_rh.c usb_log_debug("RH(%p):" msg, hub, ##__VA_ARGS__); \
hub 201 uspace/drv/bus/usb/uhci/uhci_rh.c uhci_rh_t *hub;
hub 203 uspace/drv/bus/usb/uhci/uhci_rh.c TEST_SIZE_INIT(1, port, hub);
hub 207 uspace/drv/bus/usb/uhci/uhci_rh.c const uint16_t value = pio_read_16(hub->ports[port]);
hub 210 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Bus state %" PRIx8 "(source %" PRIx16 ")",
hub 236 uspace/drv/bus/usb/uhci/uhci_rh.c uhci_rh_t *hub;
hub 238 uspace/drv/bus/usb/uhci/uhci_rh.c TEST_SIZE_INIT(4, port, hub);
hub 242 uspace/drv/bus/usb/uhci/uhci_rh.c const uint16_t val = pio_read_16(hub->ports[port]);
hub 255 uspace/drv/bus/usb/uhci/uhci_rh.c (hub->reset_changed[port] ? USB_HUB_PORT_STATUS_C_RESET : 0));
hub 256 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Port status %" PRIx32 " (source %" PRIx16
hub 258 uspace/drv/bus/usb/uhci/uhci_rh.c hub->reset_changed[port] ? "-reset" : "");
hub 276 uspace/drv/bus/usb/uhci/uhci_rh.c uhci_rh_t *hub;
hub 278 uspace/drv/bus/usb/uhci/uhci_rh.c TEST_SIZE_INIT(0, port, hub);
hub 280 uspace/drv/bus/usb/uhci/uhci_rh.c const uint16_t status = pio_read_16(hub->ports[port]);
hub 284 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Clear port enable (status %"
hub 286 uspace/drv/bus/usb/uhci/uhci_rh.c pio_write_16(hub->ports[port], val & ~STATUS_ENABLED);
hub 289 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Clear port suspend (status %"
hub 291 uspace/drv/bus/usb/uhci/uhci_rh.c pio_write_16(hub->ports[port], val & ~STATUS_SUSPEND);
hub 296 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Clear port power (status %" PRIx16 ")",
hub 302 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Clear port conn change (status %"
hub 304 uspace/drv/bus/usb/uhci/uhci_rh.c pio_write_16(hub->ports[port], val | STATUS_CONNECTED_CHANGED);
hub 307 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Clear port reset change (status %"
hub 309 uspace/drv/bus/usb/uhci/uhci_rh.c hub->reset_changed[port] = false;
hub 312 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Clear port enable change (status %"
hub 314 uspace/drv/bus/usb/uhci/uhci_rh.c pio_write_16(hub->ports[port], status | STATUS_ENABLED_CHANGED);
hub 317 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Clear port suspend change (status %"
hub 322 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Clear port OC change (status %"
hub 328 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Clear unknown feature %d (status %"
hub 349 uspace/drv/bus/usb/uhci/uhci_rh.c uhci_rh_t *hub;
hub 351 uspace/drv/bus/usb/uhci/uhci_rh.c TEST_SIZE_INIT(0, port, hub);
hub 353 uspace/drv/bus/usb/uhci/uhci_rh.c const uint16_t status = pio_read_16(hub->ports[port]);
hub 356 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Set port reset before (status %" PRIx16
hub 358 uspace/drv/bus/usb/uhci/uhci_rh.c uhci_port_reset_enable(hub->ports[port]);
hub 359 uspace/drv/bus/usb/uhci/uhci_rh.c hub->reset_changed[port] = true;
hub 360 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Set port reset after (status %" PRIx16
hub 361 uspace/drv/bus/usb/uhci/uhci_rh.c ")", pio_read_16(hub->ports[port]));
hub 364 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Set port suspend (status %" PRIx16
hub 366 uspace/drv/bus/usb/uhci/uhci_rh.c pio_write_16(hub->ports[port],
hub 371 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Set port power (status %" PRIx16
hub 380 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Set port change flag (status %" PRIx16
hub 388 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, port, "Set unknown feature %d (status %" PRIx16
hub 413 uspace/drv/bus/usb/uhci/uhci_rh.c uhci_rh_t *hub = virthub_get_data(device);
hub 414 uspace/drv/bus/usb/uhci/uhci_rh.c assert(hub);
hub 419 uspace/drv/bus/usb/uhci/uhci_rh.c const uint16_t status_a = pio_read_16(hub->ports[0]);
hub 420 uspace/drv/bus/usb/uhci/uhci_rh.c const uint16_t status_b = pio_read_16(hub->ports[1]);
hub 422 uspace/drv/bus/usb/uhci/uhci_rh.c ((((status_a & STATUS_CHANGE_BITS) != 0) || hub->reset_changed[0]) ?
hub 424 uspace/drv/bus/usb/uhci/uhci_rh.c ((((status_b & STATUS_CHANGE_BITS) != 0) || hub->reset_changed[1]) ?
hub 427 uspace/drv/bus/usb/uhci/uhci_rh.c RH_DEBUG(hub, -1, "Event mask %" PRIx8
hub 430 uspace/drv/bus/usb/uhci/uhci_rh.c status_a, hub->reset_changed[0] ? "-reset" : "",
hub 431 uspace/drv/bus/usb/uhci/uhci_rh.c status_b, hub->reset_changed[1] ? "-reset" : "");
hub 53 uspace/drv/bus/usb/usbhub/port.c (port->hub), (port->port_number), ##__VA_ARGS__); \
hub 60 uspace/drv/bus/usb/usbhub/port.c void usb_hub_port_init(usb_hub_port_t *port, usb_hub_dev_t *hub,
hub 65 uspace/drv/bus/usb/usbhub/port.c port->hub = hub;
hub 83 uspace/drv/bus/usb/usbhub/port.c async_exch_t *exch = usb_device_bus_exchange_begin(port->hub->usb_device);
hub 101 uspace/drv/bus/usb/usbhub/port.c assert(port->hub);
hub 103 uspace/drv/bus/usb/usbhub/port.c return usb_port_speed(port->hub->speed, status);
hub 114 uspace/drv/bus/usb/usbhub/port.c err = usb_hub_reserve_default_address(port->hub, exch, &port->base);
hub 126 uspace/drv/bus/usb/usbhub/port.c if ((err = usb_hub_set_port_feature(port->hub, port->port_number,
hub 145 uspace/drv/bus/usb/usbhub/port.c usb_hub_clear_port_feature(port->hub, port->port_number,
hub 153 uspace/drv/bus/usb/usbhub/port.c usb_hub_release_default_address(port->hub, exch);
hub 165 uspace/drv/bus/usb/usbhub/port.c if ((err = usb_hub_set_port_feature(port->hub, port->port_number,
hub 195 uspace/drv/bus/usb/usbhub/port.c async_exch_t *exch = usb_device_bus_exchange_begin(port->hub->usb_device);
hub 201 uspace/drv/bus/usb/usbhub/port.c const errno_t err = port->hub->speed == USB_SPEED_SUPER ?
hub 248 uspace/drv/bus/usb/usbhub/port.c const errno_t err = usb_hub_set_port_feature(port->hub,
hub 277 uspace/drv/bus/usb/usbhub/port.c usb_hub_clear_port_feature(port->hub, port->port_number, feature);
hub 299 uspace/drv/bus/usb/usbhub/port.c const errno_t err = usb_hub_get_port_status(port->hub,
hub 317 uspace/drv/bus/usb/usbhub/port.c if (port->hub->speed <= USB_SPEED_HIGH) {
hub 51 uspace/drv/bus/usb/usbhub/port.h usb_hub_dev_t *hub;
hub 201 uspace/drv/bus/usb/usbhub/usbhub.c static errno_t usb_hub_cleanup(usb_hub_dev_t *hub)
hub 203 uspace/drv/bus/usb/usbhub/usbhub.c free(hub->polling.buffer);
hub 204 uspace/drv/bus/usb/usbhub/usbhub.c usb_polling_fini(&hub->polling);
hub 206 uspace/drv/bus/usb/usbhub/usbhub.c for (size_t port = 0; port < hub->port_count; ++port) {
hub 207 uspace/drv/bus/usb/usbhub/usbhub.c usb_port_fini(&hub->ports[port].base);
hub 209 uspace/drv/bus/usb/usbhub/usbhub.c free(hub->ports);
hub 211 uspace/drv/bus/usb/usbhub/usbhub.c const errno_t ret = ddf_fun_unbind(hub->hub_fun);
hub 214 uspace/drv/bus/usb/usbhub/usbhub.c hub, HUB_FNC_NAME, str_error(ret));
hub 217 uspace/drv/bus/usb/usbhub/usbhub.c ddf_fun_destroy(hub->hub_fun);
hub 219 uspace/drv/bus/usb/usbhub/usbhub.c usb_log_info("(%p) USB hub driver stopped and cleaned.", hub);
hub 234 uspace/drv/bus/usb/usbhub/usbhub.c usb_hub_dev_t *hub = usb_device_data_get(usb_dev);
hub 235 uspace/drv/bus/usb/usbhub/usbhub.c assert(hub);
hub 237 uspace/drv/bus/usb/usbhub/usbhub.c usb_log_info("(%p) USB hub removed, joining polling fibril.", hub);
hub 240 uspace/drv/bus/usb/usbhub/usbhub.c usb_polling_join(&hub->polling);
hub 241 uspace/drv/bus/usb/usbhub/usbhub.c usb_log_info("(%p) USB hub polling stopped, freeing memory.", hub);
hub 244 uspace/drv/bus/usb/usbhub/usbhub.c return usb_hub_cleanup(hub);
hub 255 uspace/drv/bus/usb/usbhub/usbhub.c usb_hub_dev_t *hub = usb_device_data_get(usb_dev);
hub 256 uspace/drv/bus/usb/usbhub/usbhub.c assert(hub);
hub 258 uspace/drv/bus/usb/usbhub/usbhub.c usb_log_info("(%p) USB hub gone, joining polling fibril.", hub);
hub 261 uspace/drv/bus/usb/usbhub/usbhub.c usb_polling_join(&hub->polling);
hub 262 uspace/drv/bus/usb/usbhub/usbhub.c usb_log_info("(%p) USB hub polling stopped, freeing memory.", hub);
hub 265 uspace/drv/bus/usb/usbhub/usbhub.c return usb_hub_cleanup(hub);
hub 312 uspace/drv/bus/usb/usbhub/usbhub.c usb_hub_dev_t *hub = arg;
hub 313 uspace/drv/bus/usb/usbhub/usbhub.c assert(hub);
hub 323 uspace/drv/bus/usb/usbhub/usbhub.c usb_hub_global_interrupt(hub);
hub 327 uspace/drv/bus/usb/usbhub/usbhub.c for (size_t port = 0; port < hub->port_count; ++port) {
hub 331 uspace/drv/bus/usb/usbhub/usbhub.c usb_hub_port_process_interrupt(&hub->ports[port]);
hub 523 uspace/drv/bus/usb/usbhub/usbhub.c errno_t usb_hub_set_depth(const usb_hub_dev_t *hub)
hub 525 uspace/drv/bus/usb/usbhub/usbhub.c assert(hub);
hub 528 uspace/drv/bus/usb/usbhub/usbhub.c if (hub->speed < USB_SPEED_SUPER)
hub 534 uspace/drv/bus/usb/usbhub/usbhub.c .value = uint16_host2usb(usb_device_get_depth(hub->usb_device) - 1),
hub 538 uspace/drv/bus/usb/usbhub/usbhub.c return usb_pipe_control_write(hub->control_pipe, &set_request,
hub 548 uspace/drv/bus/usb/usbhub/usbhub.c errno_t usb_hub_set_port_feature(const usb_hub_dev_t *hub, size_t port_number,
hub 551 uspace/drv/bus/usb/usbhub/usbhub.c assert(hub);
hub 559 uspace/drv/bus/usb/usbhub/usbhub.c return usb_pipe_control_write(hub->control_pipe, &clear_request,
hub 569 uspace/drv/bus/usb/usbhub/usbhub.c errno_t usb_hub_clear_port_feature(const usb_hub_dev_t *hub, size_t port_number,
hub 572 uspace/drv/bus/usb/usbhub/usbhub.c assert(hub);
hub 580 uspace/drv/bus/usb/usbhub/usbhub.c return usb_pipe_control_write(hub->control_pipe,
hub 591 uspace/drv/bus/usb/usbhub/usbhub.c errno_t usb_hub_get_port_status(const usb_hub_dev_t *hub, size_t port_number,
hub 594 uspace/drv/bus/usb/usbhub/usbhub.c assert(hub);
hub 612 uspace/drv/bus/usb/usbhub/usbhub.c const errno_t rc = usb_pipe_control_read(hub->control_pipe,
hub 714 uspace/drv/bus/usb/usbhub/usbhub.c errno_t usb_hub_reserve_default_address(usb_hub_dev_t *hub, async_exch_t *exch,
hub 717 uspace/drv/bus/usb/usbhub/usbhub.c assert(hub);
hub 751 uspace/drv/bus/usb/usbhub/usbhub.c err = usb_hub_release_default_address(hub, exch);
hub 761 uspace/drv/bus/usb/usbhub/usbhub.c errno_t usb_hub_release_default_address(usb_hub_dev_t *hub, async_exch_t *exch)
hub 80 uspace/drv/bus/usb/vhc/devconn.c (void) virthub_connect_device(&vhc->hub, dev);
hub 107 uspace/drv/bus/usb/vhc/devconn.c (void) virthub_disconnect_device(&vhc->hub, dev);
hub 98 uspace/drv/bus/usb/vhc/hub/hub.c static void hub_init_port(hub_port_t *port, hub_t *hub, size_t index)
hub 104 uspace/drv/bus/usb/vhc/hub/hub.c port->hub = hub;
hub 111 uspace/drv/bus/usb/vhc/hub/hub.c void hub_init(hub_t *hub)
hub 115 uspace/drv/bus/usb/vhc/hub/hub.c hub_init_port(&hub->ports[i], hub, i + 1);
hub 117 uspace/drv/bus/usb/vhc/hub/hub.c hub->custom_data = NULL;
hub 118 uspace/drv/bus/usb/vhc/hub/hub.c hub->signal_changes = true;
hub 119 uspace/drv/bus/usb/vhc/hub/hub.c fibril_mutex_initialize(&hub->guard);
hub 129 uspace/drv/bus/usb/vhc/hub/hub.c size_t hub_connect_device(hub_t *hub, void *device)
hub 133 uspace/drv/bus/usb/vhc/hub/hub.c hub_port_t *port = &hub->ports[i];
hub 165 uspace/drv/bus/usb/vhc/hub/hub.c errno_t hub_disconnect_device(hub_t *hub, void *device)
hub 167 uspace/drv/bus/usb/vhc/hub/hub.c size_t index = hub_find_device(hub, device);
hub 172 uspace/drv/bus/usb/vhc/hub/hub.c hub_port_t *port = &hub->ports[index];
hub 188 uspace/drv/bus/usb/vhc/hub/hub.c size_t hub_find_device(hub_t *hub, void *device)
hub 192 uspace/drv/bus/usb/vhc/hub/hub.c hub_port_t *port = &hub->ports[i];
hub 206 uspace/drv/bus/usb/vhc/hub/hub.c void hub_acquire(hub_t *hub)
hub 208 uspace/drv/bus/usb/vhc/hub/hub.c fibril_mutex_lock(&hub->guard);
hub 215 uspace/drv/bus/usb/vhc/hub/hub.c void hub_release(hub_t *hub)
hub 217 uspace/drv/bus/usb/vhc/hub/hub.c fibril_mutex_unlock(&hub->guard);
hub 226 uspace/drv/bus/usb/vhc/hub/hub.c void hub_set_port_state(hub_t *hub, size_t port_index, hub_port_state_t state)
hub 228 uspace/drv/bus/usb/vhc/hub/hub.c hub_port_t *port = get_hub_port(hub, port_index);
hub 243 uspace/drv/bus/usb/vhc/hub/hub.c set_port_state_delayed(hub, port_index,
hub 248 uspace/drv/bus/usb/vhc/hub/hub.c set_port_state_delayed(hub, port_index,
hub 268 uspace/drv/bus/usb/vhc/hub/hub.c void hub_set_port_state_all(hub_t *hub, hub_port_state_t state)
hub 272 uspace/drv/bus/usb/vhc/hub/hub.c hub_set_port_state(hub, i, state);
hub 282 uspace/drv/bus/usb/vhc/hub/hub.c hub_port_state_t hub_get_port_state(hub_t *hub, size_t port_index)
hub 284 uspace/drv/bus/usb/vhc/hub/hub.c hub_port_t *port = get_hub_port(hub, port_index);
hub 298 uspace/drv/bus/usb/vhc/hub/hub.c void hub_clear_port_status_change(hub_t *hub, size_t port_index,
hub 301 uspace/drv/bus/usb/vhc/hub/hub.c hub_port_t *port = get_hub_port(hub, port_index);
hub 315 uspace/drv/bus/usb/vhc/hub/hub.c uint16_t hub_get_port_status_change(hub_t *hub, size_t port_index)
hub 317 uspace/drv/bus/usb/vhc/hub/hub.c hub_port_t *port = get_hub_port(hub, port_index);
hub 331 uspace/drv/bus/usb/vhc/hub/hub.c uint32_t hub_get_port_status(hub_t *hub, size_t port_index)
hub 333 uspace/drv/bus/usb/vhc/hub/hub.c hub_port_t *port = get_hub_port(hub, port_index);
hub 373 uspace/drv/bus/usb/vhc/hub/hub.c uint8_t hub_get_status_change_bitmap(hub_t *hub)
hub 379 uspace/drv/bus/usb/vhc/hub/hub.c hub_port_t *port = &hub->ports[i];
hub 402 uspace/drv/bus/usb/vhc/hub/hub.c static hub_port_t *get_hub_port(hub_t *hub, size_t port)
hub 408 uspace/drv/bus/usb/vhc/hub/hub.c return &hub->ports[port];
hub 425 uspace/drv/bus/usb/vhc/hub/hub.c port->hub->signal_changes = true;
hub 438 uspace/drv/bus/usb/vhc/hub/hub.c port->hub->signal_changes = true;
hub 452 uspace/drv/bus/usb/vhc/hub/hub.c hub_t *hub;
hub 467 uspace/drv/bus/usb/vhc/hub/hub.c hub_acquire(change->hub);
hub 469 uspace/drv/bus/usb/vhc/hub/hub.c hub_port_t *port = get_hub_port(change->hub, change->port);
hub 473 uspace/drv/bus/usb/vhc/hub/hub.c hub_set_port_state(change->hub, change->port,
hub 477 uspace/drv/bus/usb/vhc/hub/hub.c hub_release(change->hub);
hub 495 uspace/drv/bus/usb/vhc/hub/hub.c static void set_port_state_delayed(hub_t *hub, size_t port_index,
hub 502 uspace/drv/bus/usb/vhc/hub/hub.c change->hub = hub;
hub 74 uspace/drv/bus/usb/vhc/hub/hub.h typedef struct hub hub_t;
hub 87 uspace/drv/bus/usb/vhc/hub/hub.h hub_t *hub;
hub 161 uspace/drv/bus/usb/vhc/hub/virthub.c hub_t *hub = malloc(sizeof(hub_t));
hub 162 uspace/drv/bus/usb/vhc/hub/virthub.c if (hub == NULL) {
hub 168 uspace/drv/bus/usb/vhc/hub/virthub.c hub_init(hub);
hub 169 uspace/drv/bus/usb/vhc/hub/virthub.c dev->device_data = hub;
hub 185 uspace/drv/bus/usb/vhc/hub/virthub.c hub_t *hub = (hub_t *) dev->device_data;
hub 187 uspace/drv/bus/usb/vhc/hub/virthub.c hub_acquire(hub);
hub 188 uspace/drv/bus/usb/vhc/hub/virthub.c size_t port = hub_connect_device(hub, conn);
hub 189 uspace/drv/bus/usb/vhc/hub/virthub.c hub_release(hub);
hub 205 uspace/drv/bus/usb/vhc/hub/virthub.c hub_t *hub = (hub_t *) dev->device_data;
hub 207 uspace/drv/bus/usb/vhc/hub/virthub.c hub_acquire(hub);
hub 208 uspace/drv/bus/usb/vhc/hub/virthub.c hub_disconnect_device(hub, conn);
hub 209 uspace/drv/bus/usb/vhc/hub/virthub.c hub_release(hub);
hub 225 uspace/drv/bus/usb/vhc/hub/virthub.c hub_t *hub = (hub_t *) dev->device_data;
hub 227 uspace/drv/bus/usb/vhc/hub/virthub.c hub_acquire(hub);
hub 230 uspace/drv/bus/usb/vhc/hub/virthub.c size_t port = hub_find_device(hub, conn);
hub 232 uspace/drv/bus/usb/vhc/hub/virthub.c state = hub_get_port_state(hub, port);
hub 234 uspace/drv/bus/usb/vhc/hub/virthub.c hub_release(hub);
hub 252 uspace/drv/bus/usb/vhc/hub/virthub.c hub_t *hub = (hub_t *) dev->device_data;
hub 259 uspace/drv/bus/usb/vhc/hub/virthub.c hub_get_port_state(hub, i));
hub 46 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_t *hub = (hub_t *)dev->device_data;
hub 48 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_acquire(hub);
hub 52 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_set_port_state_all(hub, HUB_PORT_STATE_POWERED_OFF);
hub 55 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_set_port_state_all(hub, HUB_PORT_STATE_NOT_CONFIGURED);
hub 61 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_release(hub);
hub 76 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_t *hub = dev->device_data;
hub 78 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_acquire(hub);
hub 80 uspace/drv/bus/usb/vhc/hub/virthubops.c if (!hub->signal_changes) {
hub 81 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_release(hub);
hub 86 uspace/drv/bus/usb/vhc/hub/virthubops.c uint8_t change_map = hub_get_status_change_bitmap(hub);
hub 96 uspace/drv/bus/usb/vhc/hub/virthubops.c hub->signal_changes = false;
hub 98 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_release(hub);
hub 131 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_t *hub = (hub_t *) dev->device_data;
hub 133 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_acquire(hub);
hub 135 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_port_state_t port_state = hub_get_port_state(hub, port);
hub 141 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_set_port_state(hub, port, HUB_PORT_STATE_DISABLED);
hub 151 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_set_port_state(hub, port, HUB_PORT_STATE_RESUMING);
hub 157 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_set_port_state(hub, port, HUB_PORT_STATE_POWERED_OFF);
hub 163 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_clear_port_status_change(hub, port, HUB_STATUS_C_PORT_CONNECTION);
hub 168 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_clear_port_status_change(hub, port, HUB_STATUS_C_PORT_ENABLE);
hub 173 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_clear_port_status_change(hub, port, HUB_STATUS_C_PORT_SUSPEND);
hub 178 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_clear_port_status_change(hub, port, HUB_STATUS_C_PORT_OVER_CURRENT);
hub 183 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_clear_port_status_change(hub, port, HUB_STATUS_C_PORT_RESET);
hub 192 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_release(hub);
hub 262 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_t *hub = (hub_t *) dev->device_data;
hub 264 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_acquire(hub);
hub 266 uspace/drv/bus/usb/vhc/hub/virthubops.c uint32_t status = hub_get_port_status(hub, request->index - 1);
hub 268 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_release(hub);
hub 304 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_t *hub = (hub_t *) dev->device_data;
hub 306 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_acquire(hub);
hub 308 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_port_state_t port_state = hub_get_port_state(hub, port);
hub 313 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_set_port_state(hub, port, HUB_PORT_STATE_RESETTING);
hub 320 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_set_port_state(hub, port, HUB_PORT_STATE_SUSPENDED);
hub 327 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_set_port_state(hub, port, HUB_PORT_STATE_DISCONNECTED);
hub 336 uspace/drv/bus/usb/vhc/hub/virthubops.c hub_release(hub);
hub 99 uspace/drv/bus/usb/vhc/main.c ret = vhc_virtdev_plug_hub(vhc, &vhc->hub, NULL, 0);
hub 204 uspace/drv/bus/usb/vhc/transfer.c return virthub_init(&instance->hub, "root hub");
hub 70 uspace/drv/bus/usb/vhc/vhcd.h usbvirt_device_t hub;
hub 186 uspace/drv/bus/usb/xhci/device.c xhci_device_t *xhci_hub = xhci_device_get(dev->hub);
hub 349 uspace/drv/bus/usb/xhci/device.c xhci_device_t *hub = xhci_device_get(dev->base.tt.dev);
hub 350 uspace/drv/bus/usb/xhci/device.c XHCI_SLOT_TT_HUB_SLOT_ID_SET(*ctx, hub->slot_id);
hub 179 uspace/drv/bus/usb/xhci/rh.c dev->hub = &port->rh->device.base;
hub 72 uspace/lib/usbhost/include/usb/host/bus.h struct device *hub;
hub 109 uspace/lib/usbhost/src/bus.c if (!dev->hub)
hub 112 uspace/lib/usbhost/src/bus.c if (dev->hub->speed == USB_SPEED_HIGH && usb_speed_is_11(dev->speed)) {
hub 114 uspace/lib/usbhost/src/bus.c dev->tt.dev = dev->hub;
hub 118 uspace/lib/usbhost/src/bus.c dev->tt = dev->hub->tt;
hub 145 uspace/lib/usbhost/src/bus.c if (dev->hub) {
hub 146 uspace/lib/usbhost/src/bus.c fibril_mutex_lock(&dev->hub->guard);
hub 147 uspace/lib/usbhost/src/bus.c list_append(&dev->link, &dev->hub->devices);
hub 148 uspace/lib/usbhost/src/bus.c fibril_mutex_unlock(&dev->hub->guard);
hub 231 uspace/lib/usbhost/src/bus.c if (dev->hub) {
hub 232 uspace/lib/usbhost/src/bus.c fibril_mutex_lock(&dev->hub->guard);
hub 234 uspace/lib/usbhost/src/bus.c fibril_mutex_unlock(&dev->hub->guard);
hub 157 uspace/lib/usbhost/src/ddf_helpers.c device_t *hub = ddf_fun_data_get(fun);
hub 158 uspace/lib/usbhost/src/ddf_helpers.c assert(hub);
hub 166 uspace/lib/usbhost/src/ddf_helpers.c hub->address, usb_str_speed(speed), port);
hub 174 uspace/lib/usbhost/src/ddf_helpers.c dev->hub = hub;
hub 175 uspace/lib/usbhost/src/ddf_helpers.c dev->tier = hub->tier + 1;
hub 207 uspace/lib/usbhost/src/ddf_helpers.c device_t *hub = ddf_fun_data_get(fun);
hub 208 uspace/lib/usbhost/src/ddf_helpers.c assert(hub);
hub 214 uspace/lib/usbhost/src/ddf_helpers.c fibril_mutex_lock(&hub->guard);
hub 215 uspace/lib/usbhost/src/ddf_helpers.c list_foreach(hub->devices, link, device_t, it) {
hub 221 uspace/lib/usbhost/src/ddf_helpers.c fibril_mutex_unlock(&hub->guard);
hub 231 uspace/lib/usbhost/src/ddf_helpers.c assert(victim->hub == hub);
HelenOS homepage, sources at GitHub