2007-12-14 19:45:19

by S.Çağlar Onur

[permalink] [raw]
Subject: [PATCH] drivers/dma/ioat_dma.c: inlining failed

Hi;

After commit 7bb67c14fd3778504fb77da30ce11582336dfced, Linus's git tree gaves following compiliation error with gcc-3.4.6. Following patch solves this issue for me;


[...]
CC [M] drivers/dma/ioat.o
CC [M] drivers/dma/ioat_dma.o
drivers/dma/ioat_dma.c: In function `ioat1_tx_submit':
drivers/dma/ioat_dma.c:177: sorry, unimplemented: inlining failed in call to '__ioat1_dma_memcpy_issue_pending': function body not available
drivers/dma/ioat_dma.c:268: sorry, unimplemented: called from here
make[2]: *** [drivers/dma/ioat_dma.o] Hata 1
make[1]: *** [drivers/dma] Hata 2
make: *** [drivers] Hata 2

Signed-off-by: S.Çağlar Onur <[email protected]>

diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c
index c1c2dcc..1d66b82 100644
--- a/drivers/dma/ioat_dma.c
+++ b/drivers/dma/ioat_dma.c
@@ -173,10 +173,25 @@ static void ioat_set_dest(dma_addr_t addr,
tx_to_ioat_desc(tx)->dst = addr;
}

+/**
+ * ioat_dma_memcpy_issue_pending - push potentially unrecognized appended
+ * descriptors to hw
+ * @chan: DMA channel handle
+ */
static inline void __ioat1_dma_memcpy_issue_pending(
- struct ioat_dma_chan *ioat_chan);
+ struct ioat_dma_chan *ioat_chan)
+{
+ ioat_chan->pending = 0;
+ writeb(IOAT_CHANCMD_APPEND, ioat_chan->reg_base + IOAT1_CHANCMD_OFFSET);
+}
+
static inline void __ioat2_dma_memcpy_issue_pending(
- struct ioat_dma_chan *ioat_chan);
+ struct ioat_dma_chan *ioat_chan)
+{
+ ioat_chan->pending = 0;
+ writew(ioat_chan->dmacount,
+ ioat_chan->reg_base + IOAT_CHAN_DMACOUNT_OFFSET);
+}

static dma_cookie_t ioat1_tx_submit(struct dma_async_tx_descriptor *tx)
{
@@ -700,18 +715,6 @@ static struct dma_async_tx_descriptor *ioat2_dma_prep_memcpy(
}


-/**
- * ioat_dma_memcpy_issue_pending - push potentially unrecognized appended
- * descriptors to hw
- * @chan: DMA channel handle
- */
-static inline void __ioat1_dma_memcpy_issue_pending(
- struct ioat_dma_chan *ioat_chan)
-{
- ioat_chan->pending = 0;
- writeb(IOAT_CHANCMD_APPEND, ioat_chan->reg_base + IOAT1_CHANCMD_OFFSET);
-}
-
static void ioat1_dma_memcpy_issue_pending(struct dma_chan *chan)
{
struct ioat_dma_chan *ioat_chan = to_ioat_chan(chan);
@@ -723,14 +726,6 @@ static void ioat1_dma_memcpy_issue_pending(struct dma_chan *chan)
}
}

-static inline void __ioat2_dma_memcpy_issue_pending(
- struct ioat_dma_chan *ioat_chan)
-{
- ioat_chan->pending = 0;
- writew(ioat_chan->dmacount,
- ioat_chan->reg_base + IOAT_CHAN_DMACOUNT_OFFSET);
-}
-
static void ioat2_dma_memcpy_issue_pending(struct dma_chan *chan)
{
struct ioat_dma_chan *ioat_chan = to_ioat_chan(chan);

Cheers
--
S.Çağlar Onur <[email protected]>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!


2007-12-14 19:58:38

by Shannon Nelson

[permalink] [raw]
Subject: RE: [PATCH] drivers/dma/ioat_dma.c: inlining failed

>-----Original Message-----
>From: S.?a?lar Onur [mailto:[email protected]]
>Sent: Friday, December 14, 2007 11:45 AM
>To: [email protected]
>Cc: Nelson, Shannon
>Subject: [PATCH] drivers/dma/ioat_dma.c: inlining failed
>
>Hi;
>
>After commit 7bb67c14fd3778504fb77da30ce11582336dfced, Linus's
>git tree gaves following compiliation error with gcc-3.4.6.
>Following patch solves this issue for me;
>
>
>[...]
> CC [M] drivers/dma/ioat.o
> CC [M] drivers/dma/ioat_dma.o
>drivers/dma/ioat_dma.c: In function `ioat1_tx_submit':
>drivers/dma/ioat_dma.c:177: sorry, unimplemented: inlining
>failed in call to '__ioat1_dma_memcpy_issue_pending': function
>body not available
>drivers/dma/ioat_dma.c:268: sorry, unimplemented: called from here
>make[2]: *** [drivers/dma/ioat_dma.o] Hata 1
>make[1]: *** [drivers/dma] Hata 2
>make: *** [drivers] Hata 2
>
>Signed-off-by: S.?a?lar Onur <[email protected]>
[...]

