Lines Matching refs:pAdapter
112 static void hpt_intr_locked(IAL_ADAPTER_T *pAdapter);
113 static void hptmv_free_edma_queues(IAL_ADAPTER_T *pAdapter);
114 static void hptmv_free_channel(IAL_ADAPTER_T *pAdapter, MV_U8 channelNum);
116 static int hptmv_init_channel(IAL_ADAPTER_T *pAdapter, MV_U8 channelNum);
118 static void fRegisterVdevice(IAL_ADAPTER_T *pAdapter);
119 static int hptmv_allocate_edma_queues(IAL_ADAPTER_T *pAdapter);
122 static int start_channel(IAL_ADAPTER_T *pAdapter, MV_U8 channelNum);
123 static void init_vdev_params(IAL_ADAPTER_T *pAdapter, MV_U8 channel);
144 IAL_ADAPTER_T *pAdapter; member
171 hptmv_free_channel(IAL_ADAPTER_T *pAdapter, MV_U8 channelNum) in hptmv_free_channel() argument
174 pAdapter->mvSataAdapter.sataChannel[channelNum] = NULL; in hptmv_free_channel()
180 IAL_ADAPTER_T *pAdapter = (IAL_ADAPTER_T *)_vbus_p->OsExt; in failDevice() local
190 if (pAdapter->ver_601==2 && !pAdapter->beeping) { in failDevice()
191 pAdapter->beeping = 1; in failDevice()
192 BeepOn(pAdapter->mvSataAdapter.adapterIoBaseAddress); in failDevice()
193 set_fail_led(&pAdapter->mvSataAdapter, pVDev->u.disk.mv->channelNumber, 1); in failDevice()
244 hptmv_init_channel(IAL_ADAPTER_T *pAdapter, MV_U8 channelNum) in hptmv_init_channel() argument
253 pAdapter->mvSataAdapter.adapterId, channelNum); in hptmv_init_channel()
257 pMvSataChannel = &gMvSataChannels[pAdapter->mvSataAdapter.adapterId][channelNum]; in hptmv_init_channel()
258 pAdapter->mvSataAdapter.sataChannel[channelNum] = pMvSataChannel; in hptmv_init_channel()
264 (pAdapter->requestsArrayBaseAlignedAddr + (channelNum * MV_EDMA_REQUEST_QUEUE_SIZE)); in hptmv_init_channel()
265 …req_dma_addr = pAdapter->requestsArrayBaseDmaAlignedAddr + (channelNum * MV_EDMA_REQUEST_QUEUE_SIZ… in hptmv_init_channel()
274 " dma_addr=%llx channel=%d\n", pAdapter->mvSataAdapter.adapterId, in hptmv_init_channel()
281 pAdapter->mvSataAdapter.adapterId, channelNum, in hptmv_init_channel()
284 (pAdapter->responsesArrayBaseAlignedAddr + (channelNum * MV_EDMA_RESPONSE_QUEUE_SIZE)); in hptmv_init_channel()
285 …rsp_dma_addr = pAdapter->responsesArrayBaseDmaAlignedAddr + (channelNum * MV_EDMA_RESPONSE_QUEUE_S… in hptmv_init_channel()
292 pAdapter->mvSataAdapter.adapterId, channelNum, (HPT_U64)(ULONG_PTR)rsp_dma_addr); in hptmv_init_channel()
298 pAdapter->mvSataAdapter.adapterId, channelNum, in hptmv_init_channel()
301 pAdapter->mvChannel[channelNum].online = MV_TRUE; in hptmv_init_channel()
373 init_vdev_params(IAL_ADAPTER_T *pAdapter, MV_U8 channel) in init_vdev_params() argument
375 PVDevice pVDev = &pAdapter->VDevices[channel]; in init_vdev_params()
376 MV_SATA_CHANNEL *pMvSataChannel = pAdapter->mvSataAdapter.sataChannel[channel]; in init_vdev_params()
383 pVDev->u.disk.pVBus = &pAdapter->VBus; in init_vdev_params()
384 pVDev->pVBus = &pAdapter->VBus; in init_vdev_params()
401 pAdapter->mvChannel[channel].maxPioModeSupported - MV_ATA_TRANSFER_PIO_0; in init_vdev_params()
403 if (pAdapter->mvChannel[channel].maxUltraDmaModeSupported!=0xFF) { in init_vdev_params()
405 pAdapter->mvChannel[channel].maxUltraDmaModeSupported - MV_ATA_TRANSFER_UDMA_0 + 8; in init_vdev_params()
409 static void device_change(IAL_ADAPTER_T *pAdapter , MV_U8 channelIndex, int plugged) in device_change() argument
412 MV_SATA_ADAPTER *pMvSataAdapter = &pAdapter->mvSataAdapter; in device_change()
419 pVDev = &(pAdapter->VDevices[channelIndex]); in device_change()
420 init_vdev_params(pAdapter, channelIndex); in device_change()
445 if (pAdapter->beeping) { in device_change()
446 pAdapter->beeping = 0; in device_change()
447 BeepOff(pAdapter->mvSataAdapter.adapterIoBaseAddress); in device_change()
454 pVDev = &(pAdapter->VDevices[channelIndex]); in device_change()
460 start_channel(IAL_ADAPTER_T *pAdapter, MV_U8 channelNum) in start_channel() argument
462 MV_SATA_ADAPTER *pMvSataAdapter = &pAdapter->mvSataAdapter; in start_channel()
464 MV_CHANNEL *pChannelInfo = &(pAdapter->mvChannel[channelNum]); in start_channel()
594 pAdapter->mvChannel[channelNum].maxPioModeSupported = pioMode; in start_channel()
746 IAL_ADAPTER_T *pAdapter = (IAL_ADAPTER_T *)data; in hptmv_handle_event() local
747 MV_SATA_ADAPTER *pMvSataAdapter = &pAdapter->mvSataAdapter; in hptmv_handle_event()
750 mtx_assert(&pAdapter->lock, MA_OWNED); in hptmv_handle_event()
754 switch(pAdapter->sataEvents[channelIndex]) in hptmv_handle_event()
762 hptmv_init_channel(pAdapter, channelIndex); in hptmv_handle_event()
767 hptmv_free_channel(pAdapter, channelIndex); in hptmv_handle_event()
772 if (start_channel( pAdapter, channelIndex)) in hptmv_handle_event()
776 hptmv_free_channel(pAdapter, channelIndex); in hptmv_handle_event()
780 device_change(pAdapter, channelIndex, TRUE); in hptmv_handle_event()
783 pAdapter->sataEvents[channelIndex] = SATA_EVENT_NO_CHANGE; in hptmv_handle_event()
795 _VBUS_INST(&pAdapter->VBus) in hptmv_handle_event()
800 hptmv_free_channel(pAdapter, channelIndex); in hptmv_handle_event()
804 if (pAdapter->outstandingCommands==0 && DPC_Request_Nums==0) in hptmv_handle_event()
805 Check_Idle_Call(pAdapter); in hptmv_handle_event()
812 pAdapter->sataEvents[channelIndex] = SATA_EVENT_NO_CHANGE; in hptmv_handle_event()
844 IAL_ADAPTER_T *pAdapter = pMvSataAdapter->IALData; in hptmv_event_notify() local
854 pAdapter->sataEvents[channel] = SATA_EVENT_CHANNEL_CONNECTED; in hptmv_event_notify()
858 callout_reset(&pAdapter->event_timer_connect, 10 * hz, hptmv_handle_event_connect, pAdapter); in hptmv_event_notify()
862 pAdapter->sataEvents[channel] = SATA_EVENT_CHANNEL_DISCONNECTED; in hptmv_event_notify()
865 device_change(pAdapter, channel, FALSE); in hptmv_event_notify()
869 hptmv_handle_event_disconnect(pAdapter); in hptmv_event_notify()
894 hptmv_allocate_edma_queues(IAL_ADAPTER_T *pAdapter) in hptmv_allocate_edma_queues() argument
896 pAdapter->requestsArrayBaseAddr = (MV_U8 *)contigmalloc(REQUESTS_ARRAY_SIZE, in hptmv_allocate_edma_queues()
898 if (pAdapter->requestsArrayBaseAddr == NULL) in hptmv_allocate_edma_queues()
901 " queues\n", pAdapter->mvSataAdapter.adapterId); in hptmv_allocate_edma_queues()
904 pAdapter->requestsArrayBaseDmaAddr = fOsPhysicalAddress(pAdapter->requestsArrayBaseAddr); in hptmv_allocate_edma_queues()
905 pAdapter->requestsArrayBaseAlignedAddr = pAdapter->requestsArrayBaseAddr; in hptmv_allocate_edma_queues()
906 pAdapter->requestsArrayBaseAlignedAddr += MV_EDMA_REQUEST_QUEUE_SIZE; in hptmv_allocate_edma_queues()
907 pAdapter->requestsArrayBaseAlignedAddr = (MV_U8 *) in hptmv_allocate_edma_queues()
908 …(((ULONG_PTR)pAdapter->requestsArrayBaseAlignedAddr) & ~(ULONG_PTR)(MV_EDMA_REQUEST_QUEUE_SIZE - 1… in hptmv_allocate_edma_queues()
909 pAdapter->requestsArrayBaseDmaAlignedAddr = pAdapter->requestsArrayBaseDmaAddr; in hptmv_allocate_edma_queues()
910 pAdapter->requestsArrayBaseDmaAlignedAddr += MV_EDMA_REQUEST_QUEUE_SIZE; in hptmv_allocate_edma_queues()
911 pAdapter->requestsArrayBaseDmaAlignedAddr &= ~(ULONG_PTR)(MV_EDMA_REQUEST_QUEUE_SIZE - 1); in hptmv_allocate_edma_queues()
913 if ((pAdapter->requestsArrayBaseDmaAlignedAddr - pAdapter->requestsArrayBaseDmaAddr) != in hptmv_allocate_edma_queues()
914 (pAdapter->requestsArrayBaseAlignedAddr - pAdapter->requestsArrayBaseAddr)) in hptmv_allocate_edma_queues()
917 pAdapter->mvSataAdapter.adapterId); in hptmv_allocate_edma_queues()
918 contigfree(pAdapter->requestsArrayBaseAddr, REQUESTS_ARRAY_SIZE, M_DEVBUF); in hptmv_allocate_edma_queues()
922 pAdapter->responsesArrayBaseAddr = (MV_U8 *)contigmalloc(RESPONSES_ARRAY_SIZE, in hptmv_allocate_edma_queues()
924 if (pAdapter->responsesArrayBaseAddr == NULL) in hptmv_allocate_edma_queues()
927 " queues\n", pAdapter->mvSataAdapter.adapterId); in hptmv_allocate_edma_queues()
928 contigfree(pAdapter->requestsArrayBaseAddr, RESPONSES_ARRAY_SIZE, M_DEVBUF); in hptmv_allocate_edma_queues()
931 pAdapter->responsesArrayBaseDmaAddr = fOsPhysicalAddress(pAdapter->responsesArrayBaseAddr); in hptmv_allocate_edma_queues()
932 pAdapter->responsesArrayBaseAlignedAddr = pAdapter->responsesArrayBaseAddr; in hptmv_allocate_edma_queues()
933 pAdapter->responsesArrayBaseAlignedAddr += MV_EDMA_RESPONSE_QUEUE_SIZE; in hptmv_allocate_edma_queues()
934 pAdapter->responsesArrayBaseAlignedAddr = (MV_U8 *) in hptmv_allocate_edma_queues()
935 …(((ULONG_PTR)pAdapter->responsesArrayBaseAlignedAddr) & ~(ULONG_PTR)(MV_EDMA_RESPONSE_QUEUE_SIZE -… in hptmv_allocate_edma_queues()
936 pAdapter->responsesArrayBaseDmaAlignedAddr = pAdapter->responsesArrayBaseDmaAddr; in hptmv_allocate_edma_queues()
937 pAdapter->responsesArrayBaseDmaAlignedAddr += MV_EDMA_RESPONSE_QUEUE_SIZE; in hptmv_allocate_edma_queues()
938 pAdapter->responsesArrayBaseDmaAlignedAddr &= ~(ULONG_PTR)(MV_EDMA_RESPONSE_QUEUE_SIZE - 1); in hptmv_allocate_edma_queues()
940 if ((pAdapter->responsesArrayBaseDmaAlignedAddr - pAdapter->responsesArrayBaseDmaAddr) != in hptmv_allocate_edma_queues()
941 (pAdapter->responsesArrayBaseAlignedAddr - pAdapter->responsesArrayBaseAddr)) in hptmv_allocate_edma_queues()
944 pAdapter->mvSataAdapter.adapterId); in hptmv_allocate_edma_queues()
945 contigfree(pAdapter->requestsArrayBaseAddr, REQUESTS_ARRAY_SIZE, M_DEVBUF); in hptmv_allocate_edma_queues()
946 contigfree(pAdapter->responsesArrayBaseAddr, RESPONSES_ARRAY_SIZE, M_DEVBUF); in hptmv_allocate_edma_queues()
953 hptmv_free_edma_queues(IAL_ADAPTER_T *pAdapter) in hptmv_free_edma_queues() argument
955 contigfree(pAdapter->requestsArrayBaseAddr, REQUESTS_ARRAY_SIZE, M_DEVBUF); in hptmv_free_edma_queues()
956 contigfree(pAdapter->responsesArrayBaseAddr, RESPONSES_ARRAY_SIZE, M_DEVBUF); in hptmv_free_edma_queues()
960 AllocatePRDTable(IAL_ADAPTER_T *pAdapter) in AllocatePRDTable() argument
963 if (pAdapter->pFreePRDLink) { in AllocatePRDTable()
964 KdPrint(("pAdapter->pFreePRDLink:%p\n",pAdapter->pFreePRDLink)); in AllocatePRDTable()
965 ret = pAdapter->pFreePRDLink; in AllocatePRDTable()
966 pAdapter->pFreePRDLink = *(void**)ret; in AllocatePRDTable()
973 FreePRDTable(IAL_ADAPTER_T *pAdapter, PVOID PRDTable) in FreePRDTable() argument
975 *(void**)PRDTable = pAdapter->pFreePRDLink; in FreePRDTable()
976 pAdapter->pFreePRDLink = PRDTable; in FreePRDTable()
982 fRegisterVdevice(IAL_ADAPTER_T *pAdapter) in fRegisterVdevice() argument
989 pPhysical = &(pAdapter->VDevices[i]); in fRegisterVdevice()
999 pVBus = &pAdapter->VBus; in fRegisterVdevice()
1025 IAL_ADAPTER_T *pAdapter = (IAL_ADAPTER_T *)pArray->pVBus->OsExt; in GetSpareDisk() local
1033 pVDevice = &pAdapter->VDevices[i]; in GetSpareDisk()
1097 IAL_ADAPTER_T *pAdapter = pSataAdapter->IALData; in fDeSetTCQ() local
1098 MV_CHANNEL *channelInfo = &(pAdapter->mvChannel[channelIndex]); in fDeSetTCQ()
1140 IAL_ADAPTER_T *pAdapter = pSataAdapter->IALData; in fDeSetWriteCache() local
1141 MV_CHANNEL *channelInfo = &(pAdapter->mvChannel[channelIndex]); in fDeSetWriteCache()
1179 IAL_ADAPTER_T *pAdapter = pSataAdapter->IALData; in fDeSetReadAhead() local
1180 MV_CHANNEL *channelInfo = &(pAdapter->mvChannel[channelIndex]); in fDeSetReadAhead()
1231 dmamap_get(struct IALAdapter * pAdapter) in dmamap_get() argument
1233 PBUS_DMAMAP p = pAdapter->pbus_dmamap_list; in dmamap_get()
1235 pAdapter->pbus_dmamap_list = p-> next; in dmamap_get()
1242 p->next = p->pAdapter->pbus_dmamap_list; in dmamap_put()
1243 p->pAdapter->pbus_dmamap_list = p; in dmamap_put()
1248 init_adapter(IAL_ADAPTER_T *pAdapter) in init_adapter() argument
1250 PVBus _vbus_p = &pAdapter->VBus; in init_adapter()
1256 mtx_init(&pAdapter->lock, "hptsleeplock", NULL, MTX_DEF); in init_adapter()
1257 callout_init_mtx(&pAdapter->event_timer_connect, &pAdapter->lock, 0); in init_adapter()
1258 callout_init_mtx(&pAdapter->event_timer_disconnect, &pAdapter->lock, 0); in init_adapter()
1261 pAdapter->next = 0; in init_adapter()
1264 gIal_Adapter = pAdapter; in init_adapter()
1268 pCurAdapter->next = pAdapter; in init_adapter()
1269 pCurAdapter = pAdapter; in init_adapter()
1273 pAdapter->outstandingCommands = 0; in init_adapter()
1275 pMvSataAdapter = &(pAdapter->mvSataAdapter); in init_adapter()
1276 _vbus_p->OsExt = (void *)pAdapter; in init_adapter()
1277 pMvSataAdapter->IALData = pAdapter; in init_adapter()
1279 if (bus_dma_tag_create(bus_get_dma_tag(pAdapter->hpt_dev),/* parent */ in init_adapter()
1290 &pAdapter->lock, /* lockfuncarg */ in init_adapter()
1291 &pAdapter->io_dma_parent /* tag */)) in init_adapter()
1297 if (hptmv_allocate_edma_queues(pAdapter)) in init_adapter()
1305 if (!(pAdapter->mem_res = bus_alloc_resource_any(pAdapter->hpt_dev, in init_adapter()
1308 !(pMvSataAdapter->adapterIoBaseAddress = rman_get_virtual(pAdapter->mem_res))) in init_adapter()
1311 hptmv_free_edma_queues(pAdapter); in init_adapter()
1321 pMvSataAdapter->pciConfigRevisionId = pci_read_config(pAdapter->hpt_dev, PCIR_REVID, 1); in init_adapter()
1322 pMvSataAdapter->pciConfigDeviceId = pci_get_device(pAdapter->hpt_dev); in init_adapter()
1339 bus_release_resource(pAdapter->hpt_dev, SYS_RES_MEMORY, rid, pAdapter->mem_res); in init_adapter()
1340 hptmv_free_edma_queues(pAdapter); in init_adapter()
1343 pAdapter->ver_601 = pMvSataAdapter->pcbVersion; in init_adapter()
1352 pAdapter->pCommandBlocks = in init_adapter()
1354 KdPrint(("pCommandBlocks:%p\n",pAdapter->pCommandBlocks)); in init_adapter()
1355 if (!pAdapter->pCommandBlocks) { in init_adapter()
1361 FreeCommand(_VBUS_P &(pAdapter->pCommandBlocks[i])); in init_adapter()
1365 …pAdapter->pbus_dmamap = (PBUS_DMAMAP)malloc (sizeof(struct _BUS_DMAMAP) * MAX_QUEUE_COMM, M_DEVBUF… in init_adapter()
1366 if(!pAdapter->pbus_dmamap) { in init_adapter()
1368 free(pAdapter->pCommandBlocks, M_DEVBUF); in init_adapter()
1372 memset((void *)pAdapter->pbus_dmamap, 0, sizeof(struct _BUS_DMAMAP) * MAX_QUEUE_COMM); in init_adapter()
1373 pAdapter->pbus_dmamap_list = 0; in init_adapter()
1375 PBUS_DMAMAP pmap = &(pAdapter->pbus_dmamap[i]); in init_adapter()
1376 pmap->pAdapter = pAdapter; in init_adapter()
1379 if(bus_dmamap_create(pAdapter->io_dma_parent, 0, &pmap->dma_map)) { in init_adapter()
1381 free(pAdapter->pCommandBlocks, M_DEVBUF); in init_adapter()
1382 free(pAdapter->pbus_dmamap, M_DEVBUF); in init_adapter()
1385 callout_init_mtx(&pmap->timeout, &pAdapter->lock, 0); in init_adapter()
1389 pAdapter->pFreePRDLink = 0; in init_adapter()
1391 pAdapter->prdTableAddr = (PUCHAR)contigmalloc( in init_adapter()
1394 KdPrint(("prdTableAddr:%p\n",pAdapter->prdTableAddr)); in init_adapter()
1395 if (!pAdapter->prdTableAddr) { in init_adapter()
1399 …pAdapter->prdTableAlignedAddr = (PUCHAR)(((ULONG_PTR)pAdapter->prdTableAddr + 0x1f) & ~(ULONG_PTR)… in init_adapter()
1401 PUCHAR PRDTable = pAdapter->prdTableAlignedAddr; in init_adapter()
1405 FreePRDTable(pAdapter, PRDTable); in init_adapter()
1415 pAdapter->mvChannel[channel].online = MV_FALSE; in init_adapter()
1422 if (hptmv_init_channel(pAdapter, channel) == 0) in init_adapter()
1428 hptmv_free_channel(pAdapter, channel); in init_adapter()
1432 if (start_channel(pAdapter, channel)) in init_adapter()
1437 hptmv_free_channel(pAdapter, channel); in init_adapter()
1439 pAdapter->mvChannel[channel].online = MV_TRUE; in init_adapter()
1447 pAdapter->mvChannel[channel].online, channel)); in init_adapter()
1461 init_vdev_params(pAdapter, channel); in init_adapter()
1462 IdeRegisterVDevice(&pAdapter->VDevices[channel].u.disk); in init_adapter()
1469 fRegisterVdevice(pAdapter); in init_adapter()
1490 IAL_ADAPTER_T *pAdapter = (IAL_ADAPTER_T *)pMvSataAdapter->IALData; in MvSataResetChannel() local
1501 hptmv_free_channel(pAdapter, channel); in MvSataResetChannel()
1510 hptmv_free_channel(pAdapter, channel); in MvSataResetChannel()
1518 hptmv_free_channel(pAdapter, channel); in MvSataResetChannel()
1546 pAdapter->mvChannel[channel].maxPioModeSupported, 0, 0, 0) == MV_FALSE) || in MvSataResetChannel()
1549 pAdapter->mvChannel[channel].maxUltraDmaModeSupported, 0, 0, 0) == MV_FALSE) ) in MvSataResetChannel()
1552 hptmv_free_channel(pAdapter, channel); in MvSataResetChannel()
1559 hptmv_free_channel(pAdapter, channel); in MvSataResetChannel()
1976 IAL_ADAPTER_T * pAdapter = device_get_softc(dev); in hpt_attach() local
1984 pAdapter->hpt_dev = dev; in hpt_attach()
1986 rid = init_adapter(pAdapter); in hpt_attach()
1991 …if ((pAdapter->hpt_irq = bus_alloc_resource_any(pAdapter->hpt_dev, SYS_RES_IRQ, &rid, RF_SHAREABLE… in hpt_attach()
1997 if (bus_setup_intr(pAdapter->hpt_dev, pAdapter->hpt_irq, in hpt_attach()
1999 NULL, hpt_intr, pAdapter, &pAdapter->hpt_intr)) in hpt_attach()
2002 free(pAdapter, M_DEVBUF); in hpt_attach()
2024 pAdapter, device_get_unit(pAdapter->hpt_dev), in hpt_attach()
2025 &pAdapter->lock, 1, 8, devq); in hpt_attach()
2031 mtx_lock(&pAdapter->lock); in hpt_attach()
2035 mtx_unlock(&pAdapter->lock); in hpt_attach()
2040 if(xpt_create_path(&pAdapter->path, /*periph */ NULL, in hpt_attach()
2046 mtx_unlock(&pAdapter->lock); in hpt_attach()
2050 mtx_unlock(&pAdapter->lock); in hpt_attach()
2052 xpt_setup_ccb(&(ccb->ccb_h), pAdapter->path, /*priority*/5); in hpt_attach()
2094 IAL_ADAPTER_T *pAdapter; in hpt_intr() local
2096 pAdapter = arg; in hpt_intr()
2097 mtx_lock(&pAdapter->lock); in hpt_intr()
2098 hpt_intr_locked(pAdapter); in hpt_intr()
2099 mtx_unlock(&pAdapter->lock); in hpt_intr()
2103 hpt_intr_locked(IAL_ADAPTER_T *pAdapter) in hpt_intr_locked() argument
2106 mtx_assert(&pAdapter->lock, MA_OWNED); in hpt_intr_locked()
2108 if (mvSataInterruptServiceRoutine(&pAdapter->mvSataAdapter) == MV_TRUE) in hpt_intr_locked()
2110 _VBUS_INST(&pAdapter->VBus) in hpt_intr_locked()
2138 FlushAdapter(IAL_ADAPTER_T *pAdapter) in FlushAdapter() argument
2146 PVDevice pVDev = pAdapter->VBus.pVDevice[i]; in FlushAdapter()
2154 IAL_ADAPTER_T *pAdapter; in hpt_shutdown() local
2156 pAdapter = device_get_softc(dev); in hpt_shutdown()
2158 mtx_lock(&pAdapter->lock); in hpt_shutdown()
2159 FlushAdapter(pAdapter); in hpt_shutdown()
2160 mtx_unlock(&pAdapter->lock); in hpt_shutdown()
2168 Check_Idle_Call(IAL_ADAPTER_T *pAdapter) in Check_Idle_Call() argument
2170 _VBUS_INST(&pAdapter->VBus) in Check_Idle_Call()
2184 hpt_queue_dpc((HPT_DPC)hpt_rebuild_data_block, pAdapter, pArray, DUPLICATE); in Check_Idle_Call()
2191 while(pAdapter->pending_Q!= NULL) in Check_Idle_Call()
2193 _VBUS_INST(&pAdapter->VBus) in Check_Idle_Call()
2194 union ccb *ccb = (union ccb *)pAdapter->pending_Q->ccb_h.ccb_ccb_ptr; in Check_Idle_Call()
2195 hpt_free_ccb(&pAdapter->pending_Q, ccb); in Check_Idle_Call()
2204 IAL_ADAPTER_T * pAdapter = pmap->pAdapter; in ccb_done() local
2210 pAdapter->outstandingCommands--; in ccb_done()
2212 if (pAdapter->outstandingCommands == 0) in ccb_done()
2215 Check_Idle_Call(pAdapter); in ccb_done()
2216 wakeup(pAdapter); in ccb_done()
2230 IAL_ADAPTER_T * pAdapter = (IAL_ADAPTER_T *) cam_sim_softc(sim); in hpt_action() local
2232 _VBUS_INST(&pAdapter->VBus) in hpt_action()
2234 mtx_assert(&pAdapter->lock, MA_OWNED); in hpt_action()
2250 pAdapter->VBus.pVDevice[ccb->ccb_h.target_id]==0) { in hpt_action()
2256 if (pAdapter->outstandingCommands==0 && DPC_Request_Nums==0) in hpt_action()
2257 Check_Idle_Call(pAdapter); in hpt_action()
2259 pmap = dmamap_get(pAdapter); in hpt_action()
2265 hpt_queue_ccb(&pAdapter->pending_Q, ccb); in hpt_action()
2391 p.dpc(p.pAdapter, p.arg, p.flags); in hpt_worker_thread()
2393 mtx_lock(&p.pAdapter->lock); in hpt_worker_thread()
2398 if (p.pAdapter->outstandingCommands == 0) { in hpt_worker_thread()
2399 _VBUS_INST(&p.pAdapter->VBus); in hpt_worker_thread()
2400 Check_Idle_Call(p.pAdapter); in hpt_worker_thread()
2404 mtx_unlock(&p.pAdapter->lock); in hpt_worker_thread()
2410 IAL_ADAPTER_T *pAdapter; in hpt_worker_thread() local
2416 pAdapter = gIal_Adapter; in hpt_worker_thread()
2418 while(pAdapter != NULL){ in hpt_worker_thread()
2419 mtx_lock(&pAdapter->lock); in hpt_worker_thread()
2420 _vbus_p = &pAdapter->VBus; in hpt_worker_thread()
2433 mtx_unlock(&pAdapter->lock); in hpt_worker_thread()
2434 pAdapter = pAdapter->next; in hpt_worker_thread()
2602 IAL_ADAPTER_T *pAdapter = pmap->pAdapter; in hpt_timeout() local
2603 _VBUS_INST(&pAdapter->VBus) in hpt_timeout()
2605 mtx_assert(&pAdapter->lock, MA_OWNED); in hpt_timeout()
2616 IAL_ADAPTER_T *pAdapter = pmap->pAdapter; in hpt_io_dmamap_callback() local
2617 PVDevice pVDev = pAdapter->VBus.pVDevice[ccb_h->target_id]; in hpt_io_dmamap_callback()
2639 bus_dmamap_sync(pAdapter->io_dma_parent, pmap->dma_map, in hpt_io_dmamap_callback()
2643 bus_dmamap_sync(pAdapter->io_dma_parent, pmap->dma_map, in hpt_io_dmamap_callback()
2659 IAL_ADAPTER_T *pAdapter = pmap->pAdapter; in OsSendCommand() local
2662 PVDevice pVDev = pAdapter->VBus.pVDevice[ccb_h->target_id]; in OsSendCommand()
2671 pAdapter->outstandingCommands++; in OsSendCommand()
2833 error = bus_dmamap_load_ccb(pAdapter->io_dma_parent, in OsSendCommand()
2845 pAdapter->outstandingCommands--; in OsSendCommand()
2846 if (pAdapter->outstandingCommands == 0) in OsSendCommand()
2847 wakeup(pAdapter); in OsSendCommand()
2868 IAL_ADAPTER_T *pAdapter = pmap->pAdapter; in fOsCommandDone() local
2899 bus_dmamap_sync(pAdapter->io_dma_parent, pmap->dma_map, BUS_DMASYNC_POSTREAD); in fOsCommandDone()
2902 bus_dmamap_sync(pAdapter->io_dma_parent, pmap->dma_map, BUS_DMASYNC_POSTWRITE); in fOsCommandDone()
2905 bus_dmamap_unload(pAdapter->io_dma_parent, pmap->dma_map); in fOsCommandDone()
2912 hpt_queue_dpc(HPT_DPC dpc, IAL_ADAPTER_T * pAdapter, void *arg, UCHAR flags) in hpt_queue_dpc() argument
2925 DpcQueue[DpcQueue_Last].pAdapter = pAdapter; in hpt_queue_dpc()