mirror of
https://github.com/DigitalDevices/dddvb.git
synced 2025-03-01 10:35:23 +00:00
add new maps for dma and i/o
This commit is contained in:
@@ -89,7 +89,7 @@ static void ddb_set_dma_table(struct ddb *dev, struct ddb_dma *dma)
|
||||
ddbwritel(dev, mem & 0xffffffff, base + i * 8);
|
||||
ddbwritel(dev, mem >> 32, base + i * 8 + 4);
|
||||
}
|
||||
dma->bufreg = (dma->div << 16) |
|
||||
dma->bufval = (dma->div << 16) |
|
||||
((dma->num & 0x1f) << 11) |
|
||||
((dma->size >> 7) & 0x7ff);
|
||||
}
|
||||
@@ -116,7 +116,7 @@ static void ddb_redirect_dma(struct ddb *dev,
|
||||
u32 i, base;
|
||||
u64 mem;
|
||||
|
||||
sdma->bufreg = ddma->bufreg;
|
||||
sdma->bufval = ddma->bufval;
|
||||
base = DMA_BASE_ADDRESS_TABLE + sdma->nr * 0x100;
|
||||
for (i = 0; i < ddma->num; i++) {
|
||||
mem = ddma->pbuf[i];
|
||||
@@ -351,7 +351,7 @@ static void ddb_output_start(struct ddb_output *output)
|
||||
ddbwritel(dev, con2, TS_OUTPUT_CONTROL2(output->nr));
|
||||
}
|
||||
if (output->dma) {
|
||||
ddbwritel(dev, output->dma->bufreg,
|
||||
ddbwritel(dev, output->dma->bufval,
|
||||
DMA_BUFFER_SIZE(output->dma->nr));
|
||||
ddbwritel(dev, 0, DMA_BUFFER_ACK(output->dma->nr));
|
||||
ddbwritel(dev, 1, DMA_BASE_READ);
|
||||
@@ -421,13 +421,13 @@ static void ddb_input_start(struct ddb_input *input)
|
||||
input->dma->stat = 0;
|
||||
ddbwritel(dev, 0, DMA_BUFFER_CONTROL(input->dma->nr));
|
||||
}
|
||||
ddbwritel(dev, 0, tag | TS_INPUT_CONTROL2(input->nr));
|
||||
//ddbwritel(dev, 0, tag | TS_INPUT_CONTROL2(input->nr));
|
||||
ddbwritel(dev, 0, tag | TS_INPUT_CONTROL(input->nr));
|
||||
ddbwritel(dev, 2, tag | TS_INPUT_CONTROL(input->nr));
|
||||
ddbwritel(dev, 0, tag | TS_INPUT_CONTROL(input->nr));
|
||||
|
||||
if (input->dma) {
|
||||
ddbwritel(dev, input->dma->bufreg,
|
||||
ddbwritel(dev, input->dma->bufval,
|
||||
DMA_BUFFER_SIZE(input->dma->nr));
|
||||
ddbwritel(dev, 0, DMA_BUFFER_ACK(input->dma->nr));
|
||||
ddbwritel(dev, 1, DMA_BASE_WRITE);
|
||||
|
||||
Reference in New Issue
Block a user