public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] cyg_hal_interrupt_acknowledge function for MPC8xxx HAL
@ 2007-08-27  7:40 ramdaspi
  2007-08-27  7:50 ` Andrew Lunn
  0 siblings, 1 reply; 2+ messages in thread
From: ramdaspi @ 2007-08-27  7:40 UTC (permalink / raw)
  To: ecos-discuss

Hi,

It seems there is a problem in clearing interrupts in function
cyg_hal_interrupt_acknowledge of the MPC8xxx HAL that would result in
simultaneous interrupts being missed.

If there were multiple interrupts being reported, all of them would
get cleared when only one is being acknowledged because we read the
value, OR it with the mask for acknowledged vector and then write this
value.

The documentation says we should write 1's to locations that need to
be cleared. So I believe there is no need for the read or 'OR'
operation. Just write the mask for the vector.

I our board we were missing one of the interrupts with the original
code. With the modification it is working correctly.

Cheers,

Ramdas

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [ECOS] cyg_hal_interrupt_acknowledge function for MPC8xxx HAL
  2007-08-27  7:40 [ECOS] cyg_hal_interrupt_acknowledge function for MPC8xxx HAL ramdaspi
@ 2007-08-27  7:50 ` Andrew Lunn
  0 siblings, 0 replies; 2+ messages in thread
From: Andrew Lunn @ 2007-08-27  7:50 UTC (permalink / raw)
  To: ramdaspi; +Cc: ecos-discuss

On Mon, Aug 27, 2007 at 04:40:37PM +0900, ramdaspi@gmail.com wrote:
> Hi,
> 
> It seems there is a problem in clearing interrupts in function
> cyg_hal_interrupt_acknowledge of the MPC8xxx HAL that would result in
> simultaneous interrupts being missed.
> 
> If there were multiple interrupts being reported, all of them would
> get cleared when only one is being acknowledged because we read the
> value, OR it with the mask for acknowledged vector and then write this
> value.
> 
> The documentation says we should write 1's to locations that need to
> be cleared. So I believe there is no need for the read or 'OR'
> operation. Just write the mask for the vector.
> 
> I our board we were missing one of the interrupts with the original
> code. With the modification it is working correctly.

Please could you provide a patch with a ChangeLog. Also a reference to
the documentation would be nice so we can verify this.

    Thanks
        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-08-27  7:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-08-27  7:40 [ECOS] cyg_hal_interrupt_acknowledge function for MPC8xxx HAL ramdaspi
2007-08-27  7:50 ` Andrew Lunn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).