All of lore.kernel.org
 help / color / mirror / Atom feed
From: Will Deacon <will.deacon@arm.com>
To: Jayachandran C <jchandra@broadcom.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
	Liviu Dudau <Liviu.Dudau@arm.com>,
	"suravee.suthikulpanit@amd.com" <suravee.suthikulpanit@amd.com>,
	Ming Lei <ming.lei@canonical.com>
Subject: Re: [PATCH v2 1/2] PCI: generic: remove dependency on hw_pci
Date: Tue, 5 May 2015 16:53:46 +0100	[thread overview]
Message-ID: <20150505155346.GJ1550@arm.com> (raw)
In-Reply-To: <1430791333-26013-1-git-send-email-jchandra@broadcom.com>

On Tue, May 05, 2015 at 03:02:12AM +0100, Jayachandran C wrote:
> The current code in pci-host-generic.c uses pci_common_init_dev()
> from the arch/arm/ to do a part of the PCI initialization, and this
> prevents it from being used on arm64.
> 
> The initialization done by pci_common_init_dev() that is really
> needed by pci-host-generic.c can be done in the same file without
> using the hw_pci API of ARM.
> 
> The ARM platform requires a pci_sys_data as sysdata for the PCI bus,
> this is be handled by setting up 'struct gen_pci' to embed a
> pci_sys_data variable as the first element on the ARM platform.
> 
> Signed-off-by: Jayachandran C <jchandra@broadcom.com>
> ---
> Here's v2 of the patches, this enables use of pci-host-generic on
> arm64.
> 
> This has been tested on both qemu and fast model for arm64, and on
> qemu for arm32.
> 
> v1->v2
>  - Address comments from Arnd Bergmann and Lorenzo Pieralisi
>     - move contents of gen_pci_init to gen_pci_probe
>     - assign resources only when !probe_only
>  - tested on ARM32 with qemu option -M virt

I tried this with an arm64 kernel running under kvmtool, but I get the
following errors (a 32-bit ARM kernel does seem to work):

  PCI host bridge /pci ranges:
     IO 0x00000000..0x0000ffff -> 0x00000000
    MEM 0x41000000..0x7fffffff -> 0x41000000
  pci-host-generic 40000000.pci: PCI host bridge to bus 0000:00
  pci_bus 0000:00: root bus resource [bus 00-01]
  pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
  pci_bus 0000:00: root bus resource [mem 0x41000000-0x7fffffff]
  pci_bus 0000:00: scanning bus
  pci 0000:00:00.0: [1af4:1009] type 00 class 0xff0000
  pci 0000:00:00.0: reg 0x10: [mem 0x41000000-0x410003ff]
  pci 0000:00:00.0: reg 0x14: [io  0x6200-0x65ff]
  pci 0000:00:00.0: reg 0x18: [mem 0x41000400-0x410005ff]
  pci 0000:00:01.0: [1af4:1009] type 00 class 0xff0000
  pci 0000:00:01.0: reg 0x10: [mem 0x41000800-0x41000bff]
  pci 0000:00:01.0: reg 0x14: [io  0x6600-0x69ff]
  pci 0000:00:01.0: reg 0x18: [mem 0x41000c00-0x41000dff]
  pci_bus 0000:00: fixups for bus
  pci_bus 0000:00: bus scan returning with max=00
  pci 0000:00:00.0: fixup irq: got 10
  pci 0000:00:00.0: assigning IRQ 10
  pci 0000:00:01.0: fixup irq: got 11
  pci 0000:00:01.0: assigning IRQ 11
  virtio-pci 0000:00:00.0: can't enable device: BAR 0 [mem 0x41000000-0x410003ff] not claimed
  virtio-pci: probe of 0000:00:00.0 failed with error -22
  virtio-pci 0000:00:01.0: can't enable device: BAR 0 [mem 0x41000800-0x41000bff] not claimed
  virtio-pci: probe of 0000:00:01.0 failed with error -22

Will

WARNING: multiple messages have this Message-ID (diff)
From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/2] PCI: generic: remove dependency on hw_pci
Date: Tue, 5 May 2015 16:53:46 +0100	[thread overview]
Message-ID: <20150505155346.GJ1550@arm.com> (raw)
In-Reply-To: <1430791333-26013-1-git-send-email-jchandra@broadcom.com>

On Tue, May 05, 2015 at 03:02:12AM +0100, Jayachandran C wrote:
> The current code in pci-host-generic.c uses pci_common_init_dev()
> from the arch/arm/ to do a part of the PCI initialization, and this
> prevents it from being used on arm64.
> 
> The initialization done by pci_common_init_dev() that is really
> needed by pci-host-generic.c can be done in the same file without
> using the hw_pci API of ARM.
> 
> The ARM platform requires a pci_sys_data as sysdata for the PCI bus,
> this is be handled by setting up 'struct gen_pci' to embed a
> pci_sys_data variable as the first element on the ARM platform.
> 
> Signed-off-by: Jayachandran C <jchandra@broadcom.com>
> ---
> Here's v2 of the patches, this enables use of pci-host-generic on
> arm64.
> 
> This has been tested on both qemu and fast model for arm64, and on
> qemu for arm32.
> 
> v1->v2
>  - Address comments from Arnd Bergmann and Lorenzo Pieralisi
>     - move contents of gen_pci_init to gen_pci_probe
>     - assign resources only when !probe_only
>  - tested on ARM32 with qemu option -M virt

