Re: [PATCH net-next 3/4] net-next: ethernet: mediatek: add CDM able to recognize the tag for DSA

From: Andrew Lunn
Date: Mon Mar 13 2017 - 12:31:10 EST


On Tue, Mar 14, 2017 at 12:11:27AM +0800, sean.wang@xxxxxxxxxxxx wrote:
> From: Sean Wang <sean.wang@xxxxxxxxxxxx>
>
> Allowing CDM can recognize these packets with carrying port-distinguishing
> tag when CONFIG_NET_DSA_TAG_MTK is enabled. Otherwise, these packets will
> be dropped by CDM ingress.
>
> Signed-off-by: Sean Wang <sean.wang@xxxxxxxxxxxx>
> Signed-off-by: Landen Chao <Landen.Chao@xxxxxxxxxxxx>
> ---
> drivers/net/ethernet/mediatek/mtk_eth_soc.c | 8 ++++++++
> drivers/net/ethernet/mediatek/mtk_eth_soc.h | 5 +++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> index 3dd8788..19944e0 100644
> --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> @@ -1848,6 +1848,14 @@ static int mtk_hw_init(struct mtk_eth *eth)
> /* GE2, Force 1000M/FD, FC ON */
> mtk_w32(eth, MAC_MCR_FIXED_LINK, MTK_MAC_MCR(1));
>
> +#if defined(CONFIG_NET_DSA_TAG_MTK)
> + /* Tell CDMQ to parse the MTK special tag from CPU */
> + /* QDMA Tx Use CDMQ */
> + u32 val2 = mtk_r32(eth, MTK_CDMQ_IG_CTRL);
> +
> + mtk_w32(eth, val2 | MTK_CDMQ_STAG_EN, MTK_CDMQ_IG_CTRL);
> +#endif

Hi Sean

Does this need to be conditional on CONFIG_NET_DSA_TAG_MTK?
Is there any downside on always having MTK_CDMQ_STAG_EN set?

Thanks
Andrew