<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in mpt_debug.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>0bd9a5da - mpt: clean up empty lines in .c and .h files</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#0bd9a5da</link>
        <description>mpt: clean up empty lines in .c and .h files

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Tue, 01 Sep 2020 22:06:41 +0000</pubDate>
        <dc:creator>Mateusz Guzik &lt;mjg@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>718cf2cc - sys/dev: further adoption of SPDX licensing ID tags.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#718cf2cc</link>
        <description>sys/dev: further adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 2-Clause license, however the tool Iwas using misidentified many licenses so this was mostly a manual - errorprone - task.The Software Package Data Exchange (SPDX) group provides a specificationto make it easier for automated tools to detect and summarize well knownopensource licenses. We are gradually adopting the specification, notingthat the tags are considered only advisory and do not, in any way,superceed or replace the license texts.

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Mon, 27 Nov 2017 14:52:40 +0000</pubDate>
        <dc:creator>Pedro F. Giffuni &lt;pfg@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>ead3ad6b - Add PIM_EXTLUNS support to mpt(4).</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#ead3ad6b</link>
        <description>Add PIM_EXTLUNS support to mpt(4).Target mode is still limited to 256 LUNs due to the way driver is written,but initiator can now use full 8 byte LUN space.MFC after:	2 weeks

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Fri, 10 Mar 2017 14:44:59 +0000</pubDate>
        <dc:creator>Alexander Motin &lt;mav@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>4b847ffa - After r241858, remove the remainder of FreeBSD ~4 support from mpt(4).</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#4b847ffa</link>
        <description>After r241858, remove the remainder of FreeBSD ~4 support from mpt(4).MFC after:	1 week

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Mon, 22 Oct 2012 10:42:59 +0000</pubDate>
        <dc:creator>Marius Strobl &lt;marius@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>87e255ac - - Staticize functions as appropriate and comment out unused ones.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#87e255ac</link>
        <description>- Staticize functions as appropriate and comment out unused ones.- Sprinkle some const where appropriate.- Consistently use target_id_t for the target parameter of mpt_map_physdisk()  and mpt_is_raid_volume().- Fix some whitespace bugs.Approved by:	re (kib)

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Fri, 29 Jul 2011 18:35:10 +0000</pubDate>
        <dc:creator>Marius Strobl &lt;marius@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>5ab13afc - Correct spelling.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#5ab13afc</link>
        <description>Correct spelling.Submitted by:	brucec

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Fri, 22 Apr 2011 09:59:16 +0000</pubDate>
        <dc:creator>Marius Strobl &lt;marius@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>0e0521a1 - MFP4: principally to reapply tagged command support to FC and SAS cards.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#0e0521a1</link>
        <description>MFP4: principally to reapply tagged command support to FC and SAS cards.

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Thu, 07 Dec 2006 22:02:28 +0000</pubDate>
        <dc:creator>Matt Jacob &lt;mjacob@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>b4c618c0 - Fix config page writes to not strip out the attributes when you</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#b4c618c0</link>
        <description>Fix config page writes to not strip out the attributes when youactually go write the config page. This fixes the long standingproblem about updating NVRAM on Fibre Channel cards and seemsso far to not break SPI config page writes.Put back role setting into mpt. That is, you can set a desired rolefor mpt as a hint. On the next reboot, it&apos;ll pick that up and redothe NVRAM settings appropriately and warn you that this won&apos;t takeeffect until the next reboot. This saves people the step of havingto find a BIOS utilities disk to set target and/or initiator rolefor the MPT cards.

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Wed, 12 Jul 2006 07:48:50 +0000</pubDate>
        <dc:creator>Matt Jacob &lt;mjacob@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>ec5fe39d - Add acknowledgements to LSI-Logic for support</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#ec5fe39d</link>
        <description>Add acknowledgements to LSI-Logic for support

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Mon, 29 May 2006 20:34:28 +0000</pubDate>
        <dc:creator>Matt Jacob &lt;mjacob@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>a3116b5a - Get most of the way back to having Integrated Mirroring work</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#a3116b5a</link>
        <description>Get most of the way back to having Integrated Mirroring workagain- the addition of target mode support broke it massively.

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Fri, 26 May 2006 05:54:21 +0000</pubDate>
        <dc:creator>Matt Jacob &lt;mjacob@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>5e073106 - Fix some of the previus changes &apos;better&apos;.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#5e073106</link>
        <description>Fix some of the previus changes &apos;better&apos;.There&apos;s something strange going on with async events. They seemto be be treated differently for different Fusion implementations.Some will really tell you when it&apos;s okay to free the request thatstarted them.  Some won&apos;t. Very disconcerting.This is particularily bad when the chip (FC in this case) tells youin the reply that it&apos;s not a continuation reply, which means youcan free the request that its associated with. However, if you dothat, I&apos;ve found that additional async event replies come back forthat message context after you freed it. Very Bad Things Happen.Put in a reply register debounce. Warn about out of range contextindices. Use more MPILIB defines where possible. Replace bzero withmemset. Add tons more KASSERTS. Do a *lot* more request free listauditting and serial number usages. Get rid of the warning aboutthe short IOC Facts Reply.  Go back to 16 bits of context index.Do a lot more target state auditting as well. Make a tag outof not only the ioindex but the request index as well and worryless about keeping a full serial number.

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Sat, 01 Apr 2006 07:12:18 +0000</pubDate>
        <dc:creator>Matt Jacob &lt;mjacob@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>c87e3f83 - Some fairly major changes to this driver.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#c87e3f83</link>
        <description>Some fairly major changes to this driver.A) Fibre Channel Target Mode support mostly works(SAS/SPI won&apos;t be too far behind). I&apos;d say thatthis probably works just about as well as isp(4)does right now. Still, it and isp(4) and the wholetarget mode stack need a bit of tightening.B) The startup sequence has been changed so thatafter all attaches are done, a set of enable functionsare called. The idea here is that the attaches dowhatever needs to be done *prior* to a port beingenabled and the enables do what need to be done forenabling stuff for a port after it&apos;s been enabled.This means that we also have events handled by theirproper handlers as we start up.C) Conditional code that means that this driver goesback all the way to RELENG_4 in terms of support.D) Quite a lot of little nitty bug fixes- some discoveredby doing RELENG_4 support. We&apos;ve been living under Giant*waaaayyyyy* too long and it&apos;s made some of us (me) sloppy.E) Some shutdown hook stuff that makes sure we don&apos;t blowup during a reboot (like by the arrival of a new commandfrom an initiator).There&apos;s been some testing and LINT checking, but not ascomplete as would be liked. Regression testing with FusionRAID instances has not been possible. Caveat Emptor.Sponsored by: LSI-Logic.

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Sat, 25 Mar 2006 07:08:27 +0000</pubDate>
        <dc:creator>Matt Jacob &lt;mjacob@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>6a9fa015 - Remove the ill-considered effect of using the type definitions as</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#6a9fa015</link>
        <description>Remove the ill-considered effect of using the type definitions asdistributed by LSI-Logic. For FreeBSD, just use the posix definesinstead of trying to figure out how wide an int is. Apologies to all.

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Sun, 26 Feb 2006 22:50:14 +0000</pubDate>
        <dc:creator>Matt Jacob &lt;mjacob@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>0b80d21b - Role a microrev of the MPI Library in preparation for target mode work.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#0b80d21b</link>
        <description>Role a microrev of the MPI Library in preparation for target mode work.Make my portions of the license clearer.Thank Chris Ellsworth for his support in getting a bunch of this done.

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Sat, 25 Feb 2006 07:45:54 +0000</pubDate>
        <dc:creator>Matt Jacob &lt;mjacob@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>444dd2b6 - Do initial cut of SAS HBA support. These controllers (106X) seem to support</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#444dd2b6</link>
        <description>Do initial cut of SAS HBA support. These controllers (106X) seem to supportautomatically both SATA and SAS drives.  The async SAS event handling we catchbut ignore at present (so automagic attach/detach isn&apos;t hooked up yet).Do 64 bit PCI support- we can now work on systems with &gt; 4GB of memory.Do large transfer support- we now can support up to reported chain depth, orthe length of our request area. We simply allocate additional request elementswhen we would run out of room for chain lists.Tested on Ultra320, FC and SAS controllers on AMD64 and i386 platforms.There were no RAID cards available for me to regression test.The error recovery for this driver still is pretty bad.

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Sat, 11 Feb 2006 01:35:29 +0000</pubDate>
        <dc:creator>Matt Jacob &lt;mjacob@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>9de3c85c - Rev MPI spec to 1.05.09 level in preparation for SAS support.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#9de3c85c</link>
        <description>Rev MPI spec to 1.05.09 level in preparation for SAS support.MFC after:	1 month

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Sat, 21 Jan 2006 00:29:52 +0000</pubDate>
        <dc:creator>Matt Jacob &lt;mjacob@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>b0a2fdee - Massive overhaul of MPT Fusion driver:</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#b0a2fdee</link>
        <description>Massive overhaul of MPT Fusion driver:o Add timeout error recovery (from a thread context to avoid  the deferral of other critical interrupts).o Properly recover commands across controller reset events.o Update the driver to handle events and status codes that  have been added to the MPI spec since the driver was  originally written.o Make the driver more modular to improve maintainability and  support dynamic &quot;personality&quot; registration (e.g. SCSI Initiator,  RAID, SAS, FC, etc).o Shorten and simplify the common I/O path to improve driver  performance.o Add RAID volume and RAID member state/settings reporting.o Add periodic volume resynchronization status reporting.o Add support for sysctl tunable resync rate, member write cache  enable, and volume transaction queue depth.Sponsored by----------------Avid Technologies Inc:	SCSI error recovery, driver re-organization, update of MPI library	headers, portions of dynamic personality registration, and misc bug	fixes.Wheel Open Technologies:	RAID event notification, RAID member pass-thru support, firmware	upload/download support, enhanced RAID resync speed, portions	of dynamic personality registration, and misc bug fixes.Detailed Changes================mpt.c mpt_cam.c mpt_raid.c mpt_pci.c:o Add support for personality modules.  Each module exports  load, and unload module scope methods as well as probe, attach,  event, reset, shutdown, and detach  per-device instance  methodsmpt.c mpt.h mpt_pci.c:o The driver now associates a callback function (via an  index) with every transaction submitted to the controller.  This allows the main interrupt handler to absolve itself  of any knowledge of individual transaction/response types  by simply calling the callback function &quot;registered&quot; for  the transaction.  We use a callback index instead of a  callback function pointer in each requests so we can  properly handle responses (e.g. event notifications)  that are not associated with a transaction.  Personality  modules dynamically register their callbacks with the  driver core to receive the callback index to use for their  handlers.o Move the interrupt handler into mpt.c.  The ISR algorithm  is bus transport and OS independent and thus had no reason  to be in mpt_pci.c.o Simplify configuration message reply handling by copying  reply frame data for the requester and storing completion  status in the original request structure.o Add the mpt_complete_request_chain() helper method and use  it to implement reset handlers that must abort transactions.o Keep track of all pending requests on the new  requests_pending_list in the softc.o Add default handlers to mpt.c to handle generic event  notifications and controller reset activities.  The event  handler code is largely the same as in the original driver.  The reset handler is new and terminates any pending transactions  with a status code indicating the controller needs to be  re-initialized.o Add some endian support to the driver.  A complete audit is  still required for this driver to have any hope of operating  in a big-endian environment.o Use inttypes.h and __inline.  Come closer to being style(9)  compliant.o Remove extraneous use of typedefs.o Convert request state from a strict enumeration to a series  of flags.  This allows us to, for example, tag transactions  that have timed-out while retaining the state that the  transaction is still in-flight on the controller.o Add mpt_wait_req() which allows a caller to poll or sleep  for the completion of a request.  Use this to simplify  and factor code out from many initialization routines.  We also use this to sleep for task management request  completions in our CAM timeout handler.mpt.c:o Correct a bug in the event handler where request structures were  freed even if the request reply was marked as a continuation  reply. Continuation replies indicate that the controller still owns  the request and freeing these replies prematurely corrupted  controller state.o Implement firmware upload and download. On controllers that do  not have dedicated NVRAM (as in the Sun v20/v40z), the firmware  image is downloaded to the controller by the system BIOS. This  image occupies precious controller RAM space until the host driver  fetches the image, reducing the number of concurrent I/Os the  controller can processes. The uploaded image is used to  re-program the controller during hard reset events since the  controller cannot fetch the firmware on its own. Implementing this  feature allows much higher queue depths when RAID volumes  are configured.o Changed configuration page accessors to allow threads to sleep  rather than busy wait for completion.o Removed hard coded data transfer sizes from configuration page  routines so that RAID configuration page processing is possible.mpt_reg.h:o Move controller register definitions into a separate file.mpt.h:o Re-arrange includes to allow inlined functions to be  defined in mpt.h.o Add reply, event, and reset handler definitions.o Add softc fields for handling timeout and controller  reset recovery.mpt_cam.c:o Move mpt_freebsd.c to mpt_cam.c.  Move all core functionality,  such as event handling, into mpt.c leaving only CAM SCSI  support here.o Revamp completion handler to provide correct CAM status for  all currently defined SCSI MPI message result codes.o Register event and reset handlers with the MPT core.  Modify  the event handler to notify CAM of bus reset events.  The  controller reset handler will abort any transactions that  have timed out.  All other pending CAM transactions are  correctly aborted by the core driver&apos;s reset handler.o Allocate a single request up front to perform task management  operations.  This guarantees that we can always perform a  TMF operation even when the controller is saturated with other  operations.  The single request also serves as a perfect  mechanism of guaranteeing that only a single TMF is in flight  at a time - something that is required according to the MPT  Fusion documentation.o Add a helper function for issuing task management requests  to the controller.  This is used to abort individual requests  or perform a bus reset.o Modify the CAM XPT_BUS_RESET ccb handler to wait for and  properly handle the status of the bus reset task management  frame used to reset the bus.  The previous code assumed that  the reset request would always succeed.o Add timeout recovery support.  When a timeout occurs, the  timed-out request is added to a queue to be processed by  our recovery thread and the thread is woken up.  The recovery  thread processes timed-out command serially, attempting first  to abort them and then falling back to a bus reset if an  abort fails.o Add calls to mpt_reset() to reset the controller if any  handshake command, bus reset attempt or abort attempt  fails due to a timeout.o Export a secondary &quot;bus&quot; to CAM that exposes all volume drive  members as pass-thru devices, allowing CAM to perform proper  speed negotiation to hidden devices.o Add a CAM async event handler tracking the AC_FOUND_DEVICE event.  Use this to trigger calls to set the per-volume queue depth once  the volume is fully registered with CAM. This is required to avoid  hitting firmware limits on volume queue depth.  Exceeding the  limit causes the firmware to hang.mpt_cam.h:o Add several helper functions for interfacing to CAM and  performing timeout recovery.mpt_pci.c:o Disable interrupts on the controller before registering and  enabling interrupt delivery to the OS.  Otherwise we risk  receiving interrupts before the driver is ready to receive  them.o Make use of compatibility macros that allow the driver to  be compiled under 4.x and 5.x.mpt_raid.c:o Add a per-controller instance RAID thread to perform settings   changes and query status (minimizes CPU busy wait loops).o Use a shutdown handler to disable &quot;Member Write Cache Enable&quot;  (MWCE) setting for RAID arrays set to enable MWCE During Rebuild.o Change reply handler function signature to allow handlers to defer  the deletion of reply frames. Use this to allow the event reply  handler to queue up events that need to be acked if no resources  are available to immediately ack an event. Queued events are  processed in mpt_free_request() where resources are freed. This  avoids a panic on resource shortage.o Parse and print out RAID controller capabilities during driver probe.o Define, allocate, and maintain RAID data structures for volumes,  hidden member physical disks and spare disks.o Add dynamic sysctls for per-instance setting of the log level, array  resync rate, array member cache enable, and volume queue depth.mpt_debug.c:o Add mpt_lprt and mpt_lprtc for printing diagnostics conditioned on  a particular log level to aid in tracking down driver issues.o Add mpt_decode_value() which parses the bits in an integer  value based on a parsing table (mask, value, name string, tuples).mpilib/*:o Update mpi library header files to latest distribution from LSI.Submitted by: gibbsApproved by: re

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Sun, 10 Jul 2005 15:05:39 +0000</pubDate>
        <dc:creator>Scott Long &lt;scottl@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>098ca2bd - Start each of the license/copyright comments with /*-, minor shuffle of lines</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#098ca2bd</link>
        <description>Start each of the license/copyright comments with /*-, minor shuffle of lines

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Thu, 06 Jan 2005 01:43:34 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>9295c6c5 - Fix where my automated script blew the SCM ID format conversion.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#9295c6c5</link>
        <description>Fix where my automated script blew the SCM ID format conversion.

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Sat, 21 Aug 2004 17:44:57 +0000</pubDate>
        <dc:creator>David E. O&apos;Brien &lt;obrien@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>439dfb0c - Remove erroneous semicolons.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/dev/mpt/mpt_debug.c#439dfb0c</link>
        <description>Remove erroneous semicolons.

            List of files:
            /freebsd-13.1/sys/dev/mpt/mpt_debug.c</description>
        <pubDate>Tue, 13 Jul 2004 16:06:19 +0000</pubDate>
        <dc:creator>Stefan Farfeleder &lt;stefanf@FreeBSD.org&gt;</dc:creator>
    </item>
</channel>
</rss>
