On Thu, 2010-04-15 at 01:16 -0400, Mark Lord wrote:
> On 15/04/10 12:46 AM, Andy Walls wrote:
> > On Wed, 2010-04-14 at 18:26 -0400, Mark Lord wrote:
> .
>
> Mmmm.. but it does do read-modify-write on several registers inside the IRQ
> handling.
> I suppose those might be "safe" groups, written to _only_ by the IRQ handler,
> but maybe not.
In the linux driver, the registers in CX23418 address range:
0x2c40000-0x2c409ff
are only written to by the files named cx18-av-*[ch], which is mostly
ioctl() call driven. (Those registers are logically mapped by the linux
driver code to 0x000-0x9ff to make the integrated A/V decoder look like
a CX25843 chip for convenience.)
Accesses to those are orthognal to the rest of the cx18 driver,
including the IRQ handler. (I agree, its hard to follow things in the
driver; it's very large.)
Do note, however, that the audio standard detection microcontroller
*does* write to the registers in 0x800-0x9ff *independent* of the linux
cx18 driver.
Locking with respect to the microcontroller would mean halting and
restarting the microcontroller. I don't know if that causes it to reset
or not, and I do not know how it affects it's internal timers.
Regards,
Andy
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel