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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html