summaryrefslogtreecommitdiffstats
path: root/platform-intel.h
diff options
context:
space:
mode:
authorLabun, Marcin <Marcin.Labun@intel.com>2011-03-10 01:44:21 +0100
committerNeilBrown <neilb@suse.de>2011-03-10 01:44:21 +0100
commitfc13853f4e41f9bc6f39e4550dec94ce9f7d2c1b (patch)
tree3648eaf9fd894c34ffaab486006100139fd90b83 /platform-intel.h
parentprobe_roms: allow to probe expansion ROMs using vendor and device id. (diff)
downloadmdadm-fc13853f4e41f9bc6f39e4550dec94ce9f7d2c1b.tar.xz
mdadm-fc13853f4e41f9bc6f39e4550dec94ce9f7d2c1b.zip
Platform-intel: support for OROM SAS and AHCI controller
Signed-off-by: Marcin Labun <marcin.labun@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'platform-intel.h')
-rw-r--r--platform-intel.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/platform-intel.h b/platform-intel.h
index 82cc85e7..18f1ea21 100644
--- a/platform-intel.h
+++ b/platform-intel.h
@@ -19,7 +19,7 @@
#include <asm/types.h>
#include <strings.h>
-/* The IMSM OROM Version Table definition */
+/* The IMSM Capability (IMSM AHCI and ISCU OROM/EFI variable) Version Table definition */
struct imsm_orom {
__u8 signature[4];
__u8 table_ver_major; /* Currently 2 (can change with future revs) */
@@ -58,9 +58,13 @@ struct imsm_orom {
#define IMSM_OROM_SSS_32MB (1 << 14)
#define IMSM_OROM_SSS_64MB (1 << 15)
__u16 dpa; /* Disks Per Array supported */
+ #define IMSM_OROM_DISKS_PER_ARRAY 6
__u16 tds; /* Total Disks Supported */
+ #define IMSM_OROM_TOTAL_DISKS 6
__u8 vpa; /* # Volumes Per Array supported */
+ #define IMSM_OROM_VOLUMES_PER_ARRAY 2
__u8 vphba; /* # Volumes Per Host Bus Adapter supported */
+ #define IMSM_OROM_VOLUMES_PER_HBA 4
/* Attributes supported. This should map to the
* attributes in the MPB. Also, lower 16 bits
* should match/duplicate RLC bits above.
@@ -184,8 +188,8 @@ struct sys_dev {
char *diskfd_to_devpath(int fd);
struct sys_dev *find_driver_devices(const char *bus, const char *driver);
struct sys_dev *find_intel_devices(void);
-__u16 devpath_to_vendor(const char *dev_path);
void free_sys_dev(struct sys_dev **list);
+const struct imsm_orom *find_imsm_capability(enum sys_dev_type hba_id);
const struct imsm_orom *find_imsm_orom(void);
int disk_attached_to_hba(int fd, const char *hba_path);
char *devt_to_devpath(dev_t dev);