linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Logan Gunthorpe <logang@deltatee.com>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: "Fabio Estevam" <festevam@gmail.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Linux-Arch <linux-arch@vger.kernel.org>,
	linux-ntb@googlegroups.com,
	"open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
	<linux-crypto@vger.kernel.org>, "Arnd Bergmann" <arnd@arndb.de>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Horia Geantă" <horia.geanta@nxp.com>,
	"Dan Douglass" <dan.douglass@nxp.com>,
	"Herbert Xu" <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH v18 6/7] crypto: caam: cleanup CONFIG_64BIT ifdefs when using io{read|write}64
Date: Tue, 3 Jul 2018 17:57:55 -0600	[thread overview]
Message-ID: <991b2298-bb3f-dad3-c93b-b43ee5f372de@deltatee.com> (raw)
In-Reply-To: <CAHp75VcN=pUkFK6=_7yErMRGNS3WsgBhkWMSwP0Cw_ZmGR=RJg@mail.gmail.com>



On 03/07/18 04:21 PM, Andy Shevchenko wrote:
> It is an explicit call to BUG().
> That's why we see wrong instruction trap.

Ok, I think I see the problem... the code is rather confusing:

Prior to the patch, IOs were BE depending on caam_little_end but if
caam_imx was set, then it wrote two LE writes with the high one first.
After the patch, it writes two BE writes with the high one first.

To confirm, can you try the patch below?

If this is the case, we can either revert the commit or fold in this
patch depending on what others think is clearer.

Thanks,

Logan

--

diff --git a/drivers/crypto/caam/regs.h b/drivers/crypto/caam/regs.h
index 5826acd9194e..5f70c460da25 100644
--- a/drivers/crypto/caam/regs.h
+++ b/drivers/crypto/caam/regs.h
@@ -138,10 +138,14 @@ static inline void clrsetbits_32(void __iomem
*reg, u32 clear, u32 set)
  */
 static inline void wr_reg64(void __iomem *reg, u64 data)
 {
-       if (!caam_imx && caam_little_end)
+       if (caam_imx && caam_little_end) {
+               iowrite32(data >> 32, reg);
+               iowrite32(data, reg + sizeof(u32));
+       } else if (caam_little_end) {
                iowrite64(data, reg);
-       else
+       } else {
                iowrite64be(data, reg);
+       }
 }

 static inline u64 rd_reg64(void __iomem *reg)

  parent reply	other threads:[~2018-07-03 23:58 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-22 19:47 [PATCH v18 0/7] Add io{read|write}64 to io-64-atomic headers Logan Gunthorpe
2018-06-22 19:47 ` [PATCH v18 1/7] iomap: Use non-raw io functions for io{read|write}XXbe Logan Gunthorpe
2018-06-22 19:47 ` [PATCH v18 2/7] parisc: iomap: introduce io{read|write}64 Logan Gunthorpe
2018-06-22 19:47 ` [PATCH v18 3/7] iomap: introduce io{read|write}64_{lo_hi|hi_lo} Logan Gunthorpe
2018-07-13 23:38   ` [v18,3/7] " Guenter Roeck
2018-07-14  0:20     ` Logan Gunthorpe
2018-07-14  1:12       ` Guenter Roeck
2018-06-22 19:47 ` [PATCH v18 4/7] io-64-nonatomic: add io{read|write}64[be]{_lo_hi|_hi_lo} macros Logan Gunthorpe
2018-06-22 19:47 ` [PATCH v18 5/7] ntb: ntb_hw_intel: use io-64-nonatomic instead of in-driver hacks Logan Gunthorpe
2018-06-22 19:47 ` [PATCH v18 6/7] crypto: caam: cleanup CONFIG_64BIT ifdefs when using io{read|write}64 Logan Gunthorpe
2018-07-03 15:31   ` Fabio Estevam
2018-07-03 17:36     ` Andy Shevchenko
2018-07-03 17:44       ` Fabio Estevam
2018-07-03 18:01       ` Logan Gunthorpe
2018-07-03 18:06         ` Fabio Estevam
2018-07-03 18:09           ` Andy Shevchenko
2018-07-03 18:11             ` Fabio Estevam
2018-07-03 18:47               ` Logan Gunthorpe
2018-07-03 19:40                 ` Fabio Estevam
2018-07-03 19:58                   ` Andy Shevchenko
2018-07-03 20:10                     ` Fabio Estevam
2018-07-03 20:40                       ` Andy Shevchenko
2018-07-03 20:42                         ` Andy Shevchenko
2018-07-03 23:55                         ` Fabio Estevam
2018-07-03 21:16                       ` Logan Gunthorpe
2018-07-03 23:56                         ` Fabio Estevam
2018-07-03 21:20                   ` Logan Gunthorpe
2018-07-03 22:21                     ` Andy Shevchenko
2018-07-03 23:20                       ` Logan Gunthorpe
2018-07-03 23:52                         ` Fabio Estevam
2018-07-03 23:57                       ` Logan Gunthorpe [this message]
2018-07-04  0:02                         ` Logan Gunthorpe
2018-07-04  0:06                           ` Fabio Estevam
2018-07-04 11:45                         ` Horia Geanta
2018-07-04 15:06                           ` Fabio Estevam
2018-07-04 15:59                             ` Horia Geanta
2018-07-04 16:16                               ` Fabio Estevam
2018-07-04 17:01                             ` Logan Gunthorpe
2018-07-04 17:10                               ` Andy Shevchenko
2018-07-04 17:13                                 ` Logan Gunthorpe
2018-07-04 17:16                                   ` Andy Shevchenko
2018-07-04 17:21                                     ` Logan Gunthorpe
2018-07-04 17:21                                     ` Andy Shevchenko
2018-07-04 17:23                                       ` Logan Gunthorpe
2018-07-04 17:25                                         ` Andy Shevchenko
2018-07-04 17:32                           ` Andy Shevchenko
2018-07-04 17:36                             ` Logan Gunthorpe
2018-07-03 18:06         ` Andy Shevchenko
2018-06-22 19:47 ` [PATCH v18 7/7] ntb: ntb_hw_switchtec: Cleanup 64bit IO defines to use the common header Logan Gunthorpe

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=991b2298-bb3f-dad3-c93b-b43ee5f372de@deltatee.com \
    --to=logang@deltatee.com \
    --cc=akpm@linux-foundation.org \
    --cc=andy.shevchenko@gmail.com \
    --cc=arnd@arndb.de \
    --cc=dan.douglass@nxp.com \
    --cc=davem@davemloft.net \
    --cc=festevam@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=horia.geanta@nxp.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-ntb@googlegroups.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).