[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 17/26] e1000e: Remove extra pointer indirection
From: |
Akihiko Odaki |
Subject: |
[PATCH v3 17/26] e1000e: Remove extra pointer indirection |
Date: |
Thu, 26 Jan 2023 19:46:56 +0900 |
e1000e_write_packet_to_guest() passes the reference of variable ba as a
pointer to an array, and that pointer indirection is just unnecessary;
all functions which uses the passed reference performs no pointer
operation on the pointer and they simply dereference the passed
pointer. Remove the extra pointer indirection.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/net/e1000e_core.c | 38 +++++++++++++++++++-------------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c
index 736708407c..d143f2ae6f 100644
--- a/hw/net/e1000e_core.c
+++ b/hw/net/e1000e_core.c
@@ -1075,31 +1075,31 @@ e1000e_read_ext_rx_descr(E1000ECore *core, union
e1000_rx_desc_extended *desc,
static inline void
e1000e_read_ps_rx_descr(E1000ECore *core,
union e1000_rx_desc_packet_split *desc,
- hwaddr (*buff_addr)[MAX_PS_BUFFERS])
+ hwaddr buff_addr[MAX_PS_BUFFERS])
{
int i;
for (i = 0; i < MAX_PS_BUFFERS; i++) {
- (*buff_addr)[i] = le64_to_cpu(desc->read.buffer_addr[i]);
+ buff_addr[i] = le64_to_cpu(desc->read.buffer_addr[i]);
}
- trace_e1000e_rx_desc_ps_read((*buff_addr)[0], (*buff_addr)[1],
- (*buff_addr)[2], (*buff_addr)[3]);
+ trace_e1000e_rx_desc_ps_read(buff_addr[0], buff_addr[1],
+ buff_addr[2], buff_addr[3]);
}
static inline void
e1000e_read_rx_descr(E1000ECore *core, union e1000_rx_desc_union *desc,
- hwaddr (*buff_addr)[MAX_PS_BUFFERS])
+ hwaddr buff_addr[MAX_PS_BUFFERS])
{
if (e1000e_rx_use_legacy_descriptor(core)) {
- e1000e_read_lgcy_rx_descr(core, &desc->legacy, &(*buff_addr)[0]);
- (*buff_addr)[1] = (*buff_addr)[2] = (*buff_addr)[3] = 0;
+ e1000e_read_lgcy_rx_descr(core, &desc->legacy, &buff_addr[0]);
+ buff_addr[1] = buff_addr[2] = buff_addr[3] = 0;
} else {
if (core->mac[RCTL] & E1000_RCTL_DTYP_PS) {
e1000e_read_ps_rx_descr(core, &desc->packet_split, buff_addr);
} else {
- e1000e_read_ext_rx_descr(core, &desc->extended, &(*buff_addr)[0]);
- (*buff_addr)[1] = (*buff_addr)[2] = (*buff_addr)[3] = 0;
+ e1000e_read_ext_rx_descr(core, &desc->extended, &buff_addr[0]);
+ buff_addr[1] = buff_addr[2] = buff_addr[3] = 0;
}
}
}
@@ -1420,14 +1420,14 @@ typedef struct e1000e_ba_state_st {
static inline void
e1000e_write_hdr_to_rx_buffers(E1000ECore *core,
- hwaddr (*ba)[MAX_PS_BUFFERS],
+ hwaddr ba[MAX_PS_BUFFERS],
e1000e_ba_state *bastate,
const char *data,
dma_addr_t data_len)
{
assert(data_len <= core->rxbuf_sizes[0] - bastate->written[0]);
- pci_dma_write(core->owner, (*ba)[0] + bastate->written[0], data, data_len);
+ pci_dma_write(core->owner, ba[0] + bastate->written[0], data, data_len);
bastate->written[0] += data_len;
bastate->cur_idx = 1;
@@ -1435,7 +1435,7 @@ e1000e_write_hdr_to_rx_buffers(E1000ECore *core,
static void
e1000e_write_to_rx_buffers(E1000ECore *core,
- hwaddr (*ba)[MAX_PS_BUFFERS],
+ hwaddr ba[MAX_PS_BUFFERS],
e1000e_ba_state *bastate,
const char *data,
dma_addr_t data_len)
@@ -1447,13 +1447,13 @@ e1000e_write_to_rx_buffers(E1000ECore *core,
uint32_t bytes_to_write = MIN(data_len, cur_buf_bytes_left);
trace_e1000e_rx_desc_buff_write(bastate->cur_idx,
- (*ba)[bastate->cur_idx],
+ ba[bastate->cur_idx],
bastate->written[bastate->cur_idx],
data,
bytes_to_write);
pci_dma_write(core->owner,
- (*ba)[bastate->cur_idx] + bastate->written[bastate->cur_idx],
+ ba[bastate->cur_idx] + bastate->written[bastate->cur_idx],
data, bytes_to_write);
bastate->written[bastate->cur_idx] += bytes_to_write;
@@ -1577,7 +1577,7 @@ e1000e_write_packet_to_guest(E1000ECore *core, struct
NetRxPkt *pkt,
trace_e1000e_rx_descr(rxi->idx, base, core->rx_desc_len);
- e1000e_read_rx_descr(core, &desc, &ba);
+ e1000e_read_rx_descr(core, &desc, ba);
if (ba[0]) {
if (desc_offset < size) {
@@ -1596,7 +1596,7 @@ e1000e_write_packet_to_guest(E1000ECore *core, struct
NetRxPkt *pkt,
iov_copy = MIN(ps_hdr_len - ps_hdr_copied,
iov->iov_len - iov_ofs);
- e1000e_write_hdr_to_rx_buffers(core, &ba, &bastate,
+ e1000e_write_hdr_to_rx_buffers(core, ba, &bastate,
iov->iov_base, iov_copy);
copy_size -= iov_copy;
@@ -1613,7 +1613,7 @@ e1000e_write_packet_to_guest(E1000ECore *core, struct
NetRxPkt *pkt,
} else {
/* Leave buffer 0 of each descriptor except first */
/* empty as per spec 7.1.5.1 */
- e1000e_write_hdr_to_rx_buffers(core, &ba, &bastate,
+ e1000e_write_hdr_to_rx_buffers(core, ba, &bastate,
NULL, 0);
}
}
@@ -1622,7 +1622,7 @@ e1000e_write_packet_to_guest(E1000ECore *core, struct
NetRxPkt *pkt,
while (copy_size) {
iov_copy = MIN(copy_size, iov->iov_len - iov_ofs);
- e1000e_write_to_rx_buffers(core, &ba, &bastate,
+ e1000e_write_to_rx_buffers(core, ba, &bastate,
iov->iov_base + iov_ofs, iov_copy);
copy_size -= iov_copy;
@@ -1635,7 +1635,7 @@ e1000e_write_packet_to_guest(E1000ECore *core, struct
NetRxPkt *pkt,
if (desc_offset + desc_size >= total_size) {
/* Simulate FCS checksum presence in the last descriptor */
- e1000e_write_to_rx_buffers(core, &ba, &bastate,
+ e1000e_write_to_rx_buffers(core, ba, &bastate,
(const char *) &fcs_pad, e1000x_fcs_len(core->mac));
}
}
--
2.39.0
- [PATCH v3 10/26] e1000e: Use memcpy to intialize registers, (continued)
- [PATCH v3 10/26] e1000e: Use memcpy to intialize registers, Akihiko Odaki, 2023/01/26
- [PATCH v3 07/26] e1000: Use more constant definitions, Akihiko Odaki, 2023/01/26
- [PATCH v3 18/26] net: Check L4 header size, Akihiko Odaki, 2023/01/26
- [PATCH v3 19/26] e1000x: Alter the signature of e1000x_is_vlan_packet, Akihiko Odaki, 2023/01/26
- [PATCH v3 14/26] e1000e: Configure ResettableClass, Akihiko Odaki, 2023/01/26
- [PATCH v3 04/26] e1000: Use hw/net/mii.h, Akihiko Odaki, 2023/01/26
- [PATCH v3 11/26] e1000e: Remove pending interrupt flags, Akihiko Odaki, 2023/01/26
- [PATCH v3 20/26] net: Strip virtio-net header when dumping, Akihiko Odaki, 2023/01/26
- [PATCH v3 21/26] hw/net/net_tx_pkt: Automatically determine if virtio-net header is used, Akihiko Odaki, 2023/01/26
- [PATCH v3 02/26] hw/net: Add more MII definitions, Akihiko Odaki, 2023/01/26
- [PATCH v3 17/26] e1000e: Remove extra pointer indirection,
Akihiko Odaki <=
- [PATCH v3 13/26] e1000: Configure ResettableClass, Akihiko Odaki, 2023/01/26
- [PATCH v3 22/26] hw/net/net_rx_pkt: Remove net_rx_pkt_has_virt_hdr, Akihiko Odaki, 2023/01/26
- [PATCH v3 23/26] e1000e: Perform software segmentation for loopback, Akihiko Odaki, 2023/01/26
- [PATCH v3 24/26] hw/net/net_tx_pkt: Implement TCP segmentation, Akihiko Odaki, 2023/01/26
- [PATCH v3 26/26] MAINTAINERS: Add e1000e test files, Akihiko Odaki, 2023/01/26
- [PATCH v3 25/26] MAINTAINERS: Add Akihiko Odaki as a e1000e reviewer, Akihiko Odaki, 2023/01/26