Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933225AbbHZBjJ (ORCPT ); Tue, 25 Aug 2015 21:39:09 -0400 Received: from conssluserg001.nifty.com ([202.248.44.39]:37201 "EHLO conssluserg001-v.nifty.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932203AbbHZBjH (ORCPT ); Tue, 25 Aug 2015 21:39:07 -0400 X-Nifty-SrcIP: [209.85.160.182] MIME-Version: 1.0 In-Reply-To: <2021253.vgeYqalDfp@wuerfel> References: <1440382692-3855-1-git-send-email-yamada.masahiro@socionext.com> <1440382692-3855-2-git-send-email-yamada.masahiro@socionext.com> <2021253.vgeYqalDfp@wuerfel> Date: Wed, 26 Aug 2015 10:38:59 +0900 Message-ID: Subject: Re: [PATCH 1/3] ARM: uniphier: add outer cache support From: Masahiro Yamada To: Arnd Bergmann Cc: arm@kernel.org, Jiri Slaby , Linus Walleij , Kumar Gala , Jungseung Lee , Ian Campbell , Rob Herring , Tejun Heo , Pawel Moll , Florian Fainelli , Maxime Coquelin , Andrew Morton , devicetree@vger.kernel.org, Mauro Carvalho Chehab , Russell King , linux-arm-kernel , Nathan Lynch , Kees Cook , Paul Bolle , Greg KH , Linux Kernel Mailing List , "David S. Miller" , Joe Perches , =?UTF-8?Q?Uwe_Kleine=2DK=C3=B6nig?= , Mark Rutland Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2153 Lines: 68 Hi Arnd, 2015-08-25 4:59 GMT+09:00 Arnd Bergmann : > On Monday 24 August 2015 11:18:10 Masahiro Yamada wrote: >> diff --git a/Documentation/devicetree/bindings/arm/uniphier/cache-uniphier.txt b/Documentation/devicetree/bindings/arm/uniphier/cache-uniphier.txt >> new file mode 100644 >> index 0000000..6428289 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/arm/uniphier/cache-uniphier.txt >> @@ -0,0 +1,30 @@ >> +UniPhier outer cache controller >> + >> +UniPhier SoCs are integrated with a level 2 cache controller that resides >> +outside of the ARM cores, some of them also have a level 3 cache controller. >> + >> +Required properties: >> +- compatible: should be one of the followings: >> + "socionext,uniphier-l2-cache" (L2 cache) >> + "socionext,uniphier-l3-cache" (L3 cache) >> +- reg: offsets and lengths of the register sets for the device. It should >> + contain 3 regions: control registers, revision registers, operation >> + registers, in this order. >> + >> +The L2 cache must exist to use the L3 cache; adding only an L3 cache device >> +node to the device tree causes the initialization failure of the whole outer >> +cache system. >> > > How much does this outer cache have in common with the l2x0/pl310 cache > controller model? Nothing. This outer cache is not a variant of l2x0/pl310. It was designed only for our SoCs from scratch. > Would it make sense to at least share the > common entry point at l2x0_of_init() so you don't need to call it from > the platform file? I do not think so. l2x0_of_init() checks L2X0_AUX_CTRL register, but the cache-uniphier does not have such register, so the boot code crashes. BTW, what makes l2x0_of_init() so special? Only L2x0/L310 and variants can be initialized directly from init_IRQ(). Moreover, outer-cache init seems to be unrelated to IRQ init. -- Best Regards Masahiro Yamada -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/