[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200908115625.GP4400@dell>
Date: Tue, 8 Sep 2020 12:56:25 +0100
From: Lee Jones <lee.jones@...aro.org>
To: Tom Rix <trix@...hat.com>
Cc: Xu Yilun <yilun.xu@...el.com>, broonie@...nel.org,
linux-kernel@...r.kernel.org, matthew.gerlach@...ux.intel.com,
russell.h.weight@...el.com, lgoncalv@...hat.com, hao.wu@...el.com
Subject: Re: [PATCH v4 2/2] mfd: intel-m10-bmc: add Max10 BMC chip support
for Intel FPGA PAC
On Fri, 28 Aug 2020, Tom Rix wrote:
>
> >> +
> >> +static int check_m10bmc_version(struct intel_m10bmc *m10bmc)
> >> +{
> >> + unsigned int v;
> >> +
> >> + if (m10bmc_raw_read(m10bmc, M10BMC_LEGACY_SYS_BASE + M10BMC_BUILD_VER,
> >> + &v))
> >> + return -ENODEV;
> > Please break functions out of if statements.
> >
> > Does m10bmc_raw_read() return 0 on success?
> >
> > Seems odd for a read function.
> >
> >> + if (v != 0xffffffff) {
> >> + dev_err(m10bmc->dev, "bad version M10BMC detected\n");
> >> + return -ENODEV;
> >> + }
> > The only acceptable version is -1?
>
> I ran into this in testing. This is a check if the board is using a
> very old legacy bmc version. The M10BMC_LEGACY_SYS_BASE is the
> offset to this old block of mmio regs. On the old boards, v would
> have not been f's, on the current boards it is f's. The check is
> necessary because future calls use the M10BMC_SYS_BASE offset which
> was not valid on the old boards.
This should be made more clear. Either as a comment or as a define.
Preferably both!
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
Powered by blists - more mailing lists