From mboxrd@z Thu Jan 1 00:00:00 1970 From: Amritha Nambiar Subject: [PATCH 2/6] [net-next]net: i40e: Maintain a mapping of TCs with the VSI seids Date: Mon, 31 Jul 2017 17:37:44 -0700 Message-ID: <150154786398.4135.6132916645006131634.stgit@anamdev.jf.intel.com> References: <150154569340.4135.11548126443780491627.stgit@anamdev.jf.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: alexander.h.duyck@intel.com, kiran.patil@intel.com, amritha.nambiar@intel.com, netdev@vger.kernel.org, mitch.a.williams@intel.com, alexander.duyck@gmail.com, neerav.parikh@intel.com, sridhar.samudrala@intel.com, carolyn.wyborny@intel.com To: intel-wired-lan@lists.osuosl.org, jeffrey.t.kirsher@intel.com Return-path: Received: from mga06.intel.com ([134.134.136.31]:20588 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751375AbdHAAiZ (ORCPT ); Mon, 31 Jul 2017 20:38:25 -0400 In-Reply-To: <150154569340.4135.11548126443780491627.stgit@anamdev.jf.intel.com> Sender: netdev-owner@vger.kernel.org List-ID: Add mapping of TCs with the seids of the channel VSIs. TC0 will be mapped to the main VSI seid and all other TCs are mapped to the seid of the channel VSI. Signed-off-by: Amritha Nambiar --- drivers/net/ethernet/intel/i40e/i40e.h | 1 + drivers/net/ethernet/intel/i40e/i40e_main.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h index 8852ac0..1391e5d 100644 --- a/drivers/net/ethernet/intel/i40e/i40e.h +++ b/drivers/net/ethernet/intel/i40e/i40e.h @@ -738,6 +738,7 @@ struct i40e_vsi { atomic_t next_base_queue; struct list_head ch_list; + u16 tc_seid_map[I40E_MAX_TRAFFIC_CLASS]; void *priv; /* client driver data reference. */ diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index 370ce9f..1daf95e 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -6127,6 +6127,7 @@ static int i40e_configure_queue_channels(struct i40e_vsi *vsi) int ret = 0, i; /* Create app vsi with the TCs. Main VSI with TC0 is already set up */ + vsi->tc_seid_map[0] = vsi->seid; for (i = 1; i < I40E_MAX_TRAFFIC_CLASS; i++) if (vsi->tc_config.enabled_tc & BIT(i)) { ch = kzalloc(sizeof(*ch), GFP_KERNEL); @@ -6156,6 +6157,7 @@ static int i40e_configure_queue_channels(struct i40e_vsi *vsi) i, ch->num_queue_pairs); goto err_free; } + vsi->tc_seid_map[i] = ch->seid; } return ret; From mboxrd@z Thu Jan 1 00:00:00 1970 From: Amritha Nambiar Date: Mon, 31 Jul 2017 17:37:44 -0700 Subject: [Intel-wired-lan] [PATCH 2/6] [net-next]net: i40e: Maintain a mapping of TCs with the VSI seids In-Reply-To: <150154569340.4135.11548126443780491627.stgit@anamdev.jf.intel.com> References: <150154569340.4135.11548126443780491627.stgit@anamdev.jf.intel.com> Message-ID: <150154786398.4135.6132916645006131634.stgit@anamdev.jf.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: intel-wired-lan@osuosl.org List-ID: Add mapping of TCs with the seids of the channel VSIs. TC0 will be mapped to the main VSI seid and all other TCs are mapped to the seid of the channel VSI. Signed-off-by: Amritha Nambiar --- drivers/net/ethernet/intel/i40e/i40e.h | 1 + drivers/net/ethernet/intel/i40e/i40e_main.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h index 8852ac0..1391e5d 100644 --- a/drivers/net/ethernet/intel/i40e/i40e.h +++ b/drivers/net/ethernet/intel/i40e/i40e.h @@ -738,6 +738,7 @@ struct i40e_vsi { atomic_t next_base_queue; struct list_head ch_list; + u16 tc_seid_map[I40E_MAX_TRAFFIC_CLASS]; void *priv; /* client driver data reference. */ diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index 370ce9f..1daf95e 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -6127,6 +6127,7 @@ static int i40e_configure_queue_channels(struct i40e_vsi *vsi) int ret = 0, i; /* Create app vsi with the TCs. Main VSI with TC0 is already set up */ + vsi->tc_seid_map[0] = vsi->seid; for (i = 1; i < I40E_MAX_TRAFFIC_CLASS; i++) if (vsi->tc_config.enabled_tc & BIT(i)) { ch = kzalloc(sizeof(*ch), GFP_KERNEL); @@ -6156,6 +6157,7 @@ static int i40e_configure_queue_channels(struct i40e_vsi *vsi) i, ch->num_queue_pairs); goto err_free; } + vsi->tc_seid_map[i] = ch->seid; } return ret;