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