Subject: Re: WDC/ATA PCMCIA and CardBus problems only with flash (i.e., not w/ microdrive)
To: None <tech-kern@netbsd.org>
From: Tad Hunt <tad@entrisphere.com>
List: tech-kern
Date: 03/11/2002 12:03:52
In message <20020309181250.4EC117E03@beowulf.gw.com>, you said:
;On Mar 9, 11:27am, sommerfeld@orchard.arlington.ma.us (Bill Sommerfeld) wrote:
;-- Subject: Re: WDC/ATA PCMCIA and CardBus problems only with flash (i.e., no
;
;| > Can you please send-pr this so that it does not get lost? I think
;| > your fix looks reasonable.
;|
;| as i read it, the supplied fix hacks wdc-specific code into the
;| system-wide interrupt dispatch mechanism. this can't possibly be
;| reasonable.
;
;I thought that was only wdc specific...
;
;christos
Christos,
I tried sending the message below to you last friday, but it bounced,
probably because (as der Mouse mentioned a while back) of a problem
with our mailer configuration which I have no control over.
It seems that the WDCF_IRQ_WAIT flag is designed to handle the
shared interrupt case. The problem I'm running into is not that
I'm losing an interrupt, it is that the driver is not expecting
an interrupt from the disk when it is getting one (WDCF_IRQ_WAIT
is not set).
To verify that the disk was really causing the interrupt, I hooked
up a JTAG debugger, and read the ATA status register (reg 7) after
the unhandled interrupt occurred, and the interrupt immediately went
away.
-Tad
Date: Fri, 08 Mar 2002 16:35:32 PST
To: christos@zoulas.com (Christos Zoulas)
From: Tad Hunt <tad@entrisphere.com>
Subject: Re: WDC/ATA PCMCIA and CardBus problems only with flash (i.e., not w/ microdrive)
In-reply-to: Your message of "Fri, 08 Mar 2002 23:53:53 GMT." <GsoIDt.9D0@tac.nyc.ny.us>
Christos,
I agree that my fix works, but it requires knowledge of the wdc
driver to be propagated out into the machine dependent interrupt
handling code. For example, in our mpc8260 port, it requires
knowledge in sys/arch/mpc8260/mpc8260/extintr.c. I wouldn't even
begin to know how to add this hack to ISA or PCI centric interrupt
models.
Do you have any clue what could be causing the drive to generate this
spurious interrupt?
-Tad