Yep. I posted a similar patch with a couple more tweaks after a month ago after Andrew's comments, which hasn't yet moved from -mm to Linus' tree. See http://lkml.org/lkml/2007/11/16/336

sln
--
======================================================================
Mr. Shannon Nelson LAN Access Division, Intel Corp.
[email protected] I don't speak for Intel
(503) 712-7659 Parents can't afford to be squeamish.

2007-12-14 23:16:44

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] drivers/dma/ioat_dma.c: inlining failed

On Fri, 14 Dec 2007 11:53:28 -0800
"Nelson, Shannon" <[email protected]> wrote:

> >-----Original Message-----
> >From: S.__a__lar Onur [mailto:[email protected]]
> >Sent: Friday, December 14, 2007 11:45 AM
> >To: [email protected]
> >Cc: Nelson, Shannon
> >Subject: [PATCH] drivers/dma/ioat_dma.c: inlining failed
> >
> >Hi;
> >
> >After commit 7bb67c14fd3778504fb77da30ce11582336dfced, Linus's
> >git tree gaves following compiliation error with gcc-3.4.6.
> >Following patch solves this issue for me;
> >
> >
> >[...]
> > CC [M] drivers/dma/ioat.o
> > CC [M] drivers/dma/ioat_dma.o
> >drivers/dma/ioat_dma.c: In function `ioat1_tx_submit':
> >drivers/dma/ioat_dma.c:177: sorry, unimplemented: inlining
> >failed in call to '__ioat1_dma_memcpy_issue_pending': function
> >body not available
> >drivers/dma/ioat_dma.c:268: sorry, unimplemented: called from here
> >make[2]: *** [drivers/dma/ioat_dma.o] Hata 1
> >make[1]: *** [drivers/dma] Hata 2
> >make: *** [drivers] Hata 2
> >
> >Signed-off-by: S.__a__lar Onur <[email protected]>
> [...]
>
> Yep. I posted a similar patch with a couple more tweaks after a month ago after Andrew's comments, which hasn't yet moved from -mm to Linus' tree. See http://lkml.org/lkml/2007/11/16/336
>

Nobody told me that it fixed anything serious so I had it scheduled for
2.6.25. I'll move it up.

2008-01-06 12:57:44

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] drivers/dma/ioat_dma.c: inlining failed

Hello,

> > >After commit 7bb67c14fd3778504fb77da30ce11582336dfced, Linus's
> > >git tree gaves following compiliation error with gcc-3.4.6.
> > >Following patch solves this issue for me;
> > >
> > >
> > >[...]
> > > CC [M] drivers/dma/ioat.o
> > > CC [M] drivers/dma/ioat_dma.o
> > >drivers/dma/ioat_dma.c: In function `ioat1_tx_submit':
> > >drivers/dma/ioat_dma.c:177: sorry, unimplemented: inlining
> > >failed in call to '__ioat1_dma_memcpy_issue_pending': function
> > >body not available
> > >drivers/dma/ioat_dma.c:268: sorry, unimplemented: called from here
> > >make[2]: *** [drivers/dma/ioat_dma.o] Hata 1
> > >make[1]: *** [drivers/dma] Hata 2
> > >make: *** [drivers] Hata 2
> > >
> > >Signed-off-by: S.__a__lar Onur <[email protected]>
> > [...]
> >
> > Yep. I posted a similar patch with a couple more tweaks after a month ago after Andrew's comments, which hasn't yet moved from -mm to Linus' tree. See http://lkml.org/lkml/2007/11/16/336
> >
>
> Nobody told me that it fixed anything serious so I had it scheduled for
> 2.6.25. I'll move it up.

