All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yangbo Lu <yangbo.lu@nxp.com>
To: Scott Wood <oss@buserror.net>, Arnd Bergmann <arnd@arndb.de>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
	"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
	Qiang Zhao <qiang.zhao@nxp.com>,
	Russell King <linux@arm.linux.org.uk>,
	Bhupesh Sharma <bhupesh.sharma@freescale.com>,
	Joerg Roedel <joro@8bytes.org>,
	"Claudiu Manoil" <claudiu.manoil@freescale.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Kumar Gala <galak@codeaurora.org>,
	Rob Herring <robh+dt@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	Xiaobo Xie <xiaobo.xie@nxp.com>, Yang-Leo Li <leoyang.li@nxp.com>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>
Subject: RE: [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms
Date: Thu, 7 Jul 2016 02:35:33 +0000	[thread overview]
Message-ID: <HE1PR04MB0889646206BFAD68046F3473F83B0@HE1PR04MB0889.eurprd04.prod.outlook.com> (raw)
In-Reply-To: 1465609853.22191.151.camel@buserror.net

Hi Arnd,

Could you reply when you see the email?
If your method doesn’t resolve the problem, we still want to use our old patchset.

This guts driver had been discussed about one year and blocked many workaround upstream.
So please help to review and comment soon.

Thanks a lot.


Best regards,
Yangbo Lu

> -----Original Message-----
> From: Yangbo Lu
> Sent: Thursday, June 23, 2016 10:46 AM
> To: 'Scott Wood'; Arnd Bergmann; linuxppc-dev@lists.ozlabs.org
> Cc: Mark Rutland; Ulf Hansson; linux-kernel@vger.kernel.org; linux-
> i2c@vger.kernel.org; linux-clk@vger.kernel.org; Qiang Zhao; Russell King;
> Bhupesh Sharma; Joerg Roedel; Claudiu Manoil; devicetree@vger.kernel.org;
> Kumar Gala; Rob Herring; Santosh Shilimkar; linux-arm-
> kernel@lists.infradead.org; netdev@vger.kernel.org; linux-
> mmc@vger.kernel.org; Xiaobo Xie; Yang-Leo Li; iommu@lists.linux-
> foundation.org
> Subject: RE: [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms
> 
> Hi Arnd,
> 
> Could you comment on these?
> Thanks.
> 
> 
> Best regards,
> Yangbo Lu
> 
> 
> > -----Original Message-----
> > From: Scott Wood [mailto:oss@buserror.net]
> > Sent: Saturday, June 11, 2016 9:51 AM
> > To: Arnd Bergmann; linuxppc-dev@lists.ozlabs.org
> > Cc: Mark Rutland; Ulf Hansson; linux-kernel@vger.kernel.org; linux-
> > i2c@vger.kernel.org; linux-clk@vger.kernel.org; Qiang Zhao; Russell
> > King; Bhupesh Sharma; Joerg Roedel; Claudiu Manoil;
> > devicetree@vger.kernel.org; Kumar Gala; Rob Herring; Santosh
> > Shilimkar; linux-arm- kernel@lists.infradead.org;
> > netdev@vger.kernel.org; linux- mmc@vger.kernel.org; Xiaobo Xie;
> > Yang-Leo Li; iommu@lists.linux- foundation.org; Yangbo Lu
> > Subject: Re: [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms
> >
> > On Thu, 2016-06-02 at 10:43 +0200, Arnd Bergmann wrote:
> > > On Wednesday, June 1, 2016 8:47:22 PM CEST Scott Wood wrote:
> > > > On Mon, 2016-05-30 at 15:15 +0200, Arnd Bergmann wrote:
> > > > > diff --git a/drivers/soc/fsl/guts.c b/drivers/soc/fsl/guts.c new
> > > > > file mode 100644 index 000000000000..2f30698f5bcf
> > > > > --- /dev/null
> > > > > +++ b/drivers/soc/fsl/guts.c
> > > > > @@ -0,0 +1,130 @@
> > > > > +/*
> > > > > + * Freescale QorIQ Platforms GUTS Driver
> > > > > + *
> > > > > + * Copyright (C) 2016 Freescale Semiconductor, Inc.
> > > > > + *
> > > > > + * This program is free software; you can redistribute it
> > > > > +and/or modify
> > > > > + * it under the terms of the GNU General Public License as
> > > > > +published by
> > > > > + * the Free Software Foundation; either version 2 of the
> > > > > +License, or
> > > > > + * (at your option) any later version.
> > > > > + */
> > > > > +
> > > > > +#include <linux/io.h>
> > > > > +#include <linux/platform_device.h> #include <linux/module.h>
> > > > > +#include <linux/slab.h> #include <linux/of_address.h> #include
> > > > > +<linux/of_platform.h> #include <linux/sys_soc.h>
> > > > > +
> > > > > +#define GUTS_PVR	0x0a0
> > > > > +#define GUTS_SVR	0x0a4
> > > > > +
> > > > > +struct guts {
> > > > > +	void __iomem *regs;
> > > >
> > > > We already have a struct to define guts.  Why are you not using it?
> > > > Why do you consider using it to be "abuse"?  What if we want to
> > > > move more guts functionality into this driver?
> > >
> > > This structure was in the original patch, I left it in there, only
> > > removed the inclusion of the powerpc header file, which seemed to be
> > > misplaced.
> >
> > I'm not refering "struct guts".  I'm referring to changing "struct
> > ccsr_guts __iomem *regs" into "void __iomem *regs".
> >
> > And it's not a powerpc header file.
> >
> > > > > +/*
> > > > > + * Table for matching compatible strings, for device tree
> > > > > + * guts node, for Freescale QorIQ SOCs.
> > > > > + */
> > > > > +static const struct of_device_id fsl_guts_of_match[] = {
> > > > > +	/* For T4 & B4 Series SOCs */
> > > > > +	{ .compatible = "fsl,qoriq-device-config-1.0", .data = "T4/B4
> > > > > series" },
> > > > [snip]
> > > > > +	{ .compatible = "fsl,qoriq-device-config-2.0", .data = "P
> > > > > series"
> > > >
> > > > As noted in my comment on patch 3/4, these descriptions are
> reversed.
> > > >
> > > > They're also incomplete.  t2080 has device config 2.0.  t1040 is
> > > > described as
> > > > 2.0 though it should probably be 2.1 (or better, drop the generic
> > > > compatible altogether).
> > >
> > > Ok. Ideally I think we'd even look up the specific SoC names from
> > > the SVC rather than the compatible string. I just didn't have a good
> > > list for those to put in the driver.
> >
> > The list is in arch/powerpc/include/asm/mpc85xx.h but I don't know why
> > we need to convert it to a string in the first place.
> >
> > >
> > > > > +	/*
> > > > > +	 * syscon devices default to little-endian, but on powerpc we
> > > > > have
> > > > > +	 * existing device trees with big-endian maps and an absent
> > > > > endianess
> > > > > +	 * "big-property"
> > > > > +	 */
> > > > > +	if (!IS_ENABLED(CONFIG_POWERPC) &&
> > > > > +	    !of_property_read_bool(dev->of_node, "big-endian"))
> > > > > +		guts->little_endian = true;
> > > >
> > > > This is not a syscon device (Yangbo's patch to add a guts node on
> > > > ls2080 is the only guts node that says "syscon", and that was a
> > > > leftover from earlier revisions and should probably be removed).
> > > > Even if it were, where is it documented that syscon defaults to
> > > > little-endian?
> > >
> > > Documentation/devicetree/bindings/regmap/regmap.txt
> > >
> > > We had a little screwup here, basically regmap (and by consequence,
> > > syscon) always defaulted to little-endian way before that was
> > > documented, so it's too late to change it,
> >
> > What causes a device node to fall under the jurisdiction of regmap.txt?
> >  Again, these nodes do not claim "syscon" compatibility.
> >
> > > although I agree it would have made sense to document regmap to
> > > default to big-endian on powerpc.
> >
> > Please don't.  It's enough of a mess as is; no need to start throwing
> > in architecture ifdefs.
> >
> > > > Documentation/devicetree/bindings/common-properties.txt says that
> > > > the individual binding specifies the default.  The default for
> > > > this node should be big-endian because that's what existed before
> > > > there was a need to describe the endianness.  And we need an
> > > > update to the guts binding to specify that.
> > >
> > > Good point. This proably means that specifying both the "guts" and
> > "syscon"
> > > compatible strings implies having to also specify the endianess
> > > explicitly both ways, because otherwise we break one of the two
> > bindings.
> >
> > Yes, but the node should only specify "guts".
> >
> > >
> > > > > +
> > > > > +	guts->regs = devm_ioremap_resource(dev, 0);
> > > > > +	if (!guts->regs) {
> > > > > +		ret = -ENOMEM;
> > > > > +		kfree(guts);
> > > > > +		goto out;
> > > > > +	}
> > > > > +
> > > > > +	fsl_guts_init(dev, guts);
> > > > > +	ret = 0;
> > > > > +out:
> > > > > +	return ret;
> > > > > +}
> > > > > +
> > > > > +static struct platform_driver fsl_soc_guts = {
> > > > > +	.probe = fsl_guts_probe,
> > > > > +	.driver.of_match_table = fsl_guts_of_match, };
> > > > > +
> > > > > +module_platform_driver(fsl_soc_guts);
> > > >
> > > > Again, this means that the information is not available during
> > > > early boot, such as in the clock driver.  Thus we would not be
> > > > able to convert clk -qoriq's direct mfspr(SPRN_SVR) into an
> > > > soc_device_match() (or anything else that makes use of this file),
> > > > nor would we be able to move its access of the guts RCW registers
> > > > into this driver.
> > >
> > > Correct. Do we have a reason to convert the mfspr() though? I don't
> > > really see an improvement over the current state if we do that,
> >
> > Then should we drop this patchset and put a similar PPC ifdef in
> > drivers/mmc/host/sdhci-of-esdhc.c?
> >
> > There's also the RCW access.  You said in the patch 4/4 discussion
> > that you di dn't like any random driver ioremapping the registers...
> >
> > > and for new devices
> > > that might need the erratum workaround, we could add a DT property
> > > that would be preferred to both.
> >
> > It's unlikely that we would know the erratum exists at the time the
> > device tree is created.  We also generally don't have separate device
> > trees for each revision of a chip (and if we did, we'd have users that
> > use the wrong one).
> >
> > -Scott

WARNING: multiple messages have this Message-ID (diff)
From: Yangbo Lu <yangbo.lu-3arQi8VN3Tc@public.gmane.org>
To: Scott Wood <oss-fOR+EgIDQEHk1uMJSBkQmQ@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	"linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org"
	<linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>
Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Ulf Hansson <ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Bhupesh Sharma
	<bhupesh.sharma-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	"netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Santosh Shilimkar
	<ssantosh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	"linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Xiaobo Xie <xiaobo.xie-3arQi8VN3Tc@public.gmane.org>,
	"iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
	<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	"linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Claudiu Manoil
	<claudiu.manoil-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	Yang-Leo Li <leoyang.li-3arQi8VN3Tc@public.gmane.org>,
	"linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
Subject: RE: [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms
Date: Thu, 7 Jul 2016 02:35:33 +0000	[thread overview]
Message-ID: <HE1PR04MB0889646206BFAD68046F3473F83B0@HE1PR04MB0889.eurprd04.prod.outlook.com> (raw)
In-Reply-To: 1465609853.22191.151.camel@buserror.net

Hi Arnd,

Could you reply when you see the email?
If your method doesn’t resolve the problem, we still want to use our old patchset.

This guts driver had been discussed about one year and blocked many workaround upstream.
So please help to review and comment soon.

Thanks a lot.


Best regards,
Yangbo Lu

> -----Original Message-----
> From: Yangbo Lu
> Sent: Thursday, June 23, 2016 10:46 AM
> To: 'Scott Wood'; Arnd Bergmann; linuxppc-dev@lists.ozlabs.org
> Cc: Mark Rutland; Ulf Hansson; linux-kernel@vger.kernel.org; linux-
> i2c@vger.kernel.org; linux-clk@vger.kernel.org; Qiang Zhao; Russell King;
> Bhupesh Sharma; Joerg Roedel; Claudiu Manoil; devicetree@vger.kernel.org;
> Kumar Gala; Rob Herring; Santosh Shilimkar; linux-arm-
> kernel@lists.infradead.org; netdev@vger.kernel.org; linux-
> mmc@vger.kernel.org; Xiaobo Xie; Yang-Leo Li; iommu@lists.linux-
> foundation.org
> Subject: RE: [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms
> 
> Hi Arnd,
> 
> Could you comment on these?
> Thanks.
> 
> 
> Best regards,
> Yangbo Lu
> 
> 
> > -----Original Message-----
> > From: Scott Wood [mailto:oss@buserror.net]
> > Sent: Saturday, June 11, 2016 9:51 AM
> > To: Arnd Bergmann; linuxppc-dev@lists.ozlabs.org
> > Cc: Mark Rutland; Ulf Hansson; linux-kernel@vger.kernel.org; linux-
> > i2c@vger.kernel.org; linux-clk@vger.kernel.org; Qiang Zhao; Russell
> > King; Bhupesh Sharma; Joerg Roedel; Claudiu Manoil;
> > devicetree@vger.kernel.org; Kumar Gala; Rob Herring; Santosh
> > Shilimkar; linux-arm- kernel@lists.infradead.org;
> > netdev@vger.kernel.org; linux- mmc@vger.kernel.org; Xiaobo Xie;
> > Yang-Leo Li; iommu@lists.linux- foundation.org; Yangbo Lu
> > Subject: Re: [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms
> >
> > On Thu, 2016-06-02 at 10:43 +0200, Arnd Bergmann wrote:
> > > On Wednesday, June 1, 2016 8:47:22 PM CEST Scott Wood wrote:
> > > > On Mon, 2016-05-30 at 15:15 +0200, Arnd Bergmann wrote:
> > > > > diff --git a/drivers/soc/fsl/guts.c b/drivers/soc/fsl/guts.c new
> > > > > file mode 100644 index 000000000000..2f30698f5bcf
> > > > > --- /dev/null
> > > > > +++ b/drivers/soc/fsl/guts.c
> > > > > @@ -0,0 +1,130 @@
> > > > > +/*
> > > > > + * Freescale QorIQ Platforms GUTS Driver
> > > > > + *
> > > > > + * Copyright (C) 2016 Freescale Semiconductor, Inc.
> > > > > + *
> > > > > + * This program is free software; you can redistribute it
> > > > > +and/or modify
> > > > > + * it under the terms of the GNU General Public License as
> > > > > +published by
> > > > > + * the Free Software Foundation; either version 2 of the
> > > > > +License, or
> > > > > + * (at your option) any later version.
> > > > > + */
> > > > > +
> > > > > +#include <linux/io.h>
> > > > > +#include <linux/platform_device.h> #include <linux/module.h>
> > > > > +#include <linux/slab.h> #include <linux/of_address.h> #include
> > > > > +<linux/of_platform.h> #include <linux/sys_soc.h>
> > > > > +
> > > > > +#define GUTS_PVR	0x0a0
> > > > > +#define GUTS_SVR	0x0a4
> > > > > +
> > > > > +struct guts {
> > > > > +	void __iomem *regs;
> > > >
> > > > We already have a struct to define guts.  Why are you not using it?
> > > > Why do you consider using it to be "abuse"?  What if we want to
> > > > move more guts functionality into this driver?
> > >
> > > This structure was in the original patch, I left it in there, only
> > > removed the inclusion of the powerpc header file, which seemed to be
> > > misplaced.
> >
> > I'm not refering "struct guts".  I'm referring to changing "struct
> > ccsr_guts __iomem *regs" into "void __iomem *regs".
> >
> > And it's not a powerpc header file.
> >
> > > > > +/*
> > > > > + * Table for matching compatible strings, for device tree
> > > > > + * guts node, for Freescale QorIQ SOCs.
> > > > > + */
> > > > > +static const struct of_device_id fsl_guts_of_match[] = {
> > > > > +	/* For T4 & B4 Series SOCs */
> > > > > +	{ .compatible = "fsl,qoriq-device-config-1.0", .data = "T4/B4
> > > > > series" },
> > > > [snip]
> > > > > +	{ .compatible = "fsl,qoriq-device-config-2.0", .data = "P
> > > > > series"
> > > >
> > > > As noted in my comment on patch 3/4, these descriptions are
> reversed.
> > > >
> > > > They're also incomplete.  t2080 has device config 2.0.  t1040 is
> > > > described as
> > > > 2.0 though it should probably be 2.1 (or better, drop the generic
> > > > compatible altogether).
> > >
> > > Ok. Ideally I think we'd even look up the specific SoC names from
> > > the SVC rather than the compatible string. I just didn't have a good
> > > list for those to put in the driver.
> >
> > The list is in arch/powerpc/include/asm/mpc85xx.h but I don't know why
> > we need to convert it to a string in the first place.
> >
> > >
> > > > > +	/*
> > > > > +	 * syscon devices default to little-endian, but on powerpc we
> > > > > have
> > > > > +	 * existing device trees with big-endian maps and an absent
> > > > > endianess
> > > > > +	 * "big-property"
> > > > > +	 */
> > > > > +	if (!IS_ENABLED(CONFIG_POWERPC) &&
> > > > > +	    !of_property_read_bool(dev->of_node, "big-endian"))
> > > > > +		guts->little_endian = true;
> > > >
> > > > This is not a syscon device (Yangbo's patch to add a guts node on
> > > > ls2080 is the only guts node that says "syscon", and that was a
> > > > leftover from earlier revisions and should probably be removed).
> > > > Even if it were, where is it documented that syscon defaults to
> > > > little-endian?
> > >
> > > Documentation/devicetree/bindings/regmap/regmap.txt
> > >
> > > We had a little screwup here, basically regmap (and by consequence,
> > > syscon) always defaulted to little-endian way before that was
> > > documented, so it's too late to change it,
> >
> > What causes a device node to fall under the jurisdiction of regmap.txt?
> >  Again, these nodes do not claim "syscon" compatibility.
> >
> > > although I agree it would have made sense to document regmap to
> > > default to big-endian on powerpc.
> >
> > Please don't.  It's enough of a mess as is; no need to start throwing
> > in architecture ifdefs.
> >
> > > > Documentation/devicetree/bindings/common-properties.txt says that
> > > > the individual binding specifies the default.  The default for
> > > > this node should be big-endian because that's what existed before
> > > > there was a need to describe the endianness.  And we need an
> > > > update to the guts binding to specify that.
> > >
> > > Good point. This proably means that specifying both the "guts" and
> > "syscon"
> > > compatible strings implies having to also specify the endianess
> > > explicitly both ways, because otherwise we break one of the two
> > bindings.
> >
> > Yes, but the node should only specify "guts".
> >
> > >
> > > > > +
> > > > > +	guts->regs = devm_ioremap_resource(dev, 0);
> > > > > +	if (!guts->regs) {
> > > > > +		ret = -ENOMEM;
> > > > > +		kfree(guts);
> > > > > +		goto out;
> > > > > +	}
> > > > > +
> > > > > +	fsl_guts_init(dev, guts);
> > > > > +	ret = 0;
> > > > > +out:
> > > > > +	return ret;
> > > > > +}
> > > > > +
> > > > > +static struct platform_driver fsl_soc_guts = {
> > > > > +	.probe = fsl_guts_probe,
> > > > > +	.driver.of_match_table = fsl_guts_of_match, };
> > > > > +
> > > > > +module_platform_driver(fsl_soc_guts);
> > > >
> > > > Again, this means that the information is not available during
> > > > early boot, such as in the clock driver.  Thus we would not be
> > > > able to convert clk -qoriq's direct mfspr(SPRN_SVR) into an
> > > > soc_device_match() (or anything else that makes use of this file),
> > > > nor would we be able to move its access of the guts RCW registers
> > > > into this driver.
> > >
> > > Correct. Do we have a reason to convert the mfspr() though? I don't
> > > really see an improvement over the current state if we do that,
> >
> > Then should we drop this patchset and put a similar PPC ifdef in
> > drivers/mmc/host/sdhci-of-esdhc.c?
> >
> > There's also the RCW access.  You said in the patch 4/4 discussion
> > that you di dn't like any random driver ioremapping the registers...
> >
> > > and for new devices
> > > that might need the erratum workaround, we could add a DT property
> > > that would be preferred to both.
> >
> > It's unlikely that we would know the erratum exists at the time the
> > device tree is created.  We also generally don't have separate device
> > trees for each revision of a chip (and if we did, we'd have users that
> > use the wrong one).
> >
> > -Scott

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

WARNING: multiple messages have this Message-ID (diff)
From: Yangbo Lu <yangbo.lu-3arQi8VN3Tc@public.gmane.org>
To: Scott Wood <oss-fOR+EgIDQEHk1uMJSBkQmQ@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	"linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org"
	<linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>
Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Ulf Hansson <ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Bhupesh Sharma
	<bhupesh.sharma-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	"netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Santosh Shilimkar
	<ssantosh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	"linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Xiaobo Xie <xiaobo.xie-3arQi8VN3Tc@public.gmane.org>,
	"iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
	<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	"linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Claudiu Manoil
	<claudiu.manoil-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	Yang-Leo Li <leoyang.li-3arQi8VN3Tc@public.gmane.org>,
	"linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: RE: [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms
Date: Thu, 7 Jul 2016 02:35:33 +0000	[thread overview]
Message-ID: <HE1PR04MB0889646206BFAD68046F3473F83B0@HE1PR04MB0889.eurprd04.prod.outlook.com> (raw)
In-Reply-To: 1465609853.22191.151.camel@buserror.net

Hi Arnd,

Could you reply when you see the email?
If your method doesn’t resolve the problem, we still want to use our old patchset.

This guts driver had been discussed about one year and blocked many workaround upstream.
So please help to review and comment soon.

Thanks a lot.


Best regards,
Yangbo Lu

> -----Original Message-----
> From: Yangbo Lu
> Sent: Thursday, June 23, 2016 10:46 AM
> To: 'Scott Wood'; Arnd Bergmann; linuxppc-dev@lists.ozlabs.org
> Cc: Mark Rutland; Ulf Hansson; linux-kernel@vger.kernel.org; linux-
> i2c@vger.kernel.org; linux-clk@vger.kernel.org; Qiang Zhao; Russell King;
> Bhupesh Sharma; Joerg Roedel; Claudiu Manoil; devicetree@vger.kernel.org;
> Kumar Gala; Rob Herring; Santosh Shilimkar; linux-arm-
> kernel@lists.infradead.org; netdev@vger.kernel.org; linux-
> mmc@vger.kernel.org; Xiaobo Xie; Yang-Leo Li; iommu@lists.linux-
> foundation.org
> Subject: RE: [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms
> 
> Hi Arnd,
> 
> Could you comment on these?
> Thanks.
> 
> 
> Best regards,
> Yangbo Lu
> 
> 
> > -----Original Message-----
> > From: Scott Wood [mailto:oss@buserror.net]
> > Sent: Saturday, June 11, 2016 9:51 AM
> > To: Arnd Bergmann; linuxppc-dev@lists.ozlabs.org
> > Cc: Mark Rutland; Ulf Hansson; linux-kernel@vger.kernel.org; linux-
> > i2c@vger.kernel.org; linux-clk@vger.kernel.org; Qiang Zhao; Russell
> > King; Bhupesh Sharma; Joerg Roedel; Claudiu Manoil;
> > devicetree@vger.kernel.org; Kumar Gala; Rob Herring; Santosh
> > Shilimkar; linux-arm- kernel@lists.infradead.org;
> > netdev@vger.kernel.org; linux- mmc@vger.kernel.org; Xiaobo Xie;
> > Yang-Leo Li; iommu@lists.linux- foundation.org; Yangbo Lu
> > Subject: Re: [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms
> >
> > On Thu, 2016-06-02 at 10:43 +0200, Arnd Bergmann wrote:
> > > On Wednesday, June 1, 2016 8:47:22 PM CEST Scott Wood wrote:
> > > > On Mon, 2016-05-30 at 15:15 +0200, Arnd Bergmann wrote:
> > > > > diff --git a/drivers/soc/fsl/guts.c b/drivers/soc/fsl/guts.c new
> > > > > file mode 100644 index 000000000000..2f30698f5bcf
> > > > > --- /dev/null
> > > > > +++ b/drivers/soc/fsl/guts.c
> > > > > @@ -0,0 +1,130 @@
> > > > > +/*
> > > > > + * Freescale QorIQ Platforms GUTS Driver
> > > > > + *
> > > > > + * Copyright (C) 2016 Freescale Semiconductor, Inc.
> > > > > + *
> > > > > + * This program is free software; you can redistribute it
> > > > > +and/or modify
> > > > > + * it under the terms of the GNU General Public License as
> > > > > +published by
> > > > > + * the Free Software Foundation; either version 2 of the
> > > > > +License, or
> > > > > + * (at your option) any later version.
> > > > > + */
> > > > > +
> > > > > +#include <linux/io.h>
> > > > > +#include <linux/platform_device.h> #include <linux/module.h>
> > > > > +#include <linux/slab.h> #include <linux/of_address.h> #include
> > > > > +<linux/of_platform.h> #include <linux/sys_soc.h>
> > > > > +
> > > > > +#define GUTS_PVR	0x0a0
> > > > > +#define GUTS_SVR	0x0a4
> > > > > +
> > > > > +struct guts {
> > > > > +	void __iomem *regs;
> > > >
> > > > We already have a struct to define guts.  Why are you not using it?
> > > > Why do you consider using it to be "abuse"?  What if we want to
> > > > move more guts functionality into this driver?
> > >
> > > This structure was in the original patch, I left it in there, only
> > > removed the inclusion of the powerpc header file, which seemed to be
> > > misplaced.
> >
> > I'm not refering "struct guts".  I'm referring to changing "struct
> > ccsr_guts __iomem *regs" into "void __iomem *regs".
> >
> > And it's not a powerpc header file.
> >
> > > > > +/*
> > > > > + * Table for matching compatible strings, for device tree
> > > > > + * guts node, for Freescale QorIQ SOCs.
> > > > > + */
> > > > > +static const struct of_device_id fsl_guts_of_match[] = {
> > > > > +	/* For T4 & B4 Series SOCs */
> > > > > +	{ .compatible = "fsl,qoriq-device-config-1.0", .data = "T4/B4
> > > > > series" },
> > > > [snip]
> > > > > +	{ .compatible = "fsl,qoriq-device-config-2.0", .data = "P
> > > > > series"
> > > >
> > > > As noted in my comment on patch 3/4, these descriptions are
> reversed.
> > > >
> > > > They're also incomplete.  t2080 has device config 2.0.  t1040 is
> > > > described as
> > > > 2.0 though it should probably be 2.1 (or better, drop the generic
> > > > compatible altogether).
> > >
> > > Ok. Ideally I think we'd even look up the specific SoC names from
> > > the SVC rather than the compatible string. I just didn't have a good
> > > list for those to put in the driver.
> >
> > The list is in arch/powerpc/include/asm/mpc85xx.h but I don't know why
> > we need to convert it to a string in the first place.
> >
> > >
> > > > > +	/*
> > > > > +	 * syscon devices default to little-endian, but on powerpc we
> > > > > have
> > > > > +	 * existing device trees with big-endian maps and an absent
> > > > > endianess
> > > > > +	 * "big-property"
> > > > > +	 */
> > > > > +	if (!IS_ENABLED(CONFIG_POWERPC) &&
> > > > > +	    !of_property_read_bool(dev->of_node, "big-endian"))
> > > > > +		guts->little_endian = true;
> > > >
> > > > This is not a syscon device (Yangbo's patch to add a guts node on
> > > > ls2080 is the only guts node that says "syscon", and that was a
> > > > leftover from earlier revisions and should probably be removed).
> > > > Even if it were, where is it documented that syscon defaults to
> > > > little-endian?
> > >
> > > Documentation/devicetree/bindings/regmap/regmap.txt
> > >
> > > We had a little screwup here, basically regmap (and by consequence,
> > > syscon) always defaulted to little-endian way before that was
> > > documented, so it's too late to change it,
> >
> > What causes a device node to fall under the jurisdiction of regmap.txt?
> >  Again, these nodes do not claim "syscon" compatibility.
> >
> > > although I agree it would have made sense to document regmap to
> > > default to big-endian on powerpc.
> >
> > Please don't.  It's enough of a mess as is; no need to start throwing
> > in architecture ifdefs.
> >
> > > > Documentation/devicetree/bindings/common-properties.txt says that
> > > > the individual binding specifies the default.  The default for
> > > > this node should be big-endian because that's what existed before
> > > > there was a need to describe the endianness.  And we need an
> > > > update to the guts binding to specify that.
> > >
> > > Good point. This proably means that specifying both the "guts" and
> > "syscon"
> > > compatible strings implies having to also specify the endianess
> > > explicitly both ways, because otherwise we break one of the two
> > bindings.
> >
> > Yes, but the node should only specify "guts".
> >
> > >
> > > > > +
> > > > > +	guts->regs = devm_ioremap_resource(dev, 0);
> > > > > +	if (!guts->regs) {
> > > > > +		ret = -ENOMEM;
> > > > > +		kfree(guts);
> > > > > +		goto out;
> > > > > +	}
> > > > > +
> > > > > +	fsl_guts_init(dev, guts);
> > > > > +	ret = 0;
> > > > > +out:
> > > > > +	return ret;
> > > > > +}
> > > > > +
> > > > > +static struct platform_driver fsl_soc_guts = {
> > > > > +	.probe = fsl_guts_probe,
> > > > > +	.driver.of_match_table = fsl_guts_of_match, };
> > > > > +
> > > > > +module_platform_driver(fsl_soc_guts);
> > > >
> > > > Again, this means that the information is not available during
> > > > early boot, such as in the clock driver.  Thus we would not be
> > > > able to convert clk -qoriq's direct mfspr(SPRN_SVR) into an
> > > > soc_device_match() (or anything else that makes use of this file),
> > > > nor would we be able to move its access of the guts RCW registers
> > > > into this driver.
> > >
> > > Correct. Do we have a reason to convert the mfspr() though? I don't
> > > really see an improvement over the current state if we do that,
> >
> > Then should we drop this patchset and put a similar PPC ifdef in
> > drivers/mmc/host/sdhci-of-esdhc.c?
> >
> > There's also the RCW access.  You said in the patch 4/4 discussion
> > that you di dn't like any random driver ioremapping the registers...
> >
> > > and for new devices
> > > that might need the erratum workaround, we could add a DT property
> > > that would be preferred to both.
> >
> > It's unlikely that we would know the erratum exists at the time the
> > device tree is created.  We also generally don't have separate device
> > trees for each revision of a chip (and if we did, we'd have users that
> > use the wrong one).
> >
> > -Scott

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

WARNING: multiple messages have this Message-ID (diff)
From: Yangbo Lu <yangbo.lu@nxp.com>
To: Scott Wood <oss@buserror.net>, Arnd Bergmann <arnd@arndb.de>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Russell King <linux@arm.linux.org.uk>,
	Bhupesh Sharma <bhupesh.sharma@freescale.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	Joerg Roedel <joro@8bytes.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Xiaobo Xie <xiaobo.xie@nxp.com>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	Rob Herring <robh+dt@kernel.org>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
	Claudiu Manoil <claudiu.manoil@freescale.com>,
	Kumar Gala <galak@codeaurora.org>,
	Yang-Leo Li <leoyang.li@nxp.com>,
	"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	Qiang Zhao <qiang.zhao@nxp.com>
Subject: RE: [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms
Date: Thu, 7 Jul 2016 02:35:33 +0000	[thread overview]
Message-ID: <HE1PR04MB0889646206BFAD68046F3473F83B0@HE1PR04MB0889.eurprd04.prod.outlook.com> (raw)
In-Reply-To: 1465609853.22191.151.camel@buserror.net

SGkgQXJuZCwNCg0KQ291bGQgeW91IHJlcGx5IHdoZW4geW91IHNlZSB0aGUgZW1haWw/DQpJZiB5
b3VyIG1ldGhvZCBkb2VzbuKAmXQgcmVzb2x2ZSB0aGUgcHJvYmxlbSwgd2Ugc3RpbGwgd2FudCB0
byB1c2Ugb3VyIG9sZCBwYXRjaHNldC4NCg0KVGhpcyBndXRzIGRyaXZlciBoYWQgYmVlbiBkaXNj
dXNzZWQgYWJvdXQgb25lIHllYXIgYW5kIGJsb2NrZWQgbWFueSB3b3JrYXJvdW5kIHVwc3RyZWFt
Lg0KU28gcGxlYXNlIGhlbHAgdG8gcmV2aWV3IGFuZCBjb21tZW50IHNvb24uDQoNClRoYW5rcyBh
IGxvdC4NCg0KDQpCZXN0IHJlZ2FyZHMsDQpZYW5nYm8gTHUNCg0KPiAtLS0tLU9yaWdpbmFsIE1l
c3NhZ2UtLS0tLQ0KPiBGcm9tOiBZYW5nYm8gTHUNCj4gU2VudDogVGh1cnNkYXksIEp1bmUgMjMs
IDIwMTYgMTA6NDYgQU0NCj4gVG86ICdTY290dCBXb29kJzsgQXJuZCBCZXJnbWFubjsgbGludXhw
cGMtZGV2QGxpc3RzLm96bGFicy5vcmcNCj4gQ2M6IE1hcmsgUnV0bGFuZDsgVWxmIEhhbnNzb247
IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LQ0KPiBpMmNAdmdlci5rZXJuZWwu
b3JnOyBsaW51eC1jbGtAdmdlci5rZXJuZWwub3JnOyBRaWFuZyBaaGFvOyBSdXNzZWxsIEtpbmc7
DQo+IEJodXBlc2ggU2hhcm1hOyBKb2VyZyBSb2VkZWw7IENsYXVkaXUgTWFub2lsOyBkZXZpY2V0
cmVlQHZnZXIua2VybmVsLm9yZzsNCj4gS3VtYXIgR2FsYTsgUm9iIEhlcnJpbmc7IFNhbnRvc2gg
U2hpbGlta2FyOyBsaW51eC1hcm0tDQo+IGtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOyBuZXRk
ZXZAdmdlci5rZXJuZWwub3JnOyBsaW51eC0NCj4gbW1jQHZnZXIua2VybmVsLm9yZzsgWGlhb2Jv
IFhpZTsgWWFuZy1MZW8gTGk7IGlvbW11QGxpc3RzLmxpbnV4LQ0KPiBmb3VuZGF0aW9uLm9yZw0K
PiBTdWJqZWN0OiBSRTogW1BBVENIIDIvNF0gc29jOiBmc2w6IGFkZCBHVVRTIGRyaXZlciBmb3Ig
UW9ySVEgcGxhdGZvcm1zDQo+IA0KPiBIaSBBcm5kLA0KPiANCj4gQ291bGQgeW91IGNvbW1lbnQg
b24gdGhlc2U/DQo+IFRoYW5rcy4NCj4gDQo+IA0KPiBCZXN0IHJlZ2FyZHMsDQo+IFlhbmdibyBM
dQ0KPiANCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBTY290
dCBXb29kIFttYWlsdG86b3NzQGJ1c2Vycm9yLm5ldF0NCj4gPiBTZW50OiBTYXR1cmRheSwgSnVu
ZSAxMSwgMjAxNiA5OjUxIEFNDQo+ID4gVG86IEFybmQgQmVyZ21hbm47IGxpbnV4cHBjLWRldkBs
aXN0cy5vemxhYnMub3JnDQo+ID4gQ2M6IE1hcmsgUnV0bGFuZDsgVWxmIEhhbnNzb247IGxpbnV4
LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LQ0KPiA+IGkyY0B2Z2VyLmtlcm5lbC5vcmc7
IGxpbnV4LWNsa0B2Z2VyLmtlcm5lbC5vcmc7IFFpYW5nIFpoYW87IFJ1c3NlbGwNCj4gPiBLaW5n
OyBCaHVwZXNoIFNoYXJtYTsgSm9lcmcgUm9lZGVsOyBDbGF1ZGl1IE1hbm9pbDsNCj4gPiBkZXZp
Y2V0cmVlQHZnZXIua2VybmVsLm9yZzsgS3VtYXIgR2FsYTsgUm9iIEhlcnJpbmc7IFNhbnRvc2gN
Cj4gPiBTaGlsaW1rYXI7IGxpbnV4LWFybS0ga2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7DQo+
ID4gbmV0ZGV2QHZnZXIua2VybmVsLm9yZzsgbGludXgtIG1tY0B2Z2VyLmtlcm5lbC5vcmc7IFhp
YW9ibyBYaWU7DQo+ID4gWWFuZy1MZW8gTGk7IGlvbW11QGxpc3RzLmxpbnV4LSBmb3VuZGF0aW9u
Lm9yZzsgWWFuZ2JvIEx1DQo+ID4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzRdIHNvYzogZnNsOiBh
ZGQgR1VUUyBkcml2ZXIgZm9yIFFvcklRIHBsYXRmb3Jtcw0KPiA+DQo+ID4gT24gVGh1LCAyMDE2
LTA2LTAyIGF0IDEwOjQzICswMjAwLCBBcm5kIEJlcmdtYW5uIHdyb3RlOg0KPiA+ID4gT24gV2Vk
bmVzZGF5LCBKdW5lIDEsIDIwMTYgODo0NzoyMiBQTSBDRVNUIFNjb3R0IFdvb2Qgd3JvdGU6DQo+
ID4gPiA+IE9uIE1vbiwgMjAxNi0wNS0zMCBhdCAxNToxNSArMDIwMCwgQXJuZCBCZXJnbWFubiB3
cm90ZToNCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvZnNsL2d1dHMuYyBiL2Ry
aXZlcnMvc29jL2ZzbC9ndXRzLmMgbmV3DQo+ID4gPiA+ID4gZmlsZSBtb2RlIDEwMDY0NCBpbmRl
eCAwMDAwMDAwMDAwMDAuLjJmMzA2OThmNWJjZg0KPiA+ID4gPiA+IC0tLSAvZGV2L251bGwNCj4g
PiA+ID4gPiArKysgYi9kcml2ZXJzL3NvYy9mc2wvZ3V0cy5jDQo+ID4gPiA+ID4gQEAgLTAsMCAr
MSwxMzAgQEANCj4gPiA+ID4gPiArLyoNCj4gPiA+ID4gPiArICogRnJlZXNjYWxlIFFvcklRIFBs
YXRmb3JtcyBHVVRTIERyaXZlcg0KPiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBDb3B5cmln
aHQgKEMpIDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4NCj4gPiA+ID4gPiArICoN
Cj4gPiA+ID4gPiArICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0DQo+ID4gPiA+ID4gK2FuZC9vciBtb2RpZnkNCj4gPiA+ID4gPiArICogaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcw0KPiA+
ID4gPiA+ICtwdWJsaXNoZWQgYnkNCj4gPiA+ID4gPiArICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUNCj4gPiA+ID4gPiArTGljZW5zZSwgb3IN
Cj4gPiA+ID4gPiArICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCj4gPiA+
ID4gPiArICovDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsjaW5jbHVkZSA8bGludXgvaW8uaD4N
Cj4gPiA+ID4gPiArI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPiAjaW5jbHVkZSA8
bGludXgvbW9kdWxlLmg+DQo+ID4gPiA+ID4gKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+ICNpbmNs
dWRlIDxsaW51eC9vZl9hZGRyZXNzLmg+ICNpbmNsdWRlDQo+ID4gPiA+ID4gKzxsaW51eC9vZl9w
bGF0Zm9ybS5oPiAjaW5jbHVkZSA8bGludXgvc3lzX3NvYy5oPg0KPiA+ID4gPiA+ICsNCj4gPiA+
ID4gPiArI2RlZmluZSBHVVRTX1BWUgkweDBhMA0KPiA+ID4gPiA+ICsjZGVmaW5lIEdVVFNfU1ZS
CTB4MGE0DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICtzdHJ1Y3QgZ3V0cyB7DQo+ID4gPiA+ID4g
Kwl2b2lkIF9faW9tZW0gKnJlZ3M7DQo+ID4gPiA+DQo+ID4gPiA+IFdlIGFscmVhZHkgaGF2ZSBh
IHN0cnVjdCB0byBkZWZpbmUgZ3V0cy4gIFdoeSBhcmUgeW91IG5vdCB1c2luZyBpdD8NCj4gPiA+
ID4gV2h5IGRvIHlvdSBjb25zaWRlciB1c2luZyBpdCB0byBiZSAiYWJ1c2UiPyAgV2hhdCBpZiB3
ZSB3YW50IHRvDQo+ID4gPiA+IG1vdmUgbW9yZSBndXRzIGZ1bmN0aW9uYWxpdHkgaW50byB0aGlz
IGRyaXZlcj8NCj4gPiA+DQo+ID4gPiBUaGlzIHN0cnVjdHVyZSB3YXMgaW4gdGhlIG9yaWdpbmFs
IHBhdGNoLCBJIGxlZnQgaXQgaW4gdGhlcmUsIG9ubHkNCj4gPiA+IHJlbW92ZWQgdGhlIGluY2x1
c2lvbiBvZiB0aGUgcG93ZXJwYyBoZWFkZXIgZmlsZSwgd2hpY2ggc2VlbWVkIHRvIGJlDQo+ID4g
PiBtaXNwbGFjZWQuDQo+ID4NCj4gPiBJJ20gbm90IHJlZmVyaW5nICJzdHJ1Y3QgZ3V0cyIuICBJ
J20gcmVmZXJyaW5nIHRvIGNoYW5naW5nICJzdHJ1Y3QNCj4gPiBjY3NyX2d1dHMgX19pb21lbSAq
cmVncyIgaW50byAidm9pZCBfX2lvbWVtICpyZWdzIi4NCj4gPg0KPiA+IEFuZCBpdCdzIG5vdCBh
IHBvd2VycGMgaGVhZGVyIGZpbGUuDQo+ID4NCj4gPiA+ID4gPiArLyoNCj4gPiA+ID4gPiArICog
VGFibGUgZm9yIG1hdGNoaW5nIGNvbXBhdGlibGUgc3RyaW5ncywgZm9yIGRldmljZSB0cmVlDQo+
ID4gPiA+ID4gKyAqIGd1dHMgbm9kZSwgZm9yIEZyZWVzY2FsZSBRb3JJUSBTT0NzLg0KPiA+ID4g
PiA+ICsgKi8NCj4gPiA+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgZnNs
X2d1dHNfb2ZfbWF0Y2hbXSA9IHsNCj4gPiA+ID4gPiArCS8qIEZvciBUNCAmIEI0IFNlcmllcyBT
T0NzICovDQo+ID4gPiA+ID4gKwl7IC5jb21wYXRpYmxlID0gImZzbCxxb3JpcS1kZXZpY2UtY29u
ZmlnLTEuMCIsIC5kYXRhID0gIlQ0L0I0DQo+ID4gPiA+ID4gc2VyaWVzIiB9LA0KPiA+ID4gPiBb
c25pcF0NCj4gPiA+ID4gPiArCXsgLmNvbXBhdGlibGUgPSAiZnNsLHFvcmlxLWRldmljZS1jb25m
aWctMi4wIiwgLmRhdGEgPSAiUA0KPiA+ID4gPiA+IHNlcmllcyINCj4gPiA+ID4NCj4gPiA+ID4g
QXMgbm90ZWQgaW4gbXkgY29tbWVudCBvbiBwYXRjaCAzLzQsIHRoZXNlIGRlc2NyaXB0aW9ucyBh
cmUNCj4gcmV2ZXJzZWQuDQo+ID4gPiA+DQo+ID4gPiA+IFRoZXkncmUgYWxzbyBpbmNvbXBsZXRl
LiAgdDIwODAgaGFzIGRldmljZSBjb25maWcgMi4wLiAgdDEwNDAgaXMNCj4gPiA+ID4gZGVzY3Jp
YmVkIGFzDQo+ID4gPiA+IDIuMCB0aG91Z2ggaXQgc2hvdWxkIHByb2JhYmx5IGJlIDIuMSAob3Ig
YmV0dGVyLCBkcm9wIHRoZSBnZW5lcmljDQo+ID4gPiA+IGNvbXBhdGlibGUgYWx0b2dldGhlciku
DQo+ID4gPg0KPiA+ID4gT2suIElkZWFsbHkgSSB0aGluayB3ZSdkIGV2ZW4gbG9vayB1cCB0aGUg
c3BlY2lmaWMgU29DIG5hbWVzIGZyb20NCj4gPiA+IHRoZSBTVkMgcmF0aGVyIHRoYW4gdGhlIGNv
bXBhdGlibGUgc3RyaW5nLiBJIGp1c3QgZGlkbid0IGhhdmUgYSBnb29kDQo+ID4gPiBsaXN0IGZv
ciB0aG9zZSB0byBwdXQgaW4gdGhlIGRyaXZlci4NCj4gPg0KPiA+IFRoZSBsaXN0IGlzIGluIGFy
Y2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9tcGM4NXh4LmggYnV0IEkgZG9uJ3Qga25vdyB3aHkNCj4g
PiB3ZSBuZWVkIHRvIGNvbnZlcnQgaXQgdG8gYSBzdHJpbmcgaW4gdGhlIGZpcnN0IHBsYWNlLg0K
PiA+DQo+ID4gPg0KPiA+ID4gPiA+ICsJLyoNCj4gPiA+ID4gPiArCSAqIHN5c2NvbiBkZXZpY2Vz
IGRlZmF1bHQgdG8gbGl0dGxlLWVuZGlhbiwgYnV0IG9uIHBvd2VycGMgd2UNCj4gPiA+ID4gPiBo
YXZlDQo+ID4gPiA+ID4gKwkgKiBleGlzdGluZyBkZXZpY2UgdHJlZXMgd2l0aCBiaWctZW5kaWFu
IG1hcHMgYW5kIGFuIGFic2VudA0KPiA+ID4gPiA+IGVuZGlhbmVzcw0KPiA+ID4gPiA+ICsJICog
ImJpZy1wcm9wZXJ0eSINCj4gPiA+ID4gPiArCSAqLw0KPiA+ID4gPiA+ICsJaWYgKCFJU19FTkFC
TEVEKENPTkZJR19QT1dFUlBDKSAmJg0KPiA+ID4gPiA+ICsJICAgICFvZl9wcm9wZXJ0eV9yZWFk
X2Jvb2woZGV2LT5vZl9ub2RlLCAiYmlnLWVuZGlhbiIpKQ0KPiA+ID4gPiA+ICsJCWd1dHMtPmxp
dHRsZV9lbmRpYW4gPSB0cnVlOw0KPiA+ID4gPg0KPiA+ID4gPiBUaGlzIGlzIG5vdCBhIHN5c2Nv
biBkZXZpY2UgKFlhbmdibydzIHBhdGNoIHRvIGFkZCBhIGd1dHMgbm9kZSBvbg0KPiA+ID4gPiBs
czIwODAgaXMgdGhlIG9ubHkgZ3V0cyBub2RlIHRoYXQgc2F5cyAic3lzY29uIiwgYW5kIHRoYXQg
d2FzIGENCj4gPiA+ID4gbGVmdG92ZXIgZnJvbSBlYXJsaWVyIHJldmlzaW9ucyBhbmQgc2hvdWxk
IHByb2JhYmx5IGJlIHJlbW92ZWQpLg0KPiA+ID4gPiBFdmVuIGlmIGl0IHdlcmUsIHdoZXJlIGlz
IGl0IGRvY3VtZW50ZWQgdGhhdCBzeXNjb24gZGVmYXVsdHMgdG8NCj4gPiA+ID4gbGl0dGxlLWVu
ZGlhbj8NCj4gPiA+DQo+ID4gPiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcmVn
bWFwL3JlZ21hcC50eHQNCj4gPiA+DQo+ID4gPiBXZSBoYWQgYSBsaXR0bGUgc2NyZXd1cCBoZXJl
LCBiYXNpY2FsbHkgcmVnbWFwIChhbmQgYnkgY29uc2VxdWVuY2UsDQo+ID4gPiBzeXNjb24pIGFs
d2F5cyBkZWZhdWx0ZWQgdG8gbGl0dGxlLWVuZGlhbiB3YXkgYmVmb3JlIHRoYXQgd2FzDQo+ID4g
PiBkb2N1bWVudGVkLCBzbyBpdCdzIHRvbyBsYXRlIHRvIGNoYW5nZSBpdCwNCj4gPg0KPiA+IFdo
YXQgY2F1c2VzIGEgZGV2aWNlIG5vZGUgdG8gZmFsbCB1bmRlciB0aGUganVyaXNkaWN0aW9uIG9m
IHJlZ21hcC50eHQ/DQo+ID4gIEFnYWluLCB0aGVzZSBub2RlcyBkbyBub3QgY2xhaW0gInN5c2Nv
biIgY29tcGF0aWJpbGl0eS4NCj4gPg0KPiA+ID4gYWx0aG91Z2ggSSBhZ3JlZSBpdCB3b3VsZCBo
YXZlIG1hZGUgc2Vuc2UgdG8gZG9jdW1lbnQgcmVnbWFwIHRvDQo+ID4gPiBkZWZhdWx0IHRvIGJp
Zy1lbmRpYW4gb24gcG93ZXJwYy4NCj4gPg0KPiA+IFBsZWFzZSBkb24ndC4gIEl0J3MgZW5vdWdo
IG9mIGEgbWVzcyBhcyBpczsgbm8gbmVlZCB0byBzdGFydCB0aHJvd2luZw0KPiA+IGluIGFyY2hp
dGVjdHVyZSBpZmRlZnMuDQo+ID4NCj4gPiA+ID4gRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp
bmRpbmdzL2NvbW1vbi1wcm9wZXJ0aWVzLnR4dCBzYXlzIHRoYXQNCj4gPiA+ID4gdGhlIGluZGl2
aWR1YWwgYmluZGluZyBzcGVjaWZpZXMgdGhlIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBmb3INCj4g
PiA+ID4gdGhpcyBub2RlIHNob3VsZCBiZSBiaWctZW5kaWFuIGJlY2F1c2UgdGhhdCdzIHdoYXQg
ZXhpc3RlZCBiZWZvcmUNCj4gPiA+ID4gdGhlcmUgd2FzIGEgbmVlZCB0byBkZXNjcmliZSB0aGUg
ZW5kaWFubmVzcy4gIEFuZCB3ZSBuZWVkIGFuDQo+ID4gPiA+IHVwZGF0ZSB0byB0aGUgZ3V0cyBi
aW5kaW5nIHRvIHNwZWNpZnkgdGhhdC4NCj4gPiA+DQo+ID4gPiBHb29kIHBvaW50LiBUaGlzIHBy
b2FibHkgbWVhbnMgdGhhdCBzcGVjaWZ5aW5nIGJvdGggdGhlICJndXRzIiBhbmQNCj4gPiAic3lz
Y29uIg0KPiA+ID4gY29tcGF0aWJsZSBzdHJpbmdzIGltcGxpZXMgaGF2aW5nIHRvIGFsc28gc3Bl
Y2lmeSB0aGUgZW5kaWFuZXNzDQo+ID4gPiBleHBsaWNpdGx5IGJvdGggd2F5cywgYmVjYXVzZSBv
dGhlcndpc2Ugd2UgYnJlYWsgb25lIG9mIHRoZSB0d28NCj4gPiBiaW5kaW5ncy4NCj4gPg0KPiA+
IFllcywgYnV0IHRoZSBub2RlIHNob3VsZCBvbmx5IHNwZWNpZnkgImd1dHMiLg0KPiA+DQo+ID4g
Pg0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArCWd1dHMtPnJlZ3MgPSBkZXZtX2lvcmVtYXBfcmVz
b3VyY2UoZGV2LCAwKTsNCj4gPiA+ID4gPiArCWlmICghZ3V0cy0+cmVncykgew0KPiA+ID4gPiA+
ICsJCXJldCA9IC1FTk9NRU07DQo+ID4gPiA+ID4gKwkJa2ZyZWUoZ3V0cyk7DQo+ID4gPiA+ID4g
KwkJZ290byBvdXQ7DQo+ID4gPiA+ID4gKwl9DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsJZnNs
X2d1dHNfaW5pdChkZXYsIGd1dHMpOw0KPiA+ID4gPiA+ICsJcmV0ID0gMDsNCj4gPiA+ID4gPiAr
b3V0Og0KPiA+ID4gPiA+ICsJcmV0dXJuIHJldDsNCj4gPiA+ID4gPiArfQ0KPiA+ID4gPiA+ICsN
Cj4gPiA+ID4gPiArc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgZnNsX3NvY19ndXRzID0g
ew0KPiA+ID4gPiA+ICsJLnByb2JlID0gZnNsX2d1dHNfcHJvYmUsDQo+ID4gPiA+ID4gKwkuZHJp
dmVyLm9mX21hdGNoX3RhYmxlID0gZnNsX2d1dHNfb2ZfbWF0Y2gsIH07DQo+ID4gPiA+ID4gKw0K
PiA+ID4gPiA+ICttb2R1bGVfcGxhdGZvcm1fZHJpdmVyKGZzbF9zb2NfZ3V0cyk7DQo+ID4gPiA+
DQo+ID4gPiA+IEFnYWluLCB0aGlzIG1lYW5zIHRoYXQgdGhlIGluZm9ybWF0aW9uIGlzIG5vdCBh
dmFpbGFibGUgZHVyaW5nDQo+ID4gPiA+IGVhcmx5IGJvb3QsIHN1Y2ggYXMgaW4gdGhlIGNsb2Nr
IGRyaXZlci4gIFRodXMgd2Ugd291bGQgbm90IGJlDQo+ID4gPiA+IGFibGUgdG8gY29udmVydCBj
bGsgLXFvcmlxJ3MgZGlyZWN0IG1mc3ByKFNQUk5fU1ZSKSBpbnRvIGFuDQo+ID4gPiA+IHNvY19k
ZXZpY2VfbWF0Y2goKSAob3IgYW55dGhpbmcgZWxzZSB0aGF0IG1ha2VzIHVzZSBvZiB0aGlzIGZp
bGUpLA0KPiA+ID4gPiBub3Igd291bGQgd2UgYmUgYWJsZSB0byBtb3ZlIGl0cyBhY2Nlc3Mgb2Yg
dGhlIGd1dHMgUkNXIHJlZ2lzdGVycw0KPiA+ID4gPiBpbnRvIHRoaXMgZHJpdmVyLg0KPiA+ID4N
Cj4gPiA+IENvcnJlY3QuIERvIHdlIGhhdmUgYSByZWFzb24gdG8gY29udmVydCB0aGUgbWZzcHIo
KSB0aG91Z2g/IEkgZG9uJ3QNCj4gPiA+IHJlYWxseSBzZWUgYW4gaW1wcm92ZW1lbnQgb3ZlciB0
aGUgY3VycmVudCBzdGF0ZSBpZiB3ZSBkbyB0aGF0LA0KPiA+DQo+ID4gVGhlbiBzaG91bGQgd2Ug
ZHJvcCB0aGlzIHBhdGNoc2V0IGFuZCBwdXQgYSBzaW1pbGFyIFBQQyBpZmRlZiBpbg0KPiA+IGRy
aXZlcnMvbW1jL2hvc3Qvc2RoY2ktb2YtZXNkaGMuYz8NCj4gPg0KPiA+IFRoZXJlJ3MgYWxzbyB0
aGUgUkNXIGFjY2Vzcy4gIFlvdSBzYWlkIGluIHRoZSBwYXRjaCA0LzQgZGlzY3Vzc2lvbg0KPiA+
IHRoYXQgeW91IGRpIGRuJ3QgbGlrZSBhbnkgcmFuZG9tIGRyaXZlciBpb3JlbWFwcGluZyB0aGUg
cmVnaXN0ZXJzLi4uDQo+ID4NCj4gPiA+IGFuZCBmb3IgbmV3IGRldmljZXMNCj4gPiA+IHRoYXQg
bWlnaHQgbmVlZCB0aGUgZXJyYXR1bSB3b3JrYXJvdW5kLCB3ZSBjb3VsZCBhZGQgYSBEVCBwcm9w
ZXJ0eQ0KPiA+ID4gdGhhdCB3b3VsZCBiZSBwcmVmZXJyZWQgdG8gYm90aC4NCj4gPg0KPiA+IEl0
J3MgdW5saWtlbHkgdGhhdCB3ZSB3b3VsZCBrbm93IHRoZSBlcnJhdHVtIGV4aXN0cyBhdCB0aGUg
dGltZSB0aGUNCj4gPiBkZXZpY2UgdHJlZSBpcyBjcmVhdGVkLiAgV2UgYWxzbyBnZW5lcmFsbHkg
ZG9uJ3QgaGF2ZSBzZXBhcmF0ZSBkZXZpY2UNCj4gPiB0cmVlcyBmb3IgZWFjaCByZXZpc2lvbiBv
ZiBhIGNoaXAgKGFuZCBpZiB3ZSBkaWQsIHdlJ2QgaGF2ZSB1c2VycyB0aGF0DQo+ID4gdXNlIHRo
ZSB3cm9uZyBvbmUpLg0KPiA+DQo+ID4gLVNjb3R0DQoNCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cmxp
bnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK

WARNING: multiple messages have this Message-ID (diff)
From: Yangbo Lu <yangbo.lu@nxp.com>
To: Scott Wood <oss@buserror.net>, Arnd Bergmann <arnd@arndb.de>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
	"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
	Qiang Zhao <qiang.zhao@nxp.com>,
	Russell King <linux@arm.linux.org.uk>,
	Bhupesh Sharma <bhupesh.sharma@freescale.com>,
	Joerg Roedel <joro@8bytes.org>,
	"Claudiu Manoil" <claudiu.manoil@freescale.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Kumar Gala <galak@codeaurora.org>,
	Rob Herring <robh+dt@kernel.org>,
	Santosh Shilimkar <ssantosh@kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	Xiaobo Xie <xiaobo.xie@nxp.com>, Yang-Leo Li <leoyang.li@nxp.com>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>
Subject: RE: [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms
Date: Thu, 7 Jul 2016 02:35:33 +0000	[thread overview]
Message-ID: <HE1PR04MB0889646206BFAD68046F3473F83B0@HE1PR04MB0889.eurprd04.prod.outlook.com> (raw)
In-Reply-To: 1465609853.22191.151.camel@buserror.net

SGkgQXJuZCwNCg0KQ291bGQgeW91IHJlcGx5IHdoZW4geW91IHNlZSB0aGUgZW1haWw/DQpJZiB5
b3VyIG1ldGhvZCBkb2VzbuKAmXQgcmVzb2x2ZSB0aGUgcHJvYmxlbSwgd2Ugc3RpbGwgd2FudCB0
byB1c2Ugb3VyIG9sZCBwYXRjaHNldC4NCg0KVGhpcyBndXRzIGRyaXZlciBoYWQgYmVlbiBkaXNj
dXNzZWQgYWJvdXQgb25lIHllYXIgYW5kIGJsb2NrZWQgbWFueSB3b3JrYXJvdW5kIHVwc3RyZWFt
Lg0KU28gcGxlYXNlIGhlbHAgdG8gcmV2aWV3IGFuZCBjb21tZW50IHNvb24uDQoNClRoYW5rcyBh
IGxvdC4NCg0KDQpCZXN0IHJlZ2FyZHMsDQpZYW5nYm8gTHUNCg0KPiAtLS0tLU9yaWdpbmFsIE1l
c3NhZ2UtLS0tLQ0KPiBGcm9tOiBZYW5nYm8gTHUNCj4gU2VudDogVGh1cnNkYXksIEp1bmUgMjMs
IDIwMTYgMTA6NDYgQU0NCj4gVG86ICdTY290dCBXb29kJzsgQXJuZCBCZXJnbWFubjsgbGludXhw
cGMtZGV2QGxpc3RzLm96bGFicy5vcmcNCj4gQ2M6IE1hcmsgUnV0bGFuZDsgVWxmIEhhbnNzb247
IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LQ0KPiBpMmNAdmdlci5rZXJuZWwu
b3JnOyBsaW51eC1jbGtAdmdlci5rZXJuZWwub3JnOyBRaWFuZyBaaGFvOyBSdXNzZWxsIEtpbmc7
DQo+IEJodXBlc2ggU2hhcm1hOyBKb2VyZyBSb2VkZWw7IENsYXVkaXUgTWFub2lsOyBkZXZpY2V0
cmVlQHZnZXIua2VybmVsLm9yZzsNCj4gS3VtYXIgR2FsYTsgUm9iIEhlcnJpbmc7IFNhbnRvc2gg
U2hpbGlta2FyOyBsaW51eC1hcm0tDQo+IGtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOyBuZXRk
ZXZAdmdlci5rZXJuZWwub3JnOyBsaW51eC0NCj4gbW1jQHZnZXIua2VybmVsLm9yZzsgWGlhb2Jv
IFhpZTsgWWFuZy1MZW8gTGk7IGlvbW11QGxpc3RzLmxpbnV4LQ0KPiBmb3VuZGF0aW9uLm9yZw0K
PiBTdWJqZWN0OiBSRTogW1BBVENIIDIvNF0gc29jOiBmc2w6IGFkZCBHVVRTIGRyaXZlciBmb3Ig
UW9ySVEgcGxhdGZvcm1zDQo+IA0KPiBIaSBBcm5kLA0KPiANCj4gQ291bGQgeW91IGNvbW1lbnQg
b24gdGhlc2U/DQo+IFRoYW5rcy4NCj4gDQo+IA0KPiBCZXN0IHJlZ2FyZHMsDQo+IFlhbmdibyBM
dQ0KPiANCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBTY290
dCBXb29kIFttYWlsdG86b3NzQGJ1c2Vycm9yLm5ldF0NCj4gPiBTZW50OiBTYXR1cmRheSwgSnVu
ZSAxMSwgMjAxNiA5OjUxIEFNDQo+ID4gVG86IEFybmQgQmVyZ21hbm47IGxpbnV4cHBjLWRldkBs
aXN0cy5vemxhYnMub3JnDQo+ID4gQ2M6IE1hcmsgUnV0bGFuZDsgVWxmIEhhbnNzb247IGxpbnV4
LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LQ0KPiA+IGkyY0B2Z2VyLmtlcm5lbC5vcmc7
IGxpbnV4LWNsa0B2Z2VyLmtlcm5lbC5vcmc7IFFpYW5nIFpoYW87IFJ1c3NlbGwNCj4gPiBLaW5n
OyBCaHVwZXNoIFNoYXJtYTsgSm9lcmcgUm9lZGVsOyBDbGF1ZGl1IE1hbm9pbDsNCj4gPiBkZXZp
Y2V0cmVlQHZnZXIua2VybmVsLm9yZzsgS3VtYXIgR2FsYTsgUm9iIEhlcnJpbmc7IFNhbnRvc2gN
Cj4gPiBTaGlsaW1rYXI7IGxpbnV4LWFybS0ga2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7DQo+
ID4gbmV0ZGV2QHZnZXIua2VybmVsLm9yZzsgbGludXgtIG1tY0B2Z2VyLmtlcm5lbC5vcmc7IFhp
YW9ibyBYaWU7DQo+ID4gWWFuZy1MZW8gTGk7IGlvbW11QGxpc3RzLmxpbnV4LSBmb3VuZGF0aW9u
Lm9yZzsgWWFuZ2JvIEx1DQo+ID4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzRdIHNvYzogZnNsOiBh
ZGQgR1VUUyBkcml2ZXIgZm9yIFFvcklRIHBsYXRmb3Jtcw0KPiA+DQo+ID4gT24gVGh1LCAyMDE2
LTA2LTAyIGF0IDEwOjQzICswMjAwLCBBcm5kIEJlcmdtYW5uIHdyb3RlOg0KPiA+ID4gT24gV2Vk
bmVzZGF5LCBKdW5lIDEsIDIwMTYgODo0NzoyMiBQTSBDRVNUIFNjb3R0IFdvb2Qgd3JvdGU6DQo+
ID4gPiA+IE9uIE1vbiwgMjAxNi0wNS0zMCBhdCAxNToxNSArMDIwMCwgQXJuZCBCZXJnbWFubiB3
cm90ZToNCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvZnNsL2d1dHMuYyBiL2Ry
aXZlcnMvc29jL2ZzbC9ndXRzLmMgbmV3DQo+ID4gPiA+ID4gZmlsZSBtb2RlIDEwMDY0NCBpbmRl
eCAwMDAwMDAwMDAwMDAuLjJmMzA2OThmNWJjZg0KPiA+ID4gPiA+IC0tLSAvZGV2L251bGwNCj4g
PiA+ID4gPiArKysgYi9kcml2ZXJzL3NvYy9mc2wvZ3V0cy5jDQo+ID4gPiA+ID4gQEAgLTAsMCAr
MSwxMzAgQEANCj4gPiA+ID4gPiArLyoNCj4gPiA+ID4gPiArICogRnJlZXNjYWxlIFFvcklRIFBs
YXRmb3JtcyBHVVRTIERyaXZlcg0KPiA+ID4gPiA+ICsgKg0KPiA+ID4gPiA+ICsgKiBDb3B5cmln
aHQgKEMpIDIwMTYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4NCj4gPiA+ID4gPiArICoN
Cj4gPiA+ID4gPiArICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0DQo+ID4gPiA+ID4gK2FuZC9vciBtb2RpZnkNCj4gPiA+ID4gPiArICogaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcw0KPiA+
ID4gPiA+ICtwdWJsaXNoZWQgYnkNCj4gPiA+ID4gPiArICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUNCj4gPiA+ID4gPiArTGljZW5zZSwgb3IN
Cj4gPiA+ID4gPiArICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCj4gPiA+
ID4gPiArICovDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsjaW5jbHVkZSA8bGludXgvaW8uaD4N
Cj4gPiA+ID4gPiArI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPiAjaW5jbHVkZSA8
bGludXgvbW9kdWxlLmg+DQo+ID4gPiA+ID4gKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+ICNpbmNs
dWRlIDxsaW51eC9vZl9hZGRyZXNzLmg+ICNpbmNsdWRlDQo+ID4gPiA+ID4gKzxsaW51eC9vZl9w
bGF0Zm9ybS5oPiAjaW5jbHVkZSA8bGludXgvc3lzX3NvYy5oPg0KPiA+ID4gPiA+ICsNCj4gPiA+
ID4gPiArI2RlZmluZSBHVVRTX1BWUgkweDBhMA0KPiA+ID4gPiA+ICsjZGVmaW5lIEdVVFNfU1ZS
CTB4MGE0DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICtzdHJ1Y3QgZ3V0cyB7DQo+ID4gPiA+ID4g
Kwl2b2lkIF9faW9tZW0gKnJlZ3M7DQo+ID4gPiA+DQo+ID4gPiA+IFdlIGFscmVhZHkgaGF2ZSBh
IHN0cnVjdCB0byBkZWZpbmUgZ3V0cy4gIFdoeSBhcmUgeW91IG5vdCB1c2luZyBpdD8NCj4gPiA+
ID4gV2h5IGRvIHlvdSBjb25zaWRlciB1c2luZyBpdCB0byBiZSAiYWJ1c2UiPyAgV2hhdCBpZiB3
ZSB3YW50IHRvDQo+ID4gPiA+IG1vdmUgbW9yZSBndXRzIGZ1bmN0aW9uYWxpdHkgaW50byB0aGlz
IGRyaXZlcj8NCj4gPiA+DQo+ID4gPiBUaGlzIHN0cnVjdHVyZSB3YXMgaW4gdGhlIG9yaWdpbmFs
IHBhdGNoLCBJIGxlZnQgaXQgaW4gdGhlcmUsIG9ubHkNCj4gPiA+IHJlbW92ZWQgdGhlIGluY2x1
c2lvbiBvZiB0aGUgcG93ZXJwYyBoZWFkZXIgZmlsZSwgd2hpY2ggc2VlbWVkIHRvIGJlDQo+ID4g
PiBtaXNwbGFjZWQuDQo+ID4NCj4gPiBJJ20gbm90IHJlZmVyaW5nICJzdHJ1Y3QgZ3V0cyIuICBJ
J20gcmVmZXJyaW5nIHRvIGNoYW5naW5nICJzdHJ1Y3QNCj4gPiBjY3NyX2d1dHMgX19pb21lbSAq
cmVncyIgaW50byAidm9pZCBfX2lvbWVtICpyZWdzIi4NCj4gPg0KPiA+IEFuZCBpdCdzIG5vdCBh
IHBvd2VycGMgaGVhZGVyIGZpbGUuDQo+ID4NCj4gPiA+ID4gPiArLyoNCj4gPiA+ID4gPiArICog
VGFibGUgZm9yIG1hdGNoaW5nIGNvbXBhdGlibGUgc3RyaW5ncywgZm9yIGRldmljZSB0cmVlDQo+
ID4gPiA+ID4gKyAqIGd1dHMgbm9kZSwgZm9yIEZyZWVzY2FsZSBRb3JJUSBTT0NzLg0KPiA+ID4g
PiA+ICsgKi8NCj4gPiA+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgZnNs
X2d1dHNfb2ZfbWF0Y2hbXSA9IHsNCj4gPiA+ID4gPiArCS8qIEZvciBUNCAmIEI0IFNlcmllcyBT
T0NzICovDQo+ID4gPiA+ID4gKwl7IC5jb21wYXRpYmxlID0gImZzbCxxb3JpcS1kZXZpY2UtY29u
ZmlnLTEuMCIsIC5kYXRhID0gIlQ0L0I0DQo+ID4gPiA+ID4gc2VyaWVzIiB9LA0KPiA+ID4gPiBb
c25pcF0NCj4gPiA+ID4gPiArCXsgLmNvbXBhdGlibGUgPSAiZnNsLHFvcmlxLWRldmljZS1jb25m
aWctMi4wIiwgLmRhdGEgPSAiUA0KPiA+ID4gPiA+IHNlcmllcyINCj4gPiA+ID4NCj4gPiA+ID4g
QXMgbm90ZWQgaW4gbXkgY29tbWVudCBvbiBwYXRjaCAzLzQsIHRoZXNlIGRlc2NyaXB0aW9ucyBh
cmUNCj4gcmV2ZXJzZWQuDQo+ID4gPiA+DQo+ID4gPiA+IFRoZXkncmUgYWxzbyBpbmNvbXBsZXRl
LiAgdDIwODAgaGFzIGRldmljZSBjb25maWcgMi4wLiAgdDEwNDAgaXMNCj4gPiA+ID4gZGVzY3Jp
YmVkIGFzDQo+ID4gPiA+IDIuMCB0aG91Z2ggaXQgc2hvdWxkIHByb2JhYmx5IGJlIDIuMSAob3Ig
YmV0dGVyLCBkcm9wIHRoZSBnZW5lcmljDQo+ID4gPiA+IGNvbXBhdGlibGUgYWx0b2dldGhlciku
DQo+ID4gPg0KPiA+ID4gT2suIElkZWFsbHkgSSB0aGluayB3ZSdkIGV2ZW4gbG9vayB1cCB0aGUg
c3BlY2lmaWMgU29DIG5hbWVzIGZyb20NCj4gPiA+IHRoZSBTVkMgcmF0aGVyIHRoYW4gdGhlIGNv
bXBhdGlibGUgc3RyaW5nLiBJIGp1c3QgZGlkbid0IGhhdmUgYSBnb29kDQo+ID4gPiBsaXN0IGZv
ciB0aG9zZSB0byBwdXQgaW4gdGhlIGRyaXZlci4NCj4gPg0KPiA+IFRoZSBsaXN0IGlzIGluIGFy
Y2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9tcGM4NXh4LmggYnV0IEkgZG9uJ3Qga25vdyB3aHkNCj4g
PiB3ZSBuZWVkIHRvIGNvbnZlcnQgaXQgdG8gYSBzdHJpbmcgaW4gdGhlIGZpcnN0IHBsYWNlLg0K
PiA+DQo+ID4gPg0KPiA+ID4gPiA+ICsJLyoNCj4gPiA+ID4gPiArCSAqIHN5c2NvbiBkZXZpY2Vz
IGRlZmF1bHQgdG8gbGl0dGxlLWVuZGlhbiwgYnV0IG9uIHBvd2VycGMgd2UNCj4gPiA+ID4gPiBo
YXZlDQo+ID4gPiA+ID4gKwkgKiBleGlzdGluZyBkZXZpY2UgdHJlZXMgd2l0aCBiaWctZW5kaWFu
IG1hcHMgYW5kIGFuIGFic2VudA0KPiA+ID4gPiA+IGVuZGlhbmVzcw0KPiA+ID4gPiA+ICsJICog
ImJpZy1wcm9wZXJ0eSINCj4gPiA+ID4gPiArCSAqLw0KPiA+ID4gPiA+ICsJaWYgKCFJU19FTkFC
TEVEKENPTkZJR19QT1dFUlBDKSAmJg0KPiA+ID4gPiA+ICsJICAgICFvZl9wcm9wZXJ0eV9yZWFk
X2Jvb2woZGV2LT5vZl9ub2RlLCAiYmlnLWVuZGlhbiIpKQ0KPiA+ID4gPiA+ICsJCWd1dHMtPmxp
dHRsZV9lbmRpYW4gPSB0cnVlOw0KPiA+ID4gPg0KPiA+ID4gPiBUaGlzIGlzIG5vdCBhIHN5c2Nv
biBkZXZpY2UgKFlhbmdibydzIHBhdGNoIHRvIGFkZCBhIGd1dHMgbm9kZSBvbg0KPiA+ID4gPiBs
czIwODAgaXMgdGhlIG9ubHkgZ3V0cyBub2RlIHRoYXQgc2F5cyAic3lzY29uIiwgYW5kIHRoYXQg
d2FzIGENCj4gPiA+ID4gbGVmdG92ZXIgZnJvbSBlYXJsaWVyIHJldmlzaW9ucyBhbmQgc2hvdWxk
IHByb2JhYmx5IGJlIHJlbW92ZWQpLg0KPiA+ID4gPiBFdmVuIGlmIGl0IHdlcmUsIHdoZXJlIGlz
IGl0IGRvY3VtZW50ZWQgdGhhdCBzeXNjb24gZGVmYXVsdHMgdG8NCj4gPiA+ID4gbGl0dGxlLWVu
ZGlhbj8NCj4gPiA+DQo+ID4gPiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcmVn
bWFwL3JlZ21hcC50eHQNCj4gPiA+DQo+ID4gPiBXZSBoYWQgYSBsaXR0bGUgc2NyZXd1cCBoZXJl
LCBiYXNpY2FsbHkgcmVnbWFwIChhbmQgYnkgY29uc2VxdWVuY2UsDQo+ID4gPiBzeXNjb24pIGFs
d2F5cyBkZWZhdWx0ZWQgdG8gbGl0dGxlLWVuZGlhbiB3YXkgYmVmb3JlIHRoYXQgd2FzDQo+ID4g
PiBkb2N1bWVudGVkLCBzbyBpdCdzIHRvbyBsYXRlIHRvIGNoYW5nZSBpdCwNCj4gPg0KPiA+IFdo
YXQgY2F1c2VzIGEgZGV2aWNlIG5vZGUgdG8gZmFsbCB1bmRlciB0aGUganVyaXNkaWN0aW9uIG9m
IHJlZ21hcC50eHQ/DQo+ID4gIEFnYWluLCB0aGVzZSBub2RlcyBkbyBub3QgY2xhaW0gInN5c2Nv
biIgY29tcGF0aWJpbGl0eS4NCj4gPg0KPiA+ID4gYWx0aG91Z2ggSSBhZ3JlZSBpdCB3b3VsZCBo
YXZlIG1hZGUgc2Vuc2UgdG8gZG9jdW1lbnQgcmVnbWFwIHRvDQo+ID4gPiBkZWZhdWx0IHRvIGJp
Zy1lbmRpYW4gb24gcG93ZXJwYy4NCj4gPg0KPiA+IFBsZWFzZSBkb24ndC4gIEl0J3MgZW5vdWdo
IG9mIGEgbWVzcyBhcyBpczsgbm8gbmVlZCB0byBzdGFydCB0aHJvd2luZw0KPiA+IGluIGFyY2hp
dGVjdHVyZSBpZmRlZnMuDQo+ID4NCj4gPiA+ID4gRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp
bmRpbmdzL2NvbW1vbi1wcm9wZXJ0aWVzLnR4dCBzYXlzIHRoYXQNCj4gPiA+ID4gdGhlIGluZGl2
aWR1YWwgYmluZGluZyBzcGVjaWZpZXMgdGhlIGRlZmF1bHQuICBUaGUgZGVmYXVsdCBmb3INCj4g
PiA+ID4gdGhpcyBub2RlIHNob3VsZCBiZSBiaWctZW5kaWFuIGJlY2F1c2UgdGhhdCdzIHdoYXQg
ZXhpc3RlZCBiZWZvcmUNCj4gPiA+ID4gdGhlcmUgd2FzIGEgbmVlZCB0byBkZXNjcmliZSB0aGUg
ZW5kaWFubmVzcy4gIEFuZCB3ZSBuZWVkIGFuDQo+ID4gPiA+IHVwZGF0ZSB0byB0aGUgZ3V0cyBi
aW5kaW5nIHRvIHNwZWNpZnkgdGhhdC4NCj4gPiA+DQo+ID4gPiBHb29kIHBvaW50LiBUaGlzIHBy
b2FibHkgbWVhbnMgdGhhdCBzcGVjaWZ5aW5nIGJvdGggdGhlICJndXRzIiBhbmQNCj4gPiAic3lz
Y29uIg0KPiA+ID4gY29tcGF0aWJsZSBzdHJpbmdzIGltcGxpZXMgaGF2aW5nIHRvIGFsc28gc3Bl
Y2lmeSB0aGUgZW5kaWFuZXNzDQo+ID4gPiBleHBsaWNpdGx5IGJvdGggd2F5cywgYmVjYXVzZSBv
dGhlcndpc2Ugd2UgYnJlYWsgb25lIG9mIHRoZSB0d28NCj4gPiBiaW5kaW5ncy4NCj4gPg0KPiA+
IFllcywgYnV0IHRoZSBub2RlIHNob3VsZCBvbmx5IHNwZWNpZnkgImd1dHMiLg0KPiA+DQo+ID4g
Pg0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArCWd1dHMtPnJlZ3MgPSBkZXZtX2lvcmVtYXBfcmVz
b3VyY2UoZGV2LCAwKTsNCj4gPiA+ID4gPiArCWlmICghZ3V0cy0+cmVncykgew0KPiA+ID4gPiA+
ICsJCXJldCA9IC1FTk9NRU07DQo+ID4gPiA+ID4gKwkJa2ZyZWUoZ3V0cyk7DQo+ID4gPiA+ID4g
KwkJZ290byBvdXQ7DQo+ID4gPiA+ID4gKwl9DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsJZnNs
X2d1dHNfaW5pdChkZXYsIGd1dHMpOw0KPiA+ID4gPiA+ICsJcmV0ID0gMDsNCj4gPiA+ID4gPiAr
b3V0Og0KPiA+ID4gPiA+ICsJcmV0dXJuIHJldDsNCj4gPiA+ID4gPiArfQ0KPiA+ID4gPiA+ICsN
Cj4gPiA+ID4gPiArc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgZnNsX3NvY19ndXRzID0g
ew0KPiA+ID4gPiA+ICsJLnByb2JlID0gZnNsX2d1dHNfcHJvYmUsDQo+ID4gPiA+ID4gKwkuZHJp
dmVyLm9mX21hdGNoX3RhYmxlID0gZnNsX2d1dHNfb2ZfbWF0Y2gsIH07DQo+ID4gPiA+ID4gKw0K
PiA+ID4gPiA+ICttb2R1bGVfcGxhdGZvcm1fZHJpdmVyKGZzbF9zb2NfZ3V0cyk7DQo+ID4gPiA+
DQo+ID4gPiA+IEFnYWluLCB0aGlzIG1lYW5zIHRoYXQgdGhlIGluZm9ybWF0aW9uIGlzIG5vdCBh
dmFpbGFibGUgZHVyaW5nDQo+ID4gPiA+IGVhcmx5IGJvb3QsIHN1Y2ggYXMgaW4gdGhlIGNsb2Nr
IGRyaXZlci4gIFRodXMgd2Ugd291bGQgbm90IGJlDQo+ID4gPiA+IGFibGUgdG8gY29udmVydCBj
bGsgLXFvcmlxJ3MgZGlyZWN0IG1mc3ByKFNQUk5fU1ZSKSBpbnRvIGFuDQo+ID4gPiA+IHNvY19k
ZXZpY2VfbWF0Y2goKSAob3IgYW55dGhpbmcgZWxzZSB0aGF0IG1ha2VzIHVzZSBvZiB0aGlzIGZp
bGUpLA0KPiA+ID4gPiBub3Igd291bGQgd2UgYmUgYWJsZSB0byBtb3ZlIGl0cyBhY2Nlc3Mgb2Yg
dGhlIGd1dHMgUkNXIHJlZ2lzdGVycw0KPiA+ID4gPiBpbnRvIHRoaXMgZHJpdmVyLg0KPiA+ID4N
Cj4gPiA+IENvcnJlY3QuIERvIHdlIGhhdmUgYSByZWFzb24gdG8gY29udmVydCB0aGUgbWZzcHIo
KSB0aG91Z2g/IEkgZG9uJ3QNCj4gPiA+IHJlYWxseSBzZWUgYW4gaW1wcm92ZW1lbnQgb3ZlciB0
aGUgY3VycmVudCBzdGF0ZSBpZiB3ZSBkbyB0aGF0LA0KPiA+DQo+ID4gVGhlbiBzaG91bGQgd2Ug
ZHJvcCB0aGlzIHBhdGNoc2V0IGFuZCBwdXQgYSBzaW1pbGFyIFBQQyBpZmRlZiBpbg0KPiA+IGRy
aXZlcnMvbW1jL2hvc3Qvc2RoY2ktb2YtZXNkaGMuYz8NCj4gPg0KPiA+IFRoZXJlJ3MgYWxzbyB0
aGUgUkNXIGFjY2Vzcy4gIFlvdSBzYWlkIGluIHRoZSBwYXRjaCA0LzQgZGlzY3Vzc2lvbg0KPiA+
IHRoYXQgeW91IGRpIGRuJ3QgbGlrZSBhbnkgcmFuZG9tIGRyaXZlciBpb3JlbWFwcGluZyB0aGUg
cmVnaXN0ZXJzLi4uDQo+ID4NCj4gPiA+IGFuZCBmb3IgbmV3IGRldmljZXMNCj4gPiA+IHRoYXQg
bWlnaHQgbmVlZCB0aGUgZXJyYXR1bSB3b3JrYXJvdW5kLCB3ZSBjb3VsZCBhZGQgYSBEVCBwcm9w
ZXJ0eQ0KPiA+ID4gdGhhdCB3b3VsZCBiZSBwcmVmZXJyZWQgdG8gYm90aC4NCj4gPg0KPiA+IEl0
J3MgdW5saWtlbHkgdGhhdCB3ZSB3b3VsZCBrbm93IHRoZSBlcnJhdHVtIGV4aXN0cyBhdCB0aGUg
dGltZSB0aGUNCj4gPiBkZXZpY2UgdHJlZSBpcyBjcmVhdGVkLiAgV2UgYWxzbyBnZW5lcmFsbHkg
ZG9uJ3QgaGF2ZSBzZXBhcmF0ZSBkZXZpY2UNCj4gPiB0cmVlcyBmb3IgZWFjaCByZXZpc2lvbiBv
ZiBhIGNoaXAgKGFuZCBpZiB3ZSBkaWQsIHdlJ2QgaGF2ZSB1c2VycyB0aGF0DQo+ID4gdXNlIHRo
ZSB3cm9uZyBvbmUpLg0KPiA+DQo+ID4gLVNjb3R0DQoNCg==

WARNING: multiple messages have this Message-ID (diff)
From: yangbo.lu@nxp.com (Yangbo Lu)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms
Date: Thu, 7 Jul 2016 02:35:33 +0000	[thread overview]
Message-ID: <HE1PR04MB0889646206BFAD68046F3473F83B0@HE1PR04MB0889.eurprd04.prod.outlook.com> (raw)
In-Reply-To: 1465609853.22191.151.camel@buserror.net

Hi Arnd,

Could you reply when you see the email?
If your method doesn?t resolve the problem, we still want to use our old patchset.

This guts driver had been discussed about one year and blocked many workaround upstream.
So please help to review and comment soon.

Thanks a lot.


Best regards,
Yangbo Lu

> -----Original Message-----
> From: Yangbo Lu
> Sent: Thursday, June 23, 2016 10:46 AM
> To: 'Scott Wood'; Arnd Bergmann; linuxppc-dev at lists.ozlabs.org
> Cc: Mark Rutland; Ulf Hansson; linux-kernel at vger.kernel.org; linux-
> i2c at vger.kernel.org; linux-clk at vger.kernel.org; Qiang Zhao; Russell King;
> Bhupesh Sharma; Joerg Roedel; Claudiu Manoil; devicetree at vger.kernel.org;
> Kumar Gala; Rob Herring; Santosh Shilimkar; linux-arm-
> kernel at lists.infradead.org; netdev at vger.kernel.org; linux-
> mmc at vger.kernel.org; Xiaobo Xie; Yang-Leo Li; iommu at lists.linux-
> foundation.org
> Subject: RE: [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms
> 
> Hi Arnd,
> 
> Could you comment on these?
> Thanks.
> 
> 
> Best regards,
> Yangbo Lu
> 
> 
> > -----Original Message-----
> > From: Scott Wood [mailto:oss at buserror.net]
> > Sent: Saturday, June 11, 2016 9:51 AM
> > To: Arnd Bergmann; linuxppc-dev at lists.ozlabs.org
> > Cc: Mark Rutland; Ulf Hansson; linux-kernel at vger.kernel.org; linux-
> > i2c at vger.kernel.org; linux-clk at vger.kernel.org; Qiang Zhao; Russell
> > King; Bhupesh Sharma; Joerg Roedel; Claudiu Manoil;
> > devicetree at vger.kernel.org; Kumar Gala; Rob Herring; Santosh
> > Shilimkar; linux-arm- kernel at lists.infradead.org;
> > netdev at vger.kernel.org; linux- mmc at vger.kernel.org; Xiaobo Xie;
> > Yang-Leo Li; iommu at lists.linux- foundation.org; Yangbo Lu
> > Subject: Re: [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms
> >
> > On Thu, 2016-06-02 at 10:43 +0200, Arnd Bergmann wrote:
> > > On Wednesday, June 1, 2016 8:47:22 PM CEST Scott Wood wrote:
> > > > On Mon, 2016-05-30 at 15:15 +0200, Arnd Bergmann wrote:
> > > > > diff --git a/drivers/soc/fsl/guts.c b/drivers/soc/fsl/guts.c new
> > > > > file mode 100644 index 000000000000..2f30698f5bcf
> > > > > --- /dev/null
> > > > > +++ b/drivers/soc/fsl/guts.c
> > > > > @@ -0,0 +1,130 @@
> > > > > +/*
> > > > > + * Freescale QorIQ Platforms GUTS Driver
> > > > > + *
> > > > > + * Copyright (C) 2016 Freescale Semiconductor, Inc.
> > > > > + *
> > > > > + * This program is free software; you can redistribute it
> > > > > +and/or modify
> > > > > + * it under the terms of the GNU General Public License as
> > > > > +published by
> > > > > + * the Free Software Foundation; either version 2 of the
> > > > > +License, or
> > > > > + * (at your option) any later version.
> > > > > + */
> > > > > +
> > > > > +#include <linux/io.h>
> > > > > +#include <linux/platform_device.h> #include <linux/module.h>
> > > > > +#include <linux/slab.h> #include <linux/of_address.h> #include
> > > > > +<linux/of_platform.h> #include <linux/sys_soc.h>
> > > > > +
> > > > > +#define GUTS_PVR	0x0a0
> > > > > +#define GUTS_SVR	0x0a4
> > > > > +
> > > > > +struct guts {
> > > > > +	void __iomem *regs;
> > > >
> > > > We already have a struct to define guts.  Why are you not using it?
> > > > Why do you consider using it to be "abuse"?  What if we want to
> > > > move more guts functionality into this driver?
> > >
> > > This structure was in the original patch, I left it in there, only
> > > removed the inclusion of the powerpc header file, which seemed to be
> > > misplaced.
> >
> > I'm not refering "struct guts".  I'm referring to changing "struct
> > ccsr_guts __iomem *regs" into "void __iomem *regs".
> >
> > And it's not a powerpc header file.
> >
> > > > > +/*
> > > > > + * Table for matching compatible strings, for device tree
> > > > > + * guts node, for Freescale QorIQ SOCs.
> > > > > + */
> > > > > +static const struct of_device_id fsl_guts_of_match[] = {
> > > > > +	/* For T4 & B4 Series SOCs */
> > > > > +	{ .compatible = "fsl,qoriq-device-config-1.0", .data = "T4/B4
> > > > > series" },
> > > > [snip]
> > > > > +	{ .compatible = "fsl,qoriq-device-config-2.0", .data = "P
> > > > > series"
> > > >
> > > > As noted in my comment on patch 3/4, these descriptions are
> reversed.
> > > >
> > > > They're also incomplete.  t2080 has device config 2.0.  t1040 is
> > > > described as
> > > > 2.0 though it should probably be 2.1 (or better, drop the generic
> > > > compatible altogether).
> > >
> > > Ok. Ideally I think we'd even look up the specific SoC names from
> > > the SVC rather than the compatible string. I just didn't have a good
> > > list for those to put in the driver.
> >
> > The list is in arch/powerpc/include/asm/mpc85xx.h but I don't know why
> > we need to convert it to a string in the first place.
> >
> > >
> > > > > +	/*
> > > > > +	 * syscon devices default to little-endian, but on powerpc we
> > > > > have
> > > > > +	 * existing device trees with big-endian maps and an absent
> > > > > endianess
> > > > > +	 * "big-property"
> > > > > +	 */
> > > > > +	if (!IS_ENABLED(CONFIG_POWERPC) &&
> > > > > +	    !of_property_read_bool(dev->of_node, "big-endian"))
> > > > > +		guts->little_endian = true;
> > > >
> > > > This is not a syscon device (Yangbo's patch to add a guts node on
> > > > ls2080 is the only guts node that says "syscon", and that was a
> > > > leftover from earlier revisions and should probably be removed).
> > > > Even if it were, where is it documented that syscon defaults to
> > > > little-endian?
> > >
> > > Documentation/devicetree/bindings/regmap/regmap.txt
> > >
> > > We had a little screwup here, basically regmap (and by consequence,
> > > syscon) always defaulted to little-endian way before that was
> > > documented, so it's too late to change it,
> >
> > What causes a device node to fall under the jurisdiction of regmap.txt?
> >  Again, these nodes do not claim "syscon" compatibility.
> >
> > > although I agree it would have made sense to document regmap to
> > > default to big-endian on powerpc.
> >
> > Please don't.  It's enough of a mess as is; no need to start throwing
> > in architecture ifdefs.
> >
> > > > Documentation/devicetree/bindings/common-properties.txt says that
> > > > the individual binding specifies the default.  The default for
> > > > this node should be big-endian because that's what existed before
> > > > there was a need to describe the endianness.  And we need an
> > > > update to the guts binding to specify that.
> > >
> > > Good point. This proably means that specifying both the "guts" and
> > "syscon"
> > > compatible strings implies having to also specify the endianess
> > > explicitly both ways, because otherwise we break one of the two
> > bindings.
> >
> > Yes, but the node should only specify "guts".
> >
> > >
> > > > > +
> > > > > +	guts->regs = devm_ioremap_resource(dev, 0);
> > > > > +	if (!guts->regs) {
> > > > > +		ret = -ENOMEM;
> > > > > +		kfree(guts);
> > > > > +		goto out;
> > > > > +	}
> > > > > +
> > > > > +	fsl_guts_init(dev, guts);
> > > > > +	ret = 0;
> > > > > +out:
> > > > > +	return ret;
> > > > > +}
> > > > > +
> > > > > +static struct platform_driver fsl_soc_guts = {
> > > > > +	.probe = fsl_guts_probe,
> > > > > +	.driver.of_match_table = fsl_guts_of_match, };
> > > > > +
> > > > > +module_platform_driver(fsl_soc_guts);
> > > >
> > > > Again, this means that the information is not available during
> > > > early boot, such as in the clock driver.  Thus we would not be
> > > > able to convert clk -qoriq's direct mfspr(SPRN_SVR) into an
> > > > soc_device_match() (or anything else that makes use of this file),
> > > > nor would we be able to move its access of the guts RCW registers
> > > > into this driver.
> > >
> > > Correct. Do we have a reason to convert the mfspr() though? I don't
> > > really see an improvement over the current state if we do that,
> >
> > Then should we drop this patchset and put a similar PPC ifdef in
> > drivers/mmc/host/sdhci-of-esdhc.c?
> >
> > There's also the RCW access.  You said in the patch 4/4 discussion
> > that you di dn't like any random driver ioremapping the registers...
> >
> > > and for new devices
> > > that might need the erratum workaround, we could add a DT property
> > > that would be preferred to both.
> >
> > It's unlikely that we would know the erratum exists at the time the
> > device tree is created.  We also generally don't have separate device
> > trees for each revision of a chip (and if we did, we'd have users that
> > use the wrong one).
> >
> > -Scott

  parent reply	other threads:[~2016-07-07  8:10 UTC|newest]

Thread overview: 185+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-05  3:12 [v10, 0/7] Fix eSDHC host version register bug Yangbo Lu
2016-05-05  3:12 ` Yangbo Lu
2016-05-05  3:12 ` Yangbo Lu
2016-05-05  3:12 ` Yangbo Lu
2016-05-05  3:12 ` Yangbo Lu
2016-05-05  3:12 ` [v10, 1/7] Documentation: DT: update Freescale DCFG compatible Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05 22:25   ` Rob Herring
2016-05-05 22:25     ` Rob Herring
2016-05-05  3:12 ` [v10, 2/7] ARM64: dts: ls2080a: add device configuration node Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12 ` [v10, 3/7] soc: fsl: add GUTS driver for QorIQ platforms Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-07-15 16:43   ` Paul Gortmaker
2016-07-15 16:43     ` Paul Gortmaker
2016-07-15 16:43     ` Paul Gortmaker
2016-07-15 16:43     ` Paul Gortmaker
2016-07-15 19:12     ` Scott Wood
2016-07-15 19:12       ` Scott Wood
2016-07-15 19:12       ` Scott Wood
2016-07-15 19:12       ` Scott Wood
2016-07-15 22:39       ` Paul Gortmaker
2016-07-15 22:39         ` Paul Gortmaker
2016-07-15 22:39         ` Paul Gortmaker
2016-07-15 22:39         ` Paul Gortmaker
2016-05-05  3:12 ` [v10, 4/7] dt: move guts devicetree doc out of powerpc directory Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12 ` [v10, 5/7] powerpc/fsl: move mpc85xx.h to include/linux/fsl Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12 ` [v10, 6/7] MAINTAINERS: add entry for Freescale SoC drivers Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12 ` [v10, 7/7] mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  3:12   ` Yangbo Lu
2016-05-05  8:31   ` Arnd Bergmann
2016-05-05  8:31     ` Arnd Bergmann
2016-05-05  8:31     ` Arnd Bergmann
2016-05-05  9:41     ` Yangbo Lu
2016-05-05  9:41       ` Yangbo Lu
2016-05-05  9:41       ` Yangbo Lu
2016-05-05  9:41       ` Yangbo Lu
2016-05-05  9:41       ` Yangbo Lu
2016-05-05  9:41       ` Yangbo Lu
2016-05-05 11:10       ` Arnd Bergmann
2016-05-05 11:10         ` Arnd Bergmann
2016-05-05 11:10         ` Arnd Bergmann
2016-05-05 11:10         ` Arnd Bergmann
2016-05-11  3:26         ` Scott Wood
2016-05-11  3:26           ` Scott Wood
2016-05-11  3:26           ` Scott Wood
2016-05-11  3:26           ` Scott Wood
2016-05-20  6:05           ` Yangbo Lu
2016-05-20  6:05             ` Yangbo Lu
2016-05-20  6:05             ` Yangbo Lu
2016-05-20  6:05             ` Yangbo Lu
2016-05-20  6:05             ` Yangbo Lu
2016-05-20  6:05             ` Yangbo Lu
2016-05-26  4:05           ` Yangbo Lu
2016-05-26  4:05             ` Yangbo Lu
2016-05-26  4:05             ` Yangbo Lu
2016-05-26  4:05             ` Yangbo Lu
2016-05-26  4:05             ` Yangbo Lu
2016-05-26  7:44             ` Ulf Hansson
2016-05-26  7:44               ` Ulf Hansson
2016-05-26  7:44               ` Ulf Hansson
2016-05-26  7:44               ` Ulf Hansson
2016-05-30 13:13               ` Arnd Bergmann
2016-05-30 13:13                 ` Arnd Bergmann
2016-05-30 13:13                 ` Arnd Bergmann
2016-05-30 13:13                 ` Arnd Bergmann
2016-05-30 13:14               ` [PATCH 1/4] base: soc: introduce soc_device_match() interface Arnd Bergmann
2016-05-30 13:14                 ` Arnd Bergmann
2016-05-30 13:14                 ` Arnd Bergmann
2016-05-30 13:14                 ` Arnd Bergmann
2016-05-30 14:57                 ` Arnd Bergmann
2016-05-30 14:57                   ` Arnd Bergmann
2016-05-30 14:57                   ` Arnd Bergmann
2016-05-30 14:57                   ` Arnd Bergmann
2016-05-30 13:15               ` [PATCH 2/4] soc: fsl: add GUTS driver for QorIQ platforms Arnd Bergmann
2016-05-30 13:15                 ` Arnd Bergmann
2016-05-30 13:15                 ` Arnd Bergmann
2016-05-30 13:15                 ` Arnd Bergmann
2016-06-02  1:47                 ` Scott Wood
2016-06-02  1:47                   ` Scott Wood
2016-06-02  1:47                   ` Scott Wood
2016-06-02  1:47                   ` Scott Wood
2016-06-02  1:47                   ` Scott Wood
2016-06-02  1:47                   ` Scott Wood
2016-06-02  8:43                   ` Arnd Bergmann
2016-06-02  8:43                     ` Arnd Bergmann
2016-06-02  8:43                     ` Arnd Bergmann
2016-06-02  8:43                     ` Arnd Bergmann
2016-06-11  1:50                     ` Scott Wood
2016-06-11  1:50                       ` Scott Wood
2016-06-11  1:50                       ` Scott Wood
2016-06-11  1:50                       ` Scott Wood
2016-06-11  1:50                       ` Scott Wood
2016-06-11  1:50                       ` Scott Wood
2016-06-23  2:46                       ` Yangbo Lu
2016-06-23  2:46                         ` Yangbo Lu
2016-06-23  2:46                         ` Yangbo Lu
2016-06-23  2:46                         ` Yangbo Lu
2016-06-23  2:46                         ` Yangbo Lu
2016-07-07  2:35                       ` Yangbo Lu [this message]
2016-07-07  2:35                         ` Yangbo Lu
2016-07-07  2:35                         ` Yangbo Lu
2016-07-07  2:35                         ` Yangbo Lu
2016-07-07  2:35                         ` Yangbo Lu
2016-07-07  2:35                         ` Yangbo Lu
2016-07-07  8:30                         ` Arnd Bergmann
2016-07-07  8:30                           ` Arnd Bergmann
2016-07-07  8:30                           ` Arnd Bergmann
2016-07-07  8:30                           ` Arnd Bergmann
2016-07-07  8:30                           ` Arnd Bergmann
2016-07-07  8:30                           ` Arnd Bergmann
2016-07-07 20:42                           ` Scott Wood
2016-07-07 20:42                             ` Scott Wood
2016-07-07 20:42                             ` Scott Wood
2016-07-07 20:42                             ` Scott Wood
2016-07-07 20:42                             ` Scott Wood
2016-07-08  3:05                           ` Yangbo Lu
2016-07-08  3:05                             ` Yangbo Lu
2016-07-08  3:05                             ` Yangbo Lu
2016-07-08  3:05                             ` Yangbo Lu
2016-07-08  3:05                             ` Yangbo Lu
2016-07-08  3:05                             ` Yangbo Lu
2016-05-30 13:16               ` [PATCH 3/4] mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 Arnd Bergmann
2016-05-30 13:16                 ` Arnd Bergmann
2016-05-30 13:16                 ` Arnd Bergmann
2016-05-30 13:16                 ` Arnd Bergmann
2016-06-02  1:11                 ` Scott Wood
2016-06-02  1:11                   ` Scott Wood
2016-06-02  1:11                   ` Scott Wood
2016-06-02  1:11                   ` Scott Wood
2016-06-02  1:11                   ` Scott Wood
2016-06-02  8:52                   ` Arnd Bergmann
2016-06-02  8:52                     ` Arnd Bergmann
2016-06-02  8:52                     ` Arnd Bergmann
2016-06-02  8:52                     ` Arnd Bergmann
2016-06-02  8:52                     ` Arnd Bergmann
2016-06-11  2:00                     ` Scott Wood
2016-06-11  2:00                       ` Scott Wood
2016-06-11  2:00                       ` Scott Wood
2016-06-11  2:00                       ` Scott Wood
2016-06-11  2:00                       ` Scott Wood
2016-06-11  2:00                       ` Scott Wood
2016-05-30 13:18               ` [PATCH 4/4] Revert "powerpc/fsl: Move fsl_guts.h out of arch/powerpc" Arnd Bergmann
2016-05-30 13:18                 ` Arnd Bergmann
2016-05-30 13:18                 ` Arnd Bergmann
2016-05-30 13:18                 ` Arnd Bergmann
2016-06-02  1:24                 ` Scott Wood
2016-06-02  1:24                   ` Scott Wood
2016-06-02  1:24                   ` Scott Wood
2016-06-02  1:24                   ` Scott Wood
2016-06-02  1:24                   ` Scott Wood
2016-06-02  9:01                   ` Arnd Bergmann
2016-06-02  9:01                     ` Arnd Bergmann
2016-06-02  9:01                     ` Arnd Bergmann
2016-06-02  9:01                     ` Arnd Bergmann
2016-06-02  9:01                     ` Arnd Bergmann
2016-06-11  2:13                     ` Scott Wood
2016-06-11  2:13                       ` Scott Wood
2016-06-11  2:13                       ` Scott Wood
2016-06-11  2:13                       ` Scott Wood
2016-06-11  2:13                       ` Scott Wood
2017-04-03 14:16         ` [v10, 7/7] mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 Kiran Kumar
2017-04-03 14:16           ` Kiran Kumar
2017-04-03 14:16           ` Kiran Kumar

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=HE1PR04MB0889646206BFAD68046F3473F83B0@HE1PR04MB0889.eurprd04.prod.outlook.com \
    --to=yangbo.lu@nxp.com \
    --cc=arnd@arndb.de \
    --cc=bhupesh.sharma@freescale.com \
    --cc=claudiu.manoil@freescale.com \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=leoyang.li@nxp.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mark.rutland@arm.com \
    --cc=netdev@vger.kernel.org \
    --cc=oss@buserror.net \
    --cc=qiang.zhao@nxp.com \
    --cc=robh+dt@kernel.org \
    --cc=ssantosh@kernel.org \
    --cc=ulf.hansson@linaro.org \
    --cc=xiaobo.xie@nxp.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 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.