From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: Dmitry Gryazin <gdu@mns.spb.ru>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
Kirill Smelkov <kirr@mns.spb.ru>,
linux-ide@vger.kernel.org, navy-patches@mns.spb.ru
Subject: Re: [PATCH] ide: motherboard-info based blacklist for ide-dma
Date: Tue, 27 Jan 2009 02:34:27 +0300 [thread overview]
Message-ID: <497E4883.4030307@ru.mvista.com> (raw)
In-Reply-To: <49789605.9090707@ru.mvista.com>
Hello, I 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
That turned to be the requirement of the CF spec... :-/
>>>>> id[ATA_ID_CONFIG] = 0x044A
CF 4.x lists this value as "CF preferred altrernate", along with 0x0040.
>>>> 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...
>>> ATA/PI-7 rev. 4b has this in 4.10:
>>> Devices reporting the value 848Ah in IDENTIFY DEVICE data word 0 or
>>> devices
>>> having bit 2 of IDENTIFY DEVICE data word 83 set to one shall
>>> support the
>>> CFA feature Set. If the CFA feature set is implemented, all five
>>> commands
>>> shall be implemented.
>> id[ATA_ID_COMMAND_SET_2] = 0 /* For my Kingston 1Gb CF card, kernel
>> v2.6.28.1 */
> Then I guess we need a new quirk. :-/
BTW, CF 4.x says that the drive reporting word 0 bits 12:15 as 0 "is
required to support for the CFA command set and report that in bit 2 of
Word 83". So thank Kingston for being CF incompatible. :-)
MBR, Sergei
next prev parent reply other threads:[~2009-01-26 23:34 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-30 15:33 [PATCH] ide: motherboard-info based blacklist for ide-dma Kirill Smelkov
2008-12-30 16:30 ` Sergei Shtylyov
2008-12-31 19:12 ` Bartlomiej Zolnierkiewicz
2009-01-04 20:32 ` Sergei Shtylyov
2009-01-04 21:13 ` Sergei Shtylyov
2009-01-04 23:34 ` Sergei Shtylyov
2009-01-15 11:48 ` Dmitry Gryazin
2009-01-16 12:35 ` Sergei Shtylyov
2009-01-22 12:43 ` Dmitry Gryazin
2009-01-22 13:43 ` Sergei Shtylyov
2009-01-22 13:54 ` Sergei Shtylyov
2009-01-22 13:58 ` Sergei Shtylyov
2009-01-22 14:27 ` Dmitry Gryazin
2009-01-22 15:35 ` Sergei Shtylyov
2009-01-22 17:10 ` Sergei Shtylyov
2009-01-22 14:58 ` Dmitry Gryazin
2009-01-22 15:51 ` Sergei Shtylyov
2009-01-26 23:34 ` Sergei Shtylyov [this message]
2009-01-27 7:50 ` Dmitry Gryazin
2009-01-27 10:30 ` Sergei Shtylyov
2009-01-22 15:01 ` Bartlomiej Zolnierkiewicz
2009-01-22 15:53 ` Sergei Shtylyov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=497E4883.4030307@ru.mvista.com \
--to=sshtylyov@ru.mvista.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=bzolnier@gmail.com \
--cc=gdu@mns.spb.ru \
--cc=kirr@mns.spb.ru \
--cc=linux-ide@vger.kernel.org \
--cc=navy-patches@mns.spb.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.