2011-04-11 02:44:08     Enabling Nesting of interrupts

Document created by Aaronwu Employee on Aug 26, 2013
Version 1Show Document
  • View in full screen mode

2011-04-11 02:44:08     Enabling Nesting of interrupts

Mahalakshmi M (INDIA)

Message: 99743   

 

Hi,

 

I am working with BF533 based custom board and the distribution is 2009R1-RC1. We had Lan 9220 smsc chip interfaced to the BF533 via Async memory.

 

What we could see is when ever there is an Ethernet access LCD display flickers.  We also observed that the flickering varies with the Ethernet data download size

 

 

 

While debugging, when we stepped into the ISR, we found the following instructions.

 

R1 = 3F;

 

STI R1;

 

[--SP] =RETI;

 

 

 

IVG7 to IVG15 is masked. It seems like interrupts are not nested. is there any separate thing to be done for enabling Nesting of Interrupts.

 

Please provide ur views.

 

 

 

Thanks & Regards,

 

Mahalakshmi

QuoteReplyEditDelete

 

 

2011-04-11 02:48:53     Re: Enabling Nesting of interrupts

Sonic Zhang (CHINA)

Message: 99744   

 

Interrupt is enabled later in kernel C code.

 

Please refer to Aaron's suggestion in your former thread for your LCD issue.

QuoteReplyEditDelete

 

 

2011-04-12 05:28:49     Re: Enabling Nesting of interrupts

Mahalakshmi M (INDIA)

Message: 99780   

     

 

As per Aaron suggestions, please find our observations.

 

We are using Non-DMA trasfer for SMSC9220. Also DMA has priority over core option is also already selected.

 

Even though we are facing the issue.

QuoteReplyEditDelete

 

 

2011-04-12 06:50:08     Re: Enabling Nesting of interrupts

Aaron Wu (CHINA)

Message: 99782   

 

Thanks for the feedback.

 

I remember some more advice/check point was given out. Please give the feedback. Like:

 

1) Idenfify if it's a system bandwidth issue regarding the image processing, are you display some video or a static image?2) how is the flickering looks like? looks like display data broken or backlight un-stable? Need to check if your power supply is enough, what kind of display and backlight are you using? Do you reserve enough power supply margin for the backlight driving? Ethernet module may consum lots of power during heavy load like large and continuous file transfer, the backligt may fliker if it's power supply gets starved. Please observe the power supply line for backlight for voltage drop and jitter.

QuoteReplyEditDelete

 

 

2011-04-15 05:01:02     Re: Enabling Nesting of interrupts

Mahalakshmi M (INDIA)

Message: 99882   

 

Thanks Aaron.

 

1) Idenfify if it's a system bandwidth issue regarding the image processing, are you display some video or a static image?

 

                    We guess it is not a system bandwidth issue. We are displaying only static image.

 

2) how is the flickering looks like? looks like display data broken or backlight un-stable?

 

                      Flickering seems to be like display data broken only. Backlight is always stable. We could see few lines blinking here and there as if interrupts are missed.

QuoteReplyEditDelete

 

 

2011-04-15 05:06:47     Re: Enabling Nesting of interrupts

Mike Frysinger (UNITED STATES)

Message: 99883   

 

the static image is irrelevant if your PPI always has DMA driving it in the background.  which is how most frame buffer drivers are written for Blackfin systems.

QuoteReplyEditDelete

 

 

2011-04-15 05:30:54     Re: Enabling Nesting of interrupts

Michael Hennerich (GERMANY)

Message: 99884    Blackfin frame buffers don't use interrupts for DMA.

There is only one interrupt, which is the PPI Error interrupt.

 

When the display flickers cat /proc/interrupts and see if the PPI ERROR interrupt counts up.

If that's the case, print PPI_STATUS in the PPI ERROR ISR, to see what kind of error occurs.

 

In my opinion, it might be a electrical issue.

For example in case of glitches on the PPI CLK, such errors can occur.

 

-Michael

QuoteReplyEditDelete

 

 

2011-04-15 06:11:40     Re: Enabling Nesting of interrupts

Mahalakshmi M (INDIA)

Message: 99886   

 

Thanks Mike and Michael,

 

Sorry if I had missed this earlier.

 

We use  our own custom driver for our LCD, PPI (Line Buffer - DMA  interrupt driven). SMSC driver we use the one which is available in distribution.

 

The same drivers seem to work fine for SMSC9215.  From SMSC side also we got information like 9220 should perform better than 9215.  What we could observe is PPI DMA interrupts are missing. So, kindly suggest, if anything we need to take care for this missing of interrupts.

Attachments

    Outcomes