Message ID | 20090206.215533.166740686.davem@davemloft.net |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
David Miller wrote: > From: David Miller <davem@davemloft.net> > Date: Fri, 06 Feb 2009 19:29:10 -0800 (PST) > >> From: Dan Williams <dan.j.williams@intel.com> >> Date: Fri, 6 Feb 2009 15:52:35 -0700 >> >>> Yes, it has been on the todo list for a while, but I eventually want >>> the net case to look more like the raid case. I.e. have one code path >>> that picks async versus sync at runtime, with the option to compile >>> out async support with header file ifdefs only. >> And how does any of that get us any closer to a fix right now >> for this problem that doesn't require an ifdef? >> >> Someone please work on this. > > I guess that'd end up being me.... Not necessarily, you did snap me back into reality with that comment. > > How about something like this? Looks good. Thanks, Dan -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Dan Williams <dan.j.williams@intel.com> Date: Fri, 06 Feb 2009 23:03:11 -0700 > David Miller wrote: > > From: David Miller <davem@davemloft.net> > > Date: Fri, 06 Feb 2009 19:29:10 -0800 (PST) > > > >> From: Dan Williams <dan.j.williams@intel.com> > >> Date: Fri, 6 Feb 2009 15:52:35 -0700 > >> > >>> Yes, it has been on the todo list for a while, but I eventually want > >>> the net case to look more like the raid case. I.e. have one code path > >>> that picks async versus sync at runtime, with the option to compile > >>> out async support with header file ifdefs only. > >> And how does any of that get us any closer to a fix right now > >> for this problem that doesn't require an ifdef? > >> > >> Someone please work on this. > > I guess that'd end up being me.... > > Not necessarily, you did snap me back into reality with that comment. > > > How about something like this? > > Looks good. Ok, I'll add this to net-2.6 then, thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 3e0f64c..3e68469 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -282,6 +282,18 @@ static inline void dmaengine_put(void) } #endif +#ifdef CONFIG_NET_DMA +#define net_dmaengine_get() dmaengine_get() +#define net_dmaengine_put() dmaengine_put() +#else +static inline void net_dmaengine_get(void) +{ +} +static inline void net_dmaengine_put(void) +{ +} +#endif + dma_cookie_t dma_async_memcpy_buf_to_buf(struct dma_chan *chan, void *dest, void *src, size_t len); dma_cookie_t dma_async_memcpy_buf_to_pg(struct dma_chan *chan, diff --git a/net/core/dev.c b/net/core/dev.c index 5379b0c..a17e006 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -1090,7 +1090,7 @@ int dev_open(struct net_device *dev) /* * Enable NET_DMA */ - dmaengine_get(); + net_dmaengine_get(); /* * Initialize multicasting status @@ -1172,7 +1172,7 @@ int dev_close(struct net_device *dev) /* * Shutdown NET_DMA */ - dmaengine_put(); + net_dmaengine_put(); return 0; }