Lines Matching refs:disk

149     int disk;  in ata_raid_attach()  local
170 cdev = disk_create(rdp->lun, &rdp->disk, &ar_ops); in ata_raid_attach()
194 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_attach()
195 kprintf("ar%d: disk%d ", rdp->lun, disk); in ata_raid_attach()
196 if (rdp->disks[disk].dev) { in ata_raid_attach()
197 if (rdp->disks[disk].flags & AR_DF_PRESENT) { in ata_raid_attach()
199 if (rdp->disks[disk].flags & AR_DF_ONLINE) in ata_raid_attach()
201 else if (rdp->disks[disk].flags & AR_DF_SPARE) in ata_raid_attach()
210 if (disk < rdp->width) in ata_raid_attach()
218 device_get_nameunit(rdp->disks[disk].dev), in ata_raid_attach()
219 device_get_unit(device_get_parent(rdp->disks[disk].dev)), in ata_raid_attach()
221 device_get_softc(rdp->disks[disk].dev))->unit == in ata_raid_attach()
224 else if (rdp->disks[disk].flags & AR_DF_ASSIGNED) in ata_raid_attach()
233 disk_setdiskinfo(&rdp->disk, &info); in ata_raid_attach()
277 int disk; in ata_raid_flush() local
281 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_flush()
282 if ((dev = rdp->disks[disk].dev) != NULL) in ata_raid_flush()
285 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_flush()
286 if ((dev = rdp->disks[disk].dev) == NULL) in ata_raid_flush()
834 int disk; in ata_raid_done() local
836 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_done()
837 if ((rdp->disks[disk].flags & in ata_raid_done()
840 rdp->disks[disk].flags &= ~AR_DF_SPARE; in ata_raid_done()
841 rdp->disks[disk].flags |= AR_DF_ONLINE; in ata_raid_done()
875 int disk; in ata_raid_dump() local
879 for (disk = 0, error = 0; disk < rdp->total_disks; disk++) { in ata_raid_dump()
880 if (rdp->disks[disk].dev) { in ata_raid_dump()
881 error |= ata_controlcmd(rdp->disks[disk].dev, in ata_raid_dump()
914 int disk, count, status; in ata_raid_config_changed() local
924 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_config_changed()
925 if (!(rdp->disks[disk].flags & AR_DF_PRESENT)) in ata_raid_config_changed()
926 rdp->disks[disk].flags &= ~AR_DF_ONLINE; in ata_raid_config_changed()
934 for (disk = 0; disk < rdp->total_disks; disk++) in ata_raid_config_changed()
935 if (!(rdp->disks[disk].flags & AR_DF_ONLINE)) in ata_raid_config_changed()
941 for (disk = 0; disk < rdp->width; disk++) { in ata_raid_config_changed()
942 if (!(rdp->disks[disk].flags & AR_DF_ONLINE) && in ata_raid_config_changed()
943 !(rdp->disks[disk + rdp->width].flags & AR_DF_ONLINE)) { in ata_raid_config_changed()
946 else if (((rdp->disks[disk].flags & AR_DF_ONLINE) && in ata_raid_config_changed()
947 !(rdp->disks[disk + rdp->width].flags & AR_DF_ONLINE)) || in ata_raid_config_changed()
948 (!(rdp->disks[disk].flags & AR_DF_ONLINE) && in ata_raid_config_changed()
949 (rdp->disks [disk + rdp->width].flags & AR_DF_ONLINE))) { in ata_raid_config_changed()
956 for (count = 0, disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_config_changed()
957 if (!(rdp->disks[disk].flags & AR_DF_ONLINE)) in ata_raid_config_changed()
1037 int array, disk; in ata_raid_create() local
1051 for (disk = 0; disk < config->total_disks; disk++) { in ata_raid_create()
1053 config->disks[disk]))) { in ata_raid_create()
1058 config->disks[disk] = -1; in ata_raid_create()
1062 rdp->disks[disk].dev = device_get_parent(subdisk); in ata_raid_create()
1064 switch (pci_get_vendor(GRANDPARENT(rdp->disks[disk].dev))) { in ata_raid_create()
1072 rdp->disks[disk].sectors = HPTV3_LBA(rdp->disks[disk].dev); in ata_raid_create()
1077 rdp->disks[disk].sectors = INTEL_LBA(rdp->disks[disk].dev); in ata_raid_create()
1082 rdp->disks[disk].sectors = ITE_LBA(rdp->disks[disk].dev); in ata_raid_create()
1087 rdp->disks[disk].sectors = JMICRON_LBA(rdp->disks[disk].dev); in ata_raid_create()
1093 rdp->disks[disk].sectors = PROMISE_LBA(rdp->disks[disk].dev); in ata_raid_create()
1098 rdp->disks[disk].sectors = SIS_LBA(rdp->disks[disk].dev); in ata_raid_create()
1104 rdp->disks[disk].sectors = VIA_LBA(rdp->disks[disk].dev); in ata_raid_create()
1123 rdp->disks[disk].sectors = PROMISE_LBA(rdp->disks[disk].dev); in ata_raid_create()
1139 disk_size = min(rdp->disks[disk].sectors, disk_size); in ata_raid_create()
1141 disk_size = rdp->disks[disk].sectors; in ata_raid_create()
1142 rdp->disks[disk].flags = in ata_raid_create()
1148 config->disks[disk] = -1; in ata_raid_create()
1265 for (disk = 0; disk < config->total_disks; disk++) { in ata_raid_create()
1267 config->disks[disk]))) { in ata_raid_create()
1271 ars->disk_number[rdp->volume] = disk; in ata_raid_create()
1285 int disk; in ata_raid_delete() local
1291 disk_destroy(&rdp->disk); in ata_raid_delete()
1294 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_delete()
1295 if ((rdp->disks[disk].flags & AR_DF_PRESENT) && rdp->disks[disk].dev) { in ata_raid_delete()
1297 device_get_unit(rdp->disks[disk].dev)))) { in ata_raid_delete()
1302 if (ars->disk_number[rdp->volume] != disk) /* XXX SOS */ in ata_raid_delete()
1307 rdp->disks[disk].flags = 0; in ata_raid_delete()
1321 int disk; in ata_raid_addspare() local
1333 for (disk = 0; disk < rdp->total_disks; disk++ ) { in ata_raid_addspare()
1335 if (((rdp->disks[disk].flags & (AR_DF_PRESENT | AR_DF_ONLINE)) == in ata_raid_addspare()
1336 (AR_DF_PRESENT | AR_DF_ONLINE)) && rdp->disks[disk].dev) in ata_raid_addspare()
1348 ars->disk_number[rdp->volume] = disk; in ata_raid_addspare()
1349 rdp->disks[disk].dev = device_get_parent(subdisk); in ata_raid_addspare()
1350 rdp->disks[disk].flags = in ata_raid_addspare()
1353 device_printf(rdp->disks[disk].dev, in ata_raid_addspare()
1355 rdp->lun, disk); in ata_raid_addspare()
1371 int disk, count; in ata_raid_rebuild() local
1385 for (count = 0, disk = 0; disk < rdp->total_disks; disk++ ) { in ata_raid_rebuild()
1386 if (((rdp->disks[disk].flags & in ata_raid_rebuild()
1389 rdp->disks[disk].dev) { in ata_raid_rebuild()
1544 int disk, error = 0; in ata_raid_wipe_metadata() local
1549 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_wipe_metadata()
1550 if (rdp->disks[disk].dev) { in ata_raid_wipe_metadata()
1553 lba = ADP_LBA(rdp->disks[disk].dev); in ata_raid_wipe_metadata()
1558 lba = HPTV2_LBA(rdp->disks[disk].dev); in ata_raid_wipe_metadata()
1563 lba = HPTV3_LBA(rdp->disks[disk].dev); in ata_raid_wipe_metadata()
1568 lba = INTEL_LBA(rdp->disks[disk].dev); in ata_raid_wipe_metadata()
1573 lba = ITE_LBA(rdp->disks[disk].dev); in ata_raid_wipe_metadata()
1578 lba = JMICRON_LBA(rdp->disks[disk].dev); in ata_raid_wipe_metadata()
1583 lba = LSIV2_LBA(rdp->disks[disk].dev); in ata_raid_wipe_metadata()
1588 lba = LSIV3_LBA(rdp->disks[disk].dev); in ata_raid_wipe_metadata()
1593 lba = NVIDIA_LBA(rdp->disks[disk].dev); in ata_raid_wipe_metadata()
1599 lba = PROMISE_LBA(rdp->disks[disk].dev); in ata_raid_wipe_metadata()
1604 lba = SII_LBA(rdp->disks[disk].dev); in ata_raid_wipe_metadata()
1609 lba = SIS_LBA(rdp->disks[disk].dev); in ata_raid_wipe_metadata()
1614 lba = VIA_LBA(rdp->disks[disk].dev); in ata_raid_wipe_metadata()
1624 if (ata_raid_rw(rdp->disks[disk].dev, lba, meta, size, in ata_raid_wipe_metadata()
1626 device_printf(rdp->disks[disk].dev, "wipe metadata failed\n"); in ata_raid_wipe_metadata()
1643 int array, disk, retval = 0; in ata_raid_adaptec_read_meta() local
1717 for (disk = 0; disk < raid->total_disks; disk++) { in ata_raid_adaptec_read_meta()
1718 raid->disks[disk].dev = NULL; in ata_raid_adaptec_read_meta()
1719 raid->disks[disk].flags = 0; in ata_raid_adaptec_read_meta()
1901 int disk, error = 0; in ata_raid_hptv2_write_meta() local
1910 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_hptv2_write_meta()
1911 if ((rdp->disks[disk].flags & (AR_DF_PRESENT | AR_DF_ONLINE)) == in ata_raid_hptv2_write_meta()
1914 if (rdp->disks[disk].flags & AR_DF_ASSIGNED) { in ata_raid_hptv2_write_meta()
1921 meta->disk_number = disk; in ata_raid_hptv2_write_meta()
1927 if (rdp->disks[disk].flags & AR_DF_ONLINE) in ata_raid_hptv2_write_meta()
1934 meta->disk_number = (disk < rdp->width) ? disk : disk + 5; in ata_raid_hptv2_write_meta()
1941 if (rdp->disks[disk].flags & AR_DF_ONLINE) { in ata_raid_hptv2_write_meta()
1942 if (disk < rdp->width) { in ata_raid_hptv2_write_meta()
1971 if (rdp->disks[disk].dev) { in ata_raid_hptv2_write_meta()
1972 if (ata_raid_rw(rdp->disks[disk].dev, in ata_raid_hptv2_write_meta()
1973 HPTV2_LBA(rdp->disks[disk].dev), meta, in ata_raid_hptv2_write_meta()
1976 device_printf(rdp->disks[disk].dev, "write metadata failed\n"); in ata_raid_hptv2_write_meta()
2129 int array, count, disk, volume = 1, retval = 0; in ata_raid_intel_read_meta() local
2165 map = (struct intel_raid_mapping *)&meta->disk[meta->total_disks]; in ata_raid_intel_read_meta()
2243 for (disk = 0; disk < raid->total_disks; disk++) { in ata_raid_intel_read_meta()
2244 u_int disk_idx = map->disk_idx[disk] & 0xffff; in ata_raid_intel_read_meta()
2246 raid->disks[disk].dev = NULL; in ata_raid_intel_read_meta()
2247 bcopy(meta->disk[disk_idx].serial, in ata_raid_intel_read_meta()
2248 raid->disks[disk].serial, in ata_raid_intel_read_meta()
2249 sizeof(raid->disks[disk].serial)); in ata_raid_intel_read_meta()
2250 raid->disks[disk].sectors = in ata_raid_intel_read_meta()
2251 meta->disk[disk_idx].sectors; in ata_raid_intel_read_meta()
2252 raid->disks[disk].flags = 0; in ata_raid_intel_read_meta()
2253 if (meta->disk[disk_idx].flags & INTEL_F_ONLINE) in ata_raid_intel_read_meta()
2254 raid->disks[disk].flags |= AR_DF_ONLINE; in ata_raid_intel_read_meta()
2255 if (meta->disk[disk_idx].flags & INTEL_F_ASSIGNED) in ata_raid_intel_read_meta()
2256 raid->disks[disk].flags |= AR_DF_ASSIGNED; in ata_raid_intel_read_meta()
2257 if (meta->disk[disk_idx].flags & INTEL_F_SPARE) { in ata_raid_intel_read_meta()
2258 raid->disks[disk].flags &= ~(AR_DF_ONLINE | AR_DF_ASSIGNED); in ata_raid_intel_read_meta()
2259 raid->disks[disk].flags |= AR_DF_SPARE; in ata_raid_intel_read_meta()
2261 if (meta->disk[disk_idx].flags & INTEL_F_DOWN) in ata_raid_intel_read_meta()
2262 raid->disks[disk].flags &= ~AR_DF_ONLINE; in ata_raid_intel_read_meta()
2266 for (disk = 0; disk < raid->total_disks; disk++) { in ata_raid_intel_read_meta()
2274 len = (len > sizeof(raid->disks[disk].serial)) ? in ata_raid_intel_read_meta()
2275 len - sizeof(raid->disks[disk].serial) : 0; in ata_raid_intel_read_meta()
2276 if (!strncmp(raid->disks[disk].serial, atadev->param.serial + len, in ata_raid_intel_read_meta()
2277 sizeof(raid->disks[disk].serial))) { in ata_raid_intel_read_meta()
2278 raid->disks[disk].dev = parent; in ata_raid_intel_read_meta()
2279 raid->disks[disk].flags |= (AR_DF_PRESENT | AR_DF_ONLINE); in ata_raid_intel_read_meta()
2281 ars->disk_number[raid->volume] = disk; in ata_raid_intel_read_meta()
2319 int count, disk, error = 0; in ata_raid_intel_write_meta() local
2338 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_intel_write_meta()
2339 if (rdp->disks[disk].dev) { in ata_raid_intel_write_meta()
2341 device_get_softc(device_get_parent(rdp->disks[disk].dev)); in ata_raid_intel_write_meta()
2343 device_get_softc(rdp->disks[disk].dev); in ata_raid_intel_write_meta()
2350 len = (len > sizeof(rdp->disks[disk].serial)) ? in ata_raid_intel_write_meta()
2351 len - sizeof(rdp->disks[disk].serial) : 0; in ata_raid_intel_write_meta()
2352 bcopy(atadev->param.serial + len, meta->disk[disk].serial, in ata_raid_intel_write_meta()
2353 sizeof(rdp->disks[disk].serial)); in ata_raid_intel_write_meta()
2354 meta->disk[disk].sectors = rdp->disks[disk].sectors; in ata_raid_intel_write_meta()
2355 meta->disk[disk].id = (ch->unit << 16) | atadev->unit; in ata_raid_intel_write_meta()
2358 meta->disk[disk].sectors = rdp->total_sectors / rdp->width; in ata_raid_intel_write_meta()
2359 meta->disk[disk].flags = 0; in ata_raid_intel_write_meta()
2360 if (rdp->disks[disk].flags & AR_DF_SPARE) in ata_raid_intel_write_meta()
2361 meta->disk[disk].flags |= INTEL_F_SPARE; in ata_raid_intel_write_meta()
2363 if (rdp->disks[disk].flags & AR_DF_ONLINE) in ata_raid_intel_write_meta()
2364 meta->disk[disk].flags |= INTEL_F_ONLINE; in ata_raid_intel_write_meta()
2366 meta->disk[disk].flags |= INTEL_F_DOWN; in ata_raid_intel_write_meta()
2367 if (rdp->disks[disk].flags & AR_DF_ASSIGNED) in ata_raid_intel_write_meta()
2368 meta->disk[disk].flags |= INTEL_F_ASSIGNED; in ata_raid_intel_write_meta()
2371 map = (struct intel_raid_mapping *)&meta->disk[meta->total_disks]; in ata_raid_intel_write_meta()
2402 for (disk = 0; disk < rdp->total_disks; disk++) in ata_raid_intel_write_meta()
2403 map->disk_idx[disk] = disk; in ata_raid_intel_write_meta()
2405 meta->config_size = (char *)&map->disk_idx[disk] - (char *)meta; in ata_raid_intel_write_meta()
2420 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_intel_write_meta()
2421 if (rdp->disks[disk].dev) { in ata_raid_intel_write_meta()
2422 if (ata_raid_rw(rdp->disks[disk].dev, in ata_raid_intel_write_meta()
2423 INTEL_LBA(rdp->disks[disk].dev), in ata_raid_intel_write_meta()
2425 device_printf(rdp->disks[disk].dev, "write metadata failed\n"); in ata_raid_intel_write_meta()
2561 int count, array, disk, total_disks, retval = 0; in ata_raid_jmicron_read_meta() local
2604 for (total_disks = 0, disk = 0; disk < JM_MAX_DISKS; disk++) { in ata_raid_jmicron_read_meta()
2605 if (meta->disks[disk]) { in ata_raid_jmicron_read_meta()
2607 if (bcmp(&meta->disks[disk], in ata_raid_jmicron_read_meta()
2608 raid->disks[disk].serial, sizeof(u_int32_t))) { in ata_raid_jmicron_read_meta()
2614 bcopy(&meta->disks[disk], in ata_raid_jmicron_read_meta()
2615 raid->disks[disk].serial, sizeof(u_int32_t)); in ata_raid_jmicron_read_meta()
2668 for (disk = 0; disk < raid->total_disks; disk++) { in ata_raid_jmicron_read_meta()
2669 if (meta->disks[disk] == meta->disk_id) { in ata_raid_jmicron_read_meta()
2670 raid->disks[disk].dev = parent; in ata_raid_jmicron_read_meta()
2671 raid->disks[disk].sectors = disk_size; in ata_raid_jmicron_read_meta()
2672 raid->disks[disk].flags = in ata_raid_jmicron_read_meta()
2675 ars->disk_number[raid->volume] = disk; in ata_raid_jmicron_read_meta()
2692 int disk, error = 0; in ata_raid_jmicron_write_meta() local
2732 for (disk = 0; disk < rdp->total_disks && disk < JM_MAX_DISKS; disk++) { in ata_raid_jmicron_write_meta()
2733 if (rdp->disks[disk].serial[0]) in ata_raid_jmicron_write_meta()
2734 bcopy(rdp->disks[disk].serial,&meta->disks[disk],sizeof(u_int32_t)); in ata_raid_jmicron_write_meta()
2736 meta->disks[disk] = (u_int32_t)(uintptr_t)rdp->disks[disk].dev; in ata_raid_jmicron_write_meta()
2739 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_jmicron_write_meta()
2740 if (rdp->disks[disk].dev) { in ata_raid_jmicron_write_meta()
2744 meta->disk_id = meta->disks[disk]; in ata_raid_jmicron_write_meta()
2753 if (ata_raid_rw(rdp->disks[disk].dev, in ata_raid_jmicron_write_meta()
2754 JMICRON_LBA(rdp->disks[disk].dev), in ata_raid_jmicron_write_meta()
2757 device_printf(rdp->disks[disk].dev, "write metadata failed\n"); in ata_raid_jmicron_write_meta()
2865 if (meta->configs[conf_entry].disk.device != LSIV2_D_NONE) { in ata_raid_lsiv2_read_meta()
2868 meta->configs[conf_entry].disk.disk_sectors; in ata_raid_lsiv2_read_meta()
3146 int array, count, disk, disksum = 0, retval = 0; in ata_raid_promise_read_meta() local
3268 for (disk = 0; disk < meta->raid.total_disks; disk++) { in ata_raid_promise_read_meta()
3269 raid->disks[disk].dev = NULL; in ata_raid_promise_read_meta()
3270 raid->disks[disk].flags = 0; in ata_raid_promise_read_meta()
3271 *((u_int64_t *)(raid->disks[disk].serial)) = in ata_raid_promise_read_meta()
3272 meta->raid.disk[disk].magic_0; in ata_raid_promise_read_meta()
3273 disksum += meta->raid.disk[disk].flags; in ata_raid_promise_read_meta()
3274 if (meta->raid.disk[disk].flags & PR_F_ONLINE) in ata_raid_promise_read_meta()
3275 raid->disks[disk].flags |= AR_DF_ONLINE; in ata_raid_promise_read_meta()
3276 if (meta->raid.disk[disk].flags & PR_F_ASSIGNED) in ata_raid_promise_read_meta()
3277 raid->disks[disk].flags |= AR_DF_ASSIGNED; in ata_raid_promise_read_meta()
3278 if (meta->raid.disk[disk].flags & PR_F_SPARE) { in ata_raid_promise_read_meta()
3279 raid->disks[disk].flags &= ~(AR_DF_ONLINE | AR_DF_ASSIGNED); in ata_raid_promise_read_meta()
3280 raid->disks[disk].flags |= AR_DF_SPARE; in ata_raid_promise_read_meta()
3282 if (meta->raid.disk[disk].flags & (PR_F_REDIR | PR_F_DOWN)) in ata_raid_promise_read_meta()
3283 raid->disks[disk].flags &= ~AR_DF_ONLINE; in ata_raid_promise_read_meta()
3324 int count, disk, drive, error = 0; in ata_raid_promise_write_meta() local
3332 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_promise_write_meta()
3336 meta->raid.disk_number = disk; in ata_raid_promise_write_meta()
3338 if (rdp->disks[disk].dev) { in ata_raid_promise_write_meta()
3339 struct ata_device *atadev = device_get_softc(rdp->disks[disk].dev); in ata_raid_promise_write_meta()
3341 device_get_softc(device_get_parent(rdp->disks[disk].dev)); in ata_raid_promise_write_meta()
3345 meta->raid.disk_sectors = rdp->disks[disk].sectors; in ata_raid_promise_write_meta()
3410 bzero(&meta->raid.disk, 8 * 12); in ata_raid_promise_write_meta()
3412 meta->raid.disk[drive].flags = 0; in ata_raid_promise_write_meta()
3414 meta->raid.disk[drive].flags |= PR_F_VALID; in ata_raid_promise_write_meta()
3416 meta->raid.disk[drive].flags |= PR_F_ASSIGNED; in ata_raid_promise_write_meta()
3418 meta->raid.disk[drive].flags |= PR_F_ONLINE; in ata_raid_promise_write_meta()
3421 meta->raid.disk[drive].flags = (PR_F_REDIR | PR_F_DOWN); in ata_raid_promise_write_meta()
3423 meta->raid.disk[drive].flags |= PR_F_SPARE; in ata_raid_promise_write_meta()
3424 meta->raid.disk[drive].dummy_0 = 0x0; in ata_raid_promise_write_meta()
3431 meta->raid.disk[drive].channel = ch->unit; in ata_raid_promise_write_meta()
3432 meta->raid.disk[drive].device = atadev->unit; in ata_raid_promise_write_meta()
3434 meta->raid.disk[drive].magic_0 = in ata_raid_promise_write_meta()
3435 PR_MAGIC0(meta->raid.disk[drive]) | timestamp.tv_sec; in ata_raid_promise_write_meta()
3438 if (rdp->disks[disk].dev) { in ata_raid_promise_write_meta()
3439 if ((rdp->disks[disk].flags & (AR_DF_PRESENT | AR_DF_ONLINE)) == in ata_raid_promise_write_meta()
3453 if (ata_raid_rw(rdp->disks[disk].dev, in ata_raid_promise_write_meta()
3454 PROMISE_LBA(rdp->disks[disk].dev), in ata_raid_promise_write_meta()
3457 device_printf(rdp->disks[disk].dev, "write metadata failed\n"); in ata_raid_promise_write_meta()
3475 int array, count, disk, retval = 0; in ata_raid_sii_read_meta() local
3579 for (disk = 0; disk < raid->total_disks; disk++) { in ata_raid_sii_read_meta()
3580 raid->disks[disk].dev = NULL; in ata_raid_sii_read_meta()
3581 raid->disks[disk].flags = 0; in ata_raid_sii_read_meta()
3730 int disk, error = 0; in ata_raid_sis_write_meta() local
3740 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_sis_write_meta()
3741 if (rdp->disks[disk].dev) { in ata_raid_sis_write_meta()
3743 device_get_softc(device_get_parent(rdp->disks[disk].dev)); in ata_raid_sis_write_meta()
3744 struct ata_device *atadev = device_get_softc(rdp->disks[disk].dev); in ata_raid_sis_write_meta()
3747 meta->disks |= disk_number << ((1 - disk) << 2); in ata_raid_sis_write_meta()
3771 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_sis_write_meta()
3772 if (rdp->disks[disk].dev) { in ata_raid_sis_write_meta()
3774 device_get_softc(device_get_parent(rdp->disks[disk].dev)); in ata_raid_sis_write_meta()
3775 struct ata_device *atadev = device_get_softc(rdp->disks[disk].dev); in ata_raid_sis_write_meta()
3778 (pci_get_vendor(GRANDPARENT(rdp->disks[disk].dev)) << 16) | in ata_raid_sis_write_meta()
3779 pci_get_device(GRANDPARENT(rdp->disks[disk].dev)); in ata_raid_sis_write_meta()
3788 if (ata_raid_rw(rdp->disks[disk].dev, in ata_raid_sis_write_meta()
3789 SIS_LBA(rdp->disks[disk].dev), in ata_raid_sis_write_meta()
3792 device_printf(rdp->disks[disk].dev, "write metadata failed\n"); in ata_raid_sis_write_meta()
3810 int array, count, disk, retval = 0; in ata_raid_via_read_meta() local
3903 for (count = 0, disk = 0; disk < 8; disk++) in ata_raid_via_read_meta()
3904 if (meta->disks[disk]) in ata_raid_via_read_meta()
3914 for (disk = 0; disk < raid->total_disks; disk++) { in ata_raid_via_read_meta()
3915 if (meta->disks[disk] == meta->disk_id) { in ata_raid_via_read_meta()
3916 raid->disks[disk].dev = parent; in ata_raid_via_read_meta()
3917 bcopy(&meta->disk_id, raid->disks[disk].serial, in ata_raid_via_read_meta()
3919 raid->disks[disk].sectors = meta->disk_sectors; in ata_raid_via_read_meta()
3920 raid->disks[disk].flags = in ata_raid_via_read_meta()
3923 ars->disk_number[raid->volume] = disk; in ata_raid_via_read_meta()
3940 int disk, error = 0; in ata_raid_via_write_meta() local
3985 for (disk = 0; disk < rdp->total_disks; disk++) in ata_raid_via_write_meta()
3986 meta->disks[disk] = (u_int32_t)(uintptr_t)rdp->disks[disk].dev; in ata_raid_via_write_meta()
3988 for (disk = 0; disk < rdp->total_disks; disk++) { in ata_raid_via_write_meta()
3989 if (rdp->disks[disk].dev) { in ata_raid_via_write_meta()
3993 meta->disk_index = disk * sizeof(u_int32_t); in ata_raid_via_write_meta()
3997 meta->disk_id = meta->disks[disk]; in ata_raid_via_write_meta()
4005 if (ata_raid_rw(rdp->disks[disk].dev, in ata_raid_via_write_meta()
4006 VIA_LBA(rdp->disks[disk].dev), in ata_raid_via_write_meta()
4009 device_printf(rdp->disks[disk].dev, "write metadata failed\n"); in ata_raid_via_write_meta()
4241 disk_destroy(&rdp->disk); in ata_raid_module_event_handler()
4472 meta->errorlog[i%32].disk, meta->errorlog[i%32].status, in ata_raid_hptv2_print_meta()
4574 meta->disk[i].serial, meta->disk[i].sectors, in ata_raid_intel_print_meta()
4575 meta->disk[i].id, meta->disk[i].flags); in ata_raid_intel_print_meta()
4577 map = (struct intel_raid_mapping *)&meta->disk[meta->total_disks]; in ata_raid_intel_print_meta()
4774 if (meta->disk[i].disk_sectors) { in ata_raid_lsiv3_print_meta()
4776 meta->disk[i].disk_sectors); in ata_raid_lsiv3_print_meta()
4777 kprintf("%02d flags 0x%02x\n", i, meta->disk[i].flags); in ata_raid_lsiv3_print_meta()
4900 meta->raid.disk[i].flags, meta->raid.disk[i].dummy_0, in ata_raid_promise_print_meta()
4901 meta->raid.disk[i].channel, meta->raid.disk[i].device); in ata_raid_promise_print_meta()
4902 kprintf("0x%016jx\n", meta->raid.disk[i].magic_0); in ata_raid_promise_print_meta()