[COMMIT osv master] ena: convert ena_com/ena_eth_com.cc to C++

3 views
Skip to first unread message

Commit Bot

unread,
Jan 11, 2024, 12:43:10 PMJan 11
to osv...@googlegroups.com, Waldemar Kozaczuk
From: Waldemar Kozaczuk <jwkoz...@gmail.com>
Committer: WALDEMAR KOZACZUK <jwkoz...@gmail.com>
Branch: master

ena: convert ena_com/ena_eth_com.cc to C++

The ena_eth_com.cc is one of the 2 source files that make up
a low-level ena_com API. This part is used in the intermediate level
to implement data path functionality.

This patch uses C++ constructs to apply type conversions where
necessary.

Signed-off-by: Waldemar Kozaczuk <jwkoz...@gmail.com>

---
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -676,6 +676,9 @@ endif
ifeq ($(conf_drivers_hyperv),1)
bsd += bsd/sys/dev/hyperv/vmbus/hyperv.o
endif
+ifeq ($(conf_drivers_ena),1)
+bsd += bsd/sys/contrib/ena_com/ena_eth_com.o
+endif
endif

bsd += bsd/sys/dev/random/hash.o
diff --git a/bsd/sys/contrib/ena_com/ena_eth_com.cc b/bsd/sys/contrib/ena_com/ena_eth_com.cc
--- a/bsd/sys/contrib/ena_com/ena_eth_com.cc
+++ b/bsd/sys/contrib/ena_com/ena_eth_com.cc
@@ -116,7 +116,7 @@ static int ena_com_write_bounce_buffer_to_dev(struct ena_com_io_sq *io_sq,
}

static int ena_com_write_header_to_bounce(struct ena_com_io_sq *io_sq,
- u8 *header_src,
+ void *header_src,
u16 header_len)
{
struct ena_com_llq_pkt_ctrl *pkt_ctrl = &io_sq->llq_buf_ctrl;
@@ -303,7 +303,7 @@ static int ena_com_create_meta(struct ena_com_io_sq *io_sq,
{
struct ena_eth_io_tx_meta_desc *meta_desc = NULL;

- meta_desc = get_sq_desc(io_sq);
+ meta_desc = reinterpret_cast<ena_eth_io_tx_meta_desc *>(get_sq_desc(io_sq));
if (unlikely(!meta_desc))
return ENA_COM_FAULT;

@@ -377,11 +377,11 @@ static void ena_com_rx_set_flags(struct ena_com_io_cq *io_cq,
struct ena_com_rx_ctx *ena_rx_ctx,
struct ena_eth_io_rx_cdesc_base *cdesc)
{
- ena_rx_ctx->l3_proto = cdesc->status &
- ENA_ETH_IO_RX_CDESC_BASE_L3_PROTO_IDX_MASK;
- ena_rx_ctx->l4_proto =
+ ena_rx_ctx->l3_proto = static_cast<ena_eth_io_l3_proto_index>(cdesc->status &
+ ENA_ETH_IO_RX_CDESC_BASE_L3_PROTO_IDX_MASK);
+ ena_rx_ctx->l4_proto = static_cast<ena_eth_io_l4_proto_index>(
(cdesc->status & ENA_ETH_IO_RX_CDESC_BASE_L4_PROTO_IDX_MASK) >>
- ENA_ETH_IO_RX_CDESC_BASE_L4_PROTO_IDX_SHIFT;
+ ENA_ETH_IO_RX_CDESC_BASE_L4_PROTO_IDX_SHIFT);
ena_rx_ctx->l3_csum_err =
!!((cdesc->status & ENA_ETH_IO_RX_CDESC_BASE_L3_CSUM_ERR_MASK) >>
ENA_ETH_IO_RX_CDESC_BASE_L3_CSUM_ERR_SHIFT);
@@ -470,7 +470,7 @@ int ena_com_prepare_tx(struct ena_com_io_sq *io_sq,
return rc;
}

- desc = get_sq_desc(io_sq);
+ desc = reinterpret_cast<ena_eth_io_tx_desc *>(get_sq_desc(io_sq));
if (unlikely(!desc))
return ENA_COM_FAULT;
memset(desc, 0x0, sizeof(struct ena_eth_io_tx_desc));
@@ -531,7 +531,7 @@ int ena_com_prepare_tx(struct ena_com_io_sq *io_sq,
return rc;
}

- desc = get_sq_desc(io_sq);
+ desc = reinterpret_cast<ena_eth_io_tx_desc *>(get_sq_desc(io_sq));
if (unlikely(!desc))
return ENA_COM_FAULT;

@@ -647,7 +647,7 @@ int ena_com_add_single_rx_desc(struct ena_com_io_sq *io_sq,
if (unlikely(!ena_com_sq_have_enough_space(io_sq, 1)))
return ENA_COM_NO_SPACE;

- desc = get_sq_desc(io_sq);
+ desc = reinterpret_cast<ena_eth_io_rx_desc *>(get_sq_desc(io_sq));
if (unlikely(!desc))
return ENA_COM_FAULT;

Reply all
Reply to author
Forward
0 new messages