Hi Geert, thanks. will add the necessary DMA mask fixup to the ESP driver now.
Cheers, Michael Am 06.03.2018 um 20:56 schrieb Geert Uytterhoeven: > Hi Michael, > > On Tue, Mar 6, 2018 at 2:06 AM, Michael Schmitz <schmitz...@gmail.com> wrote: >> thanks for explaining - I had forgotten that the SCSI adapter in elgar >> is probably on the CPU accelerator card. >> >> 00: Phase 5 Digital Products CyberSCSI/Blizzard 1220 >> Type: Zorro II >> Address: 00e90000 (00010000 bytes) >> Serial number: 00000000 >> Slot address: 00e9 >> Slot size: 0001 >> >> is the output for that card. >> >> The register address space of these cards (except Fastlane) fits into >> the smaller ZorroII space. >> >> Your version of the patch, plus setup of the 32 bit mask in the >> driver, is the correct solution. Do you want me to submit a corrected >> patch, or can you do that on the fly? > > I will apply, and queue for v4.16: > > commit 45243ee871a5681042d6fa6e43ddb4f6fe06669d > Author: Michael Schmitz <schmitz...@gmail.com> > Date: Sat Mar 3 12:04:13 2018 +1300 > > zorro: Set up z->dev.dma_mask for the DMA API > > The generic DMA API uses dev->dma_mask to check the DMA addressable > memory bitmask, and warns if no mask is set or even allocated. > > Set z->dev.dma_coherent_mask on Zorro bus scan, and make z->dev.dma_mask > to point to z->dev.dma_coherent_mask so device drivers that need DMA have > everything set up to avoid warnings from dma_alloc_coherent(). Drivers can > still use dma_set_mask_and_coherent() to explicitly set their DMA bit > mask. > > Signed-off-by: Michael Schmitz <schmitz...@gmail.com> > [geert: Handle Zorro II with 24-bit address space] > Acked-by: Christoph Hellwig <h...@lst.de> > Signed-off-by: Geert Uytterhoeven <ge...@linux-m68k.org> > > diff --git a/drivers/zorro/zorro.c b/drivers/zorro/zorro.c > index cc1b1ac57d61e8b7..4a5bccba55548720 100644 > --- a/drivers/zorro/zorro.c > +++ b/drivers/zorro/zorro.c > @@ -16,6 +16,7 @@ > #include <linux/bitops.h> > #include <linux/string.h> > #include <linux/platform_device.h> > +#include <linux/dma-mapping.h> > #include <linux/slab.h> > > #include <asm/byteorder.h> > @@ -185,6 +186,16 @@ static int __init amiga_zorro_probe(struct > platform_device *pdev) > z->dev.parent = &bus->dev; > z->dev.bus = &zorro_bus_type; > z->dev.id = i; > + switch (z->rom.er_Type & ERT_TYPEMASK) { > + case ERT_ZORROIII: > + z->dev.coherent_dma_mask = DMA_BIT_MASK(32); > + break; > + case ERT_ZORROII: > + default: > + z->dev.coherent_dma_mask = DMA_BIT_MASK(24); > + break; > + } > + z->dev.dma_mask = &z->dev.coherent_dma_mask; > } > > /* ... then register them */ > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- > ge...@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like > that. > -- Linus Torvalds > -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html