From: John Feeney <jfeeney@redhat.com> Date: Thu, 30 Sep 2010 21:21:25 -0400 Subject: [net] tg3: re-enable 5717 B0 support Message-id: <4CA4FF55.504@redhat.com> Patchwork-id: 28529 O-Subject: [RHEL5.6 PATCH] tg3: Re-enable 5717 B0 support Bugzilla: 634320 RH-Acked-by: Stanislaw Gruszka <sgruszka@redhat.com> RH-Acked-by: David S. Miller <davem@redhat.com> bz634320 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=634320 tg3: Re-enable 5717 B0 support Description of problem: The 5717 B0 was disabled. Solution: Re-enable it. >From the commit: "This patch adjusts the driver to use the tg3_start_xmit_dma_bug() transmit routine for all revisions of 5717 asic rev devices and then allows the driver to attach to B0 and later devices." Upstream commits: 1. tg3: Unlock 5717 B0+ support 2e9f7a7408d264f01d4477c564ef5c6b610cd10f Note: Only one piece of this upstream patch was used. The second piece was not needed because RHEL-5 does not have netdev_ops. 2. tg3: Relax 5717 serdes restriction 2138c002173abe3e439e213e5cc03b385b20508c Note: Only tg3_get_invariants() piece was used. The RHEL5 version of tg3.c did not have the TG3_FLG2_5780_CLASS change so it did not need to be modified. Brew: Successfully built in Brew for all architectures (task_2785135). Testing: Sanity tested on a number of rhts/beaker systems. Note: We don't have any 5717s in Beaker. Asked Broadcom to test but have not received any feedback yet. Will provide feedback when it comes. Acks would be appreciated. Thanks. Signed-off-by: Jarod Wilson <jarod@redhat.com> diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 9a2e452..e3390f2 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -13682,11 +13682,6 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) GET_CHIP_REV(tp->pci_chip_rev_id) != CHIPREV_5700_BX) tp->coalesce_mode |= HOSTCC_MODE_32BYTE; - if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717 && - (tp->pci_chip_rev_id != CHIPREV_ID_5717_A0 || - (tp->tg3_flags2 & TG3_FLG2_MII_SERDES))) - return -ENOTSUPP; - /* Initialize data/descriptor byte/word swapping. */ val = tr32(GRC_MODE); val &= GRC_MODE_HOST_STACKUP;