在 2016/2/16 16:50, Marc Zyngier 写道: > On Tue, 16 Feb 2016 14:37:27 +0800 > MaJun <majun...@huawei.com> wrote: > >> From: Ma Jun <majun...@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? Thanks! MaJun > I'm puzzled. > > M. >