net: hns3: add support for multiple media type
[linux-2.6-microblaze.git] / drivers / net / ethernet / hisilicon / hns3 / hns3pf / hclge_cmd.h
index d01f93e..653ef6a 100644 (file)
@@ -244,7 +244,7 @@ enum hclge_opcode_type {
        HCLGE_OPC_QUERY_NCL_CONFIG      = 0x7011,
 
        /* SFP command */
-       HCLGE_OPC_SFP_GET_SPEED         = 0x7104,
+       HCLGE_OPC_GET_SFP_INFO          = 0x7104,
 
        /* Error INT commands */
        HCLGE_MAC_COMMON_INT_EN         = 0x030E,
@@ -599,9 +599,15 @@ struct hclge_config_auto_neg_cmd {
        u8      rsv[20];
 };
 
-struct hclge_sfp_speed_cmd {
-       __le32  sfp_speed;
-       u32     rsv[5];
+struct hclge_sfp_info_cmd {
+       __le32 speed;
+       u8 query_type; /* 0: sfp speed, 1: active speed */
+       u8 active_fec;
+       u8 autoneg; /* autoneg state */
+       u8 autoneg_ability; /* whether support autoneg */
+       __le32 speed_ability; /* speed ability for current media */
+       __le32 module_type;
+       u8 rsv[8];
 };
 
 #define HCLGE_MAC_UPLINK_PORT          0x100