isci: fix oem parameter initialization and mode detection

1/ Since commit 858d4aa7 "isci: Move firmware loading to per PCI device" we have
   been silently falling back to built-in defaults for the parameter settings by
   skipping the call to scic_oem_parameters_set().

2/ The afe parameters from the firmware were not being honored

3/ The latest oem parameter definition flips the mode_type values which are
   now 0: for APC 1: for MPC.  For APC we need to make sure all the phys
   default to the same address otherwise strict_wide_ports will cause duplicate
   domains.

4/ Fix up the driver announcement to indicate the source of the
   parameters.

5/ Fix up the sas addresses to be unique per controller (in the fallback case)

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
这个提交包含在:
Dan Williams
2011-03-11 10:43:57 -08:00
父节点 2e8320f751
当前提交 4711ba10b1
修改 9 个文件,包含 87 行新增72 行删除

查看文件

@@ -96,6 +96,10 @@ struct isci_oem_hdr {
#define ISCI_ROM_SIG "ISCUOEMB"
#define ISCI_ROM_SIG_SIZE 8
#define ISCI_PREBOOT_SOURCE_INIT (0x00)
#define ISCI_PREBOOT_SOURCE_OROM (0x80)
#define ISCI_PREBOOT_SOURCE_EFI (0x81)
#define ISCI_EFI_VENDOR_GUID \
EFI_GUID(0x193dfefa, 0xa445, 0x4302, 0x99, 0xd8, 0xef, 0x3a, 0xad, \
0x1a, 0x04, 0xc6)
@@ -112,8 +116,8 @@ struct isci_oem_hdr {
* being assigned is sufficient to declare manual PORT configuration.
*/
enum SCIC_PORT_CONFIGURATION_MODE {
SCIC_PORT_MANUAL_CONFIGURATION_MODE = 0,
SCIC_PORT_AUTOMATIC_CONFIGURATION_MODE = 1
SCIC_PORT_AUTOMATIC_CONFIGURATION_MODE = 0,
SCIC_PORT_MANUAL_CONFIGURATION_MODE = 1
};
struct sci_bios_oem_param_block_hdr {