View | Details | Raw Unified | Return to bug 216734
Collapse All | Expand All

(-)sys/dev/e1000/if_em.c (-2 / +40 lines)
Lines 2236-2241 Link Here
2236
	case e1000_pch_spt:
2236
	case e1000_pch_spt:
2237
		pba = E1000_PBA_26K;
2237
		pba = E1000_PBA_26K;
2238
		break;
2238
		break;
2239
	case e1000_82575:
2240
  		pba = E1000_PBA_32K;
2241
		break;
2242
	case e1000_82576:
2243
	case e1000_vfadapt:
2244
		pba = E1000_READ_REG(hw, E1000_RXPBS);
2245
		pba &= E1000_RXPBS_SIZE_MASK_82576;
2246
		break;
2247
	case e1000_82580:
2248
	case e1000_i350:
2249
	case e1000_i354:
2250
	case e1000_vfadapt_i350:
2251
		pba = E1000_READ_REG(hw, E1000_RXPBS);
2252
		pba = e1000_rxpbs_adjust_82580(pba);
2253
		break;
2254
	case e1000_i210:
2255
	case e1000_i211:
2256
		pba = E1000_PBA_34K;
2257
		break;
2239
	default:
2258
	default:
2240
		if (adapter->hw.mac.max_frame_size > 8192)
2259
		if (adapter->hw.mac.max_frame_size > 8192)
2241
			pba = E1000_PBA_40K; /* 40K for Rx, 24K for Tx */
2260
			pba = E1000_PBA_40K; /* 40K for Rx, 24K for Tx */
Lines 2242-2248 Link Here
2242
		else
2261
		else
2243
			pba = E1000_PBA_48K; /* 48K for Rx, 16K for Tx */
2262
			pba = E1000_PBA_48K; /* 48K for Rx, 16K for Tx */
2244
	}
2263
	}
2245
	E1000_WRITE_REG(&adapter->hw, E1000_PBA, pba);
2264
	if(hw->mac.type<igb_mac_min) {
2265
	  E1000_WRITE_REG(&adapter->hw, E1000_PBA, pba);
2266
	}
2267
	
2268
	INIT_DEBUGOUT1("em_reset: pba=%dK",pba);
2246
2269
2247
	/*
2270
	/*
2248
	 * These parameters control the automatic generation (Tx) and
2271
	 * These parameters control the automatic generation (Tx) and
Lines 2258-2264 Link Here
2258
	 *   by 1500.
2281
	 *   by 1500.
2259
	 * - The pause time is fairly large at 1000 x 512ns = 512 usec.
2282
	 * - The pause time is fairly large at 1000 x 512ns = 512 usec.
2260
	 */
2283
	 */
2261
	rx_buffer_size = ((E1000_READ_REG(hw, E1000_PBA) & 0xffff) << 10 );
2284
	rx_buffer_size = (pba & 0xffff) << 10;
2262
	hw->fc.high_water = rx_buffer_size -
2285
	hw->fc.high_water = rx_buffer_size -
2263
	    roundup2(adapter->hw.mac.max_frame_size, 1024);
2286
	    roundup2(adapter->hw.mac.max_frame_size, 1024);
2264
	hw->fc.low_water = hw->fc.high_water - 1500;
2287
	hw->fc.low_water = hw->fc.high_water - 1500;
Lines 2303-2308 Link Here
2303
		else
2326
		else
2304
			E1000_WRITE_REG(hw, E1000_PBA, 26);
2327
			E1000_WRITE_REG(hw, E1000_PBA, 26);
2305
		break;
2328
		break;
2329
	case e1000_82575:
2330
	case e1000_82576:
2331
		/* 8-byte granularity */
2332
		hw->fc.low_water = hw->fc.high_water - 8;
2333
		break;
2334
	case e1000_82580:
2335
	case e1000_i350:
2336
	case e1000_i354:
2337
	case e1000_i210:
2338
	case e1000_i211:
2339
	case e1000_vfadapt:
2340
	case e1000_vfadapt_i350:
2341
		/* 16-byte granularity */
2342
		hw->fc.low_water = hw->fc.high_water - 16;
2343
		break; 
2306
        case e1000_ich9lan:
2344
        case e1000_ich9lan:
2307
        case e1000_ich10lan:
2345
        case e1000_ich10lan:
2308
		if (if_getmtu(ifp) > ETHERMTU) {
2346
		if (if_getmtu(ifp) > ETHERMTU) {

Return to bug 216734