All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: "Jayachandran C." <jchandra@broadcom.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Jason Cooper <jason@lakedaemon.net>,
	Russell King <linux@arm.linux.org.uk>,
	Will Deacon <Will.Deacon@arm.com>,
	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>, Liviu Dudau <Liviu.Dudau@arm.com>,
	"suravee.suthikulpanit@amd.com" <suravee.suthikulpanit@amd.com>,
	Ming Lei <ming.lei@canonical.com>
Subject: Re: [PATCH v3 1/2] PCI: generic: remove dependency on hw_pci
Date: Thu, 30 Jul 2015 14:49:46 +0100	[thread overview]
Message-ID: <20150730134946.GB12999@red-moon> (raw)
In-Reply-To: <20150730101351.GA31408@jayachandranc.netlogicmicro.com>

On Thu, Jul 30, 2015 at 11:13:52AM +0100, Jayachandran C. wrote:
> On Thu, Jul 30, 2015 at 10:28:08AM +0100, Lorenzo Pieralisi wrote:
> > On Wed, Jul 29, 2015 at 04:28:00PM +0100, Jayachandran C wrote:
> > > The current code in pci-host-generic.c uses pci_common_init_dev()
> > > from ARM platform to do some of the PCI initializations, and this
> > > prevents it from being used in ARM64.
> > > 
> > > The initialization done by pci_common_init_dev() that is needed
> > > by pci-host-generic.c is really limited, and can be done easily
> > > in the same file without using hw_pci API. The ARM platform
> > > requires a pci_sys_data as sysdata for the PCI bus, this can be
> > > handled by setting up gen_pci to have a pci_sys_data variable as
> > > the first element.
> > 
> > Ok, I still do not like leaving pci_sys_data there, and to remove
> > it there is only one snag (+ one patch to prevent
> > resources enablement on ARM64 PROBE_ONLY systems to have a
> > consolidated ARM/ARM64 host generic), which consists in removing the
> > align_resource pointer from pci_sys_data. A proposed solution (maybe
> > not ideal, we can consider it a temporary step to make progress)
> > here:
> > 
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2015-July/359273.html
> > 
> > Comments very appreciated on the patch above, I do not have major
> > concerns with this patch other than the pci_sys_data hack, because
> > that's what it is.
> 
> In may opinion, we have to leave ->sysdata on ARM pointing to a valid
> pci_sys_data. Leaving it pointing to random stuff and hoping that it
> will not be used is pretty bad - so I don't see why such a patch would
> make it upstream.

I really can't follow what you mean here, if we remove pci_sys_data
dependency pci_sys_data will be an internal data structure for
drivers still depending on bios32 to initialize hosts, it won't extend
to all ARM PCI host controllers, so I struggle to see your point.

> The second issue I have is adding dependencies between patches that
> enable basic functionality on arm64 with arm infrastructure cleanup
> patches. Given the number of kernel releases the cleanups take [and
> factoring in the amount of mess arm has :)], we will end up waiting
> a long time for arm64.

I agree, that's the reason why I think it is time to merge your changes,
but this does not mean that the consolidation stops here, I made
an exception since this patch has been hanging in the balance for
a while, but the clean-up has to be completed anyway and I will take
care of that.

> BTW, I am not sure why there is a pushback on wrapping a structure in
> another, container_of() is the linux way of doing things :)

I think you are aware of my opinion by now, no point stating it again.

Lorenzo

WARNING: multiple messages have this Message-ID (diff)
From: lorenzo.pieralisi@arm.com (Lorenzo Pieralisi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 1/2] PCI: generic: remove dependency on hw_pci
Date: Thu, 30 Jul 2015 14:49:46 +0100	[thread overview]
Message-ID: <20150730134946.GB12999@red-moon> (raw)
In-Reply-To: <20150730101351.GA31408@jayachandranc.netlogicmicro.com>

