tag | line | file | source code |
hwgroup | 340 | drivers/block/blk.h | void ide_end_request(byte uptodate, ide_hwgroup_t *hwgroup); |
hwgroup | 344 | drivers/block/blk.h | void ide_end_request(byte uptodate, ide_hwgroup_t *hwgroup) { |
hwgroup | 345 | drivers/block/blk.h | struct request *req = hwgroup->rq; |
hwgroup | 379 | drivers/block/blk.h | hwgroup->rq = NULL; |
hwgroup | 385 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = HWGROUP(drive); |
hwgroup | 387 | drivers/block/ide.c | if (hwgroup->handler != NULL) |
hwgroup | 390 | drivers/block/ide.c | hwgroup->handler = handler; |
hwgroup | 391 | drivers/block/ide.c | hwgroup->timer.expires = jiffies + WAIT_CMD; |
hwgroup | 392 | drivers/block/ide.c | add_timer(&(hwgroup->timer)); |
hwgroup | 565 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = hwif->hwgroup; |
hwgroup | 567 | drivers/block/ide.c | hwgroup->reset_timeout = jiffies + WAIT_WORSTCASE; /* max waiting time */ |
hwgroup | 568 | drivers/block/ide.c | hwgroup->handler = &reset_ihandler; /* dummy irq handler */ |
hwgroup | 569 | drivers/block/ide.c | hwgroup->timer.expires = jiffies + (HZ/20); /* polling interval */ |
hwgroup | 570 | drivers/block/ide.c | add_timer(&(hwgroup->timer)); |
hwgroup | 582 | drivers/block/ide.c | static int atapi_reset_handler (ide_hwgroup_t *hwgroup) |
hwgroup | 584 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 585 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 592 | drivers/block/ide.c | if (jiffies < hwgroup->reset_timeout) { |
hwgroup | 599 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 0; |
hwgroup | 600 | drivers/block/ide.c | hwgroup->handler = NULL; /* allow new requests to be processed */ |
hwgroup | 601 | drivers/block/ide.c | hwgroup->reset_timeout = 0; /* signal end of ide reset operation */ |
hwgroup | 615 | drivers/block/ide.c | static int reset_handler (ide_hwgroup_t *hwgroup) |
hwgroup | 617 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 618 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 622 | drivers/block/ide.c | if (hwgroup->doing_atapi_reset) |
hwgroup | 623 | drivers/block/ide.c | return atapi_reset_handler(hwgroup); |
hwgroup | 627 | drivers/block/ide.c | if (jiffies < hwgroup->reset_timeout) { |
hwgroup | 656 | drivers/block/ide.c | hwgroup->handler = NULL; /* allow new requests to be processed */ |
hwgroup | 657 | drivers/block/ide.c | hwgroup->reset_timeout = 0; /* signal end of ide reset operation */ |
hwgroup | 681 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = HWGROUP(drive); |
hwgroup | 689 | drivers/block/ide.c | if (!hwgroup->doing_atapi_reset) { |
hwgroup | 690 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 1; |
hwgroup | 696 | drivers/block/ide.c | hwgroup->reset_timeout = jiffies + WAIT_WORSTCASE; |
hwgroup | 702 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 0; |
hwgroup | 736 | drivers/block/ide.c | hwgroup->reset_timeout = jiffies + WAIT_WORSTCASE; |
hwgroup | 1340 | drivers/block/ide.c | ((ide_hwgroup_t *)hwif->hwgroup)->drive = drive; |
hwgroup | 1376 | drivers/block/ide.c | ide_end_request(0, hwif->hwgroup); |
hwgroup | 1394 | drivers/block/ide.c | void ide_do_request (ide_hwgroup_t *hwgroup) |
hwgroup | 1397 | drivers/block/ide.c | if (hwgroup->handler != NULL) { |
hwgroup | 1398 | drivers/block/ide.c | printk("%s: EEeekk!! handler not NULL in ide_do_request()\n", hwgroup->hwif->name); |
hwgroup | 1402 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 1404 | drivers/block/ide.c | if ((rq = hwgroup->rq) == NULL) { |
hwgroup | 1405 | drivers/block/ide.c | hwgroup->drive = NULL; /* paranoia */ |
hwgroup | 1410 | drivers/block/ide.c | } while ((hwif = hwif->next) != hwgroup->hwif); |
hwgroup | 1415 | drivers/block/ide.c | do_request(hwgroup->hwif = hwif, hwgroup->rq = rq); |
hwgroup | 1417 | drivers/block/ide.c | } while (hwgroup->handler == NULL); |
hwgroup | 1431 | drivers/block/ide.c | static void do_hwgroup_request (ide_hwgroup_t *hwgroup) |
hwgroup | 1433 | drivers/block/ide.c | if (hwgroup->handler == NULL) { |
hwgroup | 1434 | drivers/block/ide.c | ide_hwif_t *hgif = hwgroup->hwif; |
hwgroup | 1439 | drivers/block/ide.c | ide_do_request (hwgroup); |
hwgroup | 1448 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[0].hwgroup); |
hwgroup | 1453 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[1].hwgroup); |
hwgroup | 1458 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[2].hwgroup); |
hwgroup | 1463 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[3].hwgroup); |
hwgroup | 1468 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = (ide_hwgroup_t *) data; |
hwgroup | 1469 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 1475 | drivers/block/ide.c | if (hwgroup->reset_timeout != 0) { /* ide reset in progress? */ |
hwgroup | 1476 | drivers/block/ide.c | if (!reset_handler(hwgroup)) |
hwgroup | 1477 | drivers/block/ide.c | do_hwgroup_request (hwgroup); |
hwgroup | 1478 | drivers/block/ide.c | } else if (hwgroup->handler == NULL) { /* not waiting for anything? */ |
hwgroup | 1482 | drivers/block/ide.c | hwgroup->handler = NULL; |
hwgroup | 1483 | drivers/block/ide.c | if (hwgroup->hwif->dmaproc) |
hwgroup | 1484 | drivers/block/ide.c | (void) hwgroup->hwif->dmaproc (ide_dma_abort, drive); |
hwgroup | 1486 | drivers/block/ide.c | do_hwgroup_request (hwgroup); |
hwgroup | 1514 | drivers/block/ide.c | static void unexpected_intr (int irq, ide_hwgroup_t *hwgroup) |
hwgroup | 1518 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 1523 | drivers/block/ide.c | if (hwgroup->reset_timeout != 0) { |
hwgroup | 1524 | drivers/block/ide.c | if (!reset_handler(hwgroup)) |
hwgroup | 1525 | drivers/block/ide.c | do_hwgroup_request (hwgroup); |
hwgroup | 1548 | drivers/block/ide.c | } while ((hwif = hwif->next) != hwgroup->hwif); |
hwgroup | 1556 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = irq_to_hwgroup[irq]; |
hwgroup | 1559 | drivers/block/ide.c | if (irq == hwgroup->hwif->irq && (handler = hwgroup->handler) != NULL) { |
hwgroup | 1560 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 1561 | drivers/block/ide.c | hwgroup->handler = NULL; |
hwgroup | 1562 | drivers/block/ide.c | del_timer(&(hwgroup->timer)); |
hwgroup | 1567 | drivers/block/ide.c | unexpected_intr(irq, hwgroup); |
hwgroup | 2730 | drivers/block/ide.c | ide_hwgroup_t *hwgroup; |
hwgroup | 2746 | drivers/block/ide.c | if ((hwgroup = irq_to_hwgroup[hwif->irq]) == NULL) { |
hwgroup | 2747 | drivers/block/ide.c | hwgroup = ide_alloc (sizeof(ide_hwgroup_t), 0); |
hwgroup | 2748 | drivers/block/ide.c | irq_to_hwgroup[hwif->irq] = hwgroup; |
hwgroup | 2749 | drivers/block/ide.c | hwgroup->hwif = hwif->next = hwif; |
hwgroup | 2750 | drivers/block/ide.c | hwgroup->rq = NULL; |
hwgroup | 2751 | drivers/block/ide.c | hwgroup->handler = NULL; |
hwgroup | 2752 | drivers/block/ide.c | hwgroup->drive = NULL; |
hwgroup | 2753 | drivers/block/ide.c | hwgroup->reset_timeout = 0; |
hwgroup | 2755 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 0; |
hwgroup | 2757 | drivers/block/ide.c | init_timer(&hwgroup->timer); |
hwgroup | 2758 | drivers/block/ide.c | hwgroup->timer.function = &timer_expiry; |
hwgroup | 2759 | drivers/block/ide.c | hwgroup->timer.data = (unsigned long) hwgroup; |
hwgroup | 2761 | drivers/block/ide.c | hwif->next = hwgroup->hwif->next; |
hwgroup | 2762 | drivers/block/ide.c | hwgroup->hwif->next = hwif; |
hwgroup | 2764 | drivers/block/ide.c | hwif->hwgroup = hwgroup; |
hwgroup | 2770 | drivers/block/ide.c | if (hwgroup->hwif != hwif) { |
hwgroup | 2771 | drivers/block/ide.c | char *name = hwgroup->hwif->name; |
hwgroup | 2772 | drivers/block/ide.c | if (hwgroup->hwif->irq == hwif->irq) |
hwgroup | 81 | drivers/block/ide.h | #define HWGROUP(drive) ((ide_hwgroup_t *)(HWIF(drive)->hwgroup)) |
hwgroup | 302 | drivers/block/ide.h | void *hwgroup; /* actually (ide_hwgroup_t *) */ |