These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / scsi / pm8001 / pm8001_sas.h
index 8dd8b78..6628cc3 100644 (file)
@@ -58,7 +58,7 @@
 #include "pm8001_defs.h"
 
 #define DRV_NAME               "pm80xx"
-#define DRV_VERSION            "0.1.37"
+#define DRV_VERSION            "0.1.38"
 #define PM8001_FAIL_LOGGING    0x01 /* Error message logging */
 #define PM8001_INIT_LOGGING    0x02 /* driver init logging */
 #define PM8001_DISC_LOGGING    0x04 /* discovery layer logging */
@@ -106,7 +106,9 @@ do {                                                \
 #define DEV_IS_EXPANDER(type)  ((type == SAS_EDGE_EXPANDER_DEVICE) || (type == SAS_FANOUT_EXPANDER_DEVICE))
 #define IS_SPCV_12G(dev)       ((dev->device == 0X8074)                \
                                || (dev->device == 0X8076)              \
-                               || (dev->device == 0X8077))
+                               || (dev->device == 0X8077)              \
+                               || (dev->device == 0X8070)              \
+                               || (dev->device == 0X8072))
 
 #define PM8001_NAME_LENGTH             32/* generic length of strings */
 extern struct list_head hba_list;
@@ -241,7 +243,7 @@ struct pm8001_chip_info {
 struct pm8001_port {
        struct asd_sas_port     sas_port;
        u8                      port_attached;
-       u                     wide_port_phymap;
+       u16                     wide_port_phymap;
        u8                      port_state;
        struct list_head        list;
 };
@@ -569,6 +571,14 @@ struct pm8001_fw_image_header {
 #define        NCQ_READ_LOG_FLAG                       0x80000000
 #define        NCQ_ABORT_ALL_FLAG                      0x40000000
 #define        NCQ_2ND_RLE_FLAG                        0x20000000
+
+/* Device states */
+#define DS_OPERATIONAL                         0x01
+#define DS_PORT_IN_RESET                       0x02
+#define DS_IN_RECOVERY                         0x03
+#define DS_IN_ERROR                            0x04
+#define DS_NON_OPERATIONAL                     0x07
+
 /**
  * brief param structure for firmware flash update.
  */
@@ -700,6 +710,8 @@ int pm80xx_set_thermal_config(struct pm8001_hba_info *pm8001_ha);
 int pm8001_bar4_shift(struct pm8001_hba_info *pm8001_ha, u32 shiftValue);
 void pm8001_set_phy_profile(struct pm8001_hba_info *pm8001_ha,
        u32 length, u8 *buf);
+void pm8001_set_phy_profile_single(struct pm8001_hba_info *pm8001_ha,
+               u32 phy, u32 length, u32 *buf);
 int pm80xx_bar4_shift(struct pm8001_hba_info *pm8001_ha, u32 shiftValue);
 ssize_t pm80xx_get_fatal_dump(struct device *cdev,
                struct device_attribute *attr, char *buf);