From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Philipp Stanner <pstanner@redhat.com>
Cc: "Damien Le Moal" <dlemoal@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
"Jonathan Cameron" <Jonathan.Cameron@huawei.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org,
linux-pci@vger.kernel.org
Subject: Re: [PATCH v2 04/10] crypto: marvell - replace deprecated PCI functions
Date: Mon, 12 Aug 2024 22:48:41 +0300 [thread overview]
Message-ID: <ZrpnGTO5XGkk0TET@smile.fi.intel.com> (raw)
In-Reply-To: <70a70c74be9ba1a6ae6297ac646fa82600d9296c.camel@redhat.com>
On Mon, Aug 12, 2024 at 08:16:07PM +0200, Philipp Stanner wrote:
> On Mon, 2024-08-12 at 18:57 +0300, Andy Shevchenko wrote:
> > On Mon, Aug 05, 2024 at 10:01:31AM +0200, Philipp Stanner wrote:
...
> > > - /* Map PF's configuration registers */
> > > - err = pcim_iomap_regions_request_all(pdev, 1 <<
> > > PCI_PF_REG_BAR_NUM,
> > > - OTX2_CPT_DRV_NAME);
> > > + err = pcim_request_all_regions(pdev, OTX2_CPT_DRV_NAME);
> > > if (err) {
> > > - dev_err(dev, "Couldn't get PCI resources 0x%x\n", err);
> > > + dev_err(dev, "Couldn't request PCI resources 0x%x\n", err);
> > > goto clear_drvdata;
> > > }
> >
> > I haven't looked at the implementation differences of those two, but
> > would it
> > be really an equivalent change now?
>
> Well, if I weren't convinced that it's 100% equivalent I weren't
> posting it :)
>
> pcim_iomap_regions_request_all() already uses
> pcim_request_all_regions() internally.
>
> The lines you quote here are not equivalent to the old version, but in
> combination with the following lines the functionality is identical:
> 1. Request all regions
> 2. ioremap BAR OTX2_CPT_BAR_NUM
>
> >
> > Note, the resource may be requested, OR mapped, OR both.
>
> Negative, that is not how pcim_iomap_regions_request_all() works.
(I was talking from the generic resource management in the kernel perspective)
> That
> overengineered function requests *all* PCI BARs and ioremap()s those
> specified in the bit mask.
> If you don't set a bit, you'll request all regions and ioremap() none.
> However you choose to use it, it will always request all regions and
> map between 0 and PCI_STD_NUM_BARS.
Oh, thanks to you we are getting rid of this awfully interfaced API!
> > In accordance with the
> > naming above I assume that this is not equivalent change with
> > potential
> > breakages.
>
> The nasty thing of us in PCI is that you more or less already use the
> code above anyways, because in v6.11 I reworked most of
> drivers/pci/devres.c, so pcim_iomap_regions_request_all() uses both
> pcim_request_all_regions() and pcim_iomap() in precisely that order
> already.
>
> The only hypothetical breakages which are not already in v6.11 anyways
> I could imagine are:
> * Someone complaining about changed error codes in case of failure
> * Someone racing between the calls to pcim_request_all_regions() and
> pcim_iomap(). But that's why the region request is actually there in
> the first place, to block off drivers competing for the same
> resource. And AFAIU probe() functions don't race anyways.
>
> Anything I might have overlooked?
Dunno, but the above sounds like a good explanation.
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2024-08-12 19:48 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-05 8:01 [PATCH v2 00/10] Remove pcim_iomap_regions_request_all() Philipp Stanner
2024-08-05 8:01 ` [PATCH v2 01/10] PCI: Make pcim_request_all_regions() a public function Philipp Stanner
2024-08-05 8:01 ` [PATCH v2 02/10] ata: ahci: Replace deprecated PCI functions Philipp Stanner
2024-08-05 8:01 ` [PATCH v2 03/10] crypto: qat - replace " Philipp Stanner
2024-08-05 8:01 ` [PATCH v2 04/10] crypto: marvell " Philipp Stanner
2024-08-12 15:57 ` Andy Shevchenko
2024-08-12 18:16 ` Philipp Stanner
2024-08-12 19:48 ` Andy Shevchenko [this message]
2024-08-05 8:01 ` [PATCH v2 05/10] intel_th: pci: Replace " Philipp Stanner
2024-08-05 8:01 ` [PATCH v2 06/10] wifi: iwlwifi: replace " Philipp Stanner
2024-08-05 8:01 ` [PATCH v2 07/10] ntb: idt: Replace " Philipp Stanner
2024-08-05 8:01 ` [PATCH v2 08/10] serial: rp2: " Philipp Stanner
2024-08-05 8:01 ` [PATCH v2 09/10] ALSA: korg1212: " Philipp Stanner
2024-08-05 8:01 ` [PATCH v2 10/10] PCI: Remove pcim_iomap_regions_request_all() Philipp Stanner
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=ZrpnGTO5XGkk0TET@smile.fi.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=bhelgaas@google.com \
--cc=dlemoal@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=pstanner@redhat.com \
--cc=u.kleine-koenig@pengutronix.de \
/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.