public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* Fallback sequence in scsi_transport_spi
@ 2005-07-25  8:30 Hannes Reinecke
  2005-07-25 12:19 ` James Bottomley
  0 siblings, 1 reply; 2+ messages in thread
From: Hannes Reinecke @ 2005-07-25  8:30 UTC (permalink / raw)
  To: James Bottomley; +Cc: SCSI Mailing List

Hi James,

it appears that the fallback sequence in
scsi_transport_spi.c:spi_dv_retrain()
is somewhat incorrect.

According to SPI-3 (spi3r14, actually), the flags DT, IU, and QAS can be
set in the following order of precedence (Table 55, p 155):
- DT
- IU
- QAS

This implies that for QAS DT and IU _have_ to be set. Vice versa for a
retrain we first should unset QAS, then IU (as QAS without IU is
invalid) and then DT.

However, the fallback routine in spi_dv_retrain first unsets IU, _then_
QAS, and ignoring DT entirely. This smells a bit fishy.
Any reasons for this?

Cheers,

Hannes
-- 
Dr. Hannes Reinecke			hare@suse.de
SuSE Linux Products GmbH		S390 & zSeries
Maxfeldstraße 5				+49 911 74053 688
90409 Nürnberg				http://www.suse.de

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Fallback sequence in scsi_transport_spi
  2005-07-25  8:30 Fallback sequence in scsi_transport_spi Hannes Reinecke
@ 2005-07-25 12:19 ` James Bottomley
  0 siblings, 0 replies; 2+ messages in thread
From: James Bottomley @ 2005-07-25 12:19 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: SCSI Mailing List

On Mon, 2005-07-25 at 10:30 +0200, Hannes Reinecke wrote:
> it appears that the fallback sequence in
> scsi_transport_spi.c:spi_dv_retrain()
> is somewhat incorrect.
> 
> According to SPI-3 (spi3r14, actually), the flags DT, IU, and QAS can be
> set in the following order of precedence (Table 55, p 155):
> - DT
> - IU
> - QAS

Actually, this is superceded by spi4 and 5.  QAS is now optional for any
transfer agreement.

> However, the fallback routine in spi_dv_retrain first unsets IU, _then_
> QAS, and ignoring DT entirely. This smells a bit fishy.
> Any reasons for this?

DT is theoretically a more stable transfer mechanism in the face of line
noise than ST, so if the drive supports it, it makes some sense to back
down the periods still retaining DT if possible.  DT also mandates data
group transfers if IU isn't mandated, so it's a safer protocol at
detecting errors as well.

James



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-07-25 12:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-25  8:30 Fallback sequence in scsi_transport_spi Hannes Reinecke
2005-07-25 12:19 ` James Bottomley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox