All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: suravee.suthikulpanit@amd.com
Cc: will.deacon@arm.com, liviu.dudau@arm.com, marc.zyngier@arm.com,
	mark.rutland@arm.com, catalin.marinas@arm.com,
	jason@lakedaemon.net, tglx@linutronix.de, robh+dt@kernel.org,
	bhelgaas@google.com, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
	linux-doc@vger.kernel.org, devicetree@vger.kernel.org,
	Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>,
	Liviu Dudau <Liviu.Dudau@arm.com>
Subject: Re: [RFC 2/4] PCI: generic: Add support for ARM64 and MSI(x)
Date: Mon, 29 Sep 2014 16:36:30 +0200	[thread overview]
Message-ID: <8631927.qWHZsjCs8e@wuerfel> (raw)
In-Reply-To: <1411937610-22125-3-git-send-email-suravee.suthikulpanit@amd.com>

On Sunday 28 September 2014 15:53:28 suravee.suthikulpanit@amd.com wrote:
> +
> +#ifdef CONFIG_ARM64
> +struct pci_bus *gen_scan_root_bus(struct device *parent, int bus,
> +                                      struct pci_ops *ops, void *sysdata,
> +                                      struct list_head *resources)
> +{

I don't see anything ARM64 specific in this, the function only uses
the newly added generic helpers.

>  static int gen_pci_probe(struct platform_device *pdev)
>  {
> @@ -326,6 +385,7 @@ static int gen_pci_probe(struct platform_device *pdev)
>         struct device *dev = &pdev->dev;
>         struct device_node *np = dev->of_node;
>         struct gen_pci *pci = devm_kzalloc(dev, sizeof(*pci), GFP_KERNEL);
> +#ifndef CONFIG_ARM64
>         struct hw_pci hw = {
>                 .nr_controllers = 1,
>                 .private_data   = (void **)&pci,
> @@ -333,6 +393,7 @@ static int gen_pci_probe(struct platform_device *pdev)
>                 .map_irq        = of_irq_parse_and_map_pci,
>                 .ops            = &gen_pci_ops,
>         };
> +#endif
>  

Same here, I'd suggest marking this "#ifdef CONFIG_ARM" instead, as hw_pci
is an arm32 specific data structure.

>         if (!pci)
>                 return -ENOMEM;
> @@ -368,8 +429,24 @@ static int gen_pci_probe(struct platform_device *pdev)
>                 gen_pci_release_of_pci_ranges(pci);
>                 return err;
>         }
> +#ifdef CONFIG_ARM64
>  
> +#ifdef CONFIG_PCI_MSI
> +       pci->msi_parent = of_parse_phandle(np, "msi-parent", 0);
> +       if (!pci->msi_parent) {
> +               dev_err(&pdev->dev, "Failed to allocate msi-parent.\n");
> +               return -EINVAL;
> +       }
> +#endif

We probably want to enable MSI unconditionally on ARM64, so the #ifdef is
not necessary here. However, I don't think that a missing msi-parent should
be a fatal error here: we can still continue without MSI support if this
case.

> +       if (!gen_scan_root_bus(&pdev->dev, pci->cfg.bus_range.start,
> +                              &gen_pci_ops, pci, &pci->resources)) {
> +               dev_err(&pdev->dev, "failed to enable PCIe ports\n");
> +               return -ENODEV;
> +       }
> +#else
>         pci_common_init_dev(dev, &hw);
> +#endif /* CONFIG_ARM64 */
> 

Again, just make the pci_common_init_dev() call #ifdef CONFIG_ARM, and move
the generic case after it, outside of the #ifdef.

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC 2/4] PCI: generic: Add support for ARM64 and MSI(x)
Date: Mon, 29 Sep 2014 16:36:30 +0200	[thread overview]
Message-ID: <8631927.qWHZsjCs8e@wuerfel> (raw)
In-Reply-To: <1411937610-22125-3-git-send-email-suravee.suthikulpanit@amd.com>

