From patchwork Thu Aug 20 05:42:34 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bjorn Helgaas X-Patchwork-Id: 7040771 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: patchwork-linux-pci@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 05A709F344 for ; Thu, 20 Aug 2015 05:42:46 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 1B0D92053C for ; Thu, 20 Aug 2015 05:42:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 836132053E for ; Thu, 20 Aug 2015 05:42:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751254AbbHTFml (ORCPT ); Thu, 20 Aug 2015 01:42:41 -0400 Received: from mail-pd0-f169.google.com ([209.85.192.169]:32911 "EHLO mail-pd0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751106AbbHTFmk (ORCPT ); Thu, 20 Aug 2015 01:42:40 -0400 Received: by pdrh1 with SMTP id h1so10255439pdr.0 for ; Wed, 19 Aug 2015 22:42:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=hmsKb8Fy11aUikay4V/QoPTuBHZpC0h8bEYPPtorke4=; b=dOcmuM0RPpyngvgf67eEOx2r6FQUQeGnw7di9LUt5hH2Tvg+DDfUsnSjPErAyCb0TA iMLhOEIRPIY0Aq/7Vse1tIc5E+kULCPqUJtCPeHTfEnmcE7I3TkNJmLkeItFT+T89ZYw UW8pmxzvEJ4n2lzeaXqRbbAwjSGdtJozTGq9OT/L2bfgbQs6tUjcgGKHH67CqFhMbf8g lx+Kv6x+qn7M6rB9iCxPVYoeH2uaGN7m7zKR9dUoIQ17Q0U2knNaCwOddtk4N957hvtK 672on6Y79rj3U+OlBFSElgRtYoiQwvDb0wvfzmT7w1MMn+T7yBKKtiDB8/Rv1xatvexW fybQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=hmsKb8Fy11aUikay4V/QoPTuBHZpC0h8bEYPPtorke4=; b=H2Qk22AqLteMTh8GLuBT04EcFgBq718CxUR1Pa7xpzBwDpbzQ7haovpQ1BJNdbG0Z7 13T+97OBUzpwHI2xCJRQDcrbMMLnE8nuMRhXmBSsOkb+783Q/L6yDOwAoYtpXIX14FO9 GsCq2bKY0IXS+Xkz76uwpB8oa4zhJLobjhfMRqCBszMVoY/L/swZhKlt6JvssYgImpxU Wc0MpcXGgBo8U1sp3u2WHiwe0nd7J7nDM2rYF39ehsy5dmFYDpU6Z7PfnvXyD/G1+6Y4 GX1xWn/Kuci2mVUTiblhlWVMJa1ARWqCCiLlCFLJFOjXJp4+tkjxH/0LMbKYcOwR4w16 Bz0Q== X-Gm-Message-State: ALoCoQldf//TzZo2K/HyojDGCSPkn6TIA5iVHq8C2A1hyGZkwe4DrME1AE5nSSgUyrAN15O6Q9W6 X-Received: by 10.70.22.234 with SMTP id h10mr2962662pdf.102.1440049359908; Wed, 19 Aug 2015 22:42:39 -0700 (PDT) Received: from google.com ([70.96.146.23]) by smtp.gmail.com with ESMTPSA id qr5sm2819337pbb.26.2015.08.19.22.42.37 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Wed, 19 Aug 2015 22:42:38 -0700 (PDT) Date: Thu, 20 Aug 2015 00:42:34 -0500 From: Bjorn Helgaas To: Helge Deller Cc: John David Anglin , Yinghai Lu , Meelis Roos , linux-parisc@vger.kernel.org, "linux-pci@vger.kernel.org" , "sparclinux@vger.kernel.org" , James Bottomley Subject: Re: Re: A500 boot crash in 4.2.0-rc3-00246-g763e326 Message-ID: <20150820054234.GA10267@google.com> References: <55D38BE6.6080302@gmx.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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 wrote: > > >>> On Tue, Aug 18, 2015 at 12:47 PM, Helge Deller 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, 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. 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 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 Reported-by: Helge Deller Based-on-idea-by: Yinghai Lu Signed-off-by: Bjorn Helgaas Acked-by: Yinghai Lu Tested-by: Helge Deller --- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html 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