DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] i40e: fix of PF interrupt handling
@ 2014-11-04  8:08 Helin Zhang
  2014-11-04  8:13 ` Chen, Jing D
  0 siblings, 1 reply; 3+ messages in thread
From: Helin Zhang @ 2014-11-04  8:08 UTC (permalink / raw)
  To: dev

'PFINT_ICR0_ENA' shouldn't be cleared in user space ISR,
otherwise adminq interrupts might be missed during
co-working with VF initialization.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
---
 lib/librte_pmd_i40e/i40e_ethdev.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/lib/librte_pmd_i40e/i40e_ethdev.c b/lib/librte_pmd_i40e/i40e_ethdev.c
index 661d146..ea10c26 100644
--- a/lib/librte_pmd_i40e/i40e_ethdev.c
+++ b/lib/librte_pmd_i40e/i40e_ethdev.c
@@ -3574,7 +3574,6 @@ i40e_dev_interrupt_delayed_handler(void *param)
 	i40e_dev_link_update(dev, 0);
 	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC);
 
-	I40E_WRITE_REG(hw, I40E_PFINT_ICR0_ENA, I40E_PFINT_ICR0_ENA_MASK);
 	i40e_pf_enable_irq0(hw);
 	rte_intr_enable(&(dev->pci_dev->intr_handle));
 }
@@ -3601,7 +3600,6 @@ i40e_dev_interrupt_handler(__rte_unused struct rte_intr_handle *handle,
 
 	/* Disable interrupt */
 	i40e_pf_disable_irq0(hw);
-	I40E_WRITE_REG(hw, I40E_PFINT_ICR0_ENA, 0);
 
 	/* read out interrupt causes */
 	icr0 = I40E_READ_REG(hw, I40E_PFINT_ICR0);
@@ -3663,7 +3661,6 @@ i40e_dev_interrupt_handler(__rte_unused struct rte_intr_handle *handle,
 
 done:
 	/* Enable interrupt */
-	I40E_WRITE_REG(hw, I40E_PFINT_ICR0_ENA, I40E_PFINT_ICR0_ENA_MASK);
 	i40e_pf_enable_irq0(hw);
 	rte_intr_enable(&(dev->pci_dev->intr_handle));
 }
-- 
1.8.1.4

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] i40e: fix of PF interrupt handling
  2014-11-04  8:08 [dpdk-dev] [PATCH] i40e: fix of PF interrupt handling Helin Zhang
@ 2014-11-04  8:13 ` Chen, Jing D
  2014-11-04 10:20   ` Thomas Monjalon
  0 siblings, 1 reply; 3+ messages in thread
From: Chen, Jing D @ 2014-11-04  8:13 UTC (permalink / raw)
  To: Zhang, Helin, dev



> -----Original Message-----
> From: Zhang, Helin
> Sent: Tuesday, November 04, 2014 4:08 PM
> To: dev@dpdk.org
> Cc: Cao, Waterman; Cao, Min; Xu, HuilongX; Chen, Jing D; Zhang, Helin
> Subject: [PATCH] i40e: fix of PF interrupt handling
> 
> 'PFINT_ICR0_ENA' shouldn't be cleared in user space ISR,
> otherwise adminq interrupts might be missed during
> co-working with VF initialization.
> 
> Signed-off-by: Helin Zhang <helin.zhang@intel.com>
> ---
>  lib/librte_pmd_i40e/i40e_ethdev.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/lib/librte_pmd_i40e/i40e_ethdev.c
> b/lib/librte_pmd_i40e/i40e_ethdev.c
> index 661d146..ea10c26 100644
> --- a/lib/librte_pmd_i40e/i40e_ethdev.c
> +++ b/lib/librte_pmd_i40e/i40e_ethdev.c
> @@ -3574,7 +3574,6 @@ i40e_dev_interrupt_delayed_handler(void *param)
>  	i40e_dev_link_update(dev, 0);
>  	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC);
> 
> -	I40E_WRITE_REG(hw, I40E_PFINT_ICR0_ENA,
> I40E_PFINT_ICR0_ENA_MASK);
>  	i40e_pf_enable_irq0(hw);
>  	rte_intr_enable(&(dev->pci_dev->intr_handle));
>  }
> @@ -3601,7 +3600,6 @@ i40e_dev_interrupt_handler(__rte_unused struct
> rte_intr_handle *handle,
> 
>  	/* Disable interrupt */
>  	i40e_pf_disable_irq0(hw);
> -	I40E_WRITE_REG(hw, I40E_PFINT_ICR0_ENA, 0);
> 
>  	/* read out interrupt causes */
>  	icr0 = I40E_READ_REG(hw, I40E_PFINT_ICR0);
> @@ -3663,7 +3661,6 @@ i40e_dev_interrupt_handler(__rte_unused struct
> rte_intr_handle *handle,
> 
>  done:
>  	/* Enable interrupt */
> -	I40E_WRITE_REG(hw, I40E_PFINT_ICR0_ENA,
> I40E_PFINT_ICR0_ENA_MASK);
>  	i40e_pf_enable_irq0(hw);
>  	rte_intr_enable(&(dev->pci_dev->intr_handle));
>  }
> --
> 1.8.1.4

Acked-by : Jing Chen <jing.d.chen@intel.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] i40e: fix of PF interrupt handling
  2014-11-04  8:13 ` Chen, Jing D
@ 2014-11-04 10:20   ` Thomas Monjalon
  0 siblings, 0 replies; 3+ messages in thread
From: Thomas Monjalon @ 2014-11-04 10:20 UTC (permalink / raw)
  To: Zhang, Helin; +Cc: dev

> > 'PFINT_ICR0_ENA' shouldn't be cleared in user space ISR,
> > otherwise adminq interrupts might be missed during
> > co-working with VF initialization.
> > 
> > Signed-off-by: Helin Zhang <helin.zhang@intel.com>
> 
> Acked-by : Jing Chen <jing.d.chen@intel.com>

Applied

Thanks
-- 
Thomas

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-11-04 10:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-04  8:08 [dpdk-dev] [PATCH] i40e: fix of PF interrupt handling Helin Zhang
2014-11-04  8:13 ` Chen, Jing D
2014-11-04 10:20   ` Thomas Monjalon

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git