Re: [PATCH] ide: motherboard-info based blacklist for ide-dma

From: Dmitry Gryazin
Date: Thu Jan 22 2009 - 07:48:28 EST


On Friday 16 January 2009 03:35:44 pm Sergei Shtylyov wrote:
> 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

I have only CF+ specification revision 2.0, but I've found in wiki:
(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?
--
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/