Lines Matching +full:- +full:u

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (c) 2004-2005 HighPoint Technologies, Inc.
30 * Copyright (c) 2002-2004 HighPoint Technologies, Inc. All rights reserved.
80 if(&(pAdapter->VDevices[i]) == p) return 0; in check_VDevice_valid()
81 pAdapter = pAdapter->next; in check_VDevice_valid()
88 _vbus_p = &pAdapter->VBus; in check_VDevice_valid()
92 if ((pVDevice->u.array.dArStamp != 0) && (pVDevice == p)) in check_VDevice_valid()
95 pAdapter = pAdapter->next; in check_VDevice_valid()
99 return -1; in check_VDevice_valid()
106 switch (pVDevice->VDeviceType) { in get_vdev_type()
121 if(!pVDevice->vf_online) { in get_array_flag()
128 if(pVDevice->u.array.rf_need_rebuild && !pVDevice->u.array.rf_duplicate_and_create) in get_array_flag()
132 if(pVDevice->u.array.rf_rebuilding) in get_array_flag()
136 if(pVDevice->u.array.rf_verifying) in get_array_flag()
140 if(pVDevice->u.array.rf_initializing) in get_array_flag()
144 if(pVDevice->u.array.rf_broken) in get_array_flag()
148 if(pVDevice->vf_bootable) in get_array_flag()
152 if(pVDevice->u.array.rf_newly_created) in get_array_flag()
156 if(pVDevice->vf_bootmark) in get_array_flag()
159 /* auto-rebuild should start */ in get_array_flag()
160 if(pVDevice->u.array.rf_auto_rebuild) in get_array_flag()
163 for(i = 0; i < pVDevice->u.array.bArnMember; i++) in get_array_flag()
165 PVDevice pMember = pVDevice->u.array.pMember[i]; in get_array_flag()
166 if (!pMember || !pMember->vf_online || (pMember->VDeviceType==VD_SINGLE_DISK)) in get_array_flag()
170 if(pMember->u.array.rf_need_rebuild && in get_array_flag()
171 !pMember->u.array.rf_duplicate_and_create) in get_array_flag()
175 if(pMember->u.array.rf_rebuilding) in get_array_flag()
179 if(pMember->u.array.rf_verifying) in get_array_flag()
183 if(pMember->u.array.rf_initializing) in get_array_flag()
187 if(pMember->u.array.rf_broken) in get_array_flag()
191 if(pMember->u.array.rf_newly_created) in get_array_flag()
194 /* auto-rebuild should start */ in get_array_flag()
195 if(pMember->u.array.rf_auto_rebuild) in get_array_flag()
205 DWORD result = ((ULONG)(pVDevice->u.array.RebuildSectors>>11)*1000 / in calc_rebuild_progress()
206 (ULONG)(pVDevice->VDeviceCapacity>>11) * (pVDevice->u.array.bArnMember-1)) * 10; in calc_rebuild_progress()
208 for(i = 0; i < pVDevice->u.array.bArnMember; i++) in calc_rebuild_progress()
210 PVDevice pMember = pVDevice->u.array.pMember[i]; in calc_rebuild_progress()
211 if (!pMember || !pMember->vf_online || (pMember->VDeviceType==VD_SINGLE_DISK)) in calc_rebuild_progress()
215 if (pMember->u.array.rf_rebuilding || in calc_rebuild_progress()
216 pMember->u.array.rf_verifying || in calc_rebuild_progress()
217 pMember->u.array.rf_initializing) in calc_rebuild_progress()
219 DWORD percent = ((ULONG)(pMember->u.array.RebuildSectors>>11)*1000 / in calc_rebuild_progress()
220 (ULONG)(pMember->VDeviceCapacity>>11) * (pMember->u.array.bArnMember-1)) * 10; in calc_rebuild_progress()
234 memcpy(pArrayInfo->Name, pVDevice->u.array.ArrayName, MAX_ARRAY_NAME); in get_array_info()
235 pArrayInfo->ArrayType = get_vdev_type(pVDevice); in get_array_info()
236 pArrayInfo->BlockSizeShift = pVDevice->u.array.bArBlockSizeShift; in get_array_info()
237 pArrayInfo->RebuiltSectors = pVDevice->u.array.RebuildSectors; in get_array_info()
238 pArrayInfo->Flags = get_array_flag(pVDevice); in get_array_info()
239 pArrayInfo->RebuildingProgress = calc_rebuild_progress(pVDevice); in get_array_info()
241 pArrayInfo->nDisk = 0; in get_array_info()
243 for(i = 0; i < pVDevice->u.array.bArnMember; i++) in get_array_info()
244 if(pVDevice->u.array.pMember[i] != NULL) in get_array_info()
245 pArrayInfo->Members[pArrayInfo->nDisk++] = VDEV_TO_ID(pVDevice->u.array.pMember[i]); in get_array_info()
247 for(i=pArrayInfo->nDisk; i<MAX_ARRAY_MEMBERS; i++) in get_array_info()
248 pArrayInfo->Members[i] = INVALID_DEVICEID; in get_array_info()
255 memcpy(pArrayInfo->Name, pVDevice->u.array.ArrayName, MAX_ARRAYNAME_LEN); in get_array_info_v2()
256 pArrayInfo->ArrayType = get_vdev_type(pVDevice); in get_array_info_v2()
257 pArrayInfo->BlockSizeShift = pVDevice->u.array.bArBlockSizeShift; in get_array_info_v2()
258 pArrayInfo->RebuiltSectors.lo32 = pVDevice->u.array.RebuildSectors; in get_array_info_v2()
259 pArrayInfo->RebuiltSectors.hi32 = sizeof(LBA_T)>4? (pVDevice->u.array.RebuildSectors>>32) : 0; in get_array_info_v2()
260 pArrayInfo->Flags = get_array_flag(pVDevice); in get_array_info_v2()
261 pArrayInfo->RebuildingProgress = calc_rebuild_progress(pVDevice); in get_array_info_v2()
263 pArrayInfo->nDisk = 0; in get_array_info_v2()
265 for(i = 0; i < pVDevice->u.array.bArnMember; i++) in get_array_info_v2()
266 if(pVDevice->u.array.pMember[i] != NULL) in get_array_info_v2()
267 pArrayInfo->Members[pArrayInfo->nDisk++] = VDEV_TO_ID(pVDevice->u.array.pMember[i]); in get_array_info_v2()
269 for(i=pArrayInfo->nDisk; i<MAX_ARRAY_MEMBERS_V2; i++) in get_array_info_v2()
270 pArrayInfo->Members[i] = INVALID_DEVICEID; in get_array_info_v2()
284 pSataChannel = pVDevice->u.disk.mv; in get_disk_info()
285 if(pSataChannel == NULL) return -1; in get_disk_info()
286 pDiskInfo->TargetId = 0; in get_disk_info()
287 pSataAdapter = pSataChannel->mvSataAdapter; in get_disk_info()
288 if(pSataAdapter == NULL) return -1; in get_disk_info()
290 pAdapter = pSataAdapter->IALData; in get_disk_info()
292 pDiskInfo->PathId = pSataChannel->channelNumber; in get_disk_info()
293 pDiskInfo->ControllerId = (UCHAR)pSataAdapter->adapterId; in get_disk_info()
300 if (pVDevice->u.disk.df_user_mode_set) in get_disk_info()
301 pDiskInfo->DeviceModeSetting = pVDevice->u.disk.bDeUserSelectMode; in get_disk_info()
302 else if (((((PIDENTIFY_DATA)pVDevice->u.disk.mv->identifyDevice)->SataCapability) & 3)==2) in get_disk_info()
303 pDiskInfo->DeviceModeSetting = 15; in get_disk_info()
305 p = (char *)&((PIDENTIFY_DATA)pVDevice->u.disk.mv->identifyDevice)->ModelNumber; in get_disk_info()
308 pDiskInfo->DeviceModeSetting = 15; in get_disk_info()
310 pDiskInfo->DeviceModeSetting = pVDevice->u.disk.bDeModeSetting; in get_disk_info()
313 pDiskInfo->UsableMode = pVDevice->u.disk.bDeUsable_Mode; in get_disk_info()
315 pDiskInfo->DeviceType = PDT_HARDDISK; in get_disk_info()
317 pDiskInfo->Flags = 0x0; in get_disk_info()
320 if(!pVDevice->u.disk.df_on_line) in get_disk_info()
321 pDiskInfo->Flags |= DEVICE_FLAG_DISABLED; in get_disk_info()
324 if(pVDevice->vf_bootable) in get_disk_info()
325 pDiskInfo->Flags |= DEVICE_FLAG_BOOTDISK; in get_disk_info()
328 if(pVDevice->vf_bootmark) in get_disk_info()
329 pDiskInfo->Flags |= DEVICE_FLAG_BOOTMARK; in get_disk_info()
331 pDiskInfo->Flags |= DEVICE_FLAG_SATA; in get_disk_info()
334 if(pVDevice->VDeviceType == VD_SPARE) in get_disk_info()
335 pDiskInfo->Flags |= DEVICE_FLAG_IS_SPARE; in get_disk_info()
337 memcpy(&(pDiskInfo->IdentifyData), (pSataChannel->identifyDevice), sizeof(IDENTIFY_DATA2)); in get_disk_info()
338 p = (char *)&pDiskInfo->IdentifyData.ModelNumber; in get_disk_info()
340 ((WORD*)p)[i] = shortswap(pSataChannel->identifyDevice[IDEN_MODEL_OFFSET+i]); in get_disk_info()
343 channelInfo = &pAdapter->mvChannel[pSataChannel->channelNumber]; in get_disk_info()
344 pDiskInfo->ReadAheadSupported = channelInfo->readAheadSupported; in get_disk_info()
345 pDiskInfo->ReadAheadEnabled = channelInfo->readAheadEnabled; in get_disk_info()
346 pDiskInfo->WriteCacheSupported = channelInfo->writeCacheSupported; in get_disk_info()
347 pDiskInfo->WriteCacheEnabled = channelInfo->writeCacheEnabled; in get_disk_info()
348 pDiskInfo->TCQSupported = (pSataChannel->identifyDevice[IDEN_SUPPORTED_COMMANDS2] & (0x2))!=0; in get_disk_info()
349 pDiskInfo->TCQEnabled = pSataChannel->queuedDMA==MV_EDMA_MODE_QUEUED; in get_disk_info()
350 pDiskInfo->NCQSupported = MV_SATA_GEN_2(pSataAdapter) && in get_disk_info()
351 (pSataChannel->identifyDevice[IDEN_SATA_CAPABILITIES] & (0x0100)); in get_disk_info()
352 pDiskInfo->NCQEnabled = pSataChannel->queuedDMA==MV_EDMA_MODE_NATIVE_QUEUING; in get_disk_info()
359 cap->dwSize = sizeof(DRIVER_CAPABILITIES); in hpt_get_driver_capabilities()
360 cap->MaximumControllers = MAX_VBUS; in hpt_get_driver_capabilities()
362 /* cap->SupportCrossControllerRAID = 0; */ in hpt_get_driver_capabilities()
364 cap->SupportCrossControllerRAID = 0; in hpt_get_driver_capabilities()
367 cap->MinimumBlockSizeShift = MinBlockSizeShift; in hpt_get_driver_capabilities()
368 cap->MaximumBlockSizeShift = MaxBlockSizeShift; in hpt_get_driver_capabilities()
369 cap->SupportDiskModeSetting = 0; in hpt_get_driver_capabilities()
370 cap->SupportSparePool = 1; in hpt_get_driver_capabilities()
371 cap->MaximumArrayNameLength = MAX_ARRAY_NAME - 1; in hpt_get_driver_capabilities()
372 cap->SupportDedicatedSpare = 0; in hpt_get_driver_capabilities()
377 cap->SupportedRAIDTypes[0] = AT_RAID0; in hpt_get_driver_capabilities()
378 cap->MaximumArrayMembers[0] = MAX_MEMBERS; in hpt_get_driver_capabilities()
380 cap->SupportedRAIDTypes[1] = AT_RAID1; in hpt_get_driver_capabilities()
381 cap->MaximumArrayMembers[1] = 2; in hpt_get_driver_capabilities()
384 cap->SupportedRAIDTypes[2] = (AT_RAID1<<4)|AT_RAID0; /* RAID0/1 */ in hpt_get_driver_capabilities()
386 cap->SupportedRAIDTypes[2] = (AT_RAID0<<4)|AT_RAID1; /* RAID1/0 */ in hpt_get_driver_capabilities()
388 cap->MaximumArrayMembers[2] = MAX_MEMBERS; in hpt_get_driver_capabilities()
390 cap->SupportedRAIDTypes[3] = AT_JBOD; in hpt_get_driver_capabilities()
391 cap->MaximumArrayMembers[3] = MAX_MEMBERS; in hpt_get_driver_capabilities()
394 cap->SupportedRAIDTypes[4] = AT_RAID5; in hpt_get_driver_capabilities()
395 cap->MaximumArrayMembers[4] = MAX_MEMBERS; in hpt_get_driver_capabilities()
409 pAdapTemp = pAdapTemp->next; in hpt_get_controller_count()
420 for (pAdapTemp = gIal_Adapter; pAdapTemp; pAdapTemp = pAdapTemp->next) { in hpt_get_controller_info()
422 pInfo->InterruptLevel = 0; in hpt_get_controller_info()
423 pInfo->ChipType = 0; in hpt_get_controller_info()
424 pInfo->ChipFlags = CHIP_SUPPORT_ULTRA_100; in hpt_get_controller_info()
425 strcpy( pInfo->szVendorID, "HighPoint Technologies, Inc."); in hpt_get_controller_info()
429 pInfo->ChipFlags = CHIP_SUPPORT_ULTRA_150; in hpt_get_controller_info()
431 strcpy(pInfo->szProductID, GUI_CONTROLLER_NAME); in hpt_get_controller_info()
434 #define _set_product_id(x) strcpy(pInfo->szProductID, x) in hpt_get_controller_info()
437 pInfo->NumBuses = 8; in hpt_get_controller_info()
438 pInfo->ChipFlags |= CHIP_SUPPORT_ULTRA_133|CHIP_SUPPORT_ULTRA_150; in hpt_get_controller_info()
442 return -1; in hpt_get_controller_info()
455 pAdapTemp = pAdapTemp->next; in hpt_get_channel_info()
457 return -1; in hpt_get_channel_info()
461 pInfo->IoPort = 0; in hpt_get_channel_info()
462 pInfo->ControlPort = 0; in hpt_get_channel_info()
466 pInfo->Devices[i] = (DEVICEID)INVALID_DEVICEID; in hpt_get_channel_info()
469 if (pAdapTemp->mvChannel[bus].online == MV_TRUE) in hpt_get_channel_info()
470 pInfo->Devices[0] = VDEV_TO_ID(&pAdapTemp->VDevices[bus]); in hpt_get_channel_info()
472 pInfo->Devices[0] = (DEVICEID)INVALID_DEVICEID; in hpt_get_channel_info()
490 for (pAdapTemp = gIal_Adapter; pAdapTemp; pAdapTemp = pAdapTemp->next) { in hpt_get_logical_devices()
493 pPhysical = &pAdapTemp->VDevices[i]; in hpt_get_logical_devices()
496 while (pLogical->pParent) pLogical = pLogical->pParent; in hpt_get_logical_devices()
497 if (pLogical->VDeviceType==VD_SPARE) in hpt_get_logical_devices()
517 return -1; in hpt_get_device_info()
521 pInfo->Type = LDT_ARRAY; in hpt_get_device_info()
522 pInfo->Capacity = pVDevice->VDeviceCapacity; in hpt_get_device_info()
523 pInfo->ParentArray = VDEV_TO_ID(pVDevice->pParent); in hpt_get_device_info()
524 get_array_info(pVDevice, &pInfo->u.array); in hpt_get_device_info()
529 pInfo->Type = LDT_DEVICE; in hpt_get_device_info()
530 pInfo->ParentArray = pVDevice->pParent? VDEV_TO_ID(pVDevice->pParent) : INVALID_DEVICEID; in hpt_get_device_info()
532 pInfo->Capacity = pVDevice->u.disk.dDeRealCapacity; in hpt_get_device_info()
533 return get_disk_info(pVDevice, &pInfo->u.device); in hpt_get_device_info()
541 return -1; in hpt_get_device_info_v2()
545 pInfo->Type = LDT_ARRAY; in hpt_get_device_info_v2()
546 pInfo->Capacity.lo32 = pVDevice->VDeviceCapacity; in hpt_get_device_info_v2()
547 pInfo->Capacity.hi32 = sizeof(LBA_T)>4? (pVDevice->VDeviceCapacity>>32) : 0; in hpt_get_device_info_v2()
548 pInfo->ParentArray = VDEV_TO_ID(pVDevice->pParent); in hpt_get_device_info_v2()
549 get_array_info_v2(pVDevice, &pInfo->u.array); in hpt_get_device_info_v2()
554 pInfo->Type = LDT_DEVICE; in hpt_get_device_info_v2()
555 pInfo->ParentArray = pVDevice->pParent? VDEV_TO_ID(pVDevice->pParent) : INVALID_DEVICEID; in hpt_get_device_info_v2()
557 pInfo->Capacity.lo32 = pVDevice->u.disk.dDeRealCapacity; in hpt_get_device_info_v2()
558 pInfo->Capacity.hi32 = 0; in hpt_get_device_info_v2()
559 return get_disk_info(pVDevice, &pInfo->u.device); in hpt_get_device_info_v2()
569 int Loca = -1; in hpt_create_array_v2()
571 if (pParam->nDisk > MAX_MEMBERS) in hpt_create_array_v2()
574 for(i = 0; i < pParam->nDisk; i++) in hpt_create_array_v2()
576 PVDevice pVDev = ID_TO_VDEV(pParam->Members[i]); in hpt_create_array_v2()
579 if (!pVDev->vf_online) return INVALID_DEVICEID; in hpt_create_array_v2()
581 _vbus_p = pVDev->u.disk.pVBus; in hpt_create_array_v2()
582 else if (_vbus_p != pVDev->u.disk.pVBus) in hpt_create_array_v2()
586 _vbus_p = (ID_TO_VDEV(pParam->Members[0]))->u.disk.pVBus; in hpt_create_array_v2()
592 switch (pParam->ArrayType) in hpt_create_array_v2()
595 pArray->VDeviceType = VD_JBOD; in hpt_create_array_v2()
599 if((pParam->BlockSizeShift < MinBlockSizeShift) || (pParam->BlockSizeShift > MaxBlockSizeShift)) in hpt_create_array_v2()
601 pArray->VDeviceType = VD_RAID_0; in hpt_create_array_v2()
605 if((pParam->BlockSizeShift < MinBlockSizeShift) || (pParam->BlockSizeShift > MaxBlockSizeShift)) in hpt_create_array_v2()
607 pArray->VDeviceType = VD_RAID_5; in hpt_create_array_v2()
609 if ((pParam->CreateFlags & CAF_CREATE_R5_NO_BUILD)==0) in hpt_create_array_v2()
610 pArray->u.array.rf_need_rebuild = 1; in hpt_create_array_v2()
614 if(pParam->nDisk <= 2) in hpt_create_array_v2()
616 pArray->VDeviceType = VD_RAID_1; in hpt_create_array_v2()
618 pArray->u.array.bArnMember = pParam->nDisk; in hpt_create_array_v2()
619 pArray->u.array.bArRealnMember = pParam->nDisk; in hpt_create_array_v2()
620 pArray->u.array.bArBlockSizeShift = pParam->BlockSizeShift; in hpt_create_array_v2()
621 pArray->u.array.bStripeWitch = (1 << pParam->BlockSizeShift); in hpt_create_array_v2()
622 pArray->u.array.dArStamp = Stamp; in hpt_create_array_v2()
624 pArray->u.array.rf_need_sync = 1; in hpt_create_array_v2()
625 pArray->u.array.rf_newly_created = 1; in hpt_create_array_v2()
627 if ((pParam->CreateFlags & CAF_CREATE_AND_DUPLICATE) && in hpt_create_array_v2()
628 (pArray->VDeviceType == VD_RAID_1)) in hpt_create_array_v2()
630 pArray->u.array.rf_newly_created = 0; /* R1 shall still be accessible */ in hpt_create_array_v2()
631 pArray->u.array.rf_need_rebuild = 1; in hpt_create_array_v2()
632 pArray->u.array.rf_auto_rebuild = 1; in hpt_create_array_v2()
633 pArray->u.array.rf_duplicate_and_create = 1; in hpt_create_array_v2()
636 if (_vbus_p->pVDevice[i] == ID_TO_VDEV(pParam->Members[0])) in hpt_create_array_v2()
640 pArray->u.array.RebuildSectors = pArray->u.array.rf_need_rebuild? 0 : MAX_LBA_T; in hpt_create_array_v2()
642 memcpy(pArray->u.array.ArrayName, pParam->ArrayName, MAX_ARRAY_NAME); in hpt_create_array_v2()
644 for(i = 0; i < pParam->nDisk; i++) in hpt_create_array_v2()
646 pArray->u.array.pMember[i] = ID_TO_VDEV(pParam->Members[i]); in hpt_create_array_v2()
647 pArray->u.array.pMember[i]->bSerialNumber = i; in hpt_create_array_v2()
648 pArray->u.array.pMember[i]->pParent = pArray; in hpt_create_array_v2()
652 pArray->VDeviceType!=VD_RAID_1 || in hpt_create_array_v2()
653 (pParam->CreateFlags & CAF_CREATE_AND_DUPLICATE)==0) in hpt_create_array_v2()
654 UnregisterVDevice(pArray->u.array.pMember[i]); in hpt_create_array_v2()
656 if(pArray->VDeviceType == VD_RAID_5) in hpt_create_array_v2()
657 pArray->u.array.pMember[i]->vf_cache_disk = 1; in hpt_create_array_v2()
662 for(i = 0; i < (pParam->nDisk / 2); i++) in hpt_create_array_v2()
665 pChild->VDeviceType = VD_RAID_1; in hpt_create_array_v2()
667 pChild->u.array.bArnMember = 2; in hpt_create_array_v2()
668 pChild->u.array.bArRealnMember = 2; in hpt_create_array_v2()
669 pChild->u.array.bArBlockSizeShift = pParam->BlockSizeShift; in hpt_create_array_v2()
670 pChild->u.array.bStripeWitch = (1 << pParam->BlockSizeShift); in hpt_create_array_v2()
671 pChild->u.array.dArStamp = Stamp; in hpt_create_array_v2()
673 pChild->u.array.rf_need_sync = 1; in hpt_create_array_v2()
674 pChild->u.array.rf_newly_created = 1; in hpt_create_array_v2()
676 pChild->u.array.RebuildSectors = MAX_LBA_T; in hpt_create_array_v2()
678 memcpy(pChild->u.array.ArrayName, pParam->ArrayName, MAX_ARRAY_NAME); in hpt_create_array_v2()
682 pChild->u.array.pMember[j] = ID_TO_VDEV(pParam->Members[i*2 + j]); in hpt_create_array_v2()
683 pChild->u.array.pMember[j]->bSerialNumber = j; in hpt_create_array_v2()
684 pChild->u.array.pMember[j]->pParent = pChild; in hpt_create_array_v2()
685 pChild->u.array.pMember[j]->pfnDeviceFailed = pfnDeviceFailed[pChild->VDeviceType]; in hpt_create_array_v2()
686 UnregisterVDevice(pChild->u.array.pMember[j]); in hpt_create_array_v2()
689 pArray->u.array.pMember[i] = pChild; in hpt_create_array_v2()
691 pChild->vf_online = 1; in hpt_create_array_v2()
692 pChild->bSerialNumber = i; in hpt_create_array_v2()
693 pChild->pParent = pArray; in hpt_create_array_v2()
694 pChild->VDeviceCapacity = MIN(pChild->u.array.pMember[0]->VDeviceCapacity, in hpt_create_array_v2()
695 pChild->u.array.pMember[1]->VDeviceCapacity); in hpt_create_array_v2()
697 pChild->pfnSendCommand = pfnSendCommand[pChild->VDeviceType]; in hpt_create_array_v2()
698 pChild->pfnDeviceFailed = pfnDeviceFailed[VD_RAID_0]; in hpt_create_array_v2()
701 pArray->VDeviceType = VD_RAID_0; in hpt_create_array_v2()
703 pArray->u.array.bArnMember = pParam->nDisk / 2; in hpt_create_array_v2()
704 pArray->u.array.bArRealnMember = pParam->nDisk / 2; in hpt_create_array_v2()
705 pArray->u.array.bArBlockSizeShift = pParam->BlockSizeShift; in hpt_create_array_v2()
706 pArray->u.array.bStripeWitch = (1 << pParam->BlockSizeShift); in hpt_create_array_v2()
707 pArray->u.array.dArStamp = Stamp; in hpt_create_array_v2()
709 pArray->u.array.rf_need_sync = 1; in hpt_create_array_v2()
710 pArray->u.array.rf_newly_created = 1; in hpt_create_array_v2()
712 memcpy(pArray->u.array.ArrayName, pParam->ArrayName, MAX_ARRAY_NAME); in hpt_create_array_v2()
720 for(i = 0; i < pArray->u.array.bArnMember; i++) in hpt_create_array_v2()
721 pArray->u.array.pMember[i]->pfnDeviceFailed = pfnDeviceFailed[pArray->VDeviceType]; in hpt_create_array_v2()
723 if ((pParam->CreateFlags & CAF_CREATE_AND_DUPLICATE) && in hpt_create_array_v2()
724 (pArray->VDeviceType == VD_RAID_1)) in hpt_create_array_v2()
726 pArray->vf_bootmark = pArray->u.array.pMember[0]->vf_bootmark; in hpt_create_array_v2()
727 pArray->vf_bootable = pArray->u.array.pMember[0]->vf_bootable; in hpt_create_array_v2()
728 pArray->u.array.pMember[0]->vf_bootable = 0; in hpt_create_array_v2()
729 pArray->u.array.pMember[0]->vf_bootmark = 0; in hpt_create_array_v2()
731 _vbus_p->pVDevice[Loca] = pArray; in hpt_create_array_v2()
733 pArray->u.array.rf_duplicate_and_created = 1; in hpt_create_array_v2()
734 pArray->pVBus = _vbus_p; in hpt_create_array_v2()
740 for(i = 0; i < pParam->nDisk; i++) in hpt_create_array_v2()
742 PVDevice pDisk = ID_TO_VDEV(pParam->Members[i]); in hpt_create_array_v2()
743 pDisk->vf_bootmark = pDisk->vf_bootable = 0; in hpt_create_array_v2()
744 fDeReadWrite(&pDisk->u.disk, 0, IDE_COMMAND_WRITE, TempBuffer); in hpt_create_array_v2()
748 pArray->vf_online = 1; in hpt_create_array_v2()
749 pArray->pParent = NULL; in hpt_create_array_v2()
751 switch(pArray->VDeviceType) in hpt_create_array_v2()
754 for(i = 0; i < pArray->u.array.bArnMember; i++) in hpt_create_array_v2()
755 if(pArray->u.array.pMember[i]->VDeviceCapacity < capacity) in hpt_create_array_v2()
756 capacity = pArray->u.array.pMember[i]->VDeviceCapacity; in hpt_create_array_v2()
758 capacity -= 10; in hpt_create_array_v2()
760 capacity &= ~(pArray->u.array.bStripeWitch - 1); in hpt_create_array_v2()
762 for(i = 0; i < pArray->u.array.bArnMember; i++) in hpt_create_array_v2()
763 if (mIsArray(pArray->u.array.pMember[i])) in hpt_create_array_v2()
764 pArray->u.array.pMember[i]->VDeviceCapacity = capacity; in hpt_create_array_v2()
765 pArray->VDeviceCapacity = capacity * pArray->u.array.bArnMember; in hpt_create_array_v2()
769 pArray->VDeviceCapacity = MIN(pArray->u.array.pMember[0]->VDeviceCapacity, in hpt_create_array_v2()
770 pArray->u.array.pMember[1]->VDeviceCapacity); in hpt_create_array_v2()
774 for(i = 0; i < pArray->u.array.bArnMember; i++) in hpt_create_array_v2()
775 pArray->VDeviceCapacity += pArray->u.array.pMember[i]->VDeviceCapacity in hpt_create_array_v2()
777 -10 in hpt_create_array_v2()
783 for(i = 0; i < pArray->u.array.bArnMember; i++) in hpt_create_array_v2()
784 if(pArray->u.array.pMember[i]->VDeviceCapacity < capacity) in hpt_create_array_v2()
785 capacity = pArray->u.array.pMember[i]->VDeviceCapacity; in hpt_create_array_v2()
786 pArray->VDeviceCapacity = rounddown2(capacity, pArray->u.array.bStripeWitch) * in hpt_create_array_v2()
787 (pArray->u.array.bArnMember - 1); in hpt_create_array_v2()
794 pArray->pfnSendCommand = pfnSendCommand[pArray->VDeviceType]; in hpt_create_array_v2()
795 pArray->pfnDeviceFailed = fOsDiskFailed; in hpt_create_array_v2()
798 if (!pArray->u.array.rf_duplicate_and_created) in hpt_create_array_v2()
803 for(i = 0; i < pArray->u.array.bArnMember; i++) in hpt_create_array_v2()
805 pChild = pArray->u.array.pMember[i]; in hpt_create_array_v2()
806 if((pChild != NULL) && (pChild->VDeviceType != VD_SINGLE_DISK)) in hpt_create_array_v2()
816 param2.ArrayType = pParam->ArrayType; in hpt_create_array()
817 param2.nDisk = pParam->nDisk; in hpt_create_array()
818 param2.BlockSizeShift = pParam->BlockSizeShift; in hpt_create_array()
819 param2.CreateFlags = pParam->CreateFlags; in hpt_create_array()
820 param2.CreateTime = pParam->CreateTime; in hpt_create_array()
821 memcpy(param2.ArrayName, pParam->ArrayName, sizeof(param2.ArrayName)); in hpt_create_array()
822 memcpy(param2.Description, pParam->Description, sizeof(param2.Description)); in hpt_create_array()
823 memcpy(param2.CreateManager, pParam->CreateManager, sizeof(param2.CreateManager)); in hpt_create_array()
825 memcpy(param2.Members, pParam->Members, sizeof(pParam->Members)); in hpt_create_array()
839 if (pArray1->pVBus!=_vbus_p) { HPT_ASSERT(0); return -1;} in old_add_disk_to_raid01()
841 if(pDisk->u.disk.dDeRealCapacity < (pArray1->VDeviceCapacity / 2)) in old_add_disk_to_raid01()
842 return -1; in old_add_disk_to_raid01()
844 pArray2 = pArray1->u.array.pMember[1]; in old_add_disk_to_raid01()
848 pArray2->VDeviceType = VD_RAID_0; in old_add_disk_to_raid01()
849 pArray2->u.array.dArStamp = GetStamp(); in old_add_disk_to_raid01()
850 pArray2->vf_format_v2 = 1; in old_add_disk_to_raid01()
851 pArray2->u.array.rf_broken = 1; in old_add_disk_to_raid01()
852 pArray2->u.array.bArBlockSizeShift = pArray1->u.array.bArBlockSizeShift; in old_add_disk_to_raid01()
853 pArray2->u.array.bStripeWitch = (1 << pArray2->u.array.bArBlockSizeShift); in old_add_disk_to_raid01()
854 pArray2->u.array.bArnMember = 2; in old_add_disk_to_raid01()
855 pArray2->VDeviceCapacity = pArray1->VDeviceCapacity; in old_add_disk_to_raid01()
856 pArray2->pfnSendCommand = pfnSendCommand[pArray2->VDeviceType]; in old_add_disk_to_raid01()
857 pArray2->pfnDeviceFailed = pfnDeviceFailed[pArray1->VDeviceType]; in old_add_disk_to_raid01()
858 memcpy(pArray2->u.array.ArrayName, pArray1->u.array.ArrayName, MAX_ARRAY_NAME); in old_add_disk_to_raid01()
859 pArray2->pParent = pArray1; in old_add_disk_to_raid01()
860 pArray2->bSerialNumber = 1; in old_add_disk_to_raid01()
861 pArray1->u.array.pMember[1] = pArray2; in old_add_disk_to_raid01()
862 pArray1->u.array.bArRealnMember++; in old_add_disk_to_raid01()
865 for(i = 0; i < pArray2->u.array.bArnMember; i++) in old_add_disk_to_raid01()
866 if((pArray2->u.array.pMember[i] == NULL) || !pArray2->u.array.pMember[i]->vf_online) in old_add_disk_to_raid01()
868 if(pArray2->u.array.pMember[i] != NULL) in old_add_disk_to_raid01()
869 pArray2->u.array.pMember[i]->pParent = NULL; in old_add_disk_to_raid01()
870 pArray2->u.array.pMember[i] = pDisk; in old_add_disk_to_raid01()
873 return -1; in old_add_disk_to_raid01()
877 pDisk->VDeviceType = VD_SINGLE_DISK; in old_add_disk_to_raid01()
878 pDisk->bSerialNumber = i; in old_add_disk_to_raid01()
879 pDisk->pParent = pArray2; in old_add_disk_to_raid01()
880 pDisk->vf_format_v2 = 1; in old_add_disk_to_raid01()
881 pDisk->u.disk.dDeHiddenLba = i? 10 : 0; in old_add_disk_to_raid01()
882 pDisk->VDeviceCapacity = pDisk->u.disk.dDeRealCapacity; in old_add_disk_to_raid01()
883 pDisk->pfnDeviceFailed = pfnDeviceFailed[pArray2->VDeviceType]; in old_add_disk_to_raid01()
885 pArray2->u.array.bArRealnMember++; in old_add_disk_to_raid01()
886 if(pArray2->u.array.bArnMember == pArray2->u.array.bArRealnMember){ in old_add_disk_to_raid01()
887 pArray2->vf_online = 1; in old_add_disk_to_raid01()
888 pArray2->u.array.rf_broken = 0; in old_add_disk_to_raid01()
891 if(pArray1->u.array.pMember[0]->vf_online && pArray1->u.array.pMember[1]->vf_online){ in old_add_disk_to_raid01()
892 pArray1->u.array.bArRealnMember = pArray1->u.array.bArnMember; in old_add_disk_to_raid01()
893 pArray1->u.array.rf_broken = 0; in old_add_disk_to_raid01()
894 pArray1->u.array.rf_need_rebuild = 1; in old_add_disk_to_raid01()
895 pArray1->u.array.rf_auto_rebuild = 1; in old_add_disk_to_raid01()
898 pArray1->u.array.RebuildSectors = 0; in old_add_disk_to_raid01()
899 pArray1->u.array.dArStamp = GetStamp(); in old_add_disk_to_raid01()
913 if((idArray == 0) || (idDisk == 0)) return -1; in hpt_add_disk_to_array()
914 if(check_VDevice_valid(pArray) || check_VDevice_valid(pDisk)) return -1; in hpt_add_disk_to_array()
915 if(!pArray->u.array.rf_broken) return -1; in hpt_add_disk_to_array()
917 if(pArray->VDeviceType != VD_RAID_1 && pArray->VDeviceType != VD_RAID_5) in hpt_add_disk_to_array()
918 return -1; in hpt_add_disk_to_array()
919 if((pDisk->VDeviceType != VD_SINGLE_DISK) && (pDisk->VDeviceType != VD_SPARE)) in hpt_add_disk_to_array()
920 return -1; in hpt_add_disk_to_array()
924 if (pArray->vf_format_v2 && pArray->VDeviceType==VD_RAID_1 && in hpt_add_disk_to_array()
925 pArray->u.array.pMember[0] && in hpt_add_disk_to_array()
926 mIsArray(pArray->u.array.pMember[0])) in hpt_add_disk_to_array()
931 return -1; in hpt_add_disk_to_array()
935 Capacity = pArray->VDeviceCapacity / (pArray->u.array.bArnMember - 1); in hpt_add_disk_to_array()
937 if (pArray->vf_format_v2) { in hpt_add_disk_to_array()
938 if(pDisk->u.disk.dDeRealCapacity < Capacity) return -1; in hpt_add_disk_to_array()
941 if(pDisk->VDeviceCapacity < Capacity) return -1; in hpt_add_disk_to_array()
943 if (pArray->pVBus!=_vbus_p) { HPT_ASSERT(0); return -1;} in hpt_add_disk_to_array()
945 for(i = 0; i < pArray->u.array.bArnMember; i++) in hpt_add_disk_to_array()
946 if((pArray->u.array.pMember[i] == 0) || !pArray->u.array.pMember[i]->vf_online) in hpt_add_disk_to_array()
948 if(pArray->u.array.pMember[i] != NULL) in hpt_add_disk_to_array()
949 pArray->u.array.pMember[i]->pParent = NULL; in hpt_add_disk_to_array()
950 pArray->u.array.pMember[i] = pDisk; in hpt_add_disk_to_array()
953 return -1; in hpt_add_disk_to_array()
957 pDisk->VDeviceType = VD_SINGLE_DISK; in hpt_add_disk_to_array()
958 pDisk->bSerialNumber = i; in hpt_add_disk_to_array()
959 pDisk->pParent = pArray; in hpt_add_disk_to_array()
960 if (pArray->VDeviceType==VD_RAID_5) pDisk->vf_cache_disk = 1; in hpt_add_disk_to_array()
961 pDisk->pfnDeviceFailed = pfnDeviceFailed[pArray->VDeviceType]; in hpt_add_disk_to_array()
962 if (pArray->vf_format_v2) { in hpt_add_disk_to_array()
963 pDisk->vf_format_v2 = 1; in hpt_add_disk_to_array()
964 pDisk->VDeviceCapacity = pDisk->u.disk.dDeRealCapacity; in hpt_add_disk_to_array()
967 pArray->u.array.bArRealnMember++; in hpt_add_disk_to_array()
968 if(pArray->u.array.bArnMember == pArray->u.array.bArRealnMember) in hpt_add_disk_to_array()
970 pArray->u.array.rf_need_rebuild = 1; in hpt_add_disk_to_array()
971 pArray->u.array.RebuildSectors = 0; in hpt_add_disk_to_array()
972 pArray->u.array.rf_auto_rebuild = 1; in hpt_add_disk_to_array()
973 pArray->u.array.rf_broken = 0; in hpt_add_disk_to_array()
975 pArray->u.array.RebuildSectors = 0; in hpt_add_disk_to_array()
978 while (pArray->pParent) pArray = pArray->pParent; in hpt_add_disk_to_array()
979 pArray->u.array.dArStamp = GetStamp(); in hpt_add_disk_to_array()
989 if(idDisk == 0 || check_VDevice_valid(pVDevice)) return -1; in hpt_add_spare_disk()
990 if (pVDevice->VDeviceType != VD_SINGLE_DISK || pVDevice->pParent) in hpt_add_spare_disk()
991 return -1; in hpt_add_spare_disk()
993 if (pVDevice->u.disk.pVBus!=_vbus_p) return -1; in hpt_add_spare_disk()
996 pVDevice->VDeviceType = VD_SPARE; in hpt_add_spare_disk()
997 pVDevice->vf_bootmark = 0; in hpt_add_spare_disk()
1000 fDeReadWrite(&pVDevice->u.disk, 0, IDE_COMMAND_WRITE, pbuffer); in hpt_add_spare_disk()
1009 if(idDisk == 0 || check_VDevice_valid(pVDevice)) return -1; in hpt_remove_spare_disk()
1011 if (pVDevice->u.disk.pVBus!=_vbus_p) return -1; in hpt_remove_spare_disk()
1013 pVDevice->VDeviceType = VD_SINGLE_DISK; in hpt_remove_spare_disk()
1024 if(idArray == 0 || check_VDevice_valid(pVDevice)) return -1; in hpt_set_array_info()
1025 if (!mIsArray(pVDevice)) return -1; in hpt_set_array_info()
1027 /* if the pVDevice isn't a top level, return -1; */ in hpt_set_array_info()
1028 if(pVDevice->pParent != NULL) return -1; in hpt_set_array_info()
1030 if (pVDevice->pVBus!=_vbus_p) { HPT_ASSERT(0); return -1;} in hpt_set_array_info()
1032 if (pInfo->ValidFields & AAIF_NAME) { in hpt_set_array_info()
1033 memset(pVDevice->u.array.ArrayName, 0, MAX_ARRAY_NAME); in hpt_set_array_info()
1034 memcpy(pVDevice->u.array.ArrayName, pInfo->Name, sizeof(pInfo->Name)); in hpt_set_array_info()
1035 pVDevice->u.array.rf_need_sync = 1; in hpt_set_array_info()
1038 if (pInfo->ValidFields & AAIF_DESCRIPTION) { in hpt_set_array_info()
1039 memcpy(pVDevice->u.array.Description, pInfo->Description, sizeof(pInfo->Description)); in hpt_set_array_info()
1040 pVDevice->u.array.rf_need_sync = 1; in hpt_set_array_info()
1043 if (pVDevice->u.array.rf_need_sync) in hpt_set_array_info()
1052 if(idDisk == 0 || check_VDevice_valid(pVDevice)) return -1; in hpt_set_device_info()
1054 return -1; in hpt_set_device_info()
1056 if (pVDevice->u.disk.pVBus!=_vbus_p) return -1; in hpt_set_device_info()
1067 if(idDisk==0 || check_VDevice_valid(pVDevice)) return -1; in hpt_set_device_info_v2()
1069 return -1; in hpt_set_device_info_v2()
1071 if (pVDevice->u.disk.pVBus!=_vbus_p) return -1; in hpt_set_device_info_v2()
1073 if (pInfo->ValidFields & ADIF_MODE) { in hpt_set_device_info_v2()
1074 pVDevice->u.disk.bDeModeSetting = pInfo->DeviceModeSetting; in hpt_set_device_info_v2()
1075 pVDevice->u.disk.bDeUserSelectMode = pInfo->DeviceModeSetting; in hpt_set_device_info_v2()
1076 pVDevice->u.disk.df_user_mode_set = 1; in hpt_set_device_info_v2()
1077 fDeSelectMode((PDevice)&(pVDevice->u.disk), (UCHAR)pInfo->DeviceModeSetting); in hpt_set_device_info_v2()
1081 if (pInfo->ValidFields & ADIF_TCQ) { in hpt_set_device_info_v2()
1082 if (fDeSetTCQ(&pVDevice->u.disk, pInfo->TCQEnabled, 0)) { in hpt_set_device_info_v2()
1083 pVDevice->u.disk.df_tcq_set = 1; in hpt_set_device_info_v2()
1084 pVDevice->u.disk.df_tcq = pInfo->TCQEnabled!=0; in hpt_set_device_info_v2()
1089 if (pInfo->ValidFields & ADIF_NCQ) { in hpt_set_device_info_v2()
1090 if (fDeSetNCQ(&pVDevice->u.disk, pInfo->NCQEnabled, 0)) { in hpt_set_device_info_v2()
1091 pVDevice->u.disk.df_ncq_set = 1; in hpt_set_device_info_v2()
1092 pVDevice->u.disk.df_ncq = pInfo->NCQEnabled!=0; in hpt_set_device_info_v2()
1097 if (pInfo->ValidFields & ADIF_WRITE_CACHE) { in hpt_set_device_info_v2()
1098 if (fDeSetWriteCache(&pVDevice->u.disk, pInfo->WriteCacheEnabled)) { in hpt_set_device_info_v2()
1099 pVDevice->u.disk.df_write_cache_set = 1; in hpt_set_device_info_v2()
1100 pVDevice->u.disk.df_write_cache = pInfo->WriteCacheEnabled!=0; in hpt_set_device_info_v2()
1105 if (pInfo->ValidFields & ADIF_READ_AHEAD) { in hpt_set_device_info_v2()
1106 if (fDeSetReadAhead(&pVDevice->u.disk, pInfo->ReadAheadEnabled)) { in hpt_set_device_info_v2()
1107 pVDevice->u.disk.df_read_ahead_set = 1; in hpt_set_device_info_v2()
1108 pVDevice->u.disk.df_read_ahead = pInfo->ReadAheadEnabled!=0; in hpt_set_device_info_v2()
1138 if (nInBufferSize != 0) return -1; in hpt_default_ioctl()
1139 if (nOutBufferSize != sizeof(DWORD)) return -1; in hpt_default_ioctl()
1145 if (nOutBufferSize!=sizeof(DWORD)) return -1; in hpt_default_ioctl()
1154 if (nInBufferSize!=sizeof(DWORD)) return -1; in hpt_default_ioctl()
1155 if (nOutBufferSize!=sizeof(CONTROLLER_INFO)) return -1; in hpt_default_ioctl()
1160 return -1; in hpt_default_ioctl()
1169 if (nInBufferSize!=8) return -1; in hpt_default_ioctl()
1170 if (nOutBufferSize!=sizeof(CHANNEL_INFO)) return -1; in hpt_default_ioctl()
1177 return -1; in hpt_default_ioctl()
1186 if (nInBufferSize!=sizeof(DWORD)) return -1; in hpt_default_ioctl()
1188 if (nOutBufferSize < sizeof(DWORD)+sizeof(DWORD)*nMax) return -1; in hpt_default_ioctl()
1200 if (nInBufferSize!=sizeof(DEVICEID)) return -1; in hpt_default_ioctl()
1201 if (nOutBufferSize!=sizeof(LOGICAL_DEVICE_INFO)) return -1; in hpt_default_ioctl()
1204 if (id == INVALID_DEVICEID) return -1; in hpt_default_ioctl()
1210 return -1; in hpt_default_ioctl()
1219 if (nInBufferSize!=sizeof(DEVICEID)) return -1; in hpt_default_ioctl()
1220 if (nOutBufferSize!=sizeof(LOGICAL_DEVICE_INFO_V2)) return -1; in hpt_default_ioctl()
1223 if (id == INVALID_DEVICEID) return -1; in hpt_default_ioctl()
1229 return -1; in hpt_default_ioctl()
1236 if (nInBufferSize!=sizeof(CREATE_ARRAY_PARAMS)) return -1; in hpt_default_ioctl()
1237 if (nOutBufferSize!=sizeof(DEVICEID)) return -1; in hpt_default_ioctl()
1242 return -1; in hpt_default_ioctl()
1248 if (nInBufferSize!=sizeof(CREATE_ARRAY_PARAMS_V2)) return -1; in hpt_default_ioctl()
1249 if (nOutBufferSize!=sizeof(DEVICEID)) return -1; in hpt_default_ioctl()
1254 return -1; in hpt_default_ioctl()
1263 if (nInBufferSize!=sizeof(HPT_SET_ARRAY_INFO)) return -1; in hpt_default_ioctl()
1264 if (nOutBufferSize!=0) return -1; in hpt_default_ioctl()
1266 idArray = ((PHPT_SET_ARRAY_INFO)lpInBuffer)->idArray; in hpt_default_ioctl()
1267 pInfo = &((PHPT_SET_ARRAY_INFO)lpInBuffer)->Info; in hpt_default_ioctl()
1270 return -1; in hpt_default_ioctl()
1279 if (nInBufferSize!=sizeof(HPT_SET_DEVICE_INFO)) return -1; in hpt_default_ioctl()
1280 if (nOutBufferSize!=0) return -1; in hpt_default_ioctl()
1282 idDisk = ((PHPT_SET_DEVICE_INFO)lpInBuffer)->idDisk; in hpt_default_ioctl()
1283 pInfo = &((PHPT_SET_DEVICE_INFO)lpInBuffer)->Info; in hpt_default_ioctl()
1285 return -1; in hpt_default_ioctl()
1294 if (nInBufferSize < sizeof(HPT_SET_DEVICE_INFO_V2)) return -1; in hpt_default_ioctl()
1295 if (nOutBufferSize!=0) return -1; in hpt_default_ioctl()
1297 idDisk = ((PHPT_SET_DEVICE_INFO_V2)lpInBuffer)->idDisk; in hpt_default_ioctl()
1298 pInfo = &((PHPT_SET_DEVICE_INFO_V2)lpInBuffer)->Info; in hpt_default_ioctl()
1300 return -1; in hpt_default_ioctl()
1312 if (nInBufferSize!=sizeof(DEVICEID)) return -1; in hpt_default_ioctl()
1316 pVBus = &pAdapter->VBus; in hpt_default_ioctl()
1319 if(!(pTop = pVBus->pVDevice[i])) continue; in hpt_default_ioctl()
1320 if (pTop->pVBus!=_vbus_p) return -1; in hpt_default_ioctl()
1321 while (pTop->pParent) pTop = pTop->pParent; in hpt_default_ioctl()
1322 if (id==0 && pTop->vf_bootmark) in hpt_default_ioctl()
1323 pTop->vf_bootmark = 0; in hpt_default_ioctl()
1324 else if (pTop==ID_TO_VDEV(id) && !pTop->vf_bootmark) in hpt_default_ioctl()
1325 pTop->vf_bootmark = 1; in hpt_default_ioctl()
1331 pAdapter = pAdapter->next; in hpt_default_ioctl()
1340 if (nInBufferSize!=sizeof(DEVICEID)) return -1; in hpt_default_ioctl()
1341 if (nOutBufferSize!=0) return -1; in hpt_default_ioctl()
1346 return -1; in hpt_default_ioctl()
1354 if (nInBufferSize!=sizeof(DEVICEID)) return -1; in hpt_default_ioctl()
1355 if (nOutBufferSize!=0) return -1; in hpt_default_ioctl()
1360 return -1; in hpt_default_ioctl()
1367 id1 = ((PHPT_ADD_DISK_TO_ARRAY)lpInBuffer)->idArray; in hpt_default_ioctl()
1368 id2 = ((PHPT_ADD_DISK_TO_ARRAY)lpInBuffer)->idDisk; in hpt_default_ioctl()
1370 if (nInBufferSize != sizeof(HPT_ADD_DISK_TO_ARRAY)) return -1; in hpt_default_ioctl()
1371 if (nOutBufferSize != 0) return -1; in hpt_default_ioctl()
1374 return -1; in hpt_default_ioctl()
1381 if (nOutBufferSize<sizeof(DRIVER_CAPABILITIES)) return -1; in hpt_default_ioctl()
1385 return -1; in hpt_default_ioctl()
1395 for (pAdapTemp = gIal_Adapter; pAdapTemp; pAdapTemp = pAdapTemp->next) in hpt_default_ioctl()
1400 return -1; in hpt_default_ioctl()
1403 return -1; in hpt_default_ioctl()
1405 *(DWORD*)lpOutBuffer = ((DWORD)pAdapTemp->mvSataAdapter.pciConfigDeviceId << 16) | 0x11AB; in hpt_default_ioctl()
1418 for (pAdapTemp = gIal_Adapter; pAdapTemp; pAdapTemp = pAdapTemp->next) in hpt_default_ioctl()
1423 return -1; in hpt_default_ioctl()
1427 return -1; in hpt_default_ioctl()
1430 sx508x_flash_access(&pAdapTemp->mvSataAdapter, in hpt_default_ioctl()
1433 sx508x_flash_access(&pAdapTemp->mvSataAdapter, in hpt_default_ioctl()
1441 return -1; in hpt_default_ioctl()