lkml.org 
[lkml]   [2006]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.6.18-rc7-git1: AHCI not seeing devices on ICH8 mobo (DG965RY)
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


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-09-19 05:57    [W:1.572 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site