All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
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, marc.zyngier@arm.com, jason@lakedaemon.net,
	lizefan@huawei.com, huxinwei@huawei.com,
	dingtianhong <dingtianhong@huawei.com>, 吴云 <wuyun.wu@huawei.com>,
	赵俊化 <zhaojunhua@hisilicon.com>,
	"Liguozhu (Kenneth)" <liguozhu@hisilicon.com>,
	许威 <xuwei5@hisilicon.com>, chenwei <wei.chenwei@hisilicon.com>
Subject: Re: [PATCH v2 2/3] IRQ/Gic-V3: Change arm-gic-its to support the Mbigen interrupt
Date: Tue, 23 Jun 2015 11:29:13 +0200 (CEST)	[thread overview]
Message-ID: <alpine.DEB.2.11.1506231125580.4037@nanos> (raw)
In-Reply-To: <558920FF.8030405@huawei.com>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1831 bytes --]

On Tue, 23 Jun 2015, majun (F) wrote:
> 在 2015/6/19 7:52, Thomas Gleixner 写道:
> > On Mon, 15 Jun 2015, majun (F) wrote:
> >> 在 2015/6/12 18:48, Thomas Gleixner 写道:
> >>> Can you please provide a proper description of this mbigen chip and
> >>> explain WHY you think that it needs all this special hackery?
> > 
> > You carefully avoided to provide a proper description of this mbigen
> > chip and how it needs to be integrated into the GIC/ITS whatever
> > scenario.
> > 
> Mbigen means Message Based Interrupt Generator.
> Its a kind of interrupt controller collects
> the interrupts from external devices and generate msi interrupt.
> 
> Mbigen is applied to reduce the number of wire connected interrupts.
> 
> As the peripherals increasing, the interrupts lines needed is increasing
> much, especially on the Arm64 server soc.
> 
> Therefore, the interrupt pin in gic is not enought for so many perpherals.
> 
> Mbigen is designed to fix this problem.
> 
> Mbigen chip locates in ITS or outside of ITS.
> 
> The working flow of Mbigen shows as below:
> 
> external devices ------> MBIGEN ------->ITS
> 
> The devices connect to Mbigen chip through wire connecting way.
> Mbigen detects and collectes the interrupts from the these devices.
> 
> Then, Mbigen generats the MBI interrupts by writting the ITS
> Translator register.

So it's nothing else than a non PCI based MSI implementation which
means it can simply use the generic MSI infrastructure and implement a
interrupt domain/chip which implements the MBI specific parts and has
the ITS as its parent domain.

No hackery in ITS and no extra functionality in the core irq code. It
just can use the existing infrastructure. The only extra you need is a
proper way to retrieve the pointer to the ITS domain. Everything else
just falls in place.

Thanks,

	tglx

WARNING: multiple messages have this Message-ID (diff)
From: tglx@linutronix.de (Thomas Gleixner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/3] IRQ/Gic-V3: Change arm-gic-its to support the Mbigen interrupt
Date: Tue, 23 Jun 2015 11:29:13 +0200 (CEST)	[thread overview]
Message-ID: <alpine.DEB.2.11.1506231125580.4037@nanos> (raw)
In-Reply-To: <558920FF.8030405@huawei.com>

On Tue, 23 Jun 2015, majun (F) wrote:
> ? 2015/6/19 7:52, Thomas Gleixner ??:
> > On Mon, 15 Jun 2015, majun (F) wrote:
> >> ? 2015/6/12 18:48, Thomas Gleixner ??:
> >>> Can you please provide a proper description of this mbigen chip and
> >>> explain WHY you think that it needs all this special hackery?
> > 
> > You carefully avoided to provide a proper description of this mbigen
> > chip and how it needs to be integrated into the GIC/ITS whatever
> > scenario.
> > 
> Mbigen means Message Based Interrupt Generator.
> Its a kind of interrupt controller collects
> the interrupts from external devices and generate msi interrupt.
> 
> Mbigen is applied to reduce the number of wire connected interrupts.
> 
> As the peripherals increasing, the interrupts lines needed is increasing
> much, especially on the Arm64 server soc.
> 
> Therefore, the interrupt pin in gic is not enought for so many perpherals.
> 
> Mbigen is designed to fix this problem.
> 
> Mbigen chip locates in ITS or outside of ITS.
> 
> The working flow of Mbigen shows as below:
> 
> external devices ------> MBIGEN ------->ITS
> 
> The devices connect to Mbigen chip through wire connecting way.
> Mbigen detects and collectes the interrupts from the these devices.
> 
> Then, Mbigen generats the MBI interrupts by writting the ITS
> Translator register.

So it's nothing else than a non PCI based MSI implementation which
means it can simply use the generic MSI infrastructure and implement a
interrupt domain/chip which implements the MBI specific parts and has
the ITS as its parent domain.

No hackery in ITS and no extra functionality in the core irq code. It
just can use the existing infrastructure. The only extra you need is a
proper way to retrieve the pointer to the ITS domain. Everything else
just falls in place.

Thanks,

	tglx

  reply	other threads:[~2015-06-23  9:29 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-12  2:49 [PATCH v2 0/3] IRQ/Gic-V3:Support Mbigen interrupt controller Ma Jun
2015-06-12  2:49 ` Ma Jun
2015-06-12  2:49 ` [PATCH v2 1/3] IRQ/Gic-V3: Add mbigen driver to support mbigen " Ma Jun
2015-06-12  2:49   ` Ma Jun
2015-06-12  2:49 ` [PATCH v2 2/3] IRQ/Gic-V3: Change arm-gic-its to support the Mbigen interrupt Ma Jun
2015-06-12  2:49   ` Ma Jun
2015-06-12 10:48   ` Thomas Gleixner
2015-06-12 10:48     ` Thomas Gleixner
2015-06-15  7:05     ` majun (F)
2015-06-15  7:05       ` majun (F)
2015-06-18 23:52       ` Thomas Gleixner
2015-06-18 23:52         ` Thomas Gleixner
2015-06-23  9:03         ` majun (F)
2015-06-23  9:03           ` majun (F)
2015-06-23  9:29           ` Thomas Gleixner [this message]
2015-06-23  9:29             ` Thomas Gleixner
2015-06-26  8:45             ` Marc Zyngier
2015-06-26  8:45               ` Marc Zyngier
2015-06-26  6:31   ` majun (F)
2015-06-26  6:31     ` majun (F)
2015-06-26  8:44     ` Marc Zyngier
2015-06-26  8:44       ` Marc Zyngier
2015-06-26 10:28       ` majun (F)
2015-06-26 10:28         ` majun (F)
2015-06-26 10:40         ` Marc Zyngier
2015-06-26 10:40           ` Marc Zyngier
2015-06-26 12:04           ` majun (F)
2015-06-26 12:04             ` majun (F)
2015-06-26 13:14             ` Marc Zyngier
2015-06-26 13:14               ` Marc Zyngier
2015-06-12  2:49 ` [PATCH v2 3/3] dt-binding:Documents the mbigen bindings Ma Jun
2015-06-12  2:49   ` Ma Jun

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=alpine.DEB.2.11.1506231125580.4037@nanos \
    --to=tglx@linutronix.de \
    --cc=Catalin.Marinas@arm.com \
    --cc=Will.Deacon@arm.com \
    --cc=dingtianhong@huawei.com \
    --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=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=wei.chenwei@hisilicon.com \
    --cc=wuyun.wu@huawei.com \
    --cc=xuwei5@hisilicon.com \
    --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 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.