From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.6 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 89549CA9EC4 for ; Tue, 29 Oct 2019 11:40:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5F63B21882 for ; Tue, 29 Oct 2019 11:40:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1572349203; bh=b0Yx/pOD5w63B522OXKc4nLFXgNhCQem4ZHf05cCJ/g=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=kUrjTCAESwJDKMn7MV//9R5hWHBsH4lur4a9uHqjhn4lOEcvIzll07gmh6bAeNTLM LLV/d1GG15v2kgLfkeKBLK5l5h2YO7J2RxVkFZSVjwrgqVRiRNx5CzANXx/Y4ZoDRt JHYcjRIG+WS0g/VWVfTHAC1fKy0H9Tj+aN/C+YHw= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730313AbfJ2LkC (ORCPT ); Tue, 29 Oct 2019 07:40:02 -0400 Received: from mail.kernel.org ([198.145.29.99]:43076 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725880AbfJ2LkC (ORCPT ); Tue, 29 Oct 2019 07:40:02 -0400 Received: from willie-the-truck (236.31.169.217.in-addr.arpa [217.169.31.236]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 39E53217D9; Tue, 29 Oct 2019 11:40:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1572349201; bh=b0Yx/pOD5w63B522OXKc4nLFXgNhCQem4ZHf05cCJ/g=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ZmaImj/3fhMnxq2LJucsm59PXeqHQgfZdnKGWM3z08zi1lSOJM6NqcZfdRb0MtxXa U+z49SFHLkVTLSkePIR15C+hnvOLdZa9MwpR8XToJkzrtTEdsNdz5EguB9DH9PLqOQ p4aS4h+HcZc4G4k6QhPXz1ZwG3PmNOigtBkTEXNY= Date: Tue, 29 Oct 2019 11:39:57 +0000 From: Will Deacon To: Bjorn Andersson Cc: Catalin Marinas , Suzuki K Poulose , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, stable@vger.kernel.org, Mark Brown Subject: Re: [PATCH] arm64: cpufeature: Enable Qualcomm erratas Message-ID: <20191029113956.GC12103@willie-the-truck> References: <20191029060432.1208859-1-bjorn.andersson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191029060432.1208859-1-bjorn.andersson@linaro.org> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Oct 28, 2019 at 11:04:32PM -0700, Bjorn Andersson wrote: > With the introduction of 'cce360b54ce6 ("arm64: capabilities: Filter the > entries based on a given mask")' the Qualcomm erratas are no long > applied. > > The result of not applying errata 1003 is that MSM8996 runs into various > RCU stalls and fails to boot most of the times. > > Give both 1003 and 1009 a "type" to ensure they are not filtered out in > update_cpu_capabilities(). Oh nasty. Thanks for debugging and fixing this. > Fixes: cce360b54ce6 ("arm64: capabilities: Filter the entries based on a given mask") > Cc: stable@vger.kernel.org > Reported-by: Mark Brown > Suggested-by: Will Deacon > Signed-off-by: Bjorn Andersson > --- > arch/arm64/kernel/cpu_errata.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm64/kernel/cpu_errata.c b/arch/arm64/kernel/cpu_errata.c > index df9465120e2f..cdd8df033536 100644 > --- a/arch/arm64/kernel/cpu_errata.c > +++ b/arch/arm64/kernel/cpu_errata.c > @@ -780,6 +780,7 @@ const struct arm64_cpu_capabilities arm64_errata[] = { > { > .desc = "Qualcomm Technologies Falkor/Kryo erratum 1003", > .capability = ARM64_WORKAROUND_QCOM_FALKOR_E1003, > + .type = ARM64_CPUCAP_SCOPE_LOCAL_CPU, > .matches = cpucap_multi_entry_cap_matches, This should probably be ARM64_CPUCAP_LOCAL_CPU_ERRATUM instead, but I'll want Suzuki's ack before I take the change. > .match_list = qcom_erratum_1003_list, > }, > @@ -788,6 +789,7 @@ const struct arm64_cpu_capabilities arm64_errata[] = { > { > .desc = "Qualcomm erratum 1009, ARM erratum 1286807", > .capability = ARM64_WORKAROUND_REPEAT_TLBI, > + .type = ARM64_CPUCAP_SCOPE_LOCAL_CPU, > ERRATA_MIDR_RANGE_LIST(arm64_repeat_tlbi_cpus), ERRATA_MIDR_RANGE_LIST sets the type already, so I think this is redundant. Will