mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
core/linux-raspberrypi to 3.10.25
This commit is contained in:
parent
0b2b1ad233
commit
d61b9037e0
2 changed files with 3 additions and 125 deletions
|
@ -4,11 +4,11 @@
|
||||||
buildarch=18
|
buildarch=18
|
||||||
|
|
||||||
pkgbase=linux-raspberrypi
|
pkgbase=linux-raspberrypi
|
||||||
_commit=ff9f6d87957877265086ab8368bdabf27d35f491
|
_commit=75d03120bc36b1cc3166973b8edc11f033ab7c0d
|
||||||
_srcname=linux-${_commit}
|
_srcname=linux-${_commit}
|
||||||
_kernelname=${pkgbase#linux}
|
_kernelname=${pkgbase#linux}
|
||||||
_desc="Raspberry Pi"
|
_desc="Raspberry Pi"
|
||||||
pkgver=3.10.24
|
pkgver=3.10.25
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
arch=('arm armv6h')
|
arch=('arm armv6h')
|
||||||
url="http://www.kernel.org/"
|
url="http://www.kernel.org/"
|
||||||
|
@ -24,7 +24,7 @@ source=("https://github.com/raspberrypi/linux/archive/${_commit}.tar.gz"
|
||||||
"git://git.code.sf.net/p/aufs/aufs3-standalone#branch=aufs${pkgver%.*}"
|
"git://git.code.sf.net/p/aufs/aufs3-standalone#branch=aufs${pkgver%.*}"
|
||||||
'rasclockPCF2127.patch::http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/patch/?id=18cb6368f0b0fc6a28bd49ee547b4f655db97fc3')
|
'rasclockPCF2127.patch::http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/patch/?id=18cb6368f0b0fc6a28bd49ee547b4f655db97fc3')
|
||||||
|
|
||||||
md5sums=('fbd323c3be0f399f4eac7ef48fe96d99'
|
md5sums=('6bd627da809c3a6f080a9d578fd471d7'
|
||||||
'32fd2a88136c75e11ef0d593acd8aeaa'
|
'32fd2a88136c75e11ef0d593acd8aeaa'
|
||||||
'9d3c56a4b999c8bfbd4018089a62f662'
|
'9d3c56a4b999c8bfbd4018089a62f662'
|
||||||
'9335d1263fd426215db69841a380ea26'
|
'9335d1263fd426215db69841a380ea26'
|
||||||
|
|
|
@ -1,122 +0,0 @@
|
||||||
diff -urN linux-3.1-rc4-a/arch/arm/include/asm/dma-mapping.h linux-3.1-rc4-b/arch/arm/include/asm/dma-mapping.h
|
|
||||||
--- linux-3.1-rc4-a/arch/arm/include/asm/dma-mapping.h 2011-08-29 05:16:01.000000000 +0100
|
|
||||||
+++ linux-3.1-rc4-b/arch/arm/include/asm/dma-mapping.h 2011-09-02 12:09:00.000000000 +0100
|
|
||||||
@@ -205,6 +205,15 @@
|
|
||||||
int dma_mmap_writecombine(struct device *, struct vm_area_struct *,
|
|
||||||
void *, dma_addr_t, size_t);
|
|
||||||
|
|
||||||
+#ifdef CONFIG_ARM_DMA_MEM_BUFFERABLE
|
|
||||||
+#define ARCH_HAS_DMA_COHERENT_WRITE_SYNC
|
|
||||||
+
|
|
||||||
+static inline void dma_coherent_write_sync(void)
|
|
||||||
+{
|
|
||||||
+ dsb();
|
|
||||||
+ outer_sync();
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DMABOUNCE
|
|
||||||
/*
|
|
||||||
diff -urN linux-3.1-rc4-a/Documentation/DMA-API-HOWTO.txt linux-3.1-rc4-b/Documentation/DMA-API-HOWTO.txt
|
|
||||||
--- linux-3.1-rc4-a/Documentation/DMA-API-HOWTO.txt 2011-08-29 05:16:01.000000000 +0100
|
|
||||||
+++ linux-3.1-rc4-b/Documentation/DMA-API-HOWTO.txt 2011-09-02 12:01:09.000000000 +0100
|
|
||||||
@@ -400,6 +400,22 @@
|
|
||||||
from a pool before you destroy the pool. This function may not
|
|
||||||
be called in interrupt context.
|
|
||||||
|
|
||||||
+Some architectures which supporting DMA coherent memory may still have write
|
|
||||||
+buffering between the CPU and DMA memory. This buffering may delay CPU writes
|
|
||||||
+from reaching coherent memory in a timely manner. These delays in turn can
|
|
||||||
+lead lead to dramatic performance issues in certain cases. An architecture
|
|
||||||
+may mitigate this problem to a large degree by having a write buffer flush
|
|
||||||
+implicit in the MMIO functions used to write to device registers. This works
|
|
||||||
+for the most common cases where a driver needs to write to a register to tell
|
|
||||||
+a device that something was written to the shared coherent memory. There are
|
|
||||||
+other cases where the device polls the dma-coherent memory for data written
|
|
||||||
+by the driver. In such cases, the driver needs to explicity force write buffer
|
|
||||||
+data to memory by calling:
|
|
||||||
+
|
|
||||||
+ dma_coherent_write_sync();
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+
|
|
||||||
DMA Direction
|
|
||||||
|
|
||||||
The interfaces described in subsequent portions of this document
|
|
||||||
diff -urN linux-3.1-rc4-a/Documentation/DMA-API.txt linux-3.1-rc4-b/Documentation/DMA-API.txt
|
|
||||||
--- linux-3.1-rc4-a/Documentation/DMA-API.txt 2011-08-29 05:16:01.000000000 +0100
|
|
||||||
+++ linux-3.1-rc4-b/Documentation/DMA-API.txt 2011-09-02 12:03:06.000000000 +0100
|
|
||||||
@@ -418,6 +418,18 @@
|
|
||||||
....
|
|
||||||
|
|
||||||
|
|
||||||
+Part Ie - Write buffering to dma-coherent memory
|
|
||||||
+------------------------------------------------
|
|
||||||
+
|
|
||||||
+Some architectures supporting DMA coherent memory may have write
|
|
||||||
+buffering between the CPU and DMA memory. This buffering may delay
|
|
||||||
+CPU writes from reaching coherent memory in a timely manner.
|
|
||||||
+
|
|
||||||
+ void
|
|
||||||
+ dma_coherent_write_sync()
|
|
||||||
+
|
|
||||||
+Force any outstanding coherent writes to memory.
|
|
||||||
+
|
|
||||||
Part II - Advanced dma_ usage
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
diff -urN linux-3.1-rc4-a/drivers/usb/host/ehci-q.c linux-3.1-rc4-b/drivers/usb/host/ehci-q.c
|
|
||||||
--- linux-3.1-rc4-a/drivers/usb/host/ehci-q.c 2011-08-29 05:16:01.000000000 +0100
|
|
||||||
+++ linux-3.1-rc4-b/drivers/usb/host/ehci-q.c 2011-09-02 12:17:20.000000000 +0100
|
|
||||||
@@ -114,6 +114,7 @@
|
|
||||||
/* HC must see latest qtd and qh data before we clear ACTIVE+HALT */
|
|
||||||
wmb ();
|
|
||||||
hw->hw_token &= cpu_to_hc32(ehci, QTD_TOGGLE | QTD_STS_PING);
|
|
||||||
+ dma_coherent_write_sync();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* if it weren't for a common silicon quirk (writing the dummy into the qh
|
|
||||||
@@ -404,6 +405,7 @@
|
|
||||||
wmb();
|
|
||||||
hw->hw_token = cpu_to_hc32(ehci,
|
|
||||||
token);
|
|
||||||
+ dma_coherent_write_sync();
|
|
||||||
goto retry_xacterr;
|
|
||||||
}
|
|
||||||
stopped = 1;
|
|
||||||
@@ -753,8 +755,10 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
/* by default, enable interrupt on urb completion */
|
|
||||||
- if (likely (!(urb->transfer_flags & URB_NO_INTERRUPT)))
|
|
||||||
+ if (likely(!(urb->transfer_flags & URB_NO_INTERRUPT))) {
|
|
||||||
qtd->hw_token |= cpu_to_hc32(ehci, QTD_IOC);
|
|
||||||
+ dma_coherent_write_sync();
|
|
||||||
+ }
|
|
||||||
return head;
|
|
||||||
|
|
||||||
cleanup:
|
|
||||||
@@ -1081,6 +1085,7 @@
|
|
||||||
/* let the hc process these next qtds */
|
|
||||||
wmb ();
|
|
||||||
dummy->hw_token = token;
|
|
||||||
+ dma_coherent_write_sync();
|
|
||||||
|
|
||||||
urb->hcpriv = qh_get (qh);
|
|
||||||
}
|
|
||||||
diff -urN linux-3.1-rc4-a/include/linux/dma-mapping.h linux-3.1-rc4-b/include/linux/dma-mapping.h
|
|
||||||
--- linux-3.1-rc4-a/include/linux/dma-mapping.h 2011-08-29 05:16:01.000000000 +0100
|
|
||||||
+++ linux-3.1-rc4-b/include/linux/dma-mapping.h 2011-09-02 12:06:06.000000000 +0100
|
|
||||||
@@ -154,6 +154,12 @@
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#ifndef ARCH_HAS_DMA_COHERENT_WRITE_SYNC
|
|
||||||
+static inline void dma_coherent_write_sync(void)
|
|
||||||
+{
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* Managed DMA API
|
|
||||||
*/
|
|
Loading…
Reference in a new issue