Lines Matching defs:mdev

53 	struct mlx5_core_dev *mdev;
122 struct mlx5_core_dev *mdev;
160 static int mlx5e_macsec_aso_reg_mr(struct mlx5_core_dev *mdev, struct mlx5e_macsec_aso *aso)
173 dma_device = mlx5_core_dma_dev(mdev);
177 mlx5_core_err(mdev, "Can't map dma device, err=%d\n", err);
181 err = mlx5e_create_mkey(mdev, aso->pdn, &umr->mkey);
183 mlx5_core_err(mdev, "Can't create mkey, err=%d\n", err);
200 static void mlx5e_macsec_aso_dereg_mr(struct mlx5_core_dev *mdev, struct mlx5e_macsec_aso *aso)
204 mlx5_core_destroy_mkey(mdev, umr->mkey);
205 dma_unmap_single(&mdev->pdev->dev, umr->dma_addr, sizeof(umr->ctx), DMA_BIDIRECTIONAL);
238 static int mlx5e_macsec_create_object(struct mlx5_core_dev *mdev,
288 err = mlx5_cmd_exec(mdev, in, sizeof(in), out, sizeof(out));
290 mlx5_core_err(mdev,
301 static void mlx5e_macsec_destroy_object(struct mlx5_core_dev *mdev, u32 macsec_obj_id)
310 mlx5_cmd_exec(mdev, in, sizeof(in), out, sizeof(out));
323 mlx5_macsec_fs_del_rule(macsec->mdev->macsec_fs, sa->macsec_rule, action, netdev,
333 mlx5e_macsec_destroy_object(macsec->mdev, sa->macsec_obj_id);
341 struct mlx5_macsec_fs *macsec_fs = priv->mdev->macsec_fs;
366 struct mlx5_core_dev *mdev = priv->mdev;
385 err = mlx5e_macsec_create_object(mdev, &obj_attrs, is_tx, &sa->macsec_obj_id);
398 mlx5e_macsec_destroy_object(mdev, sa->macsec_obj_id);
506 struct mlx5_core_dev *mdev = priv->mdev;
543 err = mlx5_create_encryption_key(mdev, ctx->sa.key, secy->key_len,
563 mlx5_destroy_encryption_key(mdev, tx_sa->enc_key_id);
660 mlx5_destroy_encryption_key(macsec->mdev, tx_sa->enc_key_id);
814 mlx5_destroy_encryption_key(macsec->mdev, rx_sa->enc_key_id);
873 struct mlx5_core_dev *mdev = priv->mdev;
925 err = mlx5_create_encryption_key(mdev, ctx->sa.key, ctx->secy->key_len,
944 mlx5_destroy_encryption_key(mdev, rx_sa->enc_key_id);
1055 mlx5_destroy_encryption_key(macsec->mdev, rx_sa->enc_key_id);
1249 mlx5_destroy_encryption_key(macsec->mdev, tx_sa->enc_key_id);
1307 static int mlx5e_macsec_modify_obj(struct mlx5_core_dev *mdev, struct mlx5_macsec_obj_attrs *attrs,
1320 err = mlx5_cmd_exec(mdev, in, sizeof(in), out, sizeof(out));
1322 mlx5_core_err(mdev, "Query MACsec object failed (Object id %d), err = %d\n",
1333 mlx5_core_dbg(mdev, "MACsec object field is not modifiable (Object id %d)\n",
1347 return mlx5_cmd_exec(mdev, in, sizeof(in), out, sizeof(out));
1367 static int macsec_aso_set_arm_event(struct mlx5_core_dev *mdev, struct mlx5e_macsec *macsec,
1390 static int macsec_aso_query(struct mlx5_core_dev *mdev, struct mlx5e_macsec *macsec,
1480 static void macsec_epn_update(struct mlx5e_macsec *macsec, struct mlx5_core_dev *mdev,
1502 mlx5e_macsec_modify_obj(mdev, &attrs, obj_id);
1507 macsec_aso_set_arm_event(mdev, macsec, &in);
1517 struct mlx5_core_dev *mdev;
1524 mdev = async_work->mdev;
1530 mlx5_core_dbg(mdev, "MACsec SA is not found (SA object id %d)\n", obj_id);
1537 macsec_aso_query(mdev, macsec, &in, &out);
1541 macsec_epn_update(macsec, mdev, macsec_sa, obj_id, out.mode_param);
1572 async_work->mdev = macsec->mdev;
1582 static int mlx5e_macsec_aso_init(struct mlx5e_macsec_aso *aso, struct mlx5_core_dev *mdev)
1587 err = mlx5_core_alloc_pd(mdev, &aso->pdn);
1589 mlx5_core_err(mdev,
1595 maso = mlx5_aso_create(mdev, aso->pdn);
1601 err = mlx5e_macsec_aso_reg_mr(mdev, aso);
1614 mlx5_core_dealloc_pd(mdev, aso->pdn);
1618 static void mlx5e_macsec_aso_cleanup(struct mlx5e_macsec_aso *aso, struct mlx5_core_dev *mdev)
1623 mlx5e_macsec_aso_dereg_mr(mdev, aso);
1627 mlx5_core_dealloc_pd(mdev, aso->pdn);
1651 fs_id = mlx5_macsec_fs_get_fs_id_from_hashtable(macsec->mdev->macsec_fs,
1670 fs_id = mlx5_macsec_fs_get_fs_id_from_hashtable(macsec->mdev->macsec_fs,
1710 if (!mlx5e_is_macsec_device(priv->mdev))
1714 mlx5_core_dbg(priv->mdev, "mlx5e: MACsec acceleration enabled\n");
1722 struct mlx5_core_dev *mdev = priv->mdev;
1727 if (!mlx5e_is_macsec_device(priv->mdev)) {
1728 mlx5_core_dbg(mdev, "Not a MACsec offload device\n");
1739 err = mlx5e_macsec_aso_init(&macsec->aso, priv->mdev);
1741 mlx5_core_err(mdev, "MACsec offload: Failed to init aso, err=%d\n", err);
1755 macsec->mdev = mdev;
1757 macsec_fs = mlx5_macsec_fs_init(mdev);
1763 mdev->macsec_fs = macsec_fs;
1766 mlx5_notifier_register(mdev, &macsec->nb);
1768 mlx5_core_dbg(mdev, "MACsec attached to netdevice\n");
1775 mlx5e_macsec_aso_cleanup(&macsec->aso, priv->mdev);
1785 struct mlx5_core_dev *mdev = priv->mdev;
1790 mlx5_notifier_unregister(mdev, &macsec->nb);
1791 mlx5_macsec_fs_cleanup(mdev->macsec_fs);
1793 mlx5e_macsec_aso_cleanup(&macsec->aso, mdev);