162306a36Sopenharmony_ciRelease Date : Thu. Jun 19, 2014 17:00:00 PST 2014 - 262306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 362306a36Sopenharmony_ci Adam Radford 462306a36Sopenharmony_ci Kashyap Desai 562306a36Sopenharmony_ci Sumit Saxena 662306a36Sopenharmony_ci Uday Lingala 762306a36Sopenharmony_ciCurrent Version : 06.803.02.00-rc1 862306a36Sopenharmony_ciOld Version : 06.803.01.00-rc1 962306a36Sopenharmony_ci 1. Fix reset_mutex leak in megasas_reset_fusion(). 1062306a36Sopenharmony_ci 2. Remove unused variables in megasas_instance. 1162306a36Sopenharmony_ci 3. Fix LD/VF affiliation parsing. 1262306a36Sopenharmony_ci 4. Add missing initial call to megasas_get_ld_vf_affiliation(). 1362306a36Sopenharmony_ci 5. Version and Changelog update. 1462306a36Sopenharmony_ci------------------------------------------------------------------------------- 1562306a36Sopenharmony_ciRelease Date : Mon. Mar 10, 2014 17:00:00 PST 2014 - 1662306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 1762306a36Sopenharmony_ci Adam Radford 1862306a36Sopenharmony_ci Kashyap Desai 1962306a36Sopenharmony_ci Sumit Saxena 2062306a36Sopenharmony_ciCurrent Version : 06.803.01.00-rc1 2162306a36Sopenharmony_ciOld Version : 06.700.06.00-rc1 2262306a36Sopenharmony_ci 1. Load correct raid context timeout value for multipathing & clustering. 2362306a36Sopenharmony_ci 2. Fix megasas_ioc_init_fusion to use local stack variable. 2462306a36Sopenharmony_ci 3. Return leaked MPT frames to MPT command pool. 2562306a36Sopenharmony_ci 4. Add Dell PowerEdge VRTX SR-IOV VF device support. 2662306a36Sopenharmony_ci 5. Version and Changelog update. 2762306a36Sopenharmony_ci------------------------------------------------------------------------------- 2862306a36Sopenharmony_ciRelease Date : Sat. Aug 31, 2013 17:00:00 PST 2013 - 2962306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 3062306a36Sopenharmony_ci Adam Radford 3162306a36Sopenharmony_ci Kashyap Desai 3262306a36Sopenharmony_ci Sumit Saxena 3362306a36Sopenharmony_ciCurrent Version : 06.700.06.00-rc1 3462306a36Sopenharmony_ciOld Version : 06.600.18.00-rc1 3562306a36Sopenharmony_ci 1. Add High Availability clustering support using shared Logical Disks. 3662306a36Sopenharmony_ci 2. Version and Changelog update. 3762306a36Sopenharmony_ci------------------------------------------------------------------------------- 3862306a36Sopenharmony_ciRelease Date : Wed. May 15, 2013 17:00:00 PST 2013 - 3962306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 4062306a36Sopenharmony_ci Adam Radford 4162306a36Sopenharmony_ci Kashyap Desai 4262306a36Sopenharmony_ci Sumit Saxena 4362306a36Sopenharmony_ciCurrent Version : 06.600.18.00-rc1 4462306a36Sopenharmony_ciOld Version : 06.506.00.00-rc1 4562306a36Sopenharmony_ci 1. Return DID_ERROR for scsi io, when controller is in critical h/w error. 4662306a36Sopenharmony_ci 2. Fix the interrupt mask for Gen2 controller. 4762306a36Sopenharmony_ci 3. Update balance count in driver to be in sync of firmware. 4862306a36Sopenharmony_ci 4. Free event detail memory without device ID check. 4962306a36Sopenharmony_ci 5. Set IO request timeout value provided by OS timeout for Tape devices. 5062306a36Sopenharmony_ci 6. Add support for MegaRAID Fury (device ID-0x005f) 12Gb/s controllers. 5162306a36Sopenharmony_ci 7. Add support to display Customer branding details in syslog. 5262306a36Sopenharmony_ci 8. Set IoFlags to enable Fast Path for JBODs for Invader/Fury(12 Gb/s) 5362306a36Sopenharmony_ci controllers. 5462306a36Sopenharmony_ci 9. Add support for Extended MSI-x vectors for Invader and Fury(12Gb/s 5562306a36Sopenharmony_ci HBA). 5662306a36Sopenharmony_ci 10.Add support for Uneven Span PRL11. 5762306a36Sopenharmony_ci 11.Add support to differentiate between iMR and MR Firmware. 5862306a36Sopenharmony_ci 12.Version and Changelog update. 5962306a36Sopenharmony_ci------------------------------------------------------------------------------- 6062306a36Sopenharmony_ciRelease Date : Sat. Feb 9, 2013 17:00:00 PST 2013 - 6162306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 6262306a36Sopenharmony_ci Adam Radford 6362306a36Sopenharmony_ciCurrent Version : 06.506.00.00-rc1 6462306a36Sopenharmony_ciOld Version : 06.504.01.00-rc1 6562306a36Sopenharmony_ci 1. Add 4k FastPath DIF support. 6662306a36Sopenharmony_ci 2. Don't load DevHandle unless FastPath enabled. 6762306a36Sopenharmony_ci 3. Version and Changelog update. 6862306a36Sopenharmony_ci------------------------------------------------------------------------------- 6962306a36Sopenharmony_ciRelease Date : Mon. Oct 1, 2012 17:00:00 PST 2012 - 7062306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 7162306a36Sopenharmony_ci Adam Radford 7262306a36Sopenharmony_ciCurrent Version : 06.504.01.00-rc1 7362306a36Sopenharmony_ciOld Version : 00.00.06.18-rc1 7462306a36Sopenharmony_ci 1. Removed un-needed completion_lock spinlock calls. 7562306a36Sopenharmony_ci 2. Add module param for configurable MSI-X vector count. 7662306a36Sopenharmony_ci 3. Load io_request DataLength in bytes. 7762306a36Sopenharmony_ci 4. Add array boundary check for SystemPD. 7862306a36Sopenharmony_ci 5. Add SystemPD FastPath support. 7962306a36Sopenharmony_ci 6. Remove duplicate code. 8062306a36Sopenharmony_ci 7. Version, Changelog, Copyright update. 8162306a36Sopenharmony_ci------------------------------------------------------------------------------- 8262306a36Sopenharmony_ciRelease Date : Tue. Jun 17, 2012 17:00:00 PST 2012 - 8362306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 8462306a36Sopenharmony_ci Adam Radford/Kashyap Desai 8562306a36Sopenharmony_ciCurrent Version : 00.00.06.18-rc1 8662306a36Sopenharmony_ciOld Version : 00.00.06.15-rc1 8762306a36Sopenharmony_ci 1. Fix Copyright dates. 8862306a36Sopenharmony_ci 2. Add throttlequeuedepth module parameter. 8962306a36Sopenharmony_ci 3. Add resetwaittime module parameter. 9062306a36Sopenharmony_ci 4. Move poll_aen_lock initializer. 9162306a36Sopenharmony_ci------------------------------------------------------------------------------- 9262306a36Sopenharmony_ciRelease Date : Mon. Mar 19, 2012 17:00:00 PST 2012 - 9362306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 9462306a36Sopenharmony_ci Adam Radford 9562306a36Sopenharmony_ciCurrent Version : 00.00.06.15-rc1 9662306a36Sopenharmony_ciOld Version : 00.00.06.14-rc1 9762306a36Sopenharmony_ci 1. Optimize HostMSIxVectors setting. 9862306a36Sopenharmony_ci 2. Add fpRead/WriteCapable, fpRead/WriteAcrossStripe checks. 9962306a36Sopenharmony_ci------------------------------------------------------------------------------- 10062306a36Sopenharmony_ciRelease Date : Fri. Jan 6, 2012 17:00:00 PST 2010 - 10162306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 10262306a36Sopenharmony_ci Adam Radford 10362306a36Sopenharmony_ciCurrent Version : 00.00.06.14-rc1 10462306a36Sopenharmony_ciOld Version : 00.00.06.12-rc1 10562306a36Sopenharmony_ci 1. Fix reglockFlags for degraded raid5/6 for MR 9360/9380. 10662306a36Sopenharmony_ci 2. Mask off flags in ioctl path to prevent memory scribble with older 10762306a36Sopenharmony_ci MegaCLI versions. 10862306a36Sopenharmony_ci 3. Remove poll_mode_io module parameter, sysfs node, and associated code. 10962306a36Sopenharmony_ci------------------------------------------------------------------------------- 11062306a36Sopenharmony_ciRelease Date : Wed. Oct 5, 2011 17:00:00 PST 2010 - 11162306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 11262306a36Sopenharmony_ci Adam Radford 11362306a36Sopenharmony_ciCurrent Version : 00.00.06.12-rc1 11462306a36Sopenharmony_ciOld Version : 00.00.05.40-rc1 11562306a36Sopenharmony_ci 1. Continue booting immediately if FW in FAULT at driver load time. 11662306a36Sopenharmony_ci 2. Increase default cmds per lun to 256. 11762306a36Sopenharmony_ci 3. Fix mismatch in megasas_reset_fusion() mutex lock-unlock. 11862306a36Sopenharmony_ci 4. Remove some un-necessary code. 11962306a36Sopenharmony_ci 5. Clear state change interrupts for Fusion/Invader. 12062306a36Sopenharmony_ci 6. Clear FUSION_IN_RESET before enabling interrupts. 12162306a36Sopenharmony_ci 7. Add support for MegaRAID 9360/9380 12GB/s controllers. 12262306a36Sopenharmony_ci 8. Add multiple MSI-X vector/multiple reply queue support. 12362306a36Sopenharmony_ci 9. Add driver workaround for PERC5/1068 kdump kernel panic. 12462306a36Sopenharmony_ci------------------------------------------------------------------------------- 12562306a36Sopenharmony_ciRelease Date : Tue. Jul 26, 2011 17:00:00 PST 2010 - 12662306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 12762306a36Sopenharmony_ci Adam Radford 12862306a36Sopenharmony_ciCurrent Version : 00.00.05.40-rc1 12962306a36Sopenharmony_ciOld Version : 00.00.05.38-rc1 13062306a36Sopenharmony_ci 1. Fix FastPath I/O to work with degraded RAID 1. 13162306a36Sopenharmony_ci 2. Add .change_queue_depth support. 13262306a36Sopenharmony_ci------------------------------------------------------------------------------- 13362306a36Sopenharmony_ciRelease Date : Wed. May 11, 2011 17:00:00 PST 2010 - 13462306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 13562306a36Sopenharmony_ci Adam Radford 13662306a36Sopenharmony_ciCurrent Version : 00.00.05.38-rc1 13762306a36Sopenharmony_ciOld Version : 00.00.05.34-rc1 13862306a36Sopenharmony_ci 1. Remove MSI-X black list, use MFI_REG_STATE.ready.msiEnable. 13962306a36Sopenharmony_ci 2. Remove un-used function megasas_return_cmd_for_smid(). 14062306a36Sopenharmony_ci 3. Check MFI_REG_STATE.fault.resetAdapter in megasas_reset_fusion(). 14162306a36Sopenharmony_ci 4. Disable interrupts/free_irq() in megasas_shutdown(). 14262306a36Sopenharmony_ci 5. Fix bug where AENs could be lost in probe() and resume(). 14362306a36Sopenharmony_ci 6. Convert 6,10,12 byte CDB's to 16 byte CDB for large LBA's for FastPath 14462306a36Sopenharmony_ci IO. 14562306a36Sopenharmony_ci 7. Add 1078 OCR support. 14662306a36Sopenharmony_ci------------------------------------------------------------------------------- 14762306a36Sopenharmony_ciRelease Date : Thu. Feb 24, 2011 17:00:00 PST 2010 - 14862306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 14962306a36Sopenharmony_ci Adam Radford 15062306a36Sopenharmony_ciCurrent Version : 00.00.05.34-rc1 15162306a36Sopenharmony_ciOld Version : 00.00.05.29-rc1 15262306a36Sopenharmony_ci 1. Fix some failure gotos from megasas_probe_one(), etc. 15362306a36Sopenharmony_ci 2. Add missing check_and_restore_queue_depth() call in 15462306a36Sopenharmony_ci complete_cmd_fusion(). 15562306a36Sopenharmony_ci 3. Enable MSI-X before calling megasas_init_fw(). 15662306a36Sopenharmony_ci 4. Call tasklet_schedule() even if outbound_intr_status == 0 for MFI based 15762306a36Sopenharmony_ci boards in MSI-X mode. 15862306a36Sopenharmony_ci 5. Fix megasas_probe_one() to clear PCI_MSIX_FLAGS_ENABLE in msi control 15962306a36Sopenharmony_ci register in kdump kernel. 16062306a36Sopenharmony_ci 6. Fix megasas_get_cmd() to only print "Command pool empty" if 16162306a36Sopenharmony_ci megasas_dbg_lvl is set. 16262306a36Sopenharmony_ci 7. Fix megasas_build_dcdb_fusion() to not filter by TYPE_DISK. 16362306a36Sopenharmony_ci 8. Fix megasas_build_dcdb_fusion() to use io_request->LUN[1] field. 16462306a36Sopenharmony_ci 9. Add MR_EVT_CFG_CLEARED to megasas_aen_polling(). 16562306a36Sopenharmony_ci 10. Fix tasklet_init() in megasas_init_fw() to use instancet->tasklet. 16662306a36Sopenharmony_ci 11. Fix fault state handling in megasas_transition_to_ready(). 16762306a36Sopenharmony_ci 12. Fix max_sectors setting for IEEE SGL's. 16862306a36Sopenharmony_ci 13. Fix iMR OCR support to work correctly. 16962306a36Sopenharmony_ci------------------------------------------------------------------------------- 17062306a36Sopenharmony_ciRelease Date : Tues. Dec 14, 2010 17:00:00 PST 2010 - 17162306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 17262306a36Sopenharmony_ci Adam Radford 17362306a36Sopenharmony_ciCurrent Version : 00.00.05.29-rc1 17462306a36Sopenharmony_ciOld Version : 00.00.04.31-rc1 17562306a36Sopenharmony_ci 1. Rename megaraid_sas.c to megaraid_sas_base.c. 17662306a36Sopenharmony_ci 2. Update GPL headers. 17762306a36Sopenharmony_ci 3. Add MSI-X support and 'msix_disable' module parameter. 17862306a36Sopenharmony_ci 4. Use lowest memory bar (for SR-IOV VF support). 17962306a36Sopenharmony_ci 5. Add struct megasas_instance_temlate changes, and change all code to use 18062306a36Sopenharmony_ci new instance entries: 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci irqreturn_t (*service_isr )(int irq, void *devp); 18362306a36Sopenharmony_ci void (*tasklet)(unsigned long); 18462306a36Sopenharmony_ci u32 (*init_adapter)(struct megasas_instance *); 18562306a36Sopenharmony_ci u32 (*build_and_issue_cmd) (struct megasas_instance *, 18662306a36Sopenharmony_ci struct scsi_cmnd *); 18762306a36Sopenharmony_ci void (*issue_dcmd) (struct megasas_instance *instance, 18862306a36Sopenharmony_ci struct megasas_cmd *cmd); 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci 6. Add code to support MegaRAID 9265/9285 controllers device id (0x5b). 19162306a36Sopenharmony_ci------------------------------------------------------------------------------- 19262306a36Sopenharmony_ci1 Release Date : Thur. May 03, 2010 09:12:45 PST 2009 - 19362306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 19462306a36Sopenharmony_ci Bo Yang 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ci2 Current Version : 00.00.04.31-rc1 19762306a36Sopenharmony_ci3 Older Version : 00.00.04.17.1-rc1 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci1. Add the Online Controller Reset (OCR) to the Driver. 20062306a36Sopenharmony_ci OCR is the new feature for megaraid_sas driver which 20162306a36Sopenharmony_ci will allow the fw to do the chip reset which will not 20262306a36Sopenharmony_ci affect the OS behavior. 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ci To add the OCR support, driver need to do: 20562306a36Sopenharmony_ci a). reset the controller chips -- Xscale and Gen2 which 20662306a36Sopenharmony_ci will change the function calls and add the reset function 20762306a36Sopenharmony_ci related to this two chips. 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ci b). during the reset, driver will store the pending cmds 21062306a36Sopenharmony_ci which not returned by FW to driver's pending queue. Driver 21162306a36Sopenharmony_ci will re-issue those pending cmds again to FW after the OCR 21262306a36Sopenharmony_ci finished. 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci c). In driver's timeout routine, driver will report to 21562306a36Sopenharmony_ci OS as reset. Also driver's queue routine will block the 21662306a36Sopenharmony_ci cmds until the OCR finished. 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ci d). in Driver's ISR routine, if driver get the FW state as 21962306a36Sopenharmony_ci state change, FW in Failure status and FW support online controller 22062306a36Sopenharmony_ci reset (OCR), driver will start to do the controller reset. 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_ci e). In driver's IOCTL routine, the application cmds will wait for the 22362306a36Sopenharmony_ci OCR to finish, then issue the cmds to FW. 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci f). Before driver kill adapter, driver will do last chance of 22662306a36Sopenharmony_ci OCR to see if driver can bring back the FW. 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci2. Add the support update flag to the driver to tell LSI megaraid_sas 22962306a36Sopenharmony_ci application which driver will support the device update. So application 23062306a36Sopenharmony_ci will not need to do the device update after application add/del the device 23162306a36Sopenharmony_ci from the system. 23262306a36Sopenharmony_ci3. In driver's timeout routine, driver will do three time reset if fw is in 23362306a36Sopenharmony_ci failed state. Driver will kill adapter if can't bring back FW after the 23462306a36Sopenharmony_ci this three times reset. 23562306a36Sopenharmony_ci4. Add the input parameter max_sectors to 1MB support to our GEN2 controller. 23662306a36Sopenharmony_ci customer can use the input parameter max_sectors to add 1MB support to GEN2 23762306a36Sopenharmony_ci controller. 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci1 Release Date : Thur. Oct 29, 2009 09:12:45 PST 2009 - 24062306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 24162306a36Sopenharmony_ci Bo Yang 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci2 Current Version : 00.00.04.17.1-rc1 24462306a36Sopenharmony_ci3 Older Version : 00.00.04.12 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci1. Add the pad_0 in mfi frame structure to 0 to fix the 24762306a36Sopenharmony_ci context value larger than 32bit value issue. 24862306a36Sopenharmony_ci 24962306a36Sopenharmony_ci2. Add the logic drive list to the driver. Driver will 25062306a36Sopenharmony_ci keep the logic drive list internal after driver load. 25162306a36Sopenharmony_ci 25262306a36Sopenharmony_ci3. driver fixed the device update issue after get the AEN 25362306a36Sopenharmony_ci PD delete/ADD, LD add/delete from FW. 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci1 Release Date : Tues. July 28, 2009 10:12:45 PST 2009 - 25662306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 25762306a36Sopenharmony_ci Bo Yang 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ci2 Current Version : 00.00.04.12 26062306a36Sopenharmony_ci3 Older Version : 00.00.04.10 26162306a36Sopenharmony_ci 26262306a36Sopenharmony_ci1. Change the AEN sys PD update from scsi_scan to 26362306a36Sopenharmony_ci scsi_add_device and scsi_remove_device. 26462306a36Sopenharmony_ci2. Takeoff the debug print-out in aen_polling routine. 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_ci1 Release Date : Thur. July 02, 2009 10:12:45 PST 2009 - 26762306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 26862306a36Sopenharmony_ci Bo Yang 26962306a36Sopenharmony_ci 27062306a36Sopenharmony_ci2 Current Version : 00.00.04.10 27162306a36Sopenharmony_ci3 Older Version : 00.00.04.08 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ci1. Add the 3 mins timeout during the controller initialize. 27462306a36Sopenharmony_ci2. Add the fix for 64bit sense date errors. 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci1 Release Date : Tues. May 05, 2009 10:12:45 PST 2009 - 27762306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 27862306a36Sopenharmony_ci Bo Yang 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_ci2 Current Version : 00.00.04.08 28162306a36Sopenharmony_ci3 Older Version : 00.00.04.06 28262306a36Sopenharmony_ci 28362306a36Sopenharmony_ci1. Add the fix of pending in FW after deleted the logic drives. 28462306a36Sopenharmony_ci2. Add the fix of deallocating memory after get pdlist. 28562306a36Sopenharmony_ci 28662306a36Sopenharmony_ci1 Release Date : Tues. March 26, 2009 10:12:45 PST 2009 - 28762306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 28862306a36Sopenharmony_ci Bo Yang 28962306a36Sopenharmony_ci 29062306a36Sopenharmony_ci2 Current Version : 00.00.04.06 29162306a36Sopenharmony_ci3 Older Version : 00.00.04.04 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ci1. Add the fix of the driver cmd empty fix of the driver cmd empty. 29462306a36Sopenharmony_ci2. Add the fix of the driver MSM AEN CMD cause the system slow. 29562306a36Sopenharmony_ci 29662306a36Sopenharmony_ci1 Release Date : Tues. March 03, 2009 10:12:45 PST 2009 - 29762306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 29862306a36Sopenharmony_ci Bo Yang 29962306a36Sopenharmony_ci 30062306a36Sopenharmony_ci2 Current Version : 00.00.04.04 30162306a36Sopenharmony_ci3 Older Version : 00.00.04.01 30262306a36Sopenharmony_ci 30362306a36Sopenharmony_ci1. Add the Tape drive fix to the driver: If the command is for 30462306a36Sopenharmony_ci the tape device, set the pthru timeout to the os layer timeout value. 30562306a36Sopenharmony_ci 30662306a36Sopenharmony_ci2. Add Poll_wait mechanism to Gen-2 Linux driv. 30762306a36Sopenharmony_ci In the aen handler, driver needs to wakeup poll handler similar to 30862306a36Sopenharmony_ci the way it raises SIGIO. 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_ci3. Add new controller new SAS2 support to the driver. 31162306a36Sopenharmony_ci 31262306a36Sopenharmony_ci4. Report the unconfigured PD (system PD) to OS. 31362306a36Sopenharmony_ci 31462306a36Sopenharmony_ci5. Add the IEEE SGL support to the driver 31562306a36Sopenharmony_ci 31662306a36Sopenharmony_ci6. Reasign the Application cmds to SAS2 controller 31762306a36Sopenharmony_ci 31862306a36Sopenharmony_ci1 Release Date : Thur.July. 24 11:41:51 PST 2008 - 31962306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 32062306a36Sopenharmony_ci Sumant Patro 32162306a36Sopenharmony_ci Bo Yang 32262306a36Sopenharmony_ci 32362306a36Sopenharmony_ci2 Current Version : 00.00.04.01 32462306a36Sopenharmony_ci3 Older Version : 00.00.03.22 32562306a36Sopenharmony_ci 32662306a36Sopenharmony_ci1. Add the new controller (0078, 0079) support to the driver 32762306a36Sopenharmony_ci Those controllers are LSI's next generatation(gen2) SAS controllers. 32862306a36Sopenharmony_ci 32962306a36Sopenharmony_ci1 Release Date : Mon.June. 23 10:12:45 PST 2008 - 33062306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 33162306a36Sopenharmony_ci Sumant Patro 33262306a36Sopenharmony_ci Bo Yang 33362306a36Sopenharmony_ci 33462306a36Sopenharmony_ci2 Current Version : 00.00.03.22 33562306a36Sopenharmony_ci3 Older Version : 00.00.03.20 33662306a36Sopenharmony_ci 33762306a36Sopenharmony_ci1. Add shutdown DCMD cmd to the shutdown routine to make FW shutdown proper. 33862306a36Sopenharmony_ci2. Unexpected interrupt occurs in HWR Linux driver, add the dumy readl pci flush will fix this issue. 33962306a36Sopenharmony_ci 34062306a36Sopenharmony_ci1 Release Date : Mon. March 10 11:02:31 PDT 2008 - 34162306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 34262306a36Sopenharmony_ci Sumant Patro 34362306a36Sopenharmony_ci Bo Yang 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ci2 Current Version : 00.00.03.20-RC1 34662306a36Sopenharmony_ci3 Older Version : 00.00.03.16 34762306a36Sopenharmony_ci 34862306a36Sopenharmony_ci1. Rollback the sense info implementation 34962306a36Sopenharmony_ci Sense buffer ptr data type in the ioctl path is reverted back 35062306a36Sopenharmony_ci to u32 * as in previous versions of driver. 35162306a36Sopenharmony_ci 35262306a36Sopenharmony_ci2. Fixed the driver frame count. 35362306a36Sopenharmony_ci When Driver sent wrong frame count to firmware. As this 35462306a36Sopenharmony_ci particular command is sent to drive, FW is seeing continuous 35562306a36Sopenharmony_ci chip resets and so the command will timeout. 35662306a36Sopenharmony_ci 35762306a36Sopenharmony_ci3. Add the new controller(1078DE) support to the driver 35862306a36Sopenharmony_ci and Increase the max_wait to 60 from 10 in the controller 35962306a36Sopenharmony_ci operational status. With this max_wait increase, driver will 36062306a36Sopenharmony_ci make sure the FW will finish the pending cmd for KDUMP case. 36162306a36Sopenharmony_ci 36262306a36Sopenharmony_ci1 Release Date : Thur. Nov. 07 16:30:43 PST 2007 - 36362306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 36462306a36Sopenharmony_ci Sumant Patro 36562306a36Sopenharmony_ci Bo Yang 36662306a36Sopenharmony_ci 36762306a36Sopenharmony_ci2 Current Version : 00.00.03.16 36862306a36Sopenharmony_ci3 Older Version : 00.00.03.15 36962306a36Sopenharmony_ci 37062306a36Sopenharmony_ci1. Increased MFI_POLL_TIMEOUT_SECS to 60 seconds from 10. FW may take 37162306a36Sopenharmony_ci a max of 60 seconds to respond to the INIT cmd. 37262306a36Sopenharmony_ci 37362306a36Sopenharmony_ci1 Release Date : Fri. Sep. 07 16:30:43 PST 2007 - 37462306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 37562306a36Sopenharmony_ci Sumant Patro 37662306a36Sopenharmony_ci Bo Yang 37762306a36Sopenharmony_ci 37862306a36Sopenharmony_ci2 Current Version : 00.00.03.15 37962306a36Sopenharmony_ci3 Older Version : 00.00.03.14 38062306a36Sopenharmony_ci 38162306a36Sopenharmony_ci1. Added module parameter "poll_mode_io" to support for "polling" 38262306a36Sopenharmony_ci (reduced interrupt operation). In this mode, IO completion 38362306a36Sopenharmony_ci interrupts are delayed. At the end of initiating IOs, the 38462306a36Sopenharmony_ci driver schedules for cmd completion if there are pending cmds 38562306a36Sopenharmony_ci to be completed. A timer-based interrupt has also been added 38662306a36Sopenharmony_ci to prevent IO completion processing from being delayed 38762306a36Sopenharmony_ci indefinitely in the case that no new IOs are initiated. 38862306a36Sopenharmony_ci 38962306a36Sopenharmony_ci1 Release Date : Fri. Sep. 07 16:30:43 PST 2007 - 39062306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 39162306a36Sopenharmony_ci Sumant Patro 39262306a36Sopenharmony_ci Bo Yang 39362306a36Sopenharmony_ci 39462306a36Sopenharmony_ci2 Current Version : 00.00.03.14 39562306a36Sopenharmony_ci3 Older Version : 00.00.03.13 39662306a36Sopenharmony_ci 39762306a36Sopenharmony_ci1. Setting the max_sectors_per_req based on max SGL supported by the 39862306a36Sopenharmony_ci FW. Prior versions calculated this value from controller info 39962306a36Sopenharmony_ci (max_sectors_1, max_sectors_2). For certain controllers/FW, 40062306a36Sopenharmony_ci this was resulting in a value greater than max SGL supported 40162306a36Sopenharmony_ci by the FW. Issue was first reported by users running LUKS+XFS 40262306a36Sopenharmony_ci with megaraid_sas. Thanks to RB for providing the logs and 40362306a36Sopenharmony_ci duplication steps that helped to get to the root cause of the 40462306a36Sopenharmony_ci issue. 2. Increased MFI_POLL_TIMEOUT_SECS to 60 seconds from 40562306a36Sopenharmony_ci 10. FW may take a max of 60 seconds to respond to the INIT 40662306a36Sopenharmony_ci cmd. 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ci1 Release Date : Fri. June. 15 16:30:43 PST 2007 - 40962306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 41062306a36Sopenharmony_ci Sumant Patro 41162306a36Sopenharmony_ci Bo Yang 41262306a36Sopenharmony_ci 41362306a36Sopenharmony_ci2 Current Version : 00.00.03.13 41462306a36Sopenharmony_ci3 Older Version : 00.00.03.12 41562306a36Sopenharmony_ci 41662306a36Sopenharmony_ci1. Added the megasas_reset_timer routine to intercept cmd timeout and throttle io. 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ciOn Fri, 2007-03-16 at 16:44 -0600, James Bottomley wrote: 41962306a36Sopenharmony_ciIt looks like megaraid_sas at least needs this to throttle its commands 42062306a36Sopenharmony_ci> as they begin to time out. The code keeps the existing transport 42162306a36Sopenharmony_ci> template use of eh_timed_out (and allows the transport to override the 42262306a36Sopenharmony_ci> host if they both have this callback). 42362306a36Sopenharmony_ci> 42462306a36Sopenharmony_ci> James 42562306a36Sopenharmony_ci 42662306a36Sopenharmony_ci1 Release Date : Sat May. 12 16:30:43 PST 2007 - 42762306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 42862306a36Sopenharmony_ci Sumant Patro 42962306a36Sopenharmony_ci Bo Yang 43062306a36Sopenharmony_ci 43162306a36Sopenharmony_ci2 Current Version : 00.00.03.12 43262306a36Sopenharmony_ci3 Older Version : 00.00.03.11 43362306a36Sopenharmony_ci 43462306a36Sopenharmony_ci1. When MegaSAS driver receives reset call from OS, driver waits in reset 43562306a36Sopenharmony_ciroutine for max 3 minutes for all pending command completion. Now driver will 43662306a36Sopenharmony_cicall completion routine every 5 seconds from the reset routine instead of 43762306a36Sopenharmony_ciwaiting for depending on cmd completion from isr path. 43862306a36Sopenharmony_ci 43962306a36Sopenharmony_ci1 Release Date : Mon Apr. 30 10:25:52 PST 2007 - 44062306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 44162306a36Sopenharmony_ci Sumant Patro 44262306a36Sopenharmony_ci Bo Yang 44362306a36Sopenharmony_ci 44462306a36Sopenharmony_ci2 Current Version : 00.00.03.11 44562306a36Sopenharmony_ci3 Older Version : 00.00.03.09 44662306a36Sopenharmony_ci 44762306a36Sopenharmony_ci 1. Memory Manager for IOCTL removed for 2.6 kernels. 44862306a36Sopenharmony_ci pci_alloc_consistent replaced by dma_alloc_coherent. With this 44962306a36Sopenharmony_ci change there is no need of memory manager in the driver code 45062306a36Sopenharmony_ci 45162306a36Sopenharmony_ci On Wed, 2007-02-07 at 13:30 -0800, Andrew Morton wrote: 45262306a36Sopenharmony_ci > I suspect all this horror is due to stupidity in the DMA API. 45362306a36Sopenharmony_ci > 45462306a36Sopenharmony_ci > pci_alloc_consistent() just goes and assumes GFP_ATOMIC, whereas 45562306a36Sopenharmony_ci > the caller (megasas_mgmt_fw_ioctl) would have been perfectly happy 45662306a36Sopenharmony_ci > to use GFP_KERNEL. 45762306a36Sopenharmony_ci > 45862306a36Sopenharmony_ci > I bet this fixes it 45962306a36Sopenharmony_ci 46062306a36Sopenharmony_ci It does, but the DMA API was expanded to cope with this exact case, so 46162306a36Sopenharmony_ci use dma_alloc_coherent() directly in the megaraid code instead. The dev 46262306a36Sopenharmony_ci is just &pci_dev->dev. 46362306a36Sopenharmony_ci 46462306a36Sopenharmony_ci James <James.Bottomley@SteelEye.com> 46562306a36Sopenharmony_ci 46662306a36Sopenharmony_ci 3. SYNCHRONIZE_CACHE is not supported by FW and thus blocked by driver. 46762306a36Sopenharmony_ci 4. Hibernation support added 46862306a36Sopenharmony_ci 5. Performing diskdump while running IO in RHEL 4 was failing. Fixed. 46962306a36Sopenharmony_ci 47062306a36Sopenharmony_ci1 Release Date : Fri Feb. 09 14:36:28 PST 2007 - 47162306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 47262306a36Sopenharmony_ci Sumant Patro 47362306a36Sopenharmony_ci Bo Yang 47462306a36Sopenharmony_ci 47562306a36Sopenharmony_ci2 Current Version : 00.00.03.09 47662306a36Sopenharmony_ci3 Older Version : 00.00.03.08 47762306a36Sopenharmony_ci 47862306a36Sopenharmony_cii. Under heavy IO mid-layer prints "DRIVER_TIMEOUT" errors 47962306a36Sopenharmony_ci 48062306a36Sopenharmony_ci The driver now waits for 10 seconds to elapse instead of 5 (as in 48162306a36Sopenharmony_ci previous release) to resume IO. 48262306a36Sopenharmony_ci 48362306a36Sopenharmony_ci1 Release Date : Mon Feb. 05 11:35:24 PST 2007 - 48462306a36Sopenharmony_ci (emaild-id:megaraidlinux@lsi.com) 48562306a36Sopenharmony_ci Sumant Patro 48662306a36Sopenharmony_ci Bo Yang 48762306a36Sopenharmony_ci2 Current Version : 00.00.03.08 48862306a36Sopenharmony_ci3 Older Version : 00.00.03.07 48962306a36Sopenharmony_ci 49062306a36Sopenharmony_cii. Under heavy IO mid-layer prints "DRIVER_TIMEOUT" errors 49162306a36Sopenharmony_ci 49262306a36Sopenharmony_ci Fix: The driver is now throttling IO. 49362306a36Sopenharmony_ci Checks added in megasas_queue_command to know if FW is able to 49462306a36Sopenharmony_ci process commands within timeout period. If number of retries 49562306a36Sopenharmony_ci is 2 or greater,the driver stops sending cmd to FW temporarily. IO is 49662306a36Sopenharmony_ci resumed if pending cmd count reduces to 16 or 5 seconds has elapsed 49762306a36Sopenharmony_ci from the time cmds were last sent to FW. 49862306a36Sopenharmony_ci 49962306a36Sopenharmony_ciii. FW enables WCE bit in Mode Sense cmd for drives that are configured 50062306a36Sopenharmony_ci as WriteBack. The OS may send "SYNCHRONIZE_CACHE" cmd when Logical 50162306a36Sopenharmony_ci Disks are exposed with WCE=1. User is advised to enable Write Back 50262306a36Sopenharmony_ci mode only when the controller has battery backup. At this time 50362306a36Sopenharmony_ci Synhronize cache is not supported by the FW. Driver will short-cycle 50462306a36Sopenharmony_ci the cmd and return success without sending down to FW. 50562306a36Sopenharmony_ci 50662306a36Sopenharmony_ci1 Release Date : Sun Jan. 14 11:21:32 PDT 2007 - 50762306a36Sopenharmony_ci Sumant Patro <Sumant.Patro@lsil.com>/Bo Yang 50862306a36Sopenharmony_ci2 Current Version : 00.00.03.07 50962306a36Sopenharmony_ci3 Older Version : 00.00.03.06 51062306a36Sopenharmony_ci 51162306a36Sopenharmony_cii. bios_param entry added in scsi_host_template that returns disk geometry 51262306a36Sopenharmony_ci information. 51362306a36Sopenharmony_ci 51462306a36Sopenharmony_ci1 Release Date : Fri Oct 20 11:21:32 PDT 2006 - Sumant Patro <Sumant.Patro@lsil.com>/Bo Yang 51562306a36Sopenharmony_ci2 Current Version : 00.00.03.06 51662306a36Sopenharmony_ci3 Older Version : 00.00.03.05 51762306a36Sopenharmony_ci 51862306a36Sopenharmony_ci1. Added new memory management module to support the IOCTL memory allocation. For IOCTL we try to allocate from the memory pool created during driver initialization. If mem pool is empty then we allocate at run time. 51962306a36Sopenharmony_ci2. Added check in megasas_queue_command and dpc/isr routine to see if we have already declared adapter dead 52062306a36Sopenharmony_ci (hw_crit_error=1). If hw_crit_error==1, now we do not accept any processing of pending cmds/accept any cmd from OS 52162306a36Sopenharmony_ci 52262306a36Sopenharmony_ci1 Release Date : Mon Oct 02 11:21:32 PDT 2006 - Sumant Patro <Sumant.Patro@lsil.com> 52362306a36Sopenharmony_ci2 Current Version : 00.00.03.05 52462306a36Sopenharmony_ci3 Older Version : 00.00.03.04 52562306a36Sopenharmony_ci 52662306a36Sopenharmony_cii. PCI_DEVICE macro used 52762306a36Sopenharmony_ci 52862306a36Sopenharmony_ci Convert the pci_device_id-table of the megaraid_sas-driver to the PCI_DEVICE-macro, to safe some lines. 52962306a36Sopenharmony_ci 53062306a36Sopenharmony_ci - Henrik Kretzschmar <henne@nachtwindheim.de> 53162306a36Sopenharmony_ciii. All compiler warnings removed 53262306a36Sopenharmony_ciiii. megasas_ctrl_info struct reverted to 3.02 release 53362306a36Sopenharmony_ciiv. Default value of megasas_dbg_lvl set to 0 53462306a36Sopenharmony_civ. Removing in megasas_exit the sysfs entry created for megasas_dbg_lvl 53562306a36Sopenharmony_civi. In megasas_teardown_frame_pool(), cmd->frame was passed instead of 53662306a36Sopenharmony_ci cmd->sense to pci_pool_free. Fixed. Bug was pointed out by 53762306a36Sopenharmony_ci Eric Sesterhenn 53862306a36Sopenharmony_ci 53962306a36Sopenharmony_ci1 Release Date : Wed Sep 13 14:22:51 PDT 2006 - Sumant Patro <Sumant.Patro@lsil.com> 54062306a36Sopenharmony_ci2 Current Version : 00.00.03.04 54162306a36Sopenharmony_ci3 Older Version : 00.00.03.03 54262306a36Sopenharmony_ci 54362306a36Sopenharmony_cii. Added Reboot notify 54462306a36Sopenharmony_ciii. Reduced by 1 max cmds sent to FW from Driver to make the reply_q_sz same 54562306a36Sopenharmony_ci as Max Cmds FW can support 54662306a36Sopenharmony_ci 54762306a36Sopenharmony_ci1 Release Date : Tue Aug 22 16:33:14 PDT 2006 - Sumant Patro <Sumant.Patro@lsil.com> 54862306a36Sopenharmony_ci2 Current Version : 00.00.03.03 54962306a36Sopenharmony_ci3 Older Version : 00.00.03.02 55062306a36Sopenharmony_ci 55162306a36Sopenharmony_cii. Send stop adapter to FW & Dump pending FW cmds before declaring adapter dead. 55262306a36Sopenharmony_ci New variable added to set dbg level. 55362306a36Sopenharmony_ciii. Disable interrupt made as fn pointer as they are different for 1068 / 1078 55462306a36Sopenharmony_ciiii. Frame count optimization. Main frame can contain 2 SGE for 64 bit SGLs and 55562306a36Sopenharmony_ci 3 SGE for 32 bit SGL 55662306a36Sopenharmony_ciiv. Tasklet added for cmd completion 55762306a36Sopenharmony_civ. If FW in operational state before firing INIT, now we send RESET Flag to FW instead of just READY. This is used to do soft reset. 55862306a36Sopenharmony_civi. megasas_ctrl_prop structure updated (based on FW struct) 55962306a36Sopenharmony_civii. Added print : FW now in Ready State during initialization 56062306a36Sopenharmony_ci 56162306a36Sopenharmony_ci1 Release Date : Sun Aug 06 22:49:52 PDT 2006 - Sumant Patro <Sumant.Patro@lsil.com> 56262306a36Sopenharmony_ci2 Current Version : 00.00.03.02 56362306a36Sopenharmony_ci3 Older Version : 00.00.03.01 56462306a36Sopenharmony_ci 56562306a36Sopenharmony_cii. Added FW transition state for Hotplug scenario 56662306a36Sopenharmony_ci 56762306a36Sopenharmony_ci1 Release Date : Sun May 14 22:49:52 PDT 2006 - Sumant Patro <Sumant.Patro@lsil.com> 56862306a36Sopenharmony_ci2 Current Version : 00.00.03.01 56962306a36Sopenharmony_ci3 Older Version : 00.00.02.04 57062306a36Sopenharmony_ci 57162306a36Sopenharmony_cii. Added support for ZCR controller. 57262306a36Sopenharmony_ci 57362306a36Sopenharmony_ci New device id 0x413 added. 57462306a36Sopenharmony_ci 57562306a36Sopenharmony_ciii. Bug fix : Disable controller interrupt before firing INIT cmd to FW. 57662306a36Sopenharmony_ci 57762306a36Sopenharmony_ci Interrupt is enabled after required initialization is over. 57862306a36Sopenharmony_ci This is done to ensure that driver is ready to handle interrupts when 57962306a36Sopenharmony_ci it is generated by the controller. 58062306a36Sopenharmony_ci 58162306a36Sopenharmony_ci -Sumant Patro <Sumant.Patro@lsil.com> 58262306a36Sopenharmony_ci 58362306a36Sopenharmony_ci1 Release Date : Wed Feb 03 14:31:44 PST 2006 - Sumant Patro <Sumant.Patro@lsil.com> 58462306a36Sopenharmony_ci2 Current Version : 00.00.02.04 58562306a36Sopenharmony_ci3 Older Version : 00.00.02.04 58662306a36Sopenharmony_ci 58762306a36Sopenharmony_cii. Remove superfluous instance_lock 58862306a36Sopenharmony_ci 58962306a36Sopenharmony_ci gets rid of the otherwise superfluous instance_lock and avoids an unsafe 59062306a36Sopenharmony_ci unsynchronized access in the error handler. 59162306a36Sopenharmony_ci 59262306a36Sopenharmony_ci - Christoph Hellwig <hch@lst.de> 59362306a36Sopenharmony_ci 59462306a36Sopenharmony_ci 59562306a36Sopenharmony_ci1 Release Date : Wed Feb 03 14:31:44 PST 2006 - Sumant Patro <Sumant.Patro@lsil.com> 59662306a36Sopenharmony_ci2 Current Version : 00.00.02.04 59762306a36Sopenharmony_ci3 Older Version : 00.00.02.04 59862306a36Sopenharmony_ci 59962306a36Sopenharmony_cii. Support for 1078 type (ppc IOP) controller, device id : 0x60 added. 60062306a36Sopenharmony_ci During initialization, depending on the device id, the template members 60162306a36Sopenharmony_ci are initialized with function pointers specific to the ppc or 60262306a36Sopenharmony_ci xscale controllers. 60362306a36Sopenharmony_ci 60462306a36Sopenharmony_ci -Sumant Patro <Sumant.Patro@lsil.com> 60562306a36Sopenharmony_ci 60662306a36Sopenharmony_ci1 Release Date : Fri Feb 03 14:16:25 PST 2006 - Sumant Patro 60762306a36Sopenharmony_ci <Sumant.Patro@lsil.com> 60862306a36Sopenharmony_ci2 Current Version : 00.00.02.04 60962306a36Sopenharmony_ci3 Older Version : 00.00.02.02 61062306a36Sopenharmony_cii. Register 16 byte CDB capability with scsi midlayer 61162306a36Sopenharmony_ci 61262306a36Sopenharmony_ci "This patch properly registers the 16 byte command length capability of the 61362306a36Sopenharmony_ci megaraid_sas controlled hardware with the scsi midlayer. All megaraid_sas 61462306a36Sopenharmony_ci hardware supports 16 byte CDB's." 61562306a36Sopenharmony_ci 61662306a36Sopenharmony_ci -Joshua Giles <joshua_giles@dell.com> 61762306a36Sopenharmony_ci 61862306a36Sopenharmony_ci1 Release Date : Mon Jan 23 14:09:01 PST 2006 - Sumant Patro <Sumant.Patro@lsil.com> 61962306a36Sopenharmony_ci2 Current Version : 00.00.02.02 62062306a36Sopenharmony_ci3 Older Version : 00.00.02.01 62162306a36Sopenharmony_ci 62262306a36Sopenharmony_cii. New template defined to represent each family of controllers (identified by processor used). 62362306a36Sopenharmony_ci The template will have definitions that will be initialised to appropriate values for a specific family of controllers. The template definition has four function pointers. During driver initialisation the function pointers will be set based on the controller family type. This change is done to support new controllers that has different processors and thus different register set. 62462306a36Sopenharmony_ci 62562306a36Sopenharmony_ci -Sumant Patro <Sumant.Patro@lsil.com> 62662306a36Sopenharmony_ci 62762306a36Sopenharmony_ci1 Release Date : Mon Dec 19 14:36:26 PST 2005 - Sumant Patro <Sumant.Patro@lsil.com> 62862306a36Sopenharmony_ci2 Current Version : 00.00.02.00-rc4 62962306a36Sopenharmony_ci3 Older Version : 00.00.02.01 63062306a36Sopenharmony_ci 63162306a36Sopenharmony_cii. Code reorganized to remove code duplication in megasas_build_cmd. 63262306a36Sopenharmony_ci 63362306a36Sopenharmony_ci "There's a lot of duplicate code megasas_build_cmd. Move that out of the different codepaths and merge the reminder of megasas_build_cmd into megasas_queue_command" 63462306a36Sopenharmony_ci 63562306a36Sopenharmony_ci - Christoph Hellwig <hch@lst.de> 63662306a36Sopenharmony_ci 63762306a36Sopenharmony_ciii. Defined MEGASAS_IOC_FIRMWARE32 for code paths that handles 32 bit applications in 64 bit systems. 63862306a36Sopenharmony_ci 63962306a36Sopenharmony_ci "MEGASAS_IOC_FIRMWARE can't be redefined if CONFIG_COMPAT is set, we need to define a MEGASAS_IOC_FIRMWARE32 define so native binaries continue to work" 64062306a36Sopenharmony_ci 64162306a36Sopenharmony_ci - Christoph Hellwig <hch@lst.de> 642