All of lore.kernel.org
 help / color / mirror / Atom feed
From: Santosh Shilimkar <santosh.shilimkar@ti.com>
To: Nishanth Menon <nm@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 12:38:51 -0400	[thread overview]
Message-ID: <51F0031B.1050307@ti.com> (raw)
In-Reply-To: <51EFFBE1.4090505@ti.com>

On Wednesday 24 July 2013 12:08 PM, Nishanth Menon wrote:
> 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?
>
The whole reason the cross-bar being there because all the peripherals
IRQs can not me routed to the IRQ controller. So You pick up a configuration
would like to support and stick to it. It will be good to specify all the
peripheral devices but tsome of them might not have the IRQ/DMA lines
associated with them because of limited slots on IRQ/DMA controller.

>>
>> 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).
Its not interrupt distribution problem but rather setting up the signal
routing which otherwise generally hardwired in SOC. Hence the pin-control analogy.
Pinmux also lets you set many possible combinations but we pick one for a board design.

> That said, maybe a intermediate pinctrl approach might be more pragmatic andless 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?
This sounds better. That way we can get all the devices in the DT at least.

Regards,
Santosh


WARNING: multiple messages have this Message-ID (diff)
From: santosh.shilimkar@ti.com (Santosh Shilimkar)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] misc: Add crossbar driver
Date: Wed, 24 Jul 2013 12:38:51 -0400	[thread overview]
Message-ID: <51F0031B.1050307@ti.com> (raw)
In-Reply-To: <51EFFBE1.4090505@ti.com>

On Wednesday 24 July 2013 12:08 PM, Nishanth Menon wrote:
> 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?
>
The whole reason the cross-bar being there because all the peripherals
IRQs can not me routed to the IRQ controller. So You pick up a configuration
would like to support and stick to it. It will be good to specify all the
peripheral devices but tsome of them might not have the IRQ/DMA lines
associated with them because of limited slots on IRQ/DMA controller.

>>
>> 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).
Its not interrupt distribution problem but rather setting up the signal
routing which otherwise generally hardwired in SOC. Hence the pin-control analogy.
Pinmux also lets you set many possible combinations but we pick one for a board design.

> That said, maybe a intermediate pinctrl approach might be more pragmatic andless 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?
This sounds better. That way we can get all the devices in the DT at least.

Regards,
Santosh

  reply	other threads:[~2013-07-24 16:39 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
2013-07-24 16:08               ` Nishanth Menon
2013-07-24 16:38               ` Santosh Shilimkar [this message]
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=51F0031B.1050307@ti.com \
    --to=santosh.shilimkar@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=nm@ti.com \
    --cc=r.sricharan@ti.com \
    --cc=rnayak@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.