From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 4/5] irqchip:create irq domain for each mbigen device
Date: Wed, 17 Feb 2016 07:47:40 +0000 [thread overview]
Message-ID: <20160217074740.439c53b4@arm.com> (raw)
In-Reply-To: <56C3F4AC.8020807@huawei.com>
On Wed, 17 Feb 2016 12:18:52 +0800
"majun (F)" <majun258@huawei.com> wrote:
>
>
> ? 2016/2/16 16:50, Marc Zyngier ??:
> > On Tue, 16 Feb 2016 14:37:27 +0800
> > MaJun <majun258@huawei.com> wrote:
> >
> >> From: Ma Jun <majun258@huawei.com>
> [...]
> >> + unsigned int nid;
> >> +
> >> + nid = get_mbigen_nid(hwirq);
> >> +
> >> + if (nid < 4)
> >> + return (nid * 4) + REG_MBIGEN_VEC_OFFSET;
> >> + else
> >> + return (nid - 4) * 4 + REG_MBIGEN_EXT_VEC_OFFSET;
> >> +}
> >> +
> >> +static struct irq_chip mbigen_irq_chip = {
> >> + .name = "mbigen-v1",
> >> +};
> >> +
> >> +static void mbigen_write_msg(struct msi_desc *desc, struct msi_msg *msg)
> >> +{
> >> + /* The address of doorbell is encoded in mbigen register by default
> >> + * So,we don't need to program the doorbell address at here
> >> + * Besides, the event ID is decided by the hardware pin number,
> >> + * we can't change it in software.So, we don't need to encode the
> >> + * event ID in mbigen register.
> >> + */
> >
> > Really? What if tomorrow I decide to change the EventID allocation
> > policy in the ITS driver? Have your HW engineers really baked the
> > behaviour of the Linux driver into the device?
> >
>
> Yes.
> If we really need to support this chip,is there
> any possible solution for this problem?
You would have to provide some sort of lookup table from the
device-tree, or find a way to pass this information down the ITS code.
The real question is: do we take this as it is and fix it once it
breaks? or do we mandate a proper solution before this has a remote
chance of getting in?
At the moment, I don't know, because the idea of hardcoded MSIs is so
wrong and so against the way the whole stack works that I just want to
say no to this and run away.
I need to think.
M.
--
Jazz is not dead. It just smells funny.
WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <marc.zyngier@arm.com>
To: "majun (F)" <majun258@huawei.com>
Cc: <Catalin.Marinas@arm.com>, <linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>, <Will.Deacon@arm.com>,
<mark.rutland@arm.com>, <jason@lakedaemon.net>,
<tglx@linutronix.de>, <lizefan@huawei.com>, <huxinwei@huawei.com>,
<dingtianhong@huawei.com>, <liguozhu@hisilicon.com>,
<guohanjun@huawei.com>, <zhaojunhua@hisilicon.com>
Subject: Re: [PATCH v2 4/5] irqchip:create irq domain for each mbigen device
Date: Wed, 17 Feb 2016 07:47:40 +0000 [thread overview]
Message-ID: <20160217074740.439c53b4@arm.com> (raw)
In-Reply-To: <56C3F4AC.8020807@huawei.com>
On Wed, 17 Feb 2016 12:18:52 +0800
"majun (F)" <majun258@huawei.com> wrote:
>
>
> 在 2016/2/16 16:50, Marc Zyngier 写道:
> > On Tue, 16 Feb 2016 14:37:27 +0800
> > MaJun <majun258@huawei.com> wrote:
> >
> >> From: Ma Jun <majun258@huawei.com>
> [...]
> >> + unsigned int nid;
> >> +
> >> + nid = get_mbigen_nid(hwirq);
> >> +
> >> + if (nid < 4)
> >> + return (nid * 4) + REG_MBIGEN_VEC_OFFSET;
> >> + else
> >> + return (nid - 4) * 4 + REG_MBIGEN_EXT_VEC_OFFSET;
> >> +}
> >> +
> >> +static struct irq_chip mbigen_irq_chip = {
> >> + .name = "mbigen-v1",
> >> +};
> >> +
> >> +static void mbigen_write_msg(struct msi_desc *desc, struct msi_msg *msg)
> >> +{
> >> + /* The address of doorbell is encoded in mbigen register by default
> >> + * So,we don't need to program the doorbell address at here
> >> + * Besides, the event ID is decided by the hardware pin number,
> >> + * we can't change it in software.So, we don't need to encode the
> >> + * event ID in mbigen register.
> >> + */
> >
> > Really? What if tomorrow I decide to change the EventID allocation
> > policy in the ITS driver? Have your HW engineers really baked the
> > behaviour of the Linux driver into the device?
> >
>
> Yes.
> If we really need to support this chip,is there
> any possible solution for this problem?
You would have to provide some sort of lookup table from the
device-tree, or find a way to pass this information down the ITS code.
The real question is: do we take this as it is and fix it once it
breaks? or do we mandate a proper solution before this has a remote
chance of getting in?
At the moment, I don't know, because the idea of hardcoded MSIs is so
wrong and so against the way the whole stack works that I just want to
say no to this and run away.
I need to think.
M.
--
Jazz is not dead. It just smells funny.
next prev parent reply other threads:[~2016-02-17 7:47 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-16 6:37 [PATCH v2 0/5] irqchip: Add support for Hisilicon mbigen v1 chip MaJun
2016-02-16 6:37 ` MaJun
2016-02-16 6:37 ` [PATCH v2 1/5] dt-binding: Change the mbigen binding file to support the mbigen-v1 MaJun
2016-02-16 6:37 ` MaJun
2016-02-16 6:37 ` [PATCH v2 2/5] dt-binding:Rename the mbigen binding file name MaJun
2016-02-16 6:37 ` MaJun
2016-02-16 6:37 ` [PATCH v2 3/5] irqchip: add platform device driver for mbigen device MaJun
2016-02-16 6:37 ` MaJun
2016-02-16 6:37 ` [PATCH v2 4/5] irqchip:create irq domain for each " MaJun
2016-02-16 6:37 ` MaJun
2016-02-16 8:50 ` Marc Zyngier
2016-02-16 8:50 ` Marc Zyngier
2016-02-17 4:18 ` majun (F)
2016-02-17 4:18 ` majun (F)
2016-02-17 7:47 ` Marc Zyngier [this message]
2016-02-17 7:47 ` Marc Zyngier
2016-02-16 6:37 ` [PATCH v2 5/5] irqchip:implement the mbigen irq chip operation functions MaJun
2016-02-16 6:37 ` MaJun
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=20160217074740.439c53b4@arm.com \
--to=marc.zyngier@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.