The pm8001 can be delivered as a standalone product with flash-programmed firmware images, or without the flash present requiring the driver to upload the images into the chip's RAM and then run. This is called flashless HDA mode. We add support for this firmware upload in the enclosed patch. We try some basic initialization checks of the Firmware, and if it appears dead, we make the assumption the adapter must in-fact be halted in this HDA mode. The Firmware images themselves have not been cleared for open-release by PMC, but they are available in OpenSolaris . PMC's rationalization for not wanting an open-release of the Firmware Images is that they do not want to take support calls except from paying OEMs (such as Xyratex) that are embedding PMC product into the motherboards and thus may have a tested combination of Firmware and Hardware. Please respect this sentiment. Images are expected in: /lib/firmware/aap1img.bin /lib/firmware/ilaimg.bin /lib/firmware/iopimg.bin /lib/firmware/istrimg.bin using the exact same naming convention as PMC and in OpenSolaris (and its followon children) for these image files. Take 2 of the patch, added manifests MAIN_HDA_FLAGS_FORCE_HDA and MAIN_HDA_FLAGS_HDA_FW to check against the bit value of .hda_mode_flag if the SEEPROM is forcing HDA flashless mode. Signed-off-by: Mark Salyzyn Reviewed-by: Jack Wang Cc: James Bottomley Cc: lindar_liu@usish.com Cc: crystal_yu@usish.com Cc: john_gong@usish.com drivers/scsi/pm8001/pm8001_hwi.c | 575 +++++++++++++++++++++++++++++++++++--- drivers/scsi/pm8001/pm8001_hwi.h | 40 ++ drivers/scsi/pm8001/pm8001_init.c | 30 + drivers/scsi/pm8001/pm8001_sas.h | 3 4 files changed, 607 insertions(+), 41 deletions(-)