linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Qiang Zhao <qiang.zhao@nxp.com>
To: Valentin Longchamp <valentin.longchamp@keymile.com>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Cc: "oss@buserror.net" <oss@buserror.net>
Subject: RE: [PATCH 2/3] soc/fsl/qe: only apply QE_General4 workaround on affected SoCs
Date: Wed, 19 Jul 2017 06:44:30 +0000	[thread overview]
Message-ID: <AM3PR04MB11856946C0C3F88260E039CF91A60@AM3PR04MB1185.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <1487327387-26370-3-git-send-email-valentin.longchamp@keymile.com>

Hi Valentin,

This patch you added make the compiling issue on armv8.
Could you send another patch to resolve it?

CC      drivers/soc/samsung/pm_domains.o
  CC      drivers/soc/sunxi/sunxi_sram.o
  CC      drivers/soc/renesas/rcar-rst.o
  CC      drivers/soc/fsl/qe/qe_io.o
drivers/soc/fsl/qe/qe.c: In function 'qe_setbrg':
drivers/soc/fsl/qe/qe.c:248:2: error: implicit declaration of function 'pvr=
_version_is' [-Werror=3Dimplicit-function-declaration]
  if (pvr_version_is(PVR_VER_836x) || pvr_version_is(PVR_VER_832x))
  ^
  CC      drivers/soc/fsl/qe/ucc.o
  CC      drivers/soc/renesas/rcar-sysc.o
  CHK     kernel/config_data.h
cc1: some warnings being treated as errors
  CC      drivers/soc/tegra/fuse/fuse-tegra.o
  LD      drivers/soc/rockchip/built-in.o
  CC      drivers/soc/tegra/fuse/fuse-tegra30.o
scripts/Makefile.build:302: recipe for target 'drivers/soc/fsl/qe/qe.o' fai=
led
make[4]: *** [drivers/soc/fsl/qe/qe.o] Error 1

-----Original Message-----
From: Valentin Longchamp [mailto:valentin.longchamp@keymile.com]=20
Sent: Friday, February 17, 2017 6:30 PM
To: linuxppc-dev@lists.ozlabs.org; Qiang Zhao <qiang.zhao@nxp.com>
Cc: oss@buserror.net; Valentin Longchamp <valentin.longchamp@keymile.com>
Subject: [PATCH 2/3] soc/fsl/qe: only apply QE_General4 workaround on affec=
ted SoCs

The QE_General4 workaround is only valid for the MPC832x and MPC836x SoCs. =
The other SoCs that embed a QUICC engine are not affected by this hardware =
bug and thus can use the computed divisors (this was successfully tested on=
 the T1040).

Similalry to what was done in commit 8ce795cb0c6b ("i2c: mpc: assign the co=
rrect prescaler from SVR") in order to avoid changes in the device tree nod=
es of the QE (with maybe a variant of the compatible property), the PVR reg=
 is read out to find out if the workaround must be applied or not.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
---
 drivers/soc/fsl/qe/qe.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/soc/fsl/qe/qe.c b/drivers/soc/fsl/qe/qe.c index 03874d=
f..b66157fc 100644
--- a/drivers/soc/fsl/qe/qe.c
+++ b/drivers/soc/fsl/qe/qe.c
@@ -202,6 +202,9 @@ unsigned int qe_get_brg_clk(void)  }  EXPORT_SYMBOL(qe_=
get_brg_clk);
=20
+#define PVR_VER_836x	0x8083
+#define PVR_VER_832x	0x8084
+
 /* Program the BRG to the given sampling rate and multiplier
  *
  * @brg: the BRG, QE_BRG1 - QE_BRG16
@@ -228,8 +231,9 @@ int qe_setbrg(enum qe_clock brg, unsigned int rate, uns=
igned int multiplier)
 	/* Errata QE_General4, which affects some MPC832x and MPC836x SOCs, says
 	   that the BRG divisor must be even if you're not using divide-by-16
 	   mode. */
-	if (!div16 && (divisor & 1) && (divisor > 3))
-		divisor++;
+	if (pvr_version_is(PVR_VER_836x) || pvr_version_is(PVR_VER_832x))
+		if (!div16 && (divisor & 1) && (divisor > 3))
+			divisor++;
=20
 	tempval =3D ((divisor - 1) << QE_BRGC_DIVISOR_SHIFT) |
 		QE_BRGC_ENABLE | div16;
--
1.8.3.1

  reply	other threads:[~2017-07-19  6:44 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-17 10:29 [PATCH 0/3] soc/fsl: various fixes for QE support Valentin Longchamp
2017-02-17 10:29 ` [PATCH 1/3] soc/fsl/qe: round brg_freq to 1kHz granularity Valentin Longchamp
2017-02-17 10:29 ` [PATCH 2/3] soc/fsl/qe: only apply QE_General4 workaround on affected SoCs Valentin Longchamp
2017-07-19  6:44   ` Qiang Zhao [this message]
2017-02-17 10:29 ` [PATCH 3/3] soc/fsl/qe: add EXPORT_SYMBOL for the 2 qe_tdm functions Valentin Longchamp

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AM3PR04MB11856946C0C3F88260E039CF91A60@AM3PR04MB1185.eurprd04.prod.outlook.com \
    --to=qiang.zhao@nxp.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=oss@buserror.net \
    --cc=valentin.longchamp@keymile.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).