1. 18 11月, 2020 2 次提交
    • V
      octeontx2-af: Modify nix_vtag_cfg mailbox to support TX VTAG entries · 9a946def
      Vamsi Attunuru 提交于
      This patch modifies the existing nix_vtag_config mailbox message
      to allocate and free TX VTAG entries as requested by a NIX PF.
      The TX VTAG entries are global resource that shared by all PFs
      and each entry specifies the size of VTAG to insert and the VTAG
      header data to insert. The mailbox response contains the entry
      index which is used by mailbox requester in configuring the
      NPC_TX_VTAG_ACTION for any MCAM entry.
      Signed-off-by: NVamsi Attunuru <vattunuru@marvell.com>
      Signed-off-by: NSunil Goutham <sgoutham@marvell.com>
      Signed-off-by: NNaveen Mamindlapalli <naveenm@marvell.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      9a946def
    • S
      octeontx2-af: Add mbox messages to install and delete MCAM rules · 55307fcb
      Subbaraya Sundeep 提交于
      Added new mailbox messages to install and delete MCAM rules.
      These mailbox messages will be used for adding/deleting ethtool
      n-tuple filters by NIX PF. The installed MCAM rules are stored
      in a list that will be traversed later to delete the MCAM entries
      when the interface is brought down or when PCIe FLR is received.
      The delete mailbox supports deleting a single MCAM entry or range
      of entries or all the MCAM entries owned by the pcifunc. Each MCAM
      entry can be associated with a HW match stat entry if the mailbox
      requester wants to check the hit count for debugging.
      
      Modified adding default unicast DMAC match rule using install
      flow API. The default unicast DMAC match entry installed by
      Administrative Function is saved and can be changed later by the
      mailbox user to fit additional fields, or the default MCAM entry
      rule action can be used for other flow rules installed later.
      
      Modified rvu_mbox_handler_nix_lf_free mailbox to add a flag to
      disable or delete the MCAM entries. The MCAM entries are disabled
      when the interface is brought down and deleted in FLR handler.
      The disabled MCAM entries will be re-enabled when the interface
      is brought up again.
      Signed-off-by: NSubbaraya Sundeep <sbhatta@marvell.com>
      Signed-off-by: NSunil Goutham <sgoutham@marvell.com>
      Signed-off-by: NNaveen Mamindlapalli <naveenm@marvell.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      55307fcb
  2. 01 11月, 2020 1 次提交
    • S
      octeontx2-af: Mbox changes for 98xx · a84cdcea
      Subbaraya Sundeep 提交于
      This patch puts together all mailbox changes
      for 98xx silicon:
      
      Attach ->
      Modify resource attach mailbox handler to
      request LFs from a block address out of multiple
      blocks of same type. If a PF/VF need LFs from two
      blocks of same type then attach mbox should be
      called twice.
      
      Example:
              struct rsrc_attach *attach;
              .. Allocate memory for message ..
              attach->cptlfs = 3; /* 3 LFs from CPT0 */
              .. Send message ..
              .. Allocate memory for message ..
              attach->modify = 1;
              attach->cpt_blkaddr = BLKADDR_CPT1;
              attach->cptlfs = 2; /* 2 LFs from CPT1 */
              .. Send message ..
      
      Detach ->
      Update detach mailbox and its handler to detach
      resources from CPT1 and NIX1 blocks.
      
      MSIX ->
      Updated the MSIX mailbox and its handler to return
      MSIX offsets for the new block CPT1.
      
      Free resources ->
      Update free_rsrc mailbox and its handler to return
      the free resources count of new blocks NIX1 and CPT1
      
      Links ->
      Number of CGX,LBK and SDP links may vary between
      platforms. For example, in 98xx number of CGX and LBK
      links are more than 96xx. Hence the info about number
      of links present in hardware is useful for consumers to
      request link configuration properly. This patch sends
      this info in nix_lf_alloc_rsp.
      Signed-off-by: NSubbaraya Sundeep <sbhatta@marvell.com>
      Signed-off-by: NSunil Goutham <sgoutham@marvell.com>
      Signed-off-by: NRakesh Babu <rsaladi2@marvell.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      a84cdcea
  3. 01 10月, 2020 1 次提交
    • H
      octeontx2-pf: Fix synchnorization issue in mbox · 66a5209b
      Hariprasad Kelam 提交于
      Mbox implementation in octeontx2 driver has three states
      alloc, send and reset in mbox response. VF allocate and
      sends message to PF for processing, PF ACKs them back and
      reset the mbox memory. In some case we see synchronization
      issue where after msgs_acked is incremented and before
      mbox_reset API is called, if current execution is scheduled
      out and a different thread is scheduled in which checks for
      msgs_acked. Since the new thread sees msgs_acked == msgs_sent
      it will try to allocate a new message and to send a new mbox
      message to PF.Now if mbox_reset is scheduled in, PF will see
      '0' in msgs_send.
      This patch fixes the issue by calling mbox_reset before
      incrementing msgs_acked flag for last processing message and
      checks for valid message size.
      
      Fixes: d424b6c0 ("octeontx2-pf: Enable SRIOV and added VF mbox handling")
      Signed-off-by: NHariprasad Kelam <hkelam@marvell.com>
      Signed-off-by: NGeetha sowjanya <gakula@marvell.com>
      Signed-off-by: NSunil Goutham <sgoutham@marvell.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      66a5209b
  4. 24 9月, 2020 1 次提交
  5. 25 8月, 2020 2 次提交
  6. 03 3月, 2020 3 次提交
    • L
      octeontx2-af: Optimize data retrieval from firmware · 4f4eebf2
      Linu Cherian 提交于
      For retrieving info like interface MAC addresses, packet
      parser key extraction config etc currently a command
      is sent to firmware and firmware which periodically polls
      for commands, processes these and returns the info.
      
      This is resulting in interface initialization taking lot
      of time. To optimize this a memory region is shared between
      firmware and this driver, firmware while booting puts
      static info like these into that region for driver to
      read directly without using commands.
      
      With this
      - Logic for retrieving packet parser extraction config
        via commands is removed and repalced with using the
        shared 'fwdata' structure.
      - Now RVU MSIX vector address is also retrieved from this fwdata struct
        instead of from CSR. Otherwise when kexec/kdump crash kernel loads
        CSR will have a IOVA setup by primary kernel which impacts
        RVU PF/VF's interrupts.
      - Also added a mbox handler for PF/VF interfaces to retrieve their MAC
        addresses from AF.
      Signed-off-by: NLinu Cherian <lcherian@marvell.com>
      Signed-off-by: NChristina Jacob <cjacob@marvell.com>
      Signed-off-by: NRakesh Babu <rsaladi2@marvell.com>
      Signed-off-by: NSunil Goutham <sgoutham@marvell.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4f4eebf2
    • G
      octeontx2-af: Pause frame configuration at cgx · f7e086e7
      Geetha sowjanya 提交于
      CGX LMAC, the physical interface can generate pause frames when
      internal resources asserts backpressure due to exhaustion.
      
      This patch configures CGX to generate 802.3 pause frames.
      Also enabled processing of received pause frames on the line which
      will assert backpressure on the internal transmit path.
      
      Also added mailbox handlers for PF drivers to enable or disable
      pause frames anytime.
      Signed-off-by: NGeetha sowjanya <gakula@marvell.com>
      Signed-off-by: NSunil Goutham <sgoutham@marvell.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f7e086e7
    • G
      octeontx2-af: Interface backpressure configuration · 27150bc4
      Geetha sowjanya 提交于
      Each of the interface receive channels can be backpressured by
      resources upon exhaustion or reaching configured threshold levels.
      Resources here are receive buffer queues (Auras) and pkt notification
      descriptor queues (CQs). Resources and interface channels are mapped
      using backpressure IDs (BPIDs).
      
      HW supports upto 512 BPIDs, this patch divides these BPIDs statically
      across CGX/LBK/SDP interfaces as follows.
      BPIDs 0 - 191 are mapped to LMAC channels, 16 per LMAC.
      BPIDs 192 - 255 are mapped to LBK channels.
      BPIDs 256 - 511 are mapped to SDP channels.
      Also did the needed basic configuration of BPIDs.
      
      Added mbox handlers with which a PF device can request for a BPID which
      it will use to configure Auras and CQs.
      Signed-off-by: NGeetha sowjanya <gakula@marvell.com>
      Signed-off-by: NSunil Goutham <sgoutham@marvell.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      27150bc4
  7. 27 1月, 2020 1 次提交
  8. 17 11月, 2019 1 次提交
  9. 15 11月, 2019 5 次提交
  10. 04 12月, 2018 7 次提交
  11. 20 11月, 2018 13 次提交
  12. 23 10月, 2018 3 次提交