/* * r8169.c: RealTek 8169/8168/8101 ethernet driver. * * Copyright (c) 2002 ShuChen <shuchen@realtek.com.tw> * Copyright (c) 2003 - 2007 Francois Romieu <romieu@fr.zoreil.com> * Copyright (c) a lot of people too. Please respect their work. * * See MAINTAINERS file for support contact information. */ #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/pci.h> #include <linux/netdevice.h> #include <linux/etherdevice.h> #include <linux/delay.h> #include <linux/ethtool.h> #include <linux/mii.h> #include <linux/if_vlan.h> #include <linux/crc32.h> #include <linux/in.h> #include <linux/ip.h> #include <linux/tcp.h> #include <linux/interrupt.h> #include <linux/dma-mapping.h> #include <linux/pm_runtime.h> #include <linux/firmware.h> #include <linux/pci-aspm.h> #include <linux/prefetch.h> #include <linux/ipv6.h> #include <net/ip6_checksum.h> #include <asm/io.h> #include <asm/irq.h> #define RTL8169_VERSION "2.3LK-NAPI" #define MODULENAME "r8169" #define PFX MODULENAME ": " #define FIRMWARE_8168D_1 "rtl_nic/rtl8168d-1.fw" #define FIRMWARE_8168D_2 "rtl_nic/rtl8168d-2.fw" #define FIRMWARE_8168E_1 "rtl_nic/rtl8168e-1.fw" #define FIRMWARE_8168E_2 "rtl_nic/rtl8168e-2.fw" #define FIRMWARE_8168E_3 "rtl_nic/rtl8168e-3.fw" #define FIRMWARE_8168F_1 "rtl_nic/rtl8168f-1.fw" #define FIRMWARE_8168F_2 "rtl_nic/rtl8168f-2.fw" #define FIRMWARE_8105E_1 "rtl_nic/rtl8105e-1.fw" #define FIRMWARE_8402_1 "rtl_nic/rtl8402-1.fw" #define FIRMWARE_8411_1 "rtl_nic/rtl8411-1.fw" #define FIRMWARE_8411_2 "rtl_nic/rtl8411-2.fw" #define FIRMWARE_8106E_1 "rtl_nic/rtl8106e-1.fw" #define FIRMWARE_8106E_2 "rtl_nic/rtl8106e-2.fw" #define FIRMWARE_8168G_2 "rtl_nic/rtl8168g-2.fw" #define FIRMWARE_8168G_3 "rtl_nic/rtl8168g-3.fw" #define FIRMWARE_8168H_1 "rtl_nic/rtl8168h-1.fw" #define FIRMWARE_8168H_2 "rtl_nic/rtl8168h-2.fw" #define FIRMWARE_8107E_1 "rtl_nic/rtl8107e-1.fw" #define FIRMWARE_8107E_2 "rtl_nic/rtl8107e-2.fw" #ifdef RTL8169_DEBUG #define assert(expr) \ if (!(expr)) { \ printk( "Assertion failed! %s,%s,%s,line=%d\n", \ #expr,__FILE__,__func__,__LINE__); \ } #define dprintk(fmt, args...) \ do { printk(KERN_DEBUG PFX fmt, ## args); } while (0) #else #define assert(expr) do {} while (0) #define dprintk(fmt, args...) do {} while (0) #endif /* RTL8169_DEBUG */ #define R8169_MSG_DEFAULT \ (NETIF_MSG_DRV | NETIF_MSG_PROBE | NETIF_MSG_IFUP | NETIF_MSG_IFDOWN) #define TX_SLOTS_AVAIL(tp) \ (tp->dirty_tx + NUM_TX_DESC - tp->cur_tx) /* A skbuff with nr_frags needs nr_frags+1 entries in the tx queue */ #define TX_FRAGS_READY_FOR(tp,nr_frags) \ (TX_SLOTS_AVAIL(tp) >= (nr_frags + 1)) /* Maximum number of multicast addresses to filter (vs. Rx-all-multicast). The RTL chips use a 64 element hash table based on the Ethernet CRC. */ static const int multicast_filter_limit = 32; #define MAX_READ_REQUEST_SHIFT 12 #define TX_DMA_BURST 7 /* Maximum PCI burst, '7' is unlimited */ #define InterFrameGap 0x03 /* 3 means InterFrameGap = the shortest one */ #define R8169_REGS_SIZE 256 #define R8169_NAPI_WEIGHT 64 #define NUM_TX_DESC 64 /* Number of Tx descriptor registers */ #define NUM_RX_DESC 256U /* Number of Rx descriptor registers */ #define R8169_TX_RING_BYTES (NUM_TX_DESC * sizeof(struct TxDesc)) #define R8169_RX_RING_BYTES (NUM_RX_DESC * sizeof(struct RxDesc)) #define RTL8169_TX_TIMEOUT (6*HZ) #define RTL8169_PHY_TIMEOUT (10*HZ) /* write/read MMIO register */ #define RTL_W8(reg, val8) writeb ((val8), ioaddr + (reg)) #define RTL_W16(reg, val16) writew ((val16), ioaddr + (reg)) #define RTL_W32(reg, val32) writel ((val32), ioaddr + (reg)) #define RTL_R8(reg) readb (ioaddr + (reg)) #define RTL_R16(reg) readw (ioaddr + (reg)) #define RTL_R32(reg) readl (ioaddr + (reg)) enum mac_version { RTL_GIGA_MAC_VER_01 = 0, RTL_GIGA_MAC_VER_02, RTL_GIGA_MAC_VER_03, RTL_GIGA_MAC_VER_04, RTL_GIGA_MAC_VER_05, RTL_GIGA_MAC_VER_06, RTL_GIGA_MAC_VER_07, RTL_GIGA_MAC_VER_08, RTL_GIGA_MAC_VER_09, RTL_GIGA_MAC_VER_10, RTL_GIGA_MAC_VER_11, RTL_GIGA_MAC_VER_12, RTL_GIGA_MAC_VER_13, RTL_GIGA_MAC_VER_14, RTL_GIGA_MAC_VER_15, RTL_GIGA_MAC_VER_16, RTL_GIGA_MAC_VER_17, RTL_GIGA_MAC_VER_18, RTL_GIGA_MAC_VER_19, RTL_GIGA_MAC_VER_20, RTL_GIGA_MAC_VER_21, RTL_GIGA_MAC_VER_22, RTL_GIGA_MAC_VER_23, RTL_GIGA_MAC_VER_24, RTL_GIGA_MAC_VER_25, RTL_GIGA_MAC_VER_26, RTL_GIGA_MAC_VER_27, RTL_GIGA_MAC_VER_28, RTL_GIGA_MAC_VER_29, RTL_GIGA_MAC_VER_30, RTL_GIGA_MAC_VER_31, RTL_GIGA_MAC_VER_32, RTL_GIGA_MAC_VER_33, RTL_GIGA_MAC_VER_34, RTL_GIGA_MAC_VER_35, RTL_GIGA_MAC_VER_36, RTL_GIGA_MAC_VER_37, RTL_GIGA_MAC_VER_38, RTL_GIGA_MAC_VER_39, RTL_GIGA_MAC_VER_40, RTL_GIGA_MAC_VER_41, RTL_GIGA_MAC_VER_42, RTL_GIGA_MAC_VER_43, RTL_GIGA_MAC_VER_44, RTL_GIGA_MAC_VER_45, RTL_GIGA_MAC_VER_46, RTL_GIGA_MAC_VER_47, RTL_GIGA_MAC_VER_48, RTL_GIGA_MAC_VER_49, RTL_GIGA_MAC_VER_50, RTL_GIGA_MAC_VER_51, RTL_GIGA_MAC_NONE = 0xff, }; enum rtl_tx_desc_version { RTL_TD_0 = 0, RTL_TD_1 = 1, }; #define JUMBO_1K ETH_DATA_LEN #define JUMBO_4K (4*1024 - ETH_HLEN - 2) #define JUMBO_6K (6*1024 - ETH_HLEN - 2) #define JUMBO_7K (7*1024 - ETH_HLEN - 2) #define JUMBO_9K (9*1024 - ETH_HLEN - 2) #define _R(NAME,TD,FW,SZ,B) { \ .name = NAME, \ .txd_version = TD, \ .fw_name = FW, \ .jumbo_max = SZ, \ .jumbo_tx_csum = B \ } static const struct { const char *name; enum rtl_tx_desc_version txd_version; const char *fw_name; u16 jumbo_max; bool jumbo_tx_csum; } rtl_chip_infos[] = { /* PCI devices. */ [RTL_GIGA_MAC_VER_01] = _R("RTL8169", RTL_TD_0, NULL, JUMBO_7K, true), [RTL_GIGA_MAC_VER_02] = _R("RTL8169s", RTL_TD_0, NULL, JUMBO_7K, true), [RTL_GIGA_MAC_VER_03] = _R("RTL8110s", RTL_TD_0, NULL, JUMBO_7K, true), [RTL_GIGA_MAC_VER_04] = _R("RTL8169sb/8110sb", RTL_TD_0, NULL, JUMBO_7K, true), [RTL_GIGA_MAC_VER_05] = _R("RTL8169sc/8110sc", RTL_TD_0, NULL, JUMBO_7K, true), [RTL_GIGA_MAC_VER_06] = _R("RTL8169sc/8110sc", RTL_TD_0, NULL, JUMBO_7K, true), /* PCI-E devices. */ [RTL_GIGA_MAC_VER_07] = _R("RTL8102e", RTL_TD_1, NULL, JUMBO_1K, true), [RTL_GIGA_MAC_VER_08] = _R("RTL8102e", RTL_TD_1, NULL, JUMBO_1K, true), [RTL_GIGA_MAC_VER_09] = _R("RTL8102e", RTL_TD_1, NULL, JUMBO_1K, true), [RTL_GIGA_MAC_VER_10] = _R("RTL8101e", RTL_TD_0, NULL, JUMBO_1K, true), [RTL_GIGA_MAC_VER_11] = _R("RTL8168b/8111b", RTL_TD_0, NULL, JUMBO_4K, false), [RTL_GIGA_MAC_VER_12] = _R("RTL8168b/8111b", RTL_TD_0, NULL, JUMBO_4K, false), [RTL_GIGA_MAC_VER_13] = _R("RTL8101e", RTL_TD_0, NULL, JUMBO_1K, true), [RTL_GIGA_MAC_VER_14] = _R("RTL8100e", RTL_TD_0, NULL, JUMBO_1K, true), [RTL_GIGA_MAC_VER_15] = _R("RTL8100e", RTL_TD_0, NULL, JUMBO_1K, true), [RTL_GIGA_MAC_VER_16] = _R("RTL8101e", RTL_TD_0, NULL, JUMBO_1K, true), [RTL_GIGA_MAC_VER_17] = _R("RTL8168b/8111b", RTL_TD_0, NULL, JUMBO_4K, false), [RTL_GIGA_MAC_VER_18] = _R("RTL8168cp/8111cp", RTL_TD_1, NULL, JUMBO_6K, false), [RTL_GIGA_MAC_VER_19] = _R("RTL8168c/8111c", RTL_TD_1, NULL, JUMBO_6K, false), [RTL_GIGA_MAC_VER_20] = _R("RTL8168c/8111c", RTL_TD_1, NULL, JUMBO_6K, false), [RTL_GIGA_MAC_VER_21] = _R("RTL8168c/8111c", RTL_TD_1, NULL, JUMBO_6K, false), [RTL_GIGA_MAC_VER_22] = _R("RTL8168c/8111c", RTL_TD_1, NULL, JUMBO_6K, false), [RTL_GIGA_MAC_VER_23] = _R("RTL8168cp/8111cp", RTL_TD_1, NULL, JUMBO_6K, false), [RTL_GIGA_MAC_VER_24] = _R("RTL8168cp/8111cp", RTL_TD_1, NULL, JUMBO_6K, false), [RTL_GIGA_MAC_VER_25] = _R("RTL8168d/8111d", RTL_TD_1, FIRMWARE_8168D_1, JUMBO_9K, false), [RTL_GIGA_MAC_VER_26] = _R("RTL8168d/8111d", RTL_TD_1, FIRMWARE_8168D_2, JUMBO_9K, false), [RTL_GIGA_MAC_VER_27] = _R("RTL8168dp/8111dp", RTL_TD_1, NULL, JUMBO_9K, false), [RTL_GIGA_MAC_VER_28] = _R("RTL8168dp/8111dp", RTL_TD_1, NULL, JUMBO_9K, false), [RTL_GIGA_MAC_VER_29] = _R("RTL8105e", RTL_TD_1, FIRMWARE_8105E_1, JUMBO_1K, true), [RTL_GIGA_MAC_VER_30] = _R("RTL8105e", RTL_TD_1, FIRMWARE_8105E_1, JUMBO_1K, true), [RTL_GIGA_MAC_VER_31] = _R("RTL8168dp/8111dp", RTL_TD_1, NULL, JUMBO_9K, false), [RTL_GIGA_MAC_VER_32] = _R("RTL8168e/8111e", RTL_TD_1, FIRMWARE_8168E_1, JUMBO_9K, false), [RTL_GIGA_MAC_VER_33] = _R("RTL8168e/8111e", RTL_TD_1, FIRMWARE_8168E_2, JUMBO_9K, false), [RTL_GIGA_MAC_VER_34] = _R("RTL8168evl/8111evl",RTL_TD_1, FIRMWARE_8168E_3, JUMBO_9K, false), [RTL_GIGA_MAC_VER_35] = _R("RTL8168f/8111f", RTL_TD_1, FIRMWARE_8168F_1, JUMBO_9K, false), [RTL_GIGA_MAC_VER_36] = _R("RTL8168f/8111f", RTL_TD_1, FIRMWARE_8168F_2, JUMBO_9K, false), [RTL_GIGA_MAC_VER_37] = _R("RTL8402", RTL_TD_1, FIRMWARE_8402_1, JUMBO_1K, true), [RTL_GIGA_MAC_VER_38] = _R("RTL8411", RTL_TD_1, FIRMWARE_8411_1, JUMBO_9K, false), [RTL_GIGA_MAC_VER_39] = _R("RTL8106e", RTL_TD_1, FIRMWARE_8106E_1, JUMBO_1K, true), [RTL_GIGA_MAC_VER_40] = _R("RTL8168g/8111g", RTL_TD_1, FIRMWARE_8168G_2, JUMBO_9K, false), [RTL_GIGA_MAC_VER_41] = _R("RTL8168g/8111g", RTL_TD_1, NULL, JUMBO_9K, false), [RTL_GIGA_MAC_VER_42] = _R("RTL8168g/8111g", RTL_TD_1, FIRMWARE_8168G_3, JUMBO_9K, false), [RTL_GIGA_MAC_VER_43] = _R("RTL8106e", RTL_TD_1, FIRMWARE_8106E_2, JUMBO_1K, true), [RTL_GIGA_MAC_VER_44] = _R("RTL8411", RTL_TD_1, FIRMWARE_8411_2, JUMBO_9K, false), [RTL_GIGA_MAC_VER_45] = _R("RTL8168h/8111h", RTL_TD_1, FIRMWARE_8168H_1, JUMBO_9K, false), [RTL_GIGA_MAC_VER_46] = _R("RTL8168h/8111h", RTL_TD_1, FIRMWARE_8168H_2, JUMBO_9K, false), [RTL_GIGA_MAC_VER_47] = _R("RTL8107e", RTL_TD_1, FIRMWARE_8107E_1, JUMBO_1K, false), [RTL_GIGA_MAC_VER_48] = _R("RTL8107e", RTL_TD_1, FIRMWARE_8107E_2, JUMBO_1K, false), [RTL_GIGA_MAC_VER_49] = _R("RTL8168ep/8111ep", RTL_TD_1, NULL, JUMBO_9K, false), [RTL_GIGA_MAC_VER_50] = _R("RTL8168ep/8111ep", RTL_TD_1, NULL, JUMBO_9K, false), [RTL_GIGA_MAC_VER_51] = _R("RTL8168ep/8111ep", RTL_TD_1, NULL, JUMBO_9K, false), }; #undef _R enum cfg_version { RTL_CFG_0 = 0x00, RTL_CFG_1, RTL_CFG_2 }; static const struct pci_device_id rtl8169_pci_tbl[] = { { PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8129), 0, 0, RTL_CFG_0 }, { PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8136), 0, 0, RTL_CFG_2 }, { PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8161), 0, 0, RTL_CFG_1 }, { PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8167), 0, 0, RTL_CFG_0 }, { PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8168), 0, 0, RTL_CFG_1 }, { PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8169), 0, 0, RTL_CFG_0 }, { PCI_VENDOR_ID_DLINK, 0x4300, PCI_VENDOR_ID_DLINK, 0x4b10, 0, 0, RTL_CFG_1 }, { PCI_DEVICE(PCI_VENDOR_ID_DLINK, 0x4300), 0, 0, RTL_CFG_0 }, { PCI_DEVICE(PCI_VENDOR_ID_DLINK, 0x4302), 0, 0, RTL_CFG_0 }, { PCI_DEVICE(PCI_VENDOR_ID_AT, 0xc107), 0, 0, RTL_CFG_0 }, { PCI_DEVICE(0x16ec, 0x0116), 0, 0, RTL_CFG_0 }, { PCI_VENDOR_ID_LINKSYS, 0x1032, PCI_ANY_ID, 0x0024, 0, 0, RTL_CFG_0 }, { 0x0001, 0x8168, PCI_ANY_ID, 0x2410, 0, 0, RTL_CFG_2 }, {0,}, }; MODULE_DEVICE_TABLE(pci, rtl8169_pci_tbl); static int rx_buf_sz = 16383; static int use_dac = -1; static struct { u32 msg_enable; } debug = { -1 }; enum rtl_registers { MAC0 = 0, /* Ethernet hardware address. */ MAC4 = 4, MAR0 = 8, /* Multicast filter. */ CounterAddrLow = 0x10, CounterAddrHigh = 0x14, TxDescStartAddrLow = 0x20, TxDescStartAddrHigh = 0x24, TxHDescStartAddrLow = 0x28, TxHDescStartAddrHigh = 0x2c, FLASH = 0x30, ERSR = 0x36, ChipCmd = 0x37, TxPoll = 0x38, IntrMask = 0x3c, IntrStatus = 0x3e, TxConfig = 0x40, #define TXCFG_AUTO_FIFO (1 << 7) /* 8111e-vl */ #define TXCFG_EMPTY (1 << 11) /* 8111e-vl */ RxConfig = 0x44, #define RX128_INT_EN (1 << 15) /* 8111c and later */ #define RX_MULTI_EN (1 << 14) /* 8111c only */ #define RXCFG_FIFO_SHIFT 13 /* No threshold before first PCI xfer */ #define RX_FIFO_THRESH (7 << RXCFG_FIFO_SHIFT) #define RX_EARLY_OFF (1 << 11) #define RXCFG_DMA_SHIFT 8 /* Unlimited maximum PCI burst. */ #define RX_DMA_BURST (7 << RXCFG_DMA_SHIFT) RxMissed = 0x4c, Cfg9346 = 0x50, Config0 = 0x51, Config1 = 0x52, Config2 = 0x53, #define PME_SIGNAL (1 << 5) /* 8168c and later */ Config3 = 0x54, Config4 = 0x55, Config5 = 0x56, MultiIntr = 0x5c, PHYAR = 0x60, PHYstatus = 0x6c, RxMaxSize = 0xda, CPlusCmd = 0xe0, IntrMitigate = 0xe2, RxDescAddrLow = 0xe4, RxDescAddrHigh = 0xe8, EarlyTxThres = 0xec, /* 8169. Unit of 32 bytes. */ #define NoEarlyTx 0x3f /* Max value : no early transmit. */ MaxTxPacketSize = 0xec, /* 8101/8168. Unit of 128 bytes. */ #define TxPacketMax (8064 >> 7) #define EarlySize 0x27 FuncEvent = 0xf0, FuncEventMask = 0xf4, FuncPresetState = 0xf8, IBCR0 = 0xf8, IBCR2 = 0xf9, IBIMR0 = 0xfa, IBISR0 = 0xfb, FuncForceEvent = 0xfc, }; enum rtl8110_registers { TBICSR = 0x64, TBI_ANAR = 0x68, TBI_LPAR = 0x6a, }; enum rtl8168_8101_registers { CSIDR = 0x64, CSIAR = 0x68, #define CSIAR_FLAG 0x80000000 #define CSIAR_WRITE_CMD 0x80000000 #define CSIAR_BYTE_ENABLE 0x0f #define CSIAR_BYTE_ENABLE_SHIFT 12 #define CSIAR_ADDR_MASK 0x0fff #define CSIAR_FUNC_CARD 0x00000000 #define CSIAR_FUNC_SDIO 0x00010000 #define CSIAR_FUNC_NIC 0x00020000 #define CSIAR_FUNC_NIC2 0x00010000 PMCH = 0x6f, EPHYAR = 0x80, #define EPHYAR_FLAG 0x80000000 #define EPHYAR_WRITE_CMD 0x80000000 #define EPHYAR_REG_MASK 0x1f #define EPHYAR_REG_SHIFT 16 #define EPHYAR_DATA_MASK 0xffff DLLPR = 0xd0, #define PFM_EN (1 << 6) #define TX_10M_PS_EN (1 << 7) DBG_REG = 0xd1, #define FIX_NAK_1 (1 << 4) #define FIX_NAK_2 (1 << 3) TWSI = 0xd2, MCU = 0xd3, #define NOW_IS_OOB (1 << 7) #define TX_EMPTY (1 << 5) #define RX_EMPTY (1 << 4) #define RXTX_EMPTY (TX_EMPTY | RX_EMPTY) #define EN_NDP (1 << 3) #define EN_OOB_RESET (1 << 2) #define LINK_LIST_RDY (1 << 1) EFUSEAR = 0xdc, #define EFUSEAR_FLAG 0x80000000 #define EFUSEAR_WRITE_CMD 0x80000000 #define EFUSEAR_READ_CMD 0x00000000 #define EFUSEAR_REG_MASK 0x03ff #define EFUSEAR_REG_SHIFT 8 #define EFUSEAR_DATA_MASK 0xff MISC_1 = 0xf2, #define PFM_D3COLD_EN (1 << 6) }; enum rtl8168_registers { LED_FREQ = 0x1a, EEE_LED = 0x1b, ERIDR = 0x70, ERIAR = 0x74, #define ERIAR_FLAG 0x80000000 #define ERIAR_WRITE_CMD 0x80000000 #define ERIAR_READ_CMD 0x00000000 #define ERIAR_ADDR_BYTE_ALIGN 4 #define ERIAR_TYPE_SHIFT 16 #define ERIAR_EXGMAC (0x00 << ERIAR_TYPE_SHIFT) #define ERIAR_MSIX (0x01 << ERIAR_TYPE_SHIFT) #define ERIAR_ASF (0x02 << ERIAR_TYPE_SHIFT) #define ERIAR_OOB (0x02 << ERIAR_TYPE_SHIFT) #define ERIAR_MASK_SHIFT 12 #define ERIAR_MASK_0001 (0x1 << ERIAR_MASK_SHIFT) #define ERIAR_MASK_0011 (0x3 << ERIAR_MASK_SHIFT) #define ERIAR_MASK_0100 (0x4 << ERIAR_MASK_SHIFT) #define ERIAR_MASK_0101 (0x5 << ERIAR_MASK_SHIFT) #define ERIAR_MASK_1111 (0xf << ERIAR_MASK_SHIFT) EPHY_RXER_NUM = 0x7c, OCPDR = 0xb0, /* OCP GPHY access */ #define OCPDR_WRITE_CMD 0x80000000 #define OCPDR_READ_CMD 0x00000000 #define OCPDR_REG_MASK 0x7f #define OCPDR_GPHY_REG_SHIFT 16 #define OCPDR_DATA_MASK 0xffff OCPAR = 0xb4, #define OCPAR_FLAG 0x80000000 #define OCPAR_GPHY_WRITE_CMD 0x8000f060 #define OCPAR_GPHY_READ_CMD 0x0000f060 GPHY_OCP = 0xb8, RDSAR1 = 0xd0, /* 8168c only. Undocumented on 8168dp */ MISC = 0xf0, /* 8168e only. */ #define TXPLA_RST (1 << 29) #define DISABLE_LAN_EN (1 << 23) /* Enable GPIO pin */ #define PWM_EN (1 << 22) #define RXDV_GATED_EN (1 << 19) #define EARLY_TALLY_EN (1 << 16) }; enum rtl_register_content { /* InterruptStatusBits */ SYSErr = 0x8000, PCSTimeout = 0x4000, SWInt = 0x0100, TxDescUnavail = 0x0080, RxFIFOOver = 0x0040, LinkChg = 0x0020, RxOverflow = 0x0010, TxErr = 0x0008, TxOK = 0x0004, RxErr = 0x0002, RxOK = 0x0001, /* RxStatusDesc */ RxBOVF = (1 << 24), RxFOVF = (1 << 23), RxRWT = (1 << 22), RxRES = (1 << 21), RxRUNT = (1 << 20), RxCRC = (1 << 19), /* ChipCmdBits */ StopReq = 0x80, CmdReset = 0x10, CmdRxEnb = 0x08, CmdTxEnb = 0x04, RxBufEmpty = 0x01, /* TXPoll register p.5 */ HPQ = 0x80, /* Poll cmd on the high prio queue */ NPQ = 0x40, /* Poll cmd on the low prio queue */ FSWInt = 0x01, /* Forced software interrupt */ /* Cfg9346Bits */ Cfg9346_Lock = 0x00, Cfg9346_Unlock = 0xc0, /* rx_mode_bits */ AcceptErr = 0x20, AcceptRunt = 0x10, AcceptBroadcast = 0x08, AcceptMulticast = 0x04, AcceptMyPhys = 0x02, AcceptAllPhys = 0x01, #define RX_CONFIG_ACCEPT_MASK 0x3f /* TxConfigBits */ TxInterFrameGapShift = 24, TxDMAShift = 8, /* DMA burst value (0-7) is shift this many bits */ /* Config1 register p.24 */ LEDS1 = (1 << 7), LEDS0 = (1 << 6), Speed_down = (1 << 4), MEMMAP = (1 << 3), IOMAP = (1 << 2), VPD = (1 << 1), PMEnable = (1 << 0), /* Power Management Enable */ /* Config2 register p. 25 */ ClkReqEn = (1 << 7), /* Clock Request Enable */ MSIEnable = (1 << 5), /* 8169 only. Reserved in the 8168. */ PCI_Clock_66MHz = 0x01, PCI_Clock_33MHz = 0x00, /* Config3 register p.25 */ MagicPacket = (1 << 5), /* Wake up when receives a Magic Packet */ LinkUp = (1 << 4), /* Wake up when the cable connection is re-established */ Jumbo_En0 = (1 << 2), /* 8168 only. Reserved in the 8168b */ Rdy_to_L23 = (1 << 1), /* L23 Enable */ Beacon_en = (1 << 0), /* 8168 only. Reserved in the 8168b */ /* Config4 register */ Jumbo_En1 = (1 << 1), /* 8168 only. Reserved in the 8168b */ /* Config5 register p.27 */ BWF = (1 << 6), /* Accept Broadcast wakeup frame */ MWF = (1 << 5), /* Accept Multicast wakeup frame */ UWF = (1 << 4), /* Accept Unicast wakeup frame */ Spi_en = (1 << 3), LanWake = (1 << 1), /* LanWake enable/disable */ PMEStatus = (1 << 0), /* PME status can be reset by PCI RST# */ ASPM_en = (1 << 0), /* ASPM enable */ /* TBICSR p.28 */ TBIReset = 0x80000000, TBILoopback = 0x40000000, TBINwEnable = 0x20000000, TBINwRestart = 0x10000000, TBILinkOk = 0x02000000, TBINwComplete = 0x01000000, /* CPlusCmd p.31 */ EnableBist = (1 << 15), // 8168 8101 Mac_dbgo_oe = (1 << 14), // 8168 8101 Normal_mode = (1 << 13), // unused Force_half_dup = (1 << 12), // 8168 8101 Force_rxflow_en = (1 << 11), // 8168 8101 Force_txflow_en = (1 << 10), // 8168 8101 Cxpl_dbg_sel = (1 << 9), // 8168 8101 ASF = (1 << 8), // 8168 8101 PktCntrDisable = (1 << 7), // 8168 8101 Mac_dbgo_sel = 0x001c, // 8168 RxVlan = (1 << 6), RxChkSum = (1 << 5), PCIDAC = (1 << 4), PCIMulRW = (1 << 3), INTT_0 = 0x0000, // 8168 INTT_1 = 0x0001, // 8168 INTT_2 = 0x0002, // 8168 INTT_3 = 0x0003, // 8168 /* rtl8169_PHYstatus */ TBI_Enable = 0x80, TxFlowCtrl = 0x40, RxFlowCtrl = 0x20, _1000bpsF = 0x10, _100bps = 0x08, _10bps = 0x04, LinkStatus = 0x02, FullDup = 0x01, /* _TBICSRBit */ TBILinkOK = 0x02000000, /* ResetCounterCommand */ CounterReset = 0x1, /* DumpCounterCommand */ CounterDump = 0x8, /* magic enable v2 */ MagicPacket_v2 = (1 << 16), /* Wake up when receives a Magic Packet */ }; enum rtl_desc_bit { /* First doubleword. */ DescOwn = (1 << 31), /* Descriptor is owned by NIC */ RingEnd = (1 << 30), /* End of descriptor ring */ FirstFrag = (1 << 29), /* First segment of a packet */ LastFrag = (1 << 28), /* Final segment of a packet */ }; /* Generic case. */ enum rtl_tx_desc_bit { /* First doubleword. */ TD_LSO = (1 << 27), /* Large Send Offload */ #define TD_MSS_MAX 0x07ffu /* MSS value */ /* Second doubleword. */ TxVlanTag = (1 << 17), /* Add VLAN tag */ }; /* 8169, 8168b and 810x except 8102e. */ enum rtl_tx_desc_bit_0 { /* First doubleword. */ #define TD0_MSS_SHIFT 16 /* MSS position (11 bits) */ TD0_TCP_CS = (1 << 16), /* Calculate TCP/IP checksum */ TD0_UDP_CS = (1 << 17), /* Calculate UDP/IP checksum */ TD0_IP_CS = (1 << 18), /* Calculate IP checksum */ }; /* 8102e, 8168c and beyond. */ enum rtl_tx_desc_bit_1 { /* First doubleword. */ TD1_GTSENV4 = (1 << 26), /* Giant Send for IPv4 */ TD1_GTSENV6 = (1 << 25), /* Giant Send for IPv6 */ #define GTTCPHO_SHIFT 18 #define GTTCPHO_MAX 0x7fU /* Second doubleword. */ #define TCPHO_SHIFT 18 #define TCPHO_MAX 0x3ffU #define TD1_MSS_SHIFT 18 /* MSS position (11 bits) */ TD1_IPv6_CS = (1 << 28), /* Calculate IPv6 checksum */ TD1_IPv4_CS = (1 << 29), /* Calculate IPv4 checksum */ TD1_TCP_CS = (1 << 30), /* Calculate TCP/IP checksum */ TD1_UDP_CS = (1 << 31), /* Calculate UDP/IP checksum */ }; enum rtl_rx_desc_bit { /* Rx private */ PID1 = (1 << 18), /* Protocol ID bit 1/2 */ PID0 = (1 << 17), /* Protocol ID bit 0/2 */ #define RxProtoUDP (PID1) #define RxProtoTCP (PID0) #define RxProtoIP (PID1 | PID0) #define RxProtoMask RxProtoIP IPFail = (1 << 16), /* IP checksum failed */ UDPFail = (1 << 15), /* UDP/IP checksum failed */ TCPFail = (1 << 14), /* TCP/IP checksum failed */ RxVlanTag = (1 << 16), /* VLAN tag available */ }; #define RsvdMask 0x3fffc000 struct TxDesc { __le32 opts1; __le32 opts2; __le64 addr; }; struct RxDesc { __le32 opts1; __le32 opts2; __le64 addr; }; struct ring_info { struct sk_buff *skb; u32 len; u8 __pad[sizeof(void *) - sizeof(u32)]; }; enum features { RTL_FEATURE_WOL = (1 << 0), RTL_FEATURE_MSI = (1 << 1), RTL_FEATURE_GMII = (1 << 2), }; struct rtl8169_counters { __le64 tx_packets; __le64 rx_packets; __le64 tx_errors; __le32 rx_errors; __le16 rx_missed; __le16 align_errors; __le32 tx_one_collision; __le32 tx_multi_collision; __le64 rx_unicast; __le64 rx_broadcast; __le32 rx_multicast; __le16 tx_aborted; __le16 tx_underun; }; struct rtl8169_tc_offsets { bool inited; __le64 tx_errors; __le32 tx_multi_collision; __le16 tx_aborted; }; enum rtl_flag { RTL_FLAG_TASK_ENABLED, RTL_FLAG_TASK_SLOW_PENDING, RTL_FLAG_TASK_RESET_PENDING, RTL_FLAG_TASK_PHY_PENDING, RTL_FLAG_MAX }; struct rtl8169_stats { u64 packets; u64 bytes; struct u64_stats_sync syncp; }; struct rtl8169_private { void __iomem *mmio_addr; /* memory map physical address */ struct pci_dev *pci_dev; struct net_device *dev; struct napi_struct napi; u32 msg_enable; u16 txd_version; u16 mac_version; u32 cur_rx; /* Index into the Rx descriptor buffer of next Rx pkt. */ u32 cur_tx; /* Index into the Tx descriptor buffer of next Rx pkt. */ u32 dirty_tx; struct rtl8169_stats rx_stats; struct rtl8169_stats tx_stats; struct TxDesc *TxDescArray; /* 256-aligned Tx descriptor ring */ struct RxDesc *RxDescArray; /* 256-aligned Rx descriptor ring */ dma_addr_t TxPhyAddr; dma_addr_t RxPhyAddr; void *Rx_databuff[NUM_RX_DESC]; /* Rx data buffers */ struct ring_info tx_skb[NUM_TX_DESC]; /* Tx data buffers */ struct timer_list timer; u16 cp_cmd; u16 event_slow; struct mdio_ops { void (*write)(struct rtl8169_private *, int, int); int (*read)(struct rtl8169_private *, int); } mdio_ops; struct pll_power_ops { void (*down)(struct rtl8169_private *); void (*up)(struct rtl8169_private *); } pll_power_ops; struct jumbo_ops { void (*enable)(struct rtl8169_private *); void (*disable)(struct rtl8169_private *); } jumbo_ops; struct csi_ops { void (*write)(struct rtl8169_private *, int, int); u32 (*read)(struct rtl8169_private *, int); } csi_ops; int (*set_speed)(struct net_device *, u8 aneg, u16 sp, u8 dpx, u32 adv); int (*get_settings)(struct net_device *, struct ethtool_cmd *); void (*phy_reset_enable)(struct rtl8169_private *tp); void (*hw_start)(struct net_device *); unsigned int (*phy_reset_pending)(struct rtl8169_private *tp); unsigned int (*link_ok)(void __iomem *); int (*do_ioctl)(struct rtl8169_private *tp, struct mii_ioctl_data *data, int cmd); bool (*tso_csum)(struct rtl8169_private *, struct sk_buff *, u32 *); struct { DECLARE_BITMAP(flags, RTL_FLAG_MAX); struct mutex mutex; struct work_struct work; } wk; unsigned features; struct mii_if_info mii; dma_addr_t counters_phys_addr; struct rtl8169_counters *counters; struct rtl8169_tc_offsets tc_offset; u32 saved_wolopts; u32 opts1_mask; struct rtl_fw { const struct firmware *fw; #define RTL_VER_SIZE 32 char version[RTL_VER_SIZE]; struct rtl_fw_phy_action { __le32 *code; size_t size; } phy_action; } *rtl_fw; #define RTL_FIRMWARE_UNKNOWN ERR_PTR(-EAGAIN) u32 ocp_base; }; MODULE_AUTHOR("Realtek and the Linux r8169 crew <netdev@vger.kernel.org>"); MODULE_DESCRIPTION("RealTek RTL-8169 Gigabit Ethernet driver"); module_param(use_dac, int, 0); MODULE_PARM_DESC(use_dac, "Enable PCI DAC. Unsafe on 32 bit PCI slot."); module_param_named(debug, debug.msg_enable, int, 0); MODULE_PARM_DESC(debug, "Debug verbosity level (0=none, ..., 16=all)"); MODULE_LICENSE("GPL"); MODULE_VERSION(RTL8169_VERSION); MODULE_FIRMWARE(FIRMWARE_8168D_1); MODULE_FIRMWARE(FIRMWARE_8168D_2); MODULE_FIRMWARE(FIRMWARE_8168E_1); MODULE_FIRMWARE(FIRMWARE_8168E_2); MODULE_FIRMWARE(FIRMWARE_8168E_3); MODULE_FIRMWARE(FIRMWARE_8105E_1); MODULE_FIRMWARE(FIRMWARE_8168F_1); MODULE_FIRMWARE(FIRMWARE_8168F_2); MODULE_FIRMWARE(FIRMWARE_8402_1); MODULE_FIRMWARE(FIRMWARE_8411_1); MODULE_FIRMWARE(FIRMWARE_8411_2); MODULE_FIRMWARE(FIRMWARE_8106E_1); MODULE_FIRMWARE(FIRMWARE_8106E_2); MODULE_FIRMWARE(FIRMWARE_8168G_2); MODULE_FIRMWARE(FIRMWARE_8168G_3); MODULE_FIRMWARE(FIRMWARE_8168H_1); MODULE_FIRMWARE(FIRMWARE_8168H_2); MODULE_FIRMWARE(FIRMWARE_8107E_1); MODULE_FIRMWARE(FIRMWARE_8107E_2);
static void rtl_lock_work(struct rtl8169_private *tp) { mutex_lock(&tp->wk.mutex); }Contributors
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 21 | 100.00% | 1 | 100.00% |
Total | 21 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 21 | 100.00% | 1 | 100.00% |
Total | 21 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 23 | 92.00% | 1 | 50.00% |
jiang liu | jiang liu | 2 | 8.00% | 1 | 50.00% |
Total | 25 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 15 | 100.00% | 1 | 100.00% |
Total | 15 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 101 | 100.00% | 2 | 100.00% |
Total | 101 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 40 | 100.00% | 1 | 100.00% |
Total | 40 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 40 | 100.00% | 1 | 100.00% |
Total | 40 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 40 | 100.00% | 1 | 100.00% |
Total | 40 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 40 | 100.00% | 1 | 100.00% |
Total | 40 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 43 | 100.00% | 1 | 100.00% |
Total | 43 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 63 | 100.00% | 1 | 100.00% |
Total | 63 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 69 | 100.00% | 1 | 100.00% |
Total | 69 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 51 | 100.00% | 1 | 100.00% |
Total | 51 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 50 | 100.00% | 1 | 100.00% |
Total | 50 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 65 | 100.00% | 1 | 100.00% |
Total | 65 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 40 | 100.00% | 1 | 100.00% |
Total | 40 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 47 | 100.00% | 1 | 100.00% |
Total | 47 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 26 | 100.00% | 1 | 100.00% |
Total | 26 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 30 | 46.15% | 6 | 66.67% |
jeff garzik | jeff garzik | 29 | 44.62% | 1 | 11.11% |
timo teras | timo teras | 6 | 9.23% | 2 | 22.22% |
Total | 65 | 100.00% | 9 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
jeff garzik | jeff garzik | 35 | 47.30% | 1 | 14.29% |
francois romieu | francois romieu | 33 | 44.59% | 5 | 71.43% |
timo teras | timo teras | 6 | 8.11% | 1 | 14.29% |
Total | 74 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 69 | 100.00% | 3 | 100.00% |
Total | 69 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 32 | 100.00% | 2 | 100.00% |
Total | 32 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 74 | 100.00% | 3 | 100.00% |
Total | 74 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 24 | 100.00% | 1 | 100.00% |
Total | 24 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 23 | 100.00% | 1 | 100.00% |
Total | 23 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 45 | 100.00% | 2 | 100.00% |
Total | 45 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 48 | 100.00% | 2 | 100.00% |
Total | 48 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 30 | 100.00% | 3 | 100.00% |
Total | 30 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 26 | 100.00% | 3 | 100.00% |
Total | 26 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 33 | 100.00% | 3 | 100.00% |
Total | 33 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 44 | 91.67% | 2 | 66.67% |
chun-hao lin | chun-hao lin | 4 | 8.33% | 1 | 33.33% |
Total | 48 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 39 | 100.00% | 3 | 100.00% |
Total | 39 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 35 | 100.00% | 4 | 100.00% |
Total | 35 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 64 | 100.00% | 4 | 100.00% |
Total | 64 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 59 | 100.00% | 4 | 100.00% |
Total | 59 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 59 | 74.68% | 1 | 33.33% |
francois romieu | francois romieu | 20 | 25.32% | 2 | 66.67% |
Total | 79 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 34 | 56.67% | 1 | 33.33% |
francois romieu | francois romieu | 26 | 43.33% | 2 | 66.67% |
Total | 60 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 54 | 90.00% | 1 | 33.33% |
francois romieu | francois romieu | 5 | 8.33% | 1 | 33.33% |
chun-hao lin | chun-hao lin | 1 | 1.67% | 1 | 33.33% |
Total | 60 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 69 | 100.00% | 1 | 100.00% |
Total | 69 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 27 | 100.00% | 1 | 100.00% |
Total | 27 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 71 | 100.00% | 1 | 100.00% |
Total | 71 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 72 | 100.00% | 1 | 100.00% |
Total | 72 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 42 | 100.00% | 1 | 100.00% |
Total | 42 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 75 | 100.00% | 1 | 100.00% |
Total | 75 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 38 | 100.00% | 1 | 100.00% |
Total | 38 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 24 | 100.00% | 1 | 100.00% |
Total | 24 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 70 | 100.00% | 1 | 100.00% |
Total | 70 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 30 | 100.00% | 2 | 100.00% |
Total | 30 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 54 | 100.00% | 2 | 100.00% |
Total | 54 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 54 | 100.00% | 1 | 100.00% |
Total | 54 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 30 | 100.00% | 2 | 100.00% |
Total | 30 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 59 | 100.00% | 2 | 100.00% |
Total | 59 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 54 | 100.00% | 1 | 100.00% |
Total | 54 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 37 | 100.00% | 2 | 100.00% |
Total | 37 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 29 | 100.00% | 1 | 100.00% |
Total | 29 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 53 | 100.00% | 1 | 100.00% |
Total | 53 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 51 | 100.00% | 2 | 100.00% |
Total | 51 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 59 | 100.00% | 3 | 100.00% |
Total | 59 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 26 | 100.00% | 1 | 100.00% |
Total | 26 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 33 | 100.00% | 1 | 100.00% |
Total | 33 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 30 | 100.00% | 1 | 100.00% |
Total | 30 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 30 | 100.00% | 1 | 100.00% |
Total | 30 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 22 | 100.00% | 1 | 100.00% |
Total | 22 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 39 | 95.12% | 5 | 83.33% |
stephen hemminger | stephen hemminger | 2 | 4.88% | 1 | 16.67% |
Total | 41 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 28 | 96.55% | 4 | 80.00% |
al viro | al viro | 1 | 3.45% | 1 | 20.00% |
Total | 29 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 22 | 100.00% | 4 | 100.00% |
Total | 22 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 19 | 95.00% | 2 | 66.67% |
al viro | al viro | 1 | 5.00% | 1 | 33.33% |
Total | 20 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 19 | 95.00% | 1 | 50.00% |
al viro | al viro | 1 | 5.00% | 1 | 50.00% |
Total | 20 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 31 | 96.88% | 2 | 66.67% |
al viro | al viro | 1 | 3.12% | 1 | 33.33% |
Total | 32 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 37 | 100.00% | 6 | 100.00% |
Total | 37 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 319 | 94.94% | 4 | 66.67% |
francois romieu | francois romieu | 15 | 4.46% | 1 | 16.67% |
chun-hao lin | chun-hao lin | 2 | 0.60% | 1 | 16.67% |
Total | 336 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 37 | 33.33% | 3 | 27.27% |
rafael j. wysocki | rafael j. wysocki | 34 | 30.63% | 2 | 18.18% |
joe perches | joe perches | 16 | 14.41% | 1 | 9.09% |
jeff garzik | jeff garzik | 9 | 8.11% | 1 | 9.09% |
stephen hemminger | stephen hemminger | 8 | 7.21% | 1 | 9.09% |
hayes wang | hayes wang | 6 | 5.41% | 2 | 18.18% |
al viro | al viro | 1 | 0.90% | 1 | 9.09% |
Total | 111 | 100.00% | 11 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
rafael j. wysocki | rafael j. wysocki | 32 | 100.00% | 1 | 100.00% |
Total | 32 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 101 | 52.33% | 1 | 20.00% |
chun-hao lin | chun-hao lin | 79 | 40.93% | 3 | 60.00% |
rafael j. wysocki | rafael j. wysocki | 13 | 6.74% | 1 | 20.00% |
Total | 193 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 38 | 42.70% | 1 | 25.00% |
rafael j. wysocki | rafael j. wysocki | 26 | 29.21% | 1 | 25.00% |
francois romieu | francois romieu | 25 | 28.09% | 2 | 50.00% |
Total | 89 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 220 | 60.94% | 4 | 40.00% |
chun-hao lin | chun-hao lin | 126 | 34.90% | 4 | 40.00% |
rafael j. wysocki | rafael j. wysocki | 14 | 3.88% | 1 | 10.00% |
alexey dobriyan | alexey dobriyan | 1 | 0.28% | 1 | 10.00% |
Total | 361 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 38 | 31.67% | 1 | 14.29% |
rafael j. wysocki | rafael j. wysocki | 38 | 31.67% | 1 | 14.29% |
francois romieu | francois romieu | 30 | 25.00% | 4 | 57.14% |
bruno premont | bruno premont | 14 | 11.67% | 1 | 14.29% |
Total | 120 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 23 | 100.00% | 2 | 100.00% |
Total | 23 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 90 | 68.70% | 6 | 66.67% |
rick jones | rick jones | 40 | 30.53% | 2 | 22.22% |
andrew morton | andrew morton | 1 | 0.76% | 1 | 11.11% |
Total | 131 | 100.00% | 9 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 14 | 100.00% | 3 | 100.00% |
Total | 14 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 120 | 90.23% | 2 | 33.33% |
joe perches | joe perches | 5 | 3.76% | 1 | 16.67% |
stephen hemminger | stephen hemminger | 4 | 3.01% | 1 | 16.67% |
oliver neukum | oliver neukum | 3 | 2.26% | 1 | 16.67% |
al viro | al viro | 1 | 0.75% | 1 | 16.67% |
Total | 133 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 257 | 70.80% | 9 | 75.00% |
oliver neukum | oliver neukum | 91 | 25.07% | 1 | 8.33% |
hayes wang | hayes wang | 9 | 2.48% | 1 | 8.33% |
joe perches | joe perches | 6 | 1.65% | 1 | 8.33% |
Total | 363 | 100.00% | 12 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 95 | 87.96% | 5 | 71.43% |
chun-hao lin | chun-hao lin | 8 | 7.41% | 1 | 14.29% |
oliver neukum | oliver neukum | 5 | 4.63% | 1 | 14.29% |
Total | 108 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 67 | 90.54% | 4 | 66.67% |
oliver neukum | oliver neukum | 4 | 5.41% | 1 | 16.67% |
david decotigny | david decotigny | 3 | 4.05% | 1 | 16.67% |
Total | 74 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 50 | 79.37% | 3 | 60.00% |
michal miroslaw | michal miroslaw | 13 | 20.63% | 2 | 40.00% |
Total | 63 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 53 | 36.81% | 4 | 40.00% |
hayes wang | hayes wang | 45 | 31.25% | 1 | 10.00% |
michal miroslaw | michal miroslaw | 24 | 16.67% | 2 | 20.00% |
ben greear | ben greear | 20 | 13.89% | 1 | 10.00% |
patrick mchardy | patrick mchardy | 1 | 0.69% | 1 | 10.00% |
al viro | al viro | 1 | 0.69% | 1 | 10.00% |
Total | 144 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 44 | 73.33% | 3 | 75.00% |
hayes wang | hayes wang | 16 | 26.67% | 1 | 25.00% |
Total | 60 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 30 | 93.75% | 3 | 75.00% |
jiri pirko | jiri pirko | 2 | 6.25% | 1 | 25.00% |
Total | 32 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 44 | 89.80% | 7 | 87.50% |
patrick mchardy | patrick mchardy | 5 | 10.20% | 1 | 12.50% |
Total | 49 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 104 | 94.55% | 5 | 62.50% |
david decotigny | david decotigny | 4 | 3.64% | 1 | 12.50% |
jeff garzik | jeff garzik | 1 | 0.91% | 1 | 12.50% |
al viro | al viro | 1 | 0.91% | 1 | 12.50% |
Total | 110 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 37 | 100.00% | 4 | 100.00% |
Total | 37 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 53 | 100.00% | 4 | 100.00% |
Total | 53 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 46 | 55.42% | 2 | 66.67% |
peter lekensteyn | peter lekensteyn | 37 | 44.58% | 1 | 33.33% |
Total | 83 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
stephen hemminger | stephen hemminger | 23 | 88.46% | 1 | 50.00% |
francois romieu | francois romieu | 3 | 11.54% | 1 | 50.00% |
Total | 26 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
stephen hemminger | stephen hemminger | 28 | 93.33% | 1 | 50.00% |
francois romieu | francois romieu | 2 | 6.67% | 1 | 50.00% |
Total | 30 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
jeff garzik | jeff garzik | 18 | 52.94% | 1 | 50.00% |
stephen hemminger | stephen hemminger | 16 | 47.06% | 1 | 50.00% |
Total | 34 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
corinna vinschen | corinna vinschen | 117 | 100.00% | 2 | 100.00% |
Total | 117 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
corinna vinschen | corinna vinschen | 41 | 100.00% | 2 | 100.00% |
Total | 41 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
stephen hemminger | stephen hemminger | 30 | 54.55% | 1 | 25.00% |
ivan vecera | ivan vecera | 15 | 27.27% | 1 | 25.00% |
corinna vinschen | corinna vinschen | 10 | 18.18% | 2 | 50.00% |
Total | 55 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
corinna vinschen | corinna vinschen | 103 | 92.79% | 2 | 50.00% |
ivan vecera | ivan vecera | 6 | 5.41% | 1 | 25.00% |
stephen hemminger | stephen hemminger | 2 | 1.80% | 1 | 25.00% |
Total | 111 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
stephen hemminger | stephen hemminger | 131 | 56.47% | 1 | 25.00% |
ivan vecera | ivan vecera | 50 | 21.55% | 1 | 25.00% |
chun-hao lin | chun-hao lin | 29 | 12.50% | 1 | 25.00% |
corinna vinschen | corinna vinschen | 22 | 9.48% | 1 | 25.00% |
Total | 232 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
stephen hemminger | stephen hemminger | 41 | 100.00% | 1 | 100.00% |
Total | 41 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
florian fainelli | florian fainelli | 30 | 100.00% | 1 | 100.00% |
Total | 30 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 433 | 60.90% | 19 | 50.00% |
hayes wang | hayes wang | 180 | 25.32% | 13 | 34.21% |
chun-hao lin | chun-hao lin | 92 | 12.94% | 2 | 5.26% |
jean delvare | jean delvare | 2 | 0.28% | 1 | 2.63% |
jeff garzik | jeff garzik | 2 | 0.28% | 1 | 2.63% |
al viro | al viro | 1 | 0.14% | 1 | 2.63% |
alexey dobriyan | alexey dobriyan | 1 | 0.14% | 1 | 2.63% |
Total | 711 | 100.00% | 38 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 19 | 95.00% | 2 | 66.67% |
jeff garzik | jeff garzik | 1 | 5.00% | 1 | 33.33% |
Total | 20 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 44 | 97.78% | 2 | 66.67% |
alexey dobriyan | alexey dobriyan | 1 | 2.22% | 1 | 33.33% |
Total | 45 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 162 | 56.25% | 1 | 20.00% |
francois romieu | francois romieu | 126 | 43.75% | 4 | 80.00% |
Total | 288 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 125 | 54.11% | 2 | 28.57% |
francois romieu | francois romieu | 106 | 45.89% | 5 | 71.43% |
Total | 231 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 77 | 96.25% | 2 | 50.00% |
hayes wang | hayes wang | 2 | 2.50% | 1 | 25.00% |
yannick guerrini | yannick guerrini | 1 | 1.25% | 1 | 25.00% |
Total | 80 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 264 | 72.53% | 2 | 25.00% |
francois romieu | francois romieu | 100 | 27.47% | 6 | 75.00% |
Total | 364 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 45 | 100.00% | 3 | 100.00% |
Total | 45 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 36 | 100.00% | 3 | 100.00% |
Total | 36 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 47 | 100.00% | 2 | 100.00% |
Total | 47 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 336 | 99.41% | 7 | 87.50% |
jeff garzik | jeff garzik | 2 | 0.59% | 1 | 12.50% |
Total | 338 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 48 | 96.00% | 3 | 75.00% |
alexey dobriyan | alexey dobriyan | 2 | 4.00% | 1 | 25.00% |
Total | 50 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 60 | 90.91% | 2 | 66.67% |
sergei shtylyov | sergei shtylyov | 6 | 9.09% | 1 | 33.33% |
Total | 66 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 245 | 99.19% | 2 | 66.67% |
alexey dobriyan | alexey dobriyan | 2 | 0.81% | 1 | 33.33% |
Total | 247 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 282 | 99.30% | 2 | 66.67% |
alexey dobriyan | alexey dobriyan | 2 | 0.70% | 1 | 33.33% |
Total | 284 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 62 | 96.88% | 2 | 66.67% |
alexey dobriyan | alexey dobriyan | 2 | 3.12% | 1 | 33.33% |
Total | 64 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 48 | 96.00% | 2 | 66.67% |
alexey dobriyan | alexey dobriyan | 2 | 4.00% | 1 | 33.33% |
Total | 50 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 60 | 96.77% | 3 | 75.00% |
alexey dobriyan | alexey dobriyan | 2 | 3.23% | 1 | 25.00% |
Total | 62 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 79 | 97.53% | 2 | 66.67% |
alexey dobriyan | alexey dobriyan | 2 | 2.47% | 1 | 33.33% |
Total | 81 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 163 | 98.79% | 5 | 83.33% |
alexey dobriyan | alexey dobriyan | 2 | 1.21% | 1 | 16.67% |
Total | 165 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 162 | 98.78% | 4 | 80.00% |
alexey dobriyan | alexey dobriyan | 2 | 1.22% | 1 | 20.00% |
Total | 164 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 126 | 98.44% | 2 | 66.67% |
alexey dobriyan | alexey dobriyan | 2 | 1.56% | 1 | 33.33% |
Total | 128 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 16 | 100.00% | 2 | 100.00% |
Total | 16 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 531 | 98.88% | 7 | 77.78% |
chun-hao lin | chun-hao lin | 4 | 0.74% | 1 | 11.11% |
alexey dobriyan | alexey dobriyan | 2 | 0.37% | 1 | 11.11% |
Total | 537 | 100.00% | 9 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 488 | 98.39% | 7 | 70.00% |
alexey dobriyan | alexey dobriyan | 4 | 0.81% | 1 | 10.00% |
chun-hao lin | chun-hao lin | 2 | 0.40% | 1 | 10.00% |
joe perches | joe perches | 2 | 0.40% | 1 | 10.00% |
Total | 496 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 318 | 99.38% | 3 | 75.00% |
alexey dobriyan | alexey dobriyan | 2 | 0.62% | 1 | 25.00% |
Total | 320 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 79 | 100.00% | 1 | 100.00% |
Total | 79 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 391 | 88.66% | 3 | 33.33% |
francois romieu | francois romieu | 41 | 9.30% | 4 | 44.44% |
chun-hao lin | chun-hao lin | 7 | 1.59% | 1 | 11.11% |
alexey dobriyan | alexey dobriyan | 2 | 0.45% | 1 | 11.11% |
Total | 441 | 100.00% | 9 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 172 | 100.00% | 1 | 100.00% |
Total | 172 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 516 | 95.91% | 3 | 50.00% |
francois romieu | francois romieu | 12 | 2.23% | 1 | 16.67% |
chun-hao lin | chun-hao lin | 10 | 1.86% | 2 | 33.33% |
Total | 538 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 135 | 97.12% | 1 | 50.00% |
chun-hao lin | chun-hao lin | 4 | 2.88% | 1 | 50.00% |
Total | 139 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 234 | 99.57% | 4 | 80.00% |
chun-hao lin | chun-hao lin | 1 | 0.43% | 1 | 20.00% |
Total | 235 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 21 | 100.00% | 1 | 100.00% |
Total | 21 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 596 | 97.55% | 3 | 50.00% |
chun-hao lin | chun-hao lin | 14 | 2.29% | 2 | 33.33% |
francois romieu | francois romieu | 1 | 0.16% | 1 | 16.67% |
Total | 611 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 397 | 90.02% | 3 | 60.00% |
david chang | david chang | 31 | 7.03% | 1 | 20.00% |
chun-hao lin | chun-hao lin | 13 | 2.95% | 1 | 20.00% |
Total | 441 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 16 | 100.00% | 1 | 100.00% |
Total | 16 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 788 | 100.00% | 3 | 100.00% |
Total | 788 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 508 | 100.00% | 5 | 100.00% |
Total | 508 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 131 | 48.34% | 3 | 50.00% |
chun-hao lin | chun-hao lin | 104 | 38.38% | 1 | 16.67% |
francois romieu | francois romieu | 36 | 13.28% | 2 | 33.33% |
Total | 271 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 732 | 94.94% | 1 | 12.50% |
francois romieu | francois romieu | 39 | 5.06% | 7 | 87.50% |
Total | 771 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 98 | 100.00% | 1 | 100.00% |
Total | 98 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 115 | 100.00% | 1 | 100.00% |
Total | 115 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 90 | 100.00% | 1 | 100.00% |
Total | 90 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 111 | 100.00% | 1 | 100.00% |
Total | 111 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 157 | 42.55% | 2 | 7.14% |
francois romieu | francois romieu | 107 | 29.00% | 15 | 53.57% |
hayes wang | hayes wang | 105 | 28.46% | 11 | 39.29% |
Total | 369 | 100.00% | 28 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 87 | 81.31% | 8 | 61.54% |
jeff garzik | jeff garzik | 10 | 9.35% | 1 | 7.69% |
joe perches | joe perches | 4 | 3.74% | 1 | 7.69% |
stephen hemminger | stephen hemminger | 4 | 3.74% | 1 | 7.69% |
al viro | al viro | 1 | 0.93% | 1 | 7.69% |
peter lekensteyn | peter lekensteyn | 1 | 0.93% | 1 | 7.69% |
Total | 107 | 100.00% | 13 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 39 | 100.00% | 1 | 100.00% |
Total | 39 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 39 | 100.00% | 3 | 100.00% |
Total | 39 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 45 | 97.83% | 3 | 75.00% |
al viro | al viro | 1 | 2.17% | 1 | 25.00% |
Total | 46 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 33 | 94.29% | 3 | 75.00% |
joe perches | joe perches | 2 | 5.71% | 1 | 25.00% |
Total | 35 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 38 | 100.00% | 1 | 100.00% |
Total | 38 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 130 | 73.45% | 9 | 60.00% |
oliver neukum | oliver neukum | 20 | 11.30% | 1 | 6.67% |
marcus sundberg | marcus sundberg | 10 | 5.65% | 1 | 6.67% |
joe perches | joe perches | 8 | 4.52% | 1 | 6.67% |
jeff garzik | jeff garzik | 6 | 3.39% | 1 | 6.67% |
eric dumazet | eric dumazet | 2 | 1.13% | 1 | 6.67% |
al viro | al viro | 1 | 0.56% | 1 | 6.67% |
Total | 177 | 100.00% | 15 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 121 | 100.00% | 7 | 100.00% |
Total | 121 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 73 | 71.57% | 1 | 50.00% |
chun-hao lin | chun-hao lin | 29 | 28.43% | 1 | 50.00% |
Total | 102 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 59 | 100.00% | 2 | 100.00% |
Total | 59 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 84 | 100.00% | 3 | 100.00% |
Total | 84 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 23 | 100.00% | 1 | 100.00% |
Total | 23 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 37 | 97.37% | 6 | 85.71% |
jeff garzik | jeff garzik | 1 | 2.63% | 1 | 14.29% |
Total | 38 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 75 | 59.06% | 5 | 41.67% |
hayes wang | hayes wang | 31 | 24.41% | 5 | 41.67% |
chun-hao lin | chun-hao lin | 21 | 16.54% | 2 | 16.67% |
Total | 127 | 100.00% | 12 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 112 | 100.00% | 1 | 100.00% |
Total | 112 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
david s. miller | david s. miller | 53 | 46.90% | 1 | 7.69% |
hayes wang | hayes wang | 24 | 21.24% | 7 | 53.85% |
chun-hao lin | chun-hao lin | 21 | 18.58% | 2 | 15.38% |
francois romieu | francois romieu | 9 | 7.96% | 2 | 15.38% |
cyril brulebois | cyril brulebois | 6 | 5.31% | 1 | 7.69% |
Total | 113 | 100.00% | 13 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
david s. miller | david s. miller | 33 | 84.62% | 1 | 33.33% |
francois romieu | francois romieu | 5 | 12.82% | 1 | 33.33% |
hayes wang | hayes wang | 1 | 2.56% | 1 | 33.33% |
Total | 39 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 27 | 93.10% | 2 | 66.67% |
david s. miller | david s. miller | 2 | 6.90% | 1 | 33.33% |
Total | 29 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 26 | 89.66% | 3 | 75.00% |
david s. miller | david s. miller | 3 | 10.34% | 1 | 25.00% |
Total | 29 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 55 | 73.33% | 2 | 40.00% |
david s. miller | david s. miller | 13 | 17.33% | 1 | 20.00% |
francois romieu | francois romieu | 4 | 5.33% | 1 | 20.00% |
jeff garzik | jeff garzik | 3 | 4.00% | 1 | 20.00% |
Total | 75 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 50 | 58.82% | 1 | 14.29% |
chun-hao lin | chun-hao lin | 19 | 22.35% | 2 | 28.57% |
francois romieu | francois romieu | 13 | 15.29% | 1 | 14.29% |
stephen hemminger | stephen hemminger | 1 | 1.18% | 1 | 14.29% |
david howells | david howells | 1 | 1.18% | 1 | 14.29% |
ivan vecera | ivan vecera | 1 | 1.18% | 1 | 14.29% |
Total | 85 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 56 | 59.57% | 1 | 25.00% |
francois romieu | francois romieu | 33 | 35.11% | 1 | 25.00% |
stephen hemminger | stephen hemminger | 4 | 4.26% | 1 | 25.00% |
ivan vecera | ivan vecera | 1 | 1.06% | 1 | 25.00% |
Total | 94 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 79 | 67.52% | 2 | 66.67% |
francois romieu | francois romieu | 38 | 32.48% | 1 | 33.33% |
Total | 117 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 98 | 42.98% | 2 | 15.38% |
hayes wang | hayes wang | 78 | 34.21% | 4 | 30.77% |
chun-hao lin | chun-hao lin | 51 | 22.37% | 6 | 46.15% |
david s. miller | david s. miller | 1 | 0.44% | 1 | 7.69% |
Total | 228 | 100.00% | 13 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 52 | 39.39% | 1 | 9.09% |
chun-hao lin | chun-hao lin | 44 | 33.33% | 6 | 54.55% |
hayes wang | hayes wang | 36 | 27.27% | 4 | 36.36% |
Total | 132 | 100.00% | 11 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 31 | 100.00% | 2 | 100.00% |
Total | 31 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 22 | 100.00% | 2 | 100.00% |
Total | 22 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 22 | 100.00% | 2 | 100.00% |
Total | 22 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 129 | 66.15% | 2 | 12.50% |
hayes wang | hayes wang | 45 | 23.08% | 12 | 75.00% |
chun-hao lin | chun-hao lin | 21 | 10.77% | 2 | 12.50% |
Total | 195 | 100.00% | 16 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 151 | 83.89% | 5 | 50.00% |
chun-hao lin | chun-hao lin | 21 | 11.67% | 2 | 20.00% |
francois romieu | francois romieu | 6 | 3.33% | 2 | 20.00% |
ivan vecera | ivan vecera | 2 | 1.11% | 1 | 10.00% |
Total | 180 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 25 | 100.00% | 1 | 100.00% |
Total | 25 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 45 | 100.00% | 3 | 100.00% |
Total | 45 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 45 | 100.00% | 2 | 100.00% |
Total | 45 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 48 | 90.57% | 2 | 50.00% |
hayes wang | hayes wang | 4 | 7.55% | 1 | 25.00% |
rafal milecki | rafal milecki | 1 | 1.89% | 1 | 25.00% |
Total | 53 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 57 | 100.00% | 2 | 100.00% |
Total | 57 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 32 | 100.00% | 2 | 100.00% |
Total | 32 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 33 | 100.00% | 2 | 100.00% |
Total | 33 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 59 | 98.33% | 2 | 66.67% |
rafal milecki | rafal milecki | 1 | 1.67% | 1 | 33.33% |
Total | 60 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 64 | 100.00% | 2 | 100.00% |
Total | 64 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 21 | 95.45% | 1 | 50.00% |
rafal milecki | rafal milecki | 1 | 4.55% | 1 | 50.00% |
Total | 22 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 26 | 100.00% | 1 | 100.00% |
Total | 26 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 41 | 100.00% | 1 | 100.00% |
Total | 41 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 42 | 100.00% | 1 | 100.00% |
Total | 42 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 166 | 82.18% | 1 | 14.29% |
chun-hao lin | chun-hao lin | 21 | 10.40% | 2 | 28.57% |
hayes wang | hayes wang | 15 | 7.43% | 4 | 57.14% |
Total | 202 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 39 | 100.00% | 2 | 100.00% |
Total | 39 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 164 | 100.00% | 4 | 100.00% |
Total | 164 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 25 | 100.00% | 2 | 100.00% |
Total | 25 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 33 | 100.00% | 4 | 100.00% |
Total | 33 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 127 | 56.95% | 8 | 36.36% |
chun-hao lin | chun-hao lin | 43 | 19.28% | 2 | 9.09% |
hayes wang | hayes wang | 42 | 18.83% | 7 | 31.82% |
jeff garzik | jeff garzik | 6 | 2.69% | 2 | 9.09% |
stanislaw gruszka | stanislaw gruszka | 2 | 0.90% | 1 | 4.55% |
stephen hemminger | stephen hemminger | 2 | 0.90% | 1 | 4.55% |
jon mason | jon mason | 1 | 0.45% | 1 | 4.55% |
Total | 223 | 100.00% | 22 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 37 | 97.37% | 4 | 80.00% |
jeff garzik | jeff garzik | 1 | 2.63% | 1 | 20.00% |
Total | 38 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 33 | 100.00% | 6 | 100.00% |
Total | 33 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 73 | 83.91% | 4 | 57.14% |
jeff garzik | jeff garzik | 7 | 8.05% | 1 | 14.29% |
john w. linville | john w. linville | 5 | 5.75% | 1 | 14.29% |
stephen hemminger | stephen hemminger | 2 | 2.30% | 1 | 14.29% |
Total | 87 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 31 | 100.00% | 3 | 100.00% |
Total | 31 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 25 | 100.00% | 3 | 100.00% |
Total | 25 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 143 | 100.00% | 3 | 100.00% |
Total | 143 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 278 | 86.60% | 7 | 58.33% |
jeff garzik | jeff garzik | 21 | 6.54% | 2 | 16.67% |
nathan walp | nathan walp | 20 | 6.23% | 1 | 8.33% |
andrew morton | andrew morton | 1 | 0.31% | 1 | 8.33% |
rafael j. wysocki | rafael j. wysocki | 1 | 0.31% | 1 | 8.33% |
Total | 321 | 100.00% | 12 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 290 | 91.19% | 10 | 58.82% |
jeff garzik | jeff garzik | 13 | 4.09% | 2 | 11.76% |
rafael j. wysocki | rafael j. wysocki | 9 | 2.83% | 1 | 5.88% |
stephen hemminger | stephen hemminger | 2 | 0.63% | 1 | 5.88% |
chun-hao lin | chun-hao lin | 2 | 0.63% | 1 | 5.88% |
stanislaw gruszka | stanislaw gruszka | 1 | 0.31% | 1 | 5.88% |
michal miroslaw | michal miroslaw | 1 | 0.31% | 1 | 5.88% |
Total | 318 | 100.00% | 17 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 32 | 84.21% | 2 | 66.67% |
francois romieu | francois romieu | 6 | 15.79% | 1 | 33.33% |
Total | 38 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 30 | 85.71% | 1 | 33.33% |
francois romieu | francois romieu | 5 | 14.29% | 2 | 66.67% |
Total | 35 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 37 | 94.87% | 1 | 50.00% |
francois romieu | francois romieu | 2 | 5.13% | 1 | 50.00% |
Total | 39 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 9 | 50.00% | 1 | 25.00% |
francois romieu | francois romieu | 5 | 27.78% | 2 | 50.00% |
chun-hao lin | chun-hao lin | 4 | 22.22% | 1 | 25.00% |
Total | 18 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 18 | 100.00% | 1 | 100.00% |
Total | 18 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 62 | 100.00% | 1 | 100.00% |
Total | 62 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 59 | 100.00% | 1 | 100.00% |
Total | 59 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 61 | 95.31% | 1 | 50.00% |
francois romieu | francois romieu | 3 | 4.69% | 1 | 50.00% |
Total | 64 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 38 | 62.30% | 1 | 25.00% |
francois romieu | francois romieu | 17 | 27.87% | 2 | 50.00% |
hayes wang | hayes wang | 6 | 9.84% | 1 | 25.00% |
Total | 61 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 40 | 62.50% | 2 | 33.33% |
francois romieu | francois romieu | 21 | 32.81% | 3 | 50.00% |
chun-hao lin | chun-hao lin | 3 | 4.69% | 1 | 16.67% |
Total | 64 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 32 | 52.46% | 2 | 40.00% |
francois romieu | francois romieu | 26 | 42.62% | 2 | 40.00% |
chun-hao lin | chun-hao lin | 3 | 4.92% | 1 | 20.00% |
Total | 61 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 130 | 97.74% | 1 | 33.33% |
hayes wang | hayes wang | 3 | 2.26% | 2 | 66.67% |
Total | 133 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 60 | 88.24% | 1 | 25.00% |
hayes wang | hayes wang | 5 | 7.35% | 2 | 50.00% |
francois romieu | francois romieu | 3 | 4.41% | 1 | 25.00% |
Total | 68 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 20 | 100.00% | 1 | 100.00% |
Total | 20 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 20 | 100.00% | 1 | 100.00% |
Total | 20 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 54 | 100.00% | 1 | 100.00% |
Total | 54 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 80 | 100.00% | 1 | 100.00% |
Total | 80 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 25 | 51.02% | 1 | 20.00% |
hayes wang | hayes wang | 14 | 28.57% | 2 | 40.00% |
francois romieu | francois romieu | 10 | 20.41% | 2 | 40.00% |
Total | 49 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 60 | 65.93% | 1 | 25.00% |
francois romieu | francois romieu | 16 | 17.58% | 2 | 50.00% |
hayes wang | hayes wang | 15 | 16.48% | 1 | 25.00% |
Total | 91 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 59 | 71.95% | 1 | 50.00% |
hayes wang | hayes wang | 23 | 28.05% | 1 | 50.00% |
Total | 82 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 50 | 63.29% | 1 | 50.00% |
hayes wang | hayes wang | 29 | 36.71% | 1 | 50.00% |
Total | 79 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 71 | 75.53% | 1 | 20.00% |
hayes wang | hayes wang | 22 | 23.40% | 3 | 60.00% |
francois romieu | francois romieu | 1 | 1.06% | 1 | 20.00% |
Total | 94 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 60 | 69.77% | 1 | 16.67% |
francois romieu | francois romieu | 17 | 19.77% | 2 | 33.33% |
hayes wang | hayes wang | 7 | 8.14% | 2 | 33.33% |
jeff garzik | jeff garzik | 2 | 2.33% | 1 | 16.67% |
Total | 86 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 45 | 77.59% | 1 | 25.00% |
francois romieu | francois romieu | 11 | 18.97% | 2 | 50.00% |
jeff garzik | jeff garzik | 2 | 3.45% | 1 | 25.00% |
Total | 58 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
jeff garzik | jeff garzik | 8 | 50.00% | 2 | 40.00% |
chun-hao lin | chun-hao lin | 5 | 31.25% | 1 | 20.00% |
francois romieu | francois romieu | 3 | 18.75% | 2 | 40.00% |
Total | 16 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 16 | 76.19% | 1 | 50.00% |
chun-hao lin | chun-hao lin | 5 | 23.81% | 1 | 50.00% |
Total | 21 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 30 | 38.46% | 5 | 55.56% |
chun-hao lin | chun-hao lin | 23 | 29.49% | 1 | 11.11% |
hayes wang | hayes wang | 16 | 20.51% | 1 | 11.11% |
jeff garzik | jeff garzik | 7 | 8.97% | 1 | 11.11% |
yang hongyang | yang hongyang | 2 | 2.56% | 1 | 11.11% |
Total | 78 | 100.00% | 9 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 32 | 49.23% | 1 | 20.00% |
francois romieu | francois romieu | 14 | 21.54% | 2 | 40.00% |
hayes wang | hayes wang | 12 | 18.46% | 1 | 20.00% |
jeff garzik | jeff garzik | 7 | 10.77% | 1 | 20.00% |
Total | 65 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 56 | 56.00% | 2 | 28.57% |
francois romieu | francois romieu | 26 | 26.00% | 3 | 42.86% |
hayes wang | hayes wang | 16 | 16.00% | 1 | 14.29% |
jeff garzik | jeff garzik | 2 | 2.00% | 1 | 14.29% |
Total | 100 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 121 | 52.84% | 1 | 7.69% |
francois romieu | francois romieu | 88 | 38.43% | 8 | 61.54% |
jeff garzik | jeff garzik | 15 | 6.55% | 2 | 15.38% |
hayes wang | hayes wang | 3 | 1.31% | 1 | 7.69% |
alexey dobriyan | alexey dobriyan | 2 | 0.87% | 1 | 7.69% |
Total | 229 | 100.00% | 13 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 179 | 62.59% | 1 | 7.14% |
francois romieu | francois romieu | 84 | 29.37% | 10 | 71.43% |
hayes wang | hayes wang | 20 | 6.99% | 1 | 7.14% |
jeff garzik | jeff garzik | 3 | 1.05% | 2 | 14.29% |
Total | 286 | 100.00% | 14 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 175 | 68.63% | 1 | 12.50% |
francois romieu | francois romieu | 60 | 23.53% | 6 | 75.00% |
hayes wang | hayes wang | 20 | 7.84% | 1 | 12.50% |
Total | 255 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 58 | 54.21% | 1 | 25.00% |
francois romieu | francois romieu | 38 | 35.51% | 2 | 50.00% |
hayes wang | hayes wang | 11 | 10.28% | 1 | 25.00% |
Total | 107 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 48 | 52.75% | 4 | 66.67% |
chun-hao lin | chun-hao lin | 42 | 46.15% | 1 | 16.67% |
hayes wang | hayes wang | 1 | 1.10% | 1 | 16.67% |
Total | 91 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 120 | 48.58% | 3 | 33.33% |
francois romieu | francois romieu | 110 | 44.53% | 5 | 55.56% |
hayes wang | hayes wang | 17 | 6.88% | 1 | 11.11% |
Total | 247 | 100.00% | 9 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 105 | 100.00% | 1 | 100.00% |
Total | 105 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 86 | 81.90% | 2 | 40.00% |
francois romieu | francois romieu | 19 | 18.10% | 3 | 60.00% |
Total | 105 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 87 | 76.99% | 2 | 40.00% |
francois romieu | francois romieu | 26 | 23.01% | 3 | 60.00% |
Total | 113 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 592 | 94.57% | 6 | 54.55% |
hayes wang | hayes wang | 17 | 2.72% | 1 | 9.09% |
francois romieu | francois romieu | 16 | 2.56% | 3 | 27.27% |
andrzej hajda | andrzej hajda | 1 | 0.16% | 1 | 9.09% |
Total | 626 | 100.00% | 11 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 137 | 51.70% | 4 | 40.00% |
francois romieu | francois romieu | 128 | 48.30% | 6 | 60.00% |
Total | 265 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 63 | 55.75% | 1 | 33.33% |
chun-hao lin | chun-hao lin | 50 | 44.25% | 2 | 66.67% |
Total | 113 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 73 | 59.35% | 3 | 50.00% |
hayes wang | hayes wang | 49 | 39.84% | 2 | 33.33% |
francois romieu | francois romieu | 1 | 0.81% | 1 | 16.67% |
Total | 123 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 161 | 78.92% | 3 | 60.00% |
hayes wang | hayes wang | 43 | 21.08% | 2 | 40.00% |
Total | 204 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 287 | 71.04% | 5 | 33.33% |
hayes wang | hayes wang | 77 | 19.06% | 7 | 46.67% |
chun-hao lin | chun-hao lin | 40 | 9.90% | 3 | 20.00% |
Total | 404 | 100.00% | 15 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 110 | 54.73% | 3 | 60.00% |
francois romieu | francois romieu | 91 | 45.27% | 2 | 40.00% |
Total | 201 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 39 | 56.52% | 1 | 33.33% |
hayes wang | hayes wang | 30 | 43.48% | 2 | 66.67% |
Total | 69 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 18 | 72.00% | 1 | 33.33% |
hayes wang | hayes wang | 7 | 28.00% | 2 | 66.67% |
Total | 25 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 88 | 53.33% | 4 | 66.67% |
francois romieu | francois romieu | 77 | 46.67% | 2 | 33.33% |
Total | 165 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 20 | 62.50% | 3 | 60.00% |
francois romieu | francois romieu | 12 | 37.50% | 2 | 40.00% |
Total | 32 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 204 | 94.88% | 2 | 50.00% |
francois romieu | francois romieu | 8 | 3.72% | 1 | 25.00% |
chun-hao lin | chun-hao lin | 3 | 1.40% | 1 | 25.00% |
Total | 215 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 84 | 100.00% | 2 | 100.00% |
Total | 84 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 131 | 49.81% | 1 | 9.09% |
hayes wang | hayes wang | 119 | 45.25% | 8 | 72.73% |
chun-hao lin | chun-hao lin | 12 | 4.56% | 1 | 9.09% |
bjorn helgaas | bjorn helgaas | 1 | 0.38% | 1 | 9.09% |
Total | 263 | 100.00% | 11 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 49 | 89.09% | 1 | 50.00% |
hayes wang | hayes wang | 6 | 10.91% | 1 | 50.00% |
Total | 55 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 27 | 81.82% | 1 | 50.00% |
hayes wang | hayes wang | 6 | 18.18% | 1 | 50.00% |
Total | 33 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 54 | 93.10% | 9 | 90.00% |
jeff garzik | jeff garzik | 4 | 6.90% | 1 | 10.00% |
Total | 58 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 40 | 90.91% | 3 | 75.00% |
alexander duyck | alexander duyck | 4 | 9.09% | 1 | 25.00% |
Total | 44 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 34 | 100.00% | 3 | 100.00% |
Total | 34 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 27 | 100.00% | 2 | 100.00% |
Total | 27 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 185 | 94.39% | 10 | 66.67% |
hayes wang | hayes wang | 10 | 5.10% | 4 | 26.67% |
jeff garzik | jeff garzik | 1 | 0.51% | 1 | 6.67% |
Total | 196 | 100.00% | 15 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 58 | 100.00% | 5 | 100.00% |
Total | 58 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 21 | 100.00% | 2 | 100.00% |
Total | 21 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 110 | 100.00% | 4 | 100.00% |
Total | 110 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 66 | 100.00% | 4 | 100.00% |
Total | 66 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 69 | 100.00% | 4 | 100.00% |
Total | 69 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 105 | 82.68% | 1 | 33.33% |
hayes wang | hayes wang | 21 | 16.54% | 1 | 33.33% |
eric w. biederman | eric w. biederman | 1 | 0.79% | 1 | 33.33% |
Total | 127 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 20 | 62.50% | 1 | 50.00% |
hayes wang | hayes wang | 12 | 37.50% | 1 | 50.00% |
Total | 32 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 104 | 97.20% | 6 | 75.00% |
jeff garzik | jeff garzik | 2 | 1.87% | 1 | 12.50% |
hayes wang | hayes wang | 1 | 0.93% | 1 | 12.50% |
Total | 107 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 20 | 71.43% | 2 | 66.67% |
andrew morton | andrew morton | 8 | 28.57% | 1 | 33.33% |
Total | 28 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 283 | 95.61% | 8 | 61.54% |
michal miroslaw | michal miroslaw | 3 | 1.01% | 1 | 7.69% |
andrew morton | andrew morton | 3 | 1.01% | 1 | 7.69% |
al viro | al viro | 3 | 1.01% | 1 | 7.69% |
stanislaw gruszka | stanislaw gruszka | 2 | 0.68% | 1 | 7.69% |
jeff garzik | jeff garzik | 2 | 0.68% | 1 | 7.69% |
Total | 296 | 100.00% | 13 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 29 | 100.00% | 1 | 100.00% |
Total | 29 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 174 | 98.86% | 1 | 50.00% |
alexander duyck | alexander duyck | 2 | 1.14% | 1 | 50.00% |
Total | 176 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 86 | 100.00% | 1 | 100.00% |
Total | 86 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 45 | 100.00% | 1 | 100.00% |
Total | 45 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 100 | 81.30% | 1 | 14.29% |
francois romieu | francois romieu | 23 | 18.70% | 6 | 85.71% |
Total | 123 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 217 | 63.08% | 3 | 27.27% |
francois romieu | francois romieu | 113 | 32.85% | 5 | 45.45% |
alexander duyck | alexander duyck | 7 | 2.03% | 1 | 9.09% |
jeff garzik | jeff garzik | 5 | 1.45% | 1 | 9.09% |
eric dumazet | eric dumazet | 2 | 0.58% | 1 | 9.09% |
Total | 344 | 100.00% | 11 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 328 | 68.33% | 9 | 33.33% |
stanislaw gruszka | stanislaw gruszka | 64 | 13.33% | 6 | 22.22% |
jeff garzik | jeff garzik | 18 | 3.75% | 1 | 3.70% |
hayes wang | hayes wang | 15 | 3.12% | 2 | 7.41% |
stefan bader | stefan bader | 14 | 2.92% | 1 | 3.70% |
eric dumazet | eric dumazet | 12 | 2.50% | 1 | 3.70% |
david s. miller | david s. miller | 8 | 1.67% | 2 | 7.41% |
julien ducourthial | julien ducourthial | 7 | 1.46% | 1 | 3.70% |
alexander duyck | alexander duyck | 6 | 1.25% | 1 | 3.70% |
richard cochran | richard cochran | 5 | 1.04% | 1 | 3.70% |
stephen hemminger | stephen hemminger | 2 | 0.42% | 1 | 3.70% |
eric w. biederman | eric w. biederman | 1 | 0.21% | 1 | 3.70% |
Total | 480 | 100.00% | 27 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 174 | 90.62% | 6 | 85.71% |
jeff garzik | jeff garzik | 18 | 9.38% | 1 | 14.29% |
Total | 192 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 188 | 76.42% | 10 | 55.56% |
david s. miller | david s. miller | 30 | 12.20% | 1 | 5.56% |
jeff garzik | jeff garzik | 14 | 5.69% | 1 | 5.56% |
stanislaw gruszka | stanislaw gruszka | 6 | 2.44% | 3 | 16.67% |
alexander duyck | alexander duyck | 4 | 1.63% | 1 | 5.56% |
julien ducourthial | julien ducourthial | 3 | 1.22% | 1 | 5.56% |
eric w. biederman | eric w. biederman | 1 | 0.41% | 1 | 5.56% |
Total | 246 | 100.00% | 18 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 27 | 100.00% | 2 | 100.00% |
Total | 27 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 64 | 96.97% | 5 | 83.33% |
stanislaw gruszka | stanislaw gruszka | 2 | 3.03% | 1 | 16.67% |
Total | 66 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 100 | 96.15% | 5 | 71.43% |
alexander duyck | alexander duyck | 3 | 2.88% | 1 | 14.29% |
jeff garzik | jeff garzik | 1 | 0.96% | 1 | 14.29% |
Total | 104 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 425 | 91.20% | 10 | 58.82% |
stanislaw gruszka | stanislaw gruszka | 18 | 3.86% | 3 | 17.65% |
jeff garzik | jeff garzik | 14 | 3.00% | 1 | 5.88% |
timo teras | timo teras | 4 | 0.86% | 1 | 5.88% |
alexander duyck | alexander duyck | 4 | 0.86% | 1 | 5.88% |
stephen hemminger | stephen hemminger | 1 | 0.21% | 1 | 5.88% |
Total | 466 | 100.00% | 17 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 92 | 100.00% | 1 | 100.00% |
Total | 92 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 121 | 100.00% | 2 | 100.00% |
Total | 121 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 171 | 100.00% | 1 | 100.00% |
Total | 171 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 145 | 92.36% | 7 | 70.00% |
stanislaw gruszka | stanislaw gruszka | 9 | 5.73% | 1 | 10.00% |
jeff garzik | jeff garzik | 2 | 1.27% | 1 | 10.00% |
john w. linville | john w. linville | 1 | 0.64% | 1 | 10.00% |
Total | 157 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 51 | 89.47% | 4 | 66.67% |
jeff garzik | jeff garzik | 3 | 5.26% | 1 | 16.67% |
stanislaw gruszka | stanislaw gruszka | 3 | 5.26% | 1 | 16.67% |
Total | 57 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 77 | 92.77% | 9 | 75.00% |
stephen hemminger | stephen hemminger | 3 | 3.61% | 1 | 8.33% |
jeff garzik | jeff garzik | 2 | 2.41% | 1 | 8.33% |
joe perches | joe perches | 1 | 1.20% | 1 | 8.33% |
Total | 83 | 100.00% | 12 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 120 | 81.08% | 4 | 57.14% |
jeff garzik | jeff garzik | 12 | 8.11% | 1 | 14.29% |
peter lekensteyn | peter lekensteyn | 10 | 6.76% | 1 | 14.29% |
igor maravic | igor maravic | 6 | 4.05% | 1 | 14.29% |
Total | 148 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 32 | 100.00% | 1 | 100.00% |
Total | 32 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 320 | 85.56% | 13 | 61.90% |
corinna vinschen | corinna vinschen | 19 | 5.08% | 1 | 4.76% |
eric dumazet | eric dumazet | 11 | 2.94% | 2 | 9.52% |
jeff garzik | jeff garzik | 9 | 2.41% | 1 | 4.76% |
stephen hemminger | stephen hemminger | 6 | 1.60% | 1 | 4.76% |
igor maravic | igor maravic | 4 | 1.07% | 1 | 4.76% |
stanislaw gruszka | stanislaw gruszka | 4 | 1.07% | 1 | 4.76% |
jiri kosina | jiri kosina | 1 | 0.27% | 1 | 4.76% |
Total | 374 | 100.00% | 21 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 184 | 51.54% | 5 | 35.71% |
corinna vinschen | corinna vinschen | 86 | 24.09% | 3 | 21.43% |
chun-hao lin | chun-hao lin | 43 | 12.04% | 1 | 7.14% |
junchang wang | junchang wang | 24 | 6.72% | 1 | 7.14% |
jeff garzik | jeff garzik | 12 | 3.36% | 1 | 7.14% |
eric w. biederman | eric w. biederman | 4 | 1.12% | 1 | 7.14% |
eric dumazet | eric dumazet | 3 | 0.84% | 1 | 7.14% |
al viro | al viro | 1 | 0.28% | 1 | 7.14% |
Total | 357 | 100.00% | 14 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 59 | 79.73% | 9 | 81.82% |
jeff garzik | jeff garzik | 13 | 17.57% | 1 | 9.09% |
ivan vecera | ivan vecera | 2 | 2.70% | 1 | 9.09% |
Total | 74 | 100.00% | 11 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 39 | 100.00% | 3 | 100.00% |
Total | 39 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 42 | 62.69% | 5 | 55.56% |
artem savkov | artem savkov | 18 | 26.87% | 1 | 11.11% |
stephen hemminger | stephen hemminger | 4 | 5.97% | 2 | 22.22% |
david dillow | david dillow | 3 | 4.48% | 1 | 11.11% |
Total | 67 | 100.00% | 9 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 63 | 100.00% | 4 | 100.00% |
Total | 63 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 85 | 85.00% | 3 | 75.00% |
chun-hao lin | chun-hao lin | 15 | 15.00% | 1 | 25.00% |
Total | 100 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 86 | 86.00% | 3 | 60.00% |
chun-hao lin | chun-hao lin | 9 | 9.00% | 1 | 20.00% |
stephen hemminger | stephen hemminger | 5 | 5.00% | 1 | 20.00% |
Total | 100 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 51 | 100.00% | 2 | 100.00% |
Total | 51 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 37 | 60.66% | 4 | 50.00% |
jeff garzik | jeff garzik | 18 | 29.51% | 1 | 12.50% |
stephen hemminger | stephen hemminger | 3 | 4.92% | 1 | 12.50% |
andrew morton | andrew morton | 2 | 3.28% | 1 | 12.50% |
al viro | al viro | 1 | 1.64% | 1 | 12.50% |
Total | 61 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 73 | 64.04% | 4 | 50.00% |
andrew morton | andrew morton | 23 | 20.18% | 1 | 12.50% |
rafael j. wysocki | rafael j. wysocki | 9 | 7.89% | 1 | 12.50% |
jeff garzik | jeff garzik | 5 | 4.39% | 1 | 12.50% |
ivan vecera | ivan vecera | 4 | 3.51% | 1 | 12.50% |
Total | 114 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 74 | 43.53% | 4 | 36.36% |
jeff garzik | jeff garzik | 36 | 21.18% | 2 | 18.18% |
corinna vinschen | corinna vinschen | 26 | 15.29% | 1 | 9.09% |
chun-hao lin | chun-hao lin | 25 | 14.71% | 2 | 18.18% |
devendra naga | devendra naga | 8 | 4.71% | 1 | 9.09% |
stephen hemminger | stephen hemminger | 1 | 0.59% | 1 | 9.09% |
Total | 170 | 100.00% | 11 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 107 | 100.00% | 1 | 100.00% |
Total | 107 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 193 | 100.00% | 2 | 100.00% |
Total | 193 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
chun-hao lin | chun-hao lin | 21 | 100.00% | 1 | 100.00% |
Total | 21 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
hayes wang | hayes wang | 41 | 59.42% | 4 | 57.14% |
chun-hao lin | chun-hao lin | 28 | 40.58% | 3 | 42.86% |
Total | 69 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 950 | 55.04% | 16 | 36.36% |
chun-hao lin | chun-hao lin | 293 | 16.98% | 6 | 13.64% |
ard biesheuvel | ard biesheuvel | 129 | 7.47% | 2 | 4.55% |
rafael j. wysocki | rafael j. wysocki | 71 | 4.11% | 2 | 4.55% |
corinna vinschen | corinna vinschen | 68 | 3.94% | 1 | 2.27% |
hayes wang | hayes wang | 66 | 3.82% | 6 | 13.64% |
junchang wang | junchang wang | 55 | 3.19% | 1 | 2.27% |
kyle mcmartin | kyle mcmartin | 20 | 1.16% | 1 | 2.27% |
jarod wilson | jarod wilson | 18 | 1.04% | 1 | 2.27% |
jeff garzik | jeff garzik | 13 | 0.75% | 1 | 2.27% |
stanislaw gruszka | stanislaw gruszka | 11 | 0.64% | 1 | 2.27% |
peter lekensteyn | peter lekensteyn | 10 | 0.58% | 1 | 2.27% |
devendra naga | devendra naga | 8 | 0.46% | 1 | 2.27% |
ivan vecera | ivan vecera | 5 | 0.29% | 1 | 2.27% |
patrick mchardy | patrick mchardy | 5 | 0.29% | 1 | 2.27% |
wilfried klaebe | wilfried klaebe | 3 | 0.17% | 1 | 2.27% |
al viro | al viro | 1 | 0.06% | 1 | 2.27% |
Total | 1726 | 100.00% | 44 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
francois romieu | francois romieu | 21115 | 51.03% | 204 | 50.37% |
chun-hao lin | chun-hao lin | 8325 | 20.12% | 26 | 6.42% |
hayes wang | hayes wang | 8192 | 19.80% | 44 | 10.86% |
jeff garzik | jeff garzik | 938 | 2.27% | 9 | 2.22% |
corinna vinschen | corinna vinschen | 549 | 1.33% | 3 | 0.74% |
stephen hemminger | stephen hemminger | 441 | 1.07% | 7 | 1.73% |
rafael j. wysocki | rafael j. wysocki | 263 | 0.64% | 3 | 0.74% |
david s. miller | david s. miller | 147 | 0.36% | 5 | 1.23% |
ivan vecera | ivan vecera | 134 | 0.32% | 5 | 1.23% |
ard biesheuvel | ard biesheuvel | 132 | 0.32% | 2 | 0.49% |
oliver neukum | oliver neukum | 129 | 0.31% | 1 | 0.25% |
stanislaw gruszka | stanislaw gruszka | 125 | 0.30% | 9 | 2.22% |
junchang wang | junchang wang | 103 | 0.25% | 2 | 0.49% |
peter lekensteyn | peter lekensteyn | 58 | 0.14% | 4 | 0.99% |
andrew morton | andrew morton | 52 | 0.13% | 3 | 0.74% |
joe perches | joe perches | 46 | 0.11% | 3 | 0.74% |
michal miroslaw | michal miroslaw | 41 | 0.10% | 2 | 0.49% |
rick jones | rick jones | 40 | 0.10% | 2 | 0.49% |
alexey dobriyan | alexey dobriyan | 38 | 0.09% | 2 | 0.49% |
florian fainelli | florian fainelli | 35 | 0.08% | 1 | 0.25% |
eric dumazet | eric dumazet | 33 | 0.08% | 4 | 0.99% |
david chang | david chang | 31 | 0.07% | 1 | 0.25% |
alexander duyck | alexander duyck | 30 | 0.07% | 4 | 0.99% |
al viro | al viro | 23 | 0.06% | 3 | 0.74% |
julien ducourthial | julien ducourthial | 23 | 0.06% | 1 | 0.25% |
ben greear | ben greear | 20 | 0.05% | 1 | 0.25% |
kyle mcmartin | kyle mcmartin | 20 | 0.05% | 1 | 0.25% |
nathan walp | nathan walp | 20 | 0.05% | 1 | 0.25% |
artem savkov | artem savkov | 18 | 0.04% | 1 | 0.25% |
devendra naga | devendra naga | 18 | 0.04% | 2 | 0.49% |
jarod wilson | jarod wilson | 18 | 0.04% | 1 | 0.25% |
timo teras | timo teras | 17 | 0.04% | 3 | 0.74% |
ciaran mccreesh | ciaran mccreesh | 16 | 0.04% | 1 | 0.25% |
lennart sorensen | lennart sorensen | 15 | 0.04% | 1 | 0.25% |
bruno premont | bruno premont | 14 | 0.03% | 1 | 0.25% |
stefan bader | stefan bader | 14 | 0.03% | 1 | 0.25% |
john w. linville | john w. linville | 11 | 0.03% | 3 | 0.74% |
patrick mchardy | patrick mchardy | 11 | 0.03% | 2 | 0.49% |
igor maravic | igor maravic | 10 | 0.02% | 1 | 0.25% |
marcus sundberg | marcus sundberg | 10 | 0.02% | 1 | 0.25% |
richard cochran | richard cochran | 10 | 0.02% | 2 | 0.49% |
yoichi yuasa | yoichi yuasa | 7 | 0.02% | 1 | 0.25% |
eric w. biederman | eric w. biederman | 7 | 0.02% | 2 | 0.49% |
david decotigny | david decotigny | 7 | 0.02% | 2 | 0.49% |
sergei shtylyov | sergei shtylyov | 6 | 0.01% | 1 | 0.25% |
arjan van de ven | arjan van de ven | 6 | 0.01% | 2 | 0.49% |
benoit taine | benoit taine | 6 | 0.01% | 1 | 0.25% |
david howells | david howells | 6 | 0.01% | 1 | 0.25% |
cyril brulebois | cyril brulebois | 6 | 0.01% | 1 | 0.25% |
rolf eike beer | rolf eike beer | 6 | 0.01% | 1 | 0.25% |
rafal milecki | rafal milecki | 3 | 0.01% | 1 | 0.25% |
david dillow | david dillow | 3 | 0.01% | 1 | 0.25% |
paul gortmaker | paul gortmaker | 3 | 0.01% | 1 | 0.25% |
wilfried klaebe | wilfried klaebe | 3 | 0.01% | 1 | 0.25% |
michal schmidt | michal schmidt | 2 | 0.00% | 1 | 0.25% |
yang hongyang | yang hongyang | 2 | 0.00% | 1 | 0.25% |
jean delvare | jean delvare | 2 | 0.00% | 1 | 0.25% |
jiri pirko | jiri pirko | 2 | 0.00% | 1 | 0.25% |
jiang liu | jiang liu | 2 | 0.00% | 1 | 0.25% |
phil carmody | phil carmody | 1 | 0.00% | 1 | 0.25% |
jiri kosina | jiri kosina | 1 | 0.00% | 1 | 0.25% |
andrzej hajda | andrzej hajda | 1 | 0.00% | 1 | 0.25% |
bjorn helgaas | bjorn helgaas | 1 | 0.00% | 1 | 0.25% |
yannick guerrini | yannick guerrini | 1 | 0.00% | 1 | 0.25% |
jon mason | jon mason | 1 | 0.00% | 1 | 0.25% |
jesper juhl | jesper juhl | 1 | 0.00% | 1 | 0.25% |
ralf baechle | ralf baechle | 1 | 0.00% | 1 | 0.25% |
neil horman | neil horman | 1 | 0.00% | 1 | 0.25% |
harvey harrison | harvey harrison | 1 | 0.00% | 1 | 0.25% |
zhuyj at gmail.com | zhuyj at gmail.com | 1 | 0.00% | 1 | 0.25% |
greg kroah-hartman | greg kroah-hartman | 0.00% | 0 | 0.00% | |
Total | 41375 | 100.00% | 405 | 100.00% |