All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Hurley <peter@hurleysoftware.com>
To: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: linux1394-devel@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	Clemens Ladisch <clemens@ladisch.de>
Subject: Re: [PATCH] firewire: Enable physical DMA above 4GB
Date: Fri, 29 Mar 2013 06:50:50 -0400	[thread overview]
Message-ID: <1364554250.3559.61.camel@thor.lan> (raw)
In-Reply-To: <20130329114409.3634676e@stein>

On Fri, 2013-03-29 at 11:44 +0100, Stefan Richter wrote:
> On Mar 26 Stefan Richter wrote:
> > On Mar 26 Peter Hurley wrote:
> > > On Tue, 2013-03-26 at 19:56 +0100, Stefan Richter wrote:
> > > > It has been a long time though since I last checked whether PhyUpperBound
> > > > is implemented; maybe it has become more widespread than it was back then.
> > > > 
> > > > Or maybe it hasn't:  All OHCI-1394 chips that ever came to market are 32
> > > > bit chips anyway.  So the few rare ones that do support PhyUpperBound
> > > > larger than 4 GB cannot in fact use it.
> > > > 
> > > > Or am I severely behind the times about this?
> > > 
> > > The FW643e-2 is natively PCIe (not behind a bridge) and supports phys
> > > DMA past 4GB (the datasheet says all 48 bits but I can only test it out
> > > to 10GB).
> > > 
> > > I thought the FW643e was as well? You'll have to test that out :)
> > 
> > OK, will do.
> 
> Does lspci or something similar show which PCI devices are capable of 64 bit
> wide addressing?

Not definitively.

Usually (but not always), if the host registers are 64-bit addressable,
then the device supports DAC. But that's not something that can be
relied on programmatically.

For example, lspci on FW643e-2:
06:00.0 FireWire (IEEE 1394): LSI Corporation FW643 [TrueFire] PCIe 1394b Controller (rev 08) (prog-if 10 [OHCI])
	Subsystem: LSI Corporation FW643 [TrueFire] PCIe 1394b Controller
	Flags: bus master, fast devsel, latency 0, IRQ 89
==>	Memory at dbeff000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: <access denied>
	Kernel driver in use: firewire_ohci
	Kernel modules: firewire-ohci

By contrast, lspci on FW323 on same machine:
07:06.0 FireWire (IEEE 1394): LSI Corporation FW322/323 [TrueFire] 1394a Controller (rev 70) (prog-if 10 [OHCI])
	Subsystem: Dell Device 5811
	Flags: bus master, medium devsel, latency 64, IRQ 30
==>	Memory at dbbff000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: <access denied>
	Kernel driver in use: firewire_ohci
	Kernel modules: firewire-ohci



  reply	other threads:[~2013-03-29 10:51 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-26 14:22 [PATCH] firewire: Enable physical DMA above 4GB Peter Hurley
2013-03-26 16:12 ` Clemens Ladisch
2013-03-26 17:04   ` Peter Hurley
2013-03-26 18:22     ` Clemens Ladisch
2013-03-26 18:56 ` Stefan Richter
2013-03-26 19:08   ` Peter Hurley
2013-03-26 20:35     ` Stefan Richter
2013-03-29 10:44       ` Stefan Richter
2013-03-29 10:50         ` Peter Hurley [this message]
2013-03-29 11:19           ` Clemens Ladisch
2013-03-29 11:31             ` Peter Hurley

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=1364554250.3559.61.camel@thor.lan \
    --to=peter@hurleysoftware.com \
    --cc=clemens@ladisch.de \
    --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 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.