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 | 335 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = HWGROUP(drive); |
hwgroup | 337 | drivers/block/ide.c | if (hwgroup->handler != NULL) |
hwgroup | 340 | drivers/block/ide.c | hwgroup->handler = handler; |
hwgroup | 341 | drivers/block/ide.c | hwgroup->timer.expires = jiffies + WAIT_CMD; |
hwgroup | 342 | drivers/block/ide.c | add_timer(&(hwgroup->timer)); |
hwgroup | 515 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = hwif->hwgroup; |
hwgroup | 517 | drivers/block/ide.c | hwgroup->reset_timeout = jiffies + WAIT_WORSTCASE; /* max waiting time */ |
hwgroup | 518 | drivers/block/ide.c | hwgroup->handler = &reset_ihandler; /* dummy irq handler */ |
hwgroup | 519 | drivers/block/ide.c | hwgroup->timer.expires = jiffies + (HZ/20); /* polling interval */ |
hwgroup | 520 | drivers/block/ide.c | add_timer(&(hwgroup->timer)); |
hwgroup | 532 | drivers/block/ide.c | static int atapi_reset_handler (ide_hwgroup_t *hwgroup) |
hwgroup | 534 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 535 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 542 | drivers/block/ide.c | if (jiffies < hwgroup->reset_timeout) { |
hwgroup | 549 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 0; |
hwgroup | 550 | drivers/block/ide.c | hwgroup->handler = NULL; /* allow new requests to be processed */ |
hwgroup | 551 | drivers/block/ide.c | hwgroup->reset_timeout = 0; /* signal end of ide reset operation */ |
hwgroup | 565 | drivers/block/ide.c | static int reset_handler (ide_hwgroup_t *hwgroup) |
hwgroup | 567 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 568 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 572 | drivers/block/ide.c | if (hwgroup->doing_atapi_reset) |
hwgroup | 573 | drivers/block/ide.c | return atapi_reset_handler(hwgroup); |
hwgroup | 577 | drivers/block/ide.c | if (jiffies < hwgroup->reset_timeout) { |
hwgroup | 606 | drivers/block/ide.c | hwgroup->handler = NULL; /* allow new requests to be processed */ |
hwgroup | 607 | drivers/block/ide.c | hwgroup->reset_timeout = 0; /* signal end of ide reset operation */ |
hwgroup | 631 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = HWGROUP(drive); |
hwgroup | 639 | drivers/block/ide.c | if (!hwgroup->doing_atapi_reset) { |
hwgroup | 640 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 1; |
hwgroup | 646 | drivers/block/ide.c | hwgroup->reset_timeout = jiffies + WAIT_WORSTCASE; |
hwgroup | 652 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 0; |
hwgroup | 686 | drivers/block/ide.c | hwgroup->reset_timeout = jiffies + WAIT_WORSTCASE; |
hwgroup | 1286 | drivers/block/ide.c | ((ide_hwgroup_t *)hwif->hwgroup)->drive = drive; |
hwgroup | 1318 | drivers/block/ide.c | ide_end_request(0, hwif->hwgroup); |
hwgroup | 1336 | drivers/block/ide.c | void ide_do_request (ide_hwgroup_t *hwgroup) |
hwgroup | 1339 | drivers/block/ide.c | if (hwgroup->handler != NULL) { |
hwgroup | 1340 | drivers/block/ide.c | printk("%s: EEeekk!! handler not NULL in ide_do_request()\n", hwgroup->hwif->name); |
hwgroup | 1344 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 1346 | drivers/block/ide.c | if ((rq = hwgroup->rq) == NULL) { |
hwgroup | 1347 | drivers/block/ide.c | hwgroup->drive = NULL; /* paranoia */ |
hwgroup | 1352 | drivers/block/ide.c | } while ((hwif = hwif->next) != hwgroup->hwif); |
hwgroup | 1357 | drivers/block/ide.c | do_request(hwgroup->hwif = hwif, hwgroup->rq = rq); |
hwgroup | 1359 | drivers/block/ide.c | } while (hwgroup->handler == NULL); |
hwgroup | 1373 | drivers/block/ide.c | static void do_hwgroup_request (ide_hwgroup_t *hwgroup) |
hwgroup | 1375 | drivers/block/ide.c | if (hwgroup->handler == NULL) { |
hwgroup | 1376 | drivers/block/ide.c | ide_hwif_t *hgif = hwgroup->hwif; |
hwgroup | 1381 | drivers/block/ide.c | ide_do_request (hwgroup); |
hwgroup | 1390 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[0].hwgroup); |
hwgroup | 1395 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[1].hwgroup); |
hwgroup | 1400 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[2].hwgroup); |
hwgroup | 1405 | drivers/block/ide.c | do_hwgroup_request (ide_hwifs[3].hwgroup); |
hwgroup | 1410 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = (ide_hwgroup_t *) data; |
hwgroup | 1411 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 1417 | drivers/block/ide.c | if (hwgroup->reset_timeout != 0) { /* ide reset in progress? */ |
hwgroup | 1418 | drivers/block/ide.c | if (!reset_handler(hwgroup)) |
hwgroup | 1419 | drivers/block/ide.c | do_hwgroup_request (hwgroup); |
hwgroup | 1420 | drivers/block/ide.c | } else if (hwgroup->handler == NULL) { /* not waiting for anything? */ |
hwgroup | 1424 | drivers/block/ide.c | hwgroup->handler = NULL; |
hwgroup | 1425 | drivers/block/ide.c | if (hwgroup->hwif->dmaproc) |
hwgroup | 1426 | drivers/block/ide.c | (void) hwgroup->hwif->dmaproc (ide_dma_abort, drive); |
hwgroup | 1428 | drivers/block/ide.c | do_hwgroup_request (hwgroup); |
hwgroup | 1456 | drivers/block/ide.c | static void unexpected_intr (int irq, ide_hwgroup_t *hwgroup) |
hwgroup | 1460 | drivers/block/ide.c | ide_hwif_t *hwif = hwgroup->hwif; |
hwgroup | 1465 | drivers/block/ide.c | if (hwgroup->reset_timeout != 0) { |
hwgroup | 1466 | drivers/block/ide.c | if (!reset_handler(hwgroup)) |
hwgroup | 1467 | drivers/block/ide.c | do_hwgroup_request (hwgroup); |
hwgroup | 1486 | drivers/block/ide.c | } while ((hwif = hwif->next) != hwgroup->hwif); |
hwgroup | 1494 | drivers/block/ide.c | ide_hwgroup_t *hwgroup = irq_to_hwgroup[irq]; |
hwgroup | 1497 | drivers/block/ide.c | if (irq == hwgroup->hwif->irq && (handler = hwgroup->handler) != NULL) { |
hwgroup | 1498 | drivers/block/ide.c | ide_drive_t *drive = hwgroup->drive; |
hwgroup | 1499 | drivers/block/ide.c | hwgroup->handler = NULL; |
hwgroup | 1500 | drivers/block/ide.c | del_timer(&(hwgroup->timer)); |
hwgroup | 1505 | drivers/block/ide.c | unexpected_intr(irq, hwgroup); |
hwgroup | 2513 | drivers/block/ide.c | ide_hwgroup_t *hwgroup; |
hwgroup | 2529 | drivers/block/ide.c | if ((hwgroup = irq_to_hwgroup[hwif->irq]) == NULL) { |
hwgroup | 2530 | drivers/block/ide.c | hwgroup = ide_alloc (sizeof(ide_hwgroup_t), 0); |
hwgroup | 2531 | drivers/block/ide.c | irq_to_hwgroup[hwif->irq] = hwgroup; |
hwgroup | 2532 | drivers/block/ide.c | hwgroup->hwif = hwif->next = hwif; |
hwgroup | 2533 | drivers/block/ide.c | hwgroup->rq = NULL; |
hwgroup | 2534 | drivers/block/ide.c | hwgroup->handler = NULL; |
hwgroup | 2535 | drivers/block/ide.c | hwgroup->drive = NULL; |
hwgroup | 2536 | drivers/block/ide.c | hwgroup->reset_timeout = 0; |
hwgroup | 2538 | drivers/block/ide.c | hwgroup->doing_atapi_reset = 0; |
hwgroup | 2540 | drivers/block/ide.c | init_timer(&hwgroup->timer); |
hwgroup | 2541 | drivers/block/ide.c | hwgroup->timer.function = &timer_expiry; |
hwgroup | 2542 | drivers/block/ide.c | hwgroup->timer.data = (unsigned long) hwgroup; |
hwgroup | 2544 | drivers/block/ide.c | hwif->next = hwgroup->hwif->next; |
hwgroup | 2545 | drivers/block/ide.c | hwgroup->hwif->next = hwif; |
hwgroup | 2547 | drivers/block/ide.c | hwif->hwgroup = hwgroup; |
hwgroup | 2553 | drivers/block/ide.c | if (hwgroup->hwif != hwif) { |
hwgroup | 2554 | drivers/block/ide.c | char *name = hwgroup->hwif->name; |
hwgroup | 2555 | drivers/block/ide.c | if (hwgroup->hwif->irq == hwif->irq) |
hwgroup | 70 | drivers/block/ide.h | #define HWGROUP(drive) ((ide_hwgroup_t *)(HWIF(drive)->hwgroup)) |
hwgroup | 280 | drivers/block/ide.h | void *hwgroup; /* actually (ide_hwgroup_t *) */ |