public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: John Wong <kernel@implode.net>
To: linux-kernel@vger.kernel.org
Subject: Promise IDE DMA issue
Date: Sun, 2 Jan 2005 09:37:04 -0800	[thread overview]
Message-ID: <20050102173704.GA14056@gambit.implode.net> (raw)

I recently upgraded fron a nVidia nForce2 MCP-T based A7NX-DX
motherboard to an A8V DX, Via K8T800 Pro.  Now occassionally, I get 
DMA issues on a drive attached to a Promise 133 TX2 controller (20269).

Jan  1 11:14:51 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:16:01 gambit kernel: hdh: dma_timer_expiry: dma status == 0x64
Jan  1 11:16:01 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:16:01 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:16:01 gambit kernel: hde: lost interrupt
Jan  1 11:16:01 gambit kernel: PDC202XX: Secondary channel reset.
Jan  1 11:16:01 gambit kernel: hdh: DMA interrupt recovery
Jan  1 11:16:01 gambit kernel: hdh: lost interrupt
Jan  1 11:16:01 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:16:01 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:16:01 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:16:01 gambit kernel: hde: lost interrupt
Jan  1 11:16:01 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:16:01 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:18:31 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:18:31 gambit kernel: hde: lost interrupt
Jan  1 11:18:31 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:18:31 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:18:31 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:18:31 gambit kernel: hde: lost interrupt
Jan  1 11:18:31 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:18:31 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:18:31 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:18:31 gambit kernel: hde: lost interrupt
Jan  1 11:18:31 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:18:31 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:18:31 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:18:31 gambit kernel: hde: lost interrupt
Jan  1 11:18:31 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:19:31 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:19:31 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:19:31 gambit kernel: hde: lost interrupt
Jan  1 11:19:31 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:19:31 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:19:31 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:19:31 gambit kernel: hde: lost interrupt
Jan  1 11:19:31 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:19:31 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:19:31 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:19:31 gambit kernel: hde: lost interrupt
Jan  1 11:19:31 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:19:31 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:19:31 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:19:31 gambit kernel: hde: lost interrupt
Jan  1 11:19:51 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:20:01 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:20:01 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:20:01 gambit kernel: hde: lost interrupt
Jan  1 11:20:21 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:20:31 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:20:31 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:20:31 gambit kernel: hde: lost interrupt
Jan  1 11:20:51 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:21:01 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:21:01 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:21:01 gambit kernel: hde: lost interrupt
Jan  1 11:21:21 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:21:31 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:21:31 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:21:31 gambit kernel: hde: lost interrupt
Jan  1 11:21:51 gambit kernel: hde: dma_timer_expiry: dma status == 0x64
Jan  1 11:22:01 gambit kernel: PDC202XX: Primary channel reset.
Jan  1 11:22:01 gambit kernel: hde: DMA interrupt recovery
Jan  1 11:22:01 gambit kernel: hde: lost interrupt

hde and hdh are identical Seagate ST3200822A
hdf and hdg are Maxtor 6Y120P0 and 6Y120L0, however, they weren't
mounted and are manually mounted as needed as they are FAT32 and NTFS.

Jan  2 06:25:35 gambit kernel: hde: dma_intr: status=0x50 { DriveReady
SeekCompl
ete }
Jan  2 06:25:35 gambit kernel: 
Jan  2 06:25:35 gambit kernel: ide: failed opcode was: unknown

The above happened at 6:25 which coincides with Debian's cron.daily
runs (most likely the updating of the locate database).


I've seen http://seclists.org/lists/linux-kernel/2003/Oct/4754.html
where someone suggests disabling autotune to work around the problem.
Without DMA, the DMA problem shouldn't happen, but this would slow
things down.

http://www.uwsg.iu.edu/hypermail/linux/kernel/0412.2/1569.html
mentions about needing multiple independent PCI buses for more than 2
DMA transfers at a time.

My lspci output from the old A7NX (nVidia nForce2) does appear to have 
more PCI buses.  It looks to have a 0, 1, 2, 3 with 3 looking to be the 
AGP bus.  The A8V (Via K8T800 Pro) on the other hand looks to have just 
0, and 1 with 1 being the AGP bus.


John

             reply	other threads:[~2005-01-03 15:07 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-02 17:37 John Wong [this message]
2005-01-03 18:00 ` Promise IDE DMA issue Jeff Garzik
2005-01-03 21:52   ` John Wong
2005-01-03 22:22     ` Joel Cant
2005-01-04  0:27       ` John Wong

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=20050102173704.GA14056@gambit.implode.net \
    --to=kernel@implode.net \
    --cc=linux-kernel@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