tag | line | file | source code |
hwgroup | 416 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = HWGROUP(drive); |
hwgroup | 418 | drivers/block/ide.c | if (hwgroup->handler != NULL) |
hwgroup | 421 | drivers/block/ide.c | hwgroup->handler = handler; |
hwgroup | 422 | drivers/block/ide.c | hwgroup->timer.expires = jiffies + WAIT_CMD; |
hwgroup | 423 | drivers/block/ide.c | add_timer(&(hwgroup->timer)); |
hwgroup | 573 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = hwif->hwgroup; |
hwgroup | 575 | drivers/block/ide.c | hwgroup->reset_timeout = jiffies + WAIT_WORSTCASE; /* max waiting time */ |
hwgroup | 576 | drivers/block/ide.c | hwgroup->handler = &reset_ihandler; /* dummy irq handler */ |
hwgroup | 577 | drivers/block/ide.c | hwgroup->timer.expires = jiffies + (HZ/20); /* polling interval */ |
hwgroup | 578 | drivers/block/ide.c | add_timer(&(hwgroup->timer)); |
hwgroup | 590 | drivers/block/ide.c | static int atapi_reset_handler (ide_hwgroup_t *hwgroup) |
hwgroup | 592 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 593 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 600 | drivers/block/ide.c | if (jiffies < hwgroup->reset_timeout) { |
hwgroup | 607 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 0; |
hwgroup | 608 | drivers/block/ide.c | hwgroup->handler = NULL; /* allow new requests to be processed */ |
hwgroup | 609 | drivers/block/ide.c | hwgroup->reset_timeout = 0; /* signal end of ide reset operation */ |
hwgroup | 623 | drivers/block/ide.c | static int reset_handler (ide_hwgroup_t *hwgroup) |
hwgroup | 625 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 626 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 630 | drivers/block/ide.c | if (hwgroup->doing_atapi_reset) |
hwgroup | 631 | drivers/block/ide.c | return atapi_reset_handler(hwgroup); |
hwgroup | 635 | drivers/block/ide.c | if (jiffies < hwgroup->reset_timeout) { |
hwgroup | 664 | drivers/block/ide.c | hwgroup->handler = NULL; /* allow new requests to be processed */ |
hwgroup | 665 | drivers/block/ide.c | hwgroup->reset_timeout = 0; /* signal end of ide reset operation */ |
hwgroup | 689 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = HWGROUP(drive); |
hwgroup | 697 | drivers/block/ide.c | if (!hwgroup->doing_atapi_reset) { |
hwgroup | 698 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 1; |
hwgroup | 704 | drivers/block/ide.c | hwgroup->reset_timeout = jiffies + WAIT_WORSTCASE; |
hwgroup | 710 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 0; |
hwgroup | 744 | drivers/block/ide.c | hwgroup->reset_timeout = jiffies + WAIT_WORSTCASE; |
hwgroup | 1355 | drivers/block/ide.c | ((ide_hwgroup_t *)hwif->hwgroup)->drive = drive; |
hwgroup | 1391 | drivers/block/ide.c | ide_end_request(0, hwif->hwgroup); |
hwgroup | 1409 | drivers/block/ide.c | void ide_do_request (ide_hwgroup_t *hwgroup) |
hwgroup | 1412 | drivers/block/ide.c | if (hwgroup->handler != NULL) { |
hwgroup | 1413 | drivers/block/ide.c | printk("%s: EEeekk!! handler not NULL in ide_do_request()\n", hwgroup->hwif->name); |
hwgroup | 1417 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 1419 | drivers/block/ide.c | if ((rq = hwgroup->rq) == NULL) { |
hwgroup | 1420 | drivers/block/ide.c | hwgroup->drive = NULL; /* paranoia */ |
hwgroup | 1425 | drivers/block/ide.c | } while ((hwif = hwif->next) != hwgroup->hwif); |
hwgroup | 1430 | drivers/block/ide.c | do_request(hwgroup->hwif = hwif, hwgroup->rq = rq); |
hwgroup | 1432 | drivers/block/ide.c | } while (hwgroup->handler == NULL); |
hwgroup | 1446 | drivers/block/ide.c | static void do_hwgroup_request (ide_hwgroup_t *hwgroup) |
hwgroup | 1448 | drivers/block/ide.c | if (hwgroup->handler == NULL) { |
hwgroup | 1449 | drivers/block/ide.c | ide_hwif_t *hgif = hwgroup->hwif; |
hwgroup | 1454 | drivers/block/ide.c | ide_do_request (hwgroup); |
hwgroup | 1463 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[0].hwgroup); |
hwgroup | 1468 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[1].hwgroup); |
hwgroup | 1473 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[2].hwgroup); |
hwgroup | 1478 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[3].hwgroup); |
hwgroup | 1483 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = (ide_hwgroup_t *) data; |
hwgroup | 1484 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 1490 | drivers/block/ide.c | if (hwgroup->reset_timeout != 0) { /* ide reset in progress? */ |
hwgroup | 1491 | drivers/block/ide.c | if (!reset_handler(hwgroup)) |
hwgroup | 1492 | drivers/block/ide.c | do_hwgroup_request (hwgroup); |
hwgroup | 1493 | drivers/block/ide.c | } else if (hwgroup->handler == NULL) { /* not waiting for anything? */ |
hwgroup | 1497 | drivers/block/ide.c | hwgroup->handler = NULL; |
hwgroup | 1498 | drivers/block/ide.c | if (hwgroup->hwif->dmaproc) |
hwgroup | 1499 | drivers/block/ide.c | (void) hwgroup->hwif->dmaproc (ide_dma_abort, drive); |
hwgroup | 1501 | drivers/block/ide.c | do_hwgroup_request (hwgroup); |
hwgroup | 1529 | drivers/block/ide.c | static void unexpected_intr (int irq, ide_hwgroup_t *hwgroup) |
hwgroup | 1533 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 1538 | drivers/block/ide.c | if (hwgroup->reset_timeout != 0) { |
hwgroup | 1539 | drivers/block/ide.c | if (!reset_handler(hwgroup)) |
hwgroup | 1540 | drivers/block/ide.c | do_hwgroup_request (hwgroup); |
hwgroup | 1563 | drivers/block/ide.c | } while ((hwif = hwif->next) != hwgroup->hwif); |
hwgroup | 1571 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = irq_to_hwgroup[irq]; |
hwgroup | 1574 | drivers/block/ide.c | if (irq == hwgroup->hwif->irq && (handler = hwgroup->handler) != NULL) { |
hwgroup | 1575 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 1576 | drivers/block/ide.c | hwgroup->handler = NULL; |
hwgroup | 1577 | drivers/block/ide.c | del_timer(&(hwgroup->timer)); |
hwgroup | 1582 | drivers/block/ide.c | unexpected_intr(irq, hwgroup); |
hwgroup | 2799 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = irq_to_hwgroup[irq]; |
hwgroup | 2807 | drivers/block/ide.c | if (hwgroup == NULL) { |
hwgroup | 2819 | drivers/block/ide.c | hwgroup = ide_hwifs[1].hwgroup; |
hwgroup | 2824 | drivers/block/ide.c | if (hwgroup == NULL) { |
hwgroup | 2825 | drivers/block/ide.c | hwgroup = kmalloc (sizeof(ide_hwgroup_t), GFP_KERNEL); |
hwgroup | 2826 | drivers/block/ide.c | hwgroup->hwif = hwif->next = hwif; |
hwgroup | 2827 | drivers/block/ide.c | hwgroup->rq = NULL; |
hwgroup | 2828 | drivers/block/ide.c | hwgroup->handler = NULL; |
hwgroup | 2829 | drivers/block/ide.c | hwgroup->drive = NULL; |
hwgroup | 2830 | drivers/block/ide.c | hwgroup->reset_timeout = 0; |
hwgroup | 2832 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 0; |
hwgroup | 2834 | drivers/block/ide.c | init_timer(&hwgroup->timer); |
hwgroup | 2835 | drivers/block/ide.c | hwgroup->timer.function = &timer_expiry; |
hwgroup | 2836 | drivers/block/ide.c | hwgroup->timer.data = (unsigned long) hwgroup; |
hwgroup | 2838 | drivers/block/ide.c | hwif->next = hwgroup->hwif->next; |
hwgroup | 2839 | drivers/block/ide.c | hwgroup->hwif->next = hwif; |
hwgroup | 2841 | drivers/block/ide.c | hwif->hwgroup = hwgroup; |
hwgroup | 2842 | drivers/block/ide.c | irq_to_hwgroup[irq] = hwgroup; |
hwgroup | 2848 | drivers/block/ide.c | if (hwgroup->hwif != hwif) |
hwgroup | 2849 | drivers/block/ide.c | printk(" (serialized with %s)", hwgroup->hwif->name); |
hwgroup | 89 | drivers/block/ide.h | #define HWGROUP(drive) ((ide_hwgroup_t *)(HWIF(drive)->hwgroup)) |
hwgroup | 313 | drivers/block/ide.h | void *hwgroup; /* actually (ide_hwgroup_t *) */ |
hwgroup | 340 | include/linux/blk.h | void ide_end_request(byte uptodate, ide_hwgroup_t *hwgroup); |
hwgroup | 344 | include/linux/blk.h | void ide_end_request(byte uptodate, ide_hwgroup_t *hwgroup) { |
hwgroup | 345 | include/linux/blk.h | struct request *req = hwgroup->rq; |
hwgroup | 378 | include/linux/blk.h | hwgroup->rq = NULL; |