BTW. It's still not there. Latest Linus linux-2.6 git tree with gcc-3.4.6:

CC [M] drivers/dma/ioat_dma.o
drivers/dma/ioat_dma.c: In function `ioat1_tx_submit':
drivers/dma/ioat_dma.c:177: sorry, unimplemented: inlining failed in call to '__ioat1_dma_memcpy_issue_pending': function body not available
drivers/dma/ioat_dma.c:268: sorry, unimplemented: called from here
make[2]: *** [drivers/dma/ioat_dma.o] Error 1
make[1]: *** [drivers/dma] Error 2
make: *** [drivers] Error 2

Regards,

Mariusz

2008-01-06 13:04:32

by Adrian Bunk

[permalink] [raw]
Subject: Re: [PATCH] drivers/dma/ioat_dma.c: inlining failed

On Sun, Jan 06, 2008 at 01:57:23PM +0100, Mariusz Kozlowski wrote:
> Hello,
>
> > > >After commit 7bb67c14fd3778504fb77da30ce11582336dfced, Linus's
> > > >git tree gaves following compiliation error with gcc-3.4.6.
> > > >Following patch solves this issue for me;
> > > >
> > > >
> > > >[...]
> > > > CC [M] drivers/dma/ioat.o
> > > > CC [M] drivers/dma/ioat_dma.o
> > > >drivers/dma/ioat_dma.c: In function `ioat1_tx_submit':
> > > >drivers/dma/ioat_dma.c:177: sorry, unimplemented: inlining
> > > >failed in call to '__ioat1_dma_memcpy_issue_pending': function
> > > >body not available
> > > >drivers/dma/ioat_dma.c:268: sorry, unimplemented: called from here
> > > >make[2]: *** [drivers/dma/ioat_dma.o] Hata 1
> > > >make[1]: *** [drivers/dma] Hata 2
> > > >make: *** [drivers] Hata 2
> > > >
> > > >Signed-off-by: S.__a__lar Onur <[email protected]>
> > > [...]
> > >
> > > Yep. I posted a similar patch with a couple more tweaks after a month ago after Andrew's comments, which hasn't yet moved from -mm to Linus' tree. See http://lkml.org/lkml/2007/11/16/336
> > >
> >
> > Nobody told me that it fixed anything serious so I had it scheduled for
> > 2.6.25. I'll move it up.
>
> BTW. It's still not there. Latest Linus linux-2.6 git tree with gcc-3.4.6:
>
> CC [M] drivers/dma/ioat_dma.o
> drivers/dma/ioat_dma.c: In function `ioat1_tx_submit':
> drivers/dma/ioat_dma.c:177: sorry, unimplemented: inlining failed in call to '__ioat1_dma_memcpy_issue_pending': function body not available
> drivers/dma/ioat_dma.c:268: sorry, unimplemented: called from here
> make[2]: *** [drivers/dma/ioat_dma.o] Error 1
> make[1]: *** [drivers/dma] Error 2
> make: *** [drivers] Error 2

The fix is in Linus' tree since 17 Dec 2007, and the line numbers in
your error messages also don't make sense in the current tree.

Is there any problem with your local copy of the tree?

> Regards,
>
> Mariusz

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2008-01-06 15:19:34

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] drivers/dma/ioat_dma.c: inlining failed

Hello,

> The fix is in Linus' tree since 17 Dec 2007, and the line numbers in
> your error messages also don't make sense in the current tree.

True.

> Is there any problem with your local copy of the tree?

Oh crap ... how could this happen? I'd say it is my git & branches PEBKAC.

Regards,

Mariusz