[Skiboot] [PATCH V2] capi: Keep the current mmio windows in the mbt cache table.
Vaibhav Jain
vaibhav at linux.vnet.ibm.com
Thu Apr 5 14:36:28 AEST 2018
Hi Christophe,
Look good to me with one minor and optional suggestion.
Christophe Lombard <clombard at linux.vnet.ibm.com> writes:
> When the phb is used as a CAPI interface, the current mmio windows list
> is cleaned before adding the capi and the prefetchable memory (M64)
> windows, which implies that the non-prefetchable BAR is no more
> configured.
> This patch allows to set only the mbt bar to pass capi mmio window and
> to keep, as defined, the other mmio values (M32 and M64).
>
> Signed-off-by: Christophe Lombard <clombard at linux.vnet.ibm.com>
Reviwed-by: Vaibhav Jain <vaibhav at linux.vnet.ibm.com>
> + /* search a free entry */
> + if ((entf == -1) &&
> + ((!(p->mbt_cache[i][0] & IODA3_MBT0_ENABLE)) &&
> + (!(p->mbt_cache[i][1] & IODA3_MBT1_ENABLE))))
> + entf = i;
Too many parentheses :-)
Since logical 'and' is associative
Also, s/ !(p->mbt_cache[i][0] & IODA3_MBT0_ENABLE) /
p->mbt_cache[i][0] ^ IODA3_MBT0_ENABLE
So, the expression can be rewritten much cleanly as
if (entf == -1 && (p->mbt_cache[i][0] ^ IODA3_MBT0_ENABLE) &&
(p->mbt_cache[i][1] ^ IODA3_MBT1_ENABLE))
or going by precendence rules
if (entf == -1 && p->mbt_cache[i][0] ^ IODA3_MBT0_ENABLE &&
p->mbt_cache[i][1] ^ IODA3_MBT1_ENABLE)
--
Vaibhav Jain <vaibhav at linux.vnet.ibm.com>
Linux Technology Center, IBM India Pvt. Ltd.
More information about the Skiboot
mailing list