This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: cyg_hal_interrupt_acknowledge function for MPC8xxx HAL
- From: Andrew Lunn <andrew at lunn dot ch>
- To: ramdaspi at gmail dot com
- Cc: ecos-discuss at ecos dot sourceware dot org
- Date: Mon, 27 Aug 2007 09:50:45 +0200
- Subject: Re: [ECOS] cyg_hal_interrupt_acknowledge function for MPC8xxx HAL
- References: <20c673620708270040t431a2d81v16d0179daf1df5f7@mail.gmail.com>
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