linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* hdregs.h puts csfo at word 129 - wrong, that's vendor specific
@ 2005-03-25  1:28 Chris Hann
  2005-03-25  3:03 ` Jeff Garzik
  0 siblings, 1 reply; 6+ messages in thread
From: Chris Hann @ 2005-03-25  1:28 UTC (permalink / raw)
  To: linux-ide list

ide-disk.c checks csfo bit 0 to see if the cache is available on a device
hdregs.h maps csfo to word 129 of the Identify Device information
the latest ATA documentation, e00159r3 Mandatory IDENTIFY DEVICE 
information, says words 129-159 are Vendor specific.

Why is the driver switching on cache operations based on a word that has 
nothing to do with cache?

My previous attempt was obviously too long?

Chris




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

* Re: hdregs.h puts csfo at word 129 - wrong, that's vendor specific
  2005-03-25  1:28 hdregs.h puts csfo at word 129 - wrong, that's vendor specific Chris Hann
@ 2005-03-25  3:03 ` Jeff Garzik
  2005-03-26  1:48   ` Brett Russ
  0 siblings, 1 reply; 6+ messages in thread
From: Jeff Garzik @ 2005-03-25  3:03 UTC (permalink / raw)
  To: Chris Hann; +Cc: linux-ide list

Chris Hann wrote:
> ide-disk.c checks csfo bit 0 to see if the cache is available on a device
> hdregs.h maps csfo to word 129 of the Identify Device information
> the latest ATA documentation, e00159r3 Mandatory IDENTIFY DEVICE 
> information, says words 129-159 are Vendor specific.
> 
> Why is the driver switching on cache operations based on a word that has 
> nothing to do with cache?

Good question...  I would guess that it's some pre-ATA4 legacy magic, 
but that's just a guess.

	Jeff




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

* Re: hdregs.h puts csfo at word 129 - wrong, that's vendor specific
  2005-03-25  3:03 ` Jeff Garzik
@ 2005-03-26  1:48   ` Brett Russ
  2005-03-26  2:01     ` Bartlomiej Zolnierkiewicz
  2005-04-13 22:18     ` Brett Russ
  0 siblings, 2 replies; 6+ messages in thread
From: Brett Russ @ 2005-03-26  1:48 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Chris Hann, linux-ide list, Bartlomiej Zolnierkiewicz

Jeff Garzik wrote:
> Chris Hann wrote:
>> ide-disk.c checks csfo bit 0 to see if the cache is available on a device
>> hdregs.h maps csfo to word 129 of the Identify Device information
>> the latest ATA documentation, e00159r3 Mandatory IDENTIFY DEVICE 
>> information, says words 129-159 are Vendor specific.
>>
>> Why is the driver switching on cache operations based on a word that 
>> has nothing to do with cache?
> 
> 
> Good question...  I would guess that it's some pre-ATA4 legacy magic, 
> but that's just a guess.

I just checked the specs for ATA[134567] (didn't have 2) and all of them 
show word 129 as vendor specific, as Chris found.

The code that's in libata-dev shows in idedisk_setup():

         /* write cache enabled? */
         if ((id->csfo & 1) || (id->cfs_enable_1 & (1 << 5)))
                 drive->wcache = 1;


Bart, what's the point of the csfo bit check?  If it's specific to one 
non-ATA compliant device shouldn't it be testing something else along 
with that bit?

BR

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

* Re: hdregs.h puts csfo at word 129 - wrong, that's vendor specific
  2005-03-26  1:48   ` Brett Russ
