Lines Matching refs:port

98     HostDevice *port = nullptr;

104 port = reinterpret_cast<HostDevice *>(HdfSListIteratorNext(&it));
105 if (port == nullptr) {
108 if (port->busNum == busNum && port->devAddr == devAddr) {
117 return port;
232 int32_t UsbImpl::ReOpenDevice(HostDevice *port)
234 if (port == nullptr) {
235 HDF_LOGE("%{public}s:invalid param port", __func__);
239 uint8_t busNum = port->busNum;
240 uint8_t devAddr = port->devAddr;
241 UsbdDispatcher::UsbdRelease(port);
242 port->busNum = busNum;
243 port->devAddr = devAddr;
244 OsalMutexInit(&port->writeLock);
245 OsalMutexInit(&port->readLock);
246 OsalMutexInit(&port->lock);
247 OsalMutexInit(&port->requestLock);
248 OsalMutexInit(&port->reqSyncLock);
249 OsalMutexInit(&port->reqASyncLock);
250 HdfSListInit(&port->requestQueue);
251 HdfSListInit(&port->reqSyncList);
252 HdfSListInit(&port->reqASyncList);
253 int32_t ret = UsbdDispatcher::UsbdInit(port);
256 UsbdDispatcher::UsbdRelease(port);
257 UsbdDispatcher::RemoveDevFromService(port->service, port);
258 OsalMemFree(port);
262 DataFifoReset(&port->readFifo);
263 port->initFlag = true;
282 int32_t UsbImpl::UsbdRequestSyncReleaseList(HostDevice *port)
284 if (port == nullptr) {
285 HDF_LOGE("%{public}s:invalid param port is nullptr", __func__);
290 OsalMutexLock(&port->reqSyncLock);
291 HdfSListIteratorInit(&it, &port->reqSyncList);
303 OsalMutexUnlock(&port->reqSyncLock);
308 int32_t UsbImpl::UsbdRequestASyncReleaseList(HostDevice *port)
310 if (port == nullptr) {
311 HDF_LOGE("%{public}s:invalid param port", __func__);
316 OsalMutexLock(&port->reqASyncLock);
317 HdfSListIteratorInit(&it, &port->reqASyncList);
329 OsalMutexUnlock(&port->reqASyncLock);
334 int32_t UsbImpl::UsbdBulkASyncListReleasePort(HostDevice *port)
336 if (port == nullptr || port->bulkASyncList == nullptr) {
337 HDF_LOGE("%{public}s: port or port->bulkASyncList is nullptr", __func__);
342 while (port->bulkASyncList) {
343 list = port->bulkASyncList;
344 port->bulkASyncList = list->next;
352 HostDevice *port, uint8_t interfaceId, uint8_t pipeAddr, UsbdRequestSync **request)
354 if (port == nullptr || request == nullptr) {
360 UsbdRequestSync *requestSync = UsbdDispatcher::UsbdFindRequestSync(port, interfaceId, pipeAddr);
372 int32_t ret = UsbdDispatcher::GetPipe(port, interfaceId, pipeAddr, &pipe);
378 UsbInterfaceHandle *ifHandle = InterfaceIdToHandle(port, interfaceId);
390 ret = UsbdDispatcher::UsbdRequestSyncInit(port, ifHandle, &pipe, requestSync);
404 int32_t UsbImpl::UsbdFindRequestSyncAndCreatwithLength(HostDevice *port, uint8_t interfaceId,
407 if (port == nullptr || request == nullptr) {
413 UsbdRequestSync *requestSync = UsbdDispatcher::UsbdFindRequestSync(port, interfaceId, pipeAddr);
420 UsbdRequestSyncReleaseList(port);
432 int32_t ret = UsbdDispatcher::GetPipe(port, interfaceId, pipeAddr, &pipe);
438 UsbInterfaceHandle *ifHandle = InterfaceIdToHandle(port, interfaceId);
450 ret = UsbdDispatcher::UsbdRequestSyncInitwithLength(port, ifHandle, &pipe, length, requestSync);
504 HostDevice *port, UsbdRequestSync *requestSync, const uint8_t *buffer, uint32_t length, int32_t timeout)
506 if (port == nullptr || requestSync == nullptr || buffer == nullptr || length < 1) {
516 requestSync->params.userData = port;
541 UsbdRequestASync *UsbImpl::UsbdFindRequestASync(HostDevice *port, uint8_t interfaceId, uint8_t pipeAddr)
543 if (port == nullptr) {
544 HDF_LOGE("%{public}s:invalid param port", __func__);
553 OsalMutexLock(&port->reqASyncLock);
554 HdfSListIteratorInit(&it, &port->reqASyncList);
570 OsalMutexUnlock(&port->reqASyncLock);
581 req = UsbdDispatcher::UsbdRequestASyncCreatAndInsert(port, interfaceId, pipeAddr);
594 HostDevice *port, UsbdRequestASync *reqAsync, const uint8_t *buffer, uint32_t length)
596 if (port == nullptr || reqAsync == nullptr) {
597 HDF_LOGE("%{public}s:invalid param port or reqAsync", __func__);
619 OsalMutexLock(&port->requestLock);
620 HdfSListAddTail(&port->requestQueue, &reqAsync->qNode);
621 OsalMutexUnlock(&port->requestLock);
635 int32_t UsbImpl::GetRequestMsgFromQueue(HostDevice *port, UsbdRequestASync **reqMsg)
637 if (port == nullptr || reqMsg == nullptr) {
638 HDF_LOGE("%{public}s: port or reqMsg is nullptr", __func__);
643 OsalMutexLock(&port->requestLock);
644 if (!HdfSListIsEmpty(&port->requestQueue)) {
645 requestNode = HdfSListPop(&port->requestQueue);
647 OsalMutexUnlock(&port->requestLock);
661 HostDevice *port, UsbdRequestASync *reqMsg, int32_t timeout, uint8_t **buffer, uint32_t *length)
663 if (port == nullptr || reqMsg == nullptr || reqMsg->reqMsg.request == nullptr) {
674 OsalMutexLock(&port->requestLock);
675 HdfSListAdd(&port->requestQueue, &reqMsg->qNode);
676 OsalMutexUnlock(&port->requestLock);
714 UsbdBulkASyncList *UsbImpl::UsbdBulkASyncListFind(HostDevice *port, uint8_t ifId, uint8_t epId)
716 if (port == nullptr) {
717 HDF_LOGE("%{public}s:invalid param port", __func__);
721 UsbdBulkASyncList *list = port->bulkASyncList;
731 UsbdBulkASyncList *UsbImpl::UsbdBulkASyncListInit(HostDevice *port, uint8_t ifId, uint8_t epId)
733 UsbdBulkASyncList *list = UsbdBulkASyncListFind(port, ifId, epId);
735 list = UsbdDispatcher::UsbdBulkASyncListAlloc(port, ifId, epId);
737 list->next = port->bulkASyncList;
738 port->bulkASyncList = list;
1063 HostDevice *port = reinterpret_cast<HostDevice *>(HdfSListPop(&devList_));
1064 if (port != nullptr) {
1065 UsbdDispatcher::UsbdRelease(port);
1066 OsalMemFree(port);
1075 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1076 if (port == nullptr) {
1085 port->initFlag = true;
1086 if (port->ctrDevHandle == nullptr && port->ctrIface != nullptr) {
1089 port->ctrDevHandle = UsbOpenInterface(port->ctrIface);
1090 if (port->ctrDevHandle == nullptr) {
1100 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1101 if (port == nullptr) {
1105 if (!port->initFlag) {
1111 if (port->ctrDevHandle != nullptr && g_usbOpenCount == 0) {
1112 RawUsbCloseCtlProcess(port->ctrDevHandle);
1113 ret = UsbCloseInterface(port->ctrDevHandle, true);
1118 port->ctrDevHandle = nullptr;
1119 port->initFlag = false;
1126 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1127 if (port == nullptr) {
1131 if (port->ctrDevHandle == nullptr && port->ctrIface != nullptr) {
1134 port->ctrDevHandle = UsbResetDevice(port->ctrIface);
1135 if (port->ctrDevHandle == nullptr) {
1145 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1146 if (port == nullptr) {
1155 int32_t ret = UsbControlTransferEx(port, &controlParams, USB_CTRL_SET_TIMEOUT);
1167 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1168 if (port == nullptr) {
1179 int32_t ret = UsbControlTransferEx(port, &controlParams, GET_STRING_SET_TIMEOUT);
1192 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1193 if (port == nullptr) {
1203 int32_t ret = UsbControlTransferEx(port, &controlParams, USB_CTRL_SET_TIMEOUT);
1216 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1217 if (port == nullptr || port->ctrDevHandle == nullptr) {
1222 UsbInterfaceHandleEntity *handle = reinterpret_cast<UsbInterfaceHandleEntity *>(port->ctrDevHandle);
1234 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1235 if (port == nullptr || port->ctrDevHandle == nullptr) {
1240 UsbInterfaceHandleEntity *handle = reinterpret_cast<UsbInterfaceHandleEntity *>(port->ctrDevHandle);
1249 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1250 if (port == nullptr || port->ctrDevHandle == nullptr) {
1255 UsbInterfaceHandleEntity *handle = reinterpret_cast<UsbInterfaceHandleEntity *>(port->ctrDevHandle);
1264 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1265 if (port == nullptr) {
1269 if (!port->initFlag) {
1279 int32_t ret = UsbControlTransferEx(port, &controlParams, USB_CTRL_SET_TIMEOUT);
1292 ret = UsbControlTransferEx(port, &controlParams, USB_CTRL_SET_TIMEOUT);
1300 ret = UsbControlTransferEx(port, &controlParams, USB_CTRL_SET_TIMEOUT);
1308 ret = ReOpenDevice(port);
1319 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1320 if (port == nullptr) {
1328 int32_t ret = UsbControlTransferEx(port, &controlParams, USB_CTRL_SET_TIMEOUT);
1338 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1339 if (port == nullptr) {
1343 if (!port->initFlag) {
1352 if (port->iface[interfaceId] == nullptr) {
1354 port->iface[interfaceId] =
1355 UsbClaimInterface(port->service->session_, port->busNum, port->devAddr, interfaceId);
1357 port->iface[interfaceId] =
1358 UsbClaimInterfaceUnforce(port->service->session_, port->busNum, port->devAddr, interfaceId);
1360 if (port->iface[interfaceId] == nullptr) {
1362 port->busNum, port->devAddr);
1366 if (port->devHandle[interfaceId] == nullptr) {
1367 port->devHandle[interfaceId] = UsbOpenInterface(port->iface[interfaceId]);
1368 if (port->devHandle[interfaceId] == nullptr) {
1378 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1379 if (port == nullptr) {
1388 port->iface[interfaceId] =
1389 UsbManageInterface(port->service->session_, port->busNum, port->devAddr, interfaceId, disable);
1390 if (port->iface[interfaceId] == nullptr) {
1392 port->busNum, port->devAddr);
1400 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1401 if (port == nullptr) {
1405 if (!port->initFlag) {
1411 if (port->devHandle[interfaceId] == nullptr || port->iface[interfaceId] == nullptr) {
1415 if (HdfSListCount(&port->reqSyncList) > 0) {
1416 UsbdRequestSyncReleaseList(port);
1419 if (HdfSListCount(&port->reqASyncList) > 0) {
1420 UsbdRequestASyncReleaseList(port);
1423 int32_t ret = UsbdBulkASyncListReleasePort(port);
1427 UsbCloseInterface(port->devHandle[interfaceId], false);
1428 port->devHandle[interfaceId] = nullptr;
1429 UsbReleaseInterface(port->iface[interfaceId]);
1430 port->iface[interfaceId] = nullptr;
1434 port->busNum, port->devAddr, interfaceId);
1443 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1444 if (port == nullptr) {
1448 if (!port->initFlag) {
1453 UsbInterfaceHandle *interfaceHandle = InterfaceIdToHandle(port, interfaceId);
1456 port->busNum, port->devAddr, interfaceId);
1460 int32_t ret = UsbSelectInterfaceSetting(interfaceHandle, altIndex, &port->iface[interfaceId]);
1462 UsbdRequestSyncReleaseList(port);
1463 UsbdRequestASyncReleaseList(port);
1464 UsbdBulkASyncListReleasePort(port);
1471 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1472 if (port == nullptr) {
1481 int32_t ret = UsbdFindRequestSyncAndCreat(port, pipe.intfId, pipe.endpointId, &requestSync);
1510 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1511 if (port == nullptr) {
1525 int32_t ret = UsbdFindRequestSyncAndCreatwithLength(port, pipe.intfId, pipe.endpointId, length, &requestSync);
1556 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1557 if (port == nullptr) {
1563 int32_t ret = UsbdFindRequestSyncAndCreat(port, pipe.intfId, pipe.endpointId, &requestSync);
1573 ret = UsbdBulkWriteSyncBase(port, requestSync, data.data(), data.size(), timeout);
1584 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1585 if (port == nullptr || port->ctrDevHandle == nullptr) {
1608 int32_t ret = UsbControlTransferEx(port, &controlParams, ctrl.timeout);
1626 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1627 if (port == nullptr || port->ctrDevHandle == nullptr) {
1646 int32_t ret = UsbControlTransferEx(port, &controlParams, ctrl.timeout);
1661 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1662 if (port == nullptr || port->ctrDevHandle == nullptr) {
1686 int32_t ret = UsbControlTransferEx(port, &controlParams, ctrlParams.timeout);
1700 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1701 if (port == nullptr) {
1710 int32_t ret = UsbdFindRequestSyncAndCreat(port, pipe.intfId, pipe.endpointId, &requestSync);
1734 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1735 if (port == nullptr) {
1741 int32_t ret = UsbdFindRequestSyncAndCreat(port, pipe.intfId, pipe.endpointId, &requestSync);
1750 ret = UsbdBulkWriteSyncBase(port, requestSync, data.data(), data.size(), timeout);
1756 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1757 if (port == nullptr) {
1766 int32_t ret = UsbdFindRequestSyncAndCreat(port, pipe.intfId, pipe.endpointId, &requestSync);
1792 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1793 if (port == nullptr) {
1799 int32_t ret = UsbdFindRequestSyncAndCreat(port, pipe.intfId, pipe.endpointId, &requestSync);
1810 ret = UsbdBulkWriteSyncBase(port, requestSync, data.data(), data.size(), timeout);
1817 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1818 if (port == nullptr) {
1823 UsbdRequestASync *reqAsync = UsbdFindRequestASync(port, pipe.intfId, pipe.endpointId);
1847 ret = FunRequestQueueFillAndSubmit(port, reqAsync, bufferAddr, sizeof(uint8_t) * buffer.size());
1862 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1863 if (port == nullptr) {
1869 int32_t ret = GetRequestMsgFromQueue(port, &reqMsg);
1880 OsalMutexLock(&port->requestLock);
1881 HdfSListAdd(&port->requestQueue, &reqMsg->qNode);
1882 OsalMutexUnlock(&port->requestLock);
1889 ret = GetRequestMsgData(port, reqMsg, timeout, &buf, &length);
1905 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
1906 if (port == nullptr) {
1912 while (GetRequestMsgFromQueue(port, &reqMsg) == HDF_SUCCESS) {
2097 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
2098 if (port == nullptr) {
2103 UsbdBulkASyncList *list = UsbdBulkASyncListInit(port, pipe.intfId, pipe.endpointId);
2119 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
2120 if (port == nullptr) {
2125 UsbdBulkASyncList *list = UsbdBulkASyncListFind(port, pipe.intfId, pipe.endpointId);
2136 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
2137 if (port == nullptr) {
2142 UsbdBulkASyncList *list = UsbdBulkASyncListInit(port, pipe.intfId, pipe.endpointId);
2169 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
2170 if (port == nullptr) {
2175 UsbdBulkASyncList *list = UsbdBulkASyncListInit(port, pipe.intfId, pipe.endpointId);
2202 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
2203 if (port == nullptr) {
2208 UsbdBulkASyncList *list = UsbdBulkASyncListFind(port, pipe.intfId, pipe.endpointId);
2224 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
2225 if (port == nullptr) {
2233 int32_t ret = UsbClearInterfaceHalt(port->devHandle[pipe.intfId], pipe.endpointId);
2242 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
2243 if (port == nullptr) {
2252 unactivated = UsbGetInterfaceActiveStatus(port->service->session_, port->busNum, port->devAddr, interfaceId);
2258 HostDevice *port = FindDevFromService(dev.busNum, dev.devAddr);
2259 if (port == nullptr) {
2263 UsbInterfaceHandleEntity *handle = reinterpret_cast<UsbInterfaceHandleEntity *>(port->ctrDevHandle);