atl1: change cmb write threshold

Change the threshold number of descriptors used to trigger CMB writes.
The vendor reports that under certain conditions this will reduce the
number of unnecessary tx interrupts and improve rx performance.

This change is lifted directly from vendor version 1.2.40.2 of the L1
driver.

Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Jay Cliburn 2007-07-19 18:45:12 -05:00 коммит произвёл Jeff Garzik
Родитель 3f516c00d4
Коммит 91a500ac56
1 изменённых файлов: 4 добавлений и 1 удалений

Просмотреть файл

@ -917,7 +917,10 @@ static u32 atl1_configure(struct atl1_adapter *adapter)
iowrite32(value, hw->hw_addr + REG_DMA_CTRL); iowrite32(value, hw->hw_addr + REG_DMA_CTRL);
/* config CMB / SMB */ /* config CMB / SMB */
value = hw->cmb_rrd | ((u32) hw->cmb_tpd << 16); value = (hw->cmb_tpd > adapter->tpd_ring.count) ?
hw->cmb_tpd : adapter->tpd_ring.count;
value <<= 16;
value |= hw->cmb_rrd;
iowrite32(value, hw->hw_addr + REG_CMB_WRITE_TH); iowrite32(value, hw->hw_addr + REG_CMB_WRITE_TH);
value = hw->cmb_rx_timer | ((u32) hw->cmb_tx_timer << 16); value = hw->cmb_rx_timer | ((u32) hw->cmb_tx_timer << 16);
iowrite32(value, hw->hw_addr + REG_CMB_WRITE_TIMER); iowrite32(value, hw->hw_addr + REG_CMB_WRITE_TIMER);