@ 2005-03-26  2:01     ` Bartlomiej Zolnierkiewicz
  2005-03-27 13:58       ` Alan Cox
  2005-04-13 22:18     ` Brett Russ
  1 sibling, 1 reply; 6+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2005-03-26  2:01 UTC (permalink / raw)
  To: Brett Russ; +Cc: Jeff Garzik, Chris Hann, linux-ide list, Alan Cox

On Fri, 25 Mar 2005 20:48:21 -0500, Brett Russ <russb@emc.com> wrote:
> Jeff Garzik wrote:
> > Chris Hann wrote:
> >> ide-disk.c checks csfo bit 0 to see if the cache is available on a device
> >> hdregs.h maps csfo to word 129 of the Identify Device information
> >> the latest ATA documentation, e00159r3 Mandatory IDENTIFY DEVICE
> >> information, says words 129-159 are Vendor specific.
> >>
> >> Why is the driver switching on cache operations based on a word that
> >> has nothing to do with cache?
> >
> >
> > Good question...  I would guess that it's some pre-ATA4 legacy magic,
> > but that's just a guess.
> 
> I just checked the specs for ATA[134567] (didn't have 2) and all of them
> show word 129 as vendor specific, as Chris found.
> 
> The code that's in libata-dev shows in idedisk_setup():
> 
>          /* write cache enabled? */
>          if ((id->csfo & 1) || (id->cfs_enable_1 & (1 << 5)))
>                  drive->wcache = 1;
> 
> Bart, what's the point of the csfo bit check?  If it's specific to one
> non-ATA compliant device shouldn't it be testing something else along
> with that bit?

AFAIR it was Alan who added this code, so lets ask him :)

Alan?

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

* Re: hdregs.h puts csfo at word 129 - wrong, that's vendor specific
  2005-03-26  2:01     ` Bartlomiej Zolnierkiewicz
@ 2005-03-27 13:58       ` Alan Cox
  0 siblings, 0 replies; 6+ messages in thread
From: Alan Cox @ 2005-03-27 13:58 UTC (permalink / raw)
  To: Bartlomiej Zolnierkiewicz
  Cc: Brett Russ, Jeff Garzik, Chris Hann, linux-ide list

> AFAIR it was Alan who added this code, so lets ask him :)


The cfso check goes back to Andre


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

* Re: hdregs.h puts csfo at word 129 - wrong, that's vendor specific
  2005-03-26  1:48   ` Brett Russ
  2005-03-26  2:01     ` Bartlomiej Zolnierkiewicz
@ 2005-04-13 22:18     ` Brett Russ
  1 sibling, 0 replies; 6+ messages in thread
From: Brett Russ @ 2005-04-13 22:18 UTC (permalink / raw)
  To: andre; +Cc: Jeff Garzik, Chris Hann, linux-ide list,
	Bartlomiej Zolnierkiewicz

This appears to have been dropped.  The last word 
(http://article.gmane.org/gmane.linux.ide/3588) was from Alan who said 
Andre would know the history.

Andre, can you help answer?

Thanks
BR

Brett Russ wrote:
> Jeff Garzik wrote:
> 
>> Chris Hann wrote:
>>
>>> ide-disk.c checks csfo bit 0 to see if the cache is available on a 
>>> device
>>> hdregs.h maps csfo to word 129 of the Identify Device information
>>> the latest ATA documentation, e00159r3 Mandatory IDENTIFY DEVICE 
>>> information, says words 129-159 are Vendor specific.
>>>
>>> Why is the driver switching on cache operations based on a word that 
>>> has nothing to do with cache?
>>
>>
>>
>> Good question...  I would guess that it's some pre-ATA4 legacy magic, 
>> but that's just a guess.
> 
> 
> I just checked the specs for ATA[134567] (didn't have 2) and all of them 
> show word 129 as vendor specific, as Chris found.
> 
> The code that's in libata-dev shows in idedisk_setup():
> 
>         /* write cache enabled? */
>         if ((id->csfo & 1) || (id->cfs_enable_1 & (1 << 5)))
>                 drive->wcache = 1;
> 
> 
> Bart, what's the point of the csfo bit check?  If it's specific to one 
> non-ATA compliant device shouldn't it be testing something else along 
> with that bit?
> 
> BR
> -
> To unsubscribe from this list: send the line "unsubscribe linux-ide" 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] 6+ messages in thread

end of thread, other threads:[~2005-04-13 22:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-25  1:28 hdregs.h puts csfo at word 129 - wrong, that's vendor specific Chris Hann
2005-03-25  3:03 ` Jeff Garzik
2005-03-26  1:48   ` Brett Russ
2005-03-26  2:01     ` Bartlomiej Zolnierkiewicz
2005-03-27 13:58       ` Alan Cox
2005-04-13 22:18     ` Brett Russ

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).