[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Openvortex-dev] Findings...
From: |
Manuel Jander |
Subject: |
Re: [Openvortex-dev] Findings... |
Date: |
Wed, 23 Apr 2003 23:10:32 -0400 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030327 Debian/1.3-4 |
Hi,
According "Linux Device Drivers, 2nd Ed.", the right way to handle IRQ
grabbing is at the device's open() code--they also suggest that the
IRQ should be released in the device's close() code as well which
means you'd have to keep track of how many open()'s have happened and
how many close()'s before releasing the IRQ (keep a reference count).
Please don't. That can be very messy. The ALSA driver tutorial
recommends capturing
IRQ's on driver loading and release when the driver is released.
With all respect to Mister Rubini there would be no benefit doing as
that book states
(in this case) and it would only increase the chance of having a IRQ or
DMA or
whatever event in an inapropiate state. You would have to mix up all
interrupt stuff
of every PCM channel + MIDI ...
By the way, when calling the set hardware params ALSA call the IRQ
PCMOUT source is
enabled, and disabled on the ALSA hardware release call.
In this case, it sounds like it would be a good idea to do things this
way for the au88x0 driver. That way the card would (ideally) be fully
initialized before an IRQ can occur. As for badly designed Vortex
cards, mine's revision FA, so that is a distinct possibility. ;-( At
least now there is the possibility of finding these problems... :-p
No, please don't. I really disagree.
I do agree with initializing the card (reseting) before registering the
IRQ handler.
That can be done by placing the vortex_core_init() call a few lines
before. In my opinion
thats all whats needed to fix the problem, at it's real root (if our
assumptions are true).
I really don't like having to disagree, but any changes that pursue a
bug should be done
consistently. Changing all the driver would increase the chance of new
bugs. And we first
have to be sure what is really causing the bug.
There are other areas (like the SRC) that require much more attention
right now.
Best Regards
Manuel Jander.