Hello. Dmitry Gryazin wrote:
True. However it should be possible to handle it correctly by adding the DMA quirk to the respective host drivers (seems to be via82cxxx.c in case of IEI PCISA-C3/EDEN).
Yeah, this seems a viable approach...
Kirill, could you please look into adding such quirk to via82cxxx instead?
[ It seems the best place to add it would be via_init_one() as we could just
No, not really -- the issue is not at all as simple as this patch tried to present it. Looking at its "Quick Startup Reference" (http://f.ipc2u.ru/files/add/doc/496/M_PCISA-C800EV_ENG.pdf), the EPIC board has *two* normal IDE connectors in addition to the CF slot (connected to the secondary port -- and it seems possible that a hard drive can be connected to the same port as CF), so the right place seems to rather be in [mu]dma_filter() methods -- and the decision should be strictly based on the drive type indicating CF, i.e. by calling ata_id_is_cfa().
I have tried my old Trancend 64Mb, RamStar 521Mb and NCP 64Mb cards. My old cards returned right id[ATA_ID_CONFIG] = 0x848A.
But I have to use Kingston CF Card 1Gb 2008. ata_id_is_cfa() returns 0 for it and id[ATA_ID_MAJOR_VER] = 0 id[ATA_ID_CONFIG] = 0x044A
That seems non-standard CF as ATA specifies that it must have 0x848A there.
I have only CF+ specification revision 2.0, but I've found in wiki:
Try googling for cfspc_41.pdf (and other versions), you'll be surprised in a good way. ;-)
(http://en.wikipedia.org/wiki/CompactFlash#CF.2B_specification_revisions) "... While the current revision 4.1 from 2004 works only in ATA mode, ..."
So I have reached an impasse. How to identify modern CF cards?
Hm, I should consult the specs... WBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html