18 Jul, 2011

6 commits


17 Jul, 2011

10 commits


15 Jul, 2011

24 commits

  • David S. Miller
     
  • The registers and descriptors bits are identical to the pre-8168
    8169 chipsets : {RxDesc / TxDesc}.opts2 can only contain VLAN information.

    Signed-off-by: Francois Romieu
    Reviewed-by: Jiri Pirko
    Signed-off-by: David S. Miller

    françois romieu
     
  • Remove redundant variable "work".

    Signed-off-by: Krishna Kumar
    Signed-off-by: David S. Miller

    Krishna Kumar
     
  • This patch removes obsolete code in the initialisation/creation of
    slcan devices.

    It follows the suggested cleanups from Ilya Matvejchikov in
    drivers/net/slip.c that where recently applied to net-next-2.6:

    - slip: remove dead code within the slip initialization
    - slip: remove redundant check slip_devs for NULL

    Signed-off-by: Oliver Hartkopp
    Signed-off-by: David S. Miller

    Oliver Hartkopp
     
  • Commit 5f77898de17ff983ff0e2988b73a6bdf4b6f9f8b does not completely
    fix the problem of handling allocations with irqs disabled.. The
    below patch on top of it fixes the problem completely.

    Based on review by "Ivan Vecera" ..
    "
    Small note, the root of the problem was that non-atomic allocation was requested with IRQs disabled. Your patch description does not contain wwhy were the IRQs disabled.

    The function bnad_mbox_irq_alloc incorrectly uses 'flags' var for two different things, 1) to save current CPU flags and 2) for request_irq
    call.
    First the spin_lock_irqsave disables the IRQs and saves _all_ CPU flags (including one that enables/disables interrupts) to 'flags'. Then the 'flags' is overwritten by 0 or 0x80 (IRQF_SHARED). Finally the spin_unlock_irqrestore should restore saved flags, but these flags are now either 0x00 or 0x80. The interrupt bit value in flags register on x86 arch is 0x100.
    This means that the interrupt bit is zero (IRQs disabled) after spin_unlock_irqrestore so the request_irq function is called with disabled interrupts.
    "

    Signed-off-by: Shyam Iyer
    Signed-off-by: David S. Miller

    Shyam Iyer
     
  • …wireless-next-2.6 into for-davem

    Conflicts:
    net/bluetooth/l2cap_core.c

    John W. Linville
     
  • 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: Geoff Levand
    Signed-off-by: David S. Miller

    Geoff Levand
     
  • 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: Ariel Elior
    Signed-off-by: Eilon Greenstein

    Signed-off-by: David S. Miller

    Ariel Elior
     
  • 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: Ariel Elior
    Signed-off-by: Eilon Greenstein

    Signed-off-by: David S. Miller

    Ariel Elior
     
  • David S. Miller
     
  • Remove it, as it indirectly exposes netdev features. It's not used in
    iproute2 (2.6.38) - is anything else using its interface?

    Signed-off-by: Michał Mirosław
    Signed-off-by: David S. Miller

    Michał Mirosław
     
  • The same information and more can be obtained by using ethtool
    with ETHTOOL_GFEATURES.

    Signed-off-by: Michał Mirosław
    Signed-off-by: David S. Miller

    Michał Mirosław
     
  • It is not used anywhere except net/core/dev.c now.

    Signed-off-by: Michał Mirosław
    Signed-off-by: David S. Miller

    Michał Mirosław
     
  • vlan_features contains features inherited from underlying device.
    NETIF_SOFT_FEATURES are not inherited but belong to the vlan device
    itself (ensured in vlan_dev_fix_features()).

    Signed-off-by: Michał Mirosław
    Signed-off-by: David S. Miller

    Michał Mirosław
     
  • Use the fact that ORing with zero is a no-op.

    Signed-off-by: Michał Mirosław
    Signed-off-by: David S. Miller

    Michał Mirosław
     
  • Remove wrong setting of dev->flags. NETIF_F_NO_CSUM maps to IFF_DEBUG
    there, so looks like a mistake.

    Signed-off-by: Michał Mirosław
    Signed-off-by: David S. Miller

    Michał Mirosław
     
  • Set the init value before reset in probe function. And then just
    modify the relative bits and keep the init settings.

    For 8110S, 8110SB, and 8110SC series, the initial value of RxConfig
    needs to be set after the tx/rx is enabled.

    Signed-off-by: Hayes Wang
    Acked-by: Francois Romieu

    Hayes Wang
     
  • Only 8111b needs to enable rx when shutdowning with WoL.

    Signed-off-by: Hayes Wang
    Acked-by: Francois Romieu

    Hayes Wang
     
  • Only 8111E needs enable RxConfig bit 0 ~ 3 when suspending or
    shutdowning for wake on lan.

    Signed-off-by: Hayes Wang
    Acked-by: Francois Romieu

    Hayes Wang
     
  • Signed-off-by: Hayes Wang
    Acked-by: Francois Romieu

    Hayes Wang
     
  • Add the ERI functions which would be used by the new chips.

    Signed-off-by: Hayes Wang
    Acked-by: Francois Romieu

    Hayes Wang
     
  • - Disable tx and rx by resetting hw, so replace rtl8169_asic_down
    with rtl8169_hw_reset.
    - RxConfig bits 0 ~ 5 have to be cleared before hw reset to avoid
    receiving spurious data.
    - Certain chips need to do some checking before reset.
    - Remove hw reset which is done before hw_start. It is done in close,
    down or device probe functions.
    - Move rtl8169_init_ring_indexes function into rtl_hw_reset function.
    The indexes of tx and rx only need to be zero when the hw resets.

    Signed-off-by: Hayes Wang
    Acked-by: Francois Romieu

    Hayes Wang
     
  • Define new registers and modify some existing ones.

    Signed-off-by: Hayes Wang
    Acked-by: Francois Romieu

    Hayes Wang
     
  • Reset card->tx_dma_progress when lv1_net_start_tx_dma() fails or it
    won't send anything afterwards anymore

    Signed-off-by: Andre Heider
    Acked-by: Geoff Levand
    Signed-off-by: David S. Miller

    Andre Heider