On Thu, Jul 30, 2015 at 11:13:52AM +0100, Jayachandran C. wrote:
> On Thu, Jul 30, 2015 at 10:28:08AM +0100, Lorenzo Pieralisi wrote:
> > On Wed, Jul 29, 2015 at 04:28:00PM +0100, Jayachandran C wrote:
> > > The current code in pci-host-generic.c uses pci_common_init_dev()
> > > from ARM platform to do some of the PCI initializations, and this
> > > prevents it from being used in ARM64.
> > > 
> > > The initialization done by pci_common_init_dev() that is needed
> > > by pci-host-generic.c is really limited, and can be done easily
> > > in the same file without using hw_pci API. The ARM platform
> > > requires a pci_sys_data as sysdata for the PCI bus, this can be
> > > handled by setting up gen_pci to have a pci_sys_data variable as
> > > the first element.
> > 
> > Ok, I still do not like leaving pci_sys_data there, and to remove
> > it there is only one snag (+ one patch to prevent
> > resources enablement on ARM64 PROBE_ONLY systems to have a
> > consolidated ARM/ARM64 host generic), which consists in removing the
> > align_resource pointer from pci_sys_data. A proposed solution (maybe
> > not ideal, we can consider it a temporary step to make progress)
> > here:
> > 
> > http://lists.infradead.org/pipermail/linux-arm-kernel/2015-July/359273.html
> > 
> > Comments very appreciated on the patch above, I do not have major
> > concerns with this patch other than the pci_sys_data hack, because
> > that's what it is.
> 
> In may opinion, we have to leave ->sysdata on ARM pointing to a valid
> pci_sys_data. Leaving it pointing to random stuff and hoping that it
> will not be used is pretty bad - so I don't see why such a patch would
> make it upstream.

I really can't follow what you mean here, if we remove pci_sys_data
dependency pci_sys_data will be an internal data structure for
drivers still depending on bios32 to initialize hosts, it won't extend
to all ARM PCI host controllers, so I struggle to see your point.

> The second issue I have is adding dependencies between patches that
> enable basic functionality on arm64 with arm infrastructure cleanup
> patches. Given the number of kernel releases the cleanups take [and
> factoring in the amount of mess arm has :)], we will end up waiting
> a long time for arm64.

I agree, that's the reason why I think it is time to merge your changes,
but this does not mean that the consolidation stops here, I made
an exception since this patch has been hanging in the balance for
a while, but the clean-up has to be completed anyway and I will take
care of that.

> BTW, I am not sure why there is a pushback on wrapping a structure in
> another, container_of() is the linux way of doing things :)

I think you are aware of my opinion by now, no point stating it again.

Lorenzo

  reply	other threads:[~2015-07-30 13:49 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-29 15:28 [PATCH v3 1/2] PCI: generic: remove dependency on hw_pci Jayachandran C
2015-07-29 15:28 ` Jayachandran C
2015-07-29 15:28 ` [PATCH v3 2/2] PCI: generic: add arm64 support Jayachandran C
2015-07-29 15:28   ` Jayachandran C
2015-07-29 16:25   ` Lorenzo Pieralisi
2015-07-29 16:25     ` Lorenzo Pieralisi
2015-07-30  9:28 ` [PATCH v3 1/2] PCI: generic: remove dependency on hw_pci Lorenzo Pieralisi
2015-07-30  9:28   ` Lorenzo Pieralisi
2015-07-30 10:13   ` Jayachandran C.
2015-07-30 13:49     ` Lorenzo Pieralisi [this message]
2015-07-30 13:49       ` Lorenzo Pieralisi
2015-07-30 13:35 ` Lorenzo Pieralisi
2015-07-30 13:35   ` Lorenzo Pieralisi
2015-07-31 16:07   ` Jayachandran C.
2015-07-31 16:27     ` Lorenzo Pieralisi
2015-07-31 16:27       ` Lorenzo Pieralisi
2015-08-03 13:11       ` Will Deacon
2015-08-03 13:11         ` Will Deacon
2015-08-03 23:24         ` Bjorn Helgaas
2015-08-03 23:24           ` Bjorn Helgaas
2015-07-30 16:45 ` Rob Herring
2015-07-30 16:45   ` Rob Herring
2015-08-04  7:35 ` Pavel Fedin
2015-08-04  7:35   ` Pavel Fedin

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=20150730134946.GB12999@red-moon \
    --to=lorenzo.pieralisi@arm.com \
    --cc=Liviu.Dudau@arm.com \
    --cc=Will.Deacon@arm.com \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=jason@lakedaemon.net \
    --cc=jchandra@broadcom.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=ming.lei@canonical.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=thomas.petazzoni@free-electrons.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.