Thread (16 messages) 16 messages, 3 authors, 2004-09-30

Re: [PATCH] updates to Vitesse SATA driver

From: Jeff Garzik <hidden>
Date: 2004-09-30 03:28:35

Jeremy Higdon wrote:
On Wed, Sep 29, 2004 at 03:32:34PM -0700, Dave wrote:
quoted
On Wed, 29 Sep 2004 18:19:40 -0400, Jeff Garzik [off-list ref] wrote:
quoted
So where did the discussion on this patch land?

The only part that made sense to me was the LED patch, which should
just be a single line of code.
So maybe you or Dave could be convinced to roll that into a separate 
patch, since we have consensus on that item?


quoted
I believe waiting for you to comment on whether to put in a hook for
controllers that do not support ATA_NIEN so it can mask/unmask IRQ
with a fixup.  Even though the spec for this particular SATA
controller says the bit is reserved, it seems to work just fine. From
my understanding, the registers are actually on the drives, and the
ones we write to the HBAs are just shadow registers right? I suppose
either we can use the "undocumented" reserved bit for ATA_NIEN, or
provide some sort of special hook in lib_ata core to clear the
interrupt bit....

I don't think we need this.  In vsc_sata_tf_load(), we see if the
ATA_NIEN bit has changed and call vsc_intr_mask_update() as
necessary.

quoted
Obviosly if it is working on IA32 or IA64, this code must be only
scanning device 0 per port and not device 1. Not sure why it is only
scanning 1 device on IA platforms, but both on XScale. Either way we
have a corner case here that should be addressed....

Jeff, I don't remember how libata knows how many devices a port
can have.  Which field is it?
By default it only scans device 0, since SATA is a point-to-point 
connection where there is no possibility for more than one device :)

However, some hardware chooses to emulate master/slave mode.  Use of 
this, particularly on Vitesse/Intel, is highly discouraged in favor of 
DPA mode.  I would prefer to not support master/slave mode at all.

Technically speaking, one sets the ATA_FLAG_SLAVE_POSS flag to tell the 
libata core to scan for device 1.

If we are talking about Port Multipliers, those aren't supported at all yet.

	Jeff

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help