<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Vlad,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Please pull the following patches from ~mmarciniszyn/scm/ofed_1_6/linux-2.6.   These are qib patches missing from the “37” kernel that are upstream.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks!<o:p></o:p></p>
<p class="MsoNormal">Mike<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit e985f7c9517a8793c19100c121ca08919e27c623<o:p></o:p></p>
<p class="MsoNormal">Author: Mitko Haralanov <mitko@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:31:20 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: Set default LE2 value for active cables to 0<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    For active and far-EQ cables use an LE2 value of 0 for<o:p></o:p></p>
<p class="MsoNormal">    improved SI.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mitko Haralanov <mitko@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit c264fd1eb45761790df8e44215864ca9e9616dee<o:p></o:p></p>
<p class="MsoNormal">Author: Mitko Haralanov <mitko@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:30:02 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: Return correct MAD when setting link width to 255<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Fix a bug which cause the driver to return incorrect MADs<o:p></o:p></p>
<p class="MsoNormal">    as a response to Set(PortInfo) which sets the link width<o:p></o:p></p>
<p class="MsoNormal">    to 0xFF or link speed to 0xF.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mitko Haralanov <mitko@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit f3187875316428670617951c62ef4657b41203a4<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:28:53 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: Prevent double completions after a timeout or RNR error<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    There is a double completion associated with error handling<o:p></o:p></p>
<p class="MsoNormal">    for RC QP's.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    The sequence is:<o:p></o:p></p>
<p class="MsoNormal">    - The do_rc_ack() routine fields an RNR nack and there are 0 rnr_retries<o:p></o:p></p>
<p class="MsoNormal">    configured on the QP.<o:p></o:p></p>
<p class="MsoNormal">    - qib_error_qp() stops the pending timer<o:p></o:p></p>
<p class="MsoNormal">    - qib_rc_send_complete() is called from sdma_complete()<o:p></o:p></p>
<p class="MsoNormal">    - qib_rc_send_complete() starts the timer because the msb of the psn just<o:p></o:p></p>
<p class="MsoNormal">    completed says and ack is needed.<o:p></o:p></p>
<p class="MsoNormal">    - a bunch of flushes occur as ipoib posts wqe's to an error'ed qp<o:p></o:p></p>
<p class="MsoNormal">    - rc_timeout() calls qib_restart_rc()<o:p></o:p></p>
<p class="MsoNormal">    - qib_restart_rc() calls qib_send_complete() with a IB_WC_RETRY_EXC_ERR on a<o:p></o:p></p>
<p class="MsoNormal">    wqe that has already been completed in the past<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    The fix avoids starting the timer since another packet will never<o:p></o:p></p>
<p class="MsoNormal">    arrive.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit 14c7c213e6420e9deb60f2ed8aa32b40cb12046e<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:28:04 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: Kernel BUG at include/linux/timer.h:82<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    The following panic BUG_ON occurs during qib testing:<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Kernel BUG at include/linux/timer.h:82<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    RIP  [<ffffffff881f7109>] :ib_qib:start_timer+0x73/0x89<o:p></o:p></p>
<p class="MsoNormal">     RSP <ffffffff80425bd0><o:p></o:p></p>
<p class="MsoNormal">     <0>Kernel panic - not syncing: Fatal exception<o:p></o:p></p>
<p class="MsoNormal">     <0>Dumping qib trace buffer from panic<o:p></o:p></p>
<p class="MsoNormal">    qib_set_lid INFO: IB0:1 got a lid: 0xf8<o:p></o:p></p>
<p class="MsoNormal">    Done dumping qib trace buffer<o:p></o:p></p>
<p class="MsoNormal">    BUG: warning at kernel/panic.c:137/panic() (Tainted: G<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    The flaw is due to a missing state test when processing responses that results<o:p></o:p></p>
<p class="MsoNormal">    in an add_timer() call when the same timer is already queued.  This code was<o:p></o:p></p>
<p class="MsoNormal">    executing in parallel with a QP destroy on another CPU that had changed the state<o:p></o:p></p>
<p class="MsoNormal">    to reset, but the missing test caused to response handling code to run on into<o:p></o:p></p>
<p class="MsoNormal">    the panic.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit 9b78fd8c9e0d99e77da4d23cf62ec580c2010033<o:p></o:p></p>
<p class="MsoNormal">Author: Mitko Haralanov <mitko@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:26:08 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: Hold link for Tx SERDES settings<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Hold the IB link at DISABLED until we get the correct TX<o:p></o:p></p>
<p class="MsoNormal">    settings on mezz boards.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mitko Haralanov <mitko@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit 831e6f3114a2f0ec987c3dcf29e2be155c5bd91c<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:24:21 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: fix refcount leak in lkey/rkey validation<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    The mr optimization introduced a reference count leak on an exception test.<o:p></o:p></p>
<p class="MsoNormal">    The lock/refcount manipulation is moved down and the problematic exception<o:p></o:p></p>
<p class="MsoNormal">    test now calls bail to insure that the lock is released.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Additional fixes as suggested by Ralph Campbell <ralph.campbell@qlogic.org>:<o:p></o:p></p>
<p class="MsoNormal">    - reduce lock scope of dma regions<o:p></o:p></p>
<p class="MsoNormal">    - use explicit values on returns vs. automatic ret value<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit ca19f1843a7822459c1dc9008bbe2a2327522af4<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:23:32 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: Improve SERDES tunning on QMH boards<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Improve the QMH SERDES tunning on initial driver load by<o:p></o:p></p>
<p class="MsoNormal">    removing the delay after SERDES init and having the driver<o:p></o:p></p>
<p class="MsoNormal">    go through a link state change.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit 2e517e1654323ba675563b472a57b2782a5102be<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:22:42 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: Add a delay to allow SERDES to initialize<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Adding a small delay would allow the SERDES to adapt better,<o:p></o:p></p>
<p class="MsoNormal">    which would improve the link negotiation.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit 8d1c5109a9e78d75c057976375c5506e0be5c8d6<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:21:51 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: Un-necessary delayed completions on RC connection<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Currently on receipt of a response message (ACKs, RDMA Response, Atomic<o:p></o:p></p>
<p class="MsoNormal">    Responses etc.) if the SDMA completion counter is not advanced the<o:p></o:p></p>
<p class="MsoNormal">    driver delays the completion of the WQE. In most cases this is overly<o:p></o:p></p>
<p class="MsoNormal">    pessimistic as the response (ACK) to a previously transmitted send<o:p></o:p></p>
<p class="MsoNormal">    implies that the send is complete. Ensure that SDMA queue is progressed<o:p></o:p></p>
<p class="MsoNormal">    appropriately before determining if a send has delayed completions.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit b72e20dba2d7aa7f9962197ecb08b5c4ae06b7d9<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:21:08 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: Issue pre-emptive NAKs on eager buffer overflow<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Under congestion resulting in eager buffer overflow attempt to send<o:p></o:p></p>
<p class="MsoNormal">    pre-emptive NAKs if header queue entries with TID errors are generated and<o:p></o:p></p>
<p class="MsoNormal">    a valid header is present. This prevents long timeouts and flow restarts if<o:p></o:p></p>
<p class="MsoNormal">    a trailing set of packets are dropped due to eager overflows. Pre-emptive<o:p></o:p></p>
<p class="MsoNormal">    NAKs are currently only supported for RDMA Writes.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit d4b42bf94984b6a8396b2464f2804e4a42559708<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:20:09 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: RDMA lkey/rkey validation is inefficient for large MRs<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    The current code loops during rkey/lkey validiation to isolate the mr<o:p></o:p></p>
<p class="MsoNormal">    for the RDMA, which is expensive when the current operation is<o:p></o:p></p>
<p class="MsoNormal">    inside a very large memory region.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    This fix optimizes rkey/lkey validation routines for user memory regions and<o:p></o:p></p>
<p class="MsoNormal">    fast memory regions.  The mr entry can be isolated by shifts/mods instead of<o:p></o:p></p>
<p class="MsoNormal">    looping.  The existing loop is preserved for phys memory regions for now.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit e2a778f9cb26cc710fdf62b1697a48c655538488<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:19:31 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: change qpn increment<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Changing from +1 to +2 allows for better QP<o:p></o:p></p>
<p class="MsoNormal">    distribution across receive contexts.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit 33cc93fe88f14c40d6755c0ac7522632708d42a3<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:18:34 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: adding fix missing from earlier patch<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    rcv/error race fix was missing part<o:p></o:p></p>
<p class="MsoNormal">    of a fix that makes merges impossible.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit d515d9934866cfce923b35e519488cf1719dbac7<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:17:45 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: change rcv queue/qpn selection<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    The basic idea is that on SusieQ, the difficult part of mapping QPN to context<o:p></o:p></p>
<p class="MsoNormal">    is handled by the mapping registers so the generic QPN allocation doesn't need<o:p></o:p></p>
<p class="MsoNormal">    to worry about chip specifics. For Monty and Linda, there is no mapping table<o:p></o:p></p>
<p class="MsoNormal">    so the qpt->mask (same as dd->qpn_mask), is used to see if the QPN to context<o:p></o:p></p>
<p class="MsoNormal">    falls within [zero..dd->n_krcv_queues).<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit 0572c6013be7e6afb3d8253d081650195deef065<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:16:51 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: interrupt mitigation fix<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    For SusieQ we need to write to the interrupt timer register before updating the<o:p></o:p></p>
<p class="MsoNormal">    header queue head with interrupt count. This is to ensure that the timer is<o:p></o:p></p>
<p class="MsoNormal">    enabled properly and a receive available interrupt is delivered else this<o:p></o:p></p>
<p class="MsoNormal">    interrupt can be lost if the receiver header/eager queues are full before the<o:p></o:p></p>
<p class="MsoNormal">    timer is enabled.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit b809eb206d3bcce2f80278c2e8e68193c288b1d3<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:16:03 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: Avoid duplicate writes to the rcv head register<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Avoid duplicate writes to the head register as this can lead to lost interrupts<o:p></o:p></p>
<p class="MsoNormal">    if the context goes full before the second write is done.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit eaef50600af2ed692cde5887ff1127e5e5d1f16c<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:14:52 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: Add a few new SERDES tunings<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Add new SERDES tuning to aid manufacturing.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit d5c92e47e8fdcbb4af723852ac206110426aee84<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:13:39 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: Reset packet list after freeing<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Reset the list pointers after freeing the SDMA packet<o:p></o:p></p>
<p class="MsoNormal">    list. This is done to any potential double-free cases.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit 722f88848671c40b964b3c956e0f633368a3ee6b<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:12:30 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: New SERDES init routine and improvements to SI quality<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Implement new SERDES initialization routine and improvements<o:p></o:p></p>
<p class="MsoNormal">    to SI - disable LE1 adaptation, disable LOS after link-up, set<o:p></o:p></p>
<p class="MsoNormal">    better SERDES parameters.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit b9594f38a3bb8ec10965a20e286a32bb1b7abced<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:11:30 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: clear WAIT_SEND flags when setting QP to error state<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    If these flags are set when the QP is transitioned to the error<o:p></o:p></p>
<p class="MsoNormal">    state, it will wait until the flags are cleared, which may never<o:p></o:p></p>
<p class="MsoNormal">    happen if the error transition is due to a link going down.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit 5e98328bdf49f4cb9bc4529590ac2e90d89e271a<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:10:29 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: fix context allocation with multiple HCAs<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    The driver was incorrectly choosing HCAs on which to allocate<o:p></o:p></p>
<p class="MsoNormal">    new user contexts based on overall count of usable ports<o:p></o:p></p>
<p class="MsoNormal">    regardless whether the usable port was on the currently selected<o:p></o:p></p>
<p class="MsoNormal">    HCA.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit a19bcfc7e13e34ffee1916fa34b69689a113ceab<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:08:47 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: Multi Florida HCA Hosts panic on reboot<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Add check when setting configured contexts that the value<o:p></o:p></p>
<p class="MsoNormal">    does not exceed the number of contexts allocated for the<o:p></o:p></p>
<p class="MsoNormal">    card. If the value exceeds the already allocated count,<o:p></o:p></p>
<p class="MsoNormal">    set it to what is already allocated.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit 4ccdadcedc76abe1f89aad14c5783dfb8fc89b65<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 09:07:36 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: Handle transitions from ACTIVE_DEFERRED to ACTIVE better<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    When the link transitions from ACTIVE_DEFERRED to ACTIVE, the driver<o:p></o:p></p>
<p class="MsoNormal">    only sees the ACTIVE state. With this change, it will check whether<o:p></o:p></p>
<p class="MsoNormal">    the state was already ACTIVE and if so, it will not generated IB<o:p></o:p></p>
<p class="MsoNormal">    events and will not clear symbol error counts.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit fbd9828c27e4ca320cc27b954fed4affe80a8c48<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 08:38:04 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: UD send with immediate Rx completion has wrong size<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    The code to generate receive completion entries for UD send with<o:p></o:p></p>
<p class="MsoNormal">    immediate contains the wrong payload length. This is because when<o:p></o:p></p>
<p class="MsoNormal">    the code to compute the payload size was moved, the value of hdrsize<o:p></o:p></p>
<p class="MsoNormal">    didn't get moved too.  The fix is to update tlen directly.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit 9bb69c0b3e8538cf3d1659d480a3d2b2c249fe79<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 08:36:29 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: set port physical state even if other fields are invalid<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    The IBTA vol. 1 release 1.2.1 spec. says:<o:p></o:p></p>
<p class="MsoNormal">    C14-24.2.1: If PortInfo:Portstate=Down, then a SubnSet(PortInfo)<o:p></o:p></p>
<p class="MsoNormal">    shall make any changes it specifies to PortInfo:PortPhysicalState;<o:p></o:p></p>
<p class="MsoNormal">    any other result is vendor-dependent.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    The patch changes the error handling so that the reply says there<o:p></o:p></p>
<p class="MsoNormal">    are invalid fields but still attempts to set fields that are<o:p></o:p></p>
<p class="MsoNormal">    in range including PortInfo:PortPhysicalState.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit a760de02de0b1ddd2462c1e26224d427834ef9a6<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 08:35:26 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: generate completion callback on errors<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    According to IBTA vol. 1, C11-30.1.1, a notification callback is<o:p></o:p></p>
<p class="MsoNormal">    invoked if the CQ is armed for the next solicited completion event<o:p></o:p></p>
<p class="MsoNormal">    or an error completion. The error case wasn't being generated<o:p></o:p></p>
<p class="MsoNormal">    previously.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit 567b16d5a1e199535b5f317f79af1732b6b9be27<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 08:34:17 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: add thresholds to VendorPortCounters PMA operation<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    This adds thresholds to be specified in the VendorPortCounters PMA<o:p></o:p></p>
<p class="MsoNormal">    operation.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    The reserved fields are now defined in the appropriate header file.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit a87e1ee80cf7c83c55059f1e664ce8ae50d4ee90<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 08:32:54 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: add support for the new QME7362 card<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    From: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    This patch adds support to recognize another board variation<o:p></o:p></p>
<p class="MsoNormal">    named QME7362.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit 2a306aed784bbf5caa3035697c70fba044581eec<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 08:31:14 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: add receive header queue size module parameters<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    The receive header queue sizes need to modified to support<o:p></o:p></p>
<p class="MsoNormal">    performance tuning.  Three module parameters are added to<o:p></o:p></p>
<p class="MsoNormal">    support this.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">commit 51c069e6950ae01ad81842f28651b0cd585867a3<o:p></o:p></p>
<p class="MsoNormal">Author: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal">Date:   Mon Feb 28 08:29:41 2011 -0500<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    IB/qib: remove IB latency turnoff<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    This is required for hardware testing.<o:p></o:p></p>
<p class="MsoNormal">    <o:p></o:p></p>
<p class="MsoNormal">    Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<br>
<hr>
<font face="Arial" color="Gray" size="1">This message and any attached documents contain information from QLogic Corporation or its wholly-owned subsidiaries that may be confidential. If you are not the intended recipient, you may not read, copy, distribute,
 or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message.<br>
</font>
</body>
</html>