diff options
| author | Akihiko Odaki <akihiko.odaki@daynix.com> | 2023-02-23 19:19:50 +0900 |
|---|---|---|
| committer | Jason Wang <jasowang@redhat.com> | 2023-03-10 15:35:38 +0800 |
| commit | 3de66fe4d7e4716c8fd544dfad5cc5e445ced12c (patch) | |
| tree | e16f11d5d0f0ab1154cd527577521316bac24e4d /hw | |
| parent | a9484b8a417246b5ebb1d3b8c41b58a7e0862a72 (diff) | |
| download | focaccia-qemu-3de66fe4d7e4716c8fd544dfad5cc5e445ced12c.tar.gz focaccia-qemu-3de66fe4d7e4716c8fd544dfad5cc5e445ced12c.zip | |
e1000e: Introduce E1000E_LOW_BITS_SET_FUNC
e1000e_set_16bit and e1000e_set_12bit look so similar so define a generic macro. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'hw')
| -rw-r--r-- | hw/net/e1000e_core.c | 18 |
1 files 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) |