Re: [PATCH v8 06/11] irqchip: mips-cpu: Convert to simple domain

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

 




于 2020年3月25日 GMT+08:00 下午11:04:37, Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> 写到:
>On Wed, Mar 25, 2020 at 10:31:21PM +0800, Jiaxun Yang wrote:
>> 
>> 
>> 于 2020年3月25日 GMT+08:00 下午10:15:16, Marc Zyngier <maz@xxxxxxxxxx> 写到:
>> >On 2020-03-25 13:59, Jiaxun Yang wrote:
>> >
>> >[...]
>> >
>> >>>> So probably we can use legacy domain when  MIPS IRQ BASE is in
>the
>> >>>> range of legacy IRQ
>> >>>> and switch to simple domain when it's not in that range?
>> >>> 
>> >>> No, see below.
>> >>> 
>> >>>> Here in Loongson systems IRQ 0-15 is occupied by I8259 so I did
>> >this
>> >>>> hack.
>> >>> 
>> >>> Well, if you have to consider which Linux IRQ gets assigned,
>> >>> then your platform is definitely not ready for non-legacy
>> >>> irqdomains. Just stick to legacy for now until you have removed
>> >>> all the code that knows the hwirq mapping.
>> >> 
>> >> Thanks.
>> >> 
>> >> So I have to allocate irq_desc here in driver manually?
>> >
>> >No, you are probably better off just dropping this patch, as MIPS
>> >doesn't seem to be ready for a wholesale switch to virtual
>interrupts.
>> 
>> It can't work without this patch.
>> 
>> Legacy domain require IRQ number within 0-15 
>> however it's already occupied by i8259 or "HTPIC" driver.
>
>what's the problem here ? AFAIK there could be more than one
>legacy domain, at least that's what at least IP22/SNI in MIPS world 
>are doing.

MIPS_IRQ_BASE must be higher than 15, otherwise it will conflict with i8259.

However we have only preallocated irq_desc for 0-15.
And legacy domain require irq_desc being preallocated.

>
>Thomas.

-- 
Jiaxun Yang




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux