1. 10 Jan, 2004 10 commits
    • François Romieu's avatar
      [netdrvr r8169] Driver forgot to update the transmitted bytes counter. · a5ffe929
      François Romieu authored
      Originally done in rtl8169_start_xmit() by Realtek.
      a5ffe929
    • François Romieu's avatar
      [netdrvr r8169] Merge of changes from Realtek: · 5fed336c
      François Romieu authored
      - register voodoo in rtl8169_hw_start().
      5fed336c
    • François Romieu's avatar
      [netdrvr r8169] Merge of timer related changes from Realtek: · cd68bcbf
      François Romieu authored
      - changed their timeout value from 100 to HZ to trigger rtl8169_phy_timer();
      - s/TX_TIMEOUT/RTL8169_TX_TIMEOUT/ to have RTL8169_{TX/PHY}_TIMEOUT.
      cd68bcbf
    • François Romieu's avatar
      [netdrvr r8169] Merge of changes done by Realtek to rtl8169_init_one(): · efdc1590
      François Romieu authored
      - phy capability settings allows lower or equal capability as suggested
        in Realtek's changes;
      - I/O voodoo;
      - no need to s/mdio_write/RTL8169_WRITE_GMII_REG/;
      - s/rtl8169_hw_PHY_config/rtl8169_hw_phy_config/;
      - rtl8169_hw_phy_config(): ad-hoc struct "phy_magic" to limit duplication
        of code (yep, the u16 -> int conversions should work as expected);
      - variable renames and whitepace changes ignored.
      efdc1590
    • François Romieu's avatar
      [netdrvr r8169] Add {mac/phy}_version. · c69ac7bb
      François Romieu authored
      - change of identification logic in rtl8169_init_board();
      - {chip/rtl_chip}_info are merged in rtl_chip_info;
      - misc style nits (lazy braces, SHOUTING MACROS from realtek converted to
        functions).
      c69ac7bb
    • François Romieu's avatar
      [netdrvr r8169] Rx copybreak for small packets. · efdfea6a
      François Romieu authored
      - removal of rtl8169_unmap_rx() (unneeded as for now).
      efdfea6a
    • François Romieu's avatar
      [netdrvr r8169] Conversion of Tx data buffers to PCI DMA: · 70b64316
      François Romieu authored
      - endianness is kept in a fscked state as it is in the original code
        (will be adressed in a later patch);
      - buf_addr of an unmapped descriptor is always set to the same value 
        (cf rtl8169_unmap_tx_skb);
      - nothing fancy, really.
      70b64316
    • François Romieu's avatar
      [netdrvr r8169] rtl8169_start_xmit fixes: · 7f69071e
      François Romieu authored
      - it forgot to update stats if the skb couldn't be expanded;
      - it didn't free it either if the descriptor was not available;
      - move the spin_unlock nearer of the exit point instead of duplicating
        it in the new branch.
      7f69071e
    • François Romieu's avatar
      [netdrvr r8169] Conversion of Rx data buffers to PCI DMA · 5231873b
      François Romieu authored
      - endianness is kept in a fscked state as it is in the original code
        (will be adressed in a later patch);
      - rtl8169_rx_clear() walks the buffer ring and releases the allocated
        data buffers. It needs to be used in two places: 
        - rtl8169_init_ring() failure path;
        - normal device release (i.e. rtl8169_close);
      - rtl8169_free_rx_skb() releases a Rx data buffer. Mostly an helper
        for rtl8169_rx_clear(). As such it must:
        - unmap the memory area;
        - release the skb;
        - prevent the ring descriptor from being used again;
      - rtl8169_alloc_rx_skb() prepares a Rx data buffer for use.
        As such it must:
        - allocate an skb;
        - map the memory area;
        - reflect the changes in the ring descriptor.
        This function is balanced by rtl8169_free_rx_skb().
      - rtl8169_unmap_rx() simply helps with the 80-columns limit.
      - rtl8169_rx_fill() walks a given range of the buffer ring and
        try to turn any descriptor into a ready to use one. It returns the
        count of modified descriptors and exits if an allocation fails.
        It can be seen as balanced by rtl8169_rx_clear(). Motivation:
        - partially abstract the (usually big) piece of code for the refill
          logic at the end of the Rx interrupt;
        - factorize the refill logic and the initial ring setup.
      - simple conversion of rtl8169_rx_interrupt() without rx_copybreak
        (will be adressed in a later patch).
      5231873b
    • François Romieu's avatar
      [netdrvr r8169] Conversion of Rx/Tx descriptors to consistent DMA: · 902f3218
      François Romieu authored
      - use pci_alloc_consistent() for Rx/Tx descriptors in rtl8169_open()
        (balanced by pci_free_consistent() on error path as well as in
        rtl8169_close());
      - removal of the fields {Rx/Tx}DescArrays in struct rtl8169_private
        as there is no need to store a non-256 bytes aligned address any more;
      - fix for rtl8169_open() leak when RxBufferRings allocation fails.
        Said allocation is pushed to rtl8169_init_ring() as part of an evil
        cunning plan.
      902f3218
  2. 09 Jan, 2004 3 commits
  3. 08 Jan, 2004 27 commits