linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: sharath.kumar.d.m@intel.com
Cc: lpieralisi@kernel.org, kw@linux.com, robh@kernel.org,
	bhelgaas@google.com, linux-pci@vger.kernel.org,
	dinguyen@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/2] PCI: altera: refactor driver for supporting new platform
Date: Wed, 6 Sep 2023 12:08:12 -0500	[thread overview]
Message-ID: <20230906170812.GA230066@bhelgaas> (raw)
In-Reply-To: <20230906110918.1501376-2-sharath.kumar.d.m@intel.com>

Capitalize subject line to match history:

  PCI: altera: Refactor driver for supporting new platform

On Wed, Sep 06, 2023 at 04:39:17PM +0530, sharath.kumar.d.m@intel.com wrote:
> From: D M Sharath Kumar <sharath.kumar.d.m@intel.com>

Needs a commit log.  It's OK to repeat the subject line.  Also helpful
if you can hint about why it needs to be refactored.  In this case, it
looks like you'll need to have a different ISR for Agilex, and also
something different about root bus vs downstream config accesses.

> @@ -100,10 +101,15 @@ struct altera_pcie_ops {
>  	void (*tlp_write_pkt)(struct altera_pcie *pcie, u32 *headers,
>  			      u32 data, bool align);
>  	bool (*get_link_status)(struct altera_pcie *pcie);
> -	int (*rp_read_cfg)(struct altera_pcie *pcie, int where,
> -			   int size, u32 *value);
> +	int (*rp_read_cfg)(struct altera_pcie *pcie, u8 busno,
> +			unsigned int devfn, int where, int size, u32 *value);
>  	int (*rp_write_cfg)(struct altera_pcie *pcie, u8 busno,
> -			    int where, int size, u32 value);
> +			unsigned int devfn, int where, int size, u32 value);
> +	int (*ep_read_cfg)(struct altera_pcie *pcie, u8 busno,
> +			unsigned int devfn, int where, int size, u32 *value);
> +	int (*ep_write_cfg)(struct altera_pcie *pcie, u8 busno,
> +			unsigned int devfn, int where, int size, u32 value);

"ep_read_cfg" isn't the ideal name because it suggests "endpoint", but
it may be either an endpoint or a switch upstream port.  The rockchip
driver uses "other", which isn't super descriptive either but might be
better.

> +	void (*rp_isr)(struct irq_desc *desc);
>  };

