Lines Matching refs:deviceInstance
46 static usb_status_t USB_HostProcessState(usb_host_device_instance_t *deviceInstance);
55 static usb_status_t USB_HostProcessCallback(usb_host_device_instance_t *deviceInstance, uint32_t da…
66 usb_host_device_instance_t *deviceInstance,
94 usb_host_device_instance_t *deviceInstance);
192 usb_host_device_instance_t *deviceInstance = (usb_host_device_instance_t *)param; in USB_HostEnumerationTransferCallback() local
197 (void)USB_HostFreeTransfer(deviceInstance->hostHandle, transfer); /* free transfer */ in USB_HostEnumerationTransferCallback()
208 if (deviceInstance->stallRetries > 0U) /* retry same transfer when stall */ in USB_HostEnumerationTransferCallback()
211 deviceInstance->stallRetries--; in USB_HostEnumerationTransferCallback()
232 deviceInstance->stallRetries = USB_HOST_CONFIG_ENUMERATION_MAX_STALL_RETRIES; in USB_HostEnumerationTransferCallback()
233 if (s_EnumEntries[deviceInstance->state - 1U].process == NULL) in USB_HostEnumerationTransferCallback()
235 …deviceInstance->state = (uint8_t)s_EnumEntries[deviceInstance->state - 1U].successState; /* next s… in USB_HostEnumerationTransferCallback()
239 status = s_EnumEntries[deviceInstance->state - 1U].process( in USB_HostEnumerationTransferCallback()
240 deviceInstance, dataLength); /* process the previous state result */ in USB_HostEnumerationTransferCallback()
243 … deviceInstance->state = (uint8_t)s_EnumEntries[deviceInstance->state - 1U].successState; in USB_HostEnumerationTransferCallback()
247 … deviceInstance->state = (uint8_t)s_EnumEntries[deviceInstance->state - 1U].retryState; in USB_HostEnumerationTransferCallback()
264 if (deviceInstance->enumRetries > 0U) /* next whole retry */ in USB_HostEnumerationTransferCallback()
266 deviceInstance->enumRetries--; in USB_HostEnumerationTransferCallback()
267 deviceInstance->stallRetries = USB_HOST_CONFIG_ENUMERATION_MAX_STALL_RETRIES; in USB_HostEnumerationTransferCallback()
268 deviceInstance->configurationValue = 0U; in USB_HostEnumerationTransferCallback()
269 deviceInstance->state = (uint8_t)kStatus_DEV_GetDes8; in USB_HostEnumerationTransferCallback()
283 if (USB_HostProcessState(deviceInstance) != kStatus_USB_Success) in USB_HostEnumerationTransferCallback()
295 …(void)USB_HostNotifyDevice(deviceInstance->hostHandle, deviceInstance, (uint32_t)kUSB_HostEventEnu… in USB_HostEnumerationTransferCallback()
300 static usb_status_t USB_HostProcessState(usb_host_device_instance_t *deviceInstance) in USB_HostProcessState() argument
308 state = (usb_host_device_enumeration_status_t)deviceInstance->state; in USB_HostProcessState()
311 if (USB_HostMallocTransfer(deviceInstance->hostHandle, &transfer) != kStatus_USB_Success) in USB_HostProcessState()
319 transfer->callbackParam = deviceInstance; in USB_HostProcessState()
333 if (deviceInstance->state == (uint8_t)kStatus_DEV_GetDes8) in USB_HostProcessState()
337 getDescriptorParam.descriptorBuffer = (uint8_t *)deviceInstance->deviceDescriptor; in USB_HostProcessState()
344 … status = USB_HostStandardSetGetDescriptor(deviceInstance, transfer, &getDescriptorParam); in USB_HostProcessState()
348 … status = USB_HostStandardSetAddress(deviceInstance, transfer, &deviceInstance->allocatedAddress); in USB_HostProcessState()
352 getDescriptorParam.descriptorBuffer = deviceInstance->enumBuffer; in USB_HostProcessState()
354 getDescriptorParam.descriptorIndex = deviceInstance->configurationValue; in USB_HostProcessState()
360 … status = USB_HostStandardSetGetDescriptor(deviceInstance, transfer, &getDescriptorParam); in USB_HostProcessState()
364 getDescriptorParam.descriptorBuffer = deviceInstance->configurationDesc; in USB_HostProcessState()
366 getDescriptorParam.descriptorIndex = deviceInstance->configurationValue; in USB_HostProcessState()
367 getDescriptorParam.descriptorLength = deviceInstance->configurationLen; in USB_HostProcessState()
372 … status = USB_HostStandardSetGetDescriptor(deviceInstance, transfer, &getDescriptorParam); in USB_HostProcessState()
377 … USB_SHORT_TO_LITTLE_ENDIAN(deviceInstance->configuration.configurationDesc->bConfigurationValue); in USB_HostProcessState()
379 … status = USB_HostCh9RequestCommon(deviceInstance, transfer, NULL, 0); in USB_HostProcessState()
384 status = USB_HostNotifyDevice(deviceInstance->hostHandle, deviceInstance, in USB_HostProcessState()
388 deviceInstance->state = (uint8_t)kStatus_DEV_AppUsed; in USB_HostProcessState()
400 static usb_status_t USB_HostProcessCallback(usb_host_device_instance_t *deviceInstance, uint32_t da… in USB_HostProcessCallback() argument
402 usb_host_pipe_t *pipe = (usb_host_pipe_t *)deviceInstance->controlPipe; in USB_HostProcessCallback()
405 usb_host_instance_t *hostInstance = (usb_host_instance_t *)deviceInstance->hostHandle; in USB_HostProcessCallback()
414 state = (usb_host_device_enumeration_status_t)deviceInstance->state; in USB_HostProcessCallback()
422 pipe->maxPacketSize = deviceInstance->deviceDescriptor->bMaxPacketSize0; in USB_HostProcessCallback()
425 … hostInstance->controllerHandle, kUSB_HostUpdateControlPacketSize, deviceInstance->controlPipe); in USB_HostProcessCallback()
429 deviceInstance->setAddress = deviceInstance->allocatedAddress; in USB_HostProcessCallback()
432 …ostInstance->controllerHandle, kUSB_HostUpdateControlEndpointAddress, deviceInstance->controlPipe); in USB_HostProcessCallback()
447 temp = (void *)&deviceInstance->enumBuffer[0]; in USB_HostProcessCallback()
451 (void)memset(&deviceInstance->configuration, 0, sizeof(deviceInstance->configuration)); in USB_HostProcessCallback()
452 …deviceInstance->configurationLen = USB_SHORT_FROM_LITTLE_ENDIAN_ADDRESS(configureDesc->wTotalLengt… in USB_HostProcessCallback()
453 if (deviceInstance->configurationDesc != NULL) in USB_HostProcessCallback()
456 OSA_MemoryFreeAlign(deviceInstance->configurationDesc); in USB_HostProcessCallback()
458 OSA_MemoryFree(deviceInstance->configurationDesc); in USB_HostProcessCallback()
460 deviceInstance->configurationDesc = NULL; in USB_HostProcessCallback()
464 if (deviceInstance->configurationLen < 9U) in USB_HostProcessCallback()
469 … if (deviceInstance->configurationLen > USB_HOST_CONFIG_MAX_CONFIGURATION_DESCRIPTOR_LENGTH) in USB_HostProcessCallback()
474 if ((deviceInstance->configurationLen & 0x03U) != 0U) in USB_HostProcessCallback()
477 deviceInstance->configurationDesc = in USB_HostProcessCallback()
478 …(uint8_t *)OSA_MemoryAllocateAlign((deviceInstance->configurationLen & 0xFFFCu) + 4, USB_CACHE_LIN… in USB_HostProcessCallback()
480 deviceInstance->configurationDesc = in USB_HostProcessCallback()
481 … (uint8_t *)OSA_MemoryAllocate((((uint32_t)deviceInstance->configurationLen) & 0xFFFCU) + 4UL); in USB_HostProcessCallback()
487 deviceInstance->configurationDesc = in USB_HostProcessCallback()
488 … (uint8_t *)OSA_MemoryAllocateAlign(deviceInstance->configurationLen, USB_CACHE_LINESIZE); in USB_HostProcessCallback()
490 …deviceInstance->configurationDesc = (uint8_t *)OSA_MemoryAllocate(deviceInstance->configurationLen… in USB_HostProcessCallback()
493 if (deviceInstance->configurationDesc == NULL) in USB_HostProcessCallback()
500 if (dataLength != deviceInstance->configurationLen) in USB_HostProcessCallback()
510 … hubInstance4Device = USB_HostHubGetHubDeviceHandle(hostInstance, deviceInstance->hubNumber); in USB_HostProcessCallback()
511 … if ((!(((usb_descriptor_configuration_t *)deviceInstance->configurationDesc)->bmAttributes & in USB_HostProcessCallback()
513 … (((usb_descriptor_configuration_t *)deviceInstance->configurationDesc)->bMaxPower > 50) && in USB_HostProcessCallback()
525 temp = (void *)deviceInstance->configurationDesc; in USB_HostProcessCallback()
530 deviceInstance->configurationValue++; in USB_HostProcessCallback()
531 if (USB_HostParseDeviceConfigurationDescriptor(deviceInstance) != in USB_HostProcessCallback()
537 …status = USB_HostNotifyDevice(deviceInstance->hostHandle, deviceInstance, (uint32_t)kUSB_HostEvent… in USB_HostProcessCallback()
543 … if (deviceInstance->configurationValue < deviceInstance->deviceDescriptor->bNumConfigurations) in USB_HostProcessCallback()
550 (void)USB_HostNotifyDevice(deviceInstance->hostHandle, deviceInstance, in USB_HostProcessCallback()
570 usb_host_device_instance_t *deviceInstance, in USB_HostNotifyDevice() argument
585 if (deviceInstance == NULL) in USB_HostNotifyDevice()
594 …for (interfaceIndex = 0U; interfaceIndex < deviceInstance->configuration.interfaceCount; ++interfa… in USB_HostNotifyDevice()
596 …if (((usb_descriptor_interface_t *)deviceInstance->configuration.interfaceList[interfaceIndex].int… in USB_HostNotifyDevice()
608 ((haveNoHub == 1U) || (deviceInstance->configuration.interfaceCount == 0U))) in USB_HostNotifyDevice()
611 … status1 = hostInstance->deviceCallback(deviceInstance, &deviceInstance->configuration, eventCode); in USB_HostNotifyDevice()
615 … status2 = USB_HostHubDeviceEvent(hostInstance, deviceInstance, &deviceInstance->configuration, in USB_HostNotifyDevice()
635 … status1 = hostInstance->deviceCallback(deviceInstance, &deviceInstance->configuration, eventCode); in USB_HostNotifyDevice()
712 …eleaseDeviceResource(usb_host_instance_t *hostInstance, usb_host_device_instance_t *deviceInstance) in USB_HostReleaseDeviceResource() argument
719 if (deviceInstance == hostInstance->suspendedDevice) in USB_HostReleaseDeviceResource()
725 if (deviceInstance->setAddress != 0U) in USB_HostReleaseDeviceResource()
727 USB_HostReleaseDeviceAddress(hostInstance, deviceInstance->setAddress); in USB_HostReleaseDeviceResource()
731 if (deviceInstance->allocatedAddress != 0U) in USB_HostReleaseDeviceResource()
733 USB_HostReleaseDeviceAddress(hostInstance, deviceInstance->allocatedAddress); in USB_HostReleaseDeviceResource()
738 if (deviceInstance->controlPipe != NULL) in USB_HostReleaseDeviceResource()
740 (void)USB_HostCancelTransfer(hostInstance, deviceInstance->controlPipe, NULL); in USB_HostReleaseDeviceResource()
741 if (USB_HostClosePipe(hostInstance, deviceInstance->controlPipe) != kStatus_USB_Success) in USB_HostReleaseDeviceResource()
747 deviceInstance->controlPipe = NULL; in USB_HostReleaseDeviceResource()
751 if (deviceInstance->configurationDesc != NULL) in USB_HostReleaseDeviceResource()
754 OSA_MemoryFreeAlign(deviceInstance->configurationDesc); in USB_HostReleaseDeviceResource()
756 OSA_MemoryFree(deviceInstance->configurationDesc); in USB_HostReleaseDeviceResource()
761 level = deviceInstance->level; in USB_HostReleaseDeviceResource()
764 OSA_MemoryFreeAlign(deviceInstance->deviceDescriptor); in USB_HostReleaseDeviceResource()
766 OSA_MemoryFree(deviceInstance->deviceDescriptor); in USB_HostReleaseDeviceResource()
769 OSA_MemoryFree(deviceInstance); in USB_HostReleaseDeviceResource()
785 usb_host_device_instance_t *deviceInstance = (usb_host_device_instance_t *)deviceHandle; in USB_HostParseDeviceConfigurationDescriptor() local
798 temp = (void *)&deviceInstance->configuration; in USB_HostParseDeviceConfigurationDescriptor()
807 deviceInstance->interfaceStatus[endPos] = 0U; in USB_HostParseDeviceConfigurationDescriptor()
811 temp = (void *)deviceInstance->configurationDesc; in USB_HostParseDeviceConfigurationDescriptor()
813 endPos = (uint32_t)(deviceInstance->configurationDesc + deviceInstance->configurationLen); in USB_HostParseDeviceConfigurationDescriptor()
820 …deviceInstance->configuration.configurationDesc = (usb_descriptor_configuration_t *)tem… in USB_HostParseDeviceConfigurationDescriptor()
821 deviceInstance->configuration.configurationExtensionLength = 0; in USB_HostParseDeviceConfigurationDescriptor()
822 deviceInstance->configuration.configurationExtension = NULL; in USB_HostParseDeviceConfigurationDescriptor()
823 deviceInstance->configuration.interfaceCount = 0; in USB_HostParseDeviceConfigurationDescriptor()
830 if (deviceInstance->configuration.configurationExtension == NULL) in USB_HostParseDeviceConfigurationDescriptor()
832 deviceInstance->configuration.configurationExtension = (uint8_t *)unionDes; in USB_HostParseDeviceConfigurationDescriptor()
839 … deviceInstance->configuration.configurationExtensionLength += unionDes->common.bLength; in USB_HostParseDeviceConfigurationDescriptor()
849 deviceInstance->configuration.interfaceCount = 0U; in USB_HostParseDeviceConfigurationDescriptor()
862 … if (deviceInstance->configuration.interfaceCount >= USB_HOST_CONFIG_CONFIGURATION_MAX_INTERFACE) in USB_HostParseDeviceConfigurationDescriptor()
872 … &deviceInstance->configuration.interfaceList[deviceInstance->configuration.interfaceCount]; in USB_HostParseDeviceConfigurationDescriptor()
873 deviceInstance->configuration.interfaceCount++; in USB_HostParseDeviceConfigurationDescriptor()
1018 for (endPos = 0U; endPos < deviceInstance->configuration.interfaceCount; ++endPos) in USB_HostParseDeviceConfigurationDescriptor()
1020 deviceInstance->interfaceStatus[endPos] = (uint8_t)kStatus_interface_Attached; in USB_HostParseDeviceConfigurationDescriptor()
1196 usb_host_device_instance_t *deviceInstance; in USB_HostDetachDevice() local
1207 deviceInstance = (usb_host_device_instance_t *)hostInstance->deviceList; in USB_HostDetachDevice()
1208 while (deviceInstance != NULL) in USB_HostDetachDevice()
1210 if ((deviceInstance->hubNumber == hubNumber) && (deviceInstance->portNumber == portNumber)) in USB_HostDetachDevice()
1214 deviceInstance = deviceInstance->next; in USB_HostDetachDevice()
1217 deviceInstance = (usb_host_device_instance_t *)hostInstance->deviceList; in USB_HostDetachDevice()
1220 if (deviceInstance != NULL) in USB_HostDetachDevice()
1222 … return USB_HostDetachDeviceInternal(hostHandle, deviceInstance); /* device instance detach */ in USB_HostDetachDevice()
1229 usb_host_device_instance_t *deviceInstance = (usb_host_device_instance_t *)deviceHandle; in USB_HostDetachDeviceInternal() local
1236 …deviceInstance->deviceAttachState = (uint8_t)kStatus_device_Detached; /* mark the device is detach… in USB_HostDetachDeviceInternal()
1238 if (deviceInstance->state >= (uint8_t)kStatus_DEV_Initial) /* device instance is valid */ in USB_HostDetachDeviceInternal()
1241 if (deviceInstance->state < (uint8_t)kStatus_DEV_AppUsed) /* enumeration is not done */ in USB_HostDetachDeviceInternal()
1243 if (deviceInstance->controlPipe != NULL) in USB_HostDetachDeviceInternal()
1245 (void)USB_HostCancelTransfer(hostInstance, deviceInstance->controlPipe, NULL); in USB_HostDetachDeviceInternal()
1249 (void)USB_HostRemoveDeviceInstance(hostInstance, deviceInstance); in USB_HostDetachDeviceInternal()
1250 USB_HostReleaseDeviceResource(hostInstance, deviceInstance); in USB_HostDetachDeviceInternal()
1255 (void)USB_HostNotifyDevice(hostInstance, deviceInstance, (uint32_t)kUSB_HostEventDetach, in USB_HostDetachDeviceInternal()
1308 usb_host_device_instance_t *deviceInstance = (usb_host_device_instance_t *)deviceHandle; in USB_HostOpenDeviceInterface() local
1318 hostInstance = (usb_host_instance_t *)deviceInstance->hostHandle; in USB_HostOpenDeviceInterface()
1343 …for (interfaceIndex = 0; interfaceIndex < deviceInstance->configuration.interfaceCount; ++interfac… in USB_HostOpenDeviceInterface()
1345 if (&deviceInstance->configuration.interfaceList[interfaceIndex] == interfaceHandle) in USB_HostOpenDeviceInterface()
1347 deviceInstance->interfaceStatus[interfaceIndex] = (uint8_t)kStatus_interface_Opened; in USB_HostOpenDeviceInterface()
1358 usb_host_device_instance_t *deviceInstance = (usb_host_device_instance_t *)deviceHandle; in USB_HostCloseDeviceInterface() local
1369 hostInstance = (usb_host_instance_t *)deviceInstance->hostHandle; in USB_HostCloseDeviceInterface()
1396 …for (interfaceIndex = 0; interfaceIndex < deviceInstance->configuration.interfaceCount; ++interfac… in USB_HostCloseDeviceInterface()
1398 if (&deviceInstance->configuration.interfaceList[interfaceIndex] == interfaceHandle) in USB_HostCloseDeviceInterface()
1400 … deviceInstance->interfaceStatus[interfaceIndex] = (uint8_t)kStatus_interface_Detached; in USB_HostCloseDeviceInterface()
1406 …if (deviceInstance->deviceAttachState == (uint8_t)kStatus_device_Detached) /* device is removed fr… in USB_HostCloseDeviceInterface()
1410 …for (interfaceIndex = 0; interfaceIndex < deviceInstance->configuration.interfaceCount; ++interfac… in USB_HostCloseDeviceInterface()
1412 … if (deviceInstance->interfaceStatus[interfaceIndex] == (uint8_t)kStatus_interface_Opened) in USB_HostCloseDeviceInterface()
1421 (void)USB_HostRemoveDeviceInstance(hostInstance, deviceInstance); in USB_HostCloseDeviceInterface()
1427 USB_HostReleaseDeviceResource((usb_host_instance_t *)deviceInstance->hostHandle, in USB_HostCloseDeviceInterface()
1428 deviceInstance); /* release device resource */ in USB_HostCloseDeviceInterface()
1442 usb_host_device_instance_t *deviceInstance = (usb_host_device_instance_t *)deviceHandle; in USB_HostRemoveDevice() local
1454 if (deviceInstance->hostHandle != hostHandle) in USB_HostRemoveDevice()
1459 …if (USB_HostValidateDevice(hostInstance, deviceInstance) == kStatus_USB_Success) /* device is vali… in USB_HostRemoveDevice()
1462 devHubNo = deviceInstance->hubNumber; in USB_HostRemoveDevice()
1463 devPortNo = deviceInstance->portNumber; in USB_HostRemoveDevice()
1464 level = deviceInstance->level; in USB_HostRemoveDevice()
1467 deviceInstance->deviceAttachState = (uint8_t)kStatus_device_Detached; in USB_HostRemoveDevice()
1468 if (deviceInstance->state >= (uint8_t)kStatus_DEV_Initial) /* device is valid */ in USB_HostRemoveDevice()
1470 if (deviceInstance->state < in USB_HostRemoveDevice()
1478 … for (interfaceIndex = 0U; interfaceIndex < deviceInstance->configuration.interfaceCount; in USB_HostRemoveDevice()
1481 … if (deviceInstance->interfaceStatus[interfaceIndex] == (uint8_t)kStatus_interface_Opened) in USB_HostRemoveDevice()
1490 (void)USB_HostRemoveDeviceInstance(hostInstance, deviceInstance); in USB_HostRemoveDevice()
1491 USB_HostReleaseDeviceResource(hostInstance, deviceInstance); /* release resource */ in USB_HostRemoveDevice()