From: Nishanth Menon <nm@ti.com>
To: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Sricharan R <r.sricharan@ti.com>,
Linus Walleij <linus.walleij@linaro.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"devicetree-discuss@lists.ozlabs.org"
<devicetree-discuss@lists.ozlabs.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Linux-OMAP <linux-omap@vger.kernel.org>,
ext Tony Lindgren <tony@atomide.com>,
Russell King - ARM Linux <linux@arm.linux.org.uk>,
Rajendra Nayak <rnayak@ti.com>, Felipe Balbi <balbi@ti.com>,
Thomas Gleixner <tglx@linutronix.de>,
Grant Likely <grant.likely@secretlab.ca>
Subject: Re: [PATCH 1/3] misc: Add crossbar driver
Date: Wed, 24 Jul 2013 11:08:01 -0500 [thread overview]
Message-ID: <51EFFBE1.4090505@ti.com> (raw)
In-Reply-To: <51ED5C66.1010407@ti.com>
On 07/22/2013 11:23 AM, Santosh Shilimkar wrote:
> To summaries it again, what I understood from Sricharan's proposal,
>
> - Setup all the routing at cross-bar probe so that kernel continue to
> work like normal IRQ controller with cross-bar scope vanishes once
> the routing is done. Cross-bar does this before any of the devices
> are created.
> - Something similar needs to happen for DMA lines as well or for any
> other event routing in future.
> - Cross-bar callbacks for device drivers for error paths.
> (Sricharan, you have to drop these because it doesn't bring any
> functionality and rather can create a side effects of drivers
> getting polluted.)
Ack.
>
> The concern raised on above was instead of fixing the routing at DT
> statically, doing at the driver probes where the loop-up for IRQ or DMA
> lines should happen in background transparently on drivers call of
> request_irq/request_dma_channel etc with cross-bar number as
> an input to it. Though it will be nice to have
> such feature, it doesn't bring anything special and brings the
> notion of these APIs which expect that you know what IRQ and DMA
> lines you want while calling these.
Unfortunately, we do have a constraint without allocating dynamic IRQs -
what IP instances should hwmod and dts contain?
If we go with current series of patches[1] [2] for DRA7 dts which
assumes default mapping, hence, uart7-10, GPTimers12-16 dont have
default irq - hence they dont exist in dts etc.
How would we like to support those with pinctrl approach?
>
> Note that mux inputs are pretty much fixed. Its his connection
> to IRQ controller or DMA controller is what needs to be programmed.
> So scope is pretty much limited. I felt this requirement is pretty
> similar to pin-mux and hence thought of it as a viable option.
>
> Having said all of above, if there is a better alternative than
> enhanced pin-mux we surely can do that.
We could look at it as a signal mux problem as this thread suggests OR
look at it as interrupt distribution problem (which is how it looks like
at the face of it). That said, maybe a intermediate pinctrl approach
might be more pragmatic and less theoretically flexible.
an option might be to "statically allocate" default number of interrupts
to a domain - example:
* GIC IRQ 72->78 allotted to UARTs
* pinctrl mapping provided for those but only 6 can be used (rest are
marked status="disabled" as default) at any given time (choice of
pinctrl option determines GIC interrupt line to use)
* All modules will have a pinctrl definition to have a mapping - to
avoid bootloader overriding default cross bar setting in ways
un-expected by kernel.
Does that sound fair trade off?
[1] http://marc.info/?l=linux-omap&m=137335524702155&w=2
[2] http://marc.info/?l=linux-omap&m=137335522802144&w=2
--
Regards,
Nishanth Menon
WARNING: multiple messages have this Message-ID (diff)
From: nm@ti.com (Nishanth Menon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] misc: Add crossbar driver
Date: Wed, 24 Jul 2013 11:08:01 -0500 [thread overview]
Message-ID: <51EFFBE1.4090505@ti.com> (raw)
In-Reply-To: <51ED5C66.1010407@ti.com>
On 07/22/2013 11:23 AM, Santosh Shilimkar wrote:
> To summaries it again, what I understood from Sricharan's proposal,
>
> - Setup all the routing at cross-bar probe so that kernel continue to
> work like normal IRQ controller with cross-bar scope vanishes once
> the routing is done. Cross-bar does this before any of the devices
> are created.
> - Something similar needs to happen for DMA lines as well or for any
> other event routing in future.
> - Cross-bar callbacks for device drivers for error paths.
> (Sricharan, you have to drop these because it doesn't bring any
> functionality and rather can create a side effects of drivers
> getting polluted.)
Ack.
>
> The concern raised on above was instead of fixing the routing at DT
> statically, doing at the driver probes where the loop-up for IRQ or DMA
> lines should happen in background transparently on drivers call of
> request_irq/request_dma_channel etc with cross-bar number as
> an input to it. Though it will be nice to have
> such feature, it doesn't bring anything special and brings the
> notion of these APIs which expect that you know what IRQ and DMA
> lines you want while calling these.
Unfortunately, we do have a constraint without allocating dynamic IRQs -
what IP instances should hwmod and dts contain?
If we go with current series of patches[1] [2] for DRA7 dts which
assumes default mapping, hence, uart7-10, GPTimers12-16 dont have
default irq - hence they dont exist in dts etc.
How would we like to support those with pinctrl approach?
>
> Note that mux inputs are pretty much fixed. Its his connection
> to IRQ controller or DMA controller is what needs to be programmed.
> So scope is pretty much limited. I felt this requirement is pretty
> similar to pin-mux and hence thought of it as a viable option.
>
> Having said all of above, if there is a better alternative than
> enhanced pin-mux we surely can do that.
We could look at it as a signal mux problem as this thread suggests OR
look at it as interrupt distribution problem (which is how it looks like
at the face of it). That said, maybe a intermediate pinctrl approach
might be more pragmatic and less theoretically flexible.
an option might be to "statically allocate" default number of interrupts
to a domain - example:
* GIC IRQ 72->78 allotted to UARTs
* pinctrl mapping provided for those but only 6 can be used (rest are
marked status="disabled" as default) at any given time (choice of
pinctrl option determines GIC interrupt line to use)
* All modules will have a pinctrl definition to have a mapping - to
avoid bootloader overriding default cross bar setting in ways
un-expected by kernel.
Does that sound fair trade off?
[1] http://marc.info/?l=linux-omap&m=137335524702155&w=2
[2] http://marc.info/?l=linux-omap&m=137335522802144&w=2
--
Regards,
Nishanth Menon
next prev parent reply other threads:[~2013-07-24 16:08 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-18 16:43 [PATCH 0/3] Add crossbar driver Sricharan R
2013-07-18 16:43 ` Sricharan R
2013-07-18 16:43 ` Sricharan R
2013-07-18 16:43 ` [PATCH 1/3] misc: " Sricharan R
2013-07-18 16:43 ` Sricharan R
2013-07-18 16:43 ` Sricharan R
2013-07-18 16:55 ` Joe Perches
2013-07-18 16:55 ` Joe Perches
2013-07-18 18:25 ` Felipe Balbi
2013-07-18 18:25 ` Felipe Balbi
2013-07-18 18:25 ` Felipe Balbi
2013-07-21 16:33 ` Linus Walleij
2013-07-21 16:33 ` Linus Walleij
2013-07-18 18:56 ` Nishanth Menon
2013-07-18 18:56 ` Nishanth Menon
2013-07-18 18:56 ` Nishanth Menon
2013-07-18 23:39 ` Santosh Shilimkar
2013-07-18 23:39 ` Santosh Shilimkar
2013-07-18 23:39 ` Santosh Shilimkar
[not found] ` <51E87C98.5030001-l0cyMroinI0@public.gmane.org>
2013-07-19 0:13 ` Nishanth Menon
2013-07-19 0:13 ` Nishanth Menon
2013-07-19 0:13 ` Nishanth Menon
2013-07-19 10:48 ` Sricharan R
2013-07-19 10:48 ` Sricharan R
2013-07-19 10:48 ` Sricharan R
2013-07-19 7:17 ` Tony Lindgren
2013-07-19 7:17 ` Tony Lindgren
2013-07-19 10:48 ` Sricharan R
2013-07-19 10:48 ` Sricharan R
2013-07-19 10:48 ` Sricharan R
[not found] ` <51E83A4F.5080904-l0cyMroinI0@public.gmane.org>
2013-07-21 16:49 ` Linus Walleij
2013-07-21 16:49 ` Linus Walleij
2013-07-21 16:49 ` Linus Walleij
2013-07-22 12:20 ` Sricharan R
2013-07-22 12:20 ` Sricharan R
2013-07-22 16:23 ` Santosh Shilimkar
2013-07-22 16:23 ` Santosh Shilimkar
2013-07-24 16:08 ` Nishanth Menon [this message]
2013-07-24 16:08 ` Nishanth Menon
2013-07-24 16:38 ` Santosh Shilimkar
2013-07-24 16:38 ` Santosh Shilimkar
2013-07-24 16:47 ` Nishanth Menon
2013-07-24 16:47 ` Nishanth Menon
2013-07-24 18:43 ` Sricharan R
2013-07-24 18:43 ` Sricharan R
2013-07-24 18:51 ` Nishanth Menon
2013-07-24 18:51 ` Nishanth Menon
2013-07-24 18:59 ` Santosh Shilimkar
2013-07-24 18:59 ` Santosh Shilimkar
2013-08-13 8:10 ` Tony Lindgren
2013-08-13 8:10 ` Tony Lindgren
2013-08-13 9:56 ` Sricharan R
2013-08-13 9:56 ` Sricharan R
2013-08-13 9:56 ` Sricharan R
2013-08-13 13:29 ` Santosh Shilimkar
2013-08-13 13:29 ` Santosh Shilimkar
2013-08-13 13:29 ` Santosh Shilimkar
2013-08-15 20:01 ` Linus Walleij
2013-08-15 20:01 ` Linus Walleij
2013-08-15 20:26 ` Santosh Shilimkar
2013-08-15 20:26 ` Santosh Shilimkar
2013-08-15 20:51 ` Linus Walleij
2013-08-15 20:51 ` Linus Walleij
2013-08-15 21:14 ` Santosh Shilimkar
2013-08-15 21:14 ` Santosh Shilimkar
2013-08-15 21:14 ` Santosh Shilimkar
2013-08-21 21:10 ` Linus Walleij
2013-08-21 21:10 ` Linus Walleij
2013-08-22 11:33 ` Sricharan R
2013-08-22 11:33 ` Sricharan R
2013-08-22 11:33 ` Sricharan R
2013-08-22 13:45 ` Santosh Shilimkar
2013-08-22 13:45 ` Santosh Shilimkar
2013-08-23 4:47 ` Rajendra Nayak
2013-08-23 4:47 ` Rajendra Nayak
2013-08-23 6:11 ` Sricharan R
2013-08-23 6:11 ` Sricharan R
2013-08-23 6:17 ` Rajendra Nayak
2013-08-23 6:17 ` Rajendra Nayak
2013-08-23 6:17 ` Rajendra Nayak
2013-08-23 6:36 ` Sekhar Nori
2013-08-23 6:36 ` Sekhar Nori
2013-08-23 6:53 ` Sricharan R
2013-08-23 6:53 ` Sricharan R
2013-08-23 8:14 ` Sekhar Nori
2013-08-23 8:14 ` Sekhar Nori
2013-08-23 8:14 ` Sekhar Nori
2013-08-23 13:38 ` Santosh Shilimkar
2013-08-23 13:38 ` Santosh Shilimkar
2013-08-23 16:28 ` Sekhar Nori
2013-08-23 16:28 ` Sekhar Nori
2013-08-23 16:28 ` Sekhar Nori
2013-08-23 19:06 ` Linus Walleij
2013-08-23 19:06 ` Linus Walleij
2013-08-23 19:44 ` Santosh Shilimkar
2013-08-23 19:44 ` Santosh Shilimkar
2013-08-23 19:44 ` Santosh Shilimkar
2013-08-13 13:28 ` Santosh Shilimkar
2013-08-13 13:28 ` Santosh Shilimkar
2013-08-14 7:27 ` Tony Lindgren
2013-08-14 7:27 ` Tony Lindgren
2013-07-18 16:43 ` [PATCH 2/3] ARM: dts: DRA: Add crossbar device binding Sricharan R
2013-07-18 16:43 ` Sricharan R
2013-07-18 16:43 ` Sricharan R
2013-07-18 19:04 ` Nishanth Menon
2013-07-18 19:04 ` Nishanth Menon
2013-07-18 19:04 ` Nishanth Menon
2013-07-18 16:43 ` [PATCH 3/3] ARM: DRA7xx: Enable crossbar driver for the soc Sricharan R
2013-07-18 16:43 ` Sricharan R
2013-07-18 16:43 ` Sricharan R
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=51EFFBE1.4090505@ti.com \
--to=nm@ti.com \
--cc=balbi@ti.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=r.sricharan@ti.com \
--cc=rnayak@ti.com \
--cc=santosh.shilimkar@ti.com \
--cc=tglx@linutronix.de \
--cc=tony@atomide.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.