Hi Jakub,

On Thu, Oct 15, 2020 at 9:02 PM Jakub Kicinski <k...@kernel.org> wrote:
>
> On Thu, 15 Oct 2020 17:53:07 +0530 sundeep subbaraya wrote:
> > Hi Jakub,
> >
> > On Thu, Oct 15, 2020 at 8:18 AM Jakub Kicinski <k...@kernel.org> wrote:
> > >
> > > On Tue, 13 Oct 2020 15:56:28 +0530 sundeep.l...@gmail.com wrote:
> > > > -static const struct npc_mcam_kex npc_mkex_default = {
> > > > +static struct npc_mcam_kex npc_mkex_default = {
> > > >       .mkex_sign = MKEX_SIGN,
> > > >       .name = "default",
> > > >       .kpu_version = NPC_KPU_PROFILE_VER,
> > >
> > > Why is this no longer constant? Are you modifying global data based
> > > on the HW discovered in the system?
> >
> > Yes. Due to an errata present on earlier silicons
> > npc_mkex_default.keyx_cfg[NIX_INTF_TX]
> > and npc_mkex_default.keyx_cfg[NIX_INTF_RX] needs to be identical.
>
> Does this run on the SoC? Is there no possibility that the same kernel
> will have to drive two different pieces of hardware?

If kernel runs on SoC with errata present then
npc_mkex_default.keyx_cfg[NIX_INTF_TX]
is modified to be same as npc_mkex_default.keyx_cfg[NIX_INTF_RX]. And if errata
is not applicable to SoC then npc_mkex_default.keyx_cfg[NIX_INTF_TX]
is unchanged
and the values present in TX and RX are programmed to TX and RX
interface registers.

Thanks,
Sundeep

Reply via email to