Received: by 2002:ac0:a679:0:0:0:0:0 with SMTP id p54csp53234imp; Wed, 20 Feb 2019 14:06:55 -0800 (PST) X-Google-Smtp-Source: AHgI3IY43Q3mdwrxjw0CRuAvYOZd7Yz4bpP25jqs03RmHZKqzdwcR0/5DtbOplBhdYvd9NktF2fD X-Received: by 2002:a63:d157:: with SMTP id c23mr31151618pgj.170.1550700415348; Wed, 20 Feb 2019 14:06:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550700415; cv=none; d=google.com; s=arc-20160816; b=DR4OG8u0FLtcwOLpkqyFDy9ctcM4KvL+s/1mGFH0XSxNemEEwF4RRwYga0wpldXgfz F90XtS+dGuLAxdcfbjL0RIUDDFU5le2m2PrXUgoXSuFLbY87/l+bGpXezRpdZi8D6Cpi Ra8qiGAf4qoHY9welbxTUTrLVjN/zSPt/6xe1lec9G//J35SzsWZPizQgkM/USOXH5fW AUxRzZjEDk49T2enuvpHYuGPFIRPw1axH63/Zeu4MkYQCmqrXaNHxRZEaUoWDevmF/oD HDwM2gN/PJFQgxAVUK+HgC+RY9AVru1bAAMj91tDX5EjOqgGHZI1jdm5cTGPrec3YZtZ 906g== 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 :in-reply-to:references:mime-version; bh=80wq8RIr4brdNYYPZ3tyyCou77N/Hx2TQOUNzTc41no=; b=wcoNR6AkKX6/9USITeaeD1XHKhZpHDobm9sYwutoblqaUDDBf5voVwRuRNISBS1mOq EVs9uHLzKlHUXlaRdAQTKoKlEqxD6walxmlzJx44+GfWmTac3FcSKJJiOVa/7mvcnIKD osFAsZMxzoO25Nj1gcIs6gHlT/GUoVnBF5dIApqriJtVpCjCrDT6QhPAUUNOIvwIugya yNtMF1T4ol4R1N3osO0CK0lukRy4+42XjhrRi/hX7IBjGUpulHRHnhXgDpauOW40mlpG jgRMqxMcIdVT3U3jLd/VvJ5u2g4ipfU4IHGQx80SXeTPXYqhyzJP5MjCkoRVVUYuIOPn gO2w== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l6si19686865pgc.488.2019.02.20.14.06.40; Wed, 20 Feb 2019 14:06:55 -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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727255AbfBTWGD (ORCPT + 99 others); Wed, 20 Feb 2019 17:06:03 -0500 Received: from mail-ot1-f67.google.com ([209.85.210.67]:40093 "EHLO mail-ot1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725826AbfBTWGD (ORCPT ); Wed, 20 Feb 2019 17:06:03 -0500 Received: by mail-ot1-f67.google.com with SMTP id v20so10965208otk.7; Wed, 20 Feb 2019 14:06:02 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=80wq8RIr4brdNYYPZ3tyyCou77N/Hx2TQOUNzTc41no=; b=L7L6aqLvYaNcEN/kIFGHfXn8pm76jL/u4fUJnBRXFVKh17BsKIvHsyijTFV9yplqRe DtK1jcwTMOaJKQX4eMmLQ2XHZuJvf1nFCXX+H8R/mHBIyQrDJ0WH5wSkro+MMmg6M5/h Gqpfda8LmYA1NnUdwD9KuNjQPaduwWrfMpImKu1oOTNluJWRPxqV446dW7tceHmysJTt m3Va0sRGjHIqFdFxry3e1CTfnejD8qRCudjUdeCD5clbeDzPhA5SXoViES4ZjlsojstU VarRwnRRMDJ9x43BV/7NDTJ+pymWP0eMS/vgMSTZnaNNzIvmwLMhqKrTl6jpKRmnXpam ThsA== X-Gm-Message-State: AHQUAub3brQ4RiBvE6Ato/lolwQgaieH801965tJ4z3km1A6KujqrCpH wA6dKOQf4K04z5eVzFVsOBNr11YFcfteCENxI5k= X-Received: by 2002:a9d:5a0b:: with SMTP id v11mr21134786oth.124.1550700361880; Wed, 20 Feb 2019 14:06:01 -0800 (PST) MIME-Version: 1.0 References: <20190214171017.9362-1-keith.busch@intel.com> <20190214171017.9362-10-keith.busch@intel.com> In-Reply-To: <20190214171017.9362-10-keith.busch@intel.com> From: "Rafael J. Wysocki" Date: Wed, 20 Feb 2019 23:05:51 +0100 Message-ID: Subject: Re: [PATCHv6 09/10] acpi/hmat: Register memory side cache attributes To: Keith Busch Cc: Linux Kernel Mailing List , ACPI Devel Maling List , Linux Memory Management List , Linux API , Greg Kroah-Hartman , Rafael Wysocki , Dave Hansen , Dan Williams 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 Thu, Feb 14, 2019 at 6:10 PM Keith Busch wrote: > > Register memory side cache attributes with the memory's node if HMAT > provides the side cache iniformation table. > > Signed-off-by: Keith Busch Acked-by: Rafael J. Wysocki > --- > drivers/acpi/hmat/hmat.c | 32 ++++++++++++++++++++++++++++++++ > 1 file changed, 32 insertions(+) > > diff --git a/drivers/acpi/hmat/hmat.c b/drivers/acpi/hmat/hmat.c > index 6833c4897ff4..e2a15f53fe45 100644 > --- a/drivers/acpi/hmat/hmat.c > +++ b/drivers/acpi/hmat/hmat.c > @@ -314,6 +314,7 @@ static __init int hmat_parse_cache(union acpi_subtable_headers *header, > const unsigned long end) > { > struct acpi_hmat_cache *cache = (void *)header; > + struct node_cache_attrs cache_attrs; > u32 attrs; > > if (cache->header.length < sizeof(*cache)) { > @@ -327,6 +328,37 @@ static __init int hmat_parse_cache(union acpi_subtable_headers *header, > cache->memory_PD, cache->cache_size, attrs, > cache->number_of_SMBIOShandles); > > + cache_attrs.size = cache->cache_size; > + cache_attrs.level = (attrs & ACPI_HMAT_CACHE_LEVEL) >> 4; > + cache_attrs.line_size = (attrs & ACPI_HMAT_CACHE_LINE_SIZE) >> 16; > + > + switch ((attrs & ACPI_HMAT_CACHE_ASSOCIATIVITY) >> 8) { > + case ACPI_HMAT_CA_DIRECT_MAPPED: > + cache_attrs.associativity = NODE_CACHE_DIRECT_MAP; > + break; > + case ACPI_HMAT_CA_COMPLEX_CACHE_INDEXING: > + cache_attrs.associativity = NODE_CACHE_INDEXED; > + break; > + case ACPI_HMAT_CA_NONE: > + default: > + cache_attrs.associativity = NODE_CACHE_OTHER; > + break; > + } > + > + switch ((attrs & ACPI_HMAT_WRITE_POLICY) >> 12) { > + case ACPI_HMAT_CP_WB: > + cache_attrs.write_policy = NODE_CACHE_WRITE_BACK; > + break; > + case ACPI_HMAT_CP_WT: > + cache_attrs.write_policy = NODE_CACHE_WRITE_THROUGH; > + break; > + case ACPI_HMAT_CP_NONE: > + default: > + cache_attrs.write_policy = NODE_CACHE_WRITE_OTHER; > + break; > + } > + > + node_add_cache(pxm_to_node(cache->memory_PD), &cache_attrs); > return 0; > } > > -- > 2.14.4 >