Skip to content

Commit fc8732c

Browse files
davidarinzonmngyadam
authored andcommitted
AL2-5.15-Update-ena-driver-to-2.10.0g.patch
Signed-off-by: David Arinzon <darinzon@amazon.com>
1 parent 233f3b8 commit fc8732c

20 files changed

+1038
-951
lines changed

drivers/amazon/net/ena/Makefile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
#
22
# Makefile for the Elastic Network Adapter (ENA) device drivers.
33
# ENA Source is: https://github.com/amzn/amzn-drivers.
4-
# Current ENA source is based on ena_linux_2.4.0 tag.
4+
# Current ENA source is based on ena_linux_2.10.0 tag.
55
#
66

77
obj-$(CONFIG_AMAZON_ENA_ETHERNET) += ena.o
88

99
ena-y := ena_netdev.o ena_ethtool.o ena_lpc.o ena_phc.o ena_xdp.o dim.o \
10-
ena_devlink.o net_dim.o ena_com.o ena_eth_com.o
10+
net_dim.o ena_com.o ena_eth_com.o
1111

1212
ena-$(CONFIG_SYSFS) += ena_sysfs.o
1313

@@ -18,3 +18,5 @@ endif
1818
ifdef ENA_PHC_INCLUDE
1919
ccflags-y += -DENA_PHC_INCLUDE
2020
endif
21+
22+
ccflags-y += -include $(srctree)/drivers/amazon/net/ena/config.h

drivers/amazon/net/ena/config.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#ifndef _ENA_CONFIG_H_
2+
#define _ENA_CONFIG_H_
3+
#define ENA_HAVE_PCI_DEV_ID 1
4+
#define ENA_HAVE_XDP_DO_FLUSH 1
5+
#endif /* _ENA_CONFIG_H_ */

drivers/amazon/net/ena/ena_admin_defs.h

Lines changed: 59 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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 */
7381
enum 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

8090
enum 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

10551082
struct 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

12021230
enum 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+
12361272
struct 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

12451281
struct 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

Comments
 (0)