From: Marc Zyngier <marc.zyngier@arm.com>
To: "majun (F)" <majun258@huawei.com>
Cc: Catalin Marinas <Catalin.Marinas@arm.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Will Deacon <Will.Deacon@arm.com>,
Mark Rutland <Mark.Rutland@arm.com>,
"jason@lakedaemon.net" <jason@lakedaemon.net>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"lizefan@huawei.com" <lizefan@huawei.com>,
"huxinwei@huawei.com" <huxinwei@huawei.com>,
"dingtianhong@huawei.com" <dingtianhong@huawei.com>,
"zhaojunhua@hisilicon.com" <zhaojunhua@hisilicon.com>,
"liguozhu@hisilicon.com" <liguozhu@hisilicon.com>,
"xuwei5@hisilicon.com" <xuwei5@hisilicon.com>,
"wei.chenwei@hisilicon.com" <wei.chenwei@hisilicon.com>,
"guohanjun@huawei.com" <guohanjun@huawei.com>,
"wuyun.wu@huawei.com" <wuyun.wu@huawei.com>,
"guodong.xu@linaro.org" <guodong.xu@linaro.org>,
"haojian.zhuang@linaro.org" <haojian.zhuang@linaro.org>,
"zhangfei.gao@linaro.org" <zhangfei.gao@linaro.org>,
"usman.ahmad@linaro.org" <usman.ahmad@linaro.org>
Subject: Re: [PATCH v4 2/2] dt-binding:Documents of the mbigen bindings
Date: Tue, 22 Sep 2015 15:41:20 +0100 [thread overview]
Message-ID: <20150922154120.18634b41@arm.com> (raw)
In-Reply-To: <56013D0A.4000403@huawei.com>
On Tue, 22 Sep 2015 19:35:38 +0800
"majun (F)" <majun258@huawei.com> wrote:
> Hi Marc:
>
> 在 2015/9/22 2:09, Marc Zyngier 写道:
> > On Wed, 19 Aug 2015 03:55:20 +0100
> > MaJun <majun258@huawei.com> wrote:
> >
> [...]
> >> +These nodes must have the following properties:
> >> +- msi-parent: This property has two cells.
> >> + The 1st cell specifies the ITS this device connected.
> >> + The 2nd cell specifies the device id.
> >> +- nr-interrupts:Specifies the total number of interrupt this device has.
> >> +- mbigen_node: Specifies the information of mbigen nodes this device
> >> + connected.Some devices with many interrupts maybe connects with several
> >> + mbigen nodes.
> >> +
> >> +Examples:
> >> +
> >> + mbigen_dsa: interrupt-controller@c0080000 {
> >> + compatible = "hisilicon,mbigen-v2";
> >> + interrupt-controller;
> >> + #interrupt-cells = <5>;
> >> + #mbigen-node-cells = <3>;
> >> + reg = <0xc0080000 0x10000>;
> >> +
> >> + mbigen_device_01 {
> >> + msi-parent = <&its 0x40b1c>;
> >> + nr-interrupts = <9>;
> >> + mbigen_node = <1 2 0>,
> >> + <3 2 4>,
> >> + <4 5 0>;
> >> + }
> >> +
> >> + mbigen_device_02 {
> >> + msi-parent = <&its 0x40b1d>;
> >> + nr-interrupts = <3>;
> >> + mbigen_node = <6 3 0>;
> >> + interrupt-controller;
> >> + }
> >> + };
> >> +
> >> +Device connect to mbigen required properties:
> >> +----------------------------------------------------
> >> +-interrupt-parent: Specifies the mbigen node which device connected.
> >> +-interrupts:specifies the interrupt source.The first cell is hwirq num, the
> >> + second number is trigger type.
> >> +
> >> +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@c0080000 {
> compatible = "hisilicon,mbigen-v2";
> interrupt-controller;
> #interrupt-cells = <5>;
These two statements shouldn't be here...
> #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.
--
Jazz is not dead. It just smells funny.
next prev parent reply other threads:[~2015-09-22 14:41 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-19 2:55 [PATCH v4 0/2] Support Mbigen interrupt controller MaJun
2015-08-19 2:55 ` [PATCH v4 1/2] Add the driver of mbigen " MaJun
2015-09-21 21:53 ` Marc Zyngier
2015-09-23 7:24 ` majun (F)
2015-09-24 19:30 ` Marc Zyngier
2015-09-25 11:56 ` majun (F)
2015-09-28 15:46 ` Marc Zyngier
2015-08-19 2:55 ` [PATCH v4 2/2] dt-binding:Documents of the mbigen bindings MaJun
2015-09-21 18:09 ` Marc Zyngier
2015-09-22 11:35 ` majun (F)
2015-09-22 14:41 ` Marc Zyngier [this message]
2015-09-23 7:24 ` majun (F)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150922154120.18634b41@arm.com \
--to=marc.zyngier@arm.com \
--cc=Catalin.Marinas@arm.com \
--cc=Mark.Rutland@arm.com \
--cc=Will.Deacon@arm.com \
--cc=dingtianhong@huawei.com \
--cc=guodong.xu@linaro.org \
--cc=guohanjun@huawei.com \
--cc=haojian.zhuang@linaro.org \
--cc=huxinwei@huawei.com \
--cc=jason@lakedaemon.net \
--cc=liguozhu@hisilicon.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=majun258@huawei.com \
--cc=tglx@linutronix.de \
--cc=usman.ahmad@linaro.org \
--cc=wei.chenwei@hisilicon.com \
--cc=wuyun.wu@huawei.com \
--cc=xuwei5@hisilicon.com \
--cc=zhangfei.gao@linaro.org \
--cc=zhaojunhua@hisilicon.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome