lkml.org 
[lkml]   [2017]   [Dec]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.9 094/100] fm10k: ensure we process SM mbx when processing VF mbx
    Date
    From: Jacob Keller <jacob.e.keller@intel.com>

    [ Upstream commit 17a91809942ca32c70026d2d5ba3348a2c4fdf8f ]

    When we process VF mailboxes, the driver is likely going to also queue
    up messages to the switch manager. This process merely queues up the
    FIFO, but doesn't actually begin the transmission process. Because we
    hold the mailbox lock during this VF processing, the PF<->SM mailbox is
    not getting processed at this time. Ensure that we actually process the
    PF<->SM mailbox in between each PF<->VF mailbox.

    This should ensure prompt transmission of the messages queued up after
    each VF message is received and handled.

    Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
    Tested-by: Krishneil Singh <krishneil.k.singh@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    ---
    drivers/net/ethernet/intel/fm10k/fm10k_iov.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_iov.c b/drivers/net/ethernet/intel/fm10k/fm10k_iov.c
    index f919199944a0..e72fd52bacfe 100644
    --- a/drivers/net/ethernet/intel/fm10k/fm10k_iov.c
    +++ b/drivers/net/ethernet/intel/fm10k/fm10k_iov.c
    @@ -126,6 +126,9 @@ s32 fm10k_iov_mbx(struct fm10k_intfc *interface)
    struct fm10k_mbx_info *mbx = &vf_info->mbx;
    u16 glort = vf_info->glort;

    + /* process the SM mailbox first to drain outgoing messages */
    + hw->mbx.ops.process(hw, &hw->mbx);
    +
    /* verify port mapping is valid, if not reset port */
    if (vf_info->vf_flags && !fm10k_glort_valid_pf(hw, glort))
    hw->iov.ops.reset_lport(hw, vf_info);
    --
    2.11.0
    \
     
     \ /
      Last update: 2017-12-13 03:32    [W:4.553 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site