AF:
NF:0
PS:10
SRH:1
SFN:
DSR:
MID:<20070628151220.1f072acc@ripper.onstor.net>
CFG:
PT:0
S:andy.sharp@onstor.com
RQ:
SSV:onstor-exch02.onstor.net
NSV:
SSH:
R:<brian.stark@onstor.com>
MAID:1
X-Sylpheed-Privacy-System:
X-Sylpheed-Sign:0
SCF:#mh/Mailbox/sent
RMID:#imap/andys@onstor.net@onstor-exch02.onstor.net/INBOX	0	BB375AF679D4A34E9CA8DFA650E2B04E0451E0CD@onstor-exch02.onstor.net
X-Sylpheed-End-Special-Headers: 1
Date: Thu, 28 Jun 2007 15:13:23 -0700
From: Andrew Sharp <andy.sharp@onstor.com>
To: "Brian Stark" <brian.stark@onstor.com>
Subject: Re: compac flash LEDs
Message-ID: <20070628151323.0e1e999a@ripper.onstor.net>
In-Reply-To: <BB375AF679D4A34E9CA8DFA650E2B04E0451E0CD@onstor-exch02.onstor.net>
References: <20070626144241.58dc4fcc@ripper.onstor.net>
	<BB375AF679D4A34E9CA8DFA650E2B04E0451D575@onstor-exch02.onstor.net>
	<20070626164941.0455efcc@ripper.onstor.net>
	<BB375AF679D4A34E9CA8DFA650E2B04E0451D6F2@onstor-exch02.onstor.net>
	<20070627110642.38e445ab@ripper.onstor.net>
	<BB375AF679D4A34E9CA8DFA650E2B04E0451E0CD@onstor-exch02.onstor.net>
Organization: Onstor
X-Mailer: Sylpheed-Claws 2.6.0 (GTK+ 2.8.20; x86_64-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Thu, 28 Jun 2007 14:20:14 -0700 "Brian Stark"
<brian.stark@onstor.com> wrote:

> Andy,
> 
> Since the interrupts are level sensitive, the RM9K thinks the
> interrupt is always active until it's serviced.  This is probably why
> Linux eventually disables that IRQ.  Also, we don't currently use CSC
> interrupts in BSD and only use functional interrupts that come
> straight from the CF and are then routed by the controller to the
> interrupt pin to the RM9K.  Are you enabling CSC interrupts?

Well that's what I thought I said.  Only it seems that I cannot disable
the managment interrupt by servicing it.  It just keeps
interrupting continuously.  Since we don't use the managment interrupt
in BSD, no one has tried this yet, which is what I meant by I'm breaking
new ground here.  Maybe there's something wrong with it.  Oops, I meant,
maybe there is an errata ~:^) It would be nice not to have to poll the
CF cards every second since they will almost never be any status changes
in most production machines.

> You could try disabling functional interrupts by writing to the ExCA
> interrupt register and disabling interrupts.  For example, for socket
> A, set ExCA 0x3 to 0x60 instead of 0x64.  This will turn functional
> interrupts off, and you shouldn't see Linux disable that IRQ.  If you
> do, then it's CSC interrupts that are causing the issue, and you could
> then try turning those off.

There is no combination that I haven't tried ~:^)  The deal is that the
driver is a little bit cross wired when it comes to interrupts, ie., a
combination of polling for status changes and using PCI interrupts for
the cards apparently never occured to the original author.  Fortunately
I did some code-rework last night and hopefully spackled that up.

Right now I'm trying to figure out why the IDE driver is failing to
bind with the CF card, and after I get that little nugget, I can go back
and revisit this polling v. interrupt thing for status changes.

Thanks,

a
