summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--0003-dmaengine-add-dma_get_slave_sg_limits.patch25
-rw-r--r--arm-highbank-for-3.12.patch200
-rw-r--r--config-armv7-lpae1
-rw-r--r--kernel.spec9
-rw-r--r--sources2
5 files changed, 20 insertions, 217 deletions
diff --git a/0003-dmaengine-add-dma_get_slave_sg_limits.patch b/0003-dmaengine-add-dma_get_slave_sg_limits.patch
index 61bcdb36e..080a170e1 100644
--- a/0003-dmaengine-add-dma_get_slave_sg_limits.patch
+++ b/0003-dmaengine-add-dma_get_slave_sg_limits.patch
@@ -1,7 +1,7 @@
-From c8ff7a795bf883c61b7d7f506b0bb7796db6cb01 Mon Sep 17 00:00:00 2001
+From e780535fb34402b6a99fe753f2aaaa531dd40e21 Mon Sep 17 00:00:00 2001
From: Matt Porter <mporter@ti.com>
Date: Wed, 6 Mar 2013 19:56:05 +0000
-Subject: [PATCH 03/13] dmaengine: add dma_get_slave_sg_limits()
+Subject: [PATCH] dmaengine: add dma_get_slave_sg_limits()
Add a dmaengine API to retrieve slave SG transfer limits.
@@ -15,14 +15,14 @@ that the given channel can handle.
Signed-off-by: Matt Porter <mporter@ti.com>
Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
---
- include/linux/dmaengine.h | 39 +++++++++++++++++++++++++++++++++++++++
- 1 file changed, 39 insertions(+)
+ include/linux/dmaengine.h | 40 ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
-index cb286b1..d71fe5d 100644
+index 0c72b89..4132aa2 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
-@@ -370,6 +370,18 @@ struct dma_slave_config {
+@@ -373,6 +373,18 @@ struct dma_slave_config {
unsigned int slave_id;
};
@@ -41,7 +41,7 @@ index cb286b1..d71fe5d 100644
static inline const char *dma_chan_name(struct dma_chan *chan)
{
return dev_name(&chan->dev->device);
-@@ -532,6 +544,7 @@ struct dma_tx_state {
+@@ -535,6 +547,7 @@ struct dma_tx_state {
* struct with auxiliary transfer status information, otherwise the call
* will just return a simple status code
* @device_issue_pending: push pending transactions to hardware
@@ -49,7 +49,7 @@ index cb286b1..d71fe5d 100644
*/
struct dma_device {
-@@ -597,6 +610,9 @@ struct dma_device {
+@@ -600,6 +613,9 @@ struct dma_device {
dma_cookie_t cookie,
struct dma_tx_state *txstate);
void (*device_issue_pending)(struct dma_chan *chan);
@@ -59,7 +59,7 @@ index cb286b1..d71fe5d 100644
};
static inline int dmaengine_device_control(struct dma_chan *chan,
-@@ -958,6 +974,29 @@ dma_set_tx_state(struct dma_tx_state *st, dma_cookie_t last, dma_cookie_t used,
+@@ -961,6 +977,30 @@ dma_set_tx_state(struct dma_tx_state *st, dma_cookie_t last, dma_cookie_t used,
}
}
@@ -86,9 +86,10 @@ index cb286b1..d71fe5d 100644
+ return NULL;
+}
+
- enum dma_status dma_sync_wait(struct dma_chan *chan, dma_cookie_t cookie);
++
#ifdef CONFIG_DMA_ENGINE
- enum dma_status dma_wait_for_async_tx(struct dma_async_tx_descriptor *tx);
+ struct dma_chan *dma_find_channel(enum dma_transaction_type tx_type);
+ enum dma_status dma_sync_wait(struct dma_chan *chan, dma_cookie_t cookie);
--
-1.8.2.1
+1.8.3.1
diff --git a/arm-highbank-for-3.12.patch b/arm-highbank-for-3.12.patch
deleted file mode 100644
index 8c1fb41c6..000000000
--- a/arm-highbank-for-3.12.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-diff --git a/arch/arm/include/asm/mach/arch.h b/arch/arm/include/asm/mach/arch.h
-index 441efc4..d91b168 100644
---- a/arch/arm/include/asm/mach/arch.h
-+++ b/arch/arm/include/asm/mach/arch.h
-@@ -35,7 +35,7 @@ struct machine_desc {
- unsigned int nr_irqs; /* number of IRQs */
-
- #ifdef CONFIG_ZONE_DMA
-- unsigned long dma_zone_size; /* size of DMA-able area */
-+ phys_addr_t dma_zone_size; /* size of DMA-able area */
- #endif
-
- unsigned int video_start; /* start of video RAM */
-diff --git a/arch/arm/include/asm/outercache.h b/arch/arm/include/asm/outercache.h
-index 12f71a1..f94784f 100644
---- a/arch/arm/include/asm/outercache.h
-+++ b/arch/arm/include/asm/outercache.h
-@@ -37,10 +37,10 @@ struct outer_cache_fns {
- void (*resume)(void);
- };
-
--#ifdef CONFIG_OUTER_CACHE
--
- extern struct outer_cache_fns outer_cache;
-
-+#ifdef CONFIG_OUTER_CACHE
-+
- static inline void outer_inv_range(phys_addr_t start, phys_addr_t end)
- {
- if (outer_cache.inv_range)
-diff --git a/arch/arm/mach-highbank/Kconfig b/arch/arm/mach-highbank/Kconfig
-index cd9fcb1..b9dd13a 100644
---- a/arch/arm/mach-highbank/Kconfig
-+++ b/arch/arm/mach-highbank/Kconfig
-@@ -1,9 +1,14 @@
- config ARCH_HIGHBANK
- bool "Calxeda ECX-1000/2000 (Highbank/Midway)" if ARCH_MULTI_V7
-+ select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
- select ARCH_HAS_CPUFREQ
-+ select ARCH_HAS_HOLES_MEMORYMODEL
- select ARCH_HAS_OPP
- select ARCH_WANT_OPTIONAL_GPIOLIB
- select ARM_AMBA
-+ select ARM_ERRATA_764369
-+ select ARM_ERRATA_775420
-+ select ARM_ERRATA_798181
- select ARM_GIC
- select ARM_TIMER_SP804
- select CACHE_L2X0
-@@ -18,3 +23,4 @@ config ARCH_HIGHBANK
- select PL320_MBOX
- select SPARSE_IRQ
- select USE_OF
-+ select ZONE_DMA if ARM_LPAE
-diff --git a/arch/arm/mach-highbank/highbank.c b/arch/arm/mach-highbank/highbank.c
-index 8881579..8e63ccd 100644
---- a/arch/arm/mach-highbank/highbank.c
-+++ b/arch/arm/mach-highbank/highbank.c
-@@ -18,14 +18,11 @@
- #include <linux/clocksource.h>
- #include <linux/dma-mapping.h>
- #include <linux/io.h>
--#include <linux/irq.h>
- #include <linux/irqchip.h>
--#include <linux/irqdomain.h>
- #include <linux/of.h>
- #include <linux/of_irq.h>
- #include <linux/of_platform.h>
- #include <linux/of_address.h>
--#include <linux/smp.h>
- #include <linux/amba/bus.h>
- #include <linux/clk-provider.h>
-
-@@ -35,7 +32,6 @@
- #include <asm/hardware/cache-l2x0.h>
- #include <asm/mach/arch.h>
- #include <asm/mach/map.h>
--#include <asm/mach/time.h>
-
- #include "core.h"
- #include "sysregs.h"
-@@ -65,13 +61,11 @@ void highbank_set_cpu_jump(int cpu, void *jump_addr)
- HB_JUMP_TABLE_PHYS(cpu) + 15);
- }
-
--#ifdef CONFIG_CACHE_L2X0
- static void highbank_l2x0_disable(void)
- {
- /* Disable PL310 L2 Cache controller */
- highbank_smc1(0x102, 0x0);
- }
--#endif
-
- static void __init highbank_init_irq(void)
- {
-@@ -80,12 +74,13 @@ static void __init highbank_init_irq(void)
- if (of_find_compatible_node(NULL, NULL, "arm,cortex-a9"))
- highbank_scu_map_io();
-
--#ifdef CONFIG_CACHE_L2X0
- /* Enable PL310 L2 Cache controller */
-- highbank_smc1(0x102, 0x1);
-- l2x0_of_init(0, ~0UL);
-- outer_cache.disable = highbank_l2x0_disable;
--#endif
-+ if (IS_ENABLED(CONFIG_CACHE_L2X0) &&
-+ of_find_compatible_node(NULL, NULL, "arm,pl310-cache")) {
-+ highbank_smc1(0x102, 0x1);
-+ l2x0_of_init(0, ~0UL);
-+ outer_cache.disable = highbank_l2x0_disable;
-+ }
- }
-
- static void __init highbank_timer_init(void)
-@@ -176,6 +171,9 @@ static const char *highbank_match[] __initconst = {
- };
-
- DT_MACHINE_START(HIGHBANK, "Highbank")
-+#if defined(CONFIG_ZONE_DMA) && defined(CONFIG_ARM_LPAE)
-+ .dma_zone_size = (4ULL * SZ_1G),
-+#endif
- .smp = smp_ops(highbank_smp_ops),
- .init_irq = highbank_init_irq,
- .init_time = highbank_timer_init,
-diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
-index 15225d8..c0bb66e 100644
---- a/arch/arm/mm/init.c
-+++ b/arch/arm/mm/init.c
-@@ -207,7 +207,7 @@ static void __init arm_bootmem_init(unsigned long start_pfn,
-
- #ifdef CONFIG_ZONE_DMA
-
--unsigned long arm_dma_zone_size __read_mostly;
-+phys_addr_t arm_dma_zone_size __read_mostly;
- EXPORT_SYMBOL(arm_dma_zone_size);
-
- /*
-diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c
-index 06fe45c..bff41d4 100644
---- a/drivers/dma/amba-pl08x.c
-+++ b/drivers/dma/amba-pl08x.c
-@@ -133,6 +133,8 @@ struct pl08x_bus_data {
- u8 buswidth;
- };
-
-+#define IS_BUS_ALIGNED(bus) IS_ALIGNED((bus)->addr, (bus)->buswidth)
-+
- /**
- * struct pl08x_phy_chan - holder for the physical channels
- * @id: physical index to this channel
-@@ -845,10 +847,13 @@ static int pl08x_fill_llis_for_desc(struct pl08x_driver_data *pl08x,
-
- pl08x_choose_master_bus(&bd, &mbus, &sbus, cctl);
-
-- dev_vdbg(&pl08x->adev->dev, "src=0x%08x%s/%u dst=0x%08x%s/%u len=%zu\n",
-- bd.srcbus.addr, cctl & PL080_CONTROL_SRC_INCR ? "+" : "",
-+ dev_vdbg(&pl08x->adev->dev,
-+ "src=0x%08llx%s/%u dst=0x%08llx%s/%u len=%zu\n",
-+ (u64)bd.srcbus.addr,
-+ cctl & PL080_CONTROL_SRC_INCR ? "+" : "",
- bd.srcbus.buswidth,
-- bd.dstbus.addr, cctl & PL080_CONTROL_DST_INCR ? "+" : "",
-+ (u64)bd.dstbus.addr,
-+ cctl & PL080_CONTROL_DST_INCR ? "+" : "",
- bd.dstbus.buswidth,
- bd.remainder);
- dev_vdbg(&pl08x->adev->dev, "mbus=%s sbus=%s\n",
-@@ -886,8 +891,8 @@ static int pl08x_fill_llis_for_desc(struct pl08x_driver_data *pl08x,
- return 0;
- }
-
-- if ((bd.srcbus.addr % bd.srcbus.buswidth) ||
-- (bd.dstbus.addr % bd.dstbus.buswidth)) {
-+ if (!IS_BUS_ALIGNED(&bd.srcbus) ||
-+ !IS_BUS_ALIGNED(&bd.dstbus)) {
- dev_err(&pl08x->adev->dev,
- "%s src & dst address must be aligned to src"
- " & dst width if peripheral is flow controller",
-@@ -908,9 +913,9 @@ static int pl08x_fill_llis_for_desc(struct pl08x_driver_data *pl08x,
- */
- if (bd.remainder < mbus->buswidth)
- early_bytes = bd.remainder;
-- else if ((mbus->addr) % (mbus->buswidth)) {
-- early_bytes = mbus->buswidth - (mbus->addr) %
-- (mbus->buswidth);
-+ else if (!IS_BUS_ALIGNED(mbus)) {
-+ early_bytes = mbus->buswidth -
-+ (mbus->addr & (mbus->buswidth - 1));
- if ((bd.remainder - early_bytes) < mbus->buswidth)
- early_bytes = bd.remainder;
- }
-@@ -928,7 +933,7 @@ static int pl08x_fill_llis_for_desc(struct pl08x_driver_data *pl08x,
- * Master now aligned
- * - if slave is not then we must set its width down
- */
-- if (sbus->addr % sbus->buswidth) {
-+ if (!IS_BUS_ALIGNED(sbus)) {
- dev_dbg(&pl08x->adev->dev,
- "%s set down bus width to one byte\n",
- __func__);
diff --git a/config-armv7-lpae b/config-armv7-lpae
index 7110c3f7c..f3f060de3 100644
--- a/config-armv7-lpae
+++ b/config-armv7-lpae
@@ -140,3 +140,4 @@ CONFIG_S3C_LOWLEVEL_UART_PORT=1
# CONFIG_TEGRA_HOST1X is not set
# CONFIG_SPI_DAVINCI is not set
# CONFIG_I2C_DAVINCI is not set
+# CONFIG_TI_SOC_THERMAL is not set
diff --git a/kernel.spec b/kernel.spec
index 350085568..5842ecefd 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -95,7 +95,7 @@ Summary: The Linux kernel
# The rc snapshot level
%define rcrev 0
# The git snapshot level
-%define gitrev 17
+%define gitrev 18
# Set rpm version accordingly
%define rpmversion 3.%{upstream_sublevel}.0
%endif
@@ -705,7 +705,6 @@ Patch21001: arm-lpae-ax88796.patch
Patch21003: arm-dma-amba_pl08x-avoid-64bit-division.patch
Patch21004: arm-sound-soc-samsung-dma-avoid-another-64bit-division.patch
Patch21005: arm-exynos-mp.patch
-Patch21006: arm-highbank-for-3.12.patch
# ARM omap
Patch21010: arm-omap-load-tfp410.patch
@@ -1326,8 +1325,7 @@ ApplyPatch debug-bad-pte-modules.patch
ApplyPatch arm-lpae-ax88796.patch
#ApplyPatch arm-dma-amba_pl08x-avoid-64bit-division.patch
ApplyPatch arm-sound-soc-samsung-dma-avoid-another-64bit-division.patch
-ApplyPatch arm-exynos-mp.patch
-ApplyPatch arm-highbank-for-3.12.patch
+#pplyPatch arm-exynos-mp.patch
#pplyPatch arm-omap-load-tfp410.patch
ApplyPatch arm-tegra-usb-no-reset-linux33.patch
@@ -2297,6 +2295,9 @@ fi
# ||----w |
# || ||
%changelog
+* Tue Sep 10 2013 Josh Boyer <jwboyer@fedoraproject.org> - 3.12.0-0.rc0.git18.1
+- Linux v3.11-8716-g26b0332
+
* Mon Sep 9 2013 Peter Robinson <pbrobinson@fedoraproject.org>
- Enable OF option to allocate CMA memory using device tree on ARM
diff --git a/sources b/sources
index c3f07f02b..4617c6828 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
fea363551ff45fbe4cb88497b863b261 linux-3.11.tar.xz
-4bc90554111344275ed0e640f9ac47fc patch-3.11-git17.xz
+9b787f7ae90023e7db07e7395484b931 patch-3.11-git18.xz