On Tue, 22 Feb 2022 21:47:57 +0100 Pali Rohár <p...@kernel.org> wrote:
> On Thursday 17 February 2022 15:31:10 Marek Behún wrote: > > > + * But this command does not provide access to lock bit. > > > + */ > > > + if (word < 2) { > > > + in[0] = row; > > > + in[1] = word * 32; > > > + res = mbox_do_cmd(MBOX_CMD_OTP_READ_32B, in, 2, out, 2); > > > + if (res != -ENOSYS) { > > > + if (!res) > > > + *data = out[0]; > > > + return res; > > > + } > > > + /* Fallback for old version of CZ.NIC wtmi firmware. */ > > > + } > > > > I am afraid this is not correct, because Marvell's firmware reads the > > efuse without Error Correction. So it is possible for Marvell's command > > to return different value than CZ.NIC's command. > > This is not truth. CZ.NIC firmware for MBOX_CMD_OTP_READ command calls > efuse_read_row_no_ecc which is not doing error correction too. > > So both commands return same value, without error correction. Seems that I have trouble remembering what how I have actually implemented it :) Oh well. Sorry about this.