From: Michael Schmitz <schmitzmic@gmail.com>
To: Arnd Bergmann <arnd@arndb.de>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
linux-scsi@vger.kernel.org
Cc: linux-m68k@vger.kernel.org, Geert Uytterhoeven <geert@linux-m68k.org>
Subject: Re: [PATCH] scsi: gvp11: add module parameter for DMA transfer bit mask
Date: Wed, 30 Aug 2023 10:25:59 +1200 [thread overview]
Message-ID: <ab78a254-ee6a-a2f1-c3cd-3b608e0c9e60@gmail.com> (raw)
In-Reply-To: <4a7d0dda-c24f-4875-892f-c8c5ef700882@app.fastmail.com>
Hi Arnd,
thanks for your comments!
On 30/08/23 10:05, Arnd Bergmann wrote:
> On Tue, Aug 29, 2023, at 17:45, Michael Schmitz wrote:
>> SCSI boards on Amiga. There now is no way to set a non-default
>> DMA mask on these boards.
> It might help to mention here in which cases the default mask
> is actually wrong.
All I have is:
Probably it's needed on A2000 with an accelerator card and GVP II SCSI,
to prevent DMA to RAM banks that do not support fast DMA cycles.
from Geert's reply. I can add that. It just did sound a shade
speculative...
>
>> +module_param(gvp11_xfer_mask, int, 0444);
>> +MODULE_PARM_DESC(gvp11_xfer_mask, "DMA mask (0xff000000 == 24 bit DMA)");
>> +
> I think the comment is the wrong way round, it should be
> 0x00ffffff in this case, which also matches the default
> mask for ZORRO_PROD_GVP_SERIES_II, in the match table:
>
> static struct zorro_device_id gvp11_zorro_tbl[] = {
> { ZORRO_PROD_GVP_COMBO_030_R3_SCSI, ~0x00ffffff },
> { ZORRO_PROD_GVP_SERIES_II, ~0x00ffffff },
> { ZORRO_PROD_GVP_GFORCE_030_SCSI, ~0x01ffffff },
> { ZORRO_PROD_GVP_A530_SCSI, ~0x01ffffff },
> { ZORRO_PROD_GVP_COMBO_030_R4_SCSI, ~0x01ffffff },
> { ZORRO_PROD_GVP_A1291, ~0x07ffffff },
> { ZORRO_PROD_GVP_GFORCE_040_SCSI_1, ~0x07ffffff },
> { 0 }
> };
gvp11_xfer_mask works inverse to what you'd expect (and inverse to what
a DMA mask usually is defined as). DMA can _not_ be used if (address &
gvp11_xfer_mask) isn't zero. See code in dma_setup() for details.
All those definitions have a '~' prefix, for that very reason.
I agree it isn't intuitive, and caused a little head scratching when
preparing this patch. But I believe it is correct.
Now you could argue to shift the bit mask inversion to gvp11_probe() or
even dma_setup() instead to rule out such confusion in future, but that
would be an actual code change and would benefit from testing on at
least one of these boards IMO. Not sure how easy that will be.
Cheers,
Michael
> Arnd
next prev parent reply other threads:[~2023-08-29 22:26 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-29 21:45 [PATCH] scsi: gvp11: add module parameter for DMA transfer bit mask Michael Schmitz
2023-08-29 22:05 ` Arnd Bergmann
2023-08-29 22:25 ` Michael Schmitz [this message]
2023-08-30 0:14 ` Arnd Bergmann
2023-08-30 0:47 ` Michael Schmitz
2023-08-30 7:32 ` Geert Uytterhoeven
2023-08-30 7:52 ` Michael Schmitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ab78a254-ee6a-a2f1-c3cd-3b608e0c9e60@gmail.com \
--to=schmitzmic@gmail.com \
--cc=arnd@arndb.de \
--cc=geert@linux-m68k.org \
--cc=linux-m68k@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox