1. 19 Jul, 2011 9 commits
  2. 18 Jul, 2011 9 commits
  3. 17 Jul, 2011 7 commits
  4. 16 Jul, 2011 5 commits
  5. 15 Jul, 2011 6 commits
  6. 14 Jul, 2011 4 commits
    • Geoff Levand's avatar
      net/ps3: Fix gelic RX DMA restart · ecae42d3
      Geoff Levand authored
      Fix the condition where PS3 network RX hangs when no network
      TX is occurring by calling gelic_card_enable_rxdmac() during
      RX_DMA_CHAIN_END event processing.
      
      The gelic hardware automatically clears its RX_DMA_EN flag when
      it detects an RX_DMA_CHAIN_END event.  In its processing of
      RX_DMA_CHAIN_END the gelic driver is required to set RX_DMA_EN
      (with a call to gelic_card_enable_rxdmac()) to restart RX DMA
      transfers.  The existing gelic driver code does not set
      RX_DMA_EN directly in its processing of the RX_DMA_CHAIN_END
      event, but uses a flag variable card->rx_dma_restart_required
      to schedule the setting of RX_DMA_EN until next inside the
      interrupt handler.
      
      It seems this delayed setting of RX_DMA_EN causes the hang since
      the next RX interrupt after the RX_DMA_CHAIN_END event where
      RX_DMA_EN is scheduled to be set will not occur since RX_DMA_EN
      was not set.  In the case were network TX is occuring, RX_DMA_EN
      is set in the next TX interrupt and RX processing continues.
      Signed-off-by: default avatarGeoff Levand <geoff@infradead.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ecae42d3
    • Ariel Elior's avatar
      bnx2x: Multiple concurrent l2 traffic classes · 6383c0b3
      Ariel Elior authored
      Overview:
       Support mapping of priorities to traffic classes and
       traffic classes to transmission queues ranges in the net device.
       The queue ranges are (count, offset) pairs relating to the txq
       array.
       This can be done via DCBX negotiation or by kernel.
       As a result Enhanced Transmission Selection (ETS) and Priority Flow
       Control (PFC) are supported between L2 network traffic classes.
      
       Mapping:
       This patch uses the netdev_set_num_tc, netdev_set_prio_tc_map and
       netdev_set_tc_queue functions to map priorities to traffic classes
       and traffic classes to transmission queue ranges.
       This mapping is performed by bnx2x_setup_tc function which is
       connected to the ndo_setup_tc.
       This function is always called at nic load where by default it
       maps all priorities to tc 0, and it may also be called by the
       kernel or by the bnx2x upon DCBX negotiation to modify the mapping.
      
       rtnl lock:
       When the ndo_setup_tc is called at nic load or by kernel the rtnl
       lock is already taken. However, when DCBX negotiation takes place
       the lock is not taken. The work is therefore scheduled to be
       handled by the sp_rtnl task.
      
       Fastpath:
       The fastpath structure of the bnx2x which was previously used
       to hold the information of one tx queue and one rx queue was
       redesigned to represent multiple tx queues, one for each traffic
       class.
       The transmission queue supplied in the skb by the kernel can no
       longer be interpreted as a straightforward index into the fastpath
       structure array, but it must rather be decoded to the appropriate
       fastpath index and the tc within that fastpath.
      
       Slowpath:
       The bnx2x's queue object was redesigned to accommodate multiple
       transmission queues. The queue object's state machine was enhanced
       to allow opening multiple transmission-only connections on top of
       the regular tx-rx connection.
      
       Firmware:
       This feature relies on the tx-only queue feature introduced in the
       bnx2x 7.0.23 firmware and the FW likewise must have the bnx2x multi
       cos support.
      Signed-off-by: default avatarAriel Elior <ariele@broadcom.com>
      Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6383c0b3
    • Ariel Elior's avatar
      bnx2x: Renaming the "reset_task" to "sp_rtnl_task" · 7be08a72
      Ariel Elior authored
      Renaming the "reset_task" to a more general purpose name,
       "sp_rtnl_task", as it is already used for another purpose
       other than reset which is parity recovery, and since I
       plan to add a third operation for this task, updating the
       priority to traffic class and traffic class to transmission
       queues mappings after dcbx negotiation takes place.
      Signed-off-by: default avatarAriel Elior <ariele@broadcom.com>
      Signed-off-by: default avatarEilon Greenstein <eilong@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7be08a72
    • David S. Miller's avatar