From: "Kristian Høgsberg" <krh@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
Subject: [PATCH 0/3] New firewire stack
Date: Tue, 05 Dec 2006 00:22:29 -0500 [thread overview]
Message-ID: <20061205052229.7213.38194.stgit@dinky.boston.redhat.com> (raw)
Hi,
I'm announcing an alternative firewire stack that I've been working on
the last few weeks. I'm aiming to implement feature parity with the
current firewire stack, but not necessarily interface compatibility.
For now, I have the low-level OHCI driver done, the mid-level
transaction logic done, and the SBP-2 (storage) driver is basically
done. What's missing is a streaming interface (in progress) to allow
reception and transmission of isochronous data and a userspace
interface for controlling devices (much like raw1394 or libusb for
usb). I'm working out of this git repository:
http://gitweb.freedesktop.org/?p=users/krh/juju.git
but I'll be sending 3 patches for review after this mail: first the
core subsystem, then the OHCI driver and finally the SBP-2 (SCSI over
firewire) driver. For people who want to test this out, the easiest
approach right now is to clone the git repo and run make. This
requires the kernel-devel RPM on Fedora Core; I'm sure other distros
have a similar package.
Now, I didn't set out to rewrite the entire firewire stack. At first
I just wanted to fix the OHCI driver. However any rewrite that
addresses the problems in the driver will shift the code around enough
to invalidate the quirks and workarounds there. And frankly, I don't
trust most of the workarounds to begin with. So I decided to write
the OHCI driver from scratch.
The rest of the stack has problems too, there's too many kernel
threads bouncing around, the nodemgr code is racy and doesn't really
consider issues such as hotplug during device probing. And there is 5
different interfaces for doing isochronous streaming.
The new stack is more compact and I'd like to think it's easier to
follow the code. Here are the sizes for the three patches that
follow:
[juju:linux-2.6]$ wc -l patches-juju/*.patch
3983 patches-juju/fw-core.patch
1510 patches-juju/fw-ohci.patch
1114 patches-juju/fw-sbp2.patch
6607 total
Compared to
[krh@dinky ieee1394]$ wc -l *.[ch]
...
30431 total
The new stack can co-exists with the old stack, since it's sitting in
drivers/fw. So users can pick which stack they want at compile time,
or maybe compile both and switch at run-time using a modprobe
blacklist file. This allows a transition phase from the old stack to
the new one where interfaces will be awailable.
At this point I'm not proposing the stack for inclusion into mainline
yet, as I'm still developing the streaming interface and the userspace
control interface. This is just a heads up for now, to announce the
effort and where I'd like to go with this. It is basically useful
with the storage devices I have available here, though, and ready for
testing for that specific use case. Once the remaining features land,
I'd like to see this in mainstream linux and I'm interested in hearing
how people feel about this.
cheers,
Kristian
next reply other threads:[~2006-12-05 5:26 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-05 5:22 Kristian Høgsberg [this message]
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
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=20061205052229.7213.38194.stgit@dinky.boston.redhat.com \
--to=krh@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--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
all inboxes | Powered by JetHome®