Hi Pascal,
Just a small comment below,
On Wed, Jul 31, 2019 at 05:29:19PM +0200, Pascal van Leeuwen wrote:
>
> - /* Release engine from reset */
> - val = readl(EIP197_PE(priv) + ctrl);
> - val &= ~EIP197_PE_ICE_x_CTRL_SW_RESET;
> - writel(val, EIP197_PE(priv) + ctrl);
> + for (pe = 0; pe < priv->config.pes; pe++) {
> + base = EIP197_PE_ICE_SCRATCH_RAM(pe);
> + pollcnt = EIP197_FW_START_POLLCNT;
> + while (pollcnt &&
> + (readl_relaxed(EIP197_PE(priv) + base +
> + pollofs) != 1)) {
> + pollcnt--;
You might want to use readl_relaxed_poll_timeout() here, instead of a
busy polling.
Thanks,
Antoine
--
Antoine Ténart, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com