Re: Synchronization between ISR and IST - I2C Based device



Sooner or later "USB Host Controllers" should inspire
someone so that I2C drivers can rest in peace (being
freed from management responsibilities they shouldn't take).
We'll call them I2C client drivers and they will use services
provided by "humble" I2C host controllers.

Once again, i realize that I2C's low speed and the lack
or "real" I2C devices (under the User's point of view)
can't justify the efforts.

"Srivathsan" <srivathsan.a@xxxxxxxxx> wrote in message
news:1167381788.736738.200830@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi Greats

We solved the problem by masking the UART Interrupt on every read /
Write Operation.

The logic is
Read / Write Smbus()
{
EnterCriticalSection()
InterruptMask(UART_INTERRUPT, TRUE)
SMBus Read / Write Operation
InterruptMask(UART_INTERRUPT, FALSE)
LeaveCriticalSection()
}

Now the Interrupt is being masked and the ISR will not occur when the
bus is being accessed. Since the UART is producing only Level Interrupt
it will not be cleared and will not process any more interrupts. Thus
when the bus access is finished the interrupt is served immediately.

Thanks
Mams and Team



.



Relevant Pages

  • Re: Polling loop good here???
    ... The "vertical retrace interrupt" was IRQ 2... ... In today's hardware - as has been mentioned - they've almost certainly ... it...make use of the drivers... ...
    (alt.lang.asm)
  • Re: [RFC] killing the NR_IRQS arrays.
    ... Subject: IRQ API ... interrupt controllers, and knowing hardware designers, they'll ... I believe that there are some common problems with the existing API ... architecture specific drivers now if they feel they would benefit ...
    (Linux-Kernel)
  • Re: hardware interrupt handlers registration and msg-passing ?
    ... through the Minix 3 after just finishing up the understanding of Minix ... to drivers when interrupts occur. ... during interrupt handling when an arbitray interrupt takes place. ... is likely to be the most confusing and hidden-from-me idea. ...
    (comp.os.minix)
  • Re: XScale problem
    ... You shold keep in mind that the under CE the NDIS miniport environment ... provided in CE to make it easier to port existing drivers written for NT ... actual interrupt service routine. ... corresponding driver IST, which in turn will call first ISR ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Synchronization between ISR and IST - I2C Based device
    ... We solved the problem by masking the UART Interrupt on every read / ... SMBus Read / Write Operation ... Now the Interrupt is being masked and the ISR will not occur when the ... when the bus access is finished the interrupt is served immediately. ...
    (microsoft.public.windowsce.platbuilder)