{"id":807226,"url":"http://patchwork.ozlabs.org/api/1.0/patches/807226/?format=json","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/1.0/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<1504031985-52808-3-git-send-email-f.fainelli@gmail.com>","date":"2017-08-29T18:39:43","name":"[net-next,2/4] net: dsa: bcm_sf2: Use correct I/O accessors","commit_ref":null,"pull_url":null,"state":"superseded","archived":true,"hash":"a3c448da7ae2a57f1301188586d45fbd1b0f3428","submitter":{"id":2800,"url":"http://patchwork.ozlabs.org/api/1.0/people/2800/?format=json","name":"Florian Fainelli","email":"f.fainelli@gmail.com"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/1.0/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/1504031985-52808-3-git-send-email-f.fainelli@gmail.com/mbox/","series":[{"id":435,"url":"http://patchwork.ozlabs.org/api/1.0/series/435/?format=json","date":"2017-08-29T18:39:41","name":"Endian fixes for SYSTEMPORT/SF2/MDIO","version":1,"mbox":"http://patchwork.ozlabs.org/series/435/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/807226/checks/","tags":{},"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"iLt8t+re\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xhczG3JWTz9sPk\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 30 Aug 2017 04:46:02 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751349AbdH2SqA (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 29 Aug 2017 14:46:00 -0400","from mail-wm0-f67.google.com ([74.125.82.67]:36849 \"EHLO\n\tmail-wm0-f67.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751215AbdH2Sp6 (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Tue, 29 Aug 2017 14:45:58 -0400","by mail-wm0-f67.google.com with SMTP id j72so4619275wmi.3\n\tfor <netdev@vger.kernel.org>; Tue, 29 Aug 2017 11:45:58 -0700 (PDT)","from stb-bld-04.irv.broadcom.com ([192.19.255.250])\n\tby smtp.gmail.com with ESMTPSA id\n\tc52sm7987181wrg.41.2017.08.29.11.45.53\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tTue, 29 Aug 2017 11:45:56 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=wdYHDGbFKVHeTJrAUUS/W8EgmsxN6o+2p79L7/vCJyw=;\n\tb=iLt8t+reYKt/vA4gfOboMt0JeFsz3EclPGpfCjQFbgalPpyQLMFjgPw99T0dFBlIB0\n\tQWANFfD+VJggjfHQAd6mowkrNVz8Fi9RCaEycW2TgRos0QilW3qY1larE4Lmz2KpbyPO\n\tGWYTBFY7ofSZdX9k2hHjKo+f5QukGd88kM1qea1T941Xf/NXLykabe0QmdY/h5heg60O\n\t38GCPkK42g0mlMzZWJkRCnU5snKOtw+TlJNcb6fILaVpqDkFVQa9xSAVeQ4F8BnoAuno\n\tzHtICpC39x9tYl7Jr+3e4TS+Wb7iZh12Y9wg/ji6N+1mgFwq0j0PoUPYDRAnYbw/qJjv\n\tCTMA==","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=wdYHDGbFKVHeTJrAUUS/W8EgmsxN6o+2p79L7/vCJyw=;\n\tb=a2rSH9LqxbbJujzGRIqLcFGeNG/24mxZp9IA0rJcN/+amsKq01LsYmkIUk3mBqYvMH\n\tFGIw6XeOsA1i3MpQ7aO5tkulV3KAOseLCu/zJLcCJ5lBB5qBpIjbL4OYOubcoljnuMm3\n\tHcTIfWTBUilE4s41vBfGQUWLWaHMwKl8aY6v2Gvg56gIi6Nm1wyqL9l+k7OVD4/T1ZQ5\n\thbLFWE5b4ozf1cHZsWCnzHQGpazzhRyj4g+AaxIHBAD3jlPSHx9OvhPTZ87zEwxyn1g+\n\tnyaxNU55TenU3JG/FUIp79KGDD04djzd0lhAMUSqDVOd7g48rwC9x4ehl6BAZrsW7QgS\n\tUdKQ==","X-Gm-Message-State":"AHYfb5hddeFc/e5bFbq6EKkqOqw0bqse3l6npVJj/ycHGu+eaKz5vFTH\n\tRocAc+qqq6Y7nrpwK2k=","X-Received":"by 10.28.217.72 with SMTP id q69mr343538wmg.139.1504032357410;\n\tTue, 29 Aug 2017 11:45:57 -0700 (PDT)","From":"Florian Fainelli <f.fainelli@gmail.com>","To":"netdev@vger.kernel.org","Cc":"davem@davemloft.net, opendmb@gmail.com, andrew@lunn.ch,\n\tvivien.didelot@savoirfairelinux.com,\n\tFlorian Fainelli <f.fainelli@gmail.com>","Subject":"[PATCH net-next 2/4] net: dsa: bcm_sf2: Use correct I/O accessors","Date":"Tue, 29 Aug 2017 11:39:43 -0700","Message-Id":"<1504031985-52808-3-git-send-email-f.fainelli@gmail.com>","X-Mailer":"git-send-email 1.9.1","In-Reply-To":"<1504031985-52808-1-git-send-email-f.fainelli@gmail.com>","References":"<1504031985-52808-1-git-send-email-f.fainelli@gmail.com>","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"The Starfigther 2 driver currently uses __raw_{read,write}l which means\nnative I/O endian. This works correctly for an ARM LE kernel (default)\nbut fails miserably on an ARM BE (BE8) kernel where registers are kept\nlittle endian, so replace uses with {read,write}l_relaxed here which is\nwhat we want because this is all performance sensitive code.\n\nSigned-off-by: Florian Fainelli <f.fainelli@gmail.com>\n---\n drivers/net/dsa/bcm_sf2.h | 12 ++++++------\n 1 file changed, 6 insertions(+), 6 deletions(-)","diff":"diff --git a/drivers/net/dsa/bcm_sf2.h b/drivers/net/dsa/bcm_sf2.h\nindex 7d3030e04f11..d9c96b281fc0 100644\n--- a/drivers/net/dsa/bcm_sf2.h\n+++ b/drivers/net/dsa/bcm_sf2.h\n@@ -130,12 +130,12 @@ static inline u32 bcm_sf2_mangle_addr(struct bcm_sf2_priv *priv, u32 off)\n #define SF2_IO_MACRO(name) \\\n static inline u32 name##_readl(struct bcm_sf2_priv *priv, u32 off)\t\\\n {\t\t\t\t\t\t\t\t\t\\\n-\treturn __raw_readl(priv->name + off);\t\t\t\t\\\n+\treturn readl_relaxed(priv->name + off);\t\t\t\t\\\n }\t\t\t\t\t\t\t\t\t\\\n static inline void name##_writel(struct bcm_sf2_priv *priv,\t\t\\\n \t\t\t\t  u32 val, u32 off)\t\t\t\\\n {\t\t\t\t\t\t\t\t\t\\\n-\t__raw_writel(val, priv->name + off);\t\t\t\t\\\n+\twritel_relaxed(val, priv->name + off);\t\t\t\t\\\n }\t\t\t\t\t\t\t\t\t\\\n \n /* Accesses to 64-bits register requires us to latch the hi/lo pairs\n@@ -179,23 +179,23 @@ static inline u32 bcm_sf2_mangle_addr(struct bcm_sf2_priv *priv, u32 off)\n static inline u32 core_readl(struct bcm_sf2_priv *priv, u32 off)\n {\n \tu32 tmp = bcm_sf2_mangle_addr(priv, off);\n-\treturn __raw_readl(priv->core + tmp);\n+\treturn readl_relaxed(priv->core + tmp);\n }\n \n static inline void core_writel(struct bcm_sf2_priv *priv, u32 val, u32 off)\n {\n \tu32 tmp = bcm_sf2_mangle_addr(priv, off);\n-\t__raw_writel(val, priv->core + tmp);\n+\twritel_relaxed(val, priv->core + tmp);\n }\n \n static inline u32 reg_readl(struct bcm_sf2_priv *priv, u16 off)\n {\n-\treturn __raw_readl(priv->reg + priv->reg_offsets[off]);\n+\treturn readl_relaxed(priv->reg + priv->reg_offsets[off]);\n }\n \n static inline void reg_writel(struct bcm_sf2_priv *priv, u32 val, u16 off)\n {\n-\t__raw_writel(val, priv->reg + priv->reg_offsets[off]);\n+\twritel_relaxed(val, priv->reg + priv->reg_offsets[off]);\n }\n \n SF2_IO64_MACRO(core);\n","prefixes":["net-next","2/4"]}