From: Antoine Tenart <antoine.tenart@bootlin.com>
To: Pascal van Leeuwen <pascalvanl@gmail.com>
Cc: linux-crypto@vger.kernel.org, antoine.tenart@bootlin.com,
herbert@gondor.apana.org.au, davem@davemloft.net,
Pascal van Leeuwen <pvanleeuwen@verimatrix.com>
Subject: Re: [PATCHv2 3/3] crypto: inside-secure - add support for using the EIP197 without vendor firmware
Date: Wed, 31 Jul 2019 14:26:29 +0200 [thread overview]
Message-ID: <20190731122629.GC3579@kwain> (raw)
In-Reply-To: <1564145005-26731-4-git-send-email-pvanleeuwen@verimatrix.com>
Hi Pascal,
Thanks for reworking this not to include the firmware blob, the patch
looks good and I only have minor comments.
On Fri, Jul 26, 2019 at 02:43:25PM +0200, Pascal van Leeuwen wrote:
> +
> +static int eip197_write_firmware(struct safexcel_crypto_priv *priv,
> + const struct firmware *fw)
> +{
> + const u32 *data = (const u32 *)fw->data;
> + int i;
>
> /* Write the firmware */
> for (i = 0; i < fw->size / sizeof(u32); i++)
> writel(be32_to_cpu(data[i]),
> priv->base + EIP197_CLASSIFICATION_RAMS + i * sizeof(u32));
>
> - /* Disable access to the program memory */
> - writel(0, EIP197_PE(priv) + EIP197_PE_ICE_RAM_CTRL(pe));
> + return i - 2;
Could you add a comment (or if applicable, a define) for this '- 2'?
What happens if i < 2 ?
> + for (pe = 0; pe < priv->config.pes; pe++) {
> + base = EIP197_PE_ICE_SCRATCH_RAM(pe);
> + pollcnt = EIP197_FW_START_POLLCNT;
> + while (pollcnt &&
> + (readl(EIP197_PE(priv) + base +
> + pollofs) != 1)) {
> + pollcnt--;
> + cpu_relax();
You can probably use readl_relaxed() here.
> + }
> + if (!pollcnt) {
> + dev_err(priv->dev, "FW(%d) for PE %d failed to start",
> + fpp, pe);
A \n is missing at the end of the string.
> +static bool eip197_start_firmware(struct safexcel_crypto_priv *priv,
> + int ipuesz, int ifppsz, int minifw)
> +{
> + int pe;
> + u32 val;
> +
> + for (pe = 0; pe < priv->config.pes; pe++) {
> + /* Disable access to all program memory */
> + writel(0, EIP197_PE(priv) + EIP197_PE_ICE_RAM_CTRL(pe));
> +
> + /* Start IFPP microengines */
> + if (minifw)
> + val = 0;
> + else
> + val = (((ifppsz - 1) & 0x7ff0) << 16) | BIT(3);
Could you define the mask and the 'BIT(3)'?
> + writel(val, EIP197_PE(priv) + EIP197_PE_ICE_FPP_CTRL(pe));
> +
> + /* Start IPUE microengines */
> + if (minifw)
> + val = 0;
> + else
> + val = ((ipuesz - 1) & 0x7ff0) << 16 | BIT(3);
Ditto.
>
> + if (!minifw) {
> + /* Retry with minifw path */
> + dev_dbg(priv->dev, "Firmware set not (fully) present or init failed, falling back to BCLA mode");
A \n is missing here.
> + dir = "eip197_minifw";
> + minifw = 1;
> + goto retry_fw;
> + }
> +
> + dev_dbg(priv->dev, "Firmware load failed.");
Ditto.
Thanks,
Antoine
--
Antoine Ténart, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2019-07-31 12:26 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-26 12:43 [PATCHv2 0/3] crypto: inside-secure - broaden driver scope Pascal van Leeuwen
2019-07-26 12:43 ` [PATCHv2 1/3] Kconfig: inside-secure - make driver selectable for non-Marvell hardware Pascal van Leeuwen
2019-07-26 12:43 ` [PATCHv2 2/3] crypto: inside-secure - add support for PCI based FPGA development board Pascal van Leeuwen
2019-07-30 9:08 ` Antoine Tenart
2019-07-30 10:20 ` Pascal Van Leeuwen
2019-07-30 13:42 ` Antoine Tenart
2019-07-30 16:17 ` Pascal Van Leeuwen
2019-07-31 12:12 ` Antoine Tenart
2019-07-31 14:08 ` Pascal Van Leeuwen
2019-07-31 10:11 ` Pascal Van Leeuwen
2019-07-31 11:07 ` Herbert Xu
2019-07-31 11:37 ` Pascal Van Leeuwen
2019-07-31 12:03 ` Herbert Xu
2019-07-26 12:43 ` [PATCHv2 3/3] crypto: inside-secure - add support for using the EIP197 without vendor firmware Pascal van Leeuwen
2019-07-31 12:26 ` Antoine Tenart [this message]
2019-07-31 14:23 ` Pascal Van Leeuwen
2019-07-31 14:45 ` Antoine Tenart
2019-07-31 14:53 ` Pascal Van Leeuwen
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=20190731122629.GC3579@kwain \
--to=antoine.tenart@bootlin.com \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=pascalvanl@gmail.com \
--cc=pvanleeuwen@verimatrix.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).