Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/391819/?format=api
{ "id": 391819, "url": "http://patchwork.ozlabs.org/api/patches/391819/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-imx/patch/1411371952-5618-7-git-send-email-jingchang.lu@freescale.com/", "project": { "id": 19, "url": "http://patchwork.ozlabs.org/api/projects/19/?format=api", "name": "Linux IMX development", "link_name": "linux-imx", "list_id": "linux-imx-kernel.lists.patchwork.ozlabs.org", "list_email": "linux-imx-kernel@lists.patchwork.ozlabs.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<1411371952-5618-7-git-send-email-jingchang.lu@freescale.com>", "list_archive_url": null, "date": "2014-09-22T07:45:52", "name": "[PATCHv4,6/6] ARM: imx: Add Freescale LS1021A SMP support", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "6d57898b505813b931b319bd2240d1d4aaa3101b", "submitter": { "id": 46273, "url": "http://patchwork.ozlabs.org/api/people/46273/?format=api", "name": "Jingchang Lu", "email": "jingchang.lu@freescale.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-imx/patch/1411371952-5618-7-git-send-email-jingchang.lu@freescale.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/391819/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/391819/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>", "X-Original-To": "incoming-imx@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming-imx@bilbo.ozlabs.org", "Received": [ "from bombadil.infradead.org (bombadil.infradead.org\n\t[IPv6:2001:1868:205::9])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 0AF731400B8\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tMon, 22 Sep 2014 18:42:30 +1000 (EST)", "from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux))\n\tid 1XVzAa-0006kw-GT; Mon, 22 Sep 2014 08:40:28 +0000", "from mail-bn1bbn0109.outbound.protection.outlook.com\n\t([157.56.111.109] helo=na01-bn1-obe.outbound.protection.outlook.com)\n\tby bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat\n\tLinux)) id 1XVz9p-0004Z2-3S\n\tfor linux-arm-kernel@lists.infradead.org;\n\tMon, 22 Sep 2014 08:39:41 +0000", "from BN3PR0301CA0080.namprd03.prod.outlook.com (25.160.152.176) by\n\tBL2PR03MB468.namprd03.prod.outlook.com (10.141.92.27) with\n\tMicrosoft SMTP\n\tServer (TLS) id 15.0.1034.13; Mon, 22 Sep 2014 08:39:17 +0000", "from BY2FFO11FD056.protection.gbl (2a01:111:f400:7c0c::177) by\n\tBN3PR0301CA0080.outlook.office365.com (2a01:111:e400:401e::48) with\n\tMicrosoft SMTP Server (TLS) id 15.0.1034.13 via Frontend Transport;\n\tMon, 22 Sep 2014 08:39:17 +0000", "from az84smr01.freescale.net (192.88.158.2) by\n\tBY2FFO11FD056.mail.protection.outlook.com (10.1.15.193) with\n\tMicrosoft SMTP\n\tServer (TLS) id 15.0.1029.15 via Frontend Transport; Mon, 22 Sep 2014\n\t08:39:16 +0000", "from rock.ap.freescale.net (rock.ap.freescale.net [10.193.20.106])\n\tby az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id\n\ts8M8ct0E027433; Mon, 22 Sep 2014 01:39:14 -0700" ], "From": "Jingchang Lu <jingchang.lu@freescale.com>", "To": "<shawn.guo@freescale.com>", "Subject": "[PATCHv4 6/6] ARM: imx: Add Freescale LS1021A SMP support", "Date": "Mon, 22 Sep 2014 15:45:52 +0800", "Message-ID": "<1411371952-5618-7-git-send-email-jingchang.lu@freescale.com>", "X-Mailer": "git-send-email 1.8.0", "In-Reply-To": "<1411371952-5618-1-git-send-email-jingchang.lu@freescale.com>", "References": "<1411371952-5618-1-git-send-email-jingchang.lu@freescale.com>", "X-EOPAttributedMessage": "0", "X-Forefront-Antispam-Report": "CIP:192.88.158.2; CTRY:US; IPV:CAL; IPV:NLI;\n\tEFV:NLI; SFV:NSPM;\n\tSFS:(10019020)(6009001)(199003)(189002)(85852003)(90102001)(6806004)(48376002)(110136001)(89996001)(83322001)(81342003)(62966002)(47776003)(68736004)(104016003)(88136002)(93916002)(33646002)(44976005)(36756003)(31966008)(20776003)(77156001)(83072002)(104166001)(50226001)(74662003)(4396001)(84676001)(87936001)(86362001)(79102003)(46102003)(81542003)(74502003)(19580405001)(85306004)(87286001)(50466002)(80022003)(77982003)(19580395003)(102836001)(76482002)(92726001)(50986999)(107046002)(21056001)(76176999)(2351001)(26826002)(92566001)(229853001)(106466001)(64706001)(69596002)(2371004)(81156004)(105606002)(95666004)(99396002)(120916001)(97736003);\n\tDIR:OUT; SFP:1102; SCL:1; SRVR:BL2PR03MB468; H:az84smr01.freescale.net;\n\tFPR:; \n\tMLV:ovrnspm; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; ", "MIME-Version": "1.0", "X-Microsoft-Antispam": [ "UriScan:;", "BCL:0;PCL:0;RULEID:;SRVR:BL2PR03MB468;" ], "X-Forefront-PRVS": "034215E98F", "Received-SPF": "Fail (protection.outlook.com: domain of freescale.com does not\n\tdesignate 192.88.158.2 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=192.88.158.2; helo=az84smr01.freescale.net;", "Authentication-Results": "spf=fail (sender IP is 192.88.158.2)\n\tsmtp.mailfrom=jingchang.lu@freescale.com; ", "X-OriginatorOrg": "freescale.com", "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ", "X-CRM114-CacheID": "sfid-20140922_013941_356870_42A22BAD ", "X-CRM114-Status": "UNSURE ( 9.99 )", "X-CRM114-Notice": "Please train this message.", "X-Spam-Score": "-0.3 (/)", "X-Spam-Report": "SpamAssassin version 3.4.0 on bombadil.infradead.org summary:\n\tContent analysis details: (-0.3 points)\n\tpts rule name description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/,\n\tno trust [157.56.111.109 listed in list.dnswl.org]\n\t-0.3 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2)\n\t[157.56.111.109 listed in wl.mailspike.net]\n\t-0.0 SPF_HELO_PASS SPF: HELO matches SPF record\n\t-0.0 SPF_PASS SPF: sender matches SPF record", "Cc": "mark.rutland@arm.com, devicetree@vger.kernel.org,\n\tJingchang Lu <b35083@freescale.com>,\n\tlinux-arm-kernel@lists.infradead.org, arnd@arndb.de", "X-BeenThere": "linux-arm-kernel@lists.infradead.org", "X-Mailman-Version": "2.1.18-1", "Precedence": "list", "List-Unsubscribe": "<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>", "List-Archive": "<http://lists.infradead.org/pipermail/linux-arm-kernel/>", "List-Post": "<mailto:linux-arm-kernel@lists.infradead.org>", "List-Help": "<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>", "List-Subscribe": "<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Sender": "\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>", "Errors-To": "linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org", "List-Id": "linux-imx-kernel.lists.patchwork.ozlabs.org" }, "content": "From: Jingchang Lu <b35083@freescale.com>\n\nFreescale LS1021A SoCs deploy two cortex-A7 processors,\nthis adds bring-up support for the secondary core.\n\nSigned-off-by: Jingchang Lu <b35083@freescale.com>\n---\n arch/arm/mach-imx/Makefile | 2 +-\n arch/arm/mach-imx/common.h | 1 +\n arch/arm/mach-imx/mach-ls1021a.c | 1 +\n arch/arm/mach-imx/platsmp.c | 32 ++++++++++++++++++++++++++++++++\n 4 files changed, 35 insertions(+), 1 deletion(-)", "diff": "diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile\nindex ce137bc..38d75e2 100644\n--- a/arch/arm/mach-imx/Makefile\n+++ b/arch/arm/mach-imx/Makefile\n@@ -89,7 +89,7 @@ obj-$(CONFIG_HAVE_IMX_ANATOP) += anatop.o\n obj-$(CONFIG_HAVE_IMX_GPC) += gpc.o\n obj-$(CONFIG_HAVE_IMX_MMDC) += mmdc.o\n obj-$(CONFIG_HAVE_IMX_SRC) += src.o\n-ifdef CONFIG_SOC_IMX6\n+ifneq ($(CONFIG_SOC_IMX6)$(CONFIG_SOC_LS1021A),)\n AFLAGS_headsmp.o :=-Wa,-march=armv7-a\n obj-$(CONFIG_SMP) += headsmp.o platsmp.o\n obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o\ndiff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h\nindex 1dabf43..c473ca5 100644\n--- a/arch/arm/mach-imx/common.h\n+++ b/arch/arm/mach-imx/common.h\n@@ -157,5 +157,6 @@ static inline void imx_init_l2cache(void) {}\n #endif\n \n extern struct smp_operations imx_smp_ops;\n+extern struct smp_operations ls1021a_smp_ops;\n \n #endif\ndiff --git a/arch/arm/mach-imx/mach-ls1021a.c b/arch/arm/mach-imx/mach-ls1021a.c\nindex 9d2034b..b89c858 100644\n--- a/arch/arm/mach-imx/mach-ls1021a.c\n+++ b/arch/arm/mach-imx/mach-ls1021a.c\n@@ -17,5 +17,6 @@ static const char * const ls1021a_dt_compat[] __initconst = {\n };\n \n DT_MACHINE_START(LS1021A, \"Freescale LS1021A\")\n+\t.smp\t\t= smp_ops(ls1021a_smp_ops),\n \t.dt_compat\t= ls1021a_dt_compat,\n MACHINE_END\ndiff --git a/arch/arm/mach-imx/platsmp.c b/arch/arm/mach-imx/platsmp.c\nindex 771bd25..62376f0 100644\n--- a/arch/arm/mach-imx/platsmp.c\n+++ b/arch/arm/mach-imx/platsmp.c\n@@ -16,6 +16,8 @@\n #include <asm/page.h>\n #include <asm/smp_scu.h>\n #include <asm/mach/map.h>\n+#include <linux/of.h>\n+#include <linux/of_address.h>\n \n #include \"common.h\"\n #include \"hardware.h\"\n@@ -94,3 +96,33 @@ struct smp_operations imx_smp_ops __initdata = {\n \t.cpu_kill\t\t= imx_cpu_kill,\n #endif\n };\n+\n+#define DCFG_CCSR_SCRATCHRW1\t0x200\n+\n+static int ls1021a_boot_secondary(unsigned int cpu, struct task_struct *idle)\n+{\n+\tarch_send_wakeup_ipi_mask(cpumask_of(cpu));\n+\n+\treturn 0;\n+}\n+\n+static void __init ls1021a_smp_prepare_cpus(unsigned int max_cpus)\n+{\n+\tstruct device_node *np;\n+\tvoid __iomem *dcfg_base;\n+\tunsigned long paddr;\n+\n+\tnp = of_find_compatible_node(NULL, NULL, \"fsl,ls1021a-dcfg\");\n+\tdcfg_base = of_iomap(np, 0);\n+\tBUG_ON(!dcfg_base);\n+\n+\tpaddr = virt_to_phys(secondary_startup);\n+\twritel_relaxed(cpu_to_be32(paddr), dcfg_base + DCFG_CCSR_SCRATCHRW1);\n+\n+\tiounmap(dcfg_base);\n+}\n+\n+struct smp_operations ls1021a_smp_ops __initdata = {\n+\t.smp_prepare_cpus\t= ls1021a_smp_prepare_cpus,\n+\t.smp_boot_secondary\t= ls1021a_boot_secondary,\n+};\n", "prefixes": [ "PATCHv4", "6/6" ] }