tag | line | file | source code |
hwif | 215 | drivers/block/ide.c | void ide_set_recovery_timer (ide_hwif_t *hwif) |
hwif | 217 | drivers/block/ide.c | hwif->last_time = read_timer(); |
hwif | 256 | drivers/block/ide.c | ide_hwif_t *hwif = &ide_hwifs[h]; |
hwif | 259 | drivers/block/ide.c | hwif->noprobe = (h > 1); |
hwif | 260 | drivers/block/ide.c | hwif->io_base = default_io_base[h]; |
hwif | 261 | drivers/block/ide.c | hwif->ctl_port = hwif->io_base ? hwif->io_base+0x206 : 0x000; |
hwif | 263 | drivers/block/ide.c | if (hwif->io_base == HD_DATA) |
hwif | 264 | drivers/block/ide.c | hwif->noprobe = 1; /* may be overriden by ide_setup() */ |
hwif | 266 | drivers/block/ide.c | hwif->major = ide_hwif_to_major[h]; |
hwif | 267 | drivers/block/ide.c | hwif->name[0] = 'i'; |
hwif | 268 | drivers/block/ide.c | hwif->name[1] = 'd'; |
hwif | 269 | drivers/block/ide.c | hwif->name[2] = 'e'; |
hwif | 270 | drivers/block/ide.c | hwif->name[3] = '0' + h; |
hwif | 273 | drivers/block/ide.c | ide_drive_t *drive = &hwif->drives[unit]; |
hwif | 277 | drivers/block/ide.c | drive->hwif = hwif; |
hwif | 362 | drivers/block/ide.c | void ide_hwif_select (ide_hwif_t *hwif) |
hwif | 366 | drivers/block/ide.c | if (hwif->select != current_select) { |
hwif | 370 | drivers/block/ide.c | current_select = hwif->select; |
hwif | 457 | drivers/block/ide.c | ide_hwif_t *hwif = gd->real_devices; |
hwif | 460 | drivers/block/ide.c | ide_drive_t *drive = &hwif->drives[unit]; |
hwif | 472 | drivers/block/ide.c | gd->real_devices = hwif->drives[0].name; /* name of first drive */ |
hwif | 508 | drivers/block/ide.c | static void init_gendisk (ide_hwif_t *hwif) |
hwif | 516 | drivers/block/ide.c | if (hwif->drives[units-1].present) |
hwif | 526 | drivers/block/ide.c | blksize_size[hwif->major] = bs; |
hwif | 531 | drivers/block/ide.c | hwif->drives[unit].part = &gd->part[unit << PARTN_BITS]; |
hwif | 533 | drivers/block/ide.c | gd->major = hwif->major; /* our major device number */ |
hwif | 540 | drivers/block/ide.c | gd->real_devices= hwif; /* ptr to internal data */ |
hwif | 543 | drivers/block/ide.c | hwif->gd = gendisk_head = gd; |
hwif | 568 | drivers/block/ide.c | static void start_reset_timer (ide_hwif_t *hwif) |
hwif | 570 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = hwif->hwgroup; |
hwif | 589 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwif | 598 | drivers/block/ide.c | start_reset_timer (hwif); |
hwif | 622 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwif | 633 | drivers/block/ide.c | start_reset_timer (hwif); |
hwif | 636 | drivers/block/ide.c | printk("%s: reset timed-out, status=0x%02x\n", hwif->name, tmp); |
hwif | 638 | drivers/block/ide.c | printk("%s: reset: ", hwif->name); |
hwif | 685 | drivers/block/ide.c | ide_hwif_t *hwif = HWIF(drive); |
hwif | 702 | drivers/block/ide.c | start_reset_timer (hwif); /* begin periodic polling */ |
hwif | 715 | drivers/block/ide.c | ide_drive_t *rdrive = &hwif->drives[unit]; |
hwif | 742 | drivers/block/ide.c | start_reset_timer (hwif); /* begin periodic polling */ |
hwif | 1314 | drivers/block/ide.c | static inline void do_request (ide_hwif_t *hwif, struct request *rq) |
hwif | 1322 | drivers/block/ide.c | printk("%s: ide_do_request: current=0x%08lx\n", hwif->name, (unsigned long) rq); |
hwif | 1326 | drivers/block/ide.c | if (MAJOR(rq->rq_dev) != hwif->major || unit >= MAX_DRIVES) { |
hwif | 1328 | drivers/block/ide.c | hwif->name, kdevname(rq->rq_dev)); |
hwif | 1331 | drivers/block/ide.c | drive = &hwif->drives[unit]; |
hwif | 1352 | drivers/block/ide.c | ((ide_hwgroup_t *)hwif->hwgroup)->drive = drive; |
hwif | 1354 | drivers/block/ide.c | while ((read_timer() - hwif->last_time) < DISK_RECOVERY_TIME); |
hwif | 1357 | drivers/block/ide.c | if (hwif->select) |
hwif | 1358 | drivers/block/ide.c | ide_hwif_select (hwif); |
hwif | 1388 | drivers/block/ide.c | ide_end_request(0, hwif->hwgroup); |
hwif | 1410 | drivers/block/ide.c | printk("%s: EEeekk!! handler not NULL in ide_do_request()\n", hwgroup->hwif->name); |
hwif | 1414 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwif | 1419 | drivers/block/ide.c | rq = blk_dev[hwif->major].current_request; |
hwif | 1422 | drivers/block/ide.c | } while ((hwif = hwif->next) != hwgroup->hwif); |
hwif | 1425 | drivers/block/ide.c | blk_dev[hwif->major].current_request = rq->next; |
hwif | 1427 | drivers/block/ide.c | do_request(hwgroup->hwif = hwif, hwgroup->rq = rq); |
hwif | 1446 | drivers/block/ide.c | ide_hwif_t *hgif = hwgroup->hwif; |
hwif | 1447 | drivers/block/ide.c | ide_hwif_t *hwif = hgif; |
hwif | 1449 | drivers/block/ide.c | disable_irq(hwif->irq); |
hwif | 1450 | drivers/block/ide.c | } while ((hwif = hwif->next) != hgif); |
hwif | 1453 | drivers/block/ide.c | enable_irq(hwif->irq); |
hwif | 1454 | drivers/block/ide.c | } while ((hwif = hwif->next) != hgif); |
hwif | 1495 | drivers/block/ide.c | if (hwgroup->hwif->dmaproc) |
hwif | 1496 | drivers/block/ide.c | (void) hwgroup->hwif->dmaproc (ide_dma_abort, drive); |
hwif | 1530 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwif | 1545 | drivers/block/ide.c | if (hwif->irq == irq) { |
hwif | 1547 | drivers/block/ide.c | if (hwif->select) |
hwif | 1548 | drivers/block/ide.c | ide_hwif_select (hwif); |
hwif | 1551 | drivers/block/ide.c | ide_drive_t *drive = &hwif->drives[unit]; |
hwif | 1560 | drivers/block/ide.c | } while ((hwif = hwif->next) != hwgroup->hwif); |
hwif | 1571 | drivers/block/ide.c | if (irq == hwgroup->hwif->irq && (handler = hwgroup->handler) != NULL) { |
hwif | 1594 | drivers/block/ide.c | ide_hwif_t *hwif = &ide_hwifs[h]; |
hwif | 1595 | drivers/block/ide.c | if (hwif->present && major == hwif->major) { |
hwif | 1598 | drivers/block/ide.c | ide_drive_t *drive = &hwif->drives[unit]; |
hwif | 2283 | drivers/block/ide.c | static void probe_for_drives (ide_hwif_t *hwif) |
hwif | 2287 | drivers/block/ide.c | if (check_region(hwif->io_base,8) || check_region(hwif->ctl_port,1)) { |
hwif | 2290 | drivers/block/ide.c | ide_drive_t *drive = &hwif->drives[unit]; |
hwif | 2298 | drivers/block/ide.c | printk("%s: ports already in use, skipping probe\n", hwif->name); |
hwif | 2304 | drivers/block/ide.c | printk("%s: probing for first 2 of %d possible drives\n", hwif->name, MAX_DRIVES); |
hwif | 2312 | drivers/block/ide.c | ide_drive_t *drive = &hwif->drives[unit]; |
hwif | 2320 | drivers/block/ide.c | ide_drive_t *drive = &hwif->drives[unit]; |
hwif | 2322 | drivers/block/ide.c | hwif->present = 1; |
hwif | 2323 | drivers/block/ide.c | request_region(hwif->io_base, 8, hwif->name); |
hwif | 2324 | drivers/block/ide.c | request_region(hwif->ctl_port, 1, hwif->name); |
hwif | 2537 | drivers/block/ide.c | ide_hwif_t *hwif; |
hwif | 2554 | drivers/block/ide.c | hwif = &ide_hwifs[hw]; |
hwif | 2555 | drivers/block/ide.c | drive = &hwif->drives[unit]; |
hwif | 2562 | drivers/block/ide.c | hwif->noprobe = 0; |
hwif | 2567 | drivers/block/ide.c | hwif->noprobe = 0; |
hwif | 2578 | drivers/block/ide.c | hwif->noprobe = 0; |
hwif | 2590 | drivers/block/ide.c | hwif = &ide_hwifs[hw]; |
hwif | 2613 | drivers/block/ide.c | request_region(0x3e6, 1, hwif->name); |
hwif | 2630 | drivers/block/ide.c | hwif->noprobe = 1; |
hwif | 2637 | drivers/block/ide.c | hwif->io_base = vals[0]; |
hwif | 2638 | drivers/block/ide.c | hwif->ctl_port = vals[1]; |
hwif | 2639 | drivers/block/ide.c | hwif->irq = vals[2]; |
hwif | 2640 | drivers/block/ide.c | hwif->noprobe = 0; |
hwif | 2720 | drivers/block/ide.c | static void probe_cmos_for_drives (ide_hwif_t *hwif) |
hwif | 2731 | drivers/block/ide.c | ide_drive_t *drive = &hwif->drives[unit]; |
hwif | 2753 | drivers/block/ide.c | static int init_irq (ide_hwif_t *hwif) |
hwif | 2763 | drivers/block/ide.c | if (request_irq(hwif->irq, ide_intr, |
hwif | 2764 | drivers/block/ide.c | SA_INTERRUPT|SA_SAMPLE_RANDOM, hwif->name)) { |
hwif | 2773 | drivers/block/ide.c | if ((hwgroup = irq_to_hwgroup[hwif->irq]) == NULL) { |
hwif | 2775 | drivers/block/ide.c | irq_to_hwgroup[hwif->irq] = hwgroup; |
hwif | 2776 | drivers/block/ide.c | hwgroup->hwif = hwif->next = hwif; |
hwif | 2788 | drivers/block/ide.c | hwif->next = hwgroup->hwif->next; |
hwif | 2789 | drivers/block/ide.c | hwgroup->hwif->next = hwif; |
hwif | 2791 | drivers/block/ide.c | hwif->hwgroup = hwgroup; |
hwif | 2795 | drivers/block/ide.c | printk("%s at 0x%03x-0x%03x,0x%03x on irq %d", hwif->name, |
hwif | 2796 | drivers/block/ide.c | hwif->io_base, hwif->io_base+7, hwif->ctl_port, hwif->irq); |
hwif | 2797 | drivers/block/ide.c | if (hwgroup->hwif != hwif) { |
hwif | 2798 | drivers/block/ide.c | char *name = hwgroup->hwif->name; |
hwif | 2799 | drivers/block/ide.c | if (hwgroup->hwif->irq == hwif->irq) |
hwif | 2966 | drivers/block/ide.c | ide_hwif_t *hwif = &ide_hwifs[h]; |
hwif | 2967 | drivers/block/ide.c | if (!hwif->noprobe) { |
hwif | 2968 | drivers/block/ide.c | if (hwif->io_base == HD_DATA) |
hwif | 2969 | drivers/block/ide.c | probe_cmos_for_drives (hwif); |
hwif | 2970 | drivers/block/ide.c | probe_for_drives (hwif); |
hwif | 2972 | drivers/block/ide.c | if (hwif->present) { |
hwif | 2973 | drivers/block/ide.c | if (!hwif->irq) { |
hwif | 2974 | drivers/block/ide.c | if (!(hwif->irq = default_irqs[h])) { |
hwif | 2975 | drivers/block/ide.c | printk("%s: DISABLED, NO IRQ\n", hwif->name); |
hwif | 2976 | drivers/block/ide.c | hwif->present = 0; |
hwif | 2981 | drivers/block/ide.c | if (hwif->irq == HD_IRQ && hwif->io_base != HD_DATA) { |
hwif | 2982 | drivers/block/ide.c | printk("%s: CANNOT SHARE IRQ WITH OLD HARDDISK DRIVER (hd.c)\n", hwif->name); |
hwif | 2983 | drivers/block/ide.c | hwif->present = 0; |
hwif | 2994 | drivers/block/ide.c | ide_hwif_t *hwif = &ide_hwifs[h]; |
hwif | 2995 | drivers/block/ide.c | if (!hwif->present) |
hwif | 2997 | drivers/block/ide.c | hwif->present = 0; /* we set it back to 1 if all is ok below */ |
hwif | 3000 | drivers/block/ide.c | if (irq_to_hwgroup[hwif->irq] != NULL) { |
hwif | 3001 | drivers/block/ide.c | printk("%s: SERIALIZE BUG!\n", hwif->name); |
hwif | 3004 | drivers/block/ide.c | irq_to_hwgroup[hwif->irq] = irq_to_hwgroup[ide_hwifs[1].irq]; |
hwif | 3007 | drivers/block/ide.c | switch (hwif->major) { |
hwif | 3013 | drivers/block/ide.c | printk("%s: request_fn NOT DEFINED\n", hwif->name); |
hwif | 3016 | drivers/block/ide.c | if (register_blkdev (hwif->major, hwif->name, &ide_fops)) { |
hwif | 3017 | drivers/block/ide.c | printk("%s: UNABLE TO GET MAJOR NUMBER %d\n", hwif->name, hwif->major); |
hwif | 3018 | drivers/block/ide.c | } else if (init_irq (hwif)) { |
hwif | 3019 | drivers/block/ide.c | printk("%s: UNABLE TO GET IRQ %d\n", hwif->name, hwif->irq); |
hwif | 3020 | drivers/block/ide.c | (void) unregister_blkdev (hwif->major, hwif->name); |
hwif | 3022 | drivers/block/ide.c | init_gendisk(hwif); |
hwif | 3023 | drivers/block/ide.c | blk_dev[hwif->major].request_fn = rfn; |
hwif | 3024 | drivers/block/ide.c | read_ahead[hwif->major] = 8; /* (4kB) */ |
hwif | 3025 | drivers/block/ide.c | hwif->present = 1; /* success */ |
hwif | 83 | drivers/block/ide.h | #define HWIF(drive) ((ide_hwif_t *)drive->hwif) |
hwif | 268 | drivers/block/ide.h | void *hwif; /* actually (ide_hwif_t *) */ |
hwif | 339 | drivers/block/ide.h | ide_hwif_t *hwif; /* ptr to current hwif in linked-list */ |
hwif | 338 | drivers/block/triton.c | ide_hwif_t *hwif = &ide_hwifs[h]; |
hwif | 340 | drivers/block/triton.c | if (hwif->io_base == 0x1f0 && (timings & 0x8000)) { |
hwif | 343 | drivers/block/triton.c | } else if (hwif->io_base == 0x170 && (timings & 0x80000000)) { |
hwif | 348 | drivers/block/triton.c | printk(" %s: BusMaster DMA at 0x%04x-0x%04x", hwif->name, base, base+7); |
hwif | 353 | drivers/block/triton.c | request_region(base, 8, hwif->name); |
hwif | 354 | drivers/block/triton.c | hwif->dma_base = base; |
hwif | 356 | drivers/block/triton.c | hwif->dmatable = table; |
hwif | 358 | drivers/block/triton.c | hwif->dmaproc = &triton_dmaproc; |
hwif | 361 | drivers/block/triton.c | hwif->name, time, ((~time>>12)&3)+2, ((~time>>8)&3)+1); |