e1000e: Remove extra pointer indirection
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> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
eb4d8e2553
commit
156dc1555d
@ -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));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user