Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp997357imm; Fri, 14 Sep 2018 09:30:11 -0700 (PDT) X-Google-Smtp-Source: ANB0Vdbc3QDremuPACaghKRRkx16tyZkSQCCEyU5I0rjm5y0+gTngskOFX/WBIa0Xhoiw5BG2NiE X-Received: by 2002:a62:57dc:: with SMTP id i89-v6mr13381242pfj.45.1536942610949; Fri, 14 Sep 2018 09:30:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536942610; cv=none; d=google.com; s=arc-20160816; b=018uapVTfb+3zKJH4g7oLgCoK4ZH7GAf/JR6xxicnBASP3aBSEdWpFO6tK5mJEb0gI /MLLuYVoPXAcfE2c8UC2Mz6WsieX9xVy5+mIi35tOLNjsK+sIb4ZPg4sHtn4FRgKOMiM Tk/0B9GmrBUIGGyq2B9BgLxDyRAYffOzgsyHk71CRvPcFnbIRZ7FsubUEJYHOBg2E0fZ 6tQB3meu3mzKQQX8sZPzHEZFjtrO40fYJU4Y+XuAmNihC/w1qNbY+TF/Ky9ogT8fDN6M Base+NMhobHrYRs3gcArCL3Hx2Cnxc5nChnuOAINhSaKIkrT5rCnotK4haZHy8Czn7Qb /JLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dmarc-filter:dkim-signature:dkim-signature; bh=1JLGfZeV0Vzx3TXATBNYZsw9vh5n9hVbyTiWwFHhSkM=; b=Oo8nYGrQUlmyZ6FCHq+rHrpyJLzc5qxo5g8s+fNzzkDdrKu/Jr9mdc8uBhjrqc1hax G/ecgFvxjexPDfjJQ2+iQxwj7ja7iIGYTJx4jw9bS26zSCnTKV8y1VDEZRnw/5mIh9Fp suUG1Dj/zkHXXUMEiqZP31jn7n7CkIOHslRJ/OoXHwSwZI2C9V2Nf74+DFgLXd84T3Il d4T4XtGSGY3PEaDUWoYBwsIuV3a9FLZZLXy+vJu2Je+qdTsAMxMKDI82Gwckyk8HfS6q J04Wej/LR4XNDeZjsEovt3+HOQtuITfekFFejzSoZZYvShCDL4yt4EpAeYkl1L9Vv1S0 XdBQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=cF5I2Gtu; dkim=pass header.i=@codeaurora.org header.s=default header.b=cF5I2Gtu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h5-v6si7856923pfd.112.2018.09.14.09.29.55; Fri, 14 Sep 2018 09:30:10 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=cF5I2Gtu; dkim=pass header.i=@codeaurora.org header.s=default header.b=cF5I2Gtu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728395AbeINVnt (ORCPT + 99 others); Fri, 14 Sep 2018 17:43:49 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:44790 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728274AbeINVnm (ORCPT ); Fri, 14 Sep 2018 17:43:42 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id E67AE60BEE; Fri, 14 Sep 2018 16:28:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1536942507; bh=j8OVDhmcnh6KWtNd/PaNAFrweODC+KGgAcag7eUfWWU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cF5I2Gtu/m7QyqRqj2/EFJl9UNpxG2hk/BXjNkgAmZJDKeHS7O39UrHu3bdTa8mFw d/LUzM6C2FpUJwSnBvdd4Ds2upFgef2r3ALkSb+D3CYi+SD6Fb5BfEJZhPbnw8eDxA lT6ejSsaz96RpTu+ynzFCpWXR77ZgOmkGlSDNjRo= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from jhugo-perf-lnx.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: jhugo@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 9B1CD60C4C; Fri, 14 Sep 2018 16:28:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1536942507; bh=j8OVDhmcnh6KWtNd/PaNAFrweODC+KGgAcag7eUfWWU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cF5I2Gtu/m7QyqRqj2/EFJl9UNpxG2hk/BXjNkgAmZJDKeHS7O39UrHu3bdTa8mFw d/LUzM6C2FpUJwSnBvdd4Ds2upFgef2r3ALkSb+D3CYi+SD6Fb5BfEJZhPbnw8eDxA lT6ejSsaz96RpTu+ynzFCpWXR77ZgOmkGlSDNjRo= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 9B1CD60C4C Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=jhugo@codeaurora.org From: Jeffrey Hugo To: sudeep.holla@arm.com, gregkh@linuxfoundation.org, rjw@rjwysocki.net, linux-acpi@vger.kernel.org, jeremy.linton@arm.com Cc: linux-kernel@vger.kernel.org, vkilari@codeaurora.org, Jeffrey Hugo Subject: [PATCH v2 2/2] ACPI/PPTT: Handle architecturally unknown cache types Date: Fri, 14 Sep 2018 10:28:09 -0600 Message-Id: <1536942489-4018-3-git-send-email-jhugo@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1536942489-4018-1-git-send-email-jhugo@codeaurora.org> References: <1536942489-4018-1-git-send-email-jhugo@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The type of a cache might not be specified by architectural mechanisms (ie system registers), but its type might be specified in the PPTT. In this case, we should populate the type of the cache, rather than leave it undefined. This fixes the issue where the cacheinfo driver will not populate sysfs for such caches, resulting in the information missing from utilities like lstopo and lscpu, thus degrading the user experience. Fixes: 2bd00bcd73e5 (ACPI/PPTT: Add Processor Properties Topology Table parsing) Reported-by: Vijaya Kumar K Signed-off-by: Jeffrey Hugo --- drivers/acpi/pptt.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/acpi/pptt.c b/drivers/acpi/pptt.c index d1e26cb..bb00ed9 100644 --- a/drivers/acpi/pptt.c +++ b/drivers/acpi/pptt.c @@ -402,11 +402,18 @@ static void update_cache_properties(struct cacheinfo *this_leaf, } } /* - * If the above flags are valid, and the cache type is NOCACHE - * update the cache type as well. + * If cache type is NOCACHE, then the cache hasn't been specified + * via other mechanisms. Update the type if either the cache has + * been fully specified in PPTT, or a cache type has been provided. + * + * Note, we assume such caches are unified based on conventional system + * design and known examples. Significant work is required elsewhere to + * fully support data/instruction only type caches which are only + * specified in PPTT. */ - if (this_leaf->type == CACHE_TYPE_NOCACHE && - valid_flags == PPTT_CHECKED_ATTRIBUTES) + if ((this_leaf->type == CACHE_TYPE_NOCACHE) && + (valid_flags == PPTT_CHECKED_ATTRIBUTES || + found_cache->flags & ACPI_PPTT_CACHE_TYPE_VALID)) this_leaf->type = CACHE_TYPE_UNIFIED; } -- Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.