)]}'
{
  "log": [
    {
      "commit": "3c439b5586e9200f7e6287ee77c175c4d5b0eeed",
      "tree": "8194cef0f549fbb81aa70985401220c91f228ee7",
      "parents": [
        "7b8157bedce2a7b5f07f7ec98c96cd6bd64a2a84"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Thu Dec 06 17:12:00 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Dec 19 11:47:22 2012 -0800"
      },
      "message": "mlx4_core: Allow choosing flow steering mode\n\nDevice managed flow steering will be enabled only under administrator\ndirective provided through setting the existing module parameter\nlog_num_mgm_entry_size to -1 (if the device actually supports flow\nsteering).  If flow steering isn\u0027t requested or not available, the\ndriver will use the value of log_num_mgm_entry_size and B0 steering.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "08ff32352d6ff7083533dc1c25618d42f92ec28e",
      "tree": "00cc99b260b03c7c3e66a017f9dafcfa56b53364",
      "parents": [
        "f4a75d2eb7b1e2206094b901be09adb31ba63681"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Sun Oct 21 14:59:24 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Nov 26 10:19:17 2012 -0800"
      },
      "message": "mlx4: 64-byte CQE/EQE support\n\nConnectX-3 devices can use either 64- or 32-byte completion queue\nentries (CQEs) and event queue entries (EQEs).  Using 64-byte\nEQEs/CQEs performs better because each entry is aligned to a complete\ncacheline.  This patch queries the HCA\u0027s capabilities, and if it\nsupports 64-byte CQEs and EQES the driver will configure the HW to\nwork in 64-byte mode.\n\nThe 32-byte vs 64-byte mode is global per HCA and not per CQ or EQ.\n\nSince this mode is global, userspace (libmlx4) must be updated to work\nwith the configured CQE size, and guests using SR-IOV virtual\nfunctions need to know both EQE and CQE size.\n\nIn case one of the 64-byte CQE/EQE capabilities is activated, the\npatch makes sure that older guest drivers that use the QUERY_DEV_FUNC\ncommand (e.g as done in mlx4_core of Linux 3.3..3.6) will notice that\nthey need an update to be able to work with the PPF. This is done by\nchanging the returned pf_context_behaviour not to be zero any more. In\ncase none of these capabilities is activated that value remains zero\nand older guest drivers can run OK.\n\nThe SRIOV related flow is as follows\n\n1. the PPF does the detection of the new capabilities using\n   QUERY_DEV_CAP command.\n\n2. the PPF activates the new capabilities using INIT_HCA.\n\n3. the VF detects if the PPF activated the capabilities using\n   QUERY_HCA, and if this is the case activates them for itself too.\n\nNote that the VF detects that it must be aware to the new PF behaviour\nusing QUERY_FUNC_CAP.  Steps 1 and 2 apply also for native mode.\n\nUser space notification is done through a new field introduced in\nstruct mlx4_ib_ucontext which holds device capabilities for which user\nspace must take action. This changes the binary interface so the ABI\ntowards libmlx4 exposed through uverbs is bumped from 3 to 4 but only\nwhen **needed** i.e. only when the driver does use 64-byte CQEs or\nfuture device capabilities which must be in sync by user space. This\npractice allows to work with unmodified libmlx4 on older devices (e.g\nA0, B0) which don\u0027t support 64-byte CQEs.\n\nIn order to keep existing systems functional when they update to a\nnewer kernel that contains these changes in VF and userspace ABI, a\nmodule parameter enable_64b_cqe_eqe must be set to enable 64-byte\nmode; the default is currently false.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.com\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "47605df953985c2b792ac9f3ddf70d270b89adb8",
      "tree": "b95cef28771ea4982a5bca6130dab4ace79d622c",
      "parents": [
        "afa8fd1db9f295a0c4130bc6d87bf8b05bdd0523"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Fri Aug 03 08:40:57 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Sep 30 20:33:43 2012 -0700"
      },
      "message": "mlx4: Modify proxy/tunnel QP mechanism so that guests do no calculations\n\nPreviously, the structure of a guest\u0027s proxy QPs followed the\nstructure of the PPF special qps (qp0 port 1, qp0 port 2, qp1 port 1,\nqp1 port 2, ...).  The guest then did offset calculations on the\nsqp_base qp number that the PPF passed to it in QUERY_FUNC_CAP().\n\nThis is now changed so that the guest does no offset calculations\nregarding proxy or tunnel QPs to use.  This change frees the PPF from\nneeding to adhere to a specific order in allocating proxy and tunnel\nQPs.\n\nNow QUERY_FUNC_CAP provides each port individually with its proxy\nqp0, proxy qp1, tunnel qp0, and tunnel qp1 QP numbers, and these are\nused directly where required (with no offset calculations).\n\nTo accomplish this change, several fields were added to the phys_caps\nstructure for use by the PPF and by non-SR-IOV mode:\n\n    base_sqpn -- in non-sriov mode, this was formerly sqp_start.\n    base_proxy_sqpn -- the first physical proxy qp number -- used by PPF\n    base_tunnel_sqpn -- the first physical tunnel qp number -- used by PPF.\n\nThe current code in the PPF still adheres to the previous layout of\nsqps, proxy-sqps and tunnel-sqps.  However, the PPF can change this\nlayout without affecting VF or (paravirtualized) PF code.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "afa8fd1db9f295a0c4130bc6d87bf8b05bdd0523",
      "tree": "725c4a2c6a9044ff9ac79e4f6a863393756953f0",
      "parents": [
        "026149cbaada391d98f1cbec47c488cb548f753a"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Fri Aug 03 08:40:56 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Sep 30 20:33:43 2012 -0700"
      },
      "message": "mlx4: Paravirtualize Node Guids for slaves\n\nThis is necessary in order to support \u003e 1 VF/PF in a VM for software\nthat uses the node guid as a discriminator, such as librdmacm.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "026149cbaada391d98f1cbec47c488cb548f753a",
      "tree": "7996c6907496c5af0770aaaaa78a5fc851443789",
      "parents": [
        "992e8e6e8781b71fd475bd1fd0555da7dba59966"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Fri Aug 03 08:40:55 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Sep 30 20:33:42 2012 -0700"
      },
      "message": "mlx4: Activate SR-IOV mode for IB\n\nRemove the error returns for IB ports from mlx4_ib_add,\nmlx4_INIT_PORT_wrapper, and mlx4_CLOSE_PORT_wrapper.\n\nCurrently, SRIOV is supported only for devices for which the\nlink layer is IB on all ports; RoCE support will be added later.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "efcd235d736ab05ef2b29d7fe1493a2f52b07b66",
      "tree": "7111fa75eb2290a2c55962e6e1cd25007bdf0be0",
      "parents": [
        "c1e7e466120b80ce49e91af0c9da1ce6dee4844a"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Fri Aug 03 08:40:52 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Sep 30 20:33:40 2012 -0700"
      },
      "message": "net/mlx4_core: Adjustments to SET_PORT for IB SR-IOV\n\n1. Slaves may not set the IS_SM capability for the port.\n2. DEV_MGMT may not be set in multifunction mode.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "993c401e207946fa56f69c51e39f015e7108497b",
      "tree": "17ef6798c9723d6cbaa3c48b6d24cda765d7057d",
      "parents": [
        "3cf69cc8dbebf15b99deb342ea422105ae9c2774"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Fri Aug 03 08:40:48 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Sep 30 20:33:37 2012 -0700"
      },
      "message": "mlx4_core: Add IB port-state machine and port mgmt event propagation\n\nFor an IB port, a slave should not show port active until that slave\nhas a valid alias-guid (provided by the subnet manager).  Therefore\nthe port-up event should be passed to a slave only after both the port\nis up, and the slave\u0027s alias-guid has been set.\n\nAlso, provide the infrastructure for propagating port-management\nevents (client-reregister, etc) to slaves.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "54679e148287f0ca1bdd09264c908bacb9f19b3f",
      "tree": "8ef261b3d7a51f8c29c2f625273ae9b399cb0402",
      "parents": [
        "fc06573dfaf8a33bc0533bb70c49de13fa5232a4"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Fri Aug 03 08:40:43 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Sep 30 20:33:33 2012 -0700"
      },
      "message": "mlx4: Implement QP paravirtualization and maintain phys_pkey_cache for smp_snoop\n\nThis requires:\n\n1. Replacing the paravirtualized P_Key index (inserted by the guest)\n   with the real P_Key index.\n\n2. For UD QPs, placing the guest\u0027s true source GID index in the\n   address path structure mgid field, and setting the ud_force_mgid\n   bit so that the mgid is taken from the QP context and not from the\n   WQE when posting sends.\n\n3. For UC and RC QPs, placing the guest\u0027s true source GID index in the\n   address path structure mgid field.\n\n4. For tunnel and proxy QPs, setting the Q_Key value reserved for that\n   proxy/tunnel pair.\n\nSince not all the above adjustments occur in all the QP transitions,\nthe QP transitions require separate wrapper functions.\n\nSecondly, initialize the P_Key virtualization table to its default\nvalues: Master virtualized table is 1-1 with the real P_Key table,\nguest virtualized table has P_Key index 0 mapped to the real P_Key\nindex 0, and all the other P_Key indices mapped to the reserved\n(invalid) P_Key at index 127.\n\nFinally, add logic in smp_snoop for maintaining the phys_P_Key_cache.\nand generating events on the master only if a P_Key actually changed.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "fc06573dfaf8a33bc0533bb70c49de13fa5232a4",
      "tree": "034d40d1b3f21a53ff52be78b8fcfea0222aa891",
      "parents": [
        "e2c76824ca16a3e8443cc7b26abcb21af7c27b10"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Fri Aug 03 08:40:42 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Sep 30 20:33:32 2012 -0700"
      },
      "message": "IB/mlx4: Initialize SR-IOV IB support for slaves in master context\n\nAllocate SR-IOV paravirtualization resources and MAD demuxing contexts\non the master.\n\nThis has two parts.  The first part is to initialize the structures to\ncontain the contexts.  This is done at master startup time in\nmlx4_ib_init_sriov().\n\nThe second part is to actually create the tunneling resources required\non the master to support a slave.  This is performed the master\ndetects that a slave has started up (MLX4_DEV_EVENT_SLAVE_INIT event\ngenerated when a slave initializes its comm channel).\n\nFor the master, there is no such startup event, so it creates its own\ntunneling resources when it starts up.  In addition, the master also\ncreates the real special QPs.  The ib_core layer on the master causes\ncreation of proxy special QPs, since the master is also\nparavirtualized at the ib_core layer.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e2c76824ca16a3e8443cc7b26abcb21af7c27b10",
      "tree": "41d39111862e2e6faecb9ab356198e985c9bfe7d",
      "parents": [
        "1ffeb2eb8be9936e9dc1f9af2d5f4c14d69a0d36"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Fri Aug 03 08:40:41 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Sep 30 20:33:31 2012 -0700"
      },
      "message": "mlx4_core: Add proxy and tunnel QPs to the reserved QP area\n\nIn addition, pass the proxy and tunnel QP numbers to slaves so the\ndriver can perform special QP paravirtualization.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "1ffeb2eb8be9936e9dc1f9af2d5f4c14d69a0d36",
      "tree": "1e79a4a6c3955a21c7802618d58b3bd7605a937e",
      "parents": [
        "73aaa7418f8069103ca56fc620b3cd16c5a37d6e"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Fri Aug 03 08:40:40 2012 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Sep 30 20:33:30 2012 -0700"
      },
      "message": "IB/mlx4: SR-IOV IB context objects and proxy/tunnel SQP support\n\n1. Introduce the basic SR-IOV parvirtualization context objects for\n   multiplexing and demultiplexing MADs.\n2. Introduce support for the new proxy and tunnel QP types.\n\nThis patch introduces the objects required by the master for managing\nQP paravirtualization for guests.\n\nstruct mlx4_ib_sriov is created by the master only.\nIt is a container for the following:\n\n1. All the info required by the PPF to multiplex and de-multiplex MADs\n   (including those from the PF). (struct mlx4_ib_demux_ctx demux)\n2. All the info required to manage alias GUIDs (i.e., the GUID at\n   index 0 that each guest perceives.  In fact, this is not the GUID\n   which is actually at index 0, but is, in fact, the GUID which is at\n   index[\u003cVF number\u003e] in the physical table.\n3. structures which are used to manage CM paravirtualization\n4. structures for managing the real special QPs when running in SR-IOV\n   mode.  The real SQPs are controlled by the PPF in this case.  All\n   SQPs created and controlled by the ib core layer are proxy SQP.\n\nstruct mlx4_ib_demux_ctx contains the information per port needed\nto manage paravirtualization:\n\n1. All multicast paravirt info\n2. All tunnel-qp paravirt info for the port.\n3. GUID-table and GUID-prefix for the port\n4. work queues.\n\nstruct mlx4_ib_demux_pv_ctx contains all the info for managing the\nparavirtualized QPs for one slave/port.\n\nstruct mlx4_ib_demux_pv_qp contains the info need to run an individual\nQP (either tunnel qp or real SQP).\n\nNote:  We made use of the 2 most significant bits in enum\nmlx4_ib_qp_flags (based on enum ib_qp_create_flags in ib_verbs.h).\nWe need these bits in the low-level driver for internal purposes.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "7fb40f87c4195ec1728527f30bc744c47a45b366",
      "tree": "4a7356fc76c4db03731d7354c66f7b158682d295",
      "parents": [
        "a8edc3bf05a3465726afdf635a820761fae0d50b"
      ],
      "author": {
        "name": "Hadar Hen Zion",
        "email": "hadarh@mellanox.com",
        "time": "Wed Sep 05 22:50:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 07 12:55:59 2012 -0400"
      },
      "message": "net/mlx4_core: Add security check / enforcement for flow steering rules set for VMs\n\nSince VFs may be mapped to VMs which aren\u0027t trusted entities,  flow\nsteering rules attached through the wrapper on behalf of VFs must be\nchecked to make sure that their L2 specification relate to MAC address\nassigned to that VF, and add L2 specification if its missing.\n\nSigned-off-by: Hadar Hen Zion \u003chadarh@mellanox.com\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a8edc3bf05a3465726afdf635a820761fae0d50b",
      "tree": "345e02de5037f0b36685d90717aadae4ef19ed69",
      "parents": [
        "d90c92fee89ccd75ef2646f3bde0b4c0450666c3"
      ],
      "author": {
        "name": "Hadar Hen Zion",
        "email": "hadarh@mellanox.com",
        "time": "Wed Sep 05 22:50:48 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 07 12:55:59 2012 -0400"
      },
      "message": "net/mlx4_core: Put Firmware flow steering structures in common header files\n\nTo allow for usage of the flow steering Firmware structures in more locations over the driver,\nsuch as the resource tracker, move them from mcg.c to common header files.\n\nSigned-off-by: Hadar Hen Zion \u003chadarh@mellanox.com\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5dedb9f3bd5bcb186313ea0c0cff8f2c525d4122",
      "tree": "88514547a6e95176e7a9dc2fbdc7fa7c1bec3107",
      "parents": [
        "ddb03448274b95bff6df2a2f1a74d7eb4be529d3",
        "089117e1ad265625b523a4168f77f2521b18fd32"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:56:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 13:56:26 2012 -0700"
      },
      "message": "Merge tag \u0027rdma-for-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull InfiniBand/RDMA changes from Roland Dreier:\n - Updates to the qib low-level driver\n - First chunk of changes for SR-IOV support for mlx4 IB\n - RDMA CM support for IPv6-only binding\n - Other misc cleanups and fixes\n\nFix up some add-add conflicts in include/linux/mlx4/device.h and\ndrivers/net/ethernet/mellanox/mlx4/main.c\n\n* tag \u0027rdma-for-3.6\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (30 commits)\n  IB/qib: checkpatch fixes\n  IB/qib: Add congestion control agent implementation\n  IB/qib: Reduce sdma_lock contention\n  IB/qib: Fix an incorrect log message\n  IB/qib: Fix QP RCU sparse warnings\n  mlx4: Put physical GID and P_Key table sizes in mlx4_phys_caps struct and paravirtualize them\n  mlx4_core: Allow guests to have IB ports\n  mlx4_core: Implement mechanism for reserved Q_Keys\n  net/mlx4_core: Free ICM table in case of error\n  IB/cm: Destroy idr as part of the module init error flow\n  mlx4_core: Remove double function declarations\n  IB/mlx4: Fill the masked_atomic_cap attribute in query device\n  IB/mthca: Fill in sq_sig_type in query QP\n  IB/mthca: Warning about event for non-existent QPs should show event type\n  IB/qib: Fix sparse RCU warnings in qib_keys.c\n  net/mlx4_core: Initialize IB port capabilities for all slaves\n  mlx4: Use port management change event instead of smp_snoop\n  IB/qib: RCU locking for MR validation\n  IB/qib: Avoid returning EBUSY from MR deregister\n  IB/qib: Fix UC MR refs for immediate operations\n  ...\n"
    },
    {
      "commit": "d9236c3f10490cd0b3fd4516af12ba62dcbae0b0",
      "tree": "9fbfa70657455d1e22eecc2ef71f5e1dfa58c5be",
      "parents": [
        "122733a189d687087364d6dc3ecc7c682554f6a0"
      ],
      "author": {
        "name": "Amir Vadai",
        "email": "amirv@mellanox.com",
        "time": "Wed Jul 18 22:33:51 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 08:34:37 2012 -0700"
      },
      "message": "{NET,IB}/mlx4: Add rmap support to mlx4_assign_eq\n\nEnable callers of mlx4_assign_eq to supply a pointer to cpu_rmap.\nIf supplied, the assigned IRQ is tracked using rmap infrastructure.\n\nSigned-off-by: Amir Vadai \u003camirv@mellanox.com\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af22d9de45caf8b2a99f2b27a927169c029528b4",
      "tree": "62299712c84e193a737d5d9e5ce474a01485a9a8",
      "parents": [
        "0cc535a29916c6a0e6e6af0f3d42c2fe3b0b145d"
      ],
      "author": {
        "name": "Amir Vadai",
        "email": "amirv@mellanox.com",
        "time": "Wed Jul 18 22:33:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 19 08:34:37 2012 -0700"
      },
      "message": "net/mlx4: Move MAC_MASK to a common place\n\nDefine this macro is one common place instead of duplicating it over the code\n\nSigned-off-by: Amir Vadai \u003camirv@mellanox.com\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6634961c14d38ef64ec284c07aecb03d3dd03b4a",
      "tree": "a91bc4fa44848799c3035a9bfea1b288c2edac82",
      "parents": [
        "105c320f6ac37af30252577d419e47b39edb5843"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Jun 19 11:21:44 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 11 11:52:23 2012 -0700"
      },
      "message": "mlx4: Put physical GID and P_Key table sizes in mlx4_phys_caps struct and paravirtualize them\n\nTo allow easy paravirtualization of P_Key and GID table sizes, keep\nparavirtualized sizes in mlx4_dev-\u003ecaps, but save the actual physical\nsizes from FW in struct: mlx4_dev-\u003ephys_cap.\n\nIn addition, in SR-IOV mode, do the following:\n\n1. Reduce reported P_Key table size by 1.\n   This is done to reserve the highest P_Key index for internal use,\n   for declaring an invalid P_Key in P_Key paravirtualization.\n   We require a P_Key index which always contain an invalid P_Key\n   value for this purpose (i.e., one which cannot be modified by\n   the subnet manager).  The way to do this is to reduce the\n   P_Key table size reported to the subnet manager by 1, so that\n   it will not attempt to access the P_Key at index #127.\n\n2. Paravirtualize the GID table size to 1. Thus, each guest sees\n   only a single GID (at its paravirtualized index 0).\n\nIn addition, since we are paravirtualizing the GID table size to 1, we\nadd paravirtualization of the master GID event here (i.e., we do not\ndo ib_dispatch_event() for the GUID change event on the master, since\nits (only) GUID never changes).\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "396f2feb05d7cc5549c611c05abfb4108cd1c6d6",
      "tree": "797eabb6ea6b2e85480ed9375849c7648d72ed7e",
      "parents": [
        "2aca1172c2f5b27fbc37297574f716c1c15f4153"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Jun 19 11:21:42 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Wed Jul 11 11:35:55 2012 -0700"
      },
      "message": "mlx4_core: Implement mechanism for reserved Q_Keys\n\nThe SR-IOV special QP tunneling mechanism uses proxy special QPs\n(instead of the real special QPs) for MADs on guests.  These proxy QPs\nsend their packets to a \"tunnel\" QP owned by the master.  The master\nthen forwards the MAD (after any required paravirtualization) to the\nreal special QP, which sends out the MAD.\n\nFor security reasons (i.e., to prevent guests from sending MADs to\ntunnel QPs belonging to other guests), each proxy-tunnel QP pair is\nassigned a unique, reserved, Q_Key.  These Q_Keys are available only\nfor proxy and tunnel QPs -- if the guest tries to use these Q_Keys\nwith other QPs, it will fail.\n\nThis patch introduces a mechanism for reserving a block of 64K Q_Keys\nfor proxy/tunneling use.\n\nThe patch introduces also two new fields into mlx4_dev: base_sqpn and\nbase_tunnel_sqpn.\n\nIn SR-IOV mode, the QP numbers for the \"real,\" proxy, and tunnel sqps\nare added to the reserved QPN area (so that they will not change).\nThere are 8 special QPs per port in the HCA, and each of them is\nassigned both a proxy and a tunnel QP, for each VF and for the PF as\nwell in SR-IOV mode.\n\nThe QPNs for these QPs are arranged as follows:\n 1. The real SQP numbers (8)\n 2. The proxy SQPs (8 * (max number of VFs + max number of PFs)\n 3. The tunnel SQPs (8 * (max number of VFs + max number of PFs)\n\nTo support these QPs, two new fields are added to struct mlx4_dev:\n\n  base_sqp:  this is the QP number of the first of the real SQPs\n  base_tunnel_sqp: this is the qp number of the first qp in the tunnel\n                   sqp region. (On guests, this is the first tunnel\n                   sqp of the 8 which are assigned to that guest).\n\nIn addition, in SR-IOV mode, sqp_start is the number of the first\nproxy SQP in the proxy SQP region.  (In guests, this is the first\nproxy SQP of the 8 which are assigned to that guest)\n\nNote that in non-SR-IOV mode, there are no proxies and no tunnels.\nIn this case, sqp_start is set to sqp_base -- which minimizes code\nchanges.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "2aca1172c2f5b27fbc37297574f716c1c15f4153",
      "tree": "8f6eb799bb0fa1c172ea45773d9d1c41ca934c87",
      "parents": [
        "00f5ce99dc6ee46c3113393cc8fa12173f9bbcd7"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Jun 19 11:21:41 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 10 09:57:06 2012 -0700"
      },
      "message": "net/mlx4_core: Initialize IB port capabilities for all slaves\n\nWith IB SR-IOV, each slave has its own separate copy of the port\ncapabilities flags.  For example, the master can run a subnet manager\n(which causes the IsSM bit to be set in the master\u0027s port\ncapabilities) without affecting the port capabilities seen by the\nslaves (the IsSM bit will be seen as cleared in the slaves).\n\nAlso add a static inline mlx4_master_func_num() to enhance readability\nof the code.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "00f5ce99dc6ee46c3113393cc8fa12173f9bbcd7",
      "tree": "cbcd8e2afcd492b3677bf3eedec29b34f249129c",
      "parents": [
        "3045f0920367e625bbec7d66fadb444e673515af"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Jun 19 11:21:40 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Jul 10 09:47:10 2012 -0700"
      },
      "message": "mlx4: Use port management change event instead of smp_snoop\n\nThe port management change event can replace smp_snoop.  If the\ncapability bit for this event is set in dev-caps, the event is used\n(by the driver setting the PORT_MNG_CHG_EVENT bit in the async event\nmask in the MAP_EQ fw command).  In this case, when the driver passes\nincoming SMP PORT_INFO SET mads to the FW, the FW generates port\nmanagement change events to signal any changes to the driver.\n\nIf the FW generates these events, smp_snoop shouldn\u0027t be invoked in\nib_process_mad(), or duplicate events will occur (once from the\nFW-generated event, and once from smp_snoop).\n\nIn the case where the FW does not generate port management change\nevents smp_snoop needs to be invoked to create these events.  The flow\nin smp_snoop has been modified to make use of the same procedures as\nin the fw-generated-event event case to generate the port management\nevents (LID change, Client-rereg, Pkey change, and/or GID change).\n\nPort management change event handling required changing the\nmlx4_ib_event and mlx4_dispatch_event prototypes; the \"param\" argument\n(last argument) had to be changed to unsigned long in order to\naccomodate passing the EQE pointer.\n\nWe also needed to move the definition of struct mlx4_eqe from\nnet/mlx4.h to file device.h -- to make it available to the IB driver,\nto handle port management change events.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "752a50cab600c6d46c5a1921c6a6d2fb116c8a4b",
      "tree": "b6b4fac3ff771523c737eeb0ad922903977b2ec8",
      "parents": [
        "6887a4131da3adaab011613776d865f4bcfb5678"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Jun 19 11:21:33 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Jul 08 18:05:05 2012 -0700"
      },
      "message": "mlx4_core: Pass an invalid PCI id number to VFs\n\nCurrently, VFs have 0 in their dev-\u003ecaps.function field.  This is a\nvalid pci id (usually of the PF).  Instead, pass an invalid PCI id to\nthe VF via QUERY_FW, so that if the value gets accessed in the VF\ndriver, we\u0027ll catch the problem.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "592e49dda8122ab621cdc59cc429bdb968ee6364",
      "tree": "285ab049c09b7fd6a1614e869f2ceac3cfb73961",
      "parents": [
        "1b9c6b064ef4fbc6f55485a8b5aab7ce889592c2"
      ],
      "author": {
        "name": "Hadar Hen Zion",
        "email": "hadarh@mellanox.co.il",
        "time": "Thu Jul 05 04:03:48 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 07 16:23:06 2012 -0700"
      },
      "message": "net/mlx4: Implement promiscuous mode with device managed flow-steering\n\nThe device managed flow steering API has three promiscuous modes:\n\n1. Uplink - captures all the packets that arrive to the port.\n2. Allmulti - captures all multicast packets arriving to the port.\n3. Function port - for future use, this mode is not implemented yet.\n\nUse these modes with the flow_attach and flow_detach firmware commands\naccording to the promiscuous state of the netdevice.\n\nSigned-off-by: Hadar Hen Zion \u003chadarh@mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ff1fb654bec0cff62ddf81a8a8edec4263604a0",
      "tree": "1556f95adf6802cfa0cce5efb4f1e1707888ce49",
      "parents": [
        "8fcfb4db74352d3d447b7a559ad54f7577074d19"
      ],
      "author": {
        "name": "Hadar Hen Zion",
        "email": "hadarh@mellanox.co.il",
        "time": "Thu Jul 05 04:03:46 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 07 16:23:05 2012 -0700"
      },
      "message": "{NET, IB}/mlx4: Add device managed flow steering firmware API\n\nThe driver is modified to support three operation modes.\n\nIf supported by firmware use the device managed flow steering\nAPI, that which we call device managed steering mode. Else, if\nthe firmware supports the B0 steering mode use it, and finally,\nif none of the above, use the A0 steering mode.\n\nWhen the steering mode is device managed, the code is modified\nsuch that L2 based rules set by the mlx4_en driver for Ethernet\nunicast and multicast, and the IB stack multicast attach calls\ndone through the mlx4_ib driver are all routed to use the device\nmanaged API.\n\nWhen attaching rule using device managed flow steering API,\nthe firmware returns a 64 bit registration id, which is to be\nprovided during detach.\n\nCurrently the firmware is always programmed during HCA initialization\nto use standard L2 hashing. Future work should be done to allow\nconfiguring the flow-steering hash function with common, non\nproprietary means.\n\nSigned-off-by: Hadar Hen Zion \u003chadarh@mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8fcfb4db74352d3d447b7a559ad54f7577074d19",
      "tree": "3d60738ca8b0323189041305fb03128c839104bf",
      "parents": [
        "c96d97f4d127b61def87b3ee056bec20cfc265d1"
      ],
      "author": {
        "name": "Hadar Hen Zion",
        "email": "hadarh@mellanox.co.il",
        "time": "Thu Jul 05 04:03:45 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 07 16:23:05 2012 -0700"
      },
      "message": "net/mlx4_core: Add firmware commands to support device managed flow steering\n\nAdd support for firmware commands to attach/detach a new device managed\nsteering mode. Such network steering rules allow the user to provide an\nL2/L3/L4 flow specification to the firmware and have the device to steer\ntraffic that matches that specification to the provided QP.\n\nSigned-off-by: Hadar Hen Zion \u003chadarh@mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c96d97f4d127b61def87b3ee056bec20cfc265d1",
      "tree": "84c89ead71dd4f7a0795aa703b60bb5c5eb2d5a4",
      "parents": [
        "6d19993788e080edb557178cc6aba2d963edce4e"
      ],
      "author": {
        "name": "Hadar Hen Zion",
        "email": "hadarh@mellanox.co.il",
        "time": "Thu Jul 05 04:03:44 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 07 16:23:05 2012 -0700"
      },
      "message": "net/mlx4: Set steering mode according to device capabilities\n\nInstead of checking the firmware supported steering mode in various\nplaces in the code, add a dedicated field in the mlx4 device capabilities\nstructure which is written once during the initialization flow and read\nacross the code.\n\nThis also set the grounds for add new steering modes. Currently two modes\nare supported, and are named after the ConnectX HW versions A0 and B0.\n\nA0 steering uses mac_index, vlan_index and priority to steer traffic\ninto pre-defined range of QPs.\n\nB0 steering uses Ethernet L2 hashing rules and is enabled only\nif the firmware supports both unicast and multicast B0 steering,\n\nThe current steering modes are relevant for Ethernet traffic only,\nsuch that Infiniband steering remains untouched.\n\nSigned-off-by: Hadar Hen Zion \u003chadarh@mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3fc929e2d693185aac2686e5e64e24eae10642a4",
      "tree": "c13786131ec3695af7caf97d55b92197cc6fdd6a",
      "parents": [
        "30f7c73bed749814f4985b1ce4566fe64b9c25f0"
      ],
      "author": {
        "name": "Marcel Apfelbaum",
        "email": "marcela@dev.mellanox.co.il",
        "time": "Wed May 30 09:14:51 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 31 18:18:16 2012 -0400"
      },
      "message": "net/mlx4_core: Fix number of EQs used in ICM initialisation\n\nIn SRIOV mode, the number of EQs used when computing the total ICM size\nwas incorrect.\n\nTo fix this, we do the following:\n1. We add a new structure to mlx4_dev, mlx4_phys_caps, to contain physical HCA\n   capabilities.  The PPF uses the phys capabilities when it computes things\n   like ICM size.\n\n   The dev_caps structure will then contain the paravirtualized values, making\n   bookkeeping much easier in SRIOV mode. We add a structure rather than a\n   single parameter because there will be other fields in the phys_caps.\n\n   The first field we add to the mlx4_phys_caps structure is num_phys_eqs.\n\n2. In INIT_HCA, when running in SRIOV mode, the \"log_num_eqs\" parameter\n   passed to the FW is the number of EQs per VF/PF; each function (PF or VF)\n   has this number of EQs available.\n\n   However, the total number of EQs which must be allowed for in the ICM is\n   (1 \u003c\u003c log_num_eqs) * (#VFs + #PFs).  Rather than compute this quantity,\n   we allocate ICM space for 1024 EQs (which is the device maximum\n   number of EQs, and which is the value we place in the mlx4_phys_caps structure).\n\n   For INIT_HCA, however, we use the per-function number of EQs as described\n   above.\n\nSigned-off-by: Marcel Apfelbaum \u003cmarcela@dev.mellanox.co.il\u003e\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nReviewed-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c23ddf7857bdb2e8001b0a058603497c765a580d",
      "tree": "f1d826612114a17d6ab543b7095adf04b5ba614a",
      "parents": [
        "da4f58ffa08a7b7012fab9c205fa0f6ba40fec42",
        "cc169165c82e14ea43e313f937a0a475ca97e588"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 17:54:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 17:54:55 2012 -0700"
      },
      "message": "Merge tag \u0027rdma-for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull InfiniBand/RDMA changes from Roland Dreier:\n - Add ocrdma hardware driver for Emulex IB-over-Ethernet adapters\n - Add generic and mlx4 support for \"raw\" QPs: allow suitably privileged\n   applications to send and receive arbitrary packets directly to/from\n   the hardware\n - Add \"doorbell drop\" handling to the cxgb4 driver\n - A fairly large batch of qib hardware driver changes\n - A few fixes for lockdep-detected issues\n - A few other miscellaneous fixes and cleanups\n\nFix up trivial conflict in drivers/net/ethernet/emulex/benet/be.h.\n\n* tag \u0027rdma-for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (53 commits)\n  RDMA/cxgb4: Include vmalloc.h for vmalloc and vfree\n  IB/mlx4: Fix mlx4_ib_add() error flow\n  IB/core: Fix IB_SA_COMP_MASK macro\n  IB/iser: Fix error flow in iser ep connection establishment\n  IB/mlx4: Increase the number of vectors (EQs) available for ULPs\n  RDMA/cxgb4: Add query_qp support\n  RDMA/cxgb4: Remove kfifo usage\n  RDMA/cxgb4: Use vmalloc() for debugfs QP dump\n  RDMA/cxgb4: DB Drop Recovery for RDMA and LLD queues\n  RDMA/cxgb4: Disable interrupts in c4iw_ev_dispatch()\n  RDMA/cxgb4: Add DB Overflow Avoidance\n  RDMA/cxgb4: Add debugfs RDMA memory stats\n  cxgb4: DB Drop Recovery for RDMA and LLD queues\n  cxgb4: Common platform specific changes for DB Drop Recovery\n  cxgb4: Detect DB FULL events and notify RDMA ULD\n  RDMA/cxgb4: Drop peer_abort when no endpoint found\n  RDMA/cxgb4: Always wake up waiters in c4iw_peer_abort_intr()\n  mlx4_core: Change bitmap allocator to work in round-robin fashion\n  RDMA/nes: Don\u0027t call event handler if pointer is NULL\n  RDMA/nes: Fix for the ORD value of the connecting peer\n  ...\n"
    },
    {
      "commit": "b3416f4476f39f76fd5ca238e8332ba9b8f059d9",
      "tree": "abe8502067df86eba56d32d37f75f6e434acda27",
      "parents": [
        "c0c1d3d761c32ece93b1c99d200591415e3cbf7c"
      ],
      "author": {
        "name": "Shlomo Pongratz",
        "email": "shlomop@mellanox.com",
        "time": "Sun Apr 29 17:04:25 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:54:32 2012 -0700"
      },
      "message": "mlx4_core: Add second capabilities flags field\n\nThis patch adds a 64-bit flags2 features member to struct mlx4_dev to\nexport further features of the hardware.  The original flags field\ntracks features whose support bits are advertised by the firmware in\noffsets 0x40 and 0x44 of the query device capabilities command.\nflags2 will track features whose support bits are scattered at various\noffsets.\n\nRSS support is the first feature to be exported through flags2.  RSS\ncapabilities are located at offset 0x2e.  The size of the RSS\nindirection table is also given in this offset.\n\nSigned-off-by: Shlomo Pongratz \u003cshlomop@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c0c1d3d761c32ece93b1c99d200591415e3cbf7c",
      "tree": "bd1099c23f115a3720f002e9fe27b832d34cf9e4",
      "parents": [
        "d48b97b403d23f6df0b990cee652bdf9a52337a3"
      ],
      "author": {
        "name": "Oren Duer",
        "email": "oren@mellanox.co.il",
        "time": "Sun Apr 29 17:04:24 2012 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue May 08 11:48:09 2012 -0700"
      },
      "message": "IB/mlx4: Put priority bits in WQE of IBoE MLX QP\n\nOtherwise CM packets going over MLX QP1 get fixed scheduling priority 0.\nWe want CM packets to get the same scheduling priority, and therefore\nmap to the same SQ (Schedule Queue) and eventually TC (Traffic Class),\nas the application requested for the actual QP used for the connection.\n\nSigned-off-by: Oren Duer \u003coren@mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "e5395e92a470769d67369c002a41e59619f5214b",
      "tree": "2fd6a4d09c6e4514856f8e4762fe8ed301b8c9b5",
      "parents": [
        "0e98b523c4a4119cbd17e58dff385cc329064694"
      ],
      "author": {
        "name": "Amir Vadai",
        "email": "amirv@mellanox.com",
        "time": "Wed Apr 04 21:33:25 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 05 05:08:03 2012 -0400"
      },
      "message": "net/mlx4_core: set port QoS attributes\n\nAdding QoS firmware commands:\n- mlx4_en_SET_PORT_PRIO2TC - set UP \u003c\u003d\u003e TC\n- mlx4_en_SET_PORT_SCHEDULER - set promised BW, max BW and PG number\n\nSigned-off-by: Amir Vadai \u003camirv@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e98b523c4a4119cbd17e58dff385cc329064694",
      "tree": "4c16b13b5f118cfcf607195d1683ed01ba508b77",
      "parents": [
        "73a0d907301ece200d32b4e8ba2da2ca296b507f"
      ],
      "author": {
        "name": "Amir Vadai",
        "email": "amirv@mellanox.com",
        "time": "Wed Apr 04 21:33:24 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 05 05:08:03 2012 -0400"
      },
      "message": "net/mlx4_en: Force user priority by QP attribute\n\nInstead of relying on HW to change schedule queue by UP, schedule\nqueue is fixed for a tx_ring, and UP in WQE is ignored in this aspect.  This\nresolves two issues with untagged traffic:\n1. untagged traffic has no UP in packet which is needed for QoS. The change\n   above allows setting the schedule queue (and by that the UP) of such a stream.\n2. BlueFlame uses the same field used by vlan tag. So forcing UP from QPC\n   allows using BF for untagged but prioritized traffic.\n\nIn old firmware that force UP is not supported, untagged traffic will not subject to\nQoS.\n\nBecause UP is set by QP, need to always have a tx ring per UP, even if pfcrx\nmodule paramter is false.\n\nSigned-off-by: Amir Vadai \u003camirv@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "250f6715a4112d6686670c5a62ceb9305da94616",
      "tree": "ee1c9b41ed1fed8174efb312421902f19c877e8c",
      "parents": [
        "11bcb32848ddb5ab28f09f142b625e2ba4d55c4c",
        "313162d0b83836e2f57e51b9b8650fb4b9c396ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "message": "Merge tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/device.h\u003e avoidance patches from Paul Gortmaker:\n \"Nearly every subsystem has some kind of header with a proto like:\n\n\tvoid foo(struct device *dev);\n\n  and yet there is no reason for most of these guys to care about the\n  sub fields within the device struct.  This allows us to significantly\n  reduce the scope of headers including headers.  For this instance, a\n  reduction of about 40% is achieved by replacing the include with the\n  simple fact that the device is some kind of a struct.\n\n  Unlike the much larger module.h cleanup, this one is simply two\n  commits.  One to fix the implicit \u003clinux/device.h\u003e users, and then one\n  to delete the device.h includes from the linux/include/ dir wherever\n  possible.\"\n\n* tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  device.h: audit and cleanup users in main include dir\n  device.h: cleanup users outside of linux/include (C files)\n"
    },
    {
      "commit": "0c2fe82a9b106f1c03719783134360586d718a69",
      "tree": "ec1a18ca49f1e6724ef3a93727f5f73b7df61931",
      "parents": [
        "5f0e685f316a1de6d3af8b23eaf46651faca32ab",
        "f0e88aeb19dac00ed2e09fd4d39ee65f32d5e968"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:33:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:33:42 2012 -0700"
      },
      "message": "Merge tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\nPull InfiniBand/RDMA changes for the 3.4 merge window from Roland Dreier:\n \"Nothing big really stands out; by patch count lots of fixes to the\n  mlx4 driver plus some cleanups and fixes to the core and other\n  drivers.\"\n\n* tag \u0027rdma-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (28 commits)\n  mlx4_core: Scale size of MTT table with system RAM\n  mlx4_core: Allow dynamic MTU configuration for IB ports\n  IB/mlx4: Fix info returned when querying IBoE ports\n  IB/mlx4: Fix possible missed completion event\n  mlx4_core: Report thermal error events\n  mlx4_core: Fix one more static exported function\n  IB: Change CQE \"csum_ok\" field to a bit flag\n  RDMA/iwcm: Reject connect requests if cmid is not in LISTEN state\n  RDMA/cxgb3: Don\u0027t pass irq flags to flush_qp()\n  mlx4_core: Get rid of redundant ext_port_cap flags\n  RDMA/ucma: Fix AB-BA deadlock\n  IB/ehca: Fix ilog2() compile failure\n  IB: Use central enum for speed instead of hard-coded values\n  IB/iser: Post initial receive buffers before sending the final login request\n  IB/iser: Free IB connection resources in the proper place\n  IB/srp: Consolidate repetitive sysfs code\n  IB/srp: Use pr_fmt() and pr_err()/pr_warn()\n  IB/core: Fix SDR rates in sysfs\n  mlx4: Enforce device max FMR maps in FMR alloc\n  IB/mlx4: Set bad_wr for invalid send opcode\n  ...\n"
    },
    {
      "commit": "313162d0b83836e2f57e51b9b8650fb4b9c396ea",
      "tree": "8f39f20515a924d392cf9a72db0918fda07a34c7",
      "parents": [
        "51990e825431089747f8896244b5c17d3a6423f1"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Jan 30 11:46:54 2012 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Mar 16 10:38:24 2012 -0400"
      },
      "message": "device.h: audit and cleanup users in main include dir\n\nThe \u003clinux/device.h\u003e header includes a lot of stuff, and\nit in turn gets a lot of use just for the basic \"struct device\"\nwhich appears so often.\n\nClean up the users as follows:\n\n1) For those headers only needing \"struct device\" as a pointer\nin fcn args, replace the include with exactly that.\n\n2) For headers not really using anything from device.h, simply\ndelete the include altogether.\n\n3) For headers relying on getting device.h implicitly before\nbeing included themselves, now explicitly include device.h\n\n4) For files in which doing #1 or #2 uncovers an implicit\ndependency on some other header, fix by explicitly adding\nthe required header(s).\n\nAny C files that were implicitly relying on device.h to be\npresent have already been dealt with in advance.\n\nTotal removals from #1 and #2: 51.  Total additions coming\nfrom #3: 9.  Total other implicit dependencies from #4: 7.\n\nAs of 3.3-rc1, there were 110, so a net removal of 42 gives\nabout a 38% reduction in device.h presence in include/*\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "42872c7a5ed8d3ed49f51cb783978ca50369c564",
      "tree": "0deea7b61c163e6997a4634ab4ee310014984688",
      "parents": [
        "d927d505c59a0c7353343174e6225c43c61fba6d",
        "db5a7a65c05867cb6ff5cb6d556a0edfce631d2d"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 12 16:25:28 2012 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 12 16:25:28 2012 -0700"
      },
      "message": "Merge branches \u0027misc\u0027 and \u0027mlx4\u0027 into for-next\n\nConflicts:\n\tdrivers/infiniband/hw/mlx4/main.c\n\tdrivers/net/ethernet/mellanox/mlx4/main.c\n\tinclude/linux/mlx4/device.h\n"
    },
    {
      "commit": "096335b3f9830b90d13aee77252cf6f5f12a258c",
      "tree": "08d90d43ff9b4db64bc977210b67f2b05a3d15d9",
      "parents": [
        "a9c766bb75ee2caad2735e41784387784ffd87db"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Wed Jan 11 19:02:17 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 12 16:24:59 2012 -0700"
      },
      "message": "mlx4_core: Allow dynamic MTU configuration for IB ports\n\nSet the MTU for IB ports in the driver instead of using the firmware\ndefault of 2KB (the driver defaults to 4KB).  Allow for dynamic mtu\nconfiguration through a new, per-port sysfs entry.\n\nSince there\u0027s a dependency between the port MTU and the max number of\nHW VLs the port can support, apply a mim/max approach, using a loop\nthat goes down from the highest possible number of VLs to the lowest,\nusing the firmware return status to know whether the requested number\nof VLs is possible with a given MTU.\n\nFor now, as with the dynamic link type change / VPI support, the sysfs\nentry to change the mtu is exposed only when NOT running in SR-IOV\nmode.  To allow changing the MTU for the master in SR-IOV mode,\nprimary-function-initiated FLR (Function Level Reset) needs to be\nimplemented.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "5984be90046fa978d94a5ec08bbf8f760cff2b30",
      "tree": "428b0735fd2fdd696e7d1601b554179d225fe67c",
      "parents": [
        "e10903b087e425298fb86c6ad4b1a88735480db7"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Mar 06 15:50:49 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Mar 12 16:24:59 2012 -0700"
      },
      "message": "mlx4_core: Report thermal error events\n\nPrint an error message when a thermal error async event is reported by the HW.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Dotan Barak \u003cdotanb@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "8154c07fe14e387c5a7c7f2eb70534813634e45e",
      "tree": "04a62c867cb09976b415e8d6e04d41f0c2e793e1",
      "parents": [
        "2e96691c31ecf749f48aa94ea837b95dd656f5c2"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Tue Mar 06 15:50:50 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Mar 06 17:25:18 2012 -0800"
      },
      "message": "mlx4_core: Get rid of redundant ext_port_cap flags\n\nWhile doing the work for commit a6f7feae6d (\"IB/mlx4: pass SMP\nvendor-specific attribute MADs to firmware\") we realized that the\nfirmware would respond on all sorts of vendor-specific MADs.\nTherefore commit 97285b7817 (\"mlx4_core: Add extended port\ncapabilities support\") adds redundant code into the driver, since\nthere\u0027s no real reaon to maintain the extended capabilities of the\nport, as they can be queried on demand (e.g the FDR10 capability).\n\nThis patch reverts commit 97285b7817 and removes the check for\nextended caps from the mlx4_ib driver port query flow.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "9a9a232a9295deb3b6b5f4ce4290a7d05ff061fa",
      "tree": "2e63b1c1ecfe665579222829446358f58f980650",
      "parents": [
        "2ab573c586446ebab9d7a3e340bd4ff8fc2c70d4"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Tue Mar 06 04:04:47 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 06 15:19:18 2012 -0500"
      },
      "message": "net/mlx4: fixing sparse warnings for not declared, functions\n\nThe SET_PORT functions are implemented in port.c, which is part\nof mlx4_core, these functions are exported. The functions are in use by\nthe mlx4_en module (were originally part of mlx4_en).\nTheir declaration remained in mlx4_en module, moving the declaration to the right location.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "622121719934f60378279eb440d3cec2fc3176d2",
      "tree": "ed5285b379efd994078cd2010968361bcc5759b3",
      "parents": [
        "0f298a285f2e365cb34f69d1f79bb9fc996f683d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Feb 25 00:51:05 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 26 14:22:05 2012 -0500"
      },
      "message": "mlx4_en: dont change mac_header on xmit\n\nA driver xmit function is not allowed to change skb without special\ncare.\n\nmlx4_en_xmit() should not call skb_reset_mac_header() and instead should\nuse skb-\u003edata to access ethernet header.\n\nThis removes a dumb test : if (ethh \u0026\u0026 ethh-\u003eh_dest)\n\nAlso remove this slow mlx4_en_mac_to_u64() call, we can use\nget_unaligned() to get faster code.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5bbe892da9441835cb6fece26d9bbd95fc820be",
      "tree": "2642ee58996918ae4a09be9d82d97a6516eb215b",
      "parents": [
        "4ba6b8eaa9d67d03fb653cb8a13afca3236d4d70"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Thu Feb 09 18:10:06 2012 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Sun Feb 26 01:43:37 2012 -0800"
      },
      "message": "mlx4: Enforce device max FMR maps in FMR alloc\n\nConnectX devices have a limit on the number of mappings that can be\ndone on an FMR before having to call sync_tpt.  The current\nmlx4_ib driver reports the limit correctly in max_map_per_fmr in\n.query_device(), but mlx4_core doesn\u0027t check it when actually\nallocating FMRs.\n\nAdd a max_fmr_maps field to struct mlx4_caps and enforce this maximum\nvalue on FMR allocations.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "93ece0c1a7ace88f10411dbb5643d2aa2fe00ebf",
      "tree": "c6a00edd4504b9c026bc555e3d74fe155cacadbf",
      "parents": [
        "35fb9afbdeef9d5859d9a878d0372907baf119e1"
      ],
      "author": {
        "name": "Eugenia Emantayev",
        "email": "eugenia@mellanox.co.il",
        "time": "Thu Jan 19 09:45:05 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 22 15:08:43 2012 -0500"
      },
      "message": "mlx4_en: eth statistics modification\n\nIn native mode display all available staticstics.\nIn SRIOV mode on VF display only SW counters statistics,\nin SRIOV mode on hypervisor display SW counters and errors (got from FW)\nstatistics.\n\nSigned-off-by: Eugenia Emantayev \u003ceugenia@mellanox.co.il\u003e\nReviewed-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d0fc7b61191c9433a4f738987b89e1d962eb637",
      "tree": "f538c085fefdeddd321a66ed0fb54a0cd86cbf34",
      "parents": [
        "58a60168d12c4e5be21c29420a3de4a41ef3470f"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Mon Dec 19 04:00:34 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 19 14:57:07 2011 -0500"
      },
      "message": "mlx4_core: Changing link sensing logic\n\nNew FW can give clues to driver regarding default port type\nand whether or not we should default to link sensing on the port.\n\n2 bits are added to QUERY_PORT command:\n1. suggested_type: This bit gives a hint whether the default port type should be\n   IB or Ethernet.\n   The driver will use this hint in case the user didn\u0027t specify explicitly the link layer\n   type he wants to set.\n2. default_sense: If this bit is set, we would sense the port type on start-up\n   and default the port to link sensing\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "58a60168d12c4e5be21c29420a3de4a41ef3470f",
      "tree": "407a7f5c7ef86a4346577ce1860bf686d40d4b93",
      "parents": [
        "9f6e20cee6253c4ca5faacba8dbd09ebe70132ed"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Mon Dec 19 04:00:26 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 19 14:57:06 2011 -0500"
      },
      "message": "mlx4: capability for link sensing\n\nFor ConnectX3 devices, we allow link sensing only if FW explicitly\nreported it supports the feature.\nFor older versions (ConnectX1 and 2), if the card supports both link layer types\n(Ethenet and Infiniband), link sensing is supported.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab9c17a009ee8eb8c667f22dc0be0709effceab9",
      "tree": "b85acd5d8cf28a42ef5f7361ef43b4195b89912d",
      "parents": [
        "d81c7186aa16a0da9e39961af6bad0c855a5d684"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Dec 13 04:18:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 13:56:08 2011 -0500"
      },
      "message": "mlx4_core: Modify driver initialization flow to accommodate SRIOV for Ethernet\n\n1. Added module parameters sr_iov and probe_vf for controlling enablement of\n   SRIOV mode.\n2. Increased default max num-qps, num-mpts and log_num_macs to accomodate\n   SRIOV mode\n3. Added port_type_array as a module parameter to allow driver startup with\n   ports configured as desired.\n   In SRIOV mode, only ETH is supported, and this array is ignored; otherwise,\n   for the case where the FW supports both port types (ETH and IB), the\n   port_type_array parameter is used.\n   By default, the port_type_array is set to configure both ports as IB.\n4. When running in sriov mode, the master needs to initialize the ICM eq table\n   to hold the eq\u0027s for itself and also for all the slaves.\n5. mlx4_set_port_mask() now invoked from mlx4_init_hca, instead of in mlx4_dev_cap.\n6. Introduced sriov VF (slave) device startup/teardown logic (mainly procedures\n   mlx4_init_slave, mlx4_slave_exit, mlx4_slave_cap, mlx4_slave_exit and flow\n   modifications in __mlx4_init_one, mlx4_init_hca, and mlx4_setup_hca).\n   VFs obtain their startup information from the PF (master) device via the\n   comm channel.\n7. In SRIOV mode (both PF and VF), MSI_X must be enabled, or the driver\n   aborts loading the device.\n8. Do not allow setting port type via sysfs when running in SRIOV mode.\n9. mlx4_get_ownership:  Currently, only one PF is supported by the driver.\n   If the HCA is burned with FW which enables more than one PF, only one\n   of the PFs is allowed to run.  The first one up grabs a FW ownership\n   semaphone -- all other PFs will find that semaphore taken, and the\n   driver will not allow them to run.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: Liran Liss \u003cliranl@mellanox.co.il\u003e\nSigned-off-by: Marcel Apfelbaum \u003cmarcela@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b8fb2867ca2736a715a88067fd0ec2904777cbe",
      "tree": "507a7645aaeda05151045157756e1a828e60fe11",
      "parents": [
        "5b4c4d36860ef1c411d0669ffc15090417a33389"
      ],
      "author": {
        "name": "Marcel Apfelbaum",
        "email": "marcela@dev.mellanox.co.il",
        "time": "Tue Dec 13 04:16:56 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 13:56:07 2011 -0500"
      },
      "message": "mlx4_core: mtts resources units changed to offset\n\nIn the previous implementation mtts are managed by:\n1. order     - log(mtt segments), \u0027mtt segment\u0027 groups several mtts together.\n2. first_seg - segment location relative to mtt table.\nIn the current implementation:\n1. order     - log(mtts) rather than segments\n2. offset    - mtt index in mtt table\n\nNote: The actual mtt allocation is made in segments but it is\n      transparent to callers.\n\nRational: The mtt resource holders are not interested on how the allocation\n          of mtt is done, but rather on how they will use it.\n\nSigned-off-by: Marcel Apfelbaum \u003cmarcela@dev.mellanox.co.il\u003e\nReviewed-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ffe455ad04681f3fc48eef595fe526a795f809a3",
      "tree": "ba21abb4371d780357dd1a91810dd171ce3b05b2",
      "parents": [
        "0ec2c0f86d31ab36547307f133b0016006bdc6b5"
      ],
      "author": {
        "name": "Eugenia Emantayev",
        "email": "eugenia@mellanox.co.il",
        "time": "Tue Dec 13 04:16:21 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 13:56:07 2011 -0500"
      },
      "message": "mlx4: Ethernet port management modifications\n\nThe physical port is now common to the PF and VFs.\nThe port resources and configuration is managed by the PF, VFs can\nonly influence the MTU of the port, it is set as max among all functions,\nEach function allocates RX buffers of required size to meet it\u0027s MTU enforcement.\nPort management code was moved to mlx4_core, as the mlx4_en module is\nvirtualization unaware\n\nMove handling qp functionality to mlx4_get_eth_qp/mlx4_put_eth_qp\nincluding reserve/release range and add/release unicast steering.\nLet mlx4_register/unregister_mac deal only with MAC (un)registration.\n\nSigned-off-by: Eugenia Emantayev \u003ceugenia@mellanox.co.il\u003e\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5311ac109b21c9b47118655a5b6d887bcc686f8",
      "tree": "08b36eb29661485c60f101bb9f3f50be8a0eff2c",
      "parents": [
        "f9baff509f8a05a79626defdbdf4f4aa4efd373b"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Dec 13 04:12:13 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 13:56:05 2011 -0500"
      },
      "message": "mlx4_core: Reduce number of PD bits to 17\n\nWhen SRIOV is enabled on the chip (at FW burning time),\nthe HCA uses only 17 bits for the PD. The remaining 7 high-order bits\nare ignored.\n\nChange the allocator to return only 17 bits for the PD.  The MSB 7\nbits will be used to encode the slave number for consistency\nchecking later on in the resource tracker.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f9baff509f8a05a79626defdbdf4f4aa4efd373b",
      "tree": "d4f0e425cd8c8999775f0f135c9825e3bbdc180c",
      "parents": [
        "65dab25deb8da7dba4b6dd0145a9143be7f8369f"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Dec 13 04:10:51 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 13:56:05 2011 -0500"
      },
      "message": "mlx4_core: Add \"native\" argument to mlx4_cmd and its callers (where needed)\n\nFor SRIOV, some Hypervisor commands can be executed directly (native \u003d 1).\nOthers should go through the command wrapper flow (for tracking resource\nusage, for example, or for changing some HCA configurations that slaves\nneed to be notified of).\n\nThis patch sets the groundwork for this capability -- adding the correct\nvalue of \"native\" in each case.\n\nNote that if SRIOV is not activated, this parameter has no effect.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65dab25deb8da7dba4b6dd0145a9143be7f8369f",
      "tree": "a494864c9c97eef341f30529d71feceb08dcdb64",
      "parents": [
        "623ed84b1f9553bc962c2aca92f488aa6f27ecd1"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Dec 13 04:10:41 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 13:56:05 2011 -0500"
      },
      "message": "mlx4: Extanding port_mask functionality\n\nPort mask now has additional state.\nPort can be set as \"none\". In this case neither the mlx4_en or mlx4_ib\ndrivers take ownership of the port.\nIn multifunction mode there is an option to set the vfs as single ported devices.\n(in single function mode, both physical ports belong to same function)\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "623ed84b1f9553bc962c2aca92f488aa6f27ecd1",
      "tree": "e83f5c25e071e3dcef12122166a1996c0027c612",
      "parents": [
        "9f048bfba15a22d1d1ce0c1f44567fa16bed4d25"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Tue Dec 13 04:10:33 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 13 13:56:05 2011 -0500"
      },
      "message": "mlx4_core: initial header-file changes for SRIOV support\n\nThese changes will not affect module operation as yet. They\nare only to get some structs and enums in place for use by\nsubsequent patches (making those smaller).\n\nAdded here:\n* sriov state structs and inlines (mlx4_is_master/slave/mfunc)\n* comm-channel and vhcr support structures\n* enum values for new FW and comm-channel virtual commands\n  (i.e., commands, passed via the comm channel to the PF-driver).\n* prototypes for many command wrapper functions (used by the\n  PF context for processing FW commands passed to it by the VFs).\n* struct mlx4_eqe is moved from eq.c to mlx4.h (it will be used\n  by other mlx4_core source files).\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60d6fe99e4a507f77b63c090eb8aacb67e21687a",
      "tree": "52473d54554d44fbaf2b020fd203965b934ccaeb",
      "parents": [
        "559a9f1d354b577af28f84181751820ff7d29feb"
      ],
      "author": {
        "name": "Amir Vadai",
        "email": "amirv@mellanox.co.il",
        "time": "Sat Nov 26 19:55:19 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 27 17:17:04 2011 -0500"
      },
      "message": "net/mlx4_en: adding loopback support\n\nDevice must be in promiscuous mode or DMAC must be same as the host MAC, or\nelse packet will be dropped by the HW rx filtering.\n\nSigned-off-by: Amir Vadai \u003camirv@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "559a9f1d354b577af28f84181751820ff7d29feb",
      "tree": "e148a9161da5a03d8778e05d1492955f8d38e0ac",
      "parents": [
        "f0ab34f011d805ce5b1a341409c9c26f0fc8252b"
      ],
      "author": {
        "name": "Oren Duer",
        "email": "oren@mellanox.co.il",
        "time": "Sat Nov 26 19:55:15 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 27 17:17:04 2011 -0500"
      },
      "message": "net/mlx4_en: fix WOL handlers were always looking at port2 capability bit\n\nThere are 2 capability bits for WOL, one for each port.\nWOL handlers were looking only on the second bit, regardless of the port.\n\nSigned-off-by: Oren Duer \u003coren@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "876f6e67d1c617c098c67934a8d00b065bb9688b",
      "tree": "1d66f498806971c4369f6d152046bcb163ee528f",
      "parents": [
        "fd4f862717ece652a76b4bb6c6d2c9656dbf0f7e"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Sat Nov 26 19:54:58 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 27 17:17:03 2011 -0500"
      },
      "message": "net/mlx4: move RSS related definitions to be global\n\nTowards adding RSS support for IB drivers/application who use\nthe mlx4 HW, make the RSS related definitions global and change\nthe mlx4_en driver to use them.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.com\u003e\nSigned-off-by: Shlomo Pongratz \u003cshlomop@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f470f8d4e702593ee1d0852871ad80373bce707b",
      "tree": "85a67e65c5e5b9777639bd8f4c763a4cf8787e0e",
      "parents": [
        "dc47d3810cdcb4f32bfa31d50f26af97aced0638",
        "504255f8d0480cf293962adf4bc3aecac645ae71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 01 10:51:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 01 10:51:38 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (62 commits)\n  mlx4_core: Deprecate log_num_vlan module param\n  IB/mlx4: Don\u0027t set VLAN in IBoE WQEs\u0027 control segment\n  IB/mlx4: Enable 4K mtu for IBoE\n  RDMA/cxgb4: Mark QP in error before disabling the queue in firmware\n  RDMA/cxgb4: Serialize calls to CQ\u0027s comp_handler\n  RDMA/cxgb3: Serialize calls to CQ\u0027s comp_handler\n  IB/qib: Fix issue with link states and QSFP cables\n  IB/mlx4: Configure extended active speeds\n  mlx4_core: Add extended port capabilities support\n  IB/qib: Hold links until tuning data is available\n  IB/qib: Clean up checkpatch issue\n  IB/qib: Remove s_lock around header validation\n  IB/qib: Precompute timeout jiffies to optimize latency\n  IB/qib: Use RCU for qpn lookup\n  IB/qib: Eliminate divide/mod in converting idx to egr buf pointer\n  IB/qib: Decode path MTU optimization\n  IB/qib: Optimize RC/UC code by IB operation\n  IPoIB: Use the right function to do DMA unmap pages\n  RDMA/cxgb4: Use correct QID in insert_recv_cqe()\n  RDMA/cxgb4: Make sure flush CQ entries are collected on connection close\n  ...\n"
    },
    {
      "commit": "504255f8d0480cf293962adf4bc3aecac645ae71",
      "tree": "5ae8663d2bc2eb9e796bfb689f3e462a14742e06",
      "parents": [
        "2be6053318aa4f2787b7bc5cf5160017d7d1586b",
        "615eb715ae10cbaa8079ab8cacf8f4596be4087a",
        "f7cc25d018f1e9af6767ee7774bbe83452e9fdf4",
        "d32ae393dbf0daf778f9e33b0bc6591cd102391e",
        "a5e12dff757b562bbecd6a2359fdc4c43d4d97de",
        "3e60a77ea218d1915bdc9127f88ab866fd2ac643",
        "787adb9d6ad9afb498a1580a7d8ad05f779c488a",
        "caf6e3f221ddc12ccabd1cd0ba149561db0090d4",
        "cb29688aaa4caa4d54df2976118fe99a839bb433",
        "0f0bee8bbc2b3e49baa703118041f99db9ef41a1",
        "16d99812d58b8af2df29cd337a74cd965b53da04",
        "42849b2697c36abdafa6aef64186b15055392046"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 01 09:37:08 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Tue Nov 01 09:37:08 2011 -0700"
      },
      "message": "Merge branches \u0027amso1100\u0027, \u0027cma\u0027, \u0027cxgb3\u0027, \u0027cxgb4\u0027, \u0027fdr\u0027, \u0027ipath\u0027, \u0027ipoib\u0027, \u0027misc\u0027, \u0027mlx4\u0027, \u0027misc\u0027, \u0027nes\u0027, \u0027qib\u0027 and \u0027xrc\u0027 into for-next\n"
    },
    {
      "commit": "97285b78174423e5576b2e06aa45f64df009da5b",
      "tree": "d6f44a503b98f385e22fc9243d1abaf98d68947d",
      "parents": [
        "e36fb88a9a0fb8ac4b87c8ac709214a408de6d97"
      ],
      "author": {
        "name": "Marcel Apfelbaum",
        "email": "marcela@dev.mellanox.co.il",
        "time": "Mon Oct 24 11:02:34 2011 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Fri Oct 28 11:33:38 2011 -0700"
      },
      "message": "mlx4_core: Add extended port capabilities support\n\nAn Extended Port Info packet is sent to each hw port during HCA init.\nIf it returns without error, we assume the port supports extended port\ncapabilities.\n\nSigned-off-by: Marcel Apfelbaum \u003cmarcela@dev.mellanox.co.il\u003e\nReviewed-by: Jack Morgenstein \u003cjackm@dev.mellanox.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "f3a9d1f25dfeadf22c775880633a587cc6778872",
      "tree": "6777487a57d874090e118fad60a6c43f4cd259bc",
      "parents": [
        "e72ebf5a578464204c8418d7d9b375333bb33161"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Tue Oct 18 01:50:42 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 03:42:26 2011 -0400"
      },
      "message": "mlx4_en: Controlling FCS header removal\n\nCanceling FCS removal where FW allows for better alignment\nof incoming data.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a1405da9952a72dd587829a3321695adde7dca1",
      "tree": "b22e101a1555a65b2f9c75fa1315f51a8c5f5f7e",
      "parents": [
        "18abd5ea571608a7c726fc56e21d3e31f9febfd0"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Jun 02 11:32:15 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:44:18 2011 -0700"
      },
      "message": "IB/mlx4: Add support for XRC QPs\n\nSupport the creation of XRC INI and TGT QPs.  To handle the case where\na CQ or PD is not provided, we allocate them internally with the xrcd.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "18abd5ea571608a7c726fc56e21d3e31f9febfd0",
      "tree": "e2694cadf06a995e658ec30f7a3bd22835dcda7a",
      "parents": [
        "012a8ff577f95211c6ffd3b77a94c34ebae009b6"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Jun 02 10:43:26 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:43:46 2011 -0700"
      },
      "message": "IB/mlx4: Add support for XRC SRQs\n\nAllow the user to create XRC SRQs.  This patch is based on a patch\nfrom Jack Morgenstrein \u003cjackm@dev.mellanox.co.il\u003e.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "012a8ff577f95211c6ffd3b77a94c34ebae009b6",
      "tree": "7d1e8d3ca131cc46ca12e879c4554870e0be76f2",
      "parents": [
        "2622e18ef407a8e8e3ddc3d6f0c77b756c493798"
      ],
      "author": {
        "name": "Sean Hefty",
        "email": "sean.hefty@intel.com",
        "time": "Thu Jun 02 09:01:33 2011 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Thu Oct 13 09:43:03 2011 -0700"
      },
      "message": "IB/mlx4: Add support for XRC domains\n\nSupport creating and destroying XRC domains.  Any sharing of the XRCD\nis managed above the low-level driver.\n\nSigned-off-by: Sean Hefty \u003csean.hefty@intel.com\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cfcde11c3d7ae175f49280bb6f913478c2f1bd8c",
      "tree": "1d6bc41c59035f791bd27f8d34fb95eb667a691f",
      "parents": [
        "6aea213a62122701891fe55cc3405d31b927cfde"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Wed Jun 15 14:49:57 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 21:04:36 2011 -0700"
      },
      "message": "IB/mlx4: Use flow counters on IBoE ports\n\nAllocate flow counter per Ethernet/IBoE port, and attach this counter\nto all the QPs created on that port.  Based on patch by Eli Cohen\n\u003celi@mellanox.co.il\u003e.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "f2a3f6a32cf64db1495b5ced8625b9a80bde44e5",
      "tree": "68508cf4a5f67e2380b6b6fa158bb776e3b69a91",
      "parents": [
        "98a13e487a3bdac8508e4dcb98d63385fabe6767"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Wed Jun 15 14:47:14 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 21:04:34 2011 -0700"
      },
      "message": "mlx4_core: Add network flow counters\n\nConnectX devices support a set of flow counters that can be attached\nto a set containing one or more QPs.  Each such counter tracks receive\nand transmit packets and bytes of these QPs.  This patch queries the\ndevice to check support for counters, handles initialization of the\nHCA to enable counters, and initializes a bitmap allocator to control\ncounter allocations.  Derived from patch by Eli Cohen \u003celi@mellanox.co.il\u003e.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "98a13e487a3bdac8508e4dcb98d63385fabe6767",
      "tree": "3f1abd2d7711e2ba2c7369aebca4f99b729ab7ee",
      "parents": [
        "ccf863219675aa86bebdd6a2806acb8176478e37"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Wed Jun 15 14:43:43 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 21:04:33 2011 -0700"
      },
      "message": "mlx4_core: Fix location of counter index in QP context struct\n\nFix the address handle portion of the QP context structure to have the\ncorrect bit location for the counter index field.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "ccf863219675aa86bebdd6a2806acb8176478e37",
      "tree": "3ef252eb9b51ae6beb0ce0fbe1babdada8ceefb3",
      "parents": [
        "52eafc68d601afd699b023201b0c6be5209f39ce"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Thu Jul 07 19:19:29 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 21:04:32 2011 -0700"
      },
      "message": "mlx4_core: Read extended capabilities into the flags field\n\nQuery another dword containing up to 32 extended device capabilities\nand merge it into struct mlx4_caps.flags.  Update the code that\nhandles the current extended device capabilities (e.g UDP RSS, WoL,\nvep steering, etc) to use the extended device cap flags field instead\nof a field per extended capability.  Initial patch done by Eli Cohen\n\u003celi@mellanox.co.il\u003e.\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "52eafc68d601afd699b023201b0c6be5209f39ce",
      "tree": "01a65357f2f39b07836c44f8b2cd490e5cd62853",
      "parents": [
        "6451c712fef3b13bb3fc5a41adadc539e0d06a42"
      ],
      "author": {
        "name": "Or Gerlitz",
        "email": "ogerlitz@mellanox.com",
        "time": "Wed Jun 15 14:41:42 2011 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "roland@purestorage.com",
        "time": "Mon Jul 18 21:04:32 2011 -0700"
      },
      "message": "mlx4_core: Extend capability flags to 64 bits\n\nThe latest firmware adds a second dword containing more device flags,\nso extend the device capabilities flags field from 32 to 64 bits.\nDerived from patch by Eli Cohen \u003celi@mellanox.co.il\u003e\n\nSigned-off-by: Or Gerlitz \u003cogerlitz@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003croland@purestorage.com\u003e\n"
    },
    {
      "commit": "c1b43dca137f2154845122417fba86d4bae67182",
      "tree": "36237582bfd5baf0e9a3ccea5377b949be289440",
      "parents": [
        "1679200f91da6a054b06954c9bd3eeed29b6731f"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Tue Mar 22 22:38:41 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 23 12:24:23 2011 -0700"
      },
      "message": "mlx4: Add blue flame support for kernel consumers\n\nUsing blue flame can improve latency by allowing the HW to more efficiently\naccess the WQE. This patch presents two functions that are used to allocate or\nrelease HW resources for using blue flame; the caller need to supply a struct\nmlx4_bf object when allocating resources. Consumers that make use of this API\nshould post doorbells to the UAR object pointed by the initialized struct\nmlx4_bf;\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1679200f91da6a054b06954c9bd3eeed29b6731f",
      "tree": "a447268debe479a257cfff4c7e5e86151eef6583",
      "parents": [
        "b12d93d63c3217f0ec923ff938b12a744e242ffa"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Tue Mar 22 22:38:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 23 12:24:22 2011 -0700"
      },
      "message": "mlx4_en: Enabling new steering\n\nThe mlx4_en module now uses the new steering mechanism.\nThe RX packets are now steered through the MCG table instead\nof Mac table for unicast, and default entry for multicast.\nThe feature is enabled through INIT_HCA\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0345584e0b8be3735a950d17c7e463db20c6ce27",
      "tree": "f49fd3824c1f3b620d456c40539f9b1b88832b69",
      "parents": [
        "725c89997e03d71b09ea3c17c997da0712b9d835"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Tue Mar 22 22:38:17 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 23 12:24:21 2011 -0700"
      },
      "message": "mlx4: generalization of multicast steering.\n\nThe same packet steering mechanism would be used both for IB and Ethernet,\nBoth multicasts and unicasts.\nThis commit prepares the general infrastructure for this.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "725c89997e03d71b09ea3c17c997da0712b9d835",
      "tree": "d141987aec9ae90d43e3f44e3facee921ec6f526",
      "parents": [
        "14c07b1358ede1664652bb9b28d9ace5fe6f7f92"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Tue Mar 22 22:38:07 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 23 12:24:20 2011 -0700"
      },
      "message": "mlx4_en: Reporting HW revision in ethtool -i\n\nHW revision is derived from device ID and rev id.\n\nSigned-off-by: Eugenia Emantayev \u003ceugenia@mellanox.co.il\u003e\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14c07b1358ede1664652bb9b28d9ace5fe6f7f92",
      "tree": "05fa72b9680e85923d938edd8e4963bbac0b629b",
      "parents": [
        "1fb9876e9bf895ea4127ff17180f1b2ab37771b6"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Tue Mar 22 22:37:59 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 23 12:24:19 2011 -0700"
      },
      "message": "mlx4: Wake on LAN support\n\nThe driver queries the FW for WOL support.\nEthtool get/set_wol is implemented accordingly.\nOnly magic packets are supported at the time.\n\nSigned-off-by: Igor Yarovinsky \u003cigory@mellanox.co.il\u003e\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b7ca5a928e2271bbc225e9e1ac1f22e9fbee54f",
      "tree": "8a24efdb4ceb6f28a8d49e942f80d397c06f4a5f",
      "parents": [
        "908222655b38005483d64385e06341a38647fdf1"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Tue Mar 22 22:37:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 23 12:24:18 2011 -0700"
      },
      "message": "mlx4: Changing interrupt scheme\n\nAdding a pool of MSI-X vectors and EQs that can be used explicitly by mlx4_core\ncustomers (mlx4_ib, mlx4_en). The consumers will assign their own names to the\ninterrupt vectors. Those vectors are not opened at mlx4 device initialization,\nopened by demand.\nChanged the max number of possible EQs according to the new scheme, no longer relies on\non number of cores.\nThe new functionality is exposed through mlx4_assign_eq() and mlx4_release_eq().\nCustomers that do not use the new API will get completion vectors as before.\n\nSigned-off-by: Markuze Alex \u003cmarkuze@mellanox.co.il\u003e\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da995a8aee044bc5d0847e19e351cd48a2cb8bcc",
      "tree": "000cb11c5e49e1bc91a2212ed5a2299f279c990b",
      "parents": [
        "4979d18fe105297f8f065743f31f8f735da8df2d"
      ],
      "author": {
        "name": "Aleksey Senin",
        "email": "alex@senin.name",
        "time": "Thu Dec 02 11:44:49 2010 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Jan 12 14:49:17 2011 -0800"
      },
      "message": "IB/mlx4: Handle protocol field in multicast table\n\nThe newest device firmware stores IB vs. Ethernet protocol in two bits\nin members_count field of multicast group table (0: Infiniband, 1:\nEthernet).  When changing the QP members count for a multicast group,\nit important not to reset this information.  When calling multicast\nattach first time, the protocol type should be specified.  In this\npatch we always set it IB, but in the future we will handle Ethernet\ntoo.  When looking for a QP, the protocol type shoud be checked too.\n\nSigned-off-by: Aleksey Senin \u003calekseys@voltaire.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "9e5fca251f44832cb996961048ea977f80faf6ea",
      "tree": "05d1df04502478ed71b78f63a861aa5cc67ef773",
      "parents": [
        "56083ab17e0075e538270823c374b59cc97e73b9",
        "116e9535fe5e00bafab7a637f306b110cf95cff5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:54:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 17:54:22 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (63 commits)\n  IB/qib: clean up properly if pci_set_consistent_dma_mask() fails\n  IB/qib: Allow driver to load if PCIe AER fails\n  IB/qib: Fix uninitialized pointer if CONFIG_PCI_MSI not set\n  IB/qib: Fix extra log level in qib_early_err()\n  RDMA/cxgb4: Remove unnecessary KERN_\u003clevel\u003e use\n  RDMA/cxgb3: Remove unnecessary KERN_\u003clevel\u003e use\n  IB/core: Add link layer type information to sysfs\n  IB/mlx4: Add VLAN support for IBoE\n  IB/core: Add VLAN support for IBoE\n  IB/mlx4: Add support for IBoE\n  mlx4_en: Change multicast promiscuous mode to support IBoE\n  mlx4_core: Update data structures and constants for IBoE\n  mlx4_core: Allow protocol drivers to find corresponding interfaces\n  IB/uverbs: Return link layer type to userspace for query port operation\n  IB/srp: Sync buffer before posting send\n  IB/srp: Use list_first_entry()\n  IB/srp: Reduce number of BUSY conditions\n  IB/srp: Eliminate two forward declarations\n  IB/mlx4: Signal node desc changes to SM by using FW to generate trap 144\n  IB: Replace EXTRA_CFLAGS with ccflags-y\n  ...\n"
    },
    {
      "commit": "116e9535fe5e00bafab7a637f306b110cf95cff5",
      "tree": "59ab246aae5c0fc871434a50ad1eb42fce0af0b4",
      "parents": [
        "fc4ec9bd82dbe08499d801f45a1d49e4c7b66b20",
        "97cb7e40c69618ba03030b467faf60dc3ee982ee",
        "ca7cf94f8bf77bf0dfb35b615d82ac76a0ed77ff",
        "aa1ad26089a90d5b7e2c908835ba6dc930eed019",
        "625fbd3a36d836efaaee4b6d9c2fcd25e3654624",
        "8ad330a002ffbc422f32a77398666832f0df8a3d",
        "c3aa9b186b95025d4ba4e90d6140c9887dfaae0a",
        "7454159d3c01371c1abed9d941044d95d2efde97",
        "d0d68b8693bd16bfbbc93b89f1d9f3351723307c",
        "52106bd24c8d5e8a26b98ad93a755b0827029860",
        "2ca78d23a758d3299abd128556debff4c1fefb16",
        "19081f31ce941a22bfc681d18ae2d31e31084df5"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 26 16:09:11 2010 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Tue Oct 26 16:09:11 2010 -0700"
      },
      "message": "Merge branches \u0027amso1100\u0027, \u0027cma\u0027, \u0027cxgb3\u0027, \u0027cxgb4\u0027, \u0027ehca\u0027, \u0027iboe\u0027, \u0027ipoib\u0027, \u0027misc\u0027, \u0027mlx4\u0027, \u0027nes\u0027, \u0027qib\u0027 and \u0027srp\u0027 into for-next\n"
    },
    {
      "commit": "4c3eb3ca13966508bcb64f39dcdef48be22f1731",
      "tree": "67fde746d256e38421c682501974868971507680",
      "parents": [
        "af7bd463761c6abd8ca8d831f9cc0ac19f3b7d4b"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Thu Aug 26 17:19:22 2010 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 25 10:20:39 2010 -0700"
      },
      "message": "IB/mlx4: Add VLAN support for IBoE\n\nThis patch allows IBoE traffic to be encapsulated in 802.1Q tagged\nVLAN frames.  The VLAN tag is encoded in the GID and derived from it\nby a simple computation.\n\nThe netdev notifier callback is modified to catch VLAN device\naddition/removal and the port\u0027s GID table is updated to reflect the\nchange, so that for each netdevice there is an entry in the GID table.\nWhen the port\u0027s GID table is exhausted, GID entries will not be added.\nOnly children of the main interfaces can add to the GID table; if a\nVLAN interface is added on another VLAN interface (e.g. \"vconfig add\neth2.6 8\"), then that interfaces will not add an entry to the GID\ntable.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "fa417f7b520ee60b39f7e23528d2030af30a07d1",
      "tree": "8eca6ed53c985616e990b57b99a21714ed011534",
      "parents": [
        "7ac870ed7d2316587ec06747c28cb9f44f67997d"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Sun Oct 24 21:08:52 2010 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 25 10:20:39 2010 -0700"
      },
      "message": "IB/mlx4: Add support for IBoE\n\nAdd support for IBoE to mlx4_ib.  The bulk of the code is handling the\nnew address vector fields; mlx4 needs the MAC address of a remote node\nto include it in a WQE (for datagrams) or in the QP context (for\nconnected QPs).  Address resolution is done by assuming all unicast\nGIDs are either link-local IPv6 addresses.\n\nMulticast group attach/detach needs to update the NIC\u0027s multicast\nfilters; but since attaching a QP to a multicast group can be done\nbefore the QP is bound to a port, for IBoE we need to keep track of\nall multicast groups that a QP is attached too before it transitions\nfrom INIT to RTR (since it does not have a port in the INIT state).\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\n\n[ Many things cleaned up and otherwise monkeyed with; hope I didn\u0027t\n  introduce too many bugs.  - Roland ]\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "96dfa684c85d24b697f865f37a4f0c8678fc86e9",
      "tree": "554d13942b25385e9fa053de0991a2ef8e68e1be",
      "parents": [
        "33c87f0af60146b375220809c1cb745ac1a86edf"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Wed Oct 20 21:57:02 2010 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 25 10:20:39 2010 -0700"
      },
      "message": "mlx4_core: Update data structures and constants for IBoE\n\nAdd fields to hardware data structures and add new constants required for IBoE\nsupport.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n\n"
    },
    {
      "commit": "33c87f0af60146b375220809c1cb745ac1a86edf",
      "tree": "f22e0a1f8fbe6b05f2f15c517d3b8e9b77581662",
      "parents": [
        "2420b60b1dc4ed98cb1788e928bc57ff2efa1a8d"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Thu Aug 26 14:18:43 2010 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 25 10:20:39 2010 -0700"
      },
      "message": "mlx4_core: Allow protocol drivers to find corresponding interfaces\n\nAdd a mechanism for mlx4 protocol drivers to get a pointer to other\ndrivers\u0027s device objects.  For this, an exported function,\nmlx4_get_protocol_dev() is added, which allows a driver to get some\nother driver\u0027s device based on the protocol that the driver\nimplements.  Two protocols are added: MLX4_PROTOCOL_IB and\nMLX4_PROTOCOL_EN.\n\nThis will be used in mlx4 IBoE support so that mlx4_ib can find the\ncorresponding mlx4_en netdev.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\n\n[ Clean up and rename a few things.  - Roland ]\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "d0d68b8693bd16bfbbc93b89f1d9f3351723307c",
      "tree": "805552db83354bff13841e523e502a0e689d1643",
      "parents": [
        "5a0fd09428e47fb08d5a887515d92bb2447f4b65"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Mon Oct 04 12:11:34 2010 +0000"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Sat Oct 23 13:53:09 2010 -0700"
      },
      "message": "IB/mlx4: Signal node desc changes to SM by using FW to generate trap 144\n\nThe Node Description cannot be changed via MADs (it is read-only).\nUntil now, it was changed in the driver via sysfs, and the new Node\nDescription was simply inserted by the driver into MAD responses\n(replacing the description returned by FW).\n\nSystem startup scripts use the sysfs interface to change the node\ndescription at driver startup to show the hostname, etc. However, this\nhas a race condition: the SM could discover the original FW node\ndescription rather than the system-specific description if it queried the\nport before the startup scripts finish running.\n\nFor mlx4, we fix this with a new FW command (SET_NODE) that allows\npassing the new node description to FW.  When this command is invoked,\nFW sends a trap 144 to the SM.  When it gets this trap, the SM can\nquery the node to obtain the new node description -- thus eliminating\nthe effects of the race.\n\nThis patch simply calls SET_NODE command when a new node description\nis entered via sysfs (thus causing trap 144 to be issued by the FW).\nWe ignore all failures of the SET_NODE command (including those caused\nby using a device FW that predates the SET_NODE command), since in\nthat case things work just as before.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "5a0fd09428e47fb08d5a887515d92bb2447f4b65",
      "tree": "83a6642cb0dfd99dff733dde7b4c7aa40df2d920",
      "parents": [
        "0498628f974d4132ba34b06fc24786a00401b79c"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@dev.mellanox.co.il",
        "time": "Thu Oct 07 16:24:16 2010 +0200"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Oct 11 14:33:17 2010 -0700"
      },
      "message": "IB/mlx4: Limit size of fast registration WRs\n\nFix the limit on the size of max fast registration WRs that can be\nposted to match hardware capabilities.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "0533943c5c45cce2e26432bf0a6b8e114757c897",
      "tree": "8405db10a70b0a2a9f4c04528e4bcffdbb7189c6",
      "parents": [
        "d7e1a487d31933deba742c1bd3ffe0f73220b729"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Tue Aug 24 03:46:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 24 14:57:09 2010 -0700"
      },
      "message": "mlx4_en: UDP RSS support\n\nAdding capability for RSS for UDP traffic, hashing is done based on\nIP addresses and UDP port number.\nThe support depends on HW/FW capabilities.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7699517db435fd24143bd32dd644275e3eeb4c86",
      "tree": "e39bad6758eb4172cd4bafe481803c8f752a2630",
      "parents": [
        "e7c1c2c46201e46f8ce817196507d2ffd3dafd8e"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Tue Aug 24 03:46:23 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 24 14:54:51 2010 -0700"
      },
      "message": "mlx4_en: Fixing report in Ethtool get_settings\n\nThe report now based on query from FW, giving the correct tranciever type\nand link speed.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e7c1c2c46201e46f8ce817196507d2ffd3dafd8e",
      "tree": "33579da64d2c5dc4502518496097dcf9737e9eb4",
      "parents": [
        "3005ad40b95168aad530f1179cff47411b3ea8da"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Tue Aug 24 03:46:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 24 14:54:51 2010 -0700"
      },
      "message": "mlx4_en: Added self diagnostics test implementation\n\nThe selftest includes 5 features:\n1. Interrupt test: Executing commands and receiving command completion\n   on all our interrupt vectors.\n2. Link test: Verifying we are connected to valid link partner.\n3. Speed test: Check that we negotiated link speed correctly.\n4. Registers test: Activate HW health check command.\n5. Loopback test: Send a packet on loopback interface and catch it on RX side.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6fa8f719844b8455033e295f720e739c1dc3804a",
      "tree": "f3080e38beb16b836ec5eb3ba6cb99dfc07316a0",
      "parents": [
        "5e80ba8ff0bd33ff4af2365969a231cbdb98cafb"
      ],
      "author": {
        "name": "Vladimir Sokolovsky",
        "email": "vlad@mellanox.co.il",
        "time": "Wed Apr 14 17:23:39 2010 +0300"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Apr 21 16:37:49 2010 -0700"
      },
      "message": "IB/mlx4: Add support for masked atomic operations\n\nAdd support for masked atomic operations (masked compare and swap,\nmasked fetch and add).\n\nSigned-off-by: Vladimir Sokolovsky \u003cvlad@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "417608c20a4c8397bc5307d949ec01ea0a0dd8e5",
      "tree": "9986edf24a8d52fdfc5f51b2cb50f56c4eeb0c6c",
      "parents": [
        "ecdc428e4c5d821a07baf4f8b1718faf67b9026f"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Thu Nov 12 11:19:44 2009 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Thu Nov 12 11:19:44 2009 -0800"
      },
      "message": "IB/mlx4: Remove limitation on LSO header size\n\nCurrent code has a limitation: an LSO header is not allowed to cross a\n64 byte boundary.  This patch removes this limitation by setting the\nWQE RR for large headers thus allowing LSO headers of any size.  The\nextra buffer reserved for MLX4_IB_QP_LSO QPs has been doubled, from 64\nto 128 bytes, assuming this is reasonable upper limit for header\nlength.  Also, this patch will cause IB_DEVICE_UD_TSO to be set only\nfor HCA FW versions that set MLX4_DEV_CAP_FLAG_BLH; e.g. FW version\n2.6.000 and higher.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "2ac6bf4ddc87c3b6b609f8fa82f6ebbffeac12f4",
      "tree": "7de468eac9f948f85faebb2f86efbfd66737d8d9",
      "parents": [
        "ab6bf42e2339580b5d87746d0ff4da4b1578b03e"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Fri Jun 05 10:36:24 2009 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jun 05 10:36:24 2009 -0700"
      },
      "message": "IB/mlx4: Add strong ordering to local inval and fast reg work requests\n\nThe ConnectX Programmer\u0027s Reference Manual states that the \"SO\" bit\nmust be set when posting Fast Register and Local Invalidate send work\nrequests.  When this bit is set, the work request will be executed\nonly after all previous work requests on the send queue have been\nexecuted.  (If the bit is not set, Fast Register and Local Invalidate\nWQEs may begin execution too early, which violates the defined\nsemantics for these operations)\n\nThis fixes the issue with NFS/RDMA reported in\n\u003chttp://lists.openfabrics.org/pipermail/general/2009-April/059253.html\u003e\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "ab6bf42e2339580b5d87746d0ff4da4b1578b03e",
      "tree": "670b1e1168e2a89ad782879154c9cdc9785b1c4c",
      "parents": [
        "210af919c949a7d6bd330916ef376cec2907d81e"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Wed May 27 14:38:34 2009 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed May 27 14:38:34 2009 -0700"
      },
      "message": "mlx4_core: Add module parameter for number of MTTs per segment\n\nThe current MTT allocator uses kmalloc() to allocate a buffer for its\nbuddy allocator, and thus is limited in the amount of MTT segments\nthat it can control.  As a result, the size of memory that can be\nregistered is limited too.  This patch uses a module parameter to\ncontrol the number of MTT entries that each segment represents,\nallowing more memory to be registered with the same number of\nsegments.\n\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "27bf91d6a0d5a9c7224e8687754249bba67dd4cf",
      "tree": "55c253fa4438ea29d73f072a88dff5fb74e2ca4e",
      "parents": [
        "793730bfb6711d6d14629e63845c25a3c14d205e"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Wed Mar 18 19:45:11 2009 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Mar 18 19:45:11 2009 -0700"
      },
      "message": "mlx4_core: Add link type autosensing\n\nWhen a port\u0027s link is down (except to driver restart) and the port is\nconfigured for auto sensing, we try to sense port link type (Ethernet\nor InfiniBand) in order to determine how to initialize the port.  If\nthe port type needs to be changed, all mlx4 for the device interfaces\nare unregistered and then registered again with the new port\ntypes.  Sensing is done with intervals of 3 seconds.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "b8dd786f9417e5885929bfe33a235c76a9c1c569",
      "tree": "16b38c672980d142ffa0ac0ccdeb4af19c20cc31",
      "parents": [
        "061e41fdb5047b1fb161e89664057835935ca1d2"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Mon Dec 22 07:15:03 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Dec 22 07:15:03 2008 -0800"
      },
      "message": "mlx4_core: Add support for multiple completion event vectors\n\nWhen using MSI-X mode, create a completion event queue for each CPU.\nReport the number of completion EQs in a new struct mlx4_caps member,\nnum_comp_vectors, and extend the mlx4_cq_alloc() interface with a\nvector parameter so that consumers can specify which completion EQ\nshould be used to report events for the CQ being created.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "9a5aa622dd4cd22b5e0fe83e4a9c0c768d4e2dea",
      "tree": "95e975a4959a890bd1050645b04488272aa4643c",
      "parents": [
        "4ffaf869c7780bbdfc11291e5fd4b61dde662b1c"
      ],
      "author": {
        "name": "Jack Morgenstein",
        "email": "jackm@dev.mellanox.co.il",
        "time": "Fri Nov 28 21:29:46 2008 -0800"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Nov 28 21:29:46 2008 -0800"
      },
      "message": "mlx4_core: Save/restore default port IB capability mask\n\nCommit 7ff93f8b (\"mlx4_core: Multiple port type support\") introduced\nsupport for different port types.  As part of that support, SET_PORT\nis invoked to set the port type during driver startup.  However, as a\nside-effect, for IB ports the invocation of this command also sets the\nport\u0027s capability mask to zero (losing the default value set by FW).\n\nTo fix this, get the default ib port capabilities (via a MAD_IFC Port\nInfo query) during driver startup, and save them for use in the\nmlx4_SET_PORT command when setting the port-type to Infiniband.\n\nThis patch fixes problems with subnet manager (SM) failover such as\n\u003chttps://bugs.openfabrics.org/show_bug.cgi?id\u003d1183\u003e, which occurred\nbecause the IsTrapSupported bit in the capability mask was zeroed.\n\nSigned-off-by: Jack Morgenstein \u003cjackm@dev.mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "7ff93f8b7ecbc36e7ffc5c11a61643821c1bfee5",
      "tree": "4b38e1ead8b27a480cc766f6927dccf5b63793ae",
      "parents": [
        "2a2336f8228292b8197f4187e54b0748903e6645"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Wed Oct 22 15:38:42 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Oct 22 15:38:42 2008 -0700"
      },
      "message": "mlx4_core: Multiple port type support\n\nMulti-protocol adapters support different port types.  Each consumer\nof mlx4_core queries for supported port types; in particular mlx4_ib\ncan no longer assume that all physical ports belong to it.  Port type\nis configured through a sysfs interface.  When the type of a port is\nchanged, all mlx4 interfaces are unregistered, and then registered\nagain with the new port types.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "2a2336f8228292b8197f4187e54b0748903e6645",
      "tree": "8c54c6d594a055bb5e0a83b2c9c8c2f6fcc03d22",
      "parents": [
        "b79acb49de6c2ab9ff0245f0f2b573d48b9a2d93"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Wed Oct 22 11:44:46 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Oct 22 11:44:46 2008 -0700"
      },
      "message": "mlx4_core: Ethernet MAC/VLAN management\n\nAdd support for managing MAC and VLAN filters for each port.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: Oren Duer \u003coren@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "b79acb49de6c2ab9ff0245f0f2b573d48b9a2d93",
      "tree": "59e824371b2ba25b2806a6077ef26a767d2e35ae",
      "parents": [
        "93fc9e1bb6507dde945c2eab68c93e1066ac3691"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Wed Oct 22 10:56:48 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Oct 22 10:56:48 2008 -0700"
      },
      "message": "mlx4_core: Get ethernet MTU and default address from firmware\n\nGet maximum ethernet MTU and default MAC address from the firmware\nQUERY_DEV_CAP command.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "93fc9e1bb6507dde945c2eab68c93e1066ac3691",
      "tree": "aa495ec31b7372580f9ec50acead1d170fd70aab",
      "parents": [
        "a3cdcbfa8fb1fccfe48d359da86e99546610c562"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Wed Oct 22 10:25:29 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Oct 22 10:25:29 2008 -0700"
      },
      "message": "mlx4_core: Support multiple pre-reserved QP regions\n\nFor ethernet support, we need to reserve QPs for the ethernet and\nfibre channel driver.  The QPs are reserved at the end of the QP\ntable.  (This way we assure that they are aligned to their size)\n\nWe need to consider these reserved ranges in bitmap creation, so we\nextend the mlx4 bitmap utility functions to allow reserved ranges at\nboth the bottom and the top of the range.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "a3cdcbfa8fb1fccfe48d359da86e99546610c562",
      "tree": "a25715b6e9169568c53f80dc9333e024f389b383",
      "parents": [
        "f6bccf695431da0e9bd773550ae91b8cb9ffb227"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Fri Oct 10 12:01:37 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Oct 10 12:01:37 2008 -0700"
      },
      "message": "mlx4_core: Add QP range reservation support\n\nTo allow allocating an aligned range of consecutive QP numbers, add an\ninterface to reserve an aligned range of QP numbers and have the QP\nallocation function always take a QP number.\n\nThis will be used for RSS support in the mlx4_en Ethernet driver and\nalso potentially by IPoIB RSS support.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "29bdc88384c2b24e37e5760df0dc898546083d6b",
      "tree": "9d8fe16ac4728ab669f81a763effda21301d9ddf",
      "parents": [
        "c9257433f2eaf8803a1f3d3be5d984232db41ffe"
      ],
      "author": {
        "name": "Vladimir Sokolovsky",
        "email": "vlad@mellanox.co.il",
        "time": "Mon Sep 15 14:25:23 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Sep 15 14:25:23 2008 -0700"
      },
      "message": "IB/mlx4: Fix up fast register page list format\n\nByte swap the addresses in the page list for fast register work requests\nto big endian to match what the HCA expectx.  Also, the addresses must\nhave the \"present\" bit set so that the HCA knows it can access them.\nOtherwise the HCA will fault the first time it accesses the memory\nregion.\n\nSigned-off-by: Vladimir Sokolovsky \u003cvlad@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "f780a9f119caa48088b230836a7fa73d1096de7c",
      "tree": "513fb3aa4342a481aa1f4101675ea2e9c41bc28a",
      "parents": [
        "6e86841d05f371b5b9b86ce76c02aaee83352298"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Wed Aug 06 20:14:06 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Wed Aug 06 20:14:06 2008 -0700"
      },
      "message": "mlx4_core: Add ethernet fields to CQE struct\n\nAdd ethernet-related fields to struct mlx4_cqe so that the mlx4_en\nethernet NIC driver can share the same definition.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "25c94d010a8ae8605dc4d5453e0c82fa97da5d12",
      "tree": "ff63c2a3dd771040aa3d13fe609fb95e838e2468",
      "parents": [
        "fb2e405fc1fc8b20d9c78eaa1c7fd5a297efde43"
      ],
      "author": {
        "name": "Yevgeny Petrilin",
        "email": "yevgenyp@mellanox.co.il",
        "time": "Fri Jul 25 10:30:06 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Fri Jul 25 10:30:06 2008 -0700"
      },
      "message": "mlx4_core: Add VLAN tag field to WQE control segment struct\n\nAdd fields for VLAN tag and insert VLAN tag flag to the control\nsection struct.  These fields will be used for sending ethernet\npackets.\n\nSigned-off-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    }
  ],
  "next": "95d04f0735b4fc837bff9aedcc3f3efb20ddc3d1"
}
