I haven't read all the replies to this but I just wanted to contribute that I have TWO (2) IBM M1115 (almost exactly as M1015) controllers in my system (see my sig) and I just upgraded both cards firmware to P16 by using the BIOS UEFI shell while both were still mounted on the motherboard. I'm writing this because I saw some posts suggesting only leaving one card on the motherboard at a time but this is not necessary.
My controllers are already in IT mode with no ROM. It was as simple as:
1. download the Installer_P16_for_UEFI.zip and the 9211_8i_Package_P16_IR_IT_Firmware_BIOS_for_MSDOS_Windows.zip files from the Firmware section in here (
http://www.avagotech.com/products/server-storage/host-bus-adapters/sas-9211-8i#downloads).
2. Extract those files and copy the sastoflash.efi and 2118it.bin files to a USB flash drive. Plug it in to my motherboard and unplug the hard drives (while the system is off of course) just to be safe. (Not that I have any proof that this is at all useful but just being paranoid).
3. Boot into your BIOS and go to the UEFI shell.
4. Type fs0: (or fs1) to mount your USB drive.
5. Type sastoflash.efi -listall to see the list of all your controllers. My controllers ware in previous versions than 16 for full disclosure. This may not be the same process if you're on newer versions.
6. Type sastoflash.efi -o -f 2118it.bin to flash controller 0.
7. Type sastoflash.efi -c 1 -f 2118it.bin to flash controller 1. and so on and so forth for all the controllers you may have. :)
8. Type sastoflash.efi -listall and you should see all your controllers flashed to the FM Ver 16.00.00.00
There were two (2) command that didn't work in my setup: sas2flash.efi -c 1 (where the 1 is for the number of the controller you want to select) and sas2flash.efi -cpci xx:xx:xx (where xx:xx:xx is the controller address flag of the card you want to select). The -c flag worked as is in step 7 (above) to flash my 2nd controller but it didn't select it by itself.
The SAS2Flash_ReferenceGuide.pdf file that comes with the Installer_P16_for_UEFI.zip file is very useful to remove some of the paranoia on running these commands. Give it a good read and you should have no trouble.
Peace!