Re: [PATCH] ide: Fix ata_id_has_dword_io to return DWORD I/O support properly

Sergei Shtylyov
2008-12-19T11:31:51Z

Hello.

Alan Cox wrote:

>> OTOH the current patch is safe even for 2.6.28 (based on years of experience
>> with the check that we had in IDE subsystem) and will fix some libata drivers
>> (pata_legacy, pata_qdi and pata_winbond) to use dword IO on >= ATA-2 devices.
>>
>> [ In reality this a regression fix for IDE -> libata conversion as it is a
>> huge performance improvement for the above mentioned DMA-less drivers. ]
>>
>
> The 32bit PIO support is already queued up and went to Jeff a while ago
> so thats all in hand - its btw a big win on some suprising chipset cases
> including Intel ICH chipsets.
>

This is indeed strange...

>> Jeff, I would like to merge it through IDE tree since the other patch depends
>> on it but if you want to go ahead and push it to Linus earlier feel free to
>> do it (or I can include it into the next IDE fixes pull request if you like).
>>
>
> Its still broken. You cannot use the version check for versions below 3.
>

The word is reserved since ATA-2, and ata_id_major_version() should
be returning 0 for pre-ATA-3 drives, so I don't know what else can be
done here...

> I remain unconvinced we should be looking at it anywhere except specific
> pure ISA cycle pass through hardware and thus it belongs as a helper for
>

I'm still not getting how drive can support or not support "DWORD
I/O" -- you certainly can't have 32-bit I/O cycle on ISA (only on EISA)
and you certainly cannot translate 32-bit cycle to the ATA bus. I
remember I had some hypotheses before but they turned out to be
inconsistent.

> those drivers not as ata_has_mumble stuff as its not ATA - eide_* maybe.
>

Indeed, already ATA-1 says that the word 48 is "includedfor backwards
compatible VU use".

> Alan
>

MBR, Sergei