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

Reply via email to