Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-03-08 | Add the RX earlyoff support for older chips (8168{E-VL,EP, F}) and RXDV GATED | Brad Smith | |
bits for the 8168G controller. This fixes operation of the 8168G controllers. This makes reception of packets work with the 8168G controllers in the Shuttle DS47 and other systems. From FreeBSD, based on the Realtek Linux driver. ok sthen@ giovani@ | |||
2014-03-08 | Only attempt to load firmware if we actually have some. | Mark Kettenis | |
2014-03-08 | Attempt to recover if wide and/or synchronous transfers fail. | Mark Kettenis | |
2014-03-08 | A bit of spring cleaning. | Mark Kettenis | |
2014-03-08 | Enable tagged queueing. | Mark Kettenis | |
2014-03-08 | Check the appropriate struct member for the various SDEV_* quirks. | Mark Kettenis | |
2014-03-08 | Enable DMA bursting. Not sure it actually makes things faster, but both | Mark Kettenis | |
isp(4) and the linux qla1280 driver seem to do this. | |||
2014-03-07 | Make sure a SCSI initiator ID provided by Open Firmware overrides the value | Mark Kettenis | |
read from nvram, just like we did for isp(4). | |||
2014-03-07 | Reduce the number of ccbs by a factor three since we need up to three request | Mark Kettenis | |
entries per SCSI command. | |||
2014-03-07 | Provide the appropriate default values for the SCSI initiaror ID on sgi and | Mark Kettenis | |
sparc64. | |||
2014-03-07 | Duplicate enum values are a bad idea. | Mark Kettenis | |
2014-03-05 | Introduce qlw(4), a new driver for QLogic ISP SCSI HBAs. For now only | Mark Kettenis | |
supports the PCI variants; SBUs support will follow. Works reasonably well now. Others are encouraged to test it. | |||
2014-02-23 | when built without firmware, check that the chip already has firmware | Jonathan Matthew | |
before trying to boot it, so we can explain why it's not working rather than printing cryptic errors. | |||
2014-02-22 | refactor firmware loading with a function pointer | Theo de Raadt | |
ok jmatthew | |||
2014-02-20 | More turd shining; cleanup the message that prints the firmware revision and | Mark Kettenis | |
attributes. ok dlg@, jmatthew@ | |||
2014-02-20 | revert previous commit; didn't intend to commit those bits | Mark Kettenis | |
2014-02-20 | Avoid printing the "nvram corrupt" message for onboard 2200s found on Sun | Mark Kettenis | |
hardware. ok dlg@, jmatthew@ | |||
2014-02-20 | jsg@ pointed out i am bad at loops. | David Gwynne | |
2014-02-20 | knf | David Gwynne | |
2014-02-20 | pull the isr reads out into per chip variants we get to via pointers | David Gwynne | |
in a per generation structure. this avoids code on every isr to figure out what version of the chip we are, which is silly since we know that at attach time. ok jmatthew@ | |||
2014-02-19 | tweak the response queue handling so it looks like qle. the important | David Gwynne | |
bit is to post to the resp_out register once outside the loop rather than inside every loop. rework the code for finding the queue registers so its done once on attach by pointing the sc at a map, rather than running big conditionals in code on every register operation based on teh chip version. tested on 2200s by me and 2312s by jmatthew@ ok jmatthew@ | |||
2014-02-19 | remove some dead code - all the chips we handle can do type 4 commands, | Jonathan Matthew | |
which means we don't need to use sgl continuation command buffers. this keeps things much simpler on the iopool side of things. | |||
2014-02-18 | convert printfs into a few different debug categories, leaving port | Jonathan Matthew | |
discovery stuff enabled for now. | |||
2014-02-14 | remove isp24xx-related code. it doesn't work, qle(4) replaces it, and | Jonathan Matthew | |
we need the space in the i386 ramdisks. ok dlg@, krw@ | |||
2014-02-13 | fix previous errorneous constants (compiled against the old header) | pelikan | |
2014-02-13 | Recognize SATA-III ports in dmesg. | pelikan | |
ok millert | |||
2014-02-11 | fix endianness of fc4 type registration (again), and don't bother printing | Jonathan Matthew | |
the fc4 types for fabric ports we find | |||
2014-02-10 | Build isp2xxx firmware into separate object files so we only include | Jonathan Matthew | |
one copy when both isp(4) and qla(4) are enabled. This is a temporary measure until qla(4) takes over completely. looked at by miod@ and kettenis@ | |||
2014-02-06 | missing define for qla2100 support | Jonathan Matthew | |
2014-02-06 | Almost-working QLA2100 support. This appears to be the best I can do for | Jonathan Matthew | |
now. The one 2100 card I have doesn't work at all with isp(4). I can get it to see devices on the fabric, but it can't log in to them, and it can't see loop devices at all. | |||
2014-02-05 | Avoid calling delay(9) between checking and clearing the interrupt status bits. | Mark Kettenis | |
ok jmatthew@ | |||
2014-02-05 | Punt on handling responses if we haven't allocated the response queue yet. | Mark Kettenis | |
Otherwise a spurious interrupt might make us dereference a null-pointer. This is especially important for ISP2200 cards with Open Firmware, where the card is running a full firmware and the response queue "in" pointer is non-zero when we take over. ok jmatthew@ | |||
2014-02-03 | use the same option as isp(4) to build without firmware. | Jonathan Matthew | |
stub out the firmware loading code and don't include the firmware files when ISP_NOFIRMWARE is defined. | |||
2014-02-02 | carve up qla_attach() into bits we can use to process loop and fabric changes | Jonathan Matthew | |
later on. | |||
2014-02-02 | Rearrange interrupt register processing for 2200s. The mailbox semaphore | Jonathan Matthew | |
seems to be disconnected from the interrupt status register, so we shouldn't wait until the interrupt status is nonzero to check it. This makes onboard FC controllers in Sun systems work better. tested on a blade1k (by kettenis@) and a v880. | |||
2014-02-01 | On sparc64, use the WWNs from Open Firmware, as the onboard ISP2200 that can | Mark Kettenis | |
be found on some Sun hardware doesn't have an NVRAM. ok jmatthew@ | |||
2014-01-30 | the option bit for controlling fast posting is in icb_fw_options, not | Jonathan Matthew | |
icb_xfwoptions. one of my qla2200 cards seems to have this enabled in its nvram, so it wasn't getting io completions. | |||
2014-01-30 | don't do a register test mailbox command before resetting the chip. | Jonathan Matthew | |
kettenis@ found that this causes problems on sparc64 machines that boot off isp2200s. | |||
2014-01-30 | Set port and node WWN in scsi_link structure when we successfully probe a | Mark Kettenis | |
target. ok jmatthew@, dlg@ | |||
2014-01-26 | Quoting an old commit message: | Miod Vallat | |
``Callers of scsi_iopool_init() ought to set up the pool member in struct scsi_link accordingly, for bad things will happen without (and this was a real pita to debug).'' | |||
2014-01-24 | treat C_SCSIXFER as a reference count and use it as a guard to pool_put. | David Gwynne | |
fixes cd panics where the free_xfer path is called after scsi_done calls xfer_put. | |||
2014-01-22 | fix endianness for FC4 type registration | Jonathan Matthew | |
2014-01-22 | dont piggyback on C_PRIVATEXFER because it must not touch splx. | David Gwynne | |
because im using it while the system is up and running i need the xfer free path to take the right locks, which PRIVATEXFER doesnt. invent a new C_SCSIXFER flag that provides the safety needed. this fixes issues people have had installing from atapiscsi(4) cdrom devices. bug spelunking and tailq corruption identified by jsing@ ok jsing@ | |||
2014-01-21 | add a missing printf argument | Jonathan Gray | |
ok jmatthew@ | |||
2014-01-21 | Add support for ISP2200 based adapters. | Jonathan Matthew | |
This involves a bit of a hack in the interrupt processing path, where we ignore the interrupt status if we're expecting a mailbox command to complete, but we don't have the mailbox semaphore and the response ring hasn't moved. Typically next time through, the interrupt status is the same and we have the semaphore so we can read the results. | |||
2014-01-21 | The semaphore register does need to be cleared when clearing interrupts, | Jonathan Matthew | |
but only for interrupts that return information through mailbox registers. | |||
2014-01-21 | Stop using 23xx-specific interrupt status codes everywhere. Instead, classify | Jonathan Matthew | |
into one of 4 types in qla_read_isr. | |||
2014-01-20 | With 2K login firmware, the login option bits are in mbox register 10. | Jonathan Matthew | |
These need to be explicitly set to 0, otherwise the firmware might not do the process login and so leave us unable to talk to the device. | |||
2014-01-20 | bzero to memset | David Gwynne | |
2014-01-20 | bcopy to memcpy | David Gwynne | |