[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH arm-devs v1 04/13] net/cadence_gem: simplify rx
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH arm-devs v1 04/13] net/cadence_gem: simplify rx buf descriptor walking |
Date: |
Mon, 2 Dec 2013 12:12:34 +0000 |
On 2 December 2013 07:11, Peter Crosthwaite
<address@hidden> wrote:
> There was a replication of the rx descriptor address walking logic.
> Reorder the flow control to remove. This refactoring also obsoletes
> the local variables packet_desc_addr and last_desc_addr.
>
> Signed-off-by: Peter Crosthwaite <address@hidden>
> ---
>
> hw/net/cadence_gem.c | 39 ++++++++++-----------------------------
> 1 file changed, 10 insertions(+), 29 deletions(-)
>
> diff --git a/hw/net/cadence_gem.c b/hw/net/cadence_gem.c
> index 3f30caf..73ac0d8 100644
> --- a/hw/net/cadence_gem.c
> +++ b/hw/net/cadence_gem.c
> @@ -586,7 +586,6 @@ static int gem_mac_address_filter(GemState *s, const
> uint8_t *packet)
> static ssize_t gem_receive(NetClientState *nc, const uint8_t *buf, size_t
> size)
> {
> unsigned desc[2];
> - hwaddr packet_desc_addr, last_desc_addr;
> GemState *s;
> unsigned rxbufsize, bytes_to_copy;
> unsigned rxbuf_offset;
> @@ -667,17 +666,16 @@ static ssize_t gem_receive(NetClientState *nc, const
> uint8_t *buf, size_t size)
>
> DB_PRINT("config bufsize: %d packet size: %ld\n", rxbufsize, size);
>
> - packet_desc_addr = s->rx_desc_addr;
> - while (1) {
> - DB_PRINT("read descriptor 0x%x\n", (unsigned)packet_desc_addr);
> + while (bytes_to_copy) {
> + DB_PRINT("read descriptor 0x%x\n", (unsigned)s->rx_desc_addr);
Can we get here with bytes_to_copy == 0 ? The logic sets size to a minimum
of 64 bytes but we've already set up bytes_to_copy before that.
-- PMM
- [Qemu-devel] [PATCH arm-devs v1 00/13] Cadence GEM Bugfixes and missing features, Peter Crosthwaite, 2013/12/02
- [Qemu-devel] [PATCH arm-devs v1 01/13] net/cadence_gem: Implement mac level loopback mode, Peter Crosthwaite, 2013/12/02
- [Qemu-devel] [PATCH arm-devs v1 02/13] net/cadence_gem: Update DMA rx descriptors as we process them, Peter Crosthwaite, 2013/12/02
- [Qemu-devel] [PATCH arm-devs v1 03/13] net/cadence_gem: Don't assert against 0 buffer address, Peter Crosthwaite, 2013/12/02
- [Qemu-devel] [PATCH arm-devs v1 04/13] net/cadence_gem: simplify rx buf descriptor walking, Peter Crosthwaite, 2013/12/02
- Re: [Qemu-devel] [PATCH arm-devs v1 04/13] net/cadence_gem: simplify rx buf descriptor walking,
Peter Maydell <=
- [Qemu-devel] [PATCH arm-devs v1 05/13] net/cadence_gem: Prefetch rx descriptors ASAP, Peter Crosthwaite, 2013/12/02
- [Qemu-devel] [PATCH arm-devs v1 06/13] net/cadence_gem: Implement RX descriptor match mode flags, Peter Crosthwaite, 2013/12/02
- [Qemu-devel] [PATCH arm-devs v1 07/13] net/cadence_gem: Implement SAR match bit in rx desc, Peter Crosthwaite, 2013/12/02
- [Qemu-devel] [PATCH arm-devs v1 08/13] net/cadence_gem: Implement SAR (de)activation, Peter Crosthwaite, 2013/12/02