linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: Tejun Heo <htejun@gmail.com>
Cc: "Robin H. Johnson" <robbat2@gentoo.org>,
	linux-kernel@vger.kernel.org,
	"linux-ide@vger.kernel.org" <linux-ide@vger.kernel.org>
Subject: Re: 2.6.18-rc7-git1: AHCI not seeing devices on ICH8 mobo (DG965RY)
Date: Mon, 18 Sep 2006 23:53:39 -0400	[thread overview]
Message-ID: <450F69C3.8060603@garzik.org> (raw)
In-Reply-To: <450E13D4.10200@gmail.com>

Tejun Heo wrote:
> Jeff, we've been ignoring PI in ahci_host_init()...
> 
>     for (i = 0; i < probe_ent->n_ports; i++) {
> #if 0 /* BIOSen initialize this incorrectly */
>         if (!(hpriv->port_map & (1 << i)))
>             continue;
> #endif
> 
> The comment suggests that some BIOSen initialize PI incorrectly which 
> will probably result in undetected ports.  Is this true?  Would it be 
> dangerous to honor PI on some controllers?  If so, PI should be used 
> only for controllers which does non-linear port mapping.


The core problem is that this register is write-once after reset, i.e. 
BIOS-initialized.  And my experience with pre-production machines has 
been that after reset _by the driver_, the register was useless until 
initialized to a value... _by the driver_.  Which defeats the purpose of 
the register.

So the info contained in the register is quite useful -- when info is 
contained in the register.  :)

Now, granted, I have only seen this on pre-production machines, hence 
the #if 0.  But also, since the code has been disabled in production, we 
don't know how effective it is across all platforms, and we _do_ know 
that it is ineffective if used directly after a reset.  The write-once 
behavior is documented, and normal.

We can't really know which controllers have a non-linear port mapping, 
because that is dependent on both the silicon and whether or not the 
chip is connected to port X[0-31].  The BIOS knows this, of course :)

We can try to enable the code, but I worry that it will fail in 
situations such as kexec.

	Jeff



       reply	other threads:[~2006-09-19  3:53 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20060914200500.GD27531@curie-int.orbis-terrarum.net>
     [not found] ` <4509AB2E.1030800@garzik.org>
     [not found]   ` <20060914205050.GE27531@curie-int.orbis-terrarum.net>
     [not found]     ` <20060916203812.GC30391@curie-int.orbis-terrarum.net>
     [not found]       ` <20060916210857.GD30391@curie-int.orbis-terrarum.net>
     [not found]         ` <20060917074929.GD25800@htj.dyndns.org>
     [not found]           ` <20060918034826.GA10116@curie-int.orbis-terrarum.net>
     [not found]             ` <450E13D4.10200@gmail.com>
2006-09-19  3:53               ` Jeff Garzik [this message]
2006-09-19  4:49                 ` 2.6.18-rc7-git1: AHCI not seeing devices on ICH8 mobo (DG965RY) Robin H. Johnson

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=450F69C3.8060603@garzik.org \
    --to=jeff@garzik.org \
    --cc=htejun@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robbat2@gentoo.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).