linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Re: linux-next: build failure after merge of the final tree (net-next tree related)
       [not found]   ` <20120920.164558.2281417114805373564.davem@davemloft.net>
@ 2012-09-20 22:15     ` Stephen Rothwell
  2012-09-20 22:22       ` Benjamin Herrenschmidt
  2012-09-20 22:28     ` Stephen Rothwell
  1 sibling, 1 reply; 7+ messages in thread
From: Stephen Rothwell @ 2012-09-20 22:15 UTC (permalink / raw)
  To: Benjamin Herrenschmidt, Paul Mackerras, linuxppc-dev
  Cc: netdev, linux-next, mika.westerberg, David Miller, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1369 bytes --]

[Just bring this to the attention of the PowerPC folks ...]

On Thu, 20 Sep 2012 16:45:58 -0400 (EDT) David Miller <davem@davemloft.net> wrote:
>
> From: Mika Westerberg <mika.westerberg@linux.intel.com>
> Date: Thu, 20 Sep 2012 12:10:14 +0300
> 
> > On Thu, Sep 20, 2012 at 05:36:22PM +1000, Stephen Rothwell wrote:
> >> Hi all,
> >> 
> >> After merging the final tree, today's linux-next build (powerpc
> >> allyesconfig) failed like this:
> >> 
> >> drivers/net/ethernet/i825xx/znet.c: In function 'hardware_init':
> >> drivers/net/ethernet/i825xx/znet.c:868:2: error: implicit declaration of function 'isa_virt_to_bus' [-Werror=implicit-function-declaration]
> >> 
> >> Caused by commit 1d3ff76759b7 ("i825xx: znet: fix compiler warnings when
> >> building a 64-bit kernel").  Is there some Kconfig dependency missing (CONFIG_ISA)?
> > 
> > If we make it dependent on CONFIG_ISA then the driver cannot be built with
> > 64-bit kernel. Then again is there someone running 64-bit kernel on Zenith
> > Z-note notebook? From the pictures it looks like very ancient "laptop".
> > 
> > An alternative is to make it depend on X86 like this:
> 
> I think the powerpc port is at fault here.
> 
> Part of being able to advertise ISA_DMA_API is providing isa_virt_to_bus().

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: linux-next: build failure after merge of the final tree (net-next tree related)
  2012-09-20 22:15     ` linux-next: build failure after merge of the final tree (net-next tree related) Stephen Rothwell
@ 2012-09-20 22:22       ` Benjamin Herrenschmidt
  2012-09-20 22:53         ` David Miller
  0 siblings, 1 reply; 7+ messages in thread
From: Benjamin Herrenschmidt @ 2012-09-20 22:22 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: mika.westerberg, netdev, linux-kernel, linux-next, Paul Mackerras,
	linuxppc-dev, David Miller


> > I think the powerpc port is at fault here.
> > 
> > Part of being able to advertise ISA_DMA_API is providing isa_virt_to_bus().

Hrm, that's ancient gunk, I'll have to dig. We potentially can support
ISA devices DMA'ing from an ISA bridge... but via the iommu, which means
isa_virt_to_bus is a non-starter.

But then, do we really care ? IE. Is there single device that actually
requires ISA_DMA_API and that is expected to work on any currently
supported powerpc hw ? :-)

We don't even support PReP anymore, so that leaves us with what ?

Anybody has an objection to turning ISA_DMA_API off ?

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: linux-next: build failure after merge of the final tree (net-next tree related)
       [not found]   ` <20120920.164558.2281417114805373564.davem@davemloft.net>
  2012-09-20 22:15     ` linux-next: build failure after merge of the final tree (net-next tree related) Stephen Rothwell
@ 2012-09-20 22:28     ` Stephen Rothwell
  1 sibling, 0 replies; 7+ messages in thread
From: Stephen Rothwell @ 2012-09-20 22:28 UTC (permalink / raw)
  To: David Miller
  Cc: netdev, linuxppc-dev, linux-kernel, linux-next, Paul Mackerras,
	mika.westerberg

[-- Attachment #1: Type: text/plain, Size: 563 bytes --]

Hi Dave,

On Thu, 20 Sep 2012 16:45:58 -0400 (EDT) David Miller <davem@davemloft.net> wrote:
>
> I think the powerpc port is at fault here.
> 
> Part of being able to advertise ISA_DMA_API is providing isa_virt_to_bus().

Not disagreeing, but it would be nice if this was documented somewhere
(maybe in Documentation/DMA-ISA-LPC.txt).  We have not had this problem
before because all the other uses of isa_virt_to_bus() are in drivers
that depend on X86 or ARM or ISA or EISA.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: linux-next: build failure after merge of the final tree (net-next tree related)
  2012-09-20 22:22       ` Benjamin Herrenschmidt
@ 2012-09-20 22:53         ` David Miller
  2012-09-21 21:46           ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 7+ messages in thread
From: David Miller @ 2012-09-20 22:53 UTC (permalink / raw)
  To: benh
  Cc: sfr, mika.westerberg, netdev, linux-kernel, linux-next, paulus,
	linuxppc-dev

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: Fri, 21 Sep 2012 08:22:44 +1000

> Hrm, that's ancient gunk, I'll have to dig. We potentially can support
> ISA devices DMA'ing from an ISA bridge... but via the iommu, which means
> isa_virt_to_bus is a non-starter.
> 
> But then, do we really care ? IE. Is there single device that actually
> requires ISA_DMA_API and that is expected to work on any currently
> supported powerpc hw ? :-)
> 
> We don't even support PReP anymore, so that leaves us with what ?

ISA_DMA_API implies a fixed window of addresses which are <= 32-bits
on the bus, which is a hardware requirement of these devices.

isa_virt_to_bus() goes to that physical address, and the expection is
that you use GFP_DMA and thus the physical addresses fit inside of
an unsigned int.

isa_virt_to_bus() basically amounts to a virt-->phys plus a cast.

> Anybody has an objection to turning ISA_DMA_API off ?

Then you can remove all of the DMA api stuff in powerpc's asm/dma.h
but some of it looks like it might be in use.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: linux-next: build failure after merge of the final tree (net-next tree related)
  2012-09-20 22:53         ` David Miller
@ 2012-09-21 21:46           ` Benjamin Herrenschmidt
  2012-09-22 20:00             ` David Miller
  0 siblings, 1 reply; 7+ messages in thread
From: Benjamin Herrenschmidt @ 2012-09-21 21:46 UTC (permalink / raw)
  To: David Miller
  Cc: sfr, mika.westerberg, netdev, linux-kernel, linux-next, paulus,
	linuxppc-dev

On Thu, 2012-09-20 at 18:53 -0400, David Miller wrote:
> From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Date: Fri, 21 Sep 2012 08:22:44 +1000
> 
> > Hrm, that's ancient gunk, I'll have to dig. We potentially can support
> > ISA devices DMA'ing from an ISA bridge... but via the iommu, which means
> > isa_virt_to_bus is a non-starter.
> > 
> > But then, do we really care ? IE. Is there single device that actually
> > requires ISA_DMA_API and that is expected to work on any currently
> > supported powerpc hw ? :-)
> > 
> > We don't even support PReP anymore, so that leaves us with what ?
> 
> ISA_DMA_API implies a fixed window of addresses which are <= 32-bits
> on the bus, which is a hardware requirement of these devices.
>
> isa_virt_to_bus() goes to that physical address, and the expection is
> that you use GFP_DMA and thus the physical addresses fit inside of
> an unsigned int.

Right, but on ppc, GFP_DMA is a nop (no separate ZONE_DMA, or rather all
of memory is ZONE_DMA). It's always been like that afaik.

We could support ISA device limited addressability using the iommu but
that would involve a map/unmap type API (which I remember we did support
in the old days by passing NULL to pci_map_*, but we dropped that along
the way).

> isa_virt_to_bus() basically amounts to a virt-->phys plus a cast.
> 
> > Anybody has an objection to turning ISA_DMA_API off ?
> 
> Then you can remove all of the DMA api stuff in powerpc's asm/dma.h
> but some of it looks like it might be in use.

I will dig a bit. I think there might be some users of the ISA DMA
engine for legacy floppies and parport on some early pSeries and CHRP
machines (including Pegasos).

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: linux-next: build failure after merge of the final tree (net-next tree related)
  2012-09-21 21:46           ` Benjamin Herrenschmidt
@ 2012-09-22 20:00             ` David Miller
  2012-09-22 21:20               ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 7+ messages in thread
From: David Miller @ 2012-09-22 20:00 UTC (permalink / raw)
  To: benh
  Cc: sfr, mika.westerberg, netdev, linux-kernel, linux-next, paulus,
	linuxppc-dev

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: Sat, 22 Sep 2012 07:46:40 +1000

> Right, but on ppc, GFP_DMA is a nop (no separate ZONE_DMA, or rather all
> of memory is ZONE_DMA). It's always been like that afaik.
> 
> We could support ISA device limited addressability using the iommu but
> that would involve a map/unmap type API (which I remember we did support
> in the old days by passing NULL to pci_map_*, but we dropped that along
> the way).

I think I'm going to just end up restricting this driver to X86
as was originally suggested.

There seems to be no real consistent Kconfig protection for users
of isa_virt_to_bus() and friends.

We know that ISA_DMA_API doesn't do it, and ISA doesn't do it either
as powerpc also allows that to bet set for CHRP and friends.

Thanks.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: linux-next: build failure after merge of the final tree (net-next tree related)
  2012-09-22 20:00             ` David Miller
@ 2012-09-22 21:20               ` Benjamin Herrenschmidt
  0 siblings, 0 replies; 7+ messages in thread
From: Benjamin Herrenschmidt @ 2012-09-22 21:20 UTC (permalink / raw)
  To: David Miller
  Cc: sfr, mika.westerberg, netdev, linux-kernel, linux-next, paulus,
	linuxppc-dev

On Sat, 2012-09-22 at 16:00 -0400, David Miller wrote:
> 
> I think I'm going to just end up restricting this driver to X86
> as was originally suggested.

Probably the easiest fix indeed.

> There seems to be no real consistent Kconfig protection for users
> of isa_virt_to_bus() and friends.
> 
> We know that ISA_DMA_API doesn't do it, and ISA doesn't do it either
> as powerpc also allows that to bet set for CHRP and friends.

It's a old mess :-( And not an easy one to untangle...

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-09-22 21:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20120920173622.2aa7209cd241a3945f4384d4@canb.auug.org.au>
     [not found] ` <20120920091013.GV15548@intel.com>
     [not found]   ` <20120920.164558.2281417114805373564.davem@davemloft.net>
2012-09-20 22:15     ` linux-next: build failure after merge of the final tree (net-next tree related) Stephen Rothwell
2012-09-20 22:22       ` Benjamin Herrenschmidt
2012-09-20 22:53         ` David Miller
2012-09-21 21:46           ` Benjamin Herrenschmidt
2012-09-22 20:00             ` David Miller
2012-09-22 21:20               ` Benjamin Herrenschmidt
2012-09-20 22:28     ` Stephen Rothwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).