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 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html