case e1000_82547_rev_2: 
e1000_reset(struct e1000_adapter *adapter){	uint32_t pba, manc;	/* Repartition Pba for greater than 9k mtu	 * To take effect CTRL.RST is required.	 */	switch (adapter->hw.mac_type) {	case e1000_82547:		pba = E1000_PBA_30K;		break;	case e1000_82573:		pba = E1000_PBA_12K;		break;	default:		pba = E1000_PBA_48K;		break;	}	if(adapter->hw.mac_type == e1000_82547) {		adapter->tx_fifo_head = 0;		adapter->tx_head_addr = pba << E1000_TX_HEAD_ADDR_SHIFT;		adapter->tx_fifo_size =			(E1000_PBA_40K - pba) << E1000_PBA_BYTES_SHIFT;		atomic_set(&adapter->tx_fifo_stall, 0);	}	E1000_WRITE_REG(&adapter->hw, PBA, pba);	/* flow control settings */	adapter->hw.fc_high_water = (pba << E1000_PBA_BYTES_SHIFT) -				    E1000_FC_HIGH_DIFF;	adapter->hw.fc_low_water = (pba << E1000_PBA_BYTES_SHIFT) -				   E1000_FC_LOW_DIFF;	adapter->hw.fc_pause_time = E1000_FC_PAUSE_TIME;	adapter->hw.fc_send_xon = 1;	adapter->hw.fc = adapter->hw.original_fc;	/* Allow time for pending master requests to run */	e1000_reset_hw(&adapter->hw);	if(adapter->hw.mac_type >= e1000_82544)		E1000_WRITE_REG(&adapter->hw, WUC, 0);	if(e1000_init_hw(&adapter->hw))		DPRINTK(PROBE, ERR, "Hardware Error\n");	e1000_update_mng_vlan(adapter);	/* Enable h/w to recognize an 802.1Q VLAN Ethernet packet */	E1000_WRITE_REG(&adapter->hw, VET, ETHERNET_IEEE_VLAN_TYPE);	e1000_reset_adaptive(&adapter->hw);	e1000_phy_get_info(&adapter->hw, &adapter->phy_info);	if (adapter->en_mng_pt) {		manc = E1000_READ_REG(&adapter->hw, MANC);		manc |= (E1000_MANC_ARP_EN | E1000_MANC_EN_MNG2HOST);		E1000_WRITE_REG(&adapter->hw, MANC, manc);	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0e6ef3e02b6f07e37ba1c1abc059f8bee4e0847f/e1000_main.c/clean/drivers/net/e1000/e1000_main.c