aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-01-09 21:54:32 -0500
committerDavid S. Miller <davem@davemloft.net>2011-01-10 16:31:14 -0500
commitc599bd6b9ac8926b03e6bf332a8c14ae2ffb43a3 (patch)
tree353f7dc0114794bb9b78ceae4c42c724ef0d10e2 /drivers
parent2d70a3d42de642e1d78355338b63cf064dc0f345 (diff)
netdev: bfin_mac: let boards set vlan masks
Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/bfin_mac.c7
-rw-r--r--drivers/net/bfin_mac.h3
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c
index e712be4a6433..0b9fc5173aef 100644
--- a/drivers/net/bfin_mac.c
+++ b/drivers/net/bfin_mac.c
@@ -588,6 +588,10 @@ static void setup_system_regs(struct net_device *dev)
588 588
589 bfin_write_EMAC_MMC_CTL(RSTC | CROLL); 589 bfin_write_EMAC_MMC_CTL(RSTC | CROLL);
590 590
591 /* Set vlan regs to let 1522 bytes long packets pass through */
592 bfin_write_EMAC_VLAN1(lp->vlan1_mask);
593 bfin_write_EMAC_VLAN2(lp->vlan2_mask);
594
591 /* Initialize the TX DMA channel registers */ 595 /* Initialize the TX DMA channel registers */
592 bfin_write_DMA2_X_COUNT(0); 596 bfin_write_DMA2_X_COUNT(0);
593 bfin_write_DMA2_X_MODIFY(4); 597 bfin_write_DMA2_X_MODIFY(4);
@@ -1520,6 +1524,9 @@ static int __devinit bfin_mac_probe(struct platform_device *pdev)
1520 goto out_err_mii_probe; 1524 goto out_err_mii_probe;
1521 } 1525 }
1522 1526
1527 lp->vlan1_mask = ETH_P_8021Q | mii_bus_data->vlan1_mask;
1528 lp->vlan2_mask = ETH_P_8021Q | mii_bus_data->vlan2_mask;
1529
1523 /* Fill in the fields of the device structure with ethernet values. */ 1530 /* Fill in the fields of the device structure with ethernet values. */
1524 ether_setup(ndev); 1531 ether_setup(ndev);
1525 1532
diff --git a/drivers/net/bfin_mac.h b/drivers/net/bfin_mac.h
index 692187da99f0..f8559ac9a403 100644
--- a/drivers/net/bfin_mac.h
+++ b/drivers/net/bfin_mac.h
@@ -82,6 +82,9 @@ struct bfin_mac_local {
82 struct timer_list tx_reclaim_timer; 82 struct timer_list tx_reclaim_timer;
83 struct net_device *ndev; 83 struct net_device *ndev;
84 84
85 /* Data for EMAC_VLAN1 regs */
86 u16 vlan1_mask, vlan2_mask;
87
85 /* MII and PHY stuffs */ 88 /* MII and PHY stuffs */
86 int old_link; /* used by bf537_adjust_link */ 89 int old_link; /* used by bf537_adjust_link */
87 int old_speed; 90 int old_speed;