@@ -69,12 +69,22 @@ enum ena_admin_aq_feature_id {
6969 ENA_ADMIN_FEATURES_OPCODE_NUM = 32 ,
7070};
7171
72+ /* feature version for the set/get ENA_ADMIN_LLQ feature admin commands */
73+ enum ena_admin_llq_feature_version {
74+ /* legacy base version in older drivers */
75+ ENA_ADMIN_LLQ_FEATURE_VERSION_0_LEGACY = 0 ,
76+ /* support entry_size recommendation by device */
77+ ENA_ADMIN_LLQ_FEATURE_VERSION_1 = 1 ,
78+ };
79+
7280/* device capabilities */
7381enum ena_admin_aq_caps_id {
7482 ENA_ADMIN_ENI_STATS = 0 ,
7583 /* ENA SRD customer metrics */
7684 ENA_ADMIN_ENA_SRD_INFO = 1 ,
7785 ENA_ADMIN_CUSTOMER_METRICS = 2 ,
86+ ENA_ADMIN_EXTENDED_RESET_REASONS = 3 ,
87+ ENA_ADMIN_CDESC_MBZ = 4 ,
7888};
7989
8090enum ena_admin_placement_policy_type {
@@ -134,8 +144,14 @@ enum ena_admin_get_stats_scope {
134144 ENA_ADMIN_ETH_TRAFFIC = 1 ,
135145};
136146
137- enum ena_admin_get_phc_type {
138- ENA_ADMIN_PHC_TYPE_READLESS = 0 ,
147+ enum ena_admin_phc_feature_version {
148+ /* Readless with error_bound */
149+ ENA_ADMIN_PHC_FEATURE_VERSION_0 = 0 ,
150+ };
151+
152+ enum ena_admin_phc_error_flags {
153+ ENA_ADMIN_PHC_ERROR_FLAG_TIMESTAMP = BIT (0 ),
154+ ENA_ADMIN_PHC_ERROR_FLAG_ERROR_BOUND = BIT (1 ),
139155};
140156
141157/* ENA SRD configuration for ENI */
@@ -671,8 +687,17 @@ struct ena_admin_feature_llq_desc {
671687 /* the stride control the driver selected to use */
672688 u16 descriptors_stride_ctrl_enabled ;
673689
690+ /* feature version of device resp to either GET/SET commands. */
691+ u8 feature_version ;
692+
693+ /* llq entry size recommended by the device,
694+ * values correlated to enum ena_admin_llq_ring_entry_size.
695+ * used only for GET command.
696+ */
697+ u8 entry_size_recommended ;
698+
674699 /* reserved */
675- u32 reserved1 ;
700+ u8 reserved1 [ 2 ] ;
676701
677702 /* accelerated low latency queues requirement. driver needs to
678703 * support those requirements in order to use accelerated llq
@@ -967,7 +992,9 @@ struct ena_admin_host_info {
967992 * 4 : rss_configurable_function_key
968993 * 5 : reserved
969994 * 6 : rx_page_reuse
970- * 31:7 : reserved
995+ * 7 : tx_ipv6_csum_offload
996+ * 8 : phc
997+ * 31:9 : reserved
971998 */
972999 u32 driver_supported_features ;
9731000};
@@ -1053,10 +1080,10 @@ struct ena_admin_queue_ext_feature_desc {
10531080};
10541081
10551082struct ena_admin_feature_phc_desc {
1056- /* PHC type as defined in enum ena_admin_get_phc_type ,
1057- * used only for GET command.
1083+ /* PHC version as defined in enum ena_admin_phc_feature_version ,
1084+ * used only for GET command as max supported PHC version by the device .
10581085 */
1059- u8 type ;
1086+ u8 version ;
10601087
10611088 /* Reserved - MBZ */
10621089 u8 reserved1 [3 ];
@@ -1196,7 +1223,8 @@ enum ena_admin_aenq_group {
11961223 ENA_ADMIN_NOTIFICATION = 3 ,
11971224 ENA_ADMIN_KEEP_ALIVE = 4 ,
11981225 ENA_ADMIN_REFRESH_CAPABILITIES = 5 ,
1199- ENA_ADMIN_AENQ_GROUPS_NUM = 6 ,
1226+ ENA_ADMIN_CONF_NOTIFICATIONS = 6 ,
1227+ ENA_ADMIN_AENQ_GROUPS_NUM = 7 ,
12001228};
12011229
12021230enum ena_admin_aenq_notification_syndrome {
@@ -1233,6 +1261,14 @@ struct ena_admin_aenq_keep_alive_desc {
12331261 u32 rx_overruns_high ;
12341262};
12351263
1264+ struct ena_admin_aenq_conf_notifications_desc {
1265+ struct ena_admin_aenq_common_desc aenq_common_desc ;
1266+
1267+ u64 notifications_bitmap ;
1268+
1269+ u64 reserved ;
1270+ };
1271+
12361272struct ena_admin_ena_mmio_req_read_less_resp {
12371273 u16 req_id ;
12381274
@@ -1243,13 +1279,23 @@ struct ena_admin_ena_mmio_req_read_less_resp {
12431279};
12441280
12451281struct ena_admin_phc_resp {
1282+ /* Request Id, received from DB register */
12461283 u16 req_id ;
12471284
12481285 u8 reserved1 [6 ];
12491286
1287+ /* PHC timestamp (nsec) */
12501288 u64 timestamp ;
12511289
1252- u8 reserved2 [48 ];
1290+ u8 reserved2 [8 ];
1291+
1292+ /* Timestamp error limit (nsec) */
1293+ u32 error_bound ;
1294+
1295+ /* Bit field of enum ena_admin_phc_error_flags */
1296+ u32 error_flags ;
1297+
1298+ u8 reserved3 [32 ];
12531299};
12541300
12551301/* aq_common_desc */
@@ -1350,6 +1396,10 @@ struct ena_admin_phc_resp {
13501396#define ENA_ADMIN_HOST_INFO_RSS_CONFIGURABLE_FUNCTION_KEY_MASK BIT(4)
13511397#define ENA_ADMIN_HOST_INFO_RX_PAGE_REUSE_SHIFT 6
13521398#define ENA_ADMIN_HOST_INFO_RX_PAGE_REUSE_MASK BIT(6)
1399+ #define ENA_ADMIN_HOST_INFO_TX_IPV6_CSUM_OFFLOAD_SHIFT 7
1400+ #define ENA_ADMIN_HOST_INFO_TX_IPV6_CSUM_OFFLOAD_MASK BIT(7)
1401+ #define ENA_ADMIN_HOST_INFO_PHC_SHIFT 8
1402+ #define ENA_ADMIN_HOST_INFO_PHC_MASK BIT(8)
13531403
13541404/* feature_rss_ind_table */
13551405#define ENA_ADMIN_FEATURE_RSS_IND_TABLE_ONE_ENTRY_UPDATE_MASK BIT(0)
0 commit comments