Synchronization between ISR and IST - I2C Based device



Dear Greats,

We are using dual I2C Philips UART with single interrupt line source.
We have implemented ISR that reads the Interrupt Status Register
through I2C communication and resolves the proper UART1/UART2 logical
interrupt.

We having 3 devices communicating in I2C line from application layer
continuously. We are using I2C drivers (with critical sections in
place) to restrict I2C bus access.

The problem we are facing one of the device holds the I2C bus longer
time and if an interrupt comes from I2C UART. Then the ISR service may
not get the bus and the ISR will wait for bus release (dead lock occurs
here and the system hangs).

We like to know how to getrid of this deadlock condition by

1. applying any intermediate level driver (Which will resolve the
interrupt (UART1/UART2) in the driver level)
2. any mechanism to have synchronization between ISR and Driver
3. Sharing of interrupts

Kindly provide us some information, we are in high pressure.

With regards,
mams

.



Relevant Pages

  • Re: Assembling Visual Studio generated listing files
    ... card issues an interrupt each time it has a new position for any one ... An ISR is constrained to act in < 10us, and for most modern machines, 12.5us is a very ... Without MASM and in pure C or C++ and without any Windows API/MFC, ... This is a device driver. ...
    (microsoft.public.vc.mfc)
  • Re: bge(4) one packet wedge
    ... When the ISR starts the driver should record the status_tag value. ... If necessary the hardware will generate a new interrupt and start the ...
    (freebsd-net)
  • Re: Interrupt Problem in Our custom Serial Driver
    ... interrupt, your ISR is correctly activated and returns the right SYSINTR. ... you can focus on the IST and the driver ... required for the serial port. ...
    (microsoft.public.windowsce.platbuilder)
  • [PATCH 18-rc1] Fix typos in /Documentation : A
    ... The archicture has been designed to support as many machines as can ... This document discusses the functionality of the rbu driver only. ... The bus code implements most of the generic code. ... Check /proc/interrupts for excessive interrupt counts. ...
    (Linux-Kernel)
  • Re: [PATCH 18-rc1] Fix typos in /Documentation : A
    ... The archicture has been designed to support as many machines as can ... This document discusses the functionality of the rbu driver only. ... The bus code implements most of the generic code. ... Check /proc/interrupts for excessive interrupt counts. ...
    (Linux-Kernel)

Loading