Re: Proposed changes for libata speed handling

From: Alan
Date: Sat Jan 13 2007 - 04:50:54 EST


O> Wouldn't it be better to have ->determine_xfer_mask() and
> ->set_specific_mode() than having two somewhat overlapping callbacks?
> Or is there some problem that can't be handled that way?

I'm not sure I follow what you are suggesting - can you explain further.

Right now ->set_mode does all the policy management with regards to
picking the right modes which is sometimes done by the usual ATA rules
and sometimes by card specific code.

->set_specific_mode does no policy work but merely sets up a mode.

The default behaviour of ->set_mode() is the ATA mode selection by best
mode available, and this function is normally not provided by a driver.

The default behaviour of ->set_specific_mode() is to verify the mode is
valid then issue ->set_pio|dma_mode() (for both devices in case a timing
change on both is triggered). This function is overridable because of
things like IT821x where the IDE mode is imaginary.

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