[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <560253BE.8030505@huawei.com>
Date: Wed, 23 Sep 2015 15:24:46 +0800
From: "majun (F)" <majun258@...wei.com>
To: Marc Zyngier <marc.zyngier@....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>,
Mark Rutland <Mark.Rutland@....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 v4 2/2] dt-binding:Documents of the mbigen bindings
在 2015/9/22 22:41, Marc Zyngier 写道:
> On Tue, 22 Sep 2015 19:35:38 +0800
> "majun (F)" <majun258@...wei.com> wrote:
>
[...]
>>>> +Examples:
>>>> + smmu_dsa {
>>>> + compatible = "arm,smmu-v3";
>>>> + reg = <0x0 0xc0040000 0x0 0x20000>;
>>>> + interrupt-parent = <&mbigen_dsa>;
>>>> + interrupts = <0x40b20 6 78 1>,
>>>> + <0x40b20 6 79 1>,
>>>> + <0x40b20 6 80 1>;
>>>> + };
>>>> +
>>>
>>> I find the current split very confusing. In your example, the interrupt
>>> controller is the mbigen block, which forces you to encode the DevID as
>>> part of the interrupt specifier. This doesn't feel like an ideal
>>> design, because you end up duplicating the DevID information at both
>>> the "client" device and the mbi_device.
>>>
>>> I'd be more inclined to have the mbi_device itself be the interrupt
>>> controller for the client device. This would eliminate information
>>> duplication, and reflect the hardware (or what I understand of the
>>> hardware) a bit more.
>>
>> Do you mean make the dts likes below?
>>
>>
>> mbigen_dsa: interrupt-controller@...80000 {
>> compatible = "hisilicon,mbigen-v2";
>> interrupt-controller;
>> #interrupt-cells = <5>;
>
> These two statements shouldn't be here...
According to you suggest that irq chip should be probed with IRQCHIP_DECLARE(),
I think the compatible string also should be moved into mbigen_clinet_device node.
And, changing mbigen driver likes below:
IRQCHIP_DECLARE(hisi_mbigen, "hisilicon,mbigen-v2", mbigen_of_init);
Thanks!
Ma Jun
>
>> #mbigen-node-cells = <3>;
>> reg = <0xc0080000 0x10000>;
>>
>> mbigen_client_device1 {
>> msi-parent = <&its 0x40b1c>;
>> nr-interrupts = <9>;
>> interrupt-controller;
>
> This is where #interrupt-cells should be.
>
>> }
>>
>> mbigen_client_device2{
>> msi-parent = <&its 0x40b1d>;
>> nr-interrupts = <3>;
>> interrupt-controller;
>> }
>> };
>>
>>
>> client_device1 {
>> compatible = "arm,smmu-v3";
>> reg = <0x0 0xc0040000 0x0 0x20000>;
>> interrupt-parent = <&mbigen_client_device1>;
>> interrupts = <pin_offset 78 1>,
>> <pin_offset 79 1>,
>> <pin_offset 80 1>;
>> };
>>
>>
>
> But otherwise, this looks better.
>
> Thanks,
>
> M.
>
--
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