Another OCP enet patch

Dan Malek dan at embeddededge.com
Thu May 30 01:02:09 EST 2002


David Gibson wrote:


> I agree it must not depend on PCI functions, but I don't see the
> problem with PCI headers (well, I do, but it seems less important than
> other considerations).

OK.

> ...  consistent_sync() relies on the PCI direction
> constants defined in linux/pci.h *now* - it checks them explicitly in
> its switch statement (so does the ARM version).  That works fine,
> because pci.h defines the direction constants even if CONFIG_PCI=n.

OK.

> The constants don't really have anything to do with PCI, and are
> already used for SBUS DMA directions on Sparc and IIRC for ISA DMA in
> some places.  We're talking about whether the *callers* of
> consistent_sync() should need pci.h.

I thought so, too.


> Well, it looks like I'm not going to win this argument,

What argument are you trying to win?  I thought you were arguing
for changing the flags to consistent_sync(), but didn't like any
of the solutions?

> .... but calling
> with one name for a constant and checking for another in the
> implementation, relying on them to have the same value bothers me
> much, much more that a few irrelevant PCI_ on the front of constant
> names (which is not to say that the latter doesn't bother me at all).

I was just proposing a solution that addressed one of your other
concerns.  Requiring some flag values to be the same, but with
different names, isn't something unique here :-)


> Ok, well if we have to have the two sets of constants, please lets put
> them in io.h and not in ocp-dma.h.  They have nothing to do with OCP
> (just as they have nothing to do with PCI).

We can't change the PCI names, so I just suggested we change the names to
consistent_sync(), define those in io.h (so non-PCI systems don't have to
include pci header files just to get a flag name), and put a big comment
around the flag definitions that they have to match the PCI_ names.

I'm constantly reminded that Linux is full of hacks to meet its major design
goal of high performance.  This seems to fit nicely :-)

Or, as you said, just not use consistent_sync() in our PowerPC specific
software and call the dma_cache_* functions directly.


	-- Dan


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list