> +static int _altera_pcie_cfg_read(struct altera_pcie *pcie, u8 busno,
> +				 unsigned int devfn, int where, int size,
> +				 u32 *value)
> +{
> +	if (busno == pcie->root_bus_nr && pcie->pcie_data->ops->rp_read_cfg)
> +		return pcie->pcie_data->ops->rp_read_cfg(pcie, busno, devfn,
> +							where, size, value);

Several other drivers use pci_is_root_bus() instead of keeping track
of root_bus_nr and watching for changes to it.  Maybe simpler and more
reliable?  That would be best as a separate patch all by itself if you
go that direction.

> +
> +	if (pcie->pcie_data->ops->ep_read_cfg)
> +		return pcie->pcie_data->ops->ep_read_cfg(pcie, busno, devfn,
> +							where, size, value);
> +	return PCIBIOS_FUNC_NOT_SUPPORTED;
> +}

  reply	other threads:[~2023-09-06 17:08 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-16  6:33 [PATCH 0/1] pci: agilex_rp: add pci root port support for agilex platform sharath.kumar.d.m
2023-06-16  6:33 ` [PATCH 1/1] pci: agilex_pci: add pcie rootport support for agilex sharath.kumar.d.m
2023-06-16 15:21   ` Bjorn Helgaas
2023-09-06 11:09   ` [PATCH v2 0/2] PCI: Altera: add support to Agilex family sharath.kumar.d.m
2023-09-06 11:09     ` [PATCH v2 1/2] PCI: altera: refactor driver for supporting new platform sharath.kumar.d.m
2023-09-06 17:08       ` Bjorn Helgaas [this message]
2023-09-08  9:09         ` D M, Sharath Kumar
2023-09-08 12:44           ` Bjorn Helgaas
2023-09-08 13:40             ` D M, Sharath Kumar
2023-09-08 19:52               ` Bjorn Helgaas
2023-09-11 10:33                 ` [PATCH 1/2] PCI: altera: refactor driver for supporting new platforms sharath.kumar.d.m
2023-09-11 12:24                 ` [PATCH v3 0/2] PCI: altera: add support to agilex family sharath.kumar.d.m
2023-09-11 12:24                   ` [PATCH v3 1/2] PCI: altera: refactor driver for supporting new platforms sharath.kumar.d.m
2023-09-11 12:24                   ` [PATCH v3 2/2] PCI: altera: add support for agilex family fpga sharath.kumar.d.m
2023-09-11 13:35                 ` [PATCH v2 1/2] PCI: altera: refactor driver for supporting new platform D M, Sharath Kumar
2023-09-11 20:08               ` Bjorn Helgaas
2023-09-13 12:59                 ` Bjorn Helgaas
2023-09-17 17:05                   ` [PATCH v4 0/2] PCI: altera: add support to agilex family sharath.kumar.d.m
2023-09-17 17:05                     ` [PATCH v4 1/2] PCI: altera: refactor driver for supporting new platform sharath.kumar.d.m
2023-09-17 17:05                     ` [PATCH v4 2/2] PCI: altera: add support for agilex family fpga sharath.kumar.d.m
2023-10-25 22:05                       ` Bjorn Helgaas
2023-10-28 13:26                         ` [PATCH v5 2/2] PCI: altera: add support for agilex7 " sharath.kumar.d.m
2023-10-25 21:51                     ` [PATCH v4 0/2] PCI: altera: add support to agilex family Bjorn Helgaas
2023-10-28 13:33                       ` [PATCH v5 " sharath.kumar.d.m
2023-09-11 13:53       ` [PATCH v3 " sharath.kumar.d.m
2023-09-11 13:53         ` [PATCH v3 1/2] PCI: altera: refactor driver for supporting new platforms sharath.kumar.d.m
2023-09-11 13:53         ` [PATCH v3 2/2] PCI: altera: add support for agilex family fpga sharath.kumar.d.m
2023-09-15 10:51         ` [PATCH v3 0/2] PCI: altera: add support to agilex family Dinh Nguyen
2023-09-06 11:09     ` [PATCH v2 2/2] PCI: altera: add suport for Agilex Family FPGA sharath.kumar.d.m
2023-09-06 17:12       ` Bjorn Helgaas
2023-09-08  9:15         ` D M, Sharath Kumar
2023-09-08 12:47           ` Bjorn Helgaas
2023-09-08 14:35             ` D M, Sharath Kumar
2023-09-08 19:48               ` Bjorn Helgaas
2023-09-11 10:38                 ` [PATCH 2/2] PCI: altera: add support for agilex family fpga sharath.kumar.d.m
2023-09-11 13:08                 ` [PATCH v3 0/2] PCI: altera: add support to agilex family sharath.kumar.d.m
2023-09-11 13:08                   ` [PATCH v3 1/2] PCI: altera: refactor driver for supporting new platforms sharath.kumar.d.m
2023-09-11 13:08                   ` [PATCH v3 2/2] PCI: altera: add support for agilex family fpga sharath.kumar.d.m
2023-09-11 14:08                 ` [PATCH v2 2/2] PCI: altera: add suport for Agilex Family FPGA D M, Sharath Kumar
2023-09-11 13:16       ` [PATCH v3 0/2] PCI: altera: add support to agilex family sharath.kumar.d.m
2023-09-11 13:16         ` [PATCH v3 1/2] PCI: altera: refactor driver for supporting new platforms sharath.kumar.d.m
2023-09-11 13:16         ` [PATCH v3 2/2] PCI: altera: add support for agilex family fpga sharath.kumar.d.m
2023-09-11 13:22       ` [PATCH v3 0/2] PCI: altera: add support to agilex family sharath.kumar.d.m
2023-09-11 13:22         ` [PATCH v3 1/2] PCI: altera: refactor driver for supporting new platforms sharath.kumar.d.m
2023-09-11 13:22         ` [PATCH v3 2/2] PCI: altera: add support for agilex family fpga sharath.kumar.d.m
2023-09-11 13:25       ` [PATCH v3 0/2] PCI: altera: add support to agilex family sharath.kumar.d.m
2023-09-11 13:25         ` [PATCH v3 1/2] PCI: altera: refactor driver for supporting new platforms sharath.kumar.d.m
2023-09-11 13:25         ` [PATCH v3 2/2] PCI: altera: add support for agilex family fpga sharath.kumar.d.m
2023-09-11 10:15     ` [PATCH v3 0/2] PCI: altera: add support to agilex family sharath.kumar.d.m
2023-09-11 12:16     ` sharath.kumar.d.m
2023-09-11 13:31     ` sharath.kumar.d.m
2023-09-11 13:31       ` [PATCH v3 1/2] PCI: altera: refactor driver for supporting new platforms sharath.kumar.d.m
2023-09-11 13:31       ` [PATCH v3 2/2] PCI: altera: add support for agilex family fpga sharath.kumar.d.m
2023-09-11 13:45   ` [PATCH v3 0/2] PCI: altera: add support to agilex family sharath.kumar.d.m
2023-09-11 13:45     ` [PATCH v3 1/2] PCI: altera: refactor driver for supporting new platforms sharath.kumar.d.m
2023-09-11 13:45     ` [PATCH v3 2/2] PCI: altera: add support for agilex family fpga sharath.kumar.d.m

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=20230906170812.GA230066@bhelgaas \
    --to=helgaas@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=dinguyen@kernel.org \
    --cc=kw@linux.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lpieralisi@kernel.org \
    --cc=robh@kernel.org \
    --cc=sharath.kumar.d.m@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).