diff for duplicates of <4F3A2025.9000609@ti.com> diff --git a/a/1.txt b/N1/1.txt index 7e6e341..0065ee7 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -176,3 +176,11 @@ index 64f9d1c..0f14fb7 100644 #endif /* __OMAP_SECURE_H__ */ -- 1.7.4.1 + +-------------- next part -------------- +A non-text attachment was scrubbed... +Name: 0001-ARM-OMAP4-Move-the-barrier-memboclk_steal-as-part-of.patch +Type: text/x-patch +Size: 4978 bytes +Desc: not available +URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120214/3be0f2a6/attachment.bin> diff --git a/a/2.hdr b/a/2.hdr deleted file mode 100644 index 1a251e2..0000000 --- a/a/2.hdr +++ /dev/null @@ -1,6 +0,0 @@ -Content-Type: text/x-patch; - name="0001-ARM-OMAP4-Move-the-barrier-memboclk_steal-as-part-of.patch" -Content-Transfer-Encoding: 7bit -Content-Disposition: attachment; - filename*0="0001-ARM-OMAP4-Move-the-barrier-memboclk_steal-as-part-of.pa"; - filename*1="tch" diff --git a/a/2.txt b/a/2.txt deleted file mode 100644 index 6bba1eb..0000000 --- a/a/2.txt +++ /dev/null @@ -1,157 +0,0 @@ ->From 3d1ea22985adfe458275b9ae3e00edc6e41a267f Mon Sep 17 00:00:00 2001 -From: Santosh Shilimkar <santosh.shilimkar@ti.com> -Date: Thu, 2 Feb 2012 15:59:51 +0530 -Subject: [PATCH 1/2] ARM: OMAP4: Move the barrier memboclk_steal() as part of reserve callback - -Commit 716a3dc{ARM: Add arm_memblock_steal() to allocate memory away -from the kernel} introduced arm_memblock_steal() which lead to -OMAP4_ERRATA_I688 to be broken and needed to be fixed. - -arm_memblock_steal() is not suppose to be used outside ->reserve callback. -OMAP barrier errata code was using it outside reserve callback and hence -it was broken. - -Move the allocation as part of ->reserve callback to fix the it. - -Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> -Cc: Tony Lindgren <tony@atomide.com> ---- - arch/arm/mach-omap2/Kconfig | 4 ++-- - arch/arm/mach-omap2/common.h | 1 + - arch/arm/mach-omap2/io.c | 1 + - arch/arm/mach-omap2/omap4-common.c | 25 ++++++++++++++++--------- - arch/arm/plat-omap/common.c | 1 + - arch/arm/plat-omap/include/plat/omap-secure.h | 6 ++++++ - 6 files changed, 27 insertions(+), 11 deletions(-) - -diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig -index d965da4..e20c8ab 100644 ---- a/arch/arm/mach-omap2/Kconfig -+++ b/arch/arm/mach-omap2/Kconfig -@@ -364,8 +364,8 @@ config OMAP3_SDRC_AC_TIMING - going on could result in system crashes; - - config OMAP4_ERRATA_I688 -- bool "OMAP4 errata: Async Bridge Corruption (BROKEN)" -- depends on ARCH_OMAP4 && BROKEN -+ bool "OMAP4 errata: Async Bridge Corruption" -+ depends on ARCH_OMAP4 - select ARCH_HAS_BARRIERS - help - If a data is stalled inside asynchronous bridge because of back -diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h -index febffde..7e9338e 100644 ---- a/arch/arm/mach-omap2/common.h -+++ b/arch/arm/mach-omap2/common.h -@@ -132,6 +132,7 @@ void omap3_map_io(void); - void am33xx_map_io(void); - void omap4_map_io(void); - void ti81xx_map_io(void); -+void omap_barriers_init(void); - - /** - * omap_test_timeout - busy-loop, testing a condition -diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c -index eb50c29..fb11b44 100644 ---- a/arch/arm/mach-omap2/io.c -+++ b/arch/arm/mach-omap2/io.c -@@ -307,6 +307,7 @@ void __init omapam33xx_map_common_io(void) - void __init omap44xx_map_common_io(void) - { - iotable_init(omap44xx_io_desc, ARRAY_SIZE(omap44xx_io_desc)); -+ omap_barriers_init(); - } - #endif - -diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c -index 40a8fbc..ebc5950 100644 ---- a/arch/arm/mach-omap2/omap4-common.c -+++ b/arch/arm/mach-omap2/omap4-common.c -@@ -24,6 +24,7 @@ - - #include <plat/irqs.h> - #include <plat/sram.h> -+#include <plat/omap-secure.h> - - #include <mach/hardware.h> - #include <mach/omap-wakeupgen.h> -@@ -43,6 +44,9 @@ static void __iomem *sar_ram_base; - - void __iomem *dram_sync, *sram_sync; - -+static phys_addr_t paddr; -+static u32 size; -+ - void omap_bus_sync(void) - { - if (dram_sync && sram_sync) { -@@ -52,18 +56,20 @@ void omap_bus_sync(void) - } - } - --static int __init omap_barriers_init(void) -+/* Steal one page physical memory for barrier implementation */ -+int __init omap_barrier_reserve_memblock(void) - { -- struct map_desc dram_io_desc[1]; -- phys_addr_t paddr; -- u32 size; -- -- if (!cpu_is_omap44xx()) -- return -ENODEV; - - size = ALIGN(PAGE_SIZE, SZ_1M); - paddr = arm_memblock_steal(size, SZ_1M); - -+ return 0; -+} -+ -+void __init omap_barriers_init(void) -+{ -+ struct map_desc dram_io_desc[1]; -+ - dram_io_desc[0].virtual = OMAP4_DRAM_BARRIER_VA; - dram_io_desc[0].pfn = __phys_to_pfn(paddr); - dram_io_desc[0].length = size; -@@ -75,9 +81,10 @@ static int __init omap_barriers_init(void) - pr_info("OMAP4: Map 0x%08llx to 0x%08lx for dram barrier\n", - (long long) paddr, dram_io_desc[0].virtual); - -- return 0; - } --core_initcall(omap_barriers_init); -+#else -+void __init omap_barriers_init(void) -+{} - #endif - - void __init gic_init_irq(void) -diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c -index 06383b5..4de7d1e 100644 ---- a/arch/arm/plat-omap/common.c -+++ b/arch/arm/plat-omap/common.c -@@ -69,6 +69,7 @@ void __init omap_reserve(void) - omap_vram_reserve_sdram_memblock(); - omap_dsp_reserve_sdram_memblock(); - omap_secure_ram_reserve_memblock(); -+ omap_barrier_reserve_memblock(); - } - - void __init omap_init_consistent_dma_size(void) -diff --git a/arch/arm/plat-omap/include/plat/omap-secure.h b/arch/arm/plat-omap/include/plat/omap-secure.h -index 64f9d1c..0f14fb7 100644 ---- a/arch/arm/plat-omap/include/plat/omap-secure.h -+++ b/arch/arm/plat-omap/include/plat/omap-secure.h -@@ -10,4 +10,10 @@ static inline void omap_secure_ram_reserve_memblock(void) - { } - #endif - -+#ifdef CONFIG_OMAP4_ERRATA_I688 -+extern int omap_barrier_reserve_memblock(void); -+#else -+static inline void omap_barrier_reserve_memblock(void) -+{ } -+#endif - #endif /* __OMAP_SECURE_H__ */ --- -1.7.4.1 diff --git a/a/content_digest b/N1/content_digest index 8e5acd8..10e6487 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,13 +1,11 @@ "ref\01328191435-18652-1-git-send-email-santosh.shilimkar@ti.com\0" "ref\01328191435-18652-3-git-send-email-santosh.shilimkar@ti.com\0" "ref\020120210191926.GV1426@atomide.com\0" - "From\0Santosh Shilimkar <santosh.shilimkar@ti.com>\0" - "Subject\0Re: [PATCH 2/2] ARM: OMAP4: Move the barrier memboclk_steal() as part of reserve callback\0" + "From\0santosh.shilimkar@ti.com (Santosh Shilimkar)\0" + "Subject\0[PATCH 2/2] ARM: OMAP4: Move the barrier memboclk_steal() as part of reserve callback\0" "Date\0Tue, 14 Feb 2012 14:19:41 +0530\0" - "To\0Tony Lindgren <tony@atomide.com>\0" - "Cc\0linux-omap@vger.kernel.org" - " linux-arm-kernel@lists.infradead.org\0" - "\01:1\0" + "To\0linux-arm-kernel@lists.infradead.org\0" + "\00:1\0" "b\0" "On Saturday 11 February 2012 12:49 AM, Tony Lindgren wrote:\n" "> * Santosh Shilimkar <santosh.shilimkar@ti.com> [120202 05:33]:\n" @@ -186,166 +184,14 @@ "+#endif\n" " #endif /* __OMAP_SECURE_H__ */\n" "-- \n" - 1.7.4.1 - "\01:2\0" - "fn\00001-ARM-OMAP4-Move-the-barrier-memboclk_steal-as-part-of.patch\0" - "b\0" - ">From 3d1ea22985adfe458275b9ae3e00edc6e41a267f Mon Sep 17 00:00:00 2001\n" - "From: Santosh Shilimkar <santosh.shilimkar@ti.com>\n" - "Date: Thu, 2 Feb 2012 15:59:51 +0530\n" - "Subject: [PATCH 1/2] ARM: OMAP4: Move the barrier memboclk_steal() as part of reserve callback\n" - "\n" - "Commit 716a3dc{ARM: Add arm_memblock_steal() to allocate memory away\n" - "from the kernel} introduced arm_memblock_steal() which lead to\n" - "OMAP4_ERRATA_I688 to be broken and needed to be fixed.\n" - "\n" - "arm_memblock_steal() is not suppose to be used outside ->reserve callback.\n" - "OMAP barrier errata code was using it outside reserve callback and hence\n" - "it was broken.\n" - "\n" - "Move the allocation as part of ->reserve callback to fix the it.\n" - "\n" - "Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>\n" - "Cc: Tony Lindgren <tony@atomide.com>\n" - "---\n" - " arch/arm/mach-omap2/Kconfig | 4 ++--\n" - " arch/arm/mach-omap2/common.h | 1 +\n" - " arch/arm/mach-omap2/io.c | 1 +\n" - " arch/arm/mach-omap2/omap4-common.c | 25 ++++++++++++++++---------\n" - " arch/arm/plat-omap/common.c | 1 +\n" - " arch/arm/plat-omap/include/plat/omap-secure.h | 6 ++++++\n" - " 6 files changed, 27 insertions(+), 11 deletions(-)\n" - "\n" - "diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig\n" - "index d965da4..e20c8ab 100644\n" - "--- a/arch/arm/mach-omap2/Kconfig\n" - "+++ b/arch/arm/mach-omap2/Kconfig\n" - "@@ -364,8 +364,8 @@ config OMAP3_SDRC_AC_TIMING\n" - " \t going on could result in system crashes;\n" - " \n" - " config OMAP4_ERRATA_I688\n" - "-\tbool \"OMAP4 errata: Async Bridge Corruption (BROKEN)\"\n" - "-\tdepends on ARCH_OMAP4 && BROKEN\n" - "+\tbool \"OMAP4 errata: Async Bridge Corruption\"\n" - "+\tdepends on ARCH_OMAP4\n" - " \tselect ARCH_HAS_BARRIERS\n" - " \thelp\n" - " \t If a data is stalled inside asynchronous bridge because of back\n" - "diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h\n" - "index febffde..7e9338e 100644\n" - "--- a/arch/arm/mach-omap2/common.h\n" - "+++ b/arch/arm/mach-omap2/common.h\n" - "@@ -132,6 +132,7 @@ void omap3_map_io(void);\n" - " void am33xx_map_io(void);\n" - " void omap4_map_io(void);\n" - " void ti81xx_map_io(void);\n" - "+void omap_barriers_init(void);\n" - " \n" - " /**\n" - " * omap_test_timeout - busy-loop, testing a condition\n" - "diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c\n" - "index eb50c29..fb11b44 100644\n" - "--- a/arch/arm/mach-omap2/io.c\n" - "+++ b/arch/arm/mach-omap2/io.c\n" - "@@ -307,6 +307,7 @@ void __init omapam33xx_map_common_io(void)\n" - " void __init omap44xx_map_common_io(void)\n" - " {\n" - " \tiotable_init(omap44xx_io_desc, ARRAY_SIZE(omap44xx_io_desc));\n" - "+\tomap_barriers_init();\n" - " }\n" - " #endif\n" - " \n" - "diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c\n" - "index 40a8fbc..ebc5950 100644\n" - "--- a/arch/arm/mach-omap2/omap4-common.c\n" - "+++ b/arch/arm/mach-omap2/omap4-common.c\n" - "@@ -24,6 +24,7 @@\n" - " \n" - " #include <plat/irqs.h>\n" - " #include <plat/sram.h>\n" - "+#include <plat/omap-secure.h>\n" - " \n" - " #include <mach/hardware.h>\n" - " #include <mach/omap-wakeupgen.h>\n" - "@@ -43,6 +44,9 @@ static void __iomem *sar_ram_base;\n" - " \n" - " void __iomem *dram_sync, *sram_sync;\n" - " \n" - "+static phys_addr_t paddr;\n" - "+static u32 size;\n" - "+\n" - " void omap_bus_sync(void)\n" - " {\n" - " \tif (dram_sync && sram_sync) {\n" - "@@ -52,18 +56,20 @@ void omap_bus_sync(void)\n" - " \t}\n" - " }\n" - " \n" - "-static int __init omap_barriers_init(void)\n" - "+/* Steal one page physical memory for barrier implementation */\n" - "+int __init omap_barrier_reserve_memblock(void)\n" - " {\n" - "-\tstruct map_desc dram_io_desc[1];\n" - "-\tphys_addr_t paddr;\n" - "-\tu32 size;\n" - "-\n" - "-\tif (!cpu_is_omap44xx())\n" - "-\t\treturn -ENODEV;\n" - " \n" - " \tsize = ALIGN(PAGE_SIZE, SZ_1M);\n" - " \tpaddr = arm_memblock_steal(size, SZ_1M);\n" - " \n" - "+\treturn 0;\n" - "+}\n" - "+\n" - "+void __init omap_barriers_init(void)\n" - "+{\n" - "+\tstruct map_desc dram_io_desc[1];\n" - "+\n" - " \tdram_io_desc[0].virtual = OMAP4_DRAM_BARRIER_VA;\n" - " \tdram_io_desc[0].pfn = __phys_to_pfn(paddr);\n" - " \tdram_io_desc[0].length = size;\n" - "@@ -75,9 +81,10 @@ static int __init omap_barriers_init(void)\n" - " \tpr_info(\"OMAP4: Map 0x%08llx to 0x%08lx for dram barrier\\n\",\n" - " \t\t(long long) paddr, dram_io_desc[0].virtual);\n" - " \n" - "-\treturn 0;\n" - " }\n" - "-core_initcall(omap_barriers_init);\n" - "+#else\n" - "+void __init omap_barriers_init(void)\n" - "+{}\n" - " #endif\n" - " \n" - " void __init gic_init_irq(void)\n" - "diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c\n" - "index 06383b5..4de7d1e 100644\n" - "--- a/arch/arm/plat-omap/common.c\n" - "+++ b/arch/arm/plat-omap/common.c\n" - "@@ -69,6 +69,7 @@ void __init omap_reserve(void)\n" - " \tomap_vram_reserve_sdram_memblock();\n" - " \tomap_dsp_reserve_sdram_memblock();\n" - " \tomap_secure_ram_reserve_memblock();\n" - "+\tomap_barrier_reserve_memblock();\n" - " }\n" - " \n" - " void __init omap_init_consistent_dma_size(void)\n" - "diff --git a/arch/arm/plat-omap/include/plat/omap-secure.h b/arch/arm/plat-omap/include/plat/omap-secure.h\n" - "index 64f9d1c..0f14fb7 100644\n" - "--- a/arch/arm/plat-omap/include/plat/omap-secure.h\n" - "+++ b/arch/arm/plat-omap/include/plat/omap-secure.h\n" - "@@ -10,4 +10,10 @@ static inline void omap_secure_ram_reserve_memblock(void)\n" - " { }\n" - " #endif\n" - " \n" - "+#ifdef CONFIG_OMAP4_ERRATA_I688\n" - "+extern int omap_barrier_reserve_memblock(void);\n" - "+#else\n" - "+static inline void omap_barrier_reserve_memblock(void)\n" - "+{ }\n" - "+#endif\n" - " #endif /* __OMAP_SECURE_H__ */\n" - "-- \n" - 1.7.4.1 + "1.7.4.1\n" + "\n" + "-------------- next part --------------\n" + "A non-text attachment was scrubbed...\n" + "Name: 0001-ARM-OMAP4-Move-the-barrier-memboclk_steal-as-part-of.patch\n" + "Type: text/x-patch\n" + "Size: 4978 bytes\n" + "Desc: not available\n" + URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120214/3be0f2a6/attachment.bin> -02a4026c5a3c63cf0b9503c1e369493c930b3e5e046ae7d5a5f1d3e46202b05d +1516a31ee7c702c66c9195e295d9da2b155a15777851466c5e2be9833cbd0aab
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.