[dpdk-dev] [PATCH v3] mlx: fix icc compilation error

2016-06-28 Thread Bruce Richardson
On Thu, Jun 16, 2016 at 09:58:23AM +0200, Adrien Mazarguil wrote:
> On Tue, Jun 14, 2016 at 05:17:24PM +0100, Ferruh Yigit wrote:
> > Compilation errors:
> > mlx4:
> >   CC mlx4.o
> >   .../dpdk/drivers/net/mlx4/mlx4.c(5409): error #188: enumerated type
> >   mixed with another type
> >   priv->intr_handle.type = 0;
> >  ^
> > 
> > mlx5:
> >   CC em_rxtx.o
> > .../dpdk/drivers/net/mlx5/mlx5_rxq.c(282):
> > error #188: enumerated type mixed with another type
> > enum hash_rxq_type type = 0;
> >   ^
> > 
> > .../dpdk/drivers/net/mlx5/mlx5_rxq.c(622):
> > error #188: enumerated type mixed with another type
> > if (!priv_allow_flow_type(priv, i)) {
> > ^
> > more same type of error
> > 
> > Fixes: c4da6caa426d ("mlx4: handle link status interrupts")
> > Fixes: 198a3c339a8f ("mlx5: handle link status interrupts")
> > Fixes: 0d2186743d62 ("mlx5: manage all special flow types at once")
> > Fixes: 612ad38209f7 ("mlx5: fix hash Rx queue type in RSS mode")
> > Fixes: 083c2dd31776 ("mlx5: refactor special flows handling")
> > 
> > Signed-off-by: Ferruh Yigit 
> 
> Acked-by: Adrien Mazarguil 
> 
> -- 
> Adrien Mazarguil
> 6WIND

Applied to dpdk-next-net/rel_16_07

/Bruce


[dpdk-dev] [PATCH v3] mlx: fix icc compilation error

2016-06-16 Thread Adrien Mazarguil
On Tue, Jun 14, 2016 at 05:17:24PM +0100, Ferruh Yigit wrote:
> Compilation errors:
> mlx4:
>   CC mlx4.o
>   .../dpdk/drivers/net/mlx4/mlx4.c(5409): error #188: enumerated type
>   mixed with another type
>   priv->intr_handle.type = 0;
>  ^
> 
> mlx5:
>   CC em_rxtx.o
> .../dpdk/drivers/net/mlx5/mlx5_rxq.c(282):
> error #188: enumerated type mixed with another type
> enum hash_rxq_type type = 0;
>   ^
> 
> .../dpdk/drivers/net/mlx5/mlx5_rxq.c(622):
> error #188: enumerated type mixed with another type
> if (!priv_allow_flow_type(priv, i)) {
> ^
> more same type of error
> 
> Fixes: c4da6caa426d ("mlx4: handle link status interrupts")
> Fixes: 198a3c339a8f ("mlx5: handle link status interrupts")
> Fixes: 0d2186743d62 ("mlx5: manage all special flow types at once")
> Fixes: 612ad38209f7 ("mlx5: fix hash Rx queue type in RSS mode")
> Fixes: 083c2dd31776 ("mlx5: refactor special flows handling")
> 
> Signed-off-by: Ferruh Yigit 

Acked-by: Adrien Mazarguil 

-- 
Adrien Mazarguil
6WIND


[dpdk-dev] [PATCH v3] mlx: fix icc compilation error

2016-06-14 Thread Ferruh Yigit
Compilation errors:
mlx4:
  CC mlx4.o
  .../dpdk/drivers/net/mlx4/mlx4.c(5409): error #188: enumerated type
  mixed with another type
  priv->intr_handle.type = 0;
 ^

mlx5:
  CC em_rxtx.o
.../dpdk/drivers/net/mlx5/mlx5_rxq.c(282):
error #188: enumerated type mixed with another type
enum hash_rxq_type type = 0;
  ^

.../dpdk/drivers/net/mlx5/mlx5_rxq.c(622):
error #188: enumerated type mixed with another type
if (!priv_allow_flow_type(priv, i)) {
^
more same type of error

Fixes: c4da6caa426d ("mlx4: handle link status interrupts")
Fixes: 198a3c339a8f ("mlx5: handle link status interrupts")
Fixes: 0d2186743d62 ("mlx5: manage all special flow types at once")
Fixes: 612ad38209f7 ("mlx5: fix hash Rx queue type in RSS mode")
Fixes: 083c2dd31776 ("mlx5: refactor special flows handling")

Signed-off-by: Ferruh Yigit 
---
 drivers/net/mlx4/mlx4.c| 2 +-
 drivers/net/mlx5/mlx5_ethdev.c | 2 +-
 drivers/net/mlx5/mlx5_rxmode.c | 8 ++--
 drivers/net/mlx5/mlx5_rxq.c| 8 +---
 4 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
index 9ed1491..8c9e713 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -5406,7 +5406,7 @@ priv_dev_interrupt_handler_uninstall(struct priv *priv, 
struct rte_eth_dev *dev)
rte_eal_alarm_cancel(mlx4_dev_link_status_handler, dev);
priv->pending_alarm = 0;
priv->intr_handle.fd = 0;
-   priv->intr_handle.type = 0;
+   priv->intr_handle.type = RTE_INTR_HANDLE_UNKNOWN;
 }

 /**
diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
index 36b369e..6f5ece9 100644
--- a/drivers/net/mlx5/mlx5_ethdev.c
+++ b/drivers/net/mlx5/mlx5_ethdev.c
@@ -1012,7 +1012,7 @@ priv_dev_interrupt_handler_uninstall(struct priv *priv, 
struct rte_eth_dev *dev)
rte_eal_alarm_cancel(mlx5_dev_link_status_handler, dev);
priv->pending_alarm = 0;
priv->intr_handle.fd = 0;
-   priv->intr_handle.type = 0;
+   priv->intr_handle.type = RTE_INTR_HANDLE_UNKNOWN;
 }

 /**
diff --git a/drivers/net/mlx5/mlx5_rxmode.c b/drivers/net/mlx5/mlx5_rxmode.c
index 3a55f63..3e779be 100644
--- a/drivers/net/mlx5/mlx5_rxmode.c
+++ b/drivers/net/mlx5/mlx5_rxmode.c
@@ -355,7 +355,9 @@ priv_special_flow_enable_all(struct priv *priv)
 {
enum hash_rxq_flow_type flow_type;

-   for (flow_type = 0; flow_type != HASH_RXQ_FLOW_TYPE_MAC; ++flow_type) {
+   for (flow_type = HASH_RXQ_FLOW_TYPE_PROMISC;
+   flow_type != HASH_RXQ_FLOW_TYPE_MAC;
+   ++flow_type) {
int ret;

ret = priv_special_flow_enable(priv, flow_type);
@@ -380,7 +382,9 @@ priv_special_flow_disable_all(struct priv *priv)
 {
enum hash_rxq_flow_type flow_type;

-   for (flow_type = 0; flow_type != HASH_RXQ_FLOW_TYPE_MAC; ++flow_type)
+   for (flow_type = HASH_RXQ_FLOW_TYPE_PROMISC;
+   flow_type != HASH_RXQ_FLOW_TYPE_MAC;
+   ++flow_type)
priv_special_flow_disable(priv, flow_type);
 }

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index cbb017b..f09ea8f 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -279,7 +279,7 @@ priv_flow_attr(struct priv *priv, struct ibv_exp_flow_attr 
*flow_attr,
 static enum hash_rxq_type
 hash_rxq_type_from_pos(const struct ind_table_init *table, unsigned int pos)
 {
-   enum hash_rxq_type type = 0;
+   enum hash_rxq_type type = HASH_RXQ_TCPV4;

assert(pos < table->hash_types_n);
do {
@@ -616,9 +616,11 @@ priv_allow_flow_type(struct priv *priv, enum 
hash_rxq_flow_type type)
 int
 priv_rehash_flows(struct priv *priv)
 {
-   unsigned int i;
+   enum hash_rxq_flow_type i;

-   for (i = 0; (i != RTE_DIM((*priv->hash_rxqs)[0].special_flow)); ++i)
+   for (i = HASH_RXQ_FLOW_TYPE_PROMISC;
+   i != RTE_DIM((*priv->hash_rxqs)[0].special_flow);
+   ++i)
if (!priv_allow_flow_type(priv, i)) {
priv_special_flow_disable(priv, i);
} else {
-- 
2.5.5