From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: linux-ide@vger.kernel.org
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Subject: Re: [PATCH, review] IDE driver for MIPS Toshiba RBTX4939
Date: Wed, 31 May 2006 22:23:29 +0400 [thread overview]
Message-ID: <447DDF21.4060509@ru.mvista.com> (raw)
In-Reply-To: <447DD363.1070206@ru.mvista.com>
Hello, I wrote:
>>> Hello. I'm submitting, mainly for review (questions, comments, etc) the
>>> IDE driver for the MIPS-based Toshiba RBTX4939. In some private emails
>>> with Bartlomiej about the ide-dma changes, I understand there's at least
>>> one problem with the driver (happy to fix with a pointer to a good
>>> example). And I see real quickly there's a few style things a
>>> Lindent'ing would fix. Thanks.
>>> Signed-off-by: Hiroshi DOYU <hdoyu@mvista.com>
>>> Signed-off-by: Tom Rini <trini@kernel.crashing.org>
>>> Index: linux-2.6.10/drivers/ide/ide-cd.c
>>> ===================================================================
>>> --- linux-2.6.10.orig/drivers/ide/ide-cd.c
>>> +++ linux-2.6.10/drivers/ide/ide-cd.c
>>> @@ -678,6 +678,13 @@ static int cdrom_decode_status(ide_drive
>>> err = HWIF(drive)->INB(IDE_ERROR_REG);
>>> sense_key = err >> 4;
>>>
>>> +#if defined(CONFIG_BLK_DEV_IDE_TX4939)
>>> + if (IS_IDE_TX4939) {
>>> + extern void tx4939_ide_softreset(ide_drive_t*);
>>> + tx4939_ide_softreset(drive);
>>> + }
>>> +#endif
>>> +
>> Why is this needed?
The datasheet says only about the DMA transfer being stopped by a bus
error case. So, who knows? I'm afraid, even Toshiba engineers don't... :-)
>>> Index: linux-2.6.10/drivers/ide/mips/ide-tx4939.c
>>> ===================================================================
>>> --- /dev/null
>>> +++ linux-2.6.10/drivers/ide/mips/ide-tx4939.c
>>> + sc_port = (!is_slave) ?
>>> + data_port + TX4939_ATA_SYSTEM_CONTROL1_OFFSET :
>>> + data_port + TX4939_ATA_SYSTEM_CONTROL2_OFFSET;
>>> +
>>> + if (!hwif->channel) { /* primary */
>> Why only primary channel is tuned?
> You won't believe: it's single channel, and that's how Toshiba deals
> with this. :-)
Worse, it's dual channel. Then I have no idea other than that this was
copied from another driver for the single-channel chip (I've seen such code
already). Oh, horror... :-/
> Worse still: this controller has only _one_ timing register for both
> master and slave, and doesn't define selectproc!
BTW, the datasheet is contradictory here. The register map has 2 system
control regs per channel, while ATAP setcion says about the single one, and
warns that it must be changed with every change of DEV bit...
> Though wait, they
> prefer to handle this in tx4939_ide_outb(). The driver seems even more
> broken-minded than I initially thought... And that tuneproc() stupidity
> where they're clearing the DMA mode...
Well, this is not as stupid, DMA mode should be off anyway...
MBR, Sergei
prev parent reply other threads:[~2006-05-31 18:24 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-29 16:22 [PATCH, review] IDE driver for MIPS Toshiba RBTX4939 Tom Rini
2005-10-03 16:17 ` Bartlomiej Zolnierkiewicz
2005-10-03 18:43 ` Tom Rini
2006-05-31 17:33 ` Sergei Shtylyov
2006-05-31 18:23 ` Sergei Shtylyov [this message]
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=447DDF21.4060509@ru.mvista.com \
--to=sshtylyov@ru.mvista.com \
--cc=bzolnier@gmail.com \
--cc=linux-ide@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).