|
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0 |
|
| #
718cf2cc |
| 27-Nov-2017 |
Pedro F. Giffuni <[email protected]> |
sys/dev: further adoption of SPDX licensing ID tags.
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
sys/dev: further adoption of SPDX licensing ID tags.
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.
show more ...
|
|
Revision tags: release/10.4.0, release/11.1.0 |
|
| #
a94fab67 |
| 03-Jul-2017 |
Alexander Motin <[email protected]> |
Switch fabric scans from GID_FT to GID_PT+GFF_ID/GFT_ID.
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 G
Switch fabric scans from GID_FT to GID_PT+GFF_ID/GFT_ID.
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.
show more ...
|
| #
7e31684e |
| 24-Mar-2017 |
Alexander Motin <[email protected]> |
Unify initiator and target DMA setup and command sending.
The code is so alike that it is pointless to keep it separate.
MFC after: 2 weeks
|
| #
98b08fbe |
| 18-Mar-2017 |
Alexander Motin <[email protected]> |
Remove dead remnants of SPI target.
MFC after: 2 weeks
|
| #
a1fa0267 |
| 14-Mar-2017 |
Alexander Motin <[email protected]> |
Improvements around attach, reset and detach.
This change fixes DMA resource leak on driver unload. Also it removes DMA resources allocation for hardcoded number of requests before fetching the rea
Improvements around attach, reset and detach.
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
show more ...
|
|
Revision tags: release/11.0.1, release/11.0.0 |
|
| #
5fa351ed |
| 17-May-2016 |
Alexander Motin <[email protected]> |
Completely remove broken now autologin port flag.
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.
M
Completely remove broken now autologin port flag.
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
show more ...
|
| #
212fad74 |
| 14-Apr-2016 |
Alexander Motin <[email protected]> |
Extract virtual port address from RQSTYPE_RPT_ID_ACQ.
This should close the race between request arriving on new target mode virtual port and its scanner thread finally fetch its address for request
Extract virtual port address from RQSTYPE_RPT_ID_ACQ.
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.
show more ...
|
| #
5e3e6a82 |
| 11-Apr-2016 |
Alexander Motin <[email protected]> |
Polish debugging IOCB dumping.
Add few more missing cases, unify byte order.
MFC after: 1 month
|
| #
7e53e7ac |
| 09-Apr-2016 |
Alexander Motin <[email protected]> |
Register symbolic port/node names in FC name server.
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 hostnam
Register symbolic port/node names in FC name server.
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
show more ...
|
|
Revision tags: release/10.3.0 |
|
| #
66e979f1 |
| 26-Dec-2015 |
Alexander Motin <[email protected]> |
Make virtual ports control asynchronous.
Before this change virtual ports control IOCBs were executed synchronously via Execute IOCB mailbox command. It required exclusive use of scratch space of d
Make virtual ports control asynchronous.
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.
show more ...
|
| #
970ceb2f |
| 25-Dec-2015 |
Alexander Motin <[email protected]> |
Unify handles allocation for initiator and target IOCBs.
I am not sure why this was split long ago, but I see no reason for it. At this point this unification just slightly reduces memory usage, but
Unify handles allocation for initiator and target IOCBs.
I am not sure why this was split long ago, but I see no reason for it. At this point this unification just slightly reduces memory usage, but as next step I plan to reuse shared handle space for other IOCB types.
show more ...
|
| #
a4f43c01 |
| 25-Dec-2015 |
Alexander Motin <[email protected]> |
Clear virtual port's port database when disabling it.
Previously it was done only on full chip reinit, that caused old ports resurrect in case of virtual port reenabling.
|
| #
829dfec0 |
| 04-Dec-2015 |
Alexander Motin <[email protected]> |
Update isp_put_icb_2400() for new structure fields.
|
| #
e561aa79 |
| 26-Nov-2015 |
Alexander Motin <[email protected]> |
One more round of port scanner rewrite.
- Make scan aborted by event restart immediately and infinitely. - Improve handling of some loop events from firmware. - Remove loop down timer, adding its
One more round of port scanner rewrite.
- Make scan aborted by event restart immediately and infinitely. - Improve handling of some loop events from firmware. - Remove loop down timer, adding its functionality to scanner thread. - Some more unification and simplification.
show more ...
|
| #
a4ccb5d6 |
| 23-Nov-2015 |
Alexander Motin <[email protected]> |
Fix target mode support for Qlogic 2200 FC adapters.
Now target mode works for all supported FC adapters except ancient 2100, which is not tested.
|
| #
3e6deb33 |
| 23-Nov-2015 |
Alexander Motin <[email protected]> |
Rip off target mode support for parallel SCSI QLogic adapters.
Hacks to enable target mode there complicated code, while didn't really work. And for outdated hardware fixing it is not really intere
Rip off target mode support for parallel SCSI QLogic adapters.
Hacks to enable target mode there complicated code, while didn't really work. And for outdated hardware fixing it is not really interesting.
Initiator mode tested with Qlogic 1080 adapter is still working fine.
show more ...
|
| #
4187a965 |
| 21-Nov-2015 |
Alexander Motin <[email protected]> |
Fix target mode with fabric for pre-24xx chips.
For those chips we are not receiving login events, adding initiators based on ATIO requests. But there is no port ID in that structure, so in fabric
Fix target mode with fabric for pre-24xx chips.
For those chips we are not receiving login events, adding initiators based on ATIO requests. But there is no port ID in that structure, so in fabric mode we have to explicitly fetch it from firmware to be able to do normal scan after that.
show more ...
|
| #
eea52482 |
| 19-Nov-2015 |
Alexander Motin <[email protected]> |
Another round of port scanner rewrite.
This change simplifies and unifies port adding/updating for loop and fabric scanners. It also fixes problems with scanning restarts due to concurrent port dat
Another round of port scanner rewrite.
This change simplifies and unifies port adding/updating for loop and fabric scanners. It also fixes problems with scanning restarts due to concurrent port databases changes. It also fixes many cosmetic issues.
show more ...
|
| #
c5fd36ed |
| 18-Nov-2015 |
Alexander Motin <[email protected]> |
Remove some confusions between loopid and nphdl.
Modern cards in most cases operate abstract port handles, that have no any relation to real loop IDs. Leave loopid used only where it really goes ab
Remove some confusions between loopid and nphdl.
Modern cards in most cases operate abstract port handles, that have no any relation to real loop IDs. Leave loopid used only where it really goes about local loop IDs.
While there, fix few more cases where LUNs were still printed in decimal.
show more ...
|
| #
92056a05 |
| 17-Nov-2015 |
Alexander Motin <[email protected]> |
Register our FC4 Features in SNS.
|
| #
b6bd5f7f |
| 17-Nov-2015 |
Alexander Motin <[email protected]> |
Unify and cleanup FC ports scan.
|
| #
53c0eee3 |
| 17-Nov-2015 |
Alexander Motin <[email protected]> |
Make firmware handle virtual ports SNS logins for us.
|
| #
6d53b0a7 |
| 17-Nov-2015 |
Alexander Motin <[email protected]> |
Add real initial support for RQSTYPE_RPT_ID_ACQ.
|
| #
b6983e5f |
| 28-Oct-2015 |
Alexander Motin <[email protected]> |
Improve/fix loop scanning routine.
For the most of chips (except anscient ones) port handlers have no relation to port IDs. In such situation old code scanning first 125 handlers was quite naive.
Improve/fix loop scanning routine.
For the most of chips (except anscient ones) port handlers have no relation to port IDs. In such situation old code scanning first 125 handlers was quite naive. Instead of doing that, send to chip single request to get full list of port handlers available on specific virtual port and scan only them.
Old code had problems with case of several virtual ports enabled, when port handlers allocated from global address space could easily go above 125. This change was successfully tested on 23xx, 24xx and 25xx chips in loop mode with 4 virtual initiator ports, each seing 50 virtual target ports.
show more ...
|
| #
86a1e16d |
| 26-Oct-2015 |
Alexander Motin <[email protected]> |
Reimplement enable and implement disable of virtual ports.
Now on 24xx and above chips it is really possible to simulate several virtual FC ports with single physical one. For example, it allows to
Reimplement enable and implement disable of virtual ports.
Now on 24xx and above chips it is really possible to simulate several virtual FC ports with single physical one. For example, it allows to configure several targets in ctl.conf, assign each of them to separate virtual port, and let user to control access to them with switch zoning.
I still doubt that all problems are solved there, but at now it passes at least basic tests.
show more ...
|