All of lore.kernel.org
 help / color / mirror / Atom feed
From: gregkh@linuxfoundation.org (Greg KH)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH] Documentation: devicetree: add description for generic bus properties
Date: Thu, 28 Nov 2013 11:10:30 -0800	[thread overview]
Message-ID: <20131128191030.GA2385@kroah.com> (raw)
In-Reply-To: <20131128102845.GB21354@mudshark.cambridge.arm.com>

On Thu, Nov 28, 2013 at 10:28:45AM +0000, Will Deacon wrote:
> Hi Greg,
> 
> On Wed, Nov 27, 2013 at 11:06:50PM +0000, Greg KH wrote:
> > On Wed, Nov 27, 2013 at 05:28:06PM +0000, Dave Martin wrote:
> > > >From will.deacon at arm.com Wed Nov 20 12:06:22 2013
> > > A number of discussion points remain to be resolved:
> > > 
> > >   - Use of the ranges property and describing slave vs master bus
> > >     address ranges. In the latter case, we actually want to describe our
> > >     address space with respect to the bus on which the bus masters,
> > >     rather than the parent. This could potentially be achieved by adding
> > >     properties such as dma-parent and dma-ranges (already used by PPC?)
> > > 
> > >   - Describing masters that master through multiple different buses
> > > 
> > >   - How on Earth this fits in with the Linux device model (it doesn't)
> > 
> > How does this _not_ fit into the Linux device model?  What am I missing
> > here that precludes the use of the "driver/device/bus" model we have
> > today?
> 
> The main problem is that we have devices which slave on one bus and master
> on another. That then complicates probing, power-management, IOMMU
> configuration, address mapping (e.g. I walk the slave buses to figure out
> where the slave registers live, but then I need a way to work out where
> exactly I master on a different bus) and dynamic coherency, amongst other
> things.
> 
> If we try to use the current infrastructure then we end up with one bus per
> device, which usually ends up being a fake bus representing both the slave
> and master buses (which is how the platform bus gets abused) and then device
> drivers having their own idea of the system topology where it's required.
> This is fairly horrible and doesn't work for anything other than the trivial
> case, where one or both of the buses are `dumb' and don't require any work
> from Linux.

Then just put everything on a single "bus", there's nothing in the
driver core that requires a bus to work in a specific way.

> > >  .../devicetree/bindings/arm/coherent-bus.txt       | 110 +++++++++++++++++++++
> > 
> > Why "arm"?
> > 
> > What makes it ARM specific?
> 
> This is just an RFC, so I'd be happy to put the binding somewhere more
> broad. I'm not sure how much of an issue this is outside of the SoC space,
> though.

There aren't "SoC"s on other architectures?  :)

thanks,

greg k-h

WARNING: multiple messages have this Message-ID (diff)
From: Greg KH <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
To: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>
Cc: Dave P Martin <Dave.Martin-5wv7dgnIgG8@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Thierry Reding
	<thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Mark Rutland <Mark.Rutland-5wv7dgnIgG8@public.gmane.org>,
	Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
	"grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
	<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [RFC PATCH] Documentation: devicetree: add description for generic bus properties
Date: Thu, 28 Nov 2013 11:10:30 -0800	[thread overview]
Message-ID: <20131128191030.GA2385@kroah.com> (raw)
In-Reply-To: <20131128102845.GB21354-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>

On Thu, Nov 28, 2013 at 10:28:45AM +0000, Will Deacon wrote:
> Hi Greg,
> 
> On Wed, Nov 27, 2013 at 11:06:50PM +0000, Greg KH wrote:
> > On Wed, Nov 27, 2013 at 05:28:06PM +0000, Dave Martin wrote:
> > > >From will.deacon-5wv7dgnIgG8@public.gmane.org Wed Nov 20 12:06:22 2013
> > > A number of discussion points remain to be resolved:
> > > 
> > >   - Use of the ranges property and describing slave vs master bus
> > >     address ranges. In the latter case, we actually want to describe our
> > >     address space with respect to the bus on which the bus masters,
> > >     rather than the parent. This could potentially be achieved by adding
> > >     properties such as dma-parent and dma-ranges (already used by PPC?)
> > > 
> > >   - Describing masters that master through multiple different buses
> > > 
> > >   - How on Earth this fits in with the Linux device model (it doesn't)
> > 
> > How does this _not_ fit into the Linux device model?  What am I missing
> > here that precludes the use of the "driver/device/bus" model we have
> > today?
> 
> The main problem is that we have devices which slave on one bus and master
> on another. That then complicates probing, power-management, IOMMU
> configuration, address mapping (e.g. I walk the slave buses to figure out
> where the slave registers live, but then I need a way to work out where
> exactly I master on a different bus) and dynamic coherency, amongst other
> things.
> 
> If we try to use the current infrastructure then we end up with one bus per
> device, which usually ends up being a fake bus representing both the slave
> and master buses (which is how the platform bus gets abused) and then device
> drivers having their own idea of the system topology where it's required.
> This is fairly horrible and doesn't work for anything other than the trivial
> case, where one or both of the buses are `dumb' and don't require any work
> from Linux.

Then just put everything on a single "bus", there's nothing in the
driver core that requires a bus to work in a specific way.

> > >  .../devicetree/bindings/arm/coherent-bus.txt       | 110 +++++++++++++++++++++
> > 
> > Why "arm"?
> > 
> > What makes it ARM specific?
> 
> This is just an RFC, so I'd be happy to put the binding somewhere more
> broad. I'm not sure how much of an issue this is outside of the SoC space,
> though.

There aren't "SoC"s on other architectures?  :)

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2013-11-28 19:10 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-27 17:28 [RFC PATCH] Documentation: devicetree: add description for generic bus properties Dave Martin
2013-11-27 17:28 ` Dave Martin
2013-11-27 23:06 ` Greg KH
2013-11-27 23:06   ` Greg KH
2013-11-28 10:28   ` Will Deacon
2013-11-28 10:28     ` Will Deacon
2013-11-28 17:33     ` Dave Martin
2013-11-28 17:33       ` Dave Martin
2013-11-28 19:13       ` Greg KH
2013-11-28 19:13         ` Greg KH
2013-11-28 19:39         ` Dave Martin
2013-11-28 19:39           ` Dave Martin
2013-11-28 21:25           ` Greg KH
2013-11-28 21:25             ` Greg KH
2013-11-29 11:44             ` Will Deacon
2013-11-29 11:44               ` Will Deacon
2013-11-29 17:37               ` Greg KH
2013-11-29 17:37                 ` Greg KH
2013-11-29 18:01                 ` Will Deacon
2013-11-29 18:01                   ` Will Deacon
2013-11-29 18:11                   ` Greg KH
2013-11-29 18:11                     ` Greg KH
2013-11-29 18:15                     ` Will Deacon
2013-11-29 18:15                       ` Will Deacon
2013-11-28 19:10     ` Greg KH [this message]
2013-11-28 19:10       ` Greg KH
2013-11-28 20:33 ` Thierry Reding
2013-11-28 20:33   ` Thierry Reding
2013-11-28 21:10   ` Jason Gunthorpe
2013-11-28 21:10     ` Jason Gunthorpe
2013-11-28 22:22     ` Thierry Reding
2013-11-28 22:22       ` Thierry Reding
2013-11-28 23:31       ` Jason Gunthorpe
2013-11-28 23:31         ` Jason Gunthorpe
2013-11-29  2:35         ` Greg KH
2013-11-29  2:35           ` Greg KH
2013-11-29  9:37           ` Thierry Reding
2013-11-29  9:37             ` Thierry Reding
2013-11-29  9:57             ` Russell King - ARM Linux
2013-11-29  9:57               ` Russell King - ARM Linux
2013-11-29 10:43               ` Thierry Reding
2013-11-29 10:43                 ` Thierry Reding
2013-11-29 13:13               ` Dave Martin
2013-11-29 13:13                 ` Dave Martin
2013-11-29 13:29                 ` Russell King - ARM Linux
2013-11-29 13:29                   ` Russell King - ARM Linux
2013-11-29 17:43                 ` Greg KH
2013-11-29 17:43                   ` Greg KH
2013-11-29 17:42             ` Greg KH
2013-11-29 17:42               ` Greg KH
2013-11-29 19:45               ` Thierry Reding
2013-11-29 19:45                 ` Thierry Reding
2013-12-04 18:43           ` Mark Brown
2013-12-04 18:43             ` Mark Brown
2013-12-04 19:03             ` Greg KH
2013-12-04 19:03               ` Greg KH
2013-12-04 20:27               ` Mark Brown
2013-12-04 20:27                 ` Mark Brown
2013-11-29  9:57         ` Thierry Reding
2013-11-29  9:57           ` Thierry Reding
2013-11-29 14:13           ` Dave Martin
2013-11-29 14:13             ` Dave Martin
2013-11-29 11:58         ` Dave Martin
2013-11-29 11:58           ` Dave Martin
2013-11-29 18:43           ` Jason Gunthorpe
2013-11-29 18:43             ` Jason Gunthorpe
2013-12-02 20:25             ` Dave Martin
2013-12-02 20:25               ` Dave Martin
2013-12-03  0:07               ` Jason Gunthorpe
2013-12-03  0:07                 ` Jason Gunthorpe
2013-12-03 11:45                 ` Dave Martin
2013-12-03 11:45                   ` Dave Martin
  -- strict thread matches above, loose matches on Subject: below --
2013-11-28 16:50 Dave Martin

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=20131128191030.GA2385@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --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.