From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: Tejun Heo <htejun@gmail.com>
Cc: Jeff Garzik <jeff@garzik.org>, Mark Lord <liml@rtr.ca>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
IDE/ATA development list <linux-ide@vger.kernel.org>,
andre@linux-ide.org
Subject: Re: [CALL-FOR-HELP] pata_ali: can't get MWDMA working!
Date: Wed, 9 Jan 2008 23:55:34 +0100 [thread overview]
Message-ID: <200801092355.34934.bzolnier@gmail.com> (raw)
In-Reply-To: <4784FBC1.7070804@gmail.com>
Hi Tejun,
On Wednesday 09 January 2008, Tejun Heo wrote:
> Hello, all.
>
> Broken MWDMA on pata_ali has caused a number of bug reports. I've been
> trying to fix it for some time now && finally got a machine with
> pata_ali and non-working MWDMA2 ATAPI device on my desk a few weeks ago.
> Testing confirms what users have been reporting - MWDMA2 works fine
> with the IDE alim15x3 driver while any DMA data transfer on pata_ali
> times out.
>
> At first I thought this was simple timing programming error, but no.
> pata_ali's mode programming wasn't wrong although it was different in
> how it programs empty slots. Even after making pata_ali to program the
> controller exactly the same as alim15x3 (identical lspci -xxx results),
> MWDMA didn't work. (attached)
>
> I wondered whether the device was configured differently, so compared
> hdparm --Istdout results. They were identical too. (attached)
ATA device, with non-removable media
Model Number: IC25N040ATMR04-0
Serial Number: MRG208K2K3A37H
Firmware Revision: MO2OAD5A
...
Could you also send hdparm output for ATAPI device? Does it use CDB intr?
> I walked through IDE and libata codes and found some differences in the
> order registers are accessed and which values are written (e.g. libata
> never turns on device 0/1 DMA capable bits in BMDMA status register
> while IDE does). I made them access the registers in the same order and
> write the same values. Still no go.
>
> Then, I made libata probing sequence very close to IDE such that no
> reset is performed and NIEN isn't tempered with. No go.
>
> I thought maybe the drive should just be blacklisted. I took the laptop
> apart, took out the DVD combo drive to ICH7 ata_piix. It works just fine.
>
> So, I'm out of ideas at this point. Any suggestions? Ideas?
If ATAPI device uses CDB intr then ->irq_clear will be called by
ata_host_intr() on CDB IRQ and may confuse DMA engine (it shouldn't
on most chipsets but older ALi-s are pretty weird)...?
Thanks,
Bart
next prev parent reply other threads:[~2008-01-09 22:45 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-09 16:52 [CALL-FOR-HELP] pata_ali: can't get MWDMA working! Tejun Heo
2008-01-09 17:01 ` Tejun Heo
2008-01-09 17:16 ` Alan Cox
2008-01-09 17:28 ` Alan Cox
2008-01-10 1:44 ` Tejun Heo
2008-01-09 17:25 ` Mark Lord
2008-01-10 1:49 ` Tejun Heo
2008-01-09 17:27 ` Sergei Shtylyov
2008-01-10 2:14 ` Tejun Heo
2008-01-09 22:55 ` Bartlomiej Zolnierkiewicz [this message]
2008-01-10 1:39 ` Tejun Heo
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=200801092355.34934.bzolnier@gmail.com \
--to=bzolnier@gmail.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=andre@linux-ide.org \
--cc=htejun@gmail.com \
--cc=jeff@garzik.org \
--cc=liml@rtr.ca \
--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).