/******************************************************************* * This file is part of the Emulex Linux Device Driver for * * Fibre Channel Host Bus Adapters. * * Copyright (C) 2004-2016 Emulex. All rights reserved. * * EMULEX and SLI are trademarks of Emulex. * * www.emulex.com * * Portions Copyright (C) 2004-2005 Christoph Hellwig * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of version 2 of the GNU General * * Public License as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful. * * ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND * * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, * * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE * * DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD * * TO BE LEGALLY INVALID. See the GNU General Public License for * * more details, a copy of which can be found in the file COPYING * * included with this package. * *******************************************************************/ #include <linux/blkdev.h> #include <linux/delay.h> #include <linux/dma-mapping.h> #include <linux/idr.h> #include <linux/interrupt.h> #include <linux/module.h> #include <linux/kthread.h> #include <linux/pci.h> #include <linux/spinlock.h> #include <linux/ctype.h> #include <linux/aer.h> #include <linux/slab.h> #include <linux/firmware.h> #include <linux/miscdevice.h> #include <linux/percpu.h> #include <scsi/scsi.h> #include <scsi/scsi_device.h> #include <scsi/scsi_host.h> #include <scsi/scsi_transport_fc.h> #include "lpfc_hw4.h" #include "lpfc_hw.h" #include "lpfc_sli.h" #include "lpfc_sli4.h" #include "lpfc_nl.h" #include "lpfc_disc.h" #include "lpfc_scsi.h" #include "lpfc.h" #include "lpfc_logmsg.h" #include "lpfc_crtn.h" #include "lpfc_vport.h" #include "lpfc_version.h" #include "lpfc_ids.h" char *_dump_buf_data; unsigned long _dump_buf_data_order; char *_dump_buf_dif; unsigned long _dump_buf_dif_order; spinlock_t _dump_buf_lock; /* Used when mapping IRQ vectors in a driver centric manner */ uint16_t *lpfc_used_cpu; uint32_t lpfc_present_cpu; static void lpfc_get_hba_model_desc(struct lpfc_hba *, uint8_t *, uint8_t *); static int lpfc_post_rcv_buf(struct lpfc_hba *); static int lpfc_sli4_queue_verify(struct lpfc_hba *); static int lpfc_create_bootstrap_mbox(struct lpfc_hba *); static int lpfc_setup_endian_order(struct lpfc_hba *); static void lpfc_destroy_bootstrap_mbox(struct lpfc_hba *); static void lpfc_free_els_sgl_list(struct lpfc_hba *); static void lpfc_init_sgl_list(struct lpfc_hba *); static int lpfc_init_active_sgl_array(struct lpfc_hba *); static void lpfc_free_active_sgl(struct lpfc_hba *); static int lpfc_hba_down_post_s3(struct lpfc_hba *phba); static int lpfc_hba_down_post_s4(struct lpfc_hba *phba); static int lpfc_sli4_cq_event_pool_create(struct lpfc_hba *); static void lpfc_sli4_cq_event_pool_destroy(struct lpfc_hba *); static void lpfc_sli4_cq_event_release_all(struct lpfc_hba *); static void lpfc_sli4_disable_intr(struct lpfc_hba *); static uint32_t lpfc_sli4_enable_intr(struct lpfc_hba *, uint32_t); static void lpfc_sli4_oas_verify(struct lpfc_hba *phba); static struct scsi_transport_template *lpfc_transport_template = NULL; static struct scsi_transport_template *lpfc_vport_transport_template = NULL; static DEFINE_IDR(lpfc_hba_index); /** * lpfc_config_port_prep - Perform lpfc initialization prior to config port * @phba: pointer to lpfc hba data structure. * * This routine will do LPFC initialization prior to issuing the CONFIG_PORT * mailbox command. It retrieves the revision information from the HBA and * collects the Vital Product Data (VPD) about the HBA for preparing the * configuration of the HBA. * * Return codes: * 0 - success. * -ERESTART - requests the SLI layer to reset the HBA and try again. * Any other value - indicates an error. **/
int lpfc_config_port_prep(struct lpfc_hba *phba) { lpfc_vpd_t *vp = &phba->vpd; int i = 0, rc; LPFC_MBOXQ_t *pmb; MAILBOX_t *mb; char *lpfc_vpd_data = NULL; uint16_t offset = 0; static char licensed[56] = "key unlock for use with gnu public licensed code only\0"; static int init_key = 1; pmb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); if (!pmb) { phba->link_state = LPFC_HBA_ERROR; return -ENOMEM; } mb = &pmb->u.mb; phba->link_state = LPFC_INIT_MBX_CMDS; if (lpfc_is_LC_HBA(phba->pcidev->device)) { if (init_key) { uint32_t *ptext = (uint32_t *) licensed; for (i = 0; i < 56; i += sizeof (uint32_t), ptext++) *ptext = cpu_to_be32(*ptext); init_key = 0; } lpfc_read_nv(phba, pmb); memset((char*)mb->un.varRDnvp.rsvd3, 0, sizeof (mb->un.varRDnvp.rsvd3)); memcpy((char*)mb->un.varRDnvp.rsvd3, licensed, sizeof (licensed)); rc = lpfc_sli_issue_mbox(phba, pmb, MBX_POLL); if (rc != MBX_SUCCESS) { lpfc_printf_log(phba, KERN_ERR, LOG_MBOX, "0324 Config Port initialization " "error, mbxCmd x%x READ_NVPARM, " "mbxStatus x%x\n", mb->mbxCommand, mb->mbxStatus); mempool_free(pmb, phba->mbox_mem_pool); return -ERESTART; } memcpy(phba->wwnn, (char *)mb->un.varRDnvp.nodename, sizeof(phba->wwnn)); memcpy(phba->wwpn, (char *)mb->un.varRDnvp.portname, sizeof(phba->wwpn)); } phba->sli3_options = 0x0; /* Setup and issue mailbox READ REV command */ lpfc_read_rev(phba, pmb); rc = lpfc_sli_issue_mbox(phba, pmb, MBX_POLL); if (rc != MBX_SUCCESS) { lpfc_printf_log(phba, KERN_ERR, LOG_INIT, "0439 Adapter failed to init, mbxCmd x%x " "READ_REV, mbxStatus x%x\n", mb->mbxCommand, mb->mbxStatus); mempool_free( pmb, phba->mbox_mem_pool); return -ERESTART; } /* * The value of rr must be 1 since the driver set the cv field to 1. * This setting requires the FW to set all revision fields. */ if (mb->un.varRdRev.rr == 0) { vp->rev.rBit = 0; lpfc_printf_log(phba, KERN_ERR, LOG_INIT, "0440 Adapter failed to init, READ_REV has " "missing revision information.\n"); mempool_free(pmb, phba->mbox_mem_pool); return -ERESTART; } if (phba->sli_rev == 3 && !mb->un.varRdRev.v3rsp) { mempool_free(pmb, phba->mbox_mem_pool); return -EINVAL; } /* Save information as VPD data */ vp->rev.rBit = 1; memcpy(&vp->sli3Feat, &mb->un.varRdRev.sli3Feat, sizeof(uint32_t)); vp->rev.sli1FwRev = mb->un.varRdRev.sli1FwRev; memcpy(vp->rev.sli1FwName, (char*) mb->un.varRdRev.sli1FwName, 16); vp->rev.sli2FwRev = mb->un.varRdRev.sli2FwRev; memcpy(vp->rev.sli2FwName, (char *) mb->un.varRdRev.sli2FwName, 16); vp->rev.biuRev = mb->un.varRdRev.biuRev; vp->rev.smRev = mb->un.varRdRev.smRev; vp->rev.smFwRev = mb->un.varRdRev.un.smFwRev; vp->rev.endecRev = mb->un.varRdRev.endecRev; vp->rev.fcphHigh = mb->un.varRdRev.fcphHigh; vp->rev.fcphLow = mb->un.varRdRev.fcphLow; vp->rev.feaLevelHigh = mb->un.varRdRev.feaLevelHigh; vp->rev.feaLevelLow = mb->un.varRdRev.feaLevelLow; vp->rev.postKernRev = mb->un.varRdRev.postKernRev; vp->rev.opFwRev = mb->un.varRdRev.opFwRev; /* If the sli feature level is less then 9, we must * tear down all RPIs and VPIs on link down if NPIV * is enabled. */ if (vp->rev.feaLevelHigh < 9) phba->sli3_options |= LPFC_SLI3_VPORT_TEARDOWN; if (lpfc_is_LC_HBA(phba->pcidev->device)) memcpy(phba->RandomData, (char *)&mb->un.varWords[24], sizeof (phba->RandomData)); /* Get adapter VPD information */ lpfc_vpd_data = kmalloc(DMP_VPD_SIZE, GFP_KERNEL); if (!lpfc_vpd_data) goto out_free_mbox; do { lpfc_dump_mem(phba, pmb, offset, DMP_REGION_VPD); rc = lpfc_sli_issue_mbox(phba, pmb, MBX_POLL); if (rc != MBX_SUCCESS) { lpfc_printf_log(phba, KERN_INFO, LOG_INIT, "0441 VPD not present on adapter, " "mbxCmd x%x DUMP VPD, mbxStatus x%x\n", mb->mbxCommand, mb->mbxStatus); mb->un.varDmp.word_cnt = 0; } /* dump mem may return a zero when finished or we got a * mailbox error, either way we are done. */ if (mb->un.varDmp.word_cnt == 0) break; if (mb->un.varDmp.word_cnt > DMP_VPD_SIZE - offset) mb->un.varDmp.word_cnt = DMP_VPD_SIZE - offset; lpfc_sli_pcimem_bcopy(((uint8_t *)mb) + DMP_RSP_OFFSET, lpfc_vpd_data + offset, mb->un.varDmp.word_cnt); offset += mb->un.varDmp.word_cnt; } while (mb->un.varDmp.word_cnt && offset < DMP_VPD_SIZE); lpfc_parse_vpd(phba, lpfc_vpd_data, offset); kfree(lpfc_vpd_data); out_free_mbox: mempool_free(pmb, phba->mbox_mem_pool); return 0; }Contributors
Person | Tokens | Prop | Commits | CommitProp | |
james bottomley | james bottomley | 782 | 80.21% | 1 | 8.33% |
james smart | james smart | 153 | 15.69% | 10 | 83.33% |
jamie wellnitz | jamie wellnitz | 40 | 4.10% | 1 | 8.33% |
Total | 975 | 100.00% | 12 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 50 | 100.00% | 2 | 100.00% |
Total | 50 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 184 | 100.00% | 4 | 100.00% |
Total | 184 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 194 | 100.00% | 1 | 100.00% |
Total | 194 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 784 | 51.95% | 33 | 91.67% |
james bottomley | james bottomley | 707 | 46.85% | 1 | 2.78% |
jamie wellnitz | jamie wellnitz | 14 | 0.93% | 1 | 2.78% |
andrew morton | andrew morton | 4 | 0.27% | 1 | 2.78% |
Total | 1509 | 100.00% | 36 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 25 | 96.15% | 3 | 75.00% |
rashika kheria | rashika kheria | 1 | 3.85% | 1 | 25.00% |
Total | 26 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 425 | 100.00% | 7 | 100.00% |
Total | 425 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 144 | 99.31% | 2 | 66.67% |
rashika kheria | rashika kheria | 1 | 0.69% | 1 | 33.33% |
Total | 145 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 86 | 71.67% | 4 | 80.00% |
james bottomley | james bottomley | 34 | 28.33% | 1 | 20.00% |
Total | 120 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 165 | 100.00% | 1 | 100.00% |
Total | 165 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 93 | 57.06% | 6 | 75.00% |
james bottomley | james bottomley | 37 | 22.70% | 1 | 12.50% |
jamie wellnitz | jamie wellnitz | 33 | 20.25% | 1 | 12.50% |
Total | 163 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 116 | 77.85% | 4 | 66.67% |
jamie wellnitz | jamie wellnitz | 28 | 18.79% | 1 | 16.67% |
james bottomley | james bottomley | 5 | 3.36% | 1 | 16.67% |
Total | 149 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 20 | 83.33% | 2 | 66.67% |
jamie wellnitz | jamie wellnitz | 4 | 16.67% | 1 | 33.33% |
Total | 24 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 236 | 92.19% | 9 | 69.23% |
james bottomley | james bottomley | 11 | 4.30% | 1 | 7.69% |
jamie wellnitz | jamie wellnitz | 5 | 1.95% | 1 | 7.69% |
linas vepstas | linas vepstas | 3 | 1.17% | 1 | 7.69% |
adrian bunk | adrian bunk | 1 | 0.39% | 1 | 7.69% |
Total | 256 | 100.00% | 13 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 21 | 100.00% | 1 | 100.00% |
Total | 21 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 91 | 100.00% | 2 | 100.00% |
Total | 91 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 97 | 100.00% | 2 | 100.00% |
Total | 97 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 77 | 72.64% | 5 | 71.43% |
james bottomley | james bottomley | 25 | 23.58% | 1 | 14.29% |
jamie wellnitz | jamie wellnitz | 4 | 3.77% | 1 | 14.29% |
Total | 106 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 527 | 84.73% | 13 | 86.67% |
james bottomley | james bottomley | 88 | 14.15% | 1 | 6.67% |
jamie wellnitz | jamie wellnitz | 7 | 1.13% | 1 | 6.67% |
Total | 622 | 100.00% | 15 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 106 | 100.00% | 3 | 100.00% |
Total | 106 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 54 | 100.00% | 2 | 100.00% |
Total | 54 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 282 | 100.00% | 6 | 100.00% |
Total | 282 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 63 | 100.00% | 1 | 100.00% |
Total | 63 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 339 | 69.33% | 19 | 82.61% |
james bottomley | james bottomley | 124 | 25.36% | 1 | 4.35% |
jamie wellnitz | jamie wellnitz | 19 | 3.89% | 2 | 8.70% |
linas vepstas | linas vepstas | 7 | 1.43% | 1 | 4.35% |
Total | 489 | 100.00% | 23 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 158 | 100.00% | 3 | 100.00% |
Total | 158 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 780 | 98.86% | 12 | 92.31% |
james bottomley | james bottomley | 9 | 1.14% | 1 | 7.69% |
Total | 789 | 100.00% | 13 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 20 | 100.00% | 1 | 100.00% |
Total | 20 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james bottomley | james bottomley | 269 | 69.15% | 1 | 9.09% |
james smart | james smart | 120 | 30.85% | 10 | 90.91% |
Total | 389 | 100.00% | 11 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james bottomley | james bottomley | 732 | 89.49% | 1 | 20.00% |
james smart | james smart | 50 | 6.11% | 2 | 40.00% |
jamie wellnitz | jamie wellnitz | 35 | 4.28% | 1 | 20.00% |
anton blanchard | anton blanchard | 1 | 0.12% | 1 | 20.00% |
Total | 818 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 724 | 52.12% | 20 | 83.33% |
jamie wellnitz | jamie wellnitz | 488 | 35.13% | 1 | 4.17% |
james bottomley | james bottomley | 176 | 12.67% | 2 | 8.33% |
sebastian herbszt | sebastian herbszt | 1 | 0.07% | 1 | 4.17% |
Total | 1389 | 100.00% | 24 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james bottomley | james bottomley | 512 | 98.08% | 2 | 40.00% |
james smart | james smart | 10 | 1.92% | 3 | 60.00% |
Total | 522 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james bottomley | james bottomley | 41 | 100.00% | 1 | 100.00% |
Total | 41 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james bottomley | james bottomley | 45 | 100.00% | 1 | 100.00% |
Total | 45 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james bottomley | james bottomley | 308 | 100.00% | 1 | 100.00% |
Total | 308 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james bottomley | james bottomley | 25 | 100.00% | 1 | 100.00% |
Total | 25 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james bottomley | james bottomley | 117 | 95.12% | 1 | 33.33% |
james smart | james smart | 4 | 3.25% | 1 | 33.33% |
mariusz kozlowski | mariusz kozlowski | 2 | 1.63% | 1 | 33.33% |
Total | 123 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 291 | 90.37% | 8 | 88.89% |
james bottomley | james bottomley | 31 | 9.63% | 1 | 11.11% |
Total | 322 | 100.00% | 9 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 29 | 90.62% | 2 | 66.67% |
james bottomley | james bottomley | 3 | 9.38% | 1 | 33.33% |
Total | 32 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 31 | 100.00% | 2 | 100.00% |
Total | 31 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 70 | 100.00% | 2 | 100.00% |
Total | 70 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 100 | 76.34% | 9 | 90.00% |
james bottomley | james bottomley | 31 | 23.66% | 1 | 10.00% |
Total | 131 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 162 | 86.63% | 3 | 75.00% |
adrian bunk | adrian bunk | 25 | 13.37% | 1 | 25.00% |
Total | 187 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 156 | 100.00% | 2 | 100.00% |
Total | 156 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 219 | 66.77% | 11 | 78.57% |
james bottomley | james bottomley | 101 | 30.79% | 1 | 7.14% |
julia lawall | julia lawall | 6 | 1.83% | 1 | 7.14% |
arnd bergmann | arnd bergmann | 2 | 0.61% | 1 | 7.14% |
Total | 328 | 100.00% | 14 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 29 | 67.44% | 2 | 66.67% |
james bottomley | james bottomley | 14 | 32.56% | 1 | 33.33% |
Total | 43 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 297 | 86.84% | 16 | 94.12% |
james bottomley | james bottomley | 45 | 13.16% | 1 | 5.88% |
Total | 342 | 100.00% | 17 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 167 | 77.31% | 9 | 90.00% |
james bottomley | james bottomley | 49 | 22.69% | 1 | 10.00% |
Total | 216 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 197 | 100.00% | 4 | 100.00% |
Total | 197 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 885 | 91.52% | 9 | 90.00% |
james bottomley | james bottomley | 82 | 8.48% | 1 | 10.00% |
Total | 967 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 404 | 89.78% | 15 | 83.33% |
james bottomley | james bottomley | 46 | 10.22% | 3 | 16.67% |
Total | 450 | 100.00% | 18 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 55 | 74.32% | 6 | 85.71% |
james bottomley | james bottomley | 19 | 25.68% | 1 | 14.29% |
Total | 74 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 19 | 52.78% | 3 | 60.00% |
tejun heo | tejun heo | 16 | 44.44% | 1 | 20.00% |
james bottomley | james bottomley | 1 | 2.78% | 1 | 20.00% |
Total | 36 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 155 | 72.77% | 7 | 87.50% |
james bottomley | james bottomley | 58 | 27.23% | 1 | 12.50% |
Total | 213 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 277 | 78.69% | 8 | 66.67% |
james bottomley | james bottomley | 58 | 16.48% | 2 | 16.67% |
mike christie | mike christie | 9 | 2.56% | 1 | 8.33% |
jamie wellnitz | jamie wellnitz | 8 | 2.27% | 1 | 8.33% |
Total | 352 | 100.00% | 12 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 61 | 100.00% | 4 | 100.00% |
Total | 61 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 33 | 100.00% | 3 | 100.00% |
Total | 33 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 17 | 100.00% | 2 | 100.00% |
Total | 17 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 75 | 100.00% | 1 | 100.00% |
Total | 75 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 98 | 98.99% | 3 | 75.00% |
rashika kheria | rashika kheria | 1 | 1.01% | 1 | 25.00% |
Total | 99 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 71 | 100.00% | 4 | 100.00% |
Total | 71 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 85 | 100.00% | 3 | 100.00% |
Total | 85 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 132 | 100.00% | 2 | 100.00% |
Total | 132 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 192 | 100.00% | 3 | 100.00% |
Total | 192 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 604 | 100.00% | 11 | 100.00% |
Total | 604 | 100.00% | 11 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 547 | 100.00% | 6 | 100.00% |
Total | 547 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 626 | 100.00% | 7 | 100.00% |
Total | 626 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 244 | 100.00% | 4 | 100.00% |
Total | 244 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 68 | 100.00% | 1 | 100.00% |
Total | 68 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 938 | 100.00% | 23 | 100.00% |
Total | 938 | 100.00% | 23 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 36 | 100.00% | 3 | 100.00% |
Total | 36 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 86 | 100.00% | 2 | 100.00% |
Total | 86 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 236 | 100.00% | 5 | 100.00% |
Total | 236 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 102 | 100.00% | 3 | 100.00% |
Total | 102 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 111 | 100.00% | 2 | 100.00% |
Total | 111 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 79 | 100.00% | 2 | 100.00% |
Total | 79 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 112 | 97.39% | 4 | 66.67% |
johannes thumshirn | johannes thumshirn | 2 | 1.74% | 1 | 16.67% |
jon mason | jon mason | 1 | 0.87% | 1 | 16.67% |
Total | 115 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 43 | 97.73% | 2 | 66.67% |
johannes thumshirn | johannes thumshirn | 1 | 2.27% | 1 | 33.33% |
Total | 44 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 72 | 100.00% | 4 | 100.00% |
Total | 72 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 58 | 100.00% | 1 | 100.00% |
Total | 58 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 112 | 100.00% | 2 | 100.00% |
Total | 112 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 517 | 99.81% | 6 | 85.71% |
bodo stroesser | bodo stroesser | 1 | 0.19% | 1 | 14.29% |
Total | 518 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 18 | 100.00% | 1 | 100.00% |
Total | 18 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 1803 | 100.00% | 32 | 100.00% |
Total | 1803 | 100.00% | 32 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 161 | 100.00% | 8 | 100.00% |
Total | 161 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 103 | 100.00% | 3 | 100.00% |
Total | 103 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 152 | 100.00% | 3 | 100.00% |
Total | 152 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 58 | 100.00% | 1 | 100.00% |
Total | 58 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 19 | 100.00% | 1 | 100.00% |
Total | 19 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 70 | 100.00% | 1 | 100.00% |
Total | 70 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 182 | 100.00% | 2 | 100.00% |
Total | 182 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 65 | 100.00% | 2 | 100.00% |
Total | 65 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 86 | 100.00% | 3 | 100.00% |
Total | 86 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 62 | 100.00% | 1 | 100.00% |
Total | 62 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 20 | 100.00% | 1 | 100.00% |
Total | 20 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 50 | 100.00% | 2 | 100.00% |
Total | 50 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 94 | 100.00% | 2 | 100.00% |
Total | 94 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 337 | 99.70% | 3 | 75.00% |
joe perches | joe perches | 1 | 0.30% | 1 | 25.00% |
Total | 338 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 99 | 100.00% | 2 | 100.00% |
Total | 99 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 104 | 94.55% | 4 | 80.00% |
jiri slaby | jiri slaby | 6 | 5.45% | 1 | 20.00% |
Total | 110 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 46 | 100.00% | 2 | 100.00% |
Total | 46 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 163 | 100.00% | 4 | 100.00% |
Total | 163 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 27 | 100.00% | 1 | 100.00% |
Total | 27 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 411 | 100.00% | 4 | 100.00% |
Total | 411 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 150 | 100.00% | 1 | 100.00% |
Total | 150 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 568 | 95.14% | 2 | 50.00% |
michael reed | michael reed | 28 | 4.69% | 1 | 25.00% |
joe perches | joe perches | 1 | 0.17% | 1 | 25.00% |
Total | 597 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 94 | 100.00% | 1 | 100.00% |
Total | 94 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 619 | 100.00% | 9 | 100.00% |
Total | 619 | 100.00% | 9 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 305 | 100.00% | 6 | 100.00% |
Total | 305 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 67 | 100.00% | 2 | 100.00% |
Total | 67 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 127 | 100.00% | 2 | 100.00% |
Total | 127 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 260 | 99.62% | 1 | 50.00% |
joe perches | joe perches | 1 | 0.38% | 1 | 50.00% |
Total | 261 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 78 | 100.00% | 1 | 100.00% |
Total | 78 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 1241 | 100.00% | 9 | 100.00% |
Total | 1241 | 100.00% | 9 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 186 | 100.00% | 2 | 100.00% |
Total | 186 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 252 | 100.00% | 9 | 100.00% |
Total | 252 | 100.00% | 9 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 798 | 100.00% | 6 | 100.00% |
Total | 798 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 489 | 100.00% | 4 | 100.00% |
Total | 489 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 1809 | 100.00% | 14 | 100.00% |
Total | 1809 | 100.00% | 14 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 211 | 100.00% | 5 | 100.00% |
Total | 211 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 92 | 100.00% | 1 | 100.00% |
Total | 92 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 44 | 100.00% | 1 | 100.00% |
Total | 44 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 39 | 100.00% | 1 | 100.00% |
Total | 39 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 51 | 100.00% | 1 | 100.00% |
Total | 51 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 30 | 100.00% | 1 | 100.00% |
Total | 30 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 46 | 100.00% | 1 | 100.00% |
Total | 46 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 119 | 100.00% | 1 | 100.00% |
Total | 119 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 521 | 100.00% | 10 | 100.00% |
Total | 521 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 595 | 95.51% | 5 | 83.33% |
michael reed | michael reed | 28 | 4.49% | 1 | 16.67% |
Total | 623 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 99 | 100.00% | 2 | 100.00% |
Total | 99 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 401 | 98.77% | 2 | 50.00% |
alexander gordeev | alexander gordeev | 5 | 1.23% | 2 | 50.00% |
Total | 406 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 51 | 100.00% | 1 | 100.00% |
Total | 51 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 106 | 100.00% | 2 | 100.00% |
Total | 106 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 30 | 100.00% | 1 | 100.00% |
Total | 30 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 164 | 100.00% | 2 | 100.00% |
Total | 164 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 77 | 100.00% | 2 | 100.00% |
Total | 77 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 196 | 100.00% | 1 | 100.00% |
Total | 196 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 880 | 99.55% | 3 | 75.00% |
ian mitchell | ian mitchell | 4 | 0.45% | 1 | 25.00% |
Total | 884 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 531 | 97.79% | 14 | 87.50% |
alexander gordeev | alexander gordeev | 12 | 2.21% | 2 | 12.50% |
Total | 543 | 100.00% | 16 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 113 | 100.00% | 6 | 100.00% |
Total | 113 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 188 | 100.00% | 8 | 100.00% |
Total | 188 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 30 | 100.00% | 4 | 100.00% |
Total | 30 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 271 | 99.63% | 9 | 90.00% |
james bottomley | james bottomley | 1 | 0.37% | 1 | 10.00% |
Total | 272 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 74 | 96.10% | 4 | 80.00% |
james bottomley | james bottomley | 3 | 3.90% | 1 | 20.00% |
Total | 77 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 91 | 97.85% | 5 | 83.33% |
james bottomley | james bottomley | 2 | 2.15% | 1 | 16.67% |
Total | 93 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 147 | 100.00% | 1 | 100.00% |
Total | 147 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 210 | 94.17% | 11 | 91.67% |
james bottomley | james bottomley | 13 | 5.83% | 1 | 8.33% |
Total | 223 | 100.00% | 12 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 537 | 100.00% | 4 | 100.00% |
Total | 537 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 434 | 100.00% | 8 | 100.00% |
Total | 434 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 515 | 91.47% | 12 | 80.00% |
james bottomley | james bottomley | 39 | 6.93% | 1 | 6.67% |
jamie wellnitz | jamie wellnitz | 8 | 1.42% | 1 | 6.67% |
yang hongyang | yang hongyang | 1 | 0.18% | 1 | 6.67% |
Total | 563 | 100.00% | 15 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 327 | 95.61% | 9 | 69.23% |
james bottomley | james bottomley | 13 | 3.80% | 2 | 15.38% |
johannes thumshirn | johannes thumshirn | 1 | 0.29% | 1 | 7.69% |
justin mattock | justin mattock | 1 | 0.29% | 1 | 7.69% |
Total | 342 | 100.00% | 13 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 94 | 98.95% | 4 | 80.00% |
james bottomley | james bottomley | 1 | 1.05% | 1 | 20.00% |
Total | 95 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 191 | 92.27% | 8 | 88.89% |
james bottomley | james bottomley | 16 | 7.73% | 1 | 11.11% |
Total | 207 | 100.00% | 9 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 28 | 100.00% | 3 | 100.00% |
Total | 28 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 61 | 100.00% | 6 | 100.00% |
Total | 61 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 40 | 100.00% | 4 | 100.00% |
Total | 40 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 103 | 96.26% | 7 | 87.50% |
james bottomley | james bottomley | 4 | 3.74% | 1 | 12.50% |
Total | 107 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 190 | 94.53% | 11 | 84.62% |
james bottomley | james bottomley | 7 | 3.48% | 1 | 7.69% |
jamie wellnitz | jamie wellnitz | 4 | 1.99% | 1 | 7.69% |
Total | 201 | 100.00% | 13 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 59 | 100.00% | 5 | 100.00% |
Total | 59 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 98 | 100.00% | 5 | 100.00% |
Total | 98 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 529 | 99.81% | 7 | 87.50% |
arnd bergmann | arnd bergmann | 1 | 0.19% | 1 | 12.50% |
Total | 530 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 151 | 100.00% | 1 | 100.00% |
Total | 151 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 582 | 99.66% | 20 | 95.24% |
james bottomley | james bottomley | 2 | 0.34% | 1 | 4.76% |
Total | 584 | 100.00% | 21 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 210 | 88.98% | 12 | 85.71% |
james bottomley | james bottomley | 25 | 10.59% | 1 | 7.14% |
andrew vasquez | andrew vasquez | 1 | 0.42% | 1 | 7.14% |
Total | 236 | 100.00% | 14 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 80 | 80.00% | 5 | 83.33% |
james bottomley | james bottomley | 20 | 20.00% | 1 | 16.67% |
Total | 100 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 138 | 66.67% | 8 | 80.00% |
james bottomley | james bottomley | 66 | 31.88% | 1 | 10.00% |
tomohiro kusumi | tomohiro kusumi | 3 | 1.45% | 1 | 10.00% |
Total | 207 | 100.00% | 10 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 28 | 100.00% | 4 | 100.00% |
Total | 28 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 66 | 100.00% | 6 | 100.00% |
Total | 66 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 40 | 100.00% | 2 | 100.00% |
Total | 40 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 107 | 100.00% | 3 | 100.00% |
Total | 107 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 183 | 100.00% | 2 | 100.00% |
Total | 183 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 93 | 100.00% | 3 | 100.00% |
Total | 93 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 90 | 100.00% | 5 | 100.00% |
Total | 90 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 83 | 100.00% | 3 | 100.00% |
Total | 83 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 102 | 100.00% | 4 | 100.00% |
Total | 102 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 55 | 57.89% | 4 | 80.00% |
linas vepstas | linas vepstas | 40 | 42.11% | 1 | 20.00% |
Total | 95 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 56 | 55.45% | 3 | 75.00% |
linas vepstas | linas vepstas | 45 | 44.55% | 1 | 25.00% |
Total | 101 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 83 | 88.30% | 7 | 87.50% |
linas vepstas | linas vepstas | 11 | 11.70% | 1 | 12.50% |
Total | 94 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 47 | 56.63% | 3 | 75.00% |
linas vepstas | linas vepstas | 36 | 43.37% | 1 | 25.00% |
Total | 83 | 100.00% | 4 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 65 | 100.00% | 2 | 100.00% |
Total | 65 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 174 | 100.00% | 2 | 100.00% |
Total | 174 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 145 | 100.00% | 2 | 100.00% |
Total | 145 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 103 | 100.00% | 1 | 100.00% |
Total | 103 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 93 | 62.84% | 7 | 87.50% |
james bottomley | james bottomley | 55 | 37.16% | 1 | 12.50% |
Total | 148 | 100.00% | 8 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 80 | 75.47% | 5 | 71.43% |
james bottomley | james bottomley | 20 | 18.87% | 1 | 14.29% |
johannes thumshirn | johannes thumshirn | 6 | 5.66% | 1 | 14.29% |
Total | 106 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
james smart | james smart | 38153 | 86.18% | 256 | 86.49% |
james bottomley | james bottomley | 5040 | 11.38% | 4 | 1.35% |
jamie wellnitz | jamie wellnitz | 699 | 1.58% | 3 | 1.01% |
linas vepstas | linas vepstas | 170 | 0.38% | 1 | 0.34% |
michael reed | michael reed | 56 | 0.13% | 1 | 0.34% |
adrian bunk | adrian bunk | 26 | 0.06% | 1 | 0.34% |
tejun heo | tejun heo | 19 | 0.04% | 2 | 0.68% |
alexander gordeev | alexander gordeev | 19 | 0.04% | 2 | 0.68% |
andre goddard rosa | andre goddard rosa | 17 | 0.04% | 1 | 0.34% |
johannes thumshirn | johannes thumshirn | 10 | 0.02% | 2 | 0.68% |
mike christie | mike christie | 9 | 0.02% | 1 | 0.34% |
lucas de marchi | lucas de marchi | 7 | 0.02% | 1 | 0.34% |
jiri slaby | jiri slaby | 6 | 0.01% | 1 | 0.34% |
julia lawall | julia lawall | 6 | 0.01% | 1 | 0.34% |
andrew morton | andrew morton | 4 | 0.01% | 1 | 0.34% |
ian mitchell | ian mitchell | 4 | 0.01% | 1 | 0.34% |
arnd bergmann | arnd bergmann | 3 | 0.01% | 2 | 0.68% |
joe perches | joe perches | 3 | 0.01% | 1 | 0.34% |
paul gortmaker | paul gortmaker | 3 | 0.01% | 1 | 0.34% |
rashika kheria | rashika kheria | 3 | 0.01% | 1 | 0.34% |
tomohiro kusumi | tomohiro kusumi | 3 | 0.01% | 1 | 0.34% |
mariusz kozlowski | mariusz kozlowski | 2 | 0.00% | 1 | 0.34% |
al viro | al viro | 2 | 0.00% | 1 | 0.34% |
sebastian herbszt | sebastian herbszt | 1 | 0.00% | 1 | 0.34% |
yang hongyang | yang hongyang | 1 | 0.00% | 1 | 0.34% |
andrew vasquez | andrew vasquez | 1 | 0.00% | 1 | 0.34% |
anatol pomozov | anatol pomozov | 1 | 0.00% | 1 | 0.34% |
stephen hemminger | stephen hemminger | 1 | 0.00% | 1 | 0.34% |
anton blanchard | anton blanchard | 1 | 0.00% | 1 | 0.34% |
justin mattock | justin mattock | 1 | 0.00% | 1 | 0.34% |
bodo stroesser | bodo stroesser | 1 | 0.00% | 1 | 0.34% |
jon mason | jon mason | 1 | 0.00% | 1 | 0.34% |
Total | 44273 | 100.00% | 296 | 100.00% |