From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9683345A81; Thu, 3 Oct 2024 15:56:36 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6B2AA40299; Thu, 3 Oct 2024 15:56:36 +0200 (CEST) Received: from mail-qt1-f170.google.com (mail-qt1-f170.google.com [209.85.160.170]) by mails.dpdk.org (Postfix) with ESMTP id 88D0F40261 for ; Thu, 3 Oct 2024 15:56:35 +0200 (CEST) Received: by mail-qt1-f170.google.com with SMTP id d75a77b69052e-4582a0b438aso7679071cf.0 for ; Thu, 03 Oct 2024 06:56:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727963795; x=1728568595; darn=dpdk.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=PMXYlQFE4ShlWfSNpk4KRQg6UtJfPeRfGd/2YhhHinA=; b=AYROBN7JMjZlGJz+r/EoCGyBax1Yr/2w10wzOacE6HMZJTCebHrXOkf4OpXpVwb4JG XzNwaGpUpQp8oN+KJH8vu7ahgN30iTUOoIZBgYk4PVlGXI9uzNMGG5dfjsCxJPII046o q5yYKDUqM0WCTlaI4t46HKXEjqImpzeOVxXRxlYbMkZygW+hNHfwf+xutGIuolWJtEVB iv12EiIdAROy+e3cdVBH0+FCTa6w88QIOI2e/QAkj1OCeMwNX84bel24EKz03OWDAWyf bx07aaudw0pBiFW2v9+m8t2pytE+I5c5lU3l7r8tTUMX+JJuCGgXMa7GSTHa9MAFkFlz PqdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727963795; x=1728568595; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PMXYlQFE4ShlWfSNpk4KRQg6UtJfPeRfGd/2YhhHinA=; b=NQNDovbugqJn5lge6AKp6eqkzqsQPDpp+rWU0kQDIE0OBbpLZulqUHBY16m9JeUpCg qcDEndNi8NW3hytJ7GCPdP9xliHdYaAZL/ineVk4hfXXhCydPTOHyB8lEP2Xjhy8wdXe Y/mInpgA4iOHEGxWFS0J7mIAMDgasQr4HaFjFpUigg86ibdAgjrGaXTGE3lMtztrx5Vx SK1q0W01mfyhNJUv2MeZtU7UPYqxd7M092oiudarXs7uORwOK2UpsxXwaiGJ4vj0LNL9 jAHoU+jkQhdVvjTIZc/Da+QoJwoV/v8aSgOAS2bNuryy7wF9bkamGqb/dlWTzIXayRj4 z8xQ== X-Forwarded-Encrypted: i=1; AJvYcCXI0U0qPzF0uj/Tq96teisTb1TZkJUgOKHfBXyWESZPAy23l2744wg1WmG1jBVgO92xgD8=@dpdk.org X-Gm-Message-State: AOJu0Yxme9XW7kOuLDpr2S79afSGswM4aO83lBEti81IT3+YrlyOyfwJ AiafTThkcCykL5KE/xtJVUSg84a/d7e3S02QCgRaBUVZXsPG3ZrUWIerFuLx7aIOBch0cD9phfw rG6kd43FxVpMX3/3T9+v7g/edNGQ= X-Google-Smtp-Source: AGHT+IHumJ/+XB9Jie1h2DulovnlYZuFClx5SAZwoEcMTIK6Lhov9w+Wm/a9wqyrPIWMqC8E8JBEQ4DhcgRiMLqmGsU= X-Received: by 2002:a05:622a:3d1:b0:45c:aab1:72ec with SMTP id d75a77b69052e-45d8055cd08mr91895101cf.53.1727963794765; Thu, 03 Oct 2024 06:56:34 -0700 (PDT) MIME-Version: 1.0 References: <20241003131927.1374842-1-vattunuru@marvell.com> In-Reply-To: <20241003131927.1374842-1-vattunuru@marvell.com> From: Jerin Jacob Date: Thu, 3 Oct 2024 19:26:08 +0530 Message-ID: Subject: Re: [PATCH v0 1/1] dma/cnxk: support dma queue priority configuration To: Vamsi Krishna Cc: fengchengwen@huawei.com, dev@dpdk.org, thomas@monjalon.net, kevin.laatz@intel.com, bruce.richardson@intel.com, jerinj@marvell.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Thu, Oct 3, 2024 at 7:19=E2=80=AFPM Vamsi Krishna wrote: > > From: Vamsi Attunuru > > Allow configuration of dpi dma queue priority through dpi > dev open mbox request. dpi-> DPI dma -> DMA dpi dev open mbox request-> mailbox request. > > Signed-off-by: Vamsi Attunuru > --- > Depends-on: patch-144960 ("dmadev: support priority configuration") > > drivers/common/cnxk/roc_dpi.c | 2 ++ > drivers/common/cnxk/roc_dpi.h | 1 + > drivers/common/cnxk/roc_dpi_priv.h | 2 ++ > drivers/dma/cnxk/cnxk_dmadev.c | 6 ++++++ > drivers/dma/cnxk/cnxk_dmadev.h | 1 + > 5 files changed, 12 insertions(+) > > diff --git a/drivers/common/cnxk/roc_dpi.c b/drivers/common/cnxk/roc_dpi.= c > index 892685d185..71edfcbf9b 100644 > --- a/drivers/common/cnxk/roc_dpi.c > +++ b/drivers/common/cnxk/roc_dpi.c > @@ -95,6 +95,7 @@ roc_dpi_configure(struct roc_dpi *roc_dpi, uint32_t chu= nk_sz, uint64_t aura, uin > mbox_msg.u[1] =3D 0; > /* DPI PF driver expects vfid starts from index 0 */ > mbox_msg.s.vfid =3D roc_dpi->vfid; > + mbox_msg.s.pri =3D roc_dpi->priority; > mbox_msg.s.cmd =3D DPI_QUEUE_OPEN; > mbox_msg.s.csize =3D chunk_sz; > mbox_msg.s.aura =3D aura; > @@ -137,6 +138,7 @@ roc_dpi_configure_v2(struct roc_dpi *roc_dpi, uint32_= t chunk_sz, uint64_t aura, > mbox_msg.u[1] =3D 0; > /* DPI PF driver expects vfid starts from index 0 */ > mbox_msg.s.vfid =3D roc_dpi->vfid; > + mbox_msg.s.pri =3D roc_dpi->priority; > mbox_msg.s.cmd =3D DPI_QUEUE_OPEN_V2; > mbox_msg.s.csize =3D chunk_sz / 8; > mbox_msg.s.aura =3D aura; > diff --git a/drivers/common/cnxk/roc_dpi.h b/drivers/common/cnxk/roc_dpi.= h > index 7b4f9d4f4f..3a11559df9 100644 > --- a/drivers/common/cnxk/roc_dpi.h > +++ b/drivers/common/cnxk/roc_dpi.h > @@ -9,6 +9,7 @@ struct roc_dpi { > struct plt_pci_device *pci_dev; > uint8_t *rbase; > uint16_t vfid; > + uint8_t priority; > } __plt_cache_aligned; > > int __roc_api roc_dpi_dev_init(struct roc_dpi *roc_dpi, uint8_t offset); > diff --git a/drivers/common/cnxk/roc_dpi_priv.h b/drivers/common/cnxk/roc= _dpi_priv.h > index 844e5f37ee..1f975915f7 100644 > --- a/drivers/common/cnxk/roc_dpi_priv.h > +++ b/drivers/common/cnxk/roc_dpi_priv.h > @@ -38,6 +38,8 @@ typedef union dpi_mbox_msg_t { > uint64_t wqecs : 1; > /* WQE queue DMA completion status offset */ > uint64_t wqecsoff : 8; > + /* Priority */ > + uint64_t pri : 1; > } s; > } dpi_mbox_msg_t; > > diff --git a/drivers/dma/cnxk/cnxk_dmadev.c b/drivers/dma/cnxk/cnxk_dmade= v.c > index 2d5307b22e..9437c48a82 100644 > --- a/drivers/dma/cnxk/cnxk_dmadev.c > +++ b/drivers/dma/cnxk/cnxk_dmadev.c > @@ -20,6 +20,10 @@ cnxk_dmadev_info_get(const struct rte_dma_dev *dev, st= ruct rte_dma_info *dev_inf > RTE_DMA_CAPA_DEV_TO_MEM | RTE_DMA_CAPA_DEV_T= O_DEV | > RTE_DMA_CAPA_OPS_COPY | RTE_DMA_CAPA_OPS_COP= Y_SG | > RTE_DMA_CAPA_M2D_AUTO_FREE; > + if (roc_model_is_cn10k()) { Add new to roc_feature_dpi_has_priority() to support in CN20K like other features. > + dev_info->dev_capa |=3D RTE_DMA_CAPA_PRI_POLICY_SP; > + dev_info->nb_priorities =3D CNXK_DPI_MAX_PRI; > + } > dev_info->max_desc =3D CNXK_DPI_MAX_DESC; > dev_info->min_desc =3D CNXK_DPI_MIN_DESC; > dev_info->max_sges =3D CNXK_DPI_MAX_POINTER; > @@ -107,6 +111,8 @@ cnxk_dmadev_configure(struct rte_dma_dev *dev, const = struct rte_dma_conf *conf, > */ > cnxk_dmadev_vchan_free(dpivf, RTE_DMA_ALL_VCHAN); > dpivf->num_vchans =3D conf->nb_vchans; > + if (roc_model_is_cn10k()) > + dpivf->rdpi.priority =3D conf->priority; > > return 0; > } > diff --git a/drivers/dma/cnxk/cnxk_dmadev.h b/drivers/dma/cnxk/cnxk_dmade= v.h > index 15af1d64dc..64c9a94c0d 100644 > --- a/drivers/dma/cnxk/cnxk_dmadev.h > +++ b/drivers/dma/cnxk/cnxk_dmadev.h > @@ -28,6 +28,7 @@ > ((s).var - 1)) > #define CNXK_DPI_MAX_DESC 32768 > #define CNXK_DPI_MIN_DESC 2 > +#define CNXK_DPI_MAX_PRI 2 if it is different for CN20k, Use _CN10K_ after DPI or so. With that change: Acked-by: Jerin Jacob > #define CNXK_DPI_MAX_VCHANS_PER_QUEUE 4 > #define CNXK_DPI_QUEUE_BUF_SIZE 16256 > #define CNXK_DPI_QUEUE_BUF_SIZE_V2 130944 > -- > 2.34.1 >