From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
To: Jiri Pirko <jiri@resnulli.us>
Cc: maciej.fijalkowski@intel.com, mateusz.polchlopek@intel.com,
netdev@vger.kernel.org, jiri@nvidia.com, michal.kubiak@intel.com,
intel-wired-lan@lists.osuosl.org, pio.raczynski@gmail.com,
sridhar.samudrala@intel.com, jacob.e.keller@intel.com,
wojciech.drewek@intel.com, przemyslaw.kitszel@intel.com
Subject: Re: [Intel-wired-lan] [iwl-next v4 6/8] ice: base subfunction aux driver
Date: Thu, 18 Apr 2024 16:47:04 +0200 [thread overview]
Message-ID: <ZiEyaF29+Vb1q1Vk@mev-dev> (raw)
In-Reply-To: <ZiEZ3c-aJ_i6vQ9F@nanopsycho>
On Thu, Apr 18, 2024 at 03:02:21PM +0200, Jiri Pirko wrote:
> Wed, Apr 17, 2024 at 04:20:26PM CEST, michal.swiatkowski@linux.intel.com wrote:
> >From: Piotr Raczynski <piotr.raczynski@intel.com>
>
> [...]
>
>
> >+static int ice_sf_dev_probe(struct auxiliary_device *adev,
> >+ const struct auxiliary_device_id *id)
> >+{
> >+ struct ice_sf_dev *sf_dev = ice_adev_to_sf_dev(adev);
> >+ struct ice_dynamic_port *dyn_port = sf_dev->dyn_port;
> >+ struct ice_vsi_cfg_params params = {};
> >+ struct ice_vsi *vsi = dyn_port->vsi;
> >+ struct ice_pf *pf = dyn_port->pf;
> >+ struct device *dev = &adev->dev;
> >+ struct ice_sf_priv *priv;
> >+ struct devlink *devlink;
> >+ int err;
> >+
> >+ params.type = ICE_VSI_SF;
> >+ params.pi = pf->hw.port_info;
> >+ params.flags = ICE_VSI_FLAG_INIT;
> >+
> >+ priv = ice_allocate_sf(&adev->dev);
> >+ if (!priv) {
> >+ dev_err(dev, "Subfunction devlink alloc failed");
> >+ return -ENOMEM;
> >+ }
> >+
> >+ priv->dev = sf_dev;
> >+ sf_dev->priv = priv;
> >+ devlink = priv_to_devlink(priv);
> >+
> >+ devlink_register(devlink);
>
> Do register at the very end. Btw, currently the error path seems to be
> broken, leaving devlink instance allocated and registered.
>
Sure, I will fix it.
>
> >+ devl_lock(devlink);
> >+
> >+ err = ice_vsi_cfg(vsi, ¶ms);
> >+ if (err) {
> >+ dev_err(dev, "Subfunction vsi config failed");
> >+ goto err_devlink_unlock;
> >+ }
> >+
> >+ err = ice_devlink_create_sf_dev_port(sf_dev);
> >+ if (err) {
> >+ dev_err(dev, "Cannot add ice virtual devlink port for subfunction");
> >+ goto err_vsi_decfg;
> >+ }
> >+
> >+ err = ice_fltr_add_mac_and_broadcast(vsi, vsi->netdev->dev_addr,
> >+ ICE_FWD_TO_VSI);
> >+ if (err) {
> >+ dev_err(dev, "can't add MAC filters %pM for VSI %d\n",
> >+ vsi->netdev->dev_addr, vsi->idx);
> >+ goto err_devlink_destroy;
> >+ }
> >+
> >+ ice_napi_add(vsi);
> >+ devl_unlock(devlink);
> >+
> >+ return 0;
> >+
> >+err_devlink_destroy:
> >+ ice_devlink_destroy_sf_dev_port(sf_dev);
> >+err_vsi_decfg:
> >+ ice_vsi_decfg(vsi);
> >+err_devlink_unlock:
> >+ devl_unlock(devlink);
> >+ return err;
>
> [...]
WARNING: multiple messages have this Message-ID (diff)
From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
To: Jiri Pirko <jiri@resnulli.us>
Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
jacob.e.keller@intel.com, michal.kubiak@intel.com,
maciej.fijalkowski@intel.com, sridhar.samudrala@intel.com,
przemyslaw.kitszel@intel.com, wojciech.drewek@intel.com,
pio.raczynski@gmail.com, jiri@nvidia.com,
mateusz.polchlopek@intel.com
Subject: Re: [iwl-next v4 6/8] ice: base subfunction aux driver
Date: Thu, 18 Apr 2024 16:47:04 +0200 [thread overview]
Message-ID: <ZiEyaF29+Vb1q1Vk@mev-dev> (raw)
In-Reply-To: <ZiEZ3c-aJ_i6vQ9F@nanopsycho>
On Thu, Apr 18, 2024 at 03:02:21PM +0200, Jiri Pirko wrote:
> Wed, Apr 17, 2024 at 04:20:26PM CEST, michal.swiatkowski@linux.intel.com wrote:
> >From: Piotr Raczynski <piotr.raczynski@intel.com>
>
> [...]
>
>
> >+static int ice_sf_dev_probe(struct auxiliary_device *adev,
> >+ const struct auxiliary_device_id *id)
> >+{
> >+ struct ice_sf_dev *sf_dev = ice_adev_to_sf_dev(adev);
> >+ struct ice_dynamic_port *dyn_port = sf_dev->dyn_port;
> >+ struct ice_vsi_cfg_params params = {};
> >+ struct ice_vsi *vsi = dyn_port->vsi;
> >+ struct ice_pf *pf = dyn_port->pf;
> >+ struct device *dev = &adev->dev;
> >+ struct ice_sf_priv *priv;
> >+ struct devlink *devlink;
> >+ int err;
> >+
> >+ params.type = ICE_VSI_SF;
> >+ params.pi = pf->hw.port_info;
> >+ params.flags = ICE_VSI_FLAG_INIT;
> >+
> >+ priv = ice_allocate_sf(&adev->dev);
> >+ if (!priv) {
> >+ dev_err(dev, "Subfunction devlink alloc failed");
> >+ return -ENOMEM;
> >+ }
> >+
> >+ priv->dev = sf_dev;
> >+ sf_dev->priv = priv;
> >+ devlink = priv_to_devlink(priv);
> >+
> >+ devlink_register(devlink);
>
> Do register at the very end. Btw, currently the error path seems to be
> broken, leaving devlink instance allocated and registered.
>
Sure, I will fix it.
>
> >+ devl_lock(devlink);
> >+
> >+ err = ice_vsi_cfg(vsi, ¶ms);
> >+ if (err) {
> >+ dev_err(dev, "Subfunction vsi config failed");
> >+ goto err_devlink_unlock;
> >+ }
> >+
> >+ err = ice_devlink_create_sf_dev_port(sf_dev);
> >+ if (err) {
> >+ dev_err(dev, "Cannot add ice virtual devlink port for subfunction");
> >+ goto err_vsi_decfg;
> >+ }
> >+
> >+ err = ice_fltr_add_mac_and_broadcast(vsi, vsi->netdev->dev_addr,
> >+ ICE_FWD_TO_VSI);
> >+ if (err) {
> >+ dev_err(dev, "can't add MAC filters %pM for VSI %d\n",
> >+ vsi->netdev->dev_addr, vsi->idx);
> >+ goto err_devlink_destroy;
> >+ }
> >+
> >+ ice_napi_add(vsi);
> >+ devl_unlock(devlink);
> >+
> >+ return 0;
> >+
> >+err_devlink_destroy:
> >+ ice_devlink_destroy_sf_dev_port(sf_dev);
> >+err_vsi_decfg:
> >+ ice_vsi_decfg(vsi);
> >+err_devlink_unlock:
> >+ devl_unlock(devlink);
> >+ return err;
>
> [...]
next prev parent reply other threads:[~2024-04-18 14:47 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-17 14:20 [Intel-wired-lan] [iwl-next v4 0/8] ice: support devlink subfunction Michal Swiatkowski
2024-04-17 14:20 ` Michal Swiatkowski
2024-04-17 14:20 ` [Intel-wired-lan] [iwl-next v4 1/8] ice: add new VSI type for subfunctions Michal Swiatkowski
2024-04-17 14:20 ` Michal Swiatkowski
2024-04-17 14:20 ` [Intel-wired-lan] [iwl-next v4 2/8] ice: export ice ndo_ops functions Michal Swiatkowski
2024-04-17 14:20 ` Michal Swiatkowski
2024-04-17 14:20 ` [Intel-wired-lan] [iwl-next v4 3/8] ice: add basic devlink subfunctions support Michal Swiatkowski
2024-04-17 14:20 ` Michal Swiatkowski
2024-04-17 14:20 ` [Intel-wired-lan] [iwl-next v4 4/8] ice: treat subfunction VSI the same as PF VSI Michal Swiatkowski
2024-04-17 14:20 ` Michal Swiatkowski
2024-04-17 14:20 ` [Intel-wired-lan] [iwl-next v4 5/8] ice: allocate devlink for subfunction Michal Swiatkowski
2024-04-17 14:20 ` Michal Swiatkowski
2024-04-18 12:04 ` [Intel-wired-lan] " Jiri Pirko
2024-04-18 12:04 ` Jiri Pirko
2024-04-18 12:48 ` [Intel-wired-lan] " Michal Swiatkowski
2024-04-18 12:48 ` Michal Swiatkowski
2024-04-18 13:02 ` [Intel-wired-lan] " Jiri Pirko
2024-04-18 13:02 ` Jiri Pirko
2024-04-18 14:46 ` [Intel-wired-lan] " Michal Swiatkowski
2024-04-18 14:46 ` Michal Swiatkowski
2024-04-18 15:43 ` [Intel-wired-lan] " Jiri Pirko
2024-04-18 15:43 ` Jiri Pirko
2024-04-18 16:11 ` [Intel-wired-lan] " Michal Swiatkowski
2024-04-18 16:11 ` Michal Swiatkowski
2024-04-18 17:25 ` [Intel-wired-lan] " Jiri Pirko
2024-04-18 17:25 ` Jiri Pirko
2024-04-19 17:22 ` [Intel-wired-lan] " Michal Swiatkowski
2024-04-19 17:22 ` Michal Swiatkowski
2024-04-17 14:20 ` [Intel-wired-lan] [iwl-next v4 6/8] ice: base subfunction aux driver Michal Swiatkowski
2024-04-17 14:20 ` Michal Swiatkowski
2024-04-18 7:57 ` [Intel-wired-lan] " Shay Drori
2024-04-18 7:57 ` Shay Drori
2024-04-18 14:47 ` [Intel-wired-lan] " Michal Swiatkowski
2024-04-18 14:47 ` Michal Swiatkowski
2024-04-18 13:02 ` [Intel-wired-lan] " Jiri Pirko
2024-04-18 13:02 ` Jiri Pirko
2024-04-18 14:47 ` Michal Swiatkowski [this message]
2024-04-18 14:47 ` Michal Swiatkowski
2024-04-17 14:20 ` [Intel-wired-lan] [iwl-next v4 7/8] ice: implement netdev for subfunction Michal Swiatkowski
2024-04-17 14:20 ` Michal Swiatkowski
2024-04-17 14:20 ` [Intel-wired-lan] [iwl-next v4 8/8] ice: allow to activate and deactivate subfunction Michal Swiatkowski
2024-04-17 14:20 ` Michal Swiatkowski
2024-04-18 7:53 ` [Intel-wired-lan] " Shay Drori
2024-04-18 8:12 ` Shay Drori
2024-04-18 8:12 ` Shay Drori
2024-04-18 11:55 ` [Intel-wired-lan] " Michal Swiatkowski
2024-04-18 11:55 ` Michal Swiatkowski
2024-04-18 12:20 ` [Intel-wired-lan] " Shay Drori
2024-04-18 12:20 ` Shay Drori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZiEyaF29+Vb1q1Vk@mev-dev \
--to=michal.swiatkowski@linux.intel.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=jacob.e.keller@intel.com \
--cc=jiri@nvidia.com \
--cc=jiri@resnulli.us \
--cc=maciej.fijalkowski@intel.com \
--cc=mateusz.polchlopek@intel.com \
--cc=michal.kubiak@intel.com \
--cc=netdev@vger.kernel.org \
--cc=pio.raczynski@gmail.com \
--cc=przemyslaw.kitszel@intel.com \
--cc=sridhar.samudrala@intel.com \
--cc=wojciech.drewek@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.