Received: by 2002:ac0:de83:0:0:0:0:0 with SMTP id b3csp1446803imk; Mon, 4 Jul 2022 03:18:50 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vVEOEyNQ3wrC6tCWz+6aLYVFSjy+NNETg5Dy4F7nmVMfsYhNQNiDAh+Nmiw54p7PsM+Tw9 X-Received: by 2002:a05:6a00:2355:b0:525:a0e9:4b with SMTP id j21-20020a056a00235500b00525a0e9004bmr34933042pfj.32.1656929930157; Mon, 04 Jul 2022 03:18:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656929930; cv=none; d=google.com; s=arc-20160816; b=XrRsZH2PqsO6db+nuoBQpXXepFGEI2emDI/Xve7x28LYtZKd3MJWzR1e+NRwpVV6mK IZJrz8g2BUs5zE513j1sfn1PLgBxm8t+8p9SBrxrxMEQLBTAVJLZwwQsS6PYWummEDzu cG6tngkbE6nhahW16MmtiNfVSA9Kr6xYinnZ8zXDdmzizMNkQE0duEMSQBr4pJAO6XTn FrrDG6ovabnd/4UY3BqhBLSe6Td5Qll1Ai+m5wtIwT6oPyXa1we2EfQFC4kEJyOK+I3y 9mK5my0Eqd6bbw4CNswXMTwVPoyTVTp85myrYMijHIcAYVdmbLgAq+xStRjMnCkNKUZ3 hTzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=r3BjCNntomNnm/zXFcGWd70gx0x9rSeFObZ49NFrAe8=; b=gFjhEfiNepiZpRsB7rC4kmQCaFIUNmJgU1hCAm2NnmszPWJ/qHajkTa5ebk6OOTFDy 1Q9DzxrYbofAB4KYHNErAFUuj/Kgx2sCC+I+83yMbXR1MxmmdO1xSgf+ZduvgxKpHLLJ 9Acev+iBXvwLuRF9GnPkowsOjADHXUfiX/BZZa0zAIEpMVTY7TX2hXzdYI8t5U+UCCGN qFIZJJl9W9ptLkGfNTiz0FKOKFKNEQ9jldhQMkrodEP4P3U399DMAphirk1TNvW2ETOY X55reNJflhAcwlRRovxU/9IoNu0542b6hjznRww7gepbVTu0/VDc+b9U1xbvvNCDtZnC 6P1w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x3-20020a63f703000000b0040d287c145fsi34808038pgh.460.2022.07.04.03.18.37; Mon, 04 Jul 2022 03:18:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234213AbiGDKQx (ORCPT + 99 others); Mon, 4 Jul 2022 06:16:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36560 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234077AbiGDKQV (ORCPT ); Mon, 4 Jul 2022 06:16:21 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 7B71BDEB2; Mon, 4 Jul 2022 03:16:17 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 90F36D6E; Mon, 4 Jul 2022 03:16:17 -0700 (PDT) Received: from usa.arm.com (e103737-lin.cambridge.arm.com [10.1.197.49]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 643F03F792; Mon, 4 Jul 2022 03:16:15 -0700 (PDT) From: Sudeep Holla To: linux-kernel@vger.kernel.org, Greg Kroah-Hartman Cc: Sudeep Holla , conor.dooley@microchip.com, valentina.fernandezalanis@microchip.com, Vincent Guittot , Dietmar Eggemann , Qing Wang , Rob Herring , "Rafael J . Wysocki" , Ionela Voinescu , Pierre Gondois , linux-arm-kernel@lists.infradead.org, linux-riscv@lists.infradead.org, linux-acpi@vger.kernel.org Subject: [PATCH v6 01/21] ACPI: PPTT: Use table offset as fw_token instead of virtual address Date: Mon, 4 Jul 2022 11:15:45 +0100 Message-Id: <20220704101605.1318280-2-sudeep.holla@arm.com> X-Mailer: git-send-email 2.37.0 In-Reply-To: <20220704101605.1318280-1-sudeep.holla@arm.com> References: <20220704101605.1318280-1-sudeep.holla@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There is need to use the cache sharing information quite early during the boot before the secondary cores are up and running. The permanent memory map for all the ACPI tables(via acpi_permanent_mmap) is turned on in acpi_early_init() which is quite late for the above requirement. As a result there is possibility that the ACPI PPTT gets mapped to different virtual addresses. In such scenarios, using virtual address as fw_token before the acpi_permanent_mmap is enabled results in different fw_token for the same cache entity and hence wrong cache sharing information will be deduced based on the same. Instead of using virtual address, just use the table offset as the unique firmware token for the caches. The same offset is used as ACPI identifiers if the firmware has not set a valid one for other entries in the ACPI PPTT. Cc: linux-acpi@vger.kernel.org Tested-by: Ionela Voinescu Acked-by: Rafael J. Wysocki Signed-off-by: Sudeep Holla --- drivers/acpi/pptt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/acpi/pptt.c b/drivers/acpi/pptt.c index 701f61c01359..763f021d45e6 100644 --- a/drivers/acpi/pptt.c +++ b/drivers/acpi/pptt.c @@ -437,7 +437,8 @@ static void cache_setup_acpi_cpu(struct acpi_table_header *table, pr_debug("found = %p %p\n", found_cache, cpu_node); if (found_cache) update_cache_properties(this_leaf, found_cache, - cpu_node, table->revision); + ACPI_TO_POINTER(ACPI_PTR_DIFF(cpu_node, table)), + table->revision); index++; } -- 2.37.0