On Sunday 28 September 2014 15:53:28 suravee.suthikulpanit at amd.com wrote:
> +
> +#ifdef CONFIG_ARM64
> +struct pci_bus *gen_scan_root_bus(struct device *parent, int bus,
> +                                      struct pci_ops *ops, void *sysdata,
> +                                      struct list_head *resources)
> +{

I don't see anything ARM64 specific in this, the function only uses
the newly added generic helpers.

>  static int gen_pci_probe(struct platform_device *pdev)
>  {
> @@ -326,6 +385,7 @@ static int gen_pci_probe(struct platform_device *pdev)
>         struct device *dev = &pdev->dev;
>         struct device_node *np = dev->of_node;
>         struct gen_pci *pci = devm_kzalloc(dev, sizeof(*pci), GFP_KERNEL);
> +#ifndef CONFIG_ARM64
>         struct hw_pci hw = {
>                 .nr_controllers = 1,
>                 .private_data   = (void **)&pci,
> @@ -333,6 +393,7 @@ static int gen_pci_probe(struct platform_device *pdev)
>                 .map_irq        = of_irq_parse_and_map_pci,
>                 .ops            = &gen_pci_ops,
>         };
> +#endif
>  

Same here, I'd suggest marking this "#ifdef CONFIG_ARM" instead, as hw_pci
is an arm32 specific data structure.

>         if (!pci)
>                 return -ENOMEM;
> @@ -368,8 +429,24 @@ static int gen_pci_probe(struct platform_device *pdev)
>                 gen_pci_release_of_pci_ranges(pci);
>                 return err;
>         }
> +#ifdef CONFIG_ARM64
>  
> +#ifdef CONFIG_PCI_MSI
> +       pci->msi_parent = of_parse_phandle(np, "msi-parent", 0);
> +       if (!pci->msi_parent) {
> +               dev_err(&pdev->dev, "Failed to allocate msi-parent.\n");
> +               return -EINVAL;
> +       }
> +#endif

We probably want to enable MSI unconditionally on ARM64, so the #ifdef is
not necessary here. However, I don't think that a missing msi-parent should
be a fatal error here: we can still continue without MSI support if this
case.

> +       if (!gen_scan_root_bus(&pdev->dev, pci->cfg.bus_range.start,
> +                              &gen_pci_ops, pci, &pci->resources)) {
> +               dev_err(&pdev->dev, "failed to enable PCIe ports\n");
> +               return -ENODEV;
> +       }
> +#else
>         pci_common_init_dev(dev, &hw);
> +#endif /* CONFIG_ARM64 */
> 

Again, just make the pci_common_init_dev() call #ifdef CONFIG_ARM, and move
the generic case after it, outside of the #ifdef.

	Arnd

  reply	other threads:[~2014-09-29 14:36 UTC|newest]

Thread overview: 122+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-28 20:53 [RFC 0/4] Add PCI/MSI(x) support for AMD Seattle Platform suravee.suthikulpanit
2014-09-28 20:53 ` suravee.suthikulpanit
2014-09-28 20:53 ` suravee.suthikulpanit at amd.com
2014-09-28 20:53 ` [RFC 1/4] arm64: amd-seattle: Adding device tree for AMD Seattle platform suravee.suthikulpanit
2014-09-28 20:53   ` suravee.suthikulpanit-5C7GfCeVMHo
2014-09-28 20:53   ` suravee.suthikulpanit at amd.com
2014-10-10 13:45   ` Mark Rutland
2014-10-10 13:45     ` Mark Rutland
2014-10-24 12:08     ` Suravee Suthikulpanit
2014-10-24 12:08       ` Suravee Suthikulpanit
2014-09-28 20:53 ` [RFC 2/4] PCI: generic: Add support for ARM64 and MSI(x) suravee.suthikulpanit
2014-09-28 20:53   ` suravee.suthikulpanit
2014-09-28 20:53   ` suravee.suthikulpanit at amd.com
2014-09-29 14:36   ` Arnd Bergmann [this message]
2014-09-29 14:36     ` Arnd Bergmann
2014-09-30 12:03     ` Lorenzo Pieralisi
2014-09-30 12:03       ` Lorenzo Pieralisi
2014-09-30 12:31       ` Arnd Bergmann
2014-09-30 12:31         ` Arnd Bergmann
2014-09-30 16:12         ` Lorenzo Pieralisi
2014-09-30 16:12           ` Lorenzo Pieralisi
2014-09-30 16:42           ` Liviu Dudau
2014-09-30 16:42             ` Liviu Dudau
2014-09-30 17:35             ` Lorenzo Pieralisi
2014-09-30 17:35               ` Lorenzo Pieralisi
2014-09-30 17:48               ` Liviu Dudau
2014-09-30 17:48                 ` Liviu Dudau
2014-09-30 18:54                 ` Arnd Bergmann
2014-09-30 18:54                   ` Arnd Bergmann
2014-09-30 20:01                   ` Arnd Bergmann
2014-09-30 20:01                     ` Arnd Bergmann
2014-10-01  8:46                     ` Liviu Dudau
2014-10-01  8:46                       ` Liviu Dudau
2014-10-01  9:38                       ` Arnd Bergmann
2014-10-01  9:38                         ` Arnd Bergmann
2014-10-07 12:06                         ` Lorenzo Pieralisi
2014-10-07 12:06                           ` Lorenzo Pieralisi
2014-10-07 13:52                           ` Arnd Bergmann
2014-10-07 13:52                             ` Arnd Bergmann
2014-10-07 14:47                             ` Lorenzo Pieralisi
2014-10-07 14:47                               ` Lorenzo Pieralisi
2014-10-07 21:39                               ` Arnd Bergmann
2014-10-07 21:39                                 ` Arnd Bergmann
2014-10-08 10:19                                 ` Lorenzo Pieralisi
2014-10-08 10:19                                   ` Lorenzo Pieralisi
2014-10-08 14:47                                   ` Arnd Bergmann
2014-10-08 14:47                                     ` Arnd Bergmann
2014-10-09  9:04                                     ` Lorenzo Pieralisi
2014-10-09  9:04                                       ` Lorenzo Pieralisi
2014-10-09 10:51                                       ` Arnd Bergmann
2014-10-09 10:51                                         ` Arnd Bergmann
2014-10-10 13:58                                         ` Lorenzo Pieralisi
2014-10-10 13:58                                           ` Lorenzo Pieralisi
2014-10-10 18:31                                           ` Arnd Bergmann
2014-10-10 18:31                                             ` Arnd Bergmann
2014-10-13  9:36                                             ` Lorenzo Pieralisi
2014-10-13  9:36                                               ` Lorenzo Pieralisi
2014-10-22 15:59                         ` Lorenzo Pieralisi
2014-10-22 15:59                           ` Lorenzo Pieralisi
2014-10-22 16:49                           ` Bjorn Helgaas
2014-10-22 16:49                             ` Bjorn Helgaas
2014-10-22 20:52                           ` Arnd Bergmann
2014-10-22 20:52                             ` Arnd Bergmann
2014-10-23  9:13                             ` Liviu Dudau
2014-10-23  9:13                               ` Liviu Dudau
2014-10-23 11:27                               ` Lorenzo Pieralisi
2014-10-23 11:27                                 ` Lorenzo Pieralisi
2014-10-23 16:52                                 ` Jason Gunthorpe
2014-10-23 16:52                                   ` Jason Gunthorpe
2014-10-27 16:10                                   ` Lorenzo Pieralisi
2014-10-27 16:10                                     ` Lorenzo Pieralisi
2014-10-23 13:33                               ` Arnd Bergmann
2014-10-23 13:33                                 ` Arnd Bergmann
2014-10-24 10:04                                 ` Liviu Dudau
2014-10-24 10:04                                   ` Liviu Dudau
2014-11-05 23:40                                 ` Bjorn Helgaas
2014-11-05 23:40                                   ` Bjorn Helgaas
2014-11-06  0:06                                   ` Arnd Bergmann
2014-11-06  0:06                                     ` Arnd Bergmann
2014-11-06  0:06                                     ` Arnd Bergmann
2014-12-29 19:32                                 ` Suravee Suthikulpanit
2014-12-29 19:32                                   ` Suravee Suthikulpanit
2015-01-02 11:55                                   ` Lorenzo Pieralisi
2015-01-02 11:55                                     ` Lorenzo Pieralisi
2015-01-02 11:55                                     ` Lorenzo Pieralisi
2015-01-02 18:18                                     ` Suravee Suthikulanit
2015-01-02 18:18                                       ` Suravee Suthikulanit
2015-01-02 21:09                                       ` Arnd Bergmann
2015-01-02 21:09                                         ` Arnd Bergmann
2015-01-05 14:48                                         ` Lorenzo Pieralisi
2015-01-05 14:48                                           ` Lorenzo Pieralisi
2014-11-05 23:39                             ` Bjorn Helgaas
2014-11-05 23:39                               ` Bjorn Helgaas
2014-11-06  0:05                               ` Arnd Bergmann
2014-11-06  0:05                                 ` Arnd Bergmann
2014-11-06  9:52                                 ` Lorenzo Pieralisi
2014-11-06  9:52                                   ` Lorenzo Pieralisi
2014-09-29 19:19   ` Sunil Kovvuri
2014-09-29 19:19     ` Sunil Kovvuri
2014-09-28 20:53 ` [RFC 3/4] arm64: Do not call enable PCI resources when specify PCI_PROBE_ONLY suravee.suthikulpanit
2014-09-28 20:53   ` suravee.suthikulpanit
2014-09-28 20:53   ` suravee.suthikulpanit at amd.com
2014-09-29 14:38   ` Arnd Bergmann
2014-09-29 14:38     ` Arnd Bergmann
2014-09-29 18:17   ` Bjorn Helgaas
2014-09-29 18:17     ` Bjorn Helgaas
2015-06-23 22:34     ` Benjamin Herrenschmidt
2015-06-23 22:34       ` Benjamin Herrenschmidt
2015-06-23 23:05       ` Russell King - ARM Linux
2015-06-23 23:05         ` Russell King - ARM Linux
2015-06-23 22:32   ` Benjamin Herrenschmidt
2015-06-23 22:32     ` Benjamin Herrenschmidt
2014-09-28 20:53 ` [RFC 4/4] irqchip: gicv2m: Add supports for ARM GICv2m MSI(-X) suravee.suthikulpanit
2014-09-28 20:53   ` suravee.suthikulpanit-5C7GfCeVMHo
2014-09-28 20:53   ` suravee.suthikulpanit at amd.com
2014-09-28 21:35   ` Suravee Suthikulpanit
2014-09-28 21:35     ` Suravee Suthikulpanit
2014-09-28 21:35     ` Suravee Suthikulpanit
2014-09-29 14:23     ` Thomas Gleixner
2014-09-29 14:23       ` Thomas Gleixner
2014-09-29 14:42   ` Arnd Bergmann
2014-09-29 14:42     ` Arnd Bergmann

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=8631927.qWHZsjCs8e@wuerfel \
    --to=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jason@lakedaemon.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=liviu.dudau@arm.com \
    --cc=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=tglx@linutronix.de \
    --cc=will.deacon@arm.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.