[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 06/34] e1000e: Introduce E1000E_LOW_BITS_SET_FUNC
From: |
Akihiko Odaki |
Subject: |
[PATCH v6 06/34] e1000e: Introduce E1000E_LOW_BITS_SET_FUNC |
Date: |
Thu, 23 Feb 2023 19:19:50 +0900 |
e1000e_set_16bit and e1000e_set_12bit look so similar so define a
generic macro.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
hw/net/e1000e_core.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c
index 181c1e0c2a..1cafc38f50 100644
--- a/hw/net/e1000e_core.c
+++ b/hw/net/e1000e_core.c
@@ -2440,17 +2440,15 @@ e1000e_set_fcrtl(E1000ECore *core, int index, uint32_t
val)
core->mac[FCRTL] = val & 0x8000FFF8;
}
-static inline void
-e1000e_set_16bit(E1000ECore *core, int index, uint32_t val)
-{
- core->mac[index] = val & 0xffff;
-}
+#define E1000E_LOW_BITS_SET_FUNC(num) \
+ static void \
+ e1000e_set_##num##bit(E1000ECore *core, int index, uint32_t val) \
+ { \
+ core->mac[index] = val & (BIT(num) - 1); \
+ }
-static void
-e1000e_set_12bit(E1000ECore *core, int index, uint32_t val)
-{
- core->mac[index] = val & 0xfff;
-}
+E1000E_LOW_BITS_SET_FUNC(12)
+E1000E_LOW_BITS_SET_FUNC(16)
static void
e1000e_set_vet(E1000ECore *core, int index, uint32_t val)
--
2.39.1
- [PATCH v6 00/34] e1000x cleanups (preliminary for IGB), Akihiko Odaki, 2023/02/23
- [PATCH v6 01/34] e1000e: Fix the code style, Akihiko Odaki, 2023/02/23
- [PATCH v6 02/34] hw/net: Add more MII definitions, Akihiko Odaki, 2023/02/23
- [PATCH v6 03/34] fsl_etsec: Use hw/net/mii.h, Akihiko Odaki, 2023/02/23
- [PATCH v6 04/34] e1000: Use hw/net/mii.h, Akihiko Odaki, 2023/02/23
- [PATCH v6 05/34] e1000: Mask registers when writing, Akihiko Odaki, 2023/02/23
- [PATCH v6 06/34] e1000e: Introduce E1000E_LOW_BITS_SET_FUNC,
Akihiko Odaki <=
- [PATCH v6 07/34] e1000e: Mask registers when writing, Akihiko Odaki, 2023/02/23
- [PATCH v6 08/34] e1000: Use more constant definitions, Akihiko Odaki, 2023/02/23
- [PATCH v6 09/34] e1000e: Use more constant definitions, Akihiko Odaki, 2023/02/23
- [PATCH v6 10/34] e1000: Use memcpy to intialize registers, Akihiko Odaki, 2023/02/23
- [PATCH v6 11/34] e1000e: Use memcpy to intialize registers, Akihiko Odaki, 2023/02/23
- [PATCH v6 12/34] e1000e: Remove pending interrupt flags, Akihiko Odaki, 2023/02/23
- [PATCH v6 13/34] e1000e: Improve software reset, Akihiko Odaki, 2023/02/23
- [PATCH v6 14/34] e1000: Configure ResettableClass, Akihiko Odaki, 2023/02/23
- [PATCH v6 15/34] e1000e: Configure ResettableClass, Akihiko Odaki, 2023/02/23
- [PATCH v6 16/34] e1000e: Introduce e1000_rx_desc_union, Akihiko Odaki, 2023/02/23