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 | 390 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = HWGROUP(drive); |
hwgroup | 392 | drivers/block/ide.c | if (hwgroup->handler != NULL) |
hwgroup | 395 | drivers/block/ide.c | hwgroup->handler = handler; |
hwgroup | 396 | drivers/block/ide.c | hwgroup->timer.expires = jiffies + WAIT_CMD; |
hwgroup | 397 | drivers/block/ide.c | add_timer(&(hwgroup->timer)); |
hwgroup | 570 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = hwif->hwgroup; |
hwgroup | 572 | drivers/block/ide.c | hwgroup->reset_timeout = jiffies + WAIT_WORSTCASE; /* max waiting time */ |
hwgroup | 573 | drivers/block/ide.c | hwgroup->handler = &reset_ihandler; /* dummy irq handler */ |
hwgroup | 574 | drivers/block/ide.c | hwgroup->timer.expires = jiffies + (HZ/20); /* polling interval */ |
hwgroup | 575 | drivers/block/ide.c | add_timer(&(hwgroup->timer)); |
hwgroup | 587 | drivers/block/ide.c | static int atapi_reset_handler (ide_hwgroup_t *hwgroup) |
hwgroup | 589 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 590 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 597 | drivers/block/ide.c | if (jiffies < hwgroup->reset_timeout) { |
hwgroup | 604 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 0; |
hwgroup | 605 | drivers/block/ide.c | hwgroup->handler = NULL; /* allow new requests to be processed */ |
hwgroup | 606 | drivers/block/ide.c | hwgroup->reset_timeout = 0; /* signal end of ide reset operation */ |
hwgroup | 620 | drivers/block/ide.c | static int reset_handler (ide_hwgroup_t *hwgroup) |
hwgroup | 622 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 623 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 627 | drivers/block/ide.c | if (hwgroup->doing_atapi_reset) |
hwgroup | 628 | drivers/block/ide.c | return atapi_reset_handler(hwgroup); |
hwgroup | 632 | drivers/block/ide.c | if (jiffies < hwgroup->reset_timeout) { |
hwgroup | 661 | drivers/block/ide.c | hwgroup->handler = NULL; /* allow new requests to be processed */ |
hwgroup | 662 | drivers/block/ide.c | hwgroup->reset_timeout = 0; /* signal end of ide reset operation */ |
hwgroup | 686 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = HWGROUP(drive); |
hwgroup | 694 | drivers/block/ide.c | if (!hwgroup->doing_atapi_reset) { |
hwgroup | 695 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 1; |
hwgroup | 701 | drivers/block/ide.c | hwgroup->reset_timeout = jiffies + WAIT_WORSTCASE; |
hwgroup | 707 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 0; |
hwgroup | 741 | drivers/block/ide.c | hwgroup->reset_timeout = jiffies + WAIT_WORSTCASE; |
hwgroup | 1352 | drivers/block/ide.c | ((ide_hwgroup_t *)hwif->hwgroup)->drive = drive; |
hwgroup | 1388 | drivers/block/ide.c | ide_end_request(0, hwif->hwgroup); |
hwgroup | 1406 | drivers/block/ide.c | void ide_do_request (ide_hwgroup_t *hwgroup) |
hwgroup | 1409 | drivers/block/ide.c | if (hwgroup->handler != NULL) { |
hwgroup | 1410 | drivers/block/ide.c | printk("%s: EEeekk!! handler not NULL in ide_do_request()\n", hwgroup->hwif->name); |
hwgroup | 1414 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 1416 | drivers/block/ide.c | if ((rq = hwgroup->rq) == NULL) { |
hwgroup | 1417 | drivers/block/ide.c | hwgroup->drive = NULL; /* paranoia */ |
hwgroup | 1422 | drivers/block/ide.c | } while ((hwif = hwif->next) != hwgroup->hwif); |
hwgroup | 1427 | drivers/block/ide.c | do_request(hwgroup->hwif = hwif, hwgroup->rq = rq); |
hwgroup | 1429 | drivers/block/ide.c | } while (hwgroup->handler == NULL); |
hwgroup | 1443 | drivers/block/ide.c | static void do_hwgroup_request (ide_hwgroup_t *hwgroup) |
hwgroup | 1445 | drivers/block/ide.c | if (hwgroup->handler == NULL) { |
hwgroup | 1446 | drivers/block/ide.c | ide_hwif_t *hgif = hwgroup->hwif; |
hwgroup | 1451 | drivers/block/ide.c | ide_do_request (hwgroup); |
hwgroup | 1460 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[0].hwgroup); |
hwgroup | 1465 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[1].hwgroup); |
hwgroup | 1470 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[2].hwgroup); |
hwgroup | 1475 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[3].hwgroup); |
hwgroup | 1480 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = (ide_hwgroup_t *) data; |
hwgroup | 1481 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 1487 | drivers/block/ide.c | if (hwgroup->reset_timeout != 0) { /* ide reset in progress? */ |
hwgroup | 1488 | drivers/block/ide.c | if (!reset_handler(hwgroup)) |
hwgroup | 1489 | drivers/block/ide.c | do_hwgroup_request (hwgroup); |
hwgroup | 1490 | drivers/block/ide.c | } else if (hwgroup->handler == NULL) { /* not waiting for anything? */ |
hwgroup | 1494 | drivers/block/ide.c | hwgroup->handler = NULL; |
hwgroup | 1495 | drivers/block/ide.c | if (hwgroup->hwif->dmaproc) |
hwgroup | 1496 | drivers/block/ide.c | (void) hwgroup->hwif->dmaproc (ide_dma_abort, drive); |
hwgroup | 1498 | drivers/block/ide.c | do_hwgroup_request (hwgroup); |
hwgroup | 1526 | drivers/block/ide.c | static void unexpected_intr (int irq, ide_hwgroup_t *hwgroup) |
hwgroup | 1530 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 1535 | drivers/block/ide.c | if (hwgroup->reset_timeout != 0) { |
hwgroup | 1536 | drivers/block/ide.c | if (!reset_handler(hwgroup)) |
hwgroup | 1537 | drivers/block/ide.c | do_hwgroup_request (hwgroup); |
hwgroup | 1560 | drivers/block/ide.c | } while ((hwif = hwif->next) != hwgroup->hwif); |
hwgroup | 1568 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = irq_to_hwgroup[irq]; |
hwgroup | 1571 | drivers/block/ide.c | if (irq == hwgroup->hwif->irq && (handler = hwgroup->handler) != NULL) { |
hwgroup | 1572 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 1573 | drivers/block/ide.c | hwgroup->handler = NULL; |
hwgroup | 1574 | drivers/block/ide.c | del_timer(&(hwgroup->timer)); |
hwgroup | 1579 | drivers/block/ide.c | unexpected_intr(irq, hwgroup); |
hwgroup | 2756 | drivers/block/ide.c | ide_hwgroup_t *hwgroup; |
hwgroup | 2773 | drivers/block/ide.c | if ((hwgroup = irq_to_hwgroup[hwif->irq]) == NULL) { |
hwgroup | 2774 | drivers/block/ide.c | hwgroup = ide_alloc (sizeof(ide_hwgroup_t), 0); |
hwgroup | 2775 | drivers/block/ide.c | irq_to_hwgroup[hwif->irq] = hwgroup; |
hwgroup | 2776 | drivers/block/ide.c | hwgroup->hwif = hwif->next = hwif; |
hwgroup | 2777 | drivers/block/ide.c | hwgroup->rq = NULL; |
hwgroup | 2778 | drivers/block/ide.c | hwgroup->handler = NULL; |
hwgroup | 2779 | drivers/block/ide.c | hwgroup->drive = NULL; |
hwgroup | 2780 | drivers/block/ide.c | hwgroup->reset_timeout = 0; |
hwgroup | 2782 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 0; |
hwgroup | 2784 | drivers/block/ide.c | init_timer(&hwgroup->timer); |
hwgroup | 2785 | drivers/block/ide.c | hwgroup->timer.function = &timer_expiry; |
hwgroup | 2786 | drivers/block/ide.c | hwgroup->timer.data = (unsigned long) hwgroup; |
hwgroup | 2788 | drivers/block/ide.c | hwif->next = hwgroup->hwif->next; |
hwgroup | 2789 | drivers/block/ide.c | hwgroup->hwif->next = hwif; |
hwgroup | 2791 | drivers/block/ide.c | hwif->hwgroup = hwgroup; |
hwgroup | 2797 | drivers/block/ide.c | if (hwgroup->hwif != hwif) { |
hwgroup | 2798 | drivers/block/ide.c | char *name = hwgroup->hwif->name; |
hwgroup | 2799 | drivers/block/ide.c | if (hwgroup->hwif->irq == hwif->irq) |
hwgroup | 84 | drivers/block/ide.h | #define HWGROUP(drive) ((ide_hwgroup_t *)(HWIF(drive)->hwgroup)) |
hwgroup | 308 | drivers/block/ide.h | void *hwgroup; /* actually (ide_hwgroup_t *) */ |