iwlagn: update write pointers in iwl_irq_tasklet()
Follow-up to "update write pointers for all tx queues after wakeup"; that patch changed iwl_irq_tasklet_legacy(), but not iwl_irq_tasklet(), so newer devices were not covered. Comments from original patch: Wakeup interrupt has been updating write pointers (indexes, actually) only for tx queues 0-5. This is adequate just for 3945, but inadequate for other devices, all of which have more tx queues. Now updating all tx/command queues, so device can be aware of all new tx and host commands enqueued while device was asleep. This can potentially improve data traffic bandwidth and/or latency. Signed-off-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
a7e6611034
commit
8756990f99
|
@ -1084,6 +1084,7 @@ static void iwl_irq_tasklet(struct iwl_priv *priv)
|
||||||
u32 inta = 0;
|
u32 inta = 0;
|
||||||
u32 handled = 0;
|
u32 handled = 0;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
u32 i;
|
||||||
#ifdef CONFIG_IWLWIFI_DEBUG
|
#ifdef CONFIG_IWLWIFI_DEBUG
|
||||||
u32 inta_mask;
|
u32 inta_mask;
|
||||||
#endif
|
#endif
|
||||||
|
@ -1194,12 +1195,8 @@ static void iwl_irq_tasklet(struct iwl_priv *priv)
|
||||||
if (inta & CSR_INT_BIT_WAKEUP) {
|
if (inta & CSR_INT_BIT_WAKEUP) {
|
||||||
IWL_DEBUG_ISR(priv, "Wakeup interrupt\n");
|
IWL_DEBUG_ISR(priv, "Wakeup interrupt\n");
|
||||||
iwl_rx_queue_update_write_ptr(priv, &priv->rxq);
|
iwl_rx_queue_update_write_ptr(priv, &priv->rxq);
|
||||||
iwl_txq_update_write_ptr(priv, &priv->txq[0]);
|
for (i = 0; i < priv->hw_params.max_txq_num; i++)
|
||||||
iwl_txq_update_write_ptr(priv, &priv->txq[1]);
|
iwl_txq_update_write_ptr(priv, &priv->txq[i]);
|
||||||
iwl_txq_update_write_ptr(priv, &priv->txq[2]);
|
|
||||||
iwl_txq_update_write_ptr(priv, &priv->txq[3]);
|
|
||||||
iwl_txq_update_write_ptr(priv, &priv->txq[4]);
|
|
||||||
iwl_txq_update_write_ptr(priv, &priv->txq[5]);
|
|
||||||
|
|
||||||
priv->isr_stats.wakeup++;
|
priv->isr_stats.wakeup++;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue