[PATCH 3/5] atl1: change cmb write threshold

2007-07-19 Thread Jay Cliburn
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 <[EMAIL PROTECTED]>
---
 drivers/net/atl1/atl1_main.c |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/net/atl1/atl1_main.c b/drivers/net/atl1/atl1_main.c
index 3b8f633..6aa2dc3 100644
--- a/drivers/net/atl1/atl1_main.c
+++ b/drivers/net/atl1/atl1_main.c
@@ -917,7 +917,10 @@ static u32 atl1_configure(struct atl1_adapter *adapter)
iowrite32(value, hw->hw_addr + REG_DMA_CTRL);
 
/* 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);
value = hw->cmb_rx_timer | ((u32) hw->cmb_tx_timer << 16);
iowrite32(value, hw->hw_addr + REG_CMB_WRITE_TIMER);
-- 
1.5.2.2

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 3/5] atl1: change cmb write threshold

2007-07-19 Thread Jay Cliburn
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 [EMAIL PROTECTED]
---
 drivers/net/atl1/atl1_main.c |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/net/atl1/atl1_main.c b/drivers/net/atl1/atl1_main.c
index 3b8f633..6aa2dc3 100644
--- a/drivers/net/atl1/atl1_main.c
+++ b/drivers/net/atl1/atl1_main.c
@@ -917,7 +917,10 @@ static u32 atl1_configure(struct atl1_adapter *adapter)
iowrite32(value, hw-hw_addr + REG_DMA_CTRL);
 
/* 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);
value = hw-cmb_rx_timer | ((u32) hw-cmb_tx_timer  16);
iowrite32(value, hw-hw_addr + REG_CMB_WRITE_TIMER);
-- 
1.5.2.2

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/