diff options
| author | Ralf Baechle <ralf@linux-mips.org> | 2007-02-26 13:10:15 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-03-09 22:52:23 -0500 |
| commit | 14360ab76ae81012ef09cce37a587e95ab2e1d86 (patch) | |
| tree | 4833167ac81d828a8b67945b27d3932c6119b79f | |
| parent | 0d8c7aeade59e0f54d93122ebd902caea500c0bd (diff) | |
USB: goku_udc: Remove crude cache coherency code
This is deep architecture specific magic and does should not to exist
in a driver.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| -rw-r--r-- | drivers/usb/gadget/goku_udc.c | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/drivers/usb/gadget/goku_udc.c b/drivers/usb/gadget/goku_udc.c index 7b3a326b57ab..65c91d3735de 100644 --- a/drivers/usb/gadget/goku_udc.c +++ b/drivers/usb/gadget/goku_udc.c | |||
| @@ -297,27 +297,6 @@ goku_free_request(struct usb_ep *_ep, struct usb_request *_req) | |||
| 297 | 297 | ||
| 298 | /*-------------------------------------------------------------------------*/ | 298 | /*-------------------------------------------------------------------------*/ |
| 299 | 299 | ||
| 300 | #undef USE_KMALLOC | ||
| 301 | |||
| 302 | /* many common platforms have dma-coherent caches, which means that it's | ||
| 303 | * safe to use kmalloc() memory for all i/o buffers without using any | ||
| 304 | * cache flushing calls. (unless you're trying to share cache lines | ||
| 305 | * between dma and non-dma activities, which is a slow idea in any case.) | ||
| 306 | * | ||
| 307 | * other platforms need more care, with 2.6 having a moderately general | ||
| 308 | * solution except for the common "buffer is smaller than a page" case. | ||
| 309 | */ | ||
| 310 | #if defined(CONFIG_X86) | ||
| 311 | #define USE_KMALLOC | ||
| 312 | |||
| 313 | #elif defined(CONFIG_MIPS) && !defined(CONFIG_DMA_NONCOHERENT) | ||
| 314 | #define USE_KMALLOC | ||
| 315 | |||
| 316 | #elif defined(CONFIG_PPC) && !defined(CONFIG_NOT_COHERENT_CACHE) | ||
| 317 | #define USE_KMALLOC | ||
| 318 | |||
| 319 | #endif | ||
| 320 | |||
| 321 | /* allocating buffers this way eliminates dma mapping overhead, which | 300 | /* allocating buffers this way eliminates dma mapping overhead, which |
| 322 | * on some platforms will mean eliminating a per-io buffer copy. with | 301 | * on some platforms will mean eliminating a per-io buffer copy. with |
| 323 | * some kinds of system caches, further tweaks may still be needed. | 302 | * some kinds of system caches, further tweaks may still be needed. |
| @@ -334,11 +313,6 @@ goku_alloc_buffer(struct usb_ep *_ep, unsigned bytes, | |||
| 334 | return NULL; | 313 | return NULL; |
| 335 | *dma = DMA_ADDR_INVALID; | 314 | *dma = DMA_ADDR_INVALID; |
| 336 | 315 | ||
| 337 | #if defined(USE_KMALLOC) | ||
| 338 | retval = kmalloc(bytes, gfp_flags); | ||
| 339 | if (retval) | ||
| 340 | *dma = virt_to_phys(retval); | ||
| 341 | #else | ||
| 342 | if (ep->dma) { | 316 | if (ep->dma) { |
| 343 | /* the main problem with this call is that it wastes memory | 317 | /* the main problem with this call is that it wastes memory |
| 344 | * on typical 1/N page allocations: it allocates 1-N pages. | 318 | * on typical 1/N page allocations: it allocates 1-N pages. |
| @@ -348,7 +322,6 @@ goku_alloc_buffer(struct usb_ep *_ep, unsigned bytes, | |||
| 348 | bytes, dma, gfp_flags); | 322 | bytes, dma, gfp_flags); |
| 349 | } else | 323 | } else |
| 350 | retval = kmalloc(bytes, gfp_flags); | 324 | retval = kmalloc(bytes, gfp_flags); |
| 351 | #endif | ||
| 352 | return retval; | 325 | return retval; |
| 353 | } | 326 | } |
| 354 | 327 | ||
| @@ -356,7 +329,6 @@ static void | |||
| 356 | goku_free_buffer(struct usb_ep *_ep, void *buf, dma_addr_t dma, unsigned bytes) | 329 | goku_free_buffer(struct usb_ep *_ep, void *buf, dma_addr_t dma, unsigned bytes) |
| 357 | { | 330 | { |
| 358 | /* free memory into the right allocator */ | 331 | /* free memory into the right allocator */ |
| 359 | #ifndef USE_KMALLOC | ||
| 360 | if (dma != DMA_ADDR_INVALID) { | 332 | if (dma != DMA_ADDR_INVALID) { |
| 361 | struct goku_ep *ep; | 333 | struct goku_ep *ep; |
| 362 | 334 | ||
| @@ -365,7 +337,6 @@ goku_free_buffer(struct usb_ep *_ep, void *buf, dma_addr_t dma, unsigned bytes) | |||
| 365 | return; | 337 | return; |
| 366 | dma_free_coherent(&ep->dev->pdev->dev, bytes, buf, dma); | 338 | dma_free_coherent(&ep->dev->pdev->dev, bytes, buf, dma); |
| 367 | } else | 339 | } else |
| 368 | #endif | ||
| 369 | kfree (buf); | 340 | kfree (buf); |
| 370 | } | 341 | } |
| 371 | 342 | ||
