lkml.org 
[lkml]   [2021]   [Jul]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 0/3] net/ncsi: Add NCSI Intel OEM command to keep PHY link up
    Hello,

    On Thu, Jul 08, 2021 at 03:27:51PM +0300, Ivan Mikhaylov wrote:
    > Add NCSI Intel OEM command to keep PHY link up and prevents any channel
    > resets during the host load on i210.

    There're multiple things to consider here and I have hesitations about
    the way you propose to solve the issue.

    While the host is booted up and fully functional it assumes it has
    full proper control of network cards, and sometimes it really needs to
    reset them to e.g. recover from crashed firmware. The PHY resets might
    also make sense in certain cases, and so in general having this "link
    up" bit set all the time might be breaking assumptions.

    As far as I can tell the Intel developers assumed you would enable
    this bit just prior to powering on the host and turn off after all the
    POST codes are transferred and we can assume the host system is done
    with the UEFI stage and the real OS took over.

    OpenBMC seems to have all the necessary hooks to do it that way, and
    you have a netlink command to send whatever you need for that from the
    userspace, e.g. with the "C version" ncsi-netlink command to set this
    bit just run:

    ncsi-netlink -l 3 -c 0 -p 0 -o 0x50 0x00 0x00 0x01 0x57 0x20 0x00 0x01

    https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-networkd/+/36592
    would provide an OpenBMC-specific way too.


    There's another related thing to consider here: by default I210 has
    power-saving modes enabled and so when BMC is booting the link is
    established only in 100BASE-T mode. With this configuration and this
    bit always set you'd be always stuck to that, never getting Gigabit
    speeds.

    For server motherboards I propose to configure I210 with this:
    ./eeupdate64e /all /ww 0x13 0x0081 # disable Low Power Link Up
    ./eeupdate64e /all /ww 0x20 0x2004 # enable 1000 in non-D0a
    (it's a one-time operation that's best to be performed along with the
    initial I210 flashing)


    Ivan, so far I have an impression that the user-space solution would
    be much easier, flexible and manageable and that there's no need for
    this command to be in Linux at all.

    --
    Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software!
    mailto:fercerpav@gmail.com

    \
     
     \ /
      Last update: 2021-07-20 11:54    [W:4.139 / U:0.164 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site