From: Stefan Richter <stefanr@s5r6.in-berlin.de>
To: "Justin P. Mattock" <justinmattock@gmail.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: ohci1396_dma=early nogo on an imac?
Date: Mon, 17 Aug 2009 17:07:22 +0200 [thread overview]
Message-ID: <4A89722A.1070407@s5r6.in-berlin.de> (raw)
In-Reply-To: <4A88F6BF.7090104@gmail.com>
Justin P. Mattock wrote:
> Seems the macbook shows the init ohci1394_dma
> activating, but using this on an imac has no affects.
> is this device supported yet or is this still in the process of being
> developed?(event though the imac is 1394 800 port).
>
> At the moment my machine boots up 2.6.30.4 but will not bootup
> the latest git. If the early dma option is possible with the imac9,1
> I can send out a post with the error, and see if somebody might know.
> (but if this isn't possible then Ill take the 40$
> for the cable and and spend it on beer)...
init_ohci1394_dma is supposed to work on all OHCI-1394 compliant
controllers. This includes all FireWire controllers in all iMac models
ever made. (However, init_ohci1394_dma's initialization is a
trimmed-down version of ohci1394's, and is much much less widely tested
than the ohci1394 driver, hence there may be things which work in the
latter but not quite in the former. If so, it should be fixed.)
But note that there is an important limitation in init_ohci1394_dma:
After it opened the DMA filters, there must be no subsequent FireWire
bus reset. When a bus reset happens, the controller immediately filters
everything again ( = disallows remote DMA). To compensate for that,
init_ohci1394_dma would have to have an IRQ handler which handles bus
reset IRQ events. (And the CPU must not lock up before you need it to
handle the IRQ.)
Causes for a bus reset are:
- Something was plugged out or into the bus.
- One of the nodes on the bus changed its configuration (e.g.
a disk enclosure finished spinning up its drive mechanism after
power-on).
- One of the nodes on the bus (the one which volunteers to be the
so-called isochronous resource manager or bus manager) resets
the bus to enable or optimize some bus functions.
To avoid all this, its best if you only have a single other node (as
debugger console) plugged in, have it already powered on and running the
1394 driver stack at the moment when your test PC starts
init_ohci1394_dma, you use the old ieee1394 + ohci1394 + raw1394 drivers
on the debugger console, and set ieee1394's disable_irm=1 parameter
there (disable isochronous resource manager). The new replacement
drivers firewire-core + firewire-ohci don't have such a parameter, i.e.
always run some bus manager functions which might get in the way of
remote DMA to an init_ohci1394_dma running node.
--
Stefan Richter
-=====-==--= =--- =---=
http://arcgraph.de/sr/
next prev parent reply other threads:[~2009-08-17 15:07 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-17 6:20 Justin P. Mattock
2009-08-17 15:07 ` Stefan Richter [this message]
2009-08-17 18:04 ` Justin Mattock
2009-08-17 18:11 ` Stefan Richter
2009-08-17 18:56 ` Justin P. Mattock
2009-08-17 20:15 ` Stefan Richter
2009-08-17 20:24 ` Justin P. Mattock
2009-08-17 20:38 ` Justin P. Mattock
2009-08-17 19:18 ` Justin P. Mattock
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=4A89722A.1070407@s5r6.in-berlin.de \
--to=stefanr@s5r6.in-berlin.de \
--cc=justinmattock@gmail.com \
--cc=linux-kernel@vger.kernel.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
all inboxes | Powered by JetHome®