On Tue, 19 Dec 2017, Michael Schmitz wrote:
>
> esp->command_block_dma is mapped at driver init time so we don't get to
> chose at command submission time.
When the command is submitted, ops->send_dma_cmd() can do something like
this,
static void zorro_esp_send_dma_cmd(struct esp *esp, u32 dma_addr, u32 esp_count,
u32 dma_count, int write, u8 cmd);
{
if ((dma_addr_t)dma_addr == esp->command_block_dma && esp_count < 4) {
zorro_esp_send_pio_cmd(esp, (u32)esp->command_block, esp_count,
dma_count, write, cmd);
return;
}
/* do the usual DMA... */
}
This logic completely ignores data transfers (including sense transfers)
but it is simple and self-contained and should get the job done.
>From what you said, I think you already arrived at this code (or something
equivalent). Is there a problem? Do we have to do PIO data transfers too?
--
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html