Why two different Ethernet drivers for MT7621?

Hi, when building latest Lede (with EdgerouterX target) I realized that it isn't using the MT7621 Ethernet driver that is coming with vanilla Linux kernel (.../drivers/net/ethernet/mediatek) but instead adds its own driver to kernel source (.../drivers/net/ethernet/mtk).

My first idea was that the Lede driver might be newer/superior. On the other hand the driver from vanilla kernel is using QDMA. Which seems to be better/faster or the like.

Maybe somebody can help me to understand the intention of maintaining two different drivers. In the best case also what features and performance differences there are.

Many thanks,

Probably because it doesn't support mt7621 as is.

I see. So the driver in the kernel might not even work with MT7621. Instead maybe only with MT7622 and MT7628.

const struct of_device_id of_mtk_match[] = {
{ .compatible = "mediatek,mt2701-eth", .data = &mt2701_data},
{ .compatible = "mediatek,mt7622-eth", .data = &mt7622_data},
{ .compatible = "mediatek,mt7623-eth", .data = &mt7623_data},