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 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.