linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 32-bit IO to-do item...
@ 2009-04-09  5:25 Jeff Garzik
  2009-04-09  8:54 ` Alan Cox
  0 siblings, 1 reply; 5+ messages in thread
From: Jeff Garzik @ 2009-04-09  5:25 UTC (permalink / raw)
  To: Alan Cox; +Cc: Linux IDE mailing list

Alan,

I keep meaning to mention this (and get it into the mail archive)... 
The 32-bit IO patch was incomplete, because it rendered 
ATA_IOC_[GS]ET_IO32 handling in ata_sas_scsi_ioctl() -- our base ioctl 
handler -- incorrect.

Previously, it simply ensured the ioctls reflected hardcoded 16-bit I/O. 
  Now, behavior no longer matches what the ioctls report.

At a minimum, drivers probably need to set an "I'm using 32bit I/O" 
flag, that the ioctl then reads, replacing ata_sas_scsi_ioctl()'s 
assumption that val==0.

	Jeff



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

* Re: 32-bit IO to-do item...
  2009-04-09  5:25 32-bit IO to-do item Jeff Garzik
@ 2009-04-09  8:54 ` Alan Cox
  2009-04-09  9:48   ` Jeff Garzik
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Cox @ 2009-04-09  8:54 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Linux IDE mailing list

On Thu, 09 Apr 2009 01:25:40 -0400
Jeff Garzik <jeff@garzik.org> wrote:

> Alan,
> 
> I keep meaning to mention this (and get it into the mail archive)... 
> The 32-bit IO patch was incomplete, because it rendered 
> ATA_IOC_[GS]ET_IO32 handling in ata_sas_scsi_ioctl() -- our base ioctl 
> handler -- incorrect.
> 
> Previously, it simply ensured the ioctls reflected hardcoded 16-bit I/O. 
>   Now, behavior no longer matches what the ioctls report.
> 
> At a minimum, drivers probably need to set an "I'm using 32bit I/O" 
> flag, that the ioctl then reads, replacing ata_sas_scsi_ioctl()'s 
> assumption that val==0.

Put onto my TODO list. I missed the fact you were even faking that
rather bogus ioctl (what for example does a PIO over DMA device claim ??)

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

* Re: 32-bit IO to-do item...
  2009-04-09  8:54 ` Alan Cox
@ 2009-04-09  9:48   ` Jeff Garzik
  2009-04-09 10:22     ` Alan Cox
  0 siblings, 1 reply; 5+ messages in thread
From: Jeff Garzik @ 2009-04-09  9:48 UTC (permalink / raw)
  To: Alan Cox; +Cc: Linux IDE mailing list

Alan Cox wrote:
> On Thu, 09 Apr 2009 01:25:40 -0400
> Jeff Garzik <jeff@garzik.org> wrote:
> 
>> Alan,
>>
>> I keep meaning to mention this (and get it into the mail archive)... 
>> The 32-bit IO patch was incomplete, because it rendered 
>> ATA_IOC_[GS]ET_IO32 handling in ata_sas_scsi_ioctl() -- our base ioctl 
>> handler -- incorrect.
>>
>> Previously, it simply ensured the ioctls reflected hardcoded 16-bit I/O. 
>>   Now, behavior no longer matches what the ioctls report.
>>
>> At a minimum, drivers probably need to set an "I'm using 32bit I/O" 
>> flag, that the ioctl then reads, replacing ata_sas_scsi_ioctl()'s 
>> assumption that val==0.
> 
> Put onto my TODO list. I missed the fact you were even faking that
> rather bogus ioctl (what for example does a PIO over DMA device claim ??)

Probably as a result of a questionable choice to create new named 
constants ATA_IOC_* as a replacement for existing constants HDIO_*  I 
did that to avoid including linux/hdreg.h -- something we quickly wound 
up doing anyway.

I'd say pio-over-dma returns '1', so as to imply '0' meaning boring, 
slow, legacy compatible 16-bit I/O.  But it's a good question....

	Jeff



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

* Re: 32-bit IO to-do item...
  2009-04-09  9:48   ` Jeff Garzik
@ 2009-04-09 10:22     ` Alan Cox
  2009-04-09 11:03       ` Jeff Garzik
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Cox @ 2009-04-09 10:22 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Linux IDE mailing list

> I'd say pio-over-dma returns '1', so as to imply '0' meaning boring, 
> slow, legacy compatible 16-bit I/O.  But it's a good question....

And 8bit transfers ?

The more I look at this the more I think we should just admit it was a
dumb interface and do something different. To start with do we mean the
controller-disk transfer is 32bit (meaningful only in some early proto
IDE stuff), or the controller-fifo transfer is 32bit (which is
meaningless as actually its posted)


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

* Re: 32-bit IO to-do item...
  2009-04-09 10:22     ` Alan Cox
@ 2009-04-09 11:03       ` Jeff Garzik
  0 siblings, 0 replies; 5+ messages in thread
From: Jeff Garzik @ 2009-04-09 11:03 UTC (permalink / raw)
  To: Alan Cox; +Cc: Linux IDE mailing list

Alan Cox wrote:
>> I'd say pio-over-dma returns '1', so as to imply '0' meaning boring, 
>> slow, legacy compatible 16-bit I/O.  But it's a good question....
> 
> And 8bit transfers ?
> 
> The more I look at this the more I think we should just admit it was a
> dumb interface and do something different. To start with do we mean the
> controller-disk transfer is 32bit (meaningful only in some early proto
> IDE stuff), or the controller-fifo transfer is 32bit (which is
> meaningless as actually its posted)

Sure it's a dumb interface, it's a legacy ioctl...  :)  We do the best 
we can with a legacy interface.

On a more general level, sure, libata sorely lacks a control interface 
for twiddling host controller features, or even device xfer modes.

	Jeff





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

end of thread, other threads:[~2009-04-09 11:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-09  5:25 32-bit IO to-do item Jeff Garzik
2009-04-09  8:54 ` Alan Cox
2009-04-09  9:48   ` Jeff Garzik
2009-04-09 10:22     ` Alan Cox
2009-04-09 11:03       ` Jeff Garzik

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).