linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Srihari Vijayaraghavan <sriharivijayaraghavan@yahoo.com.au>
To: Tejun Heo <htejun@gmail.com>
Cc: linux-ide@vger.kernel.org, conke.hu@gmail.com
Subject: Re: ASUS M2A-VM - AMD690G - SB600 Non-Raid-5 SATA - problem
Date: Tue, 8 May 2007 19:35:01 +1000 (EST)	[thread overview]
Message-ID: <41255.7661.qm@web52612.mail.re2.yahoo.com> (raw)
In-Reply-To: <46403732.3000507@gmail.com>

--- Tejun Heo <htejun@gmail.com> wrote:
> Hello,

Hello,

> It just seems sb600 claims that it can do DMA above 4G while it actually
> can't.  Can you test the attached patch?

Makes sense now. Gladly check the patch. Checking ...

Great news: everything just works without any parameters :-)). True genious.

With your patch, with 4 GB of RAM, all SATA drives are detected & working
normally. For the record dmesg is attached.

There's always a catch isn't it? Now no DMA over 32 bit memory space for SATA,
right? CPU will have to work harder, I presume. Perhaps putting more pressure.
While with 4 GB that might not be a problem, perhaps when I upgrade it to over
4 GB, it might be?? I see, even now, because a chunk of 512 MB is mapped over
4 GB (starting at 0x100000000), those are no good for the SATA's DMA access.
If so, too sad :-(.

> Thanks.

Thank you.

(I'll leave the patch for the poor souls stumble upon these emails some far
future :-))

PS: if this turns out to a hardware limitation, then perhaps may I request
this patch in better form (as not to impact on other ahci users) find its way
to mainstream? Even to -stable if I'm lucky, such that Fedora 7 etc. might
work out of the box for poor souls (not counting me; I'm used to quirky
things) trying out Linux on this chipset.

> -- 
> tejun
> > ---
>  drivers/ata/ahci.c |   10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> Index: tree0/drivers/ata/ahci.c
> ===================================================================
> --- tree0.orig/drivers/ata/ahci.c
> +++ tree0/drivers/ata/ahci.c
> @@ -170,6 +170,7 @@ enum {
>  	AHCI_FLAG_IGN_IRQ_IF_ERR	= (1 << 25), /* ignore IRQ_IF_ERR */
>  	AHCI_FLAG_HONOR_PI		= (1 << 26), /* honor PORTS_IMPL */
>  	AHCI_FLAG_IGN_SERR_INTERNAL	= (1 << 27), /* ignore SERR_INTERNAL */
> +	AHCI_FLAG_32BIT_ONLY		= (1 << 28), /* force 32bit */
>  };
>  
>  struct ahci_cmd_hdr {
> @@ -370,7 +371,8 @@ static const struct ata_port_info ahci_p
>  		.flags		= ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
>  				  ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA |
>  				  ATA_FLAG_SKIP_D2H_BSY |
> -				  AHCI_FLAG_IGN_SERR_INTERNAL,
> +				  AHCI_FLAG_IGN_SERR_INTERNAL |
> +				  AHCI_FLAG_32BIT_ONLY,
>  		.pio_mask	= 0x1f, /* pio0-4 */
>  		.udma_mask	= 0x7f, /* udma0-6 ; FIXME */
>  		.port_ops	= &ahci_ops,
> @@ -1579,6 +1581,12 @@ static int ahci_host_init(struct ata_pro
>  		probe_ent->n_ports = cap_n_ports;
>  
>  	using_dac = hpriv->cap & HOST_CAP_64;
> +	if (using_dac && (probe_ent->port_flags & AHCI_FLAG_32BIT_ONLY)) {
> +		dev_printk(KERN_INFO, &pdev->dev,
> +			   "controller can't do 64bit DMA, forcing 32bit\n");
> +		using_dac = 0;
> +	}
> +
>  	if (using_dac &&
>  	    !pci_set_dma_mask(pdev, DMA_64BIT_MASK)) {
>  		rc = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK);
> 


Send instant messages to your online friends http://au.messenger.yahoo.com 

  reply	other threads:[~2007-05-08  9:35 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <754241.548.qm@web52606.mail.re2.yahoo.com>
2007-05-06  9:33 ` ASUS M2A-VM - AMD690G - SB600 Non-Raid-5 SATA - problem Tejun Heo
2007-05-07 20:37   ` Srihari Vijayaraghavan
2007-05-08  8:39     ` Tejun Heo
2007-05-08  9:35       ` Srihari Vijayaraghavan [this message]
2007-05-08 11:12         ` Tejun Heo
2007-05-08 11:16           ` Tejun Heo
2007-05-08 12:42             ` Srihari Vijayaraghavan
2007-05-08 12:39           ` Srihari Vijayaraghavan
2007-05-08 13:35             ` Tejun Heo
2007-05-08 15:00               ` Conke Hu
2007-05-08 15:03                 ` Tejun Heo
2007-05-13  5:05               ` Srihari Vijayaraghavan
2007-05-14  9:10                 ` Tejun Heo
2007-05-18 12:39                   ` Srihari Vijayaraghavan
2007-05-18 12:46                     ` Tejun Heo
2007-05-18 13:18                     ` [PATCH] ahci: disable 64bit dma on sb600 Tejun Heo
2007-05-18 14:19                       ` Srihari Vijayaraghavan
2007-05-18 14:23                       ` Tejun Heo
2007-05-21 23:58                         ` Jeff Garzik
2007-05-08  9:40 ASUS M2A-VM - AMD690G - SB600 Non-Raid-5 SATA - problem Srihari Vijayaraghavan
  -- strict thread matches above, loose matches on Subject: below --
2007-05-02 12:32 Srihari Vijayaraghavan
2007-05-03 14:44 ` Tejun Heo
2007-05-04  1:48   ` Srihari Vijayaraghavan
2007-05-04  6:41     ` Tejun Heo

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=41255.7661.qm@web52612.mail.re2.yahoo.com \
    --to=sriharivijayaraghavan@yahoo.com.au \
    --cc=conke.hu@gmail.com \
    --cc=htejun@gmail.com \
    --cc=linux-ide@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;
as well as URLs for NNTP newsgroup(s).