lkml.org 
[lkml]   [2002]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Problems with 2.5.14 PCI reorg and non-PCI architectures
On Thu, May 09, 2002 at 09:00:28AM -0400, James Bottomley wrote:
> greg@kroah.com said:
> > arch/i386/pci/dma.c now only contains pci_alloc_consistent() and
> > pci_free_consistent(). What kind of configuration are you using that
> > works without CONFIG_PCI and yet calls those functions? Is it a
> > ISA_PNP type configuration? Do you have a .config that this fails on?
>
> The problem is that this is not necessarily PCI related on other platforms.
>
> My cross platform SCSI driver, 53c700.c, uses pci_alloc_consistent because it
> has to work on parisc archs as well (which do have consistent memory even
> though a few of them don't have PCI busses). It was failing a test compile.
> I can manipulate the #ifdefs so that it doesn't use the consistent allocation
> functions on x86, but I think, in principle, cross platform drivers should be
> able to use these functions.

But parisc has it's own implementation of pci_alloc_consistent(), so
you're ok on that platform. And it looks like only 2 scsi drivers use
the 53c700.c code, lasi700.c and NCR_D700.c. The NCR driver looks to
need pci, and the lasi700 driver doesn't look like it will even compile
on i386.

No wait, the NCR driver needs Microchannel, is that true?

I would like to push back and ask why you are calling a pci_* function
from a driver that does not need pci. Yes, I know it's a nice, generic
function, but that hasn't stopped people from rewriting that same
function a number of times in different forms in different places in the
tree :)

In a perfect world, we should probably create a function like:
void *alloc_consistent (int flags, size_t size, dma_addr_t *dma_handle);
to solve everyone's needs, but I'm not volunteering to do that :)

I'll go move the file and send the changeset to Linus.

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:25    [W:0.188 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site