All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: fengchengwen <fengchengwen@huawei.com>,
	Amit Prakash Shukla <amitprakashs@marvell.com>
Cc: Kevin Laatz <kevin.laatz@intel.com>,
	Bruce Richardson <bruce.richardson@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>,  Jerin Jacob <jerinj@marvell.com>,
	Vamsi Krishna Attunuru <vattunuru@marvell.com>,
	Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>,
	Anoob Joseph <anoobj@marvell.com>,
	"mb@smartsharesystems.com" <mb@smartsharesystems.com>
Subject: Re: [EXT] Re: [PATCH v2] lib/dmadev: get DMA device using device ID
Date: Fri, 09 Feb 2024 12:18:25 +0100	[thread overview]
Message-ID: <2153070.3Lj2Plt8kZ@thomas> (raw)
In-Reply-To: <PH0PR18MB516746E466A32A48E4D73D34C84B2@PH0PR18MB5167.namprd18.prod.outlook.com>

09/02/2024 12:05, Amit Prakash Shukla:
> > On 2024/2/9 0:25, Thomas Monjalon wrote:
> > > 19/12/2023 12:00, Amit Prakash Shukla:
> > >> +struct rte_dma_dev *
> > >> +rte_dma_pmd_get_dev_by_id(const int dev_id)
> > > const does not make sense here for an int parameter.
> > 
> > 
> > I think it could be OK with const even if the parameter is not pointer.
> > 
> > However, most DPDK APIs do not have const for simple types (e.g.
> > int/uin16_t).
> > 
> > In this aspect, I think it's also OK to remove const of here for consistency.
> > 
> > 
> > >
> > >> +{
> > >> +	if (!rte_dma_is_valid(dev_id))
> > >> +		return NULL;
> > >> +
> > >> +	return &rte_dma_devices[dev_id];
> > >> +}
> > > [...]
> > >> +/**
> > >> + * @internal
> > >> + * Get the rte_dma_dev structure device pointer for the device id.
> > >> + *
> > >> + * @param dev_id
> > >> + *   Device ID value to select the device structure.
> > > This comment is not explanatory.
> > > What is an ID? Where does it come from?
> > > Where can we see such ID for DMA device?
> > 
> > This new API is used in the event-dma driver of cnxk [1]:
> > 
> > The rte_event_dma_adapter_vchan_add has parameter of dma_dev_id, and it
> > then
> > 
> > invoke (*dev->dev_ops->dma_adapter_vchan_add)(dev, dma_dev_id, vchan,
> > event),
> > 
> > at cnxk driver, this ops will check whether the DMA is
> > cnxk_dmadev_pci_driver.
> > 
> > I think this is because the cnxk's event-and-dma implement has deep coupling
> > 
> > (because the cnxk's event device could interact with another vendor's
> > dma device).
> > 
> > 
> > Maybe we should think of a better way to solve this kind of coupling
> > problem.
> 
> Id, is the DMA dev id which is used in looking up DMA dev. This API is in-line with the other libraries.
> Crypto library has an api rte_cryptodev_pmd_get_dev to get crypto device based on device id.

OK I think I understand.
It is the library ID, the same as returned by
int rte_dma_get_dev_id_by_name(const char *name);

I can remove the const and apply if you are OK.
I would just change this comment:

+ * @param dev_id
+ *   Device ID value to select the device structure.

into

+ *   DMA device index in dmadev library.




  reply	other threads:[~2024-02-09 11:18 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-08  7:55 [PATCH] lib/dmadev: get DMA device using device ID Amit Prakash Shukla
2023-12-09  7:11 ` fengchengwen
2023-12-18 10:41   ` [EXT] " Amit Prakash Shukla
2023-12-11 10:23 ` Bruce Richardson
2023-12-18 11:27   ` [EXT] " Amit Prakash Shukla
2023-12-19 11:00 ` [PATCH v2] " Amit Prakash Shukla
2024-01-08 14:47   ` Anoob Joseph
2024-02-06  6:24     ` Amit Prakash Shukla
2024-02-08 16:25   ` Thomas Monjalon
2024-02-09  8:18     ` fengchengwen
2024-02-09 11:05       ` [EXT] " Amit Prakash Shukla
2024-02-09 11:18         ` Thomas Monjalon [this message]
2024-02-09 11:30           ` Amit Prakash Shukla
2024-02-09 17:36             ` Thomas Monjalon

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=2153070.3Lj2Plt8kZ@thomas \
    --to=thomas@monjalon.net \
    --cc=amitprakashs@marvell.com \
    --cc=anoobj@marvell.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=fengchengwen@huawei.com \
    --cc=jerinj@marvell.com \
    --cc=kevin.laatz@intel.com \
    --cc=mb@smartsharesystems.com \
    --cc=ndabilpuram@marvell.com \
    --cc=vattunuru@marvell.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.