DISPC interrupt handler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have the following doubts about the DISPC interrupt handler of 
latest git kernel.

1)omap_dispc_enable_irqs()

I guess this is enabling the following irqs by default for error
checking.

DISPC_IRQ_GFX_FIFO_UNDERFLOW |
DISPC_IRQ_VID1_FIFO_UNDERFLOW |
DISPC_IRQ_VID2_FIFO_UNDERFLOW |
DISPC_IRQ_SYNC_LOST

Am i correct?

2)omap_dispc_disable_irqs ()

This not doing what it is intended to do does the following patch is a
fix for this??

diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
index f0e2112..77f416b 100644
--- a/drivers/video/omap/dispc.c
+++ b/drivers/video/omap/dispc.c
@@ -839,8 +839,8 @@ void omap_dispc_disable_irqs(int irq_mask)
 {
        enable_lcd_clocks(1);
        dispc.enabled_irqs &= ~irq_mask;
-       irq_mask &= ~DISPC_IRQ_MASK_ERROR;
-       MOD_REG_FLD(DISPC_IRQENABLE, 0x7fff, irq_mask);
+//     irq_mask &= ~DISPC_IRQ_MASK_ERROR;
+       MOD_REG_FLD(DISPC_IRQENABLE, irq_mask, 0);
        enable_lcd_clocks(0);
 }
 EXPORT_SYMBOL(omap_dispc_disable_irqs);

My patch will disable only the interrupts those are requested.


3) omap_dispc_free_irq ()

The following patch will not disable any interrupts it will only
disable the call backs.

@@ -848,7 +848,7 @@ EXPORT_SYMBOL(omap_dispc_disable_irqs);
 void omap_dispc_free_irq(void)
 {
        enable_lcd_clocks(1);
-       omap_dispc_disable_irqs(DISPC_IRQ_MASK_ALL);
+//     omap_dispc_disable_irqs(DISPC_IRQ_MASK_ALL);
        dispc.irq_callback = NULL;
        dispc.irq_callback_data = NULL;
        enable_lcd_clocks(0);

So an interrupt handler will do the following steps

1) Enable the irq it want to handle
2) Register the handler using  omap_dispc_request_irq ()

For cleaning up

3) Disable the irq it requested.
4) Free the call back using  omap_dispc_free_irq ()

Regards,
Arun c






-------------------------------------------------------DISCLAIMER------------------------------------------------------
The information transmitted herewith is confidential and proprietary information intended only for use by the individual or entity to which it is addressed. If the reader of this message is not the intended recipient, you are hereby notified that any review, retransmission, dissemination, distribution, copying or other use of, or taking of any action in reliance upon this information is strictly prohibited. If you have received this communication in error, please contact the sender and delete the material from your computer.
--------------------------------------------------------------------------------------------------------------------------------

Please do not print this email unless it is absolutely necessary. Spread environmental awareness.


-
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

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux