{"id":808566,"url":"http://patchwork.ozlabs.org/api/1.0/patches/808566/?format=json","project":{"id":3,"url":"http://patchwork.ozlabs.org/api/1.0/projects/3/?format=json","name":"Linux MTD development","link_name":"linux-mtd","list_id":"linux-mtd.lists.infradead.org","list_email":"linux-mtd@lists.infradead.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<1504252841-2445-2-git-send-email-bmeng.cn@gmail.com>","date":"2017-09-01T08:00:32","name":"[01/10] spi-nor: intel-spi: Fix number of protected range registers for BYT/LPT","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"455984302a25329ed24dbad91fdbe330d932c530","submitter":{"id":64981,"url":"http://patchwork.ozlabs.org/api/1.0/people/64981/?format=json","name":"Bin Meng","email":"bmeng.cn@gmail.com"},"delegate":{"id":63396,"url":"http://patchwork.ozlabs.org/api/1.0/users/63396/?format=json","username":"cpitchen","first_name":"Cyrille","last_name":"Pitchen","email":"cyrille.pitchen@atmel.com"},"mbox":"http://patchwork.ozlabs.org/project/linux-mtd/patch/1504252841-2445-2-git-send-email-bmeng.cn@gmail.com/mbox/","series":[{"id":969,"url":"http://patchwork.ozlabs.org/api/1.0/series/969/?format=json","date":"2017-09-01T08:00:33","name":"spi-nor: intel-spi: Various fixes and enhancements","version":1,"mbox":"http://patchwork.ozlabs.org/series/969/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/808566/checks/","tags":{},"headers":{"Return-Path":"<linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org; spf=none (mailfrom)\n\tsmtp.mailfrom=lists.infradead.org (client-ip=65.50.211.133;\n\thelo=bombadil.infradead.org;\n\tenvelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"RJOCGpIP\"; \n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"Rq8Mt3Pq\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\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 3xkBS74Rkhz9s81\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  1 Sep 2017 17:57:59 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dngps-0002JW-5n; Fri, 01 Sep 2017 07:57:52 +0000","from mail-io0-x242.google.com ([2607:f8b0:4001:c06::242])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dngok-0001Wp-GI\n\tfor linux-mtd@lists.infradead.org; Fri, 01 Sep 2017 07:56:44 +0000","by mail-io0-x242.google.com with SMTP id z67so339074iof.1\n\tfor <linux-mtd@lists.infradead.org>;\n\tFri, 01 Sep 2017 00:56:22 -0700 (PDT)","from ala-d2121-lx1.wrs.com (unknown-156-139.windriver.com.\n\t[147.11.156.139]) by smtp.gmail.com with ESMTPSA id\n\td187sm853502iod.7.2017.09.01.00.56.19\n\t(version=TLS1_1 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tFri, 01 Sep 2017 00:56:20 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:\n\tList-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:\n\tIn-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:\n\tContent-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc\n\t:Resent-Message-ID:List-Owner;\n\tbh=61Z0oAE9Clq1msbxzSpdHbEYplOf8PQ4ZcrvOM9btKo=;\n\tb=RJOCGpIPdOzkW+GcaaI89HCxow\n\tuyQiwdvtPEKtPtgdFAW+HAwkuqt21A0BNwXBWlkR72wR4bZUsHEXbQHhkOnYAmqpuMceYQHUW/sBD\n\tH7lDL6dfk6TUuvY7+4ivp6thoBqs7E3nYvkuW2h6k3KjHbUHGpVPVR9eSQmdBcta+crrHykIt5xPt\n\t1glVyDxKuiulXfDxTS7AO0LVt2Ct0JPBEt5wBg9zLRVlRitFpC/QfZbErSZdOc+DS7L+ohLn0KmcQ\n\t5n9YZBKHImCj5tZfHTdAIXIuvw00l0VDZSR1SWqaNFoAgYuTC4agmfSx8hTd0Z8yBV7JAlLfJNsDo\n\twgt8T7Ew==;","v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=VFWfhFj6U+y9s58X0p9/PuNkZD6ca817zNWDAtzkitE=;\n\tb=Rq8Mt3Pqq8DW/3MTfArkfEaoQuAtFPQ/bslOV20ftCTsBOoRy3Z9e0x+t0sgd95rbz\n\tnMTZeM5Fox3qZc01TyFgVDFrnCAUk3kB4F7Ir0M0Q+rZQq7QmgsQ54XQ8zwewFglf9uH\n\t6OSDmHnl022hpGDh06Zn/ESRJE3TVKNUn1rzaEOvqm/BwL5tTM0W4phzw59n+TBgp7gt\n\tPgH7Ie46aDnBXhm+vPj8TfJ3YanGsT7OR8xRTsojxvXKoKlyo61kIZsqrtXYsS8OEVLS\n\t0mcGZxZQGGkN6HrwehXWTa7uJB5tTOX+RcdnIC2tzyLVgc1ytbaBl//kXu/Y/JyDUhJa\n\tZ5Cg=="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=VFWfhFj6U+y9s58X0p9/PuNkZD6ca817zNWDAtzkitE=;\n\tb=VRg31jU3+AXHGoSrqZA+WRRX/B2NodemnL0qM4QwgBxZuc8hOluqO1zHIPlmShp+U9\n\tBuRzLfwjlQfd8wVTkvvImASuHx+zhHawz5V73HWBwGLEng/iwofZikz1cc5yE3EYKEog\n\tV/bfnutf1JbnzzE4Acu0RB7eprU1lZJx1Ai0OHV88w7pmJOm3rErbFNQHy7EyatppQNh\n\t3C5+kGG3gNBtrwdwZ5UdsavlAdeqYp00GMwOApqn4YrnGeqTA1qS2GJA29UJjnaCLJWS\n\tVfcuPOx8KbHxVfPndUAy3hNwG2fR90v06BQX//aTtCBqhlI3saW4c3JnP/kXnWCLJbyH\n\tahfQ==","X-Gm-Message-State":"AHPjjUhgXGb0M9F8N/1272tSfWuvTKi8JcVX6YO3bjGRZkZPQSYAwpLW\n\t0zJ/u6pg45TTEQ==","X-Google-Smtp-Source":"ADKCNb4v6cdVsDYQ+13td0sYe1dBcpja7uMnxfe0Nm4BEMgOO6M14OvGVStLZ3JTwfPaGCfvrtoZ/Q==","X-Received":"by 10.107.28.78 with SMTP id c75mr711501ioc.307.1504252581525;\n\tFri, 01 Sep 2017 00:56:21 -0700 (PDT)","From":"Bin Meng <bmeng.cn@gmail.com>","To":"Mika Westerberg <mika.westerberg@linux.intel.com>,\n\tCyrille Pitchen <cyrille.pitchen@wedev4u.fr>,\n\tMarek Vasut <marek.vasut@gmail.com>,\n\tBoris Brezillon <boris.brezillon@free-electrons.com>,\n\tBrian Norris <computersforpeace@gmail.com>,\n\tRichard Weinberger <richard@nod.at>,\n\tDavid Woodhouse <dwmw2@infradead.org>, \n\tlinux-mtd <linux-mtd@lists.infradead.org>,\n\tlinux-kernel <linux-kernel@vger.kernel.org>","Subject":"[PATCH 01/10] spi-nor: intel-spi: Fix number of protected range\n\tregisters for BYT/LPT","Date":"Fri,  1 Sep 2017 01:00:32 -0700","Message-Id":"<1504252841-2445-2-git-send-email-bmeng.cn@gmail.com>","X-Mailer":"git-send-email 1.7.9.5","In-Reply-To":"<1504252841-2445-1-git-send-email-bmeng.cn@gmail.com>","References":"<1504252841-2445-1-git-send-email-bmeng.cn@gmail.com>","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20170901_005642_580894_C6FDEF28 ","X-CRM114-Status":"GOOD (  13.34  )","X-Spam-Score":"-2.0 (--)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-2.0 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\n\ttrust [2607:f8b0:4001:c06:0:0:0:242 listed in] [list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail\n\tprovider (bmeng.cn[at]gmail.com)\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature\n\t0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n\tnot necessarily valid\n\t-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from\n\tauthor's domain","X-BeenThere":"linux-mtd@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"Linux MTD discussion mailing list <linux-mtd.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-mtd>,\n\t<mailto:linux-mtd-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-mtd/>","List-Post":"<mailto:linux-mtd@lists.infradead.org>","List-Help":"<mailto:linux-mtd-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-mtd>,\n\t<mailto:linux-mtd-request@lists.infradead.org?subject=subscribe>","Cc":"Stefan Roese <sr@denx.de>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-mtd\" <linux-mtd-bounces@lists.infradead.org>","Errors-To":"linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"},"content":"The number of protected range registers is not the same on BYT/LPT/\nBXT. GPR0 only exists on Apollo Lake and its offset is reserved on\nother platforms.\n\nSigned-off-by: Bin Meng <bmeng.cn@gmail.com>\n---\n\n drivers/mtd/spi-nor/intel-spi.c | 16 +++++++++++-----\n 1 file changed, 11 insertions(+), 5 deletions(-)","diff":"diff --git a/drivers/mtd/spi-nor/intel-spi.c b/drivers/mtd/spi-nor/intel-spi.c\nindex 8a596bf..e5b52e8 100644\n--- a/drivers/mtd/spi-nor/intel-spi.c\n+++ b/drivers/mtd/spi-nor/intel-spi.c\n@@ -67,8 +67,6 @@\n #define PR_LIMIT_MASK\t\t\t(0x3fff << PR_LIMIT_SHIFT)\n #define PR_RPE\t\t\t\tBIT(15)\n #define PR_BASE_MASK\t\t\t0x3fff\n-/* Last PR is GPR0 */\n-#define PR_NUM\t\t\t\t(5 + 1)\n \n /* Offsets are from @ispi->sregs */\n #define SSFSTS_CTL\t\t\t0x00\n@@ -96,14 +94,17 @@\n #define BYT_BCR\t\t\t\t0xfc\n #define BYT_BCR_WPD\t\t\tBIT(0)\n #define BYT_FREG_NUM\t\t\t5\n+#define BYT_PR_NUM\t\t\t5\n \n #define LPT_PR\t\t\t\t0x74\n #define LPT_SSFSTS_CTL\t\t\t0x90\n #define LPT_FREG_NUM\t\t\t5\n+#define LPT_PR_NUM\t\t\t5\n \n #define BXT_PR\t\t\t\t0x84\n #define BXT_SSFSTS_CTL\t\t\t0xa0\n #define BXT_FREG_NUM\t\t\t12\n+#define BXT_PR_NUM\t\t\t6\n \n #define INTEL_SPI_TIMEOUT\t\t5000 /* ms */\n #define INTEL_SPI_FIFO_SZ\t\t64\n@@ -117,6 +118,7 @@\n  * @pregs: Start of protection registers\n  * @sregs: Start of software sequencer registers\n  * @nregions: Maximum number of regions\n+ * @pr_num: Maximum number of protected range registers\n  * @writeable: Is the chip writeable\n  * @swseq: Use SW sequencer in register reads/writes\n  * @erase_64k: 64k erase supported\n@@ -132,6 +134,7 @@ struct intel_spi {\n \tvoid __iomem *pregs;\n \tvoid __iomem *sregs;\n \tsize_t nregions;\n+\tsize_t pr_num;\n \tbool writeable;\n \tbool swseq;\n \tbool erase_64k;\n@@ -167,7 +170,7 @@ static void intel_spi_dump_regs(struct intel_spi *ispi)\n \tfor (i = 0; i < ispi->nregions; i++)\n \t\tdev_dbg(ispi->dev, \"FREG(%d)=0x%08x\\n\", i,\n \t\t\treadl(ispi->base + FREG(i)));\n-\tfor (i = 0; i < PR_NUM; i++)\n+\tfor (i = 0; i < ispi->pr_num; i++)\n \t\tdev_dbg(ispi->dev, \"PR(%d)=0x%08x\\n\", i,\n \t\t\treadl(ispi->pregs + PR(i)));\n \n@@ -182,7 +185,7 @@ static void intel_spi_dump_regs(struct intel_spi *ispi)\n \t\tdev_dbg(ispi->dev, \"BCR=0x%08x\\n\", readl(ispi->base + BYT_BCR));\n \n \tdev_dbg(ispi->dev, \"Protected regions:\\n\");\n-\tfor (i = 0; i < PR_NUM; i++) {\n+\tfor (i = 0; i < ispi->pr_num; i++) {\n \t\tu32 base, limit;\n \n \t\tvalue = readl(ispi->pregs + PR(i));\n@@ -286,6 +289,7 @@ static int intel_spi_init(struct intel_spi *ispi)\n \t\tispi->sregs = ispi->base + BYT_SSFSTS_CTL;\n \t\tispi->pregs = ispi->base + BYT_PR;\n \t\tispi->nregions = BYT_FREG_NUM;\n+\t\tispi->pr_num = BYT_PR_NUM;\n \n \t\tif (writeable) {\n \t\t\t/* Disable write protection */\n@@ -305,12 +309,14 @@ static int intel_spi_init(struct intel_spi *ispi)\n \t\tispi->sregs = ispi->base + LPT_SSFSTS_CTL;\n \t\tispi->pregs = ispi->base + LPT_PR;\n \t\tispi->nregions = LPT_FREG_NUM;\n+\t\tispi->pr_num = LPT_PR_NUM;\n \t\tbreak;\n \n \tcase INTEL_SPI_BXT:\n \t\tispi->sregs = ispi->base + BXT_SSFSTS_CTL;\n \t\tispi->pregs = ispi->base + BXT_PR;\n \t\tispi->nregions = BXT_FREG_NUM;\n+\t\tispi->pr_num = BXT_PR_NUM;\n \t\tispi->erase_64k = true;\n \t\tbreak;\n \n@@ -652,7 +658,7 @@ static bool intel_spi_is_protected(const struct intel_spi *ispi,\n {\n \tint i;\n \n-\tfor (i = 0; i < PR_NUM; i++) {\n+\tfor (i = 0; i < ispi->pr_num; i++) {\n \t\tu32 pr_base, pr_limit, pr_value;\n \n \t\tpr_value = readl(ispi->pregs + PR(i));\n","prefixes":["01/10"]}