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

Reply via email to