[PATCH v2 1/1 net-next] NET: FEC: dynamtic check DMA desc buff type
From: Lothar Waßmann <hidden>
Date: 2012-12-28 14:45:32
Also in:
netdev
Frank Li writes:
MX6 and mx28 support enhanced DMA descript buff to support 1588 ptp. But MX25, MX3x, MX5x can't support enhanced DMA descript buff. Check fec type and choose correct DAM descript buff type.
^^^ s/DAM/DMA/ s/descript/descriptor/g [...]
quoted hunk ↗ jump to hunk
diff --git a/drivers/net/ethernet/freescale/fec.c b/drivers/net/ethernet/freescale/fec.c index 0704bca..290f91c 100644 --- a/drivers/net/ethernet/freescale/fec.c +++ b/drivers/net/ethernet/freescale/fec.c@@ -76,6 +76,8 @@ #define FEC_QUIRK_USE_GASKET (1 << 2) /* Controller has GBIT support */ #define FEC_QUIRK_HAS_GBIT (1 << 3) +/* Controller has extend desc buffer */ +#define FEC_QUICK_HAS_BUFDESC_EX (1 << 4)
^^^^^ As Sascha has already pointed out, this should be 'QUIRK' rather than 'QUICK' (like in the preceeding lines)!
quoted hunk ↗ jump to hunk
static struct platform_device_id fec_devtype[] = { {@@ -93,7 +95,8 @@ static struct platform_device_id fec_devtype[] = { .driver_data = FEC_QUIRK_ENET_MAC | FEC_QUIRK_SWAP_FRAME, }, { .name = "imx6q-fec", - .driver_data = FEC_QUIRK_ENET_MAC | FEC_QUIRK_HAS_GBIT, + .driver_data = FEC_QUIRK_ENET_MAC | FEC_QUIRK_HAS_GBIT | + FEC_QUICK_HAS_BUFDESC_EX,
^^^^^ same as above. [...]
quoted hunk ↗ jump to hunk
@@ -1574,6 +1617,8 @@ fec_probe(struct platform_device *pdev) fep->pdev = pdev; fep->dev_id = dev_id++; + fep->bufdesc_ex = 0; + if (!fep->hwp) { ret = -ENOMEM; goto failed_ioremap;@@ -1628,19 +1673,19 @@ fec_probe(struct platform_device *pdev) goto failed_clk; } -#ifdef CONFIG_FEC_PTP fep->clk_ptp = devm_clk_get(&pdev->dev, "ptp"); + fep->bufdesc_ex = + pdev->id_entry->driver_data & FEC_QUICK_HAS_BUFDESC_EX;
^^^^^ same as above. Lothar Wa?mann -- ___________________________________________________________ Ka-Ro electronics GmbH | Pascalstra?e 22 | D - 52076 Aachen Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10 Gesch?ftsf?hrer: Matthias Kaussen Handelsregistereintrag: Amtsgericht Aachen, HRB 4996 www.karo-electronics.de | info at karo-electronics.de ___________________________________________________________