Hi,
On Friday 18 February 2011 03:30 PM, Valkeinen, Tomi wrote:
<snip>
Well, if DSS_IRQSTATUS doesn't work as I described above, in the worst
case we will just run a few more lines of code in the irq handler, as we
check for registered interrupts. But that would only happen if either
DISPC or DSI has no interrupts enabled, which is... never?
So I think it should work fine anyway.
Tomi
I tried to read IRQSTATUS registers in 2 the cases:
With DSS_IRQSTATUS:
[ 51.166503] DSS_IRQSTATUS 2 -> DSI
[ 51.170135] DSS_IRQSTATUS 2 -> DSI
[ 51.173095] DSI_IRQSTATUS 20001 -> TE_TRIGGER | VC0_IRQ
[ 51.208282] DSS_IRQSTATUS 1 -> DISPC
[ 51.211242] DISPC_IRQSTATUS 81
[ 51.214508] DSS_IRQSTATUS 2 -> FRAMEDONE | GFX_END_WINDOW
[ 51.217437] DSI_IRQSTATUS 20001 -> TE_TRIGGER | VC0_IRQ
The cat /proc/interrupts increments by 2 for every manual update call.
Without DSS_IRQSTATUS:
Doing a ./upd (from omapfb-tests) on 3430sdp with Taal:
[ 77.060668] DISPC irqstatus 0
[ 77.064270] DSI irqstatus 20001-> TE_TRIGGER | VC0_IRQ
[ 77.104888] DISPC irqstatus 81 -> FRAMEDONE | GFX_END_WINDOW
[ 77.108154] DSI irqstatus 20001 -> TE_TRIGGER | VC0_IRQ
VC0_IRQSTATUS came as 0x24 -> BTA_ACK | PACKET_SENT
The cat /proc/interrupts increments by 2 for every manual update call as
before.
One strange thing I see though is the increment with and without printks
in the irq handler in both the cases. I always see increments of 2 when
I put prints. I see 3 when I don't. That's a bit peculiar.
Behavior looks as expected. I guess we can go without DSS_IRQSTATUS
then. Should I send out a patch? Also, should we remove DSS_IRQSTATUS in
totality from the code now?
Archit
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html