[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55B2FC74.6080201@huawei.com>
Date: Sat, 25 Jul 2015 11:03:16 +0800
From: "majun (F)" <majun258@...wei.com>
To: Mark Rutland <mark.rutland@....com>
CC: Catalin Marinas <Catalin.Marinas@....com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
Will Deacon <Will.Deacon@....com>,
Marc Zyngier <Marc.Zyngier@....com>,
"jason@...edaemon.net" <jason@...edaemon.net>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"lizefan@...wei.com" <lizefan@...wei.com>,
"huxinwei@...wei.com" <huxinwei@...wei.com>,
"dingtianhong@...wei.com" <dingtianhong@...wei.com>,
"zhaojunhua@...ilicon.com" <zhaojunhua@...ilicon.com>,
"liguozhu@...ilicon.com" <liguozhu@...ilicon.com>,
"xuwei5@...ilicon.com" <xuwei5@...ilicon.com>,
"wei.chenwei@...ilicon.com" <wei.chenwei@...ilicon.com>,
"guohanjun@...wei.com" <guohanjun@...wei.com>,
"wuyun.wu@...wei.com" <wuyun.wu@...wei.com>,
"guodong.xu@...aro.org" <guodong.xu@...aro.org>,
"haojian.zhuang@...aro.org" <haojian.zhuang@...aro.org>,
"zhangfei.gao@...aro.org" <zhangfei.gao@...aro.org>,
"usman.ahmad@...aro.org" <usman.ahmad@...aro.org>
Subject: Re: [PATCH v3 3/3] dt-binding:Documents the mbigen bindings
Hi Mark:
在 2015/7/21 0:38, Mark Rutland 写道:
>>>> +The mbigen and devices connect to mbigen have the following properties:
>> The mbigen chip structrue likes below:
>>
>> mbigen_chip(domain)
>> |------------|------------------|
>> mbigen_node0 mbigen_node1 mbigen_node2
>> | | | | | |
>> dev1 dev2 dev3 dev4 dev5 dev6
>>
>> For each mbigen chip, it contains several mbigen nodes.
>> For each mbigen node, it can collect interrupts from different devices.
>>
>> For example, dev1 and dev2 both connect to mbigen node0.Because dev1 and dev2 are
>> differnt device, they have different device id.
>>
>> The device id is encoded in mbigen chip and can not be changed.
>
> Thanks for the diagram, that clears up some of my confusion regarding
> nodes.
>
> Ok, so each device has it's own device ID. That's good. If a device has
> multiple interrupt lines to the mbigen, do these always share the same
> device ID?
>
yes, for the interrupt lines within a device, they always share the same
device ID.
>>>> + The 2nd cell is the totall interrupt number of this device?
>>>
>>> I don't follow. What is a "total interrupt number"?
>>>
>> It's the wired interrupt number connected to a device.
>> For the devices connected to mbigen node, the interrupt number varied from
>> 1 to 100+ .So I have to specifies this value in dts.
>>
>>>> + The 3rd cell is the hardware pin number of the interrupt.
>>>> + This value depends on the Soc design.
>>>
>>> This property seems sane.
>>>
>>>> + The 4th cell is the mbigen node number. This value should refer to the
>>>> + vendor soc specification.
>>>
>>> What is this, and why do you think you need it?
>>>
>>> Surely the address of the mbigen node is a sufficient unique identifier?
>>>
>> mbigen_chip(domain)
>> |------------|------------------|
>> mbigen_node0 mbigen_node1 mbigen_node2
>> | | | | | |
>> dev1 dev2 dev3 dev4 dev5 dev6
>>
>> To avoid the duplicat hardware irq number problem, the Mbigen node number is defined here.
>> For example:
>> dev1 has 3 interrupts with pin number from 0 to 2
>> dev3 has 5 interrupts with pin number from 0 to 4
>> For dev3 the interrupt from 0 to 2 would be has same hardware irq number
>> as dev1 if we only use pin number.
>>
>> Because these two devices located in same irq domain(mbigen chip),using same
>> hwirq number is a mistake.
>>
>> In mbigen driver, I will use this value and the 3rd cell(pin number) to compose
>> a new hardware irq( (nid<<8) | pin number) for mbigen using.
>
> Ok. I now see why you need node and pin.
>
> However, I don't see why you also need the 'total' interrupt number. Why
> isn't node and pin sufficient to uniquely identify an interrupt?
>
The ITS driver alloc a ITT table for each device.
The table size depends on interrupt number of the device.
So I need to specify the total interrupt number .
> Thanks,
> Mark.
>
> .
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists