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

Re: [microblaze-uclinux] Not all UARTLITE shows up in /proc/interrupts



On Mon, December 1, 2008 23:36, John Williams wrote:
> On Mon, Dec 1, 2008 at 11:31 PM, Olof Backing <olof.backing@xxxxxxxxxxxx>wrote:
>
>> Consider the following (during boot):
>>
>> uartlite.0: ttyS0 at MMIO 0x40640000 (irq = 3) is a uartlite
>> uartlite.1: ttyS1 at MMIO 0x40600000 (irq = 1) is a uartlite
>> uartlite.2: ttyS2 at MMIO 0x40620000 (irq = 2) is a uartlite
>>
>> and then the following:
>>
>> # cat /proc/interrupts
>>           CPU0
>>  0:       2121     level OPB-INTC  timer
>>  3:         73      edge OPB-INTC  uartlite
>>
>> Shouldn't I be able to see all three (3) uartlite's in the printout? It not - why?
>
> The IRQ is only registered when the device is opened, in line with general
> linux policy to enable IRQs as late as possible.
>
> Close the device again and the IRQ is unregistered.

I stand corrected. And I also read the same in LDD, but was surprised that
NIOSserial.c didn't work in that way. The new altuart.c is better, but not correct
in that way:

They register the IRQ vector *but* disables the IRQ generation in the IP block.

Regards,
Olof
-- 
Olof Backing
CAG Contactor AB                              Office: +46 (0)8 752 81 00
Finlandsgatan 14                             Mobile: +46 (0)70 995 98 99
SE-164 74  KISTA                                 Fax: +46 (0)8 752 05 30

___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/