Received: by 10.223.176.46 with SMTP id f43csp3521680wra; Mon, 22 Jan 2018 16:12:38 -0800 (PST) X-Google-Smtp-Source: AH8x225Yr4s2B9DdVHz5gWB7vR34fzEn5vKCfJzraX4qIVMUZ/J/4+LzJYmsqkhbc3cI9evhFLOv X-Received: by 10.107.78.5 with SMTP id c5mr1213287iob.120.1516666358295; Mon, 22 Jan 2018 16:12:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516666358; cv=none; d=google.com; s=arc-20160816; b=gxvNpnSe+d9BP+E0U4VPYLVVVKvwAwK2Il8JkrnskYewMBxtrjpUdGxy1TK+/5xkzQ 8dwNLt8ndWajDoPm3rYAusIPFupAd7O+H2QXagnpQdILBWZJ/pbgUgm6Tk1wy+3ZczoK O7FrdGrm0jKtxJFLKcT0gKi5djKhEXrqypMwu2dyN6OLv4bMTsfB4qVO79L62KiX5MOZ lO+yk4FXSfLdNo35QZte9kOEFYAJnNz3MVBaHoo4h5TSE/g3zXEr8+4ZDCnUiwzOmM5z NGW96peaIsSrv6d+SqDXQhGOUVJuJbDioGlVI18zDZCQ9lE3W/lsP8EA7jrlIV4f9TYu Gz/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=z7HLnvxbv2s4y8Ws3804omLnZjq2MvRM2Lgm5EsuF60=; b=aNc1n6aZac520Zg2bjnzhfYeHteoh5eueK+d+EGrmFTGmvbZXwAVp9B5XIFsFhCgLY q1lNBNvSnGAPIASfOcgszHPlnmPhJnCLr0e1Y4X5bp8zPcTLIesVRBnxmi9ahBb8fc41 3qNva02NqpX/McP+Q/kwfUQEtGH5sN35plTHQ/f6T1IusR9MSp8m3V32g41knFuATu7U YhWxBsytmPZ8/KlVOaSimfV+e+8XOEUNL2dvA8BMRmBfwzE0ee0oQYAArU5FhtNE3P0d 9g050cKNG8cEX3g21AoYhBlZAzVGAATXymua0VVhP3430ZfyTCAUJ5gQ0IUi/Vv80R82 HA9A== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=fTeuSNBo; 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 d142si7209934itc.36.2018.01.22.16.12.23; Mon, 22 Jan 2018 16:12:38 -0800 (PST) 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=fail header.i=@gmail.com header.s=20161025 header.b=fTeuSNBo; 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 S1751253AbeAWAMA (ORCPT + 99 others); Mon, 22 Jan 2018 19:12:00 -0500 Received: from mail-oi0-f65.google.com ([209.85.218.65]:44003 "EHLO mail-oi0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751128AbeAWAL6 (ORCPT ); Mon, 22 Jan 2018 19:11:58 -0500 Received: by mail-oi0-f65.google.com with SMTP id t16so7259741oif.10; Mon, 22 Jan 2018 16:11:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=z7HLnvxbv2s4y8Ws3804omLnZjq2MvRM2Lgm5EsuF60=; b=fTeuSNBoCD2EIdzngvqWrhlttyqZtAVgGvqYMKitpyoO/+YkzT/LdEmpRd0X5aAPdn W1o651Z0GpikK6Od6wE3UpMQ2w9Nyk+FZHtIMDAB8KEsCy4xSxDDE0bB6SjVET4bMi3x 4yDHfJ4BjNhWhgv0aaIjJYW5PN9zKq6TXzOV1aRUs2bjSairGOMrRftky9Cok8bIs8be BRFSyO8RymSm5w1/INCumD6FNASxq7Oq7DZ/X/kLMgfZJ3TLz65HPTZ/d9UqcHD+Ij83 AduCcnLqTJ9X8OtzQszKN5LNR2epQPHlMUE0qlfDk9iW8Il/GWxd+9JJQQ6AQUgjjF3U xFZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=z7HLnvxbv2s4y8Ws3804omLnZjq2MvRM2Lgm5EsuF60=; b=Sr4ivnY6wmCNXtPEDV2+LGqx+G6uuIc4e65j4OI8QIY9sR5eTbDI2q+MdR8cVQGESX PAsSuZSYYlgmFzl8ASziRTlYTADMhoB9wgUqAob3dmobXxJnoNl2KJmMy41FY8AFcadT YL+oK3j8Lq0gkC+k/Njnw0u2IDKh0oXatBMoHdV2mgbWp9D+fvbwMFWTZeQTT9GgMh6v MiUYN2dNexj2DeW+FR7PIau4FCBcIhHYdLKQ18S2m9u1v2cQ5izhEKveZ5j9xbbXEUVa Y8MMSaIJLOmsCQvT15kIiCIaKLy5V+23B9/Ze2o7+UxjHGwzMpJUU61ITYy3k5OTnzkO +rQg== X-Gm-Message-State: AKwxytflqQv9kS0jTPJxEgTrcYafTexfQ2kXNOOPjZT898mAdCe+5Upj Aqn4h2RIwzc++/mbK2Hqn/Ym7sc6go68rnUMbZc= X-Received: by 10.202.51.135 with SMTP id z129mr5577811oiz.175.1516666317907; Mon, 22 Jan 2018 16:11:57 -0800 (PST) MIME-Version: 1.0 Received: by 10.157.11.88 with HTTP; Mon, 22 Jan 2018 16:11:57 -0800 (PST) In-Reply-To: <1485ab78-4b43-b703-ca48-4e2cb2059e51@arm.com> References: <20180113005920.28658-1-jeremy.linton@arm.com> <20180113005920.28658-8-jeremy.linton@arm.com> <20180122155022.GA7714@kroah.com> <1485ab78-4b43-b703-ca48-4e2cb2059e51@arm.com> From: "Rafael J. Wysocki" Date: Tue, 23 Jan 2018 01:11:57 +0100 X-Google-Sender-Auth: 2B2oh4ovCG9-42_Be0kYswQbJZ4 Message-ID: Subject: Re: [PATCH v6 07/12] drivers: base cacheinfo: Add support for ACPI based firmware tables To: Jeremy Linton Cc: Greg KH , ACPI Devel Maling List , linux-arm-kernel@lists.infradead.org, Sudeep Holla , Hanjun Guo , Lorenzo Pieralisi , "Rafael J. Wysocki" , Will Deacon , Catalin Marinas , Viresh Kumar , Mark Rutland , Linux Kernel Mailing List , Linux PM , jhugo@codeaurora.org, wangxiongfeng2@huawei.com, Jonathan.Zhang@cavium.com, Al Stone , Jayachandran.Nair@cavium.com, austinwc@codeaurora.org, Len Brown , vkilari@codeaurora.org, Morten Rasmussen Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jan 22, 2018 at 10:14 PM, Jeremy Linton wrote: > Hi, > > Thanks for taking a look at this. > > > On 01/22/2018 09:50 AM, Greg KH wrote: >> >> On Fri, Jan 12, 2018 at 06:59:15PM -0600, Jeremy Linton wrote: >>> >>> Add a entry to to struct cacheinfo to maintain a reference to the PPTT >>> node which can be used to match identical caches across cores. Also >>> stub out cache_setup_acpi() so that individual architectures can >>> enable ACPI topology parsing. >>> >>> Signed-off-by: Jeremy Linton >>> --- >>> drivers/acpi/pptt.c | 1 + >>> drivers/base/cacheinfo.c | 20 +++++++++++++------- >>> include/linux/cacheinfo.h | 9 +++++++++ >>> 3 files changed, 23 insertions(+), 7 deletions(-) >>> >>> diff --git a/drivers/acpi/pptt.c b/drivers/acpi/pptt.c >>> index 2c4b3ed862a8..4f5ab19c3a08 100644 >>> --- a/drivers/acpi/pptt.c >>> +++ b/drivers/acpi/pptt.c >>> @@ -329,6 +329,7 @@ static void update_cache_properties(struct cacheinfo >>> *this_leaf, >>> { >>> int valid_flags = 0; >>> + this_leaf->fw_unique = cpu_node; >>> if (found_cache->flags & ACPI_PPTT_SIZE_PROPERTY_VALID) { >>> this_leaf->size = found_cache->size; >>> valid_flags++; >>> diff --git a/drivers/base/cacheinfo.c b/drivers/base/cacheinfo.c >>> index 217aa90fb036..ee51e33cc37c 100644 >>> --- a/drivers/base/cacheinfo.c >>> +++ b/drivers/base/cacheinfo.c >>> @@ -208,16 +208,16 @@ static int cache_setup_of_node(unsigned int cpu) >>> if (index != cache_leaves(cpu)) /* not all OF nodes populated */ >>> return -ENOENT; >>> - >>> return 0; >>> } >>> + >> >> >> Whitespace changes not needed for this patch :( > > > Sure. > > >> >> >>> #else >>> static inline int cache_setup_of_node(unsigned int cpu) { return 0; } >>> static inline bool cache_leaves_are_shared(struct cacheinfo *this_leaf, >>> struct cacheinfo *sib_leaf) >>> { >>> /* >>> - * For non-DT systems, assume unique level 1 cache, system-wide >>> + * For non-DT/ACPI systems, assume unique level 1 caches, >>> system-wide >>> * shared caches for all other levels. This will be used only if >>> * arch specific code has not populated shared_cpu_map >>> */ >>> @@ -225,6 +225,11 @@ static inline bool cache_leaves_are_shared(struct >>> cacheinfo *this_leaf, >>> } >>> #endif >>> +int __weak cache_setup_acpi(unsigned int cpu) >>> +{ >>> + return -ENOTSUPP; >>> +} >>> + >>> static int cache_shared_cpu_map_setup(unsigned int cpu) >>> { >>> struct cpu_cacheinfo *this_cpu_ci = get_cpu_cacheinfo(cpu); >>> @@ -235,11 +240,11 @@ static int cache_shared_cpu_map_setup(unsigned int >>> cpu) >>> if (this_cpu_ci->cpu_map_populated) >>> return 0; >>> - if (of_have_populated_dt()) >>> + if (!acpi_disabled) >>> + ret = cache_setup_acpi(cpu); >> >> >> Why does acpi go first? :) > > > This sounds like a joke i heard... > > OTOH, given that we have machines with both ACPI and DT tables, it seemed a > little clearer and a little more robust to code that so that if ACPI is > enabled to prefer it over DT information. As long as the routines which set > of of_root are protected by if (acpi_disabled) checks it should be safe to > do it either way. I guess adding a comment about that might help.