From: "Kristian Høgsberg" <krh@redhat.com>
To: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: Alexander Neundorf <a.neundorf-work@gmx.net>,
ben.collins@ubuntu.com, linux-kernel@vger.kernel.org,
adobriyan@gmail.com, linux1394-devel@lists.sourceforge.net
Subject: Re: [PATCH 0/3] New firewire stack
Date: Wed, 06 Dec 2006 16:21:15 -0500 [thread overview]
Message-ID: <4577344B.4020404@redhat.com> (raw)
In-Reply-To: <4576B9CC.5060700@s5r6.in-berlin.de>
Stefan Richter wrote:
...
> Another question is whether the stack-internal APIs are really fit for
> non-OHCI chips. There is an unfinished low-level driver for GP2Lynx
> which worked to some degree at some point, but other than that I don't
> remember positive or negative reports in this department. Maybe proper
> documentation of the stack-internal APIs would already help embedded
> developers a lot. Furthermore, there may be question marks WRT
> interaction of the FireWire stack with architecture specific kernel code.
I think some of the problems with the current stack come from the fact that it
was originally written (by Andreas Bombe) for the PCILynx chipset, in other
words, *not* for the OHCI chipset. The PCILynx chipset is a much lower level
chipset, it offloads much more to software. For example, each self ID is
received as an individual packet, where the OHCI chipset receives these into a
special buffer and notifies software when it has received a consistent set of
packets. The current stack has a callback for the host controller driver to
call once the bus reset phase starts, a callback for each received self ID and
a callback to indicate the end of the bus reset phase.
In the new stack, the controller/core interface is more suited for the OHCI
controller. The stack doens't go into a bus reset state, and all self IDs are
reported as an atomic event. This makes the upper layers much simpler, suits
the OHCI controller better, and should only require a few lines extra code in
a PCILynx driver to buffer up the self IDs. And it's arguably better to have
the PCILynx driver do this than have the OHCI controller split up and
otherwise atomic event.
> But back to the subject matter: Clearly, Kristian concentrates on
> PCI/OHCI-1394 hardware at the moment. If embedded developers have
> specific requirements on the FireWire stack's design, they should IMO
> contribute with a list of requirements or maybe even with patches.
It's true that I'm developing for PCI+OHCI, but I've kept the controller/core
stack split that the old stack has, nothing outside the OHCI driver depends on
PCI (I'm using the generic DMA API). I've shifted the abstraction level up a
bit for the controller interface, which makes sense in general, but also since
this is what every desktop or laptop out there has. That said, I don't think
anything in the stack design will break for embedded/non-OHCI chipsets.
cheers,
Kristian
next prev parent reply other threads:[~2006-12-06 21:26 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-05 5:22 [PATCH 0/3] New firewire stack Kristian Høgsberg
2006-12-05 5:22 ` [PATCH 2/3] Import fw-ohci driver Kristian Høgsberg
2006-12-05 5:54 ` Pete Zaitcev
2006-12-05 5:58 ` Jeff Garzik
2006-12-05 6:09 ` Benjamin Herrenschmidt
2006-12-09 2:08 ` Kristian Høgsberg
2006-12-09 7:31 ` Stefan Richter
2006-12-10 21:47 ` Kristian Høgsberg
2006-12-10 22:59 ` Stefan Richter
2006-12-10 23:00 ` alignment and packing of struct types (was Re: [PATCH 2/3] Import fw-ohci driver.) Stefan Richter
2006-12-05 5:22 ` [PATCH 3/3] Import fw-sbp2 driver Kristian Høgsberg
2006-12-05 6:07 ` Jeff Garzik
2006-12-05 18:18 ` Stefan Richter
2006-12-14 20:48 ` Kristian Høgsberg
2006-12-14 21:40 ` Stefan Richter
2006-12-15 15:08 ` Kristian Høgsberg
2006-12-15 18:27 ` Stefan Richter
2006-12-05 5:42 ` [PATCH 0/3] New firewire stack Benjamin Herrenschmidt
2006-12-05 6:20 ` Kristian Høgsberg
2006-12-05 16:28 ` Ray Lee
2006-12-05 23:24 ` Kristian Høgsberg
2006-12-05 7:05 ` David Miller
2006-12-05 16:42 ` Kristian Høgsberg
2006-12-05 18:49 ` Stefan Richter
2006-12-05 21:41 ` Benjamin Herrenschmidt
2006-12-05 23:15 ` Stefan Richter
2006-12-05 8:46 ` Marcel Holtmann
2006-12-05 15:13 ` Kristian Høgsberg
2006-12-05 15:30 ` Marcel Holtmann
2006-12-06 16:21 ` Geert Uytterhoeven
2006-12-06 16:32 ` Stefan Richter
2006-12-05 16:05 ` Erik Mouw
2006-07-12 14:56 ` Pavel Machek
2006-12-08 15:09 ` Stefan Richter
2006-12-09 19:44 ` Kristian Høgsberg
2006-12-10 12:57 ` Stefan Richter
2006-12-10 22:17 ` Kristian Høgsberg
2006-12-10 23:21 ` Stefan Richter
2006-12-09 21:51 ` Benjamin Herrenschmidt
2006-12-09 22:51 ` Stefan Richter
2006-12-05 16:53 ` Marcel Holtmann
2006-12-05 23:27 ` Kristian Høgsberg
2006-12-05 18:49 ` Alexey Dobriyan
2006-12-05 19:53 ` Stefan Richter
2006-12-05 23:21 ` Kristian Høgsberg
2006-12-06 5:35 ` Ben Collins
2006-12-06 8:56 ` Stefan Richter
2006-12-06 11:40 ` Alexander Neundorf
2006-12-06 12:38 ` Stefan Richter
2006-12-06 21:21 ` Kristian Høgsberg [this message]
2006-12-06 14:49 ` Ben Collins
2006-12-07 0:31 ` Kristian Høgsberg
2006-12-06 8:36 ` Stefan Richter
2006-12-06 22:27 ` Kristian Høgsberg
2006-12-06 23:55 ` Stefan Richter
2006-12-05 23:23 ` Olaf Hering
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=4577344B.4020404@redhat.com \
--to=krh@redhat.com \
--cc=a.neundorf-work@gmx.net \
--cc=adobriyan@gmail.com \
--cc=ben.collins@ubuntu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux1394-devel@lists.sourceforge.net \
--cc=stefanr@s5r6.in-berlin.de \
/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