[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH-for-9.1 v2 05/11] hw/net/lan9118: Add definitions for FIFO al
|
From: |
Peter Maydell |
|
Subject: |
Re: [PATCH-for-9.1 v2 05/11] hw/net/lan9118: Add definitions for FIFO allocated sizes |
|
Date: |
Tue, 9 Apr 2024 14:52:47 +0100 |
On Tue, 9 Apr 2024 at 14:39, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> Add definitions for the TX_FIF_SZ=5 case, per TABLE 5-3
> "VALID TX/RX FIFO ALLOCATIONS".
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> hw/net/lan9118.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/hw/net/lan9118.c b/hw/net/lan9118.c
> index a6a869de32..00409927fe 100644
> --- a/hw/net/lan9118.c
> +++ b/hw/net/lan9118.c
> @@ -158,6 +158,17 @@ do { printf("lan9118: " fmt , ## __VA_ARGS__); } while
> (0)
> */
> #define MIL_TXFIFO_SIZE 2048
>
> +/*
> + * TX and RX FIFO space is configurable through the TX FIFO Size (TX_FIF_SZ)
> + * field in the hardware configuration (CSR HW_CFG) register. These are the
> + * default configuration settings for TX_FIF_SZ = 5
> + * (see TABLE 5-3: VALID TX/RX FIFO ALLOCATIONS).
> + */
> +#define TX_DATA_FIFO_BYTES 4608 /* 1152 words */
> +#define TX_STATUS_FIFO_BYTES 512 /* 128 words */
> +#define RX_DATA_FIFO_BYTES 10560 /* 2640 words */
> +#define RX_STATUS_FIFO_BYTES 704 /* 176 words */
We could make these do the actual calculations, rather
than hardcoding the results:
#define TX_STATUS_FIFO_BYTES 512
#define TX_TOTAL_FIFO_BYTES(TX_FIF_SZ) (1024 * (TX_FIF_SZ))
#define RX_TOTAL_FIFO_BYTES(TX_FIF_SZ) (16384 - TX_TOTAL_FIFO_BYTES(TX_FIF_SZ))
#define TX_DATA_FIFO_BYTES(TX_FIF_SZ) (TX_TOTAL_FIFO_BYTES(TX_FIF_SZ)
- TX_STATUS_FIFO_BYTES)
#define RX_STATUS_FIFO_BYTES (RX_TOTAL_FIFO_BYTES(TX_FIF_SZ) >> 4)
#define RX_DATA_FIFO_BYTES(TX_FIF_SZ) \
(RX_TOTAL_FIFO_BYTES(TX_FIF_SZ) - RX_STATUS_FIFO_BYTES(TX_FIF_SZ))
thanks
-- PMM
- [PATCH-for-9.0 v2 01/11] hw/net/lan9118: Replace magic '2048' value by MIL_TXFIFO_SIZE definition, (continued)
- [PATCH-for-9.0 v2 01/11] hw/net/lan9118: Replace magic '2048' value by MIL_TXFIFO_SIZE definition, Philippe Mathieu-Daudé, 2024/04/09
- [PATCH-for-9.0 v2 02/11] hw/net/lan9118: Fix overflow in MIL TX FIFO, Philippe Mathieu-Daudé, 2024/04/09
- [PATCH-for-9.1 v2 03/11] hw/net/lan9118: Remove duplicated assignment, Philippe Mathieu-Daudé, 2024/04/09
- [PATCH-for-9.1 v2 04/11] hw/net/lan9118: Replace magic '5' value by TX_FIF_SZ_RESET definition, Philippe Mathieu-Daudé, 2024/04/09
- [PATCH-for-9.1 v2 06/11] hw/net/lan9118: Use TX_DATA_FIFO_BYTES definition, Philippe Mathieu-Daudé, 2024/04/09
- [PATCH-for-9.1 v2 05/11] hw/net/lan9118: Add definitions for FIFO allocated sizes, Philippe Mathieu-Daudé, 2024/04/09
- Re: [PATCH-for-9.1 v2 05/11] hw/net/lan9118: Add definitions for FIFO allocated sizes,
Peter Maydell <=
- [PATCH-for-9.1 v2 08/11] hw/net/lan9118: Use RX_STATUS_FIFO_BYTES definition, Philippe Mathieu-Daudé, 2024/04/09
- [PATCH-for-9.1 v2 09/11] hw/net/lan9118: Rename rx_status_fifo_size -> rx_status_fifo_wordcount, Philippe Mathieu-Daudé, 2024/04/09
- [PATCH-for-9.1 v2 10/11] hw/net/lan9118: Use RX_DATA_FIFO_BYTES definition, Philippe Mathieu-Daudé, 2024/04/09
- [PATCH-for-9.1 v2 11/11] hw/net/lan9118: Rename rx_fifo_size -> rx_fifo_wordcount, Philippe Mathieu-Daudé, 2024/04/09
- [PATCH-for-9.1 v2 07/11] hw/net/lan9118: Rename tx_fifo_size -> tx_fifo_bytes, Philippe Mathieu-Daudé, 2024/04/09
- Re: [PATCH-for-9.0 v2 00/11] hw/net/lan9118: Fix overflow in TX FIFO, Philippe Mathieu-Daudé, 2024/04/09