linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Albert Lee <albertcc@tw.ibm.com>
To: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Linux IDE <linux-ide@vger.kernel.org>,
	"Adam W. Hawks" <awhawks@us.ibm.com>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH] ide: Fix ATAPI DMA lost irq problem with CDB intr devices
Date: Mon, 22 Jan 2007 15:28:41 +0800	[thread overview]
Message-ID: <45B467A9.6040404@tw.ibm.com> (raw)
In-Reply-To: <45B12318.9000704@gmail.com>

Hi Bart,
> 
> Albert Lee wrote:
> 
>>Problem: IDE ATAPI DMA lost irq with CDB intr devices on Intel ICHx
>>machines.
>>
>>This patch clears the INTR and ERROR bits of DMA status before starting
>>BMDMA to fix the problem.
> 
> 
> [PATCH] ide-cd: Handle strange interrupt on the Intel ESB2
> http://lkml.org/lkml/2006/12/4/201
> 
> The above patch was already merged so it seems that the list
> of PCI IDs requiring ->atapi_irq_bogon needs to be expanded...

Instead of adding PCI IDs to the blacklist, could we just unconditionally
clear the dma_status:INTR in ide_dma_start()?

Reason: Currently the INTR bit is cleared in ide_dma_setup(). Later the
PIO data transfer is used to send ATAPI CDB. The BMDMA is started last.
The bmdma INTR bit might be changed either by spurious irq (as seen by
Alan/Stratus) or by CDB-intr CD-ROM drives (as seen by Adam) etc. during
the time frame before bmdma is actually started.
It looks safer if we can clear INTR right before dma is started.

> 
> Adam, which ICH version is it?
> 
> <snip>
> Does the problem also happen on ICH4?
> 
> 

Adam's box is an ICH (8086:2411) and mine ICH4 (8086:24cb). Yes, this
problem also happen on ICH4. I suspect that all Intel ICHx has such
behavior (i.e. DMA irq lost if INTR is already 1).

BTW, this problem does not reproduce on libata since libata always
clears bmdma INTR in ata_host_intr().

Thanks,

Albert






  reply	other threads:[~2007-01-22  7:28 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-18 11:19 [PATCH] ide: Fix ATAPI DMA lost irq problem with CDB intr devices Albert Lee
     [not found] ` <58cb370e0701191133m3dd584ffna5b231b00392c13d@mail.gmail.com>
2007-01-19 19:59   ` Bartlomiej Zolnierkiewicz
2007-01-22  7:28     ` Albert Lee [this message]
2007-01-22  8:45       ` Albert Lee
2007-01-22 16:05         ` Bartlomiej Zolnierkiewicz
2007-01-24  3:33           ` [PATCH 0/2] ide: clear bmdma status in ide_intr for all commands Albert Lee
2007-01-24  3:36             ` [PATCH 1/2] ide: remove clearing bmdma status from cdrom_decode_status() Albert Lee
2007-01-24  3:42             ` [PATCH 2/2] ide: clear bmdma status in ide_intr() Albert Lee
2007-01-24 13:04               ` Sergei Shtylyov
2007-01-25  9:31                 ` [PATCH 2/2] ide: clear bmdma status in ide_intr() (revised) Albert Lee
2007-01-25 15:17                   ` Sergei Shtylyov
2007-01-25 16:40                     ` Sergei Shtylyov
2007-01-30  2:49                       ` [PATCH 0/2] ide: clear bmdma status in ide_intr for Intel controllers (revised #3) Albert Lee
2007-01-30  2:52                         ` [PATCH 1/2] ide: remove clearing bmdma status from cdrom_decode_status() (rev #3) Albert Lee
2007-01-30  3:02                         ` [PATCH 2/2] ide: clear bmdma status in ide_intr() for Intel controllers (revised #3) Albert Lee
2007-01-30 14:13                           ` Sergei Shtylyov
2007-01-30 14:27                           ` Alan
     [not found]                           ` <58cb370e0701301117n316a9efax1e0b6299a8f8594a@mail.gmail.com>
2007-01-30 20:21                             ` Bartlomiej Zolnierkiewicz
2007-01-31  5:49                               ` [PATCH 0/2] ide: clear bmdma status in ide_intr for Intel controllers (revised #4) Albert Lee
2007-01-31  5:54                                 ` [PATCH 1/2] ide: clear bmdma status in ide_intr() for ICHx " Albert Lee
2007-01-31  5:57                                 ` [PATCH 2/2] ide: remove clearing bmdma status from cdrom_decode_status() (rev #4) Albert Lee
     [not found]                                 ` <58cb370e0702021307i3d275e84qbeb3b44f58ad6b51@mail.gmail.com>
2007-02-02 21:14                                   ` [PATCH 0/2] ide: clear bmdma status in ide_intr for Intel controllers (revised #4) Bartlomiej Zolnierkiewicz
2007-01-22 14:47       ` [PATCH] ide: Fix ATAPI DMA lost irq problem with CDB intr devices Alan

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=45B467A9.6040404@tw.ibm.com \
    --to=albertcc@tw.ibm.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=albertl@mail.com \
    --cc=awhawks@us.ibm.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).