openvortex-dev
[Top][All Lists]
Advanced

[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.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]