linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Daney <ddaney@caviumnetworks.com>
To: Jeff Garzik <jeff@garzik.org>
Cc: linux-ide@vger.kernel.org, linux-mips@linux-mips.org
Subject: Re: [PATCH 2/2] libata: New driver for OCTEON SOC Compact Flash interface (v2).
Date: Tue, 25 Nov 2008 09:25:29 -0800	[thread overview]
Message-ID: <492C3509.8010408@caviumnetworks.com> (raw)
In-Reply-To: <492C2EE2.3090702@garzik.org>

Jeff Garzik wrote:
> David Daney wrote:
>> +
>> +/* Timing multiple used for configuring the boot bus DMA engine */
>> +#define CF_DMA_TIMING_MULT    4
>> +
>> +static struct scsi_host_template octeon_cf_sht = {
>> +    ATA_PIO_SHT(DRV_NAME),
>> +};
>> +
>> +static int mwdmamodes = 0x1f;    /* Support Multiword DMA 0-4 */
>> +module_param(mwdmamodes, int, 0444);
>> +MODULE_PARM_DESC(mwdmamodes,
>> +         "Bitmask controlling which MWDMA modes are supported.  "
>> +         "Default is 0x1f for MWDMA 0-4.");
> 
> Two comments:
> 
> * perhaps I missed this, but why is this module param necessary?  In 
> general we avoid things like this.
> 

The CF interface is on the SOC's Boot Bus.  Under some circumstances a 
  board wide hardware reset can occur while DMA is in progress, this 
results in the CF driving the Boot Bus while the processor is trying to 
read the boot code from the boot ROM which results in an unbootable 
system.  The only recourse is to cycle power to the board.  By allowing 
DMA to be disabled, we eliminate this problem.


> * I would avoid pretending to be an SFF DMA engine, and just code it in 
> the style of a custom DMA engine with SFF registers/mode, such as 
> sata_mv or sata_promise.
> 

It is certainly possible to do that, however I think it will result in a 
much larger driver.  If you strongly object, we would have to bite the 
bullet and do as you suggest.

David Daney

  reply	other threads:[~2008-11-25 17:25 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-25  1:36 [PATCH 0/2] libata: Cavium OCTEON SOC Compact Flash driver (v2) David Daney
2008-11-25  1:39 ` [PATCH 1/2] libata: Add three more columns to the ata_timing table David Daney
2008-11-25 11:02   ` Sergei Shtylyov
2008-11-25 16:46     ` David Daney
2008-11-25 17:02       ` Sergei Shtylyov
2008-11-25 18:51       ` Sergei Shtylyov
2008-11-25 19:09         ` David Daney
2008-11-25 17:00   ` Jeff Garzik
2008-11-25 17:04     ` David Daney
2008-11-25 17:12     ` Alan Cox
2008-11-25 18:41       ` Sergei Shtylyov
2008-11-25 18:47         ` Alan Cox
2008-11-25  1:39 ` [PATCH 2/2] libata: New driver for OCTEON SOC Compact Flash interface (v2) David Daney
2008-11-25 16:59   ` Jeff Garzik
2008-11-25 17:25     ` David Daney [this message]
2008-11-25 17:34       ` Alan Cox
2008-11-25 17:37         ` David Daney

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=492C3509.8010408@caviumnetworks.com \
    --to=ddaney@caviumnetworks.com \
    --cc=jeff@garzik.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-mips@linux-mips.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;
as well as URLs for NNTP newsgroup(s).