[PATCH net-next v10 03/11] net: ti: prueth: Adds PRUETH HW and SW configuration
Jakub Kicinski
kuba at kernel.org
Tue Jul 8 17:53:01 PDT 2025
On Wed, 2 Jul 2025 19:36:25 +0530 Parvathi Pudi wrote:
> diff --git a/drivers/net/ethernet/ti/icssm/icssm_prueth.c b/drivers/net/ethernet/ti/icssm/icssm_prueth.c
> index aed5cdc402b5..f52858da89d4 100644
> --- a/drivers/net/ethernet/ti/icssm/icssm_prueth.c
> +++ b/drivers/net/ethernet/ti/icssm/icssm_prueth.c
> + txcfg = PRUSS_MII_RT_TXCFG_TX_ENABLE |
> + PRUSS_MII_RT_TXCFG_TX_AUTO_PREAMBLE |
> + PRUSS_MII_RT_TXCFG_TX_32_MODE_EN |
> + (TX_START_DELAY << PRUSS_MII_RT_TXCFG_TX_START_DELAY_SHIFT) |
> + (TX_CLK_DELAY_100M << PRUSS_MII_RT_TXCFG_TX_CLK_DELAY_SHIFT);
> + /* Min frame length should be set to 64 to allow receive of standard
> + * Ethernet frames such as PTP, LLDP that will not have the tag/rct.
> + * Actual size written to register is size - 1 per TRM. This also
> + * includes CRC/FCS.
> + */
> + txcfg = (((PRUSS_MII_RT_RX_FRMS_MIN_FRM - 1) <<
> + PRUSS_MII_RT_RX_FRMS_MIN_FRM_SHIFT) &
> + PRUSS_MII_RT_RX_FRMS_MIN_FRM_MASK);
Please use FIELD_PREP() instead of defining separate _MASK and _SHIFT
values.
> + /* For EMAC, set Max frame size to 1528 i.e size with VLAN.
> + * Actual size written to register is size - 1 as per TRM.
> + * Since driver support run time change of protocol, driver
> + * must overwrite the values based on Ethernet type.
> + */
> + txcfg |= (((PRUSS_MII_RT_RX_FRMS_MAX_SUPPORT_EMAC - 1) <<
> + PRUSS_MII_RT_RX_FRMS_MAX_FRM_SHIFT) &
> + PRUSS_MII_RT_RX_FRMS_MAX_FRM_MASK);
> +struct prueth_queue_desc {
> + u16 rd_ptr;
> + u16 wr_ptr;
> + u8 busy_s;
> + u8 status;
> + u8 max_fill_level;
> + u8 overflow_cnt;
> +} __packed;
Please don't use __packed if the struct will be packed anyway based on
C packing rules.
More information about the linux-arm-kernel
mailing list