dma.c (3372de5813e4da8305002ff6ffbfc0c7012cb319) | dma.c (ef97bd0f59741ca1a555b69b8708f6601e35c3ed) |
---|---|
1/* 2 * Intel I/OAT DMA Linux driver 3 * Copyright(c) 2004 - 2015 Intel Corporation. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms and conditions of the GNU General Public License, 7 * version 2, as published by the Free Software Foundation. 8 * --- 107 unchanged lines hidden (view full) --- 116 117 /* flush inflight timers */ 118 del_timer_sync(&ioat_chan->timer); 119 120 /* flush inflight tasklet runs */ 121 tasklet_kill(&ioat_chan->cleanup_task); 122 123 /* final cleanup now that everything is quiesced and can't re-arm */ | 1/* 2 * Intel I/OAT DMA Linux driver 3 * Copyright(c) 2004 - 2015 Intel Corporation. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms and conditions of the GNU General Public License, 7 * version 2, as published by the Free Software Foundation. 8 * --- 107 unchanged lines hidden (view full) --- 116 117 /* flush inflight timers */ 118 del_timer_sync(&ioat_chan->timer); 119 120 /* flush inflight tasklet runs */ 121 tasklet_kill(&ioat_chan->cleanup_task); 122 123 /* final cleanup now that everything is quiesced and can't re-arm */ |
124 ioat_dma->cleanup_fn((unsigned long)&ioat_chan->dma_chan); | 124 ioat_cleanup_event((unsigned long)&ioat_chan->dma_chan); |
125} 126 127static void __ioat_issue_pending(struct ioatdma_chan *ioat_chan) 128{ 129 ioat_chan->dmacount += ioat_ring_pending(ioat_chan); 130 ioat_chan->issued = ioat_chan->head; 131 writew(ioat_chan->dmacount, 132 ioat_chan->reg_base + IOAT_CHAN_DMACOUNT_OFFSET); --- 382 unchanged lines hidden (view full) --- 515 ioat_chan->tail, ioat_chan->issued); 516 517 /* progress reclaim in the allocation failure case we may be 518 * called under bh_disabled so we need to trigger the timer 519 * event directly 520 */ 521 if (time_is_before_jiffies(ioat_chan->timer.expires) 522 && timer_pending(&ioat_chan->timer)) { | 125} 126 127static void __ioat_issue_pending(struct ioatdma_chan *ioat_chan) 128{ 129 ioat_chan->dmacount += ioat_ring_pending(ioat_chan); 130 ioat_chan->issued = ioat_chan->head; 131 writew(ioat_chan->dmacount, 132 ioat_chan->reg_base + IOAT_CHAN_DMACOUNT_OFFSET); --- 382 unchanged lines hidden (view full) --- 515 ioat_chan->tail, ioat_chan->issued); 516 517 /* progress reclaim in the allocation failure case we may be 518 * called under bh_disabled so we need to trigger the timer 519 * event directly 520 */ 521 if (time_is_before_jiffies(ioat_chan->timer.expires) 522 && timer_pending(&ioat_chan->timer)) { |
523 struct ioatdma_device *ioat_dma = ioat_chan->ioat_dma; 524 | |
525 mod_timer(&ioat_chan->timer, jiffies + COMPLETION_TIMEOUT); | 523 mod_timer(&ioat_chan->timer, jiffies + COMPLETION_TIMEOUT); |
526 ioat_dma->timer_fn((unsigned long)ioat_chan); | 524 ioat_timer_event((unsigned long)ioat_chan); |
527 } 528 529 return -ENOMEM; 530} 531 532static bool desc_has_ext(struct ioat_ring_ent *desc) 533{ 534 struct ioat_dma_descriptor *hw = desc->hw; --- 457 unchanged lines hidden --- | 525 } 526 527 return -ENOMEM; 528} 529 530static bool desc_has_ext(struct ioat_ring_ent *desc) 531{ 532 struct ioat_dma_descriptor *hw = desc->hw; --- 457 unchanged lines hidden --- |