From: Randy Dunlap <randy.dunlap@oracle.com>
To: Jun Sun <jsun@junsun.net>
Cc: linux-scsi@vger.kernel.org, lkml <linux-kernel@vger.kernel.org>
Subject: Re: unchecked_isa_dma and BusLogic SCSI controller
Date: Wed, 1 Nov 2006 17:33:58 -0800 [thread overview]
Message-ID: <20061101173358.7b027d13.randy.dunlap@oracle.com> (raw)
In-Reply-To: <20061101235330.GA30843@srv.junsun.net>
On Wed, 1 Nov 2006 15:53:30 -0800 Jun Sun wrote:
>
> Can someone enlighten me on what "unchecked_isa_dma" means in the
> struct scsi_host_template?
It's documented in Documentation/scsi/scsi_mid_low_api.txt:
unchecked_isa_dma - 1=>only use bottom 16 MB of ram (ISA DMA addressing
restriction), 0=>can use full 32 bit (or better) DMA
address space
> Specifically why Bus_Logic_template has
> it set to 1?
maybe ask on linux-scsi@vger.kernel.org (cc-ed)
> I am trying to reserve a block of memory (>16MB) starting from 0 and hide
> it from kernel. As a result, the DMA zone becomes 0 in size.
>
> Because Bus_Logic_template has unchecked_isa_dma set to 1, the driver
> will attempt to allocate a block of memory from DMA zone and thus
> causes OOMs during its initialization.
>
> It is hard for me to see why BusLogic controller would only do DMA
> in low 16MB. Is there a fix for this?
Does anyone know that controller hardware and its limitations?
If the driver can't handle highmem addresses, you could just change
it so that
(a) it does not set unchecked_isa_dma
(b) it sets .slave_alloc in the host template and then does
like the <slave_alloc> function in ppa.c or imm.c:
call blk_queue_bounce_limit() to set an address for which bounce
buffers (from highmem to lowmem) will be used.
[I don't guarantee that to work for BusLogic.]
> BTW, I also tried to increase MAX_DMA_ADDRESS to cover the whole memory
> area. While the OOMs are gone during BusLogic driver initialization,
> kernel fails to find labelled root partition or fail to open
> the initial console. It appears the disk (or the scsi) is not working
> properly after increasing MAX_DMA_ADDRESS.
>
> My platform is vmplayer. Pretty cool for devel.
>
> Cheers.
>
> Jun
---
~Randy
next parent reply other threads:[~2006-11-02 1:38 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20061101235330.GA30843@srv.junsun.net>
2006-11-02 1:33 ` Randy Dunlap [this message]
2006-11-02 12:41 ` unchecked_isa_dma and BusLogic SCSI controller Matthew Wilcox
2006-11-02 13:04 ` Maciej W. Rozycki
2006-11-02 13:35 ` Christoph Hellwig
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=20061101173358.7b027d13.randy.dunlap@oracle.com \
--to=randy.dunlap@oracle.com \
--cc=jsun@junsun.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
/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