From: Helge Deller <deller@gmx.de>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: John David Anglin <dave.anglin@bell.net>,
Yinghai Lu <yinghai@kernel.org>, Meelis Roos <mroos@linux.ee>,
linux-parisc@vger.kernel.org,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
James Bottomley <James.Bottomley@hansenpartnership.com>
Subject: Re: A500 boot crash in 4.2.0-rc3-00246-g763e326
Date: Thu, 20 Aug 2015 08:53:11 +0200 [thread overview]
Message-ID: <55D57957.8020708@gmx.de> (raw)
In-Reply-To: <20150820054234.GA10267@google.com>
On 20.08.2015 07:42, Bjorn Helgaas wrote:
> On Wed, Aug 19, 2015 at 04:06:38PM +0200, Helge Deller wrote:
>>> On 2015-08-19, at 1:30 AM, Yinghai Lu wrote:
>>>> On Tue, Aug 18, 2015 at 9:48 PM, Meelis Roos <mroos@linux.ee> wrote:
>>>>>> On Tue, Aug 18, 2015 at 12:47 PM, Helge Deller <deller@gmx.de> wrote:
>>>>>>
>>>>>> Then we should change to
>>>>>>
>>>>>> config PCI_BUS_ADDR_T_64BIT
>>>>>> def_bool y if (ARCH_DMA_ADDR_T_64BIT || SPARC64)
>>>>>> depends on PCI
>>>>>
>>>>> Why SPARC64? The problem happened on parisc.
>>>> so will not set PCI_BUS_ADDR_T_64BIT for parisc.
>>
>> I think given the current time frame it's probably the best approach to fix this problem for kernel 4.2.
>> It reverts the behaviour back to how it was before (for all arches beside SPARC64).
>> I'm still wondering if/why parisc is the only arch (in the sym53c8xx driver only!) which broke by this change...
>>
>>> I'm not sure this is optimal. While the A500 may only have 32-bit PCI, c8000 appears to have a mix
>>> of 32 and 64-bit, and rp34XX is all 64-bit.
>>
>> True, but probably nobody of us noticed that we only used the 32-bit PCI interface even with 64bit kernel on parisc up to now?
>> pci_bus_alloc_resource() in drivers/pci/bus.c just disabled (flag=0) all 64bit resources for us.
>> But I agree, I think we need to fix drivers/parisc/lba_pci.c to correctly cope with 64bit pci addresses.
>
> I doubt we can fix the underlying issue before v4.2,
Agreed.
> but I'd at least like to avoid it. I applied the patch below to
> for-linus.
>
> Yinghai proposed this:
>
>>>>>> def_bool y if (ARCH_DMA_ADDR_T_64BIT || SPARC64)
>
> I did this instead:
>
> + def_bool y if (ARCH_DMA_ADDR_T_64BIT || (64BIT && !PARISC))
>
> because (a) Yinghai's proposal suggests this change is related to
> SPARC64, which is misleading, and (b) I want to keep 64-bit bus
> addresses for all 64-bit kernels *except* PA-RISC.
Ok.
> I didn't mark it as Tested-by Meelis because I think he tested
> Yinghai's proposal. But I can add that back, given confirmation.
>
>
> commit 51a660a2732c
> Author: Bjorn Helgaas <bhelgaas@google.com>
> Date: Thu Aug 20 00:08:15 2015 -0500
>
> PCI: Don't use 64-bit bus addresses on PA-RISC
>
> Meelis and Helge reported that 3a9ad0b4fdcd ("PCI: Add pci_bus_addr_t")
> caused HPMCs on A500 and hangs on rp5470.
>
> PA-RISC does not set ARCH_DMA_ADDR_T_64BIT, even for 64-bit kernels, so
> prior to 3a9ad0b4fdcd, we always used 32-bit PCI addresses. After
> 3a9ad0b4fdcd, we do use 64-bit PCI addresses in 64-bit kernels, and
> apparently there's some PA-RISC problem related to them.
>
> Fixes: 3a9ad0b4fdcd ("PCI: Add pci_bus_addr_t")
> Link: http://lkml.kernel.org/r/alpine.LRH.2.11.1507260929000.30065@math.ut.ee
> Reported-by: Meelis Roos <mroos@linux.ee>
> Reported-by: Helge Deller <deller@gmx.de>
> Based-on-idea-by: Yinghai Lu <yinghai@kernel.org>
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Looks OK. I will test later today.
Can you please add
CC: stable@vger.kernel.org # v3.19+
since commit 3a9ad0b4fdcd had that too and now all kernels down to 3.19+ are
broken on parisc...
Thanks!
Helge
> diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
> index 73de4ef..944f500 100644
> --- a/drivers/pci/Kconfig
> +++ b/drivers/pci/Kconfig
> @@ -2,7 +2,7 @@
> # PCI configuration
> #
> config PCI_BUS_ADDR_T_64BIT
> - def_bool y if (ARCH_DMA_ADDR_T_64BIT || 64BIT)
> + def_bool y if (ARCH_DMA_ADDR_T_64BIT || (64BIT && !PARISC))
> depends on PCI
>
> config PCI_MSI
next prev parent reply other threads:[~2015-08-20 6:53 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <alpine.LRH.2.11.1507260929000.30065@math.ut.ee>
[not found] ` <trinity-122a736f-3aac-4830-afc5-2abcd91792ea-1439820380917@3capp-gmx-bs71>
[not found] ` <trinity-5720bef8-5a4c-4465-b9eb-622daaef650a-1439902901415@3capp-gmx-bs02>
2015-08-18 18:44 ` Aw: A500 boot crash in 4.2.0-rc3-00246-g763e326 Meelis Roos
2015-08-18 19:47 ` Helge Deller
2015-08-18 21:24 ` Yinghai Lu
2015-08-19 4:48 ` Meelis Roos
2015-08-19 5:30 ` Yinghai Lu
2015-08-19 11:25 ` John David Anglin
2015-08-19 14:06 ` Aw: " Helge Deller
2015-08-20 5:42 ` Bjorn Helgaas
2015-08-20 6:53 ` Helge Deller [this message]
2015-08-20 19:31 ` Yinghai Lu
2015-08-20 21:15 ` Helge Deller
2015-08-20 21:30 ` Bjorn Helgaas
2015-08-19 10:40 ` Aw: " Meelis Roos
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=55D57957.8020708@gmx.de \
--to=deller@gmx.de \
--cc=James.Bottomley@hansenpartnership.com \
--cc=bhelgaas@google.com \
--cc=dave.anglin@bell.net \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=mroos@linux.ee \
--cc=sparclinux@vger.kernel.org \
--cc=yinghai@kernel.org \
/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).