From patchwork Tue Mar 5 22:03:10 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 2222161 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by patchwork2.kernel.org (Postfix) with ESMTP id CB6B1DF24C for ; Tue, 5 Mar 2013 22:06:07 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1UCzxB-0006zW-Pt; Tue, 05 Mar 2013 22:03:21 +0000 Received: from wolverine02.qualcomm.com ([199.106.114.251]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1UCzx8-0006yb-BX for linux-arm-kernel@lists.infradead.org; Tue, 05 Mar 2013 22:03:19 +0000 X-IronPort-AV: E=Sophos;i="4.84,791,1355126400"; d="scan'208";a="27806070" Received: from pdmz-ns-snip_115.254.qualcomm.com (HELO mostmsg01.qualcomm.com) ([199.106.115.254]) by wolverine02.qualcomm.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 05 Mar 2013 14:03:10 -0800 Received: from [10.46.166.8] (pdmz-ns-snip_218_1.qualcomm.com [192.168.218.1]) by mostmsg01.qualcomm.com (Postfix) with ESMTPA id 8FE2910004B6; Tue, 5 Mar 2013 14:03:10 -0800 (PST) Message-ID: <51366B9E.7010502@codeaurora.org> Date: Tue, 05 Mar 2013 14:03:10 -0800 From: Stephen Boyd User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3 MIME-Version: 1.0 To: Will Deacon Subject: Re: [PATCH] ARM: proc: Add Krait proc info References: <1362439299-29617-1-git-send-email-sboyd@codeaurora.org> <20130305083421.GA19391@mudshark.cambridge.arm.com> In-Reply-To: <20130305083421.GA19391@mudshark.cambridge.arm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20130305_170318_596768_9CDFB570 X-CRM114-Status: GOOD ( 15.68 ) X-Spam-Score: -4.2 (----) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-4.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/, medium trust [199.106.114.251 listed in list.dnswl.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: "linux-arm-msm@vger.kernel.org" , Stepan Moskovchenko , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org On 03/05/13 00:34, Will Deacon wrote: > Hi Stephen, Stepan, > > On Mon, Mar 04, 2013 at 11:21:39PM +0000, Stephen Boyd wrote: >> From: Stepan Moskovchenko >> >> Add processor info for the Qualcomm, Inc. Krait family of >> processors, to use the generic ARMv7 initialisation >> procedure but explicitly enable the IDIV hardware >> capability flag. >> >> Signed-off-by: Stepan Moskovchenko >> Signed-off-by: Stephen Boyd >> --- >> arch/arm/mm/proc-v7.S | 10 ++++++++++ >> 1 file changed, 10 insertions(+) >> >> diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S >> index 3a3c015..81adeb3 100644 >> --- a/arch/arm/mm/proc-v7.S >> +++ b/arch/arm/mm/proc-v7.S >> @@ -434,6 +434,16 @@ __v7_ca15mp_proc_info: >> .size __v7_ca15mp_proc_info, . - __v7_ca15mp_proc_info >> >> /* >> + * Qualcomm Inc. Krait processors. >> + */ >> + .type __krait_proc_info, #object >> +__krait_proc_info: >> + .long 0x510f0400 @ Required ID value >> + .long 0xff0ffc00 @ Mask for ID >> + __v7_proc __v7_setup, hwcaps = HWCAP_IDIV > I was looking at this the other day and wondered whether we could set > HWCAP_IDIV in __v7_setup, depending on ID_ISAR0[27:24]. I can't immediately > think why that would be difficult, but similarly there may well be a reason > why we assign it like this. > > Fancy taking a look? Ok I'll take a look. Should we be masking out HWCAP_IDIVT on !CONFIG_ARM_THUMB configurations? ----8<----- diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 3f6cbb2..e2c8bbf 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -484,7 +484,7 @@ static void __init setup_processor(void) list->elf_name, ENDIANNESS); elf_hwcap = list->elf_hwcap; #ifndef CONFIG_ARM_THUMB - elf_hwcap &= ~HWCAP_THUMB; + elf_hwcap &= ~(HWCAP_THUMB | HWCAP_IDIVT); #endif feat_v6_fixup();