lkml.org 
[lkml]   [2004]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectata_piix and combined mode
Yeah, combined mode is not recommended.  The device presences for 
slave-only is a bit off, and also because it often massively impacts
PATA speed and/or stability.

There are a few simple things you can do though, which would fix your
problem. Here is a summary, interested in working on it? :) (or
anyone else listening)

struct ata_port::port_no is only accurate in native mode, where all PCI
BAR resources and PCI irq are active. combined mode is a subset of
legacy mode, where
a) port 0 and port 1 IO ports are standard IDE ISA register blks
b) irqs are standard legacy 14 and 15, and not shared
c) hardware pretends that SATA0/1 are master/slave.
This last introduces nastiness into most drivers, since sata
is _really_ point-to-point. Faking non-PTP this way leads
to a disconnect, because you must now map master to
port 0 or 1, and slave to the other port (yes ordering
is dynamic too).

1) short term, probably want to create a "hard_port_no" field in
ata_port, and make that reflect the true SATA hardware port number.
Then use that in the disable/enable stuff in ata_piix.c.

2) module unload disables the SATA port, but module load does not
attempt to enable the SATA port. so modprobe+rmmod+modprobe will
results in sata ports being disabled. instead, enable each sata port
(which causes the right SATA phy stuff to happen silently), wait a bit,
check for device presences, then disable the port if no device.

3) long term, since combined mode combines PATA and SATA into the same
PCI device, under the SATA PCI id, libata can drive the PATA port as
well. libata must do this anyway, for Promise, where the PATA port is
even more tightly integrated with the SATA ports.

The blocker on #3 is debugging the existing ATAPI code. Once that's
working, PATA support can be turned on -- for the cases that need it. I
still want 99% of PATA handled in drivers/ide...

Even longer term, we just need to beat hardware vendors over the head
about combining PATA and SATA into the same PCI device.

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: 2005-03-22 14:01    [W:0.032 / U:0.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site