From: Michael Walle <michael@walle.cc>
To: Vladimir Oltean <vladimir.oltean@nxp.com>
Cc: "David S . Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>,
netdev@vger.kernel.org, Claudiu Manoil <claudiu.manoil@nxp.com>,
Alexandru Marginean <alexandru.marginean@nxp.com>
Subject: Re: [PATCH net] net: enetc: initialize the RFS and RSS memories
Date: Thu, 04 Feb 2021 14:51:41 +0100 [thread overview]
Message-ID: <e13eec965ab1473823faf65b7a0a2d7d@walle.cc> (raw)
In-Reply-To: <20210204134511.2640309-1-vladimir.oltean@nxp.com>
Am 2021-02-04 14:45, schrieb Vladimir Oltean:
> Michael tried to enable Advanced Error Reporting through the ENETC's
> Root Complex Event Collector, and the system started spitting out
> single
> bit correctable ECC errors coming from the ENETC interfaces:
>
> pcieport 0000:00:1f.0: AER: Multiple Corrected error received:
> 0000:00:00.0
> fsl_enetc 0000:00:00.0: PCIe Bus Error: severity=Corrected,
> type=Transaction Layer, (Receiver ID)
> fsl_enetc 0000:00:00.0: device [1957:e100] error
> status/mask=00004000/00000000
> fsl_enetc 0000:00:00.0: [14] CorrIntErr
> fsl_enetc 0000:00:00.1: PCIe Bus Error: severity=Corrected,
> type=Transaction Layer, (Receiver ID)
> fsl_enetc 0000:00:00.1: device [1957:e100] error
> status/mask=00004000/00000000
> fsl_enetc 0000:00:00.1: [14] CorrIntErr
>
> Further investigating the port correctable memory error detect register
> (PCMEDR) shows that these AER errors have an associated SOURCE_ID of 6
> (RFS/RSS):
>
> $ devmem 0x1f8010e10 32
> 0xC0000006
> $ devmem 0x1f8050e10 32
> 0xC0000006
>
> Discussion with the hardware design engineers reveals that on LS1028A,
> the hardware does not do initialization of that RFS/RSS memory, and
> that
> software should clear/initialize the entire table before starting to
> operate. That comes as a bit of a surprise, since the driver does not
> do
> initialization of the RFS memory. Also, the initialization of the
> Receive Side Scaling is done only partially.
>
> Even though the entire ENETC IP has a single shared flow steering
> memory, the flow steering service should returns matches only for TCAM
> entries that are within the range of the Station Interface that is
> doing
> the search. Therefore, it should be sufficient for a Station Interface
> to initialize all of its own entries in order to avoid any ECC errors,
> and only the Station Interfaces in use should need initialization.
>
> There are Physical Station Interfaces associated with PCIe PFs and
> Virtual Station Interfaces associated with PCIe VFs. We let the PF
> driver initialize the entire port's memory, which includes the RFS
> entries which are going to be used by the VF.
>
> Reported-by: Michael Walle <michael@walle.cc>
> Fixes: d4fd0404c1c9 ("enetc: Introduce basic PF and VF ENETC ethernet
> drivers")
> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Tested-by: Michael Walle <michael@walle.cc>
Thanks Vladimir!
-michael
next prev parent reply other threads:[~2021-02-04 13:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-04 13:45 [PATCH net] net: enetc: initialize the RFS and RSS memories Vladimir Oltean
2021-02-04 13:51 ` Michael Walle [this message]
2021-02-05 1:13 ` Jesse Brandeburg
2021-02-05 4:40 ` patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e13eec965ab1473823faf65b7a0a2d7d@walle.cc \
--to=michael@walle.cc \
--cc=alexandru.marginean@nxp.com \
--cc=claudiu.manoil@nxp.com \
--cc=davem@davemloft.net \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=vladimir.oltean@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).