From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id A5C011A0198 for ; Sat, 7 Mar 2015 20:37:10 +1100 (AEDT) Message-ID: <54FAC10D.6080207@xenosoft.de> Date: Sat, 07 Mar 2015 10:12:45 +0100 From: Christian Zigotzky MIME-Version: 1.0 To: Alex Perez , linuxppc-dev@lists.ozlabs.org Subject: Re: [REGRESSION in 3.18][PPC] PA Semi fails to boot after: of/base: Fix PowerPC address parsing hack References: <49C58FDD-0206-4357-8CD2-46F3F7E4E739@alexperez.com> In-Reply-To: <49C58FDD-0206-4357-8CD2-46F3F7E4E739@alexperez.com> Content-Type: multipart/alternative; boundary="------------020906090503090308000605" List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , This is a multi-part message in MIME format. --------------020906090503090308000605 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Hi All, I have a patch for it (Kernel 4.0-rc2): diff -rupN linux-4.0/drivers/of/address.c linux-4.0-nemo/drivers/of/address.c --- linux-4.0/drivers/of/address.c 2015-03-03 18:04:59.000000000 +0100 +++ linux-4.0-nemo/drivers/of/address.c 2015-03-03 22:34:00.037500744 +0100 @@ -450,21 +450,6 @@ static struct of_bus *of_match_bus(struc return NULL; } -static int of_empty_ranges_quirk(void) -{ - if (IS_ENABLED(CONFIG_PPC)) { - /* To save cycles, we cache the result */ - static int quirk_state = -1; - - if (quirk_state < 0) - quirk_state = - of_machine_is_compatible("Power Macintosh") || - of_machine_is_compatible("MacRISC"); - return quirk_state; - } - return false; -} - static int of_translate_one(struct device_node *parent, struct of_bus *bus, struct of_bus *pbus, __be32 *addr, int na, int ns, int pna, const char *rprop) @@ -490,10 +475,12 @@ static int of_translate_one(struct devic * This code is only enabled on powerpc. --gcl */ ranges = of_get_property(parent, rprop, &rlen); - if (ranges == NULL && !of_empty_ranges_quirk()) { +#if !defined(CONFIG_PPC) + if (ranges == NULL) { pr_debug("OF: no ranges; cannot translate\n"); return 1; } +#endif /* !defined(CONFIG_PPC) */ if (ranges == NULL || rlen == 0) { offset = of_read_number(addr, na); memset(addr, 0, pna * 4); Rgds, Christian On 07/03/2015 01:16 a.m., Alex Perez wrote: > On Mar 6, 2015, at 3:07 PM, linuxppc-dev-request@lists.ozlabs.org > wrote: > >> Date: Sat, 07 Mar 2015 09:56:22 +1100 >> From: Benjamin Herrenschmidt > > >> To: Steven Rostedt > >> Cc: Grant Likely > >, Rob Herring >> >, Olof Johansson >> >, >> linuxppc-dev@lists.ozlabs.org , >> LKML > >> Subject: Re: [REGRESSION in 3.18][PPC] PA Semi fails to boot after: >> of/base: Fix PowerPC address parsing hack >> Message-ID: <1425682582.4636.197.camel@kernel.crashing.org >> > >> Content-Type: text/plain; charset="UTF-8" >> >> On Fri, 2015-03-06 at 10:00 -0500, Steven Rostedt wrote: >>> On Fri, 06 Mar 2015 15:18:42 +1100 >>> Benjamin Herrenschmidt >> > wrote: >>> >>> >>>> Can you shoot me the DT (/proc/device-tree in a tarball) ? >>> >>> Attached. >> >> This is indeed a bug in their DT. We might want to add quirks for >> that unless it can be fixed (or has been via FW update). Olof ? > > I will of course ultimately defer to Olof, but PASemi hasn’t existed > for years, and there is no entity which could possibly update the DT > for these reference PASemi development boards, unless Olof has source, > which I’m pretty sure he does not :) --------------020906090503090308000605 Content-Type: text/html; charset=windows-1252 Content-Transfer-Encoding: 8bit
Hi All,

I have a patch for it (Kernel 4.0-rc2):

diff -rupN linux-4.0/drivers/of/address.c linux-4.0-nemo/drivers/of/address.c
--- linux-4.0/drivers/of/address.c    2015-03-03 18:04:59.000000000 +0100
+++ linux-4.0-nemo/drivers/of/address.c    2015-03-03 22:34:00.037500744 +0100
@@ -450,21 +450,6 @@ static struct of_bus *of_match_bus(struc
     return NULL;
 }
 
-static int of_empty_ranges_quirk(void)
-{
-    if (IS_ENABLED(CONFIG_PPC)) {
-        /* To save cycles, we cache the result */
-        static int quirk_state = -1;
-
-        if (quirk_state < 0)
-            quirk_state =
-                of_machine_is_compatible("Power Macintosh") ||
-                of_machine_is_compatible("MacRISC");
-        return quirk_state;
-    }
-    return false;
-}
-
 static int of_translate_one(struct device_node *parent, struct of_bus *bus,
                 struct of_bus *pbus, __be32 *addr,
                 int na, int ns, int pna, const char *rprop)
@@ -490,10 +475,12 @@ static int of_translate_one(struct devic
      * This code is only enabled on powerpc. --gcl
      */
     ranges = of_get_property(parent, rprop, &rlen);
-    if (ranges == NULL && !of_empty_ranges_quirk()) {
+#if !defined(CONFIG_PPC)
+       if (ranges == NULL) {
         pr_debug("OF: no ranges; cannot translate\n");
         return 1;
     }
+#endif /* !defined(CONFIG_PPC) */
     if (ranges == NULL || rlen == 0) {
         offset = of_read_number(addr, na);
         memset(addr, 0, pna * 4);

Rgds,

Christian

On 07/03/2015 01:16 a.m., Alex Perez wrote:
On Mar 6, 2015, at 3:07 PM, linuxppc-dev-request@lists.ozlabs.org wrote:

Date: Sat, 07 Mar 2015 09:56:22 +1100
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Grant Likely <grant.likely@linaro.org>, Rob Herring
<robh@kernel.org>, Olof Johansson <olof@lixom.net>,
linuxppc-dev@lists.ozlabs.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [REGRESSION in 3.18][PPC] PA Semi fails to boot after:
of/base: Fix PowerPC address parsing hack
Message-ID: <1425682582.4636.197.camel@kernel.crashing.org>
Content-Type: text/plain; charset="UTF-8"

On Fri, 2015-03-06 at 10:00 -0500, Steven Rostedt wrote:
On Fri, 06 Mar 2015 15:18:42 +1100
Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:


Can you shoot me the DT (/proc/device-tree in a tarball) ?

Attached.

This is indeed a bug in their DT. We might want to add quirks for
that unless it can be fixed (or has been via FW update). Olof ?

I will of course ultimately defer to Olof, but PASemi hasn’t existed for years, and there is no entity which could possibly update the DT for these reference PASemi development boards, unless Olof has source, which I’m pretty sure he does not :)

--------------020906090503090308000605--