Skip to content

Commit bccd8ab

Browse files
maass-hamburgkartben
authored andcommitted
ethernet: stm32: use HAL_ETH_SetMACFilterConfig
use HAL_ETH_SetMACFilterConfig for all soc, that support hal api v2 Signed-off-by: Fin Maaß <[email protected]>
1 parent 6978f24 commit bccd8ab

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

drivers/ethernet/eth_stm32_hal.c

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -258,23 +258,21 @@ static inline void setup_mac_filter(ETH_HandleTypeDef *heth)
258258
{
259259
__ASSERT_NO_MSG(heth != NULL);
260260

261-
#if DT_HAS_COMPAT_STATUS_OKAY(st_stm32h7_ethernet)
261+
#if defined(CONFIG_ETH_STM32_HAL_API_V2)
262262
ETH_MACFilterConfigTypeDef MACFilterConf;
263263

264264
HAL_ETH_GetMACFilterConfig(heth, &MACFilterConf);
265-
#if defined(CONFIG_ETH_STM32_MULTICAST_FILTER)
266-
MACFilterConf.HashMulticast = ENABLE;
267-
MACFilterConf.PassAllMulticast = DISABLE;
268-
#else
269-
MACFilterConf.HashMulticast = DISABLE;
270-
MACFilterConf.PassAllMulticast = ENABLE;
271-
#endif /* CONFIG_ETH_STM32_MULTICAST_FILTER */
265+
266+
MACFilterConf.HashMulticast =
267+
IS_ENABLED(CONFIG_ETH_STM32_MULTICAST_FILTER) ? ENABLE : DISABLE;
268+
MACFilterConf.PassAllMulticast =
269+
IS_ENABLED(CONFIG_ETH_STM32_MULTICAST_FILTER) ? DISABLE : ENABLE;
272270
MACFilterConf.HachOrPerfectFilter = DISABLE;
273271

274272
HAL_ETH_SetMACFilterConfig(heth, &MACFilterConf);
275273

276274
k_sleep(K_MSEC(1));
277-
#else
275+
#else /* CONFIG_ETH_STM32_HAL_API_V2 */
278276
uint32_t tmp = heth->Instance->MACFFR;
279277

280278
/* clear all multicast filter bits, resulting in perfect filtering */
@@ -299,7 +297,7 @@ static inline void setup_mac_filter(ETH_HandleTypeDef *heth)
299297
tmp = heth->Instance->MACFFR;
300298
k_sleep(K_MSEC(1));
301299
heth->Instance->MACFFR = tmp;
302-
#endif /* DT_HAS_COMPAT_STATUS_OKAY(st_stm32h7_ethernet) */
300+
#endif /* CONFIG_ETH_STM32_HAL_API_V2 */
303301
}
304302

305303
#if defined(CONFIG_PTP_CLOCK_STM32_HAL)
@@ -1304,19 +1302,19 @@ static int eth_stm32_hal_get_config(const struct device *dev, enum ethernet_conf
13041302
break;
13051303
case ETHERNET_CONFIG_TYPE_PROMISC_MODE:
13061304
#if defined(CONFIG_NET_PROMISCUOUS_MODE)
1307-
#if DT_HAS_COMPAT_STATUS_OKAY(st_stm32h7_ethernet)
1308-
if (heth->Instance->MACPFR & ETH_MACPFR_PR) {
1309-
config->promisc_mode = true;
1310-
} else {
1311-
config->promisc_mode = false;
1312-
}
1305+
#if defined(CONFIG_ETH_STM32_HAL_API_V2)
1306+
ETH_MACFilterConfigTypeDef MACFilterConf;
1307+
1308+
HAL_ETH_GetMACFilterConfig(heth, &MACFilterConf);
1309+
1310+
config->promisc_mode = (MACFilterConf.PromiscuousMode == ENABLE);
13131311
#else
13141312
if (heth->Instance->MACFFR & ETH_MACFFR_PM) {
13151313
config->promisc_mode = true;
13161314
} else {
13171315
config->promisc_mode = false;
13181316
}
1319-
#endif /* DT_HAS_COMPAT_STATUS_OKAY(st_stm32h7_ethernet) */
1317+
#endif /* CONFIG_ETH_STM32_HAL_API_V2 */
13201318
ret = 0;
13211319
#endif /* CONFIG_NET_PROMISCUOUS_MODE */
13221320
break;
@@ -1354,19 +1352,21 @@ static int eth_stm32_hal_set_config(const struct device *dev,
13541352
break;
13551353
case ETHERNET_CONFIG_TYPE_PROMISC_MODE:
13561354
#if defined(CONFIG_NET_PROMISCUOUS_MODE)
1357-
#if DT_HAS_COMPAT_STATUS_OKAY(st_stm32h7_ethernet)
1358-
if (config->promisc_mode) {
1359-
heth->Instance->MACPFR |= ETH_MACPFR_PR;
1360-
} else {
1361-
heth->Instance->MACPFR &= ~ETH_MACPFR_PR;
1362-
}
1355+
#if defined(CONFIG_ETH_STM32_HAL_API_V2)
1356+
ETH_MACFilterConfigTypeDef MACFilterConf;
1357+
1358+
HAL_ETH_GetMACFilterConfig(heth, &MACFilterConf);
1359+
1360+
MACFilterConf.PromiscuousMode = config->promisc_mode ? ENABLE : DISABLE;
1361+
1362+
HAL_ETH_SetMACFilterConfig(heth, &MACFilterConf);
13631363
#else
13641364
if (config->promisc_mode) {
13651365
heth->Instance->MACFFR |= ETH_MACFFR_PM;
13661366
} else {
13671367
heth->Instance->MACFFR &= ~ETH_MACFFR_PM;
13681368
}
1369-
#endif /* DT_HAS_COMPAT_STATUS_OKAY(st_stm32h7_ethernet) */
1369+
#endif /* CONFIG_ETH_STM32_HAL_API_V2 */
13701370
ret = 0;
13711371
#endif /* CONFIG_NET_PROMISCUOUS_MODE */
13721372
break;

0 commit comments

Comments
 (0)