I tried this with an arm64 kernel running under kvmtool, but I get the
following errors (a 32-bit ARM kernel does seem to work):

  PCI host bridge /pci ranges:
     IO 0x00000000..0x0000ffff -> 0x00000000
    MEM 0x41000000..0x7fffffff -> 0x41000000
  pci-host-generic 40000000.pci: PCI host bridge to bus 0000:00
  pci_bus 0000:00: root bus resource [bus 00-01]
  pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
  pci_bus 0000:00: root bus resource [mem 0x41000000-0x7fffffff]
  pci_bus 0000:00: scanning bus
  pci 0000:00:00.0: [1af4:1009] type 00 class 0xff0000
  pci 0000:00:00.0: reg 0x10: [mem 0x41000000-0x410003ff]
  pci 0000:00:00.0: reg 0x14: [io  0x6200-0x65ff]
  pci 0000:00:00.0: reg 0x18: [mem 0x41000400-0x410005ff]
  pci 0000:00:01.0: [1af4:1009] type 00 class 0xff0000
  pci 0000:00:01.0: reg 0x10: [mem 0x41000800-0x41000bff]
  pci 0000:00:01.0: reg 0x14: [io  0x6600-0x69ff]
  pci 0000:00:01.0: reg 0x18: [mem 0x41000c00-0x41000dff]
  pci_bus 0000:00: fixups for bus
  pci_bus 0000:00: bus scan returning with max=00
  pci 0000:00:00.0: fixup irq: got 10
  pci 0000:00:00.0: assigning IRQ 10
  pci 0000:00:01.0: fixup irq: got 11
  pci 0000:00:01.0: assigning IRQ 11
  virtio-pci 0000:00:00.0: can't enable device: BAR 0 [mem 0x41000000-0x410003ff] not claimed
  virtio-pci: probe of 0000:00:00.0 failed with error -22
  virtio-pci 0000:00:01.0: can't enable device: BAR 0 [mem 0x41000800-0x41000bff] not claimed
  virtio-pci: probe of 0000:00:01.0 failed with error -22

Will

  parent reply	other threads:[~2015-05-05 15:53 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-05  2:02 [PATCH v2 1/2] PCI: generic: remove dependency on hw_pci Jayachandran C
2015-05-05  2:02 ` Jayachandran C
2015-05-05  2:02 ` [PATCH v2 2/2] PCI: generic: add arm64 support Jayachandran C
2015-05-05  2:02   ` Jayachandran C
2015-05-05 15:53 ` Will Deacon [this message]
2015-05-05 15:53   ` [PATCH v2 1/2] PCI: generic: remove dependency on hw_pci Will Deacon
2015-05-05 15:58   ` Arnd Bergmann
2015-05-05 15:58     ` Arnd Bergmann
2015-05-05 16:03   ` Lorenzo Pieralisi
2015-05-05 16:03     ` Lorenzo Pieralisi
2015-05-06 14:18   ` Lorenzo Pieralisi
2015-05-06 14:18     ` Lorenzo Pieralisi
2015-05-06 15:18     ` Bjorn Helgaas
2015-05-06 15:18       ` Bjorn Helgaas
2015-05-07  3:32       ` Suravee Suthikulanit
2015-05-07  3:32         ` Suravee Suthikulanit
2015-05-12 13:34         ` Bjorn Helgaas
2015-05-12 13:34           ` Bjorn Helgaas
2015-05-12 16:34           ` Lorenzo Pieralisi
2015-05-12 16:34             ` Lorenzo Pieralisi
2015-05-12 19:20             ` Bjorn Helgaas
2015-05-12 19:20               ` Bjorn Helgaas
2015-05-13 12:47         ` Suravee Suthikulanit
2015-05-13 12:47           ` Suravee Suthikulanit
2015-05-13 13:54           ` Bjorn Helgaas
2015-05-13 13:54             ` Bjorn Helgaas
2015-05-13 15:05             ` Suravee Suthikulanit
2015-05-13 15:05               ` Suravee Suthikulanit
2015-05-13 15:11               ` Bjorn Helgaas
2015-05-13 15:11                 ` Bjorn Helgaas
2015-05-12  0:07   ` Jayachandran C.
2015-05-19 23:09     ` Bjorn Helgaas
2015-05-19 23:09       ` Bjorn Helgaas
2015-05-20 17:29       ` Will Deacon
2015-05-20 17:29         ` Will Deacon
2015-05-20 20:46         ` Bjorn Helgaas
2015-05-20 20:46           ` Bjorn Helgaas
2015-05-21  6:37         ` Jayachandran C.
2015-05-26  9:59           ` Will Deacon
2015-05-26  9:59             ` Will Deacon
2015-05-26 10:38             ` Arnd Bergmann
2015-05-26 10:38               ` 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=20150505155346.GJ1550@arm.com \
    --to=will.deacon@arm.com \
    --cc=Liviu.Dudau@arm.com \
    --cc=Lorenzo.Pieralisi@arm.com \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=jchandra@broadcom.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=ming.lei@canonical.com \
    --cc=suravee.suthikulpanit@amd.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.