<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/isp/isp_library.c, branch release/12.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F12.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F12.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2017-11-27T14:52:40Z</updated>
<entry>
<title>sys/dev: further adoption of SPDX licensing ID tags.</title>
<updated>2017-11-27T14:52:40Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-11-27T14:52:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=718cf2ccb9956613756ab15d7a0e28f2c8e91cab'/>
<id>urn:sha1:718cf2ccb9956613756ab15d7a0e28f2c8e91cab</id>
<content type='text'>
Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.
</content>
</entry>
<entry>
<title>Switch fabric scans from GID_FT to GID_PT+GFF_ID/GFT_ID.</title>
<updated>2017-07-03T15:56:45Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-07-03T15:56:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a94fab67bb9c07d5837c9e2ad25d48b9b701643a'/>
<id>urn:sha1:a94fab67bb9c07d5837c9e2ad25d48b9b701643a</id>
<content type='text'>
Instead of using GID_FT SNS request to get list of registered FCP ports,
use GID_PT to get list of all Nx_Ports, and then use GFF_ID and/or GFT_ID
requests to find whether they are FCP and target capable.

The problem with old approach is that GID_FT does not report ports without
FC-4 type registered.  In particular it was impossible to boot OS from
FreeBSD FC target using QLogic FC BIOS, since one does not register FC-4
type even on new cards and so ignored by old code as incompatible.

As a side bonus this allows initiator to skip pointless logins to other
initiators by fetching that information from SNS instead.

In case some switches do not implement GFF_ID/GFT_ID correctly, add sysctls
to disable that functionality.  I handled broken GFF_ID of my Brocade 200E,
but there may be other switches with different bugs.

Linux also uses GID_PT, but GFF_ID is disabled by default there, and GFT_ID
is not supported.

Sponsored by:	iXsystems, Inc.
</content>
</entry>
<entry>
<title>Unify initiator and target DMA setup and command sending.</title>
<updated>2017-03-24T14:44:03Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-03-24T14:44:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7e31684ea4499158704dac19aba823c77f428285'/>
<id>urn:sha1:7e31684ea4499158704dac19aba823c77f428285</id>
<content type='text'>
The code is so alike that it is pointless to keep it separate.

MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Remove dead remnants of SPI target.</title>
<updated>2017-03-18T15:42:22Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-03-18T15:42:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=98b08fbea51f789e4bdc878f4633493b227c5eff'/>
<id>urn:sha1:98b08fbea51f789e4bdc878f4633493b227c5eff</id>
<content type='text'>
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Improvements around attach, reset and detach.</title>
<updated>2017-03-14T08:03:56Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2017-03-14T08:03:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a1fa02673afaed21473adc4633faac57b554acc0'/>
<id>urn:sha1:a1fa02673afaed21473adc4633faac57b554acc0</id>
<content type='text'>
This change fixes DMA resource leak on driver unload.  Also it removes
DMA resources allocation for hardcoded number of requests before fetching
the real number from firmware.  Also it prepares ground for more flexible
IRQs allocation according to firmware capabilities.

MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Completely remove broken now autologin port flag.</title>
<updated>2016-05-17T13:18:57Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2016-05-17T13:18:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5fa351ed89e40dd7dc0b628a2b4e6dee512e63e4'/>
<id>urn:sha1:5fa351ed89e40dd7dc0b628a2b4e6dee512e63e4</id>
<content type='text'>
Firmware automatically logs in only to local loop ports, and those ports
can be easily identified without extra flag by zero domain and area IDs.

MFC after:	1 week
</content>
</entry>
<entry>
<title>Extract virtual port address from RQSTYPE_RPT_ID_ACQ.</title>
<updated>2016-04-14T20:49:01Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2016-04-14T20:49:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=212fad7469282057732176d62849e90e0d2de57c'/>
<id>urn:sha1:212fad7469282057732176d62849e90e0d2de57c</id>
<content type='text'>
This should close the race between request arriving on new target mode
virtual port and its scanner thread finally fetch its address for request
routing.
</content>
</entry>
<entry>
<title>Polish debugging IOCB dumping.</title>
<updated>2016-04-11T10:48:26Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2016-04-11T10:48:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5e3e6a824187dd200f74dd37d641bad4a193c74d'/>
<id>urn:sha1:5e3e6a824187dd200f74dd37d641bad4a193c74d</id>
<content type='text'>
Add few more missing cases, unify byte order.

MFC after:	1 month
</content>
</entry>
<entry>
<title>Register symbolic port/node names in FC name server.</title>
<updated>2016-04-09T14:50:47Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2016-04-09T14:50:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7e53e7accc063b59d0d653d6b3229b71a2850228'/>
<id>urn:sha1:7e53e7accc063b59d0d653d6b3229b71a2850228</id>
<content type='text'>
This is cosmetics that simplifies identification of new ports on FC switch.

It would be good to use target name from CTL here instead of hostname, but
it is not passed here through CAM now.

MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Make virtual ports control asynchronous.</title>
<updated>2015-12-26T04:26:32Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2015-12-26T04:26:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=66e979f15cf27715691a5e318181853e68e54d83'/>
<id>urn:sha1:66e979f15cf27715691a5e318181853e68e54d83</id>
<content type='text'>
Before this change virtual ports control IOCBs were executed synchronously
via Execute IOCB mailbox command.  It required exclusive use of scratch
space of driver and mailbox registers of the hardware.  Because of that
shared resources use this code could not really sleep, having to spin for
completion, blocking any other operation.

This change introduces new asynchronous design, sending the IOCBs directly
on request queue and gracefully waiting for their return on response queue.
Returned IOCBs are identified with unified handle space from r292725.
</content>
</entry>
</feed>
