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

From: Sergei Shtylyov
Date: Fri Dec 19 2008 - 06:31:52 EST


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


--
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/