ioat3: enable dca for completion writes
Tag completion writes for direct cache access to reduce the latency of checking for descriptor completions. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
@@ -167,7 +167,8 @@ static void ioat3_cleanup_tasklet(unsigned long data)
|
|||||||
struct ioat2_dma_chan *ioat = (void *) data;
|
struct ioat2_dma_chan *ioat = (void *) data;
|
||||||
|
|
||||||
ioat3_cleanup(ioat);
|
ioat3_cleanup(ioat);
|
||||||
writew(IOAT_CHANCTRL_RUN, ioat->base.reg_base + IOAT_CHANCTRL_OFFSET);
|
writew(IOAT_CHANCTRL_RUN | IOAT3_CHANCTRL_COMPL_DCA_EN,
|
||||||
|
ioat->base.reg_base + IOAT_CHANCTRL_OFFSET);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ioat3_restart_channel(struct ioat2_dma_chan *ioat)
|
static void ioat3_restart_channel(struct ioat2_dma_chan *ioat)
|
||||||
|
@@ -84,6 +84,7 @@
|
|||||||
/* DMA Channel Registers */
|
/* DMA Channel Registers */
|
||||||
#define IOAT_CHANCTRL_OFFSET 0x00 /* 16-bit Channel Control Register */
|
#define IOAT_CHANCTRL_OFFSET 0x00 /* 16-bit Channel Control Register */
|
||||||
#define IOAT_CHANCTRL_CHANNEL_PRIORITY_MASK 0xF000
|
#define IOAT_CHANCTRL_CHANNEL_PRIORITY_MASK 0xF000
|
||||||
|
#define IOAT3_CHANCTRL_COMPL_DCA_EN 0x0200
|
||||||
#define IOAT_CHANCTRL_CHANNEL_IN_USE 0x0100
|
#define IOAT_CHANCTRL_CHANNEL_IN_USE 0x0100
|
||||||
#define IOAT_CHANCTRL_DESCRIPTOR_ADDR_SNOOP_CONTROL 0x0020
|
#define IOAT_CHANCTRL_DESCRIPTOR_ADDR_SNOOP_CONTROL 0x0020
|
||||||
#define IOAT_CHANCTRL_ERR_INT_EN 0x0010
|
#define IOAT_CHANCTRL_ERR_INT_EN 0x0010
|
||||||
|
Reference in New Issue
Block a user