Yes, do infrastructure first (and I would use autoinstall)
However, before you do this, I would open a preventive TAC case:
Problem Subcategory: UCS-B Upgrade
Problem Type: Configuration Assistance
Software Version: 2.2.6f
Problem Details: Firmware Upgrade 2.2.6f to 3.1.2b please check for any bugs and caveats
Attach »Show Tech» files to the TAC case
Reason: there are some known hardware issues (FI and PS) which could disruptive
Before I would go with all the servers, I would pick one of each OS (Unix, Windows), do the upgrade and then verify.
If ok, go ahead with autoinstall server, assuming that you have a maintenance policy in place, which asks for a ACK, before reboot.