All of lore.kernel.org
 help / color / mirror / Atom feed
From: Albert Lee <albertcc@tw.ibm.com>
To: Akira Iguchi <akira2.iguchi@toshiba.co.jp>
Cc: albertl@mail.com, linux-ide@vger.kernel.org, kou.ishizaki@toshiba.co.jp
Subject: Re: Celleb cannot exit from ata_host_intr()
Date: Mon, 22 Jan 2007 15:58:44 +0800	[thread overview]
Message-ID: <45B46EB4.8080004@tw.ibm.com> (raw)
In-Reply-To: <200701220248.l0M2m9r4016903@toshiba.co.jp>

Hi Iguchi-san,

> 
> 
>>Is the irq of Celleb IDE shared with other adapters?
>>If the irq is non-shared, could you check if the following code works
>>for Celleb:
>>
>>			/* if it's not our irq... */
>>			if ((host_stat & ATA_DMA_ACTIVE) &&
>>			    !(host_stat & ATA_DMA_INTR))
>>				goto idle_irq;
> 
> 
> My irq is non-shared, but above code doesn't work.
> I got the following register values at this point:
> - DMA_STATUS = 0x01 (ATA_DMA_ACTIVE is 1)
> - ALT_STATUS = 0x51 (ERR is 1)

Ah, I see, so the adapter thinks BMDMA is still active. :(
Wonder whether this behavior would be related to CD-ROM drive...
i.e. Does it possibly work ok with other CD-ROM models?

> 
> Now I think I should handle this problem in my bmdma_status() hook
> because it is a device specific problem.
> I intend to emulate ATA_DMA_INTR if the following conditions are true:
> - In ISR
> - ALT_STATUS[ERR] = 1
> - DMA_STATUS[DMA_ACTIVE] = 1
> 
> 

Some controller like Promise 2027x has an extra register/bit for INTRQ.
Don't know whether Celleb has such hardware bit or not. If do, maybe
such bit can be also used as substitute for bmdma:INTR.

--
albert



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

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-18  6:52 Celleb cannot exit from ata_host_intr() Akira Iguchi
2007-01-19 10:48 ` Albert Lee
2007-01-22  2:48   ` Akira Iguchi
     [not found]   ` <200701220248.l0M2m9r4016903@toshiba.co.jp>
2007-01-22  7:58     ` Albert Lee [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=45B46EB4.8080004@tw.ibm.com \
    --to=albertcc@tw.ibm.com \
    --cc=akira2.iguchi@toshiba.co.jp \
    --cc=albertl@mail.com \
    --cc=kou.ishizaki@toshiba.co.jp \
    --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.