[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 3/3] sam460ex: Clean up irq mapping
From: |
Peter Maydell |
Subject: |
Re: [PATCH v2 3/3] sam460ex: Clean up irq mapping |
Date: |
Thu, 31 Dec 2020 15:11:04 +0000 |
On Thu, 31 Dec 2020 at 11:20, BALATON Zoltan <balaton@eik.bme.hu> wrote:
>
> Avoid mapping multiple interrupts to the same irq. Instead map them to
> the 4 PCI interrupts and use an or-gate in the board to connect them
> to the interrupt controller. This does not fix any known problem but
> does not seem to cause a new problem either and may be cleaner at least.
>
> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
> Tested-by: Guenter Roeck <linux@roeck-us.net>
So, this patch is a behavioural change, but I think it's
probably a change to the right behaviour. The difference
is relatively slight, but you would see it if there are two
different PCI cards and they both assert a different PCI
interrupt, and then one of them lowers the interrupt
before the other:
device A: _____|---------|________
device B: ________|----------|____
With the old code, the signal values as seen by the UIC
look like this:
UIC input: _____|---------|________
(this is because when device A says "interrupt line value 0 now"
we just pass "interrupt line value 0" through to the output).
and with an OR gate they look like:
UIC input: _____|-------------|____
(which is probably the actual behaviour -- UIC line stays
signalled until all PCI interrupts are quelled).
For this to matter to a guest it would have to be doing something
a bit odd in its interrupt handling code, though, I suspect
(like saying "stop looking for device drivers which need to
service their device once the UIC interrupt is no longer asserted").
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
thanks
-- PMM
[PATCH v2 2/3] sam460ex: Remove FDT_PPC dependency from KConfig, BALATON Zoltan, 2020/12/31