• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/dev/hptmv/

Lines Matching refs:pVDevice

75 	PVDevice pVDevice;
93 pVDevice=ArrayTables(i);
94 if ((pVDevice->u.array.dArStamp != 0) && (pVDevice == p))
106 static UCHAR get_vdev_type(PVDevice pVDevice)
108 switch (pVDevice->VDeviceType) {
117 static DWORD get_array_flag(PVDevice pVDevice)
123 if(!pVDevice->vf_online) {
130 if(pVDevice->u.array.rf_need_rebuild && !pVDevice->u.array.rf_duplicate_and_create)
134 if(pVDevice->u.array.rf_rebuilding)
138 if(pVDevice->u.array.rf_verifying)
142 if(pVDevice->u.array.rf_initializing)
146 if(pVDevice->u.array.rf_broken)
150 if(pVDevice->vf_bootable)
154 if(pVDevice->u.array.rf_newly_created)
158 if(pVDevice->vf_bootmark)
162 if(pVDevice->u.array.rf_auto_rebuild)
165 for(i = 0; i < pVDevice->u.array.bArnMember; i++)
167 PVDevice pMember = pVDevice->u.array.pMember[i];
204 static DWORD calc_rebuild_progress(PVDevice pVDevice)
207 DWORD result = ((ULONG)(pVDevice->u.array.RebuildSectors>>11)*1000 /
208 (ULONG)(pVDevice->VDeviceCapacity>>11) * (pVDevice->u.array.bArnMember-1)) * 10;
210 for(i = 0; i < pVDevice->u.array.bArnMember; i++)
212 PVDevice pMember = pVDevice->u.array.pMember[i];
232 static void get_array_info(PVDevice pVDevice, PHPT_ARRAY_INFO pArrayInfo)
236 memcpy(pArrayInfo->Name, pVDevice->u.array.ArrayName, MAX_ARRAY_NAME);
237 pArrayInfo->ArrayType = get_vdev_type(pVDevice);
238 pArrayInfo->BlockSizeShift = pVDevice->u.array.bArBlockSizeShift;
239 pArrayInfo->RebuiltSectors = pVDevice->u.array.RebuildSectors;
240 pArrayInfo->Flags = get_array_flag(pVDevice);
241 pArrayInfo->RebuildingProgress = calc_rebuild_progress(pVDevice);
245 for(i = 0; i < pVDevice->u.array.bArnMember; i++)
246 if(pVDevice->u.array.pMember[i] != NULL)
247 pArrayInfo->Members[pArrayInfo->nDisk++] = VDEV_TO_ID(pVDevice->u.array.pMember[i]);
253 static void get_array_info_v2(PVDevice pVDevice, PHPT_ARRAY_INFO_V2 pArrayInfo)
257 memcpy(pArrayInfo->Name, pVDevice->u.array.ArrayName, MAX_ARRAYNAME_LEN);
258 pArrayInfo->ArrayType = get_vdev_type(pVDevice);
259 pArrayInfo->BlockSizeShift = pVDevice->u.array.bArBlockSizeShift;
260 pArrayInfo->RebuiltSectors.lo32 = pVDevice->u.array.RebuildSectors;
261 pArrayInfo->RebuiltSectors.hi32 = sizeof(LBA_T)>4? (pVDevice->u.array.RebuildSectors>>32) : 0;
262 pArrayInfo->Flags = get_array_flag(pVDevice);
263 pArrayInfo->RebuildingProgress = calc_rebuild_progress(pVDevice);
267 for(i = 0; i < pVDevice->u.array.bArnMember; i++)
268 if(pVDevice->u.array.pMember[i] != NULL)
269 pArrayInfo->Members[pArrayInfo->nDisk++] = VDEV_TO_ID(pVDevice->u.array.pMember[i]);
276 static int get_disk_info(PVDevice pVDevice, PDEVICE_INFO pDiskInfo)
286 pSataChannel = pVDevice->u.disk.mv;
302 if (pVDevice->u.disk.df_user_mode_set)
303 pDiskInfo->DeviceModeSetting = pVDevice->u.disk.bDeUserSelectMode;
304 else if (((((PIDENTIFY_DATA)pVDevice->u.disk.mv->identifyDevice)->SataCapability) & 3)==2)
307 p = (char *)&((PIDENTIFY_DATA)pVDevice->u.disk.mv->identifyDevice)->ModelNumber;
312 pDiskInfo->DeviceModeSetting = pVDevice->u.disk.bDeModeSetting;
315 pDiskInfo->UsableMode = pVDevice->u.disk.bDeUsable_Mode;
322 if(!pVDevice->u.disk.df_on_line)
326 if(pVDevice->vf_bootable)
330 if(pVDevice->vf_bootmark)
336 if(pVDevice->VDeviceType == VD_SPARE)
516 PVDevice pVDevice = ID_TO_VDEV(id);
518 if((id == 0) || check_VDevice_valid(pVDevice))
522 if (mIsArray(pVDevice)) {
524 pInfo->Capacity = pVDevice->VDeviceCapacity;
525 pInfo->ParentArray = VDEV_TO_ID(pVDevice->pParent);
526 get_array_info(pVDevice, &pInfo->u.array);
532 pInfo->ParentArray = pVDevice->pParent? VDEV_TO_ID(pVDevice->pParent) : INVALID_DEVICEID;
534 pInfo->Capacity = pVDevice->u.disk.dDeRealCapacity;
535 return get_disk_info(pVDevice, &pInfo->u.device);
540 PVDevice pVDevice = ID_TO_VDEV(id);
542 if((id == 0) || check_VDevice_valid(pVDevice))
546 if (mIsArray(pVDevice)) {
548 pInfo->Capacity.lo32 = pVDevice->VDeviceCapacity;
549 pInfo->Capacity.hi32 = sizeof(LBA_T)>4? (pVDevice->VDeviceCapacity>>32) : 0;
550 pInfo->ParentArray = VDEV_TO_ID(pVDevice->pParent);
551 get_array_info_v2(pVDevice, &pInfo->u.array);
557 pInfo->ParentArray = pVDevice->pParent? VDEV_TO_ID(pVDevice->pParent) : INVALID_DEVICEID;
559 pInfo->Capacity.lo32 = pVDevice->u.disk.dDeRealCapacity;
561 return get_disk_info(pVDevice, &pInfo->u.device);
638 if (_vbus_p->pVDevice[i] == ID_TO_VDEV(pParam->Members[0]))
733 _vbus_p->pVDevice[Loca] = pArray;
988 PVDevice pVDevice = ID_TO_VDEV(idDisk);
991 if(idDisk == 0 || check_VDevice_valid(pVDevice)) return -1;
992 if (pVDevice->VDeviceType != VD_SINGLE_DISK || pVDevice->pParent)
995 if (pVDevice->u.disk.pVBus!=_vbus_p) return -1;
997 UnregisterVDevice(pVDevice);
998 pVDevice->VDeviceType = VD_SPARE;
999 pVDevice->vf_bootmark = 0;
1002 fDeReadWrite(&pVDevice->u.disk, 0, IDE_COMMAND_WRITE, pbuffer);
1003 SyncArrayInfo(pVDevice);
1009 PVDevice pVDevice = ID_TO_VDEV(idDisk);
1011 if(idDisk == 0 || check_VDevice_valid(pVDevice)) return -1;
1013 if (pVDevice->u.disk.pVBus!=_vbus_p) return -1;
1015 pVDevice->VDeviceType = VD_SINGLE_DISK;
1017 SyncArrayInfo(pVDevice);
1018 RegisterVDevice(pVDevice);
1024 PVDevice pVDevice = ID_TO_VDEV(idArray);
1026 if(idArray == 0 || check_VDevice_valid(pVDevice)) return -1;
1027 if (!mIsArray(pVDevice)) return -1;
1029 /* if the pVDevice isn't a top level, return -1; */
1030 if(pVDevice->pParent != NULL) return -1;
1032 if (pVDevice->pVBus!=_vbus_p) { HPT_ASSERT(0); return -1;}
1035 memset(pVDevice->u.array.ArrayName, 0, MAX_ARRAY_NAME);
1036 memcpy(pVDevice->u.array.ArrayName, pInfo->Name, sizeof(pInfo->Name));
1037 pVDevice->u.array.rf_need_sync = 1;
1041 memcpy(pVDevice->u.array.Description, pInfo->Description, sizeof(pInfo->Description));
1042 pVDevice->u.array.rf_need_sync = 1;
1045 if (pVDevice->u.array.rf_need_sync)
1046 SyncArrayInfo(pVDevice);
1052 PVDevice pVDevice = ID_TO_VDEV(idDisk);
1054 if(idDisk == 0 || check_VDevice_valid(pVDevice)) return -1;
1055 if (mIsArray(pVDevice))
1058 if (pVDevice->u.disk.pVBus!=_vbus_p) return -1;
1066 PVDevice pVDevice = ID_TO_VDEV(idDisk);
1069 if(idDisk==0 || check_VDevice_valid(pVDevice)) return -1;
1070 if (mIsArray(pVDevice))
1073 if (pVDevice->u.disk.pVBus!=_vbus_p) return -1;
1076 pVDevice->u.disk.bDeModeSetting = pInfo->DeviceModeSetting;
1077 pVDevice->u.disk.bDeUserSelectMode = pInfo->DeviceModeSetting;
1078 pVDevice->u.disk.df_user_mode_set = 1;
1079 fDeSelectMode((PDevice)&(pVDevice->u.disk), (UCHAR)pInfo->DeviceModeSetting);
1084 if (fDeSetTCQ(&pVDevice->u.disk, pInfo->TCQEnabled, 0)) {
1085 pVDevice->u.disk.df_tcq_set = 1;
1086 pVDevice->u.disk.df_tcq = pInfo->TCQEnabled!=0;
1092 if (fDeSetNCQ(&pVDevice->u.disk, pInfo->NCQEnabled, 0)) {
1093 pVDevice->u.disk.df_ncq_set = 1;
1094 pVDevice->u.disk.df_ncq = pInfo->NCQEnabled!=0;
1100 if (fDeSetWriteCache(&pVDevice->u.disk, pInfo->WriteCacheEnabled)) {
1101 pVDevice->u.disk.df_write_cache_set = 1;
1102 pVDevice->u.disk.df_write_cache = pInfo->WriteCacheEnabled!=0;
1108 if (fDeSetReadAhead(&pVDevice->u.disk, pInfo->ReadAheadEnabled)) {
1109 pVDevice->u.disk.df_read_ahead_set = 1;
1110 pVDevice->u.disk.df_read_ahead = pInfo->ReadAheadEnabled!=0;
1116 SyncArrayInfo(pVDevice);
1321 if(!(pTop = pVBus->pVDevice[i])) continue;