From: Thierry Reding <thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
To: "Terje Bergström" <tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
Colin Cross <ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org>,
Jon Mayo <jmayo-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
Lucas Stach <dev-8ppwABl0HbeELgA04lAiVw@public.gmane.org>,
"dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org"
<dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
David Airlie <airlied-cv59FeDIM0c@public.gmane.org>,
"iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
Joerg Roedel <joerg.roedel-5C7GfCeVMHo@public.gmane.org>,
Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
"devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org"
<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
Grant Likely
<grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>,
Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
Liam Girdwood <lrg-l0cyMroinI0@public.gmane.org>,
Mark Brown
<broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>,
Ben Dooks <ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>,
Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
"linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [RFC v2 5/5] drm: Add NVIDIA Tegra support
Date: Mon, 21 May 2012 15:58:38 +0200 [thread overview]
Message-ID: <20120521135838.GA15046@avionic-0098.mockup.avionic-design.de> (raw)
In-Reply-To: <4FBA28FD.2060504-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 2401 bytes --]
* Terje Bergström wrote:
> On 21.05.2012 14:05, Thierry Reding wrote:
>
> > I agree. It's really just a "simple-bus" kind of bus. Except that it'll need
> > another compatible value to make the host1x driver bind to it. But we should
> > be able to make it work without creating a completely new bus. I guess the
> > "ranges" property could specify 0x54000000 as the base address and child
> > nodes could use offsets relative to that. Maybe even that is overkill,
> > though.
>
>
> Hi,
>
> In the phase where we are just getting display up, yes, the bus is a
> really simple bus. For that, all you need to know about host1x is that
> it needs to be turned on whenever you talk to the display. Having a bus
> seems overkill.
>
> At a latest stage, we're going to need support for host1x channels and
> related infrastructure. In that phase, we need to find good homes for
> channel allocation, job tracking, push buffer management, and other code
> common to all host1x drivers. In the current nvhost driver, it's the job
> of the bus_type and related utilities, and that seems like a good enough
> fit.
>
> I have a bit of hard time understanding the significance of a bus_type
> in the Linux driver model.
>
> On one hand, bus_type allows grouping a set of devices and drivers
> according to the APIs they implement. In nvhost, we have struct
> nvhost_device and struct nvhost_driver, and each host1x client driver
> needs to use them. It's natural to put them in the same bus_type. As a
> bonus, we can assign further common tasks to the bus_type.
>
> On the other hand, implementing a bus_type introduces code almost
> duplicate to platform bus. This is the part that I have hard time with.
>
> The device tree should reflect the target state, as it's going to be an
> API between kernel and boot loader. I believe it'd be best to introduce
> host1x as a bus and put all host1x clients as nodes inside host1x.
I agree that reflecting the hardware hierarchy within the device tree makes
sense. I'll need to add some code to tear down child devices in the cleanup
path, but that shouldn't be too difficult.
However, adding a whole bus_type implementation would pretty much duplicate
the platform bus code. I guess host1x could just provide struct host1x_client
a set of corresponding APIs to create them, request channels, etc.
Thierry
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
next prev parent reply other threads:[~2012-05-21 13:58 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-25 9:44 [RFC v2 0/5] Add NVIDIA Tegra DRM support Thierry Reding
[not found] ` <1335347102-14905-1-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-04-25 9:44 ` [RFC v2 1/5] iommu: Include linux/types.h Thierry Reding
2012-04-25 9:44 ` [RFC v2 2/5] tps6586x: Add device tree support Thierry Reding
[not found] ` <1335347102-14905-3-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-04-25 10:10 ` Mark Brown
[not found] ` <20120425101031.GH3195-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-04-25 10:14 ` Thierry Reding
[not found] ` <20120425101429.GA5085-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-04-25 10:41 ` Thierry Reding
[not found] ` <20120425104147.GB5085-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-04-25 10:47 ` Mark Brown
[not found] ` <20120425104742.GA20492-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-04-25 11:14 ` Thierry Reding
2012-04-25 9:45 ` [RFC v2 3/5] i2c: Add of_i2c_get_adapter() function Thierry Reding
[not found] ` <1335347102-14905-4-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-04-25 15:36 ` Stephen Warren
[not found] ` <4F981A09.2020304-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-04-25 16:39 ` Thierry Reding
2012-04-25 9:45 ` [RFC v2 4/5] drm: fixed: Add dfixed_frac Thierry Reding
2012-04-25 9:45 ` [RFC v2 5/5] drm: Add NVIDIA Tegra support Thierry Reding
[not found] ` <1335347102-14905-6-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-05-03 21:22 ` Stephen Warren
[not found] ` <4FA2F702.6040701-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-05-21 10:55 ` Thierry Reding
2012-05-07 8:50 ` Terje Bergström
[not found] ` <4FA78CBD.5010606-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-05-07 16:27 ` Stephen Warren
[not found] ` <4FA7F80F.5090002-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-05-21 11:05 ` Thierry Reding
[not found] ` <20120521110514.GC27686-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-05-21 11:37 ` Terje Bergström
[not found] ` <4FBA28FD.2060504-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-05-21 13:58 ` Thierry Reding [this message]
[not found] ` <20120521135838.GA15046-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-05-22 6:19 ` Terje Bergström
2012-05-22 7:01 ` Jon Mayo
2012-04-25 12:27 ` [RFC v2 0/5] Add NVIDIA Tegra DRM support Thierry Reding
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=20120521135838.GA15046@avionic-0098.mockup.avionic-design.de \
--to=thierry.reding-rm9k5ik7kjkj5m59nbduvrnah6klmebb@public.gmane.org \
--cc=airlied-cv59FeDIM0c@public.gmane.org \
--cc=ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org \
--cc=broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org \
--cc=ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org \
--cc=dev-8ppwABl0HbeELgA04lAiVw@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
--cc=hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=jmayo-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=joerg.roedel-5C7GfCeVMHo@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=lrg-l0cyMroinI0@public.gmane.org \
--cc=olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org \
--cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
--cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
--cc=tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox