From patchwork Mon Feb 13 16:27:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linda Knippers X-Patchwork-Id: 9570235 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 736BA60578 for ; Mon, 13 Feb 2017 16:28:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 640F6268AE for ; Mon, 13 Feb 2017 16:28:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 58BDC26E1A; Mon, 13 Feb 2017 16:28:21 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from ml01.01.org (ml01.01.org [198.145.21.10]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1017B268AE for ; Mon, 13 Feb 2017 16:28:21 +0000 (UTC) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 08200820DC; Mon, 13 Feb 2017 08:28:21 -0800 (PST) X-Original-To: linux-nvdimm@lists.01.org Delivered-To: linux-nvdimm@lists.01.org Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on072a.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe48::72a]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 6B9E5820BE for ; Mon, 13 Feb 2017 08:28:20 -0800 (PST) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=linda.knippers@hpe.com; Received: from hp-dl380pgen9-02.lab.bos.redhat.com (66.187.233.206) by CS1PR84MB0165.NAMPRD84.PROD.OUTLOOK.COM (10.162.190.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.16; Mon, 13 Feb 2017 16:28:18 +0000 From: Linda Knippers To: , Subject: [PATCH 2/3] Allow specifying a default DSM family Date: Mon, 13 Feb 2017 11:27:48 -0500 Message-ID: <1add4491ffe50ece3ab84e4ab2455086a928272f.1486750247.git.linda.knippers@hpe.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [66.187.233.206] X-ClientProxiedBy: CY1PR14CA0081.namprd14.prod.outlook.com (10.164.65.177) To CS1PR84MB0165.NAMPRD84.PROD.OUTLOOK.COM (10.162.190.12) X-MS-Office365-Filtering-Correlation-Id: 056bae40-7d3e-4b1e-82ce-08d4542d521a X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081); SRVR:CS1PR84MB0165; X-Microsoft-Exchange-Diagnostics: 1; CS1PR84MB0165; 3:mmFplvoyYv4zPMEaxwvwvkrdQUg4dVFiYChwWzAeneaXWtyiK4qVtJn8pxrClxawYHHCuQ6EkOU6CBuFBQcfXk8UWTZqsbEFD3tK3LCAlOEE1Bh+0yi4oBWlAkNhVpc3/P5aP/4Gql3tS41wP+wM/rZ7rrZf+piuuDPoYz3hmoXC8R9sAN08Vs5PjgOf8RawCsFk6KPpExwzbQlodngEAl5phP04xALPitkyDPpoAEoJoF+YQR5oloF42/ZSYxwRvhh0YPJt5RSjUcQxT8hZ/N9t/q4NfEMGbFlgJxsjUfQ=; 25:FuhA/NlH4Sus0Apf3U1dd6qLQ8d/69Pyy796IottBfAmvp0ItosiAXFWCSBLWzBZeQv4G1JrKXdz+4Sanss/yi5th7odFgykpCy5UN2QXtjTPIWDaOUMXY/SQvqDRpUwz7uy07Rog8kSX0igtbml9jacu5FoodYUVyb29X6bpImqfpBFv6ZRqcJhPZqx0PLITBJdVzPINAUd4RkNJu3TTZe7XfcPTn1BjWBAe+xESLPmjaFfSMvioxtF8w4Yoou4dPsQ3T5Pf0cTcwmnXoYu3bZPwtRQuUe9y+x7hyJE9JY+lwK2JZFquV2w/pPssftFCj/vg3VcOZ37cOsc4wBf5yVsEy0cCCvia9gw1OofenC5iBoarprSBsu4kweMU063hpfiwoppkx5F6RQ3tkQFQaXhZrSvbWlp20JxzNGoy2pNtN2uFL4je933mgvJRIG8SRF7/zdBcN3eMqOyXFUauw== X-Microsoft-Exchange-Diagnostics: 1; CS1PR84MB0165; 31:IseQHTbSqGKRXnwJy0X2Q1P2Y7pyGeGlF+v6aSMcweC4TA15ma4L6KTXD4ozXkipL7mxh4NHpOOpYDCoe9YEmr+cRJ60u31XLGMEosmleHyjFCEl+kZ1rKvwEQAe+Uvn4lbo13wZjl9pGdNwOfzAOeQO2dqAbeAppu3eeuIrtQpWfHV2aWILhO5bdTt9Zmvcex+ZLI80sVTELv6zDs/XmhrTuMUXVRW+EfhV8lg5PDgu8K3ORdJryl+nAH6E8YpC; 20:RVxmt5GVEwQ83mB7aEKF4TX880c3OKdzlnG+t4GuymQdVMRVAtjellvEV2hExbVp6SDSTVAQehHqBlPfariKDh/jZZ3Xcg36rC2FhK5iDjTbTlQ2oc16SNGMFyKFzJux8dCMEoBVNTzHLWVjrNrkzco+R7OQTKw813M2u2wqcFPjXgEH+vFQZRtBISHL+mwGLI736KQYnJmH22kTzq72+8xKt2Vbe9KMcg11+1ZAt5RD2jWRYP+6mtkWgs1cciW9sZ6hFN6eV1NBWJi/xxfBXKpZBLrOuZAZ9UP0OgEZycpI22cgfK790pVo1+lZ713H/+sXxZv/S5ccxFsIZKi8W5j/W56YhFxvHyGqpQg8GO7cRUlmOxB7/LcxaPBH6qP/YusJzMeRII7LI+yQYZNKaydZxKEZB129ZvqR9j1+o4vmH+fG+CJMHtvDv9QcVERCRAjf0nVeIcugyhj12kz9RNMv/DKz5aDjgMvmNSiHhFcybD+i2oDQYOKQVOoRHnQc X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(227479698468861); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6055026)(6041248)(20161123564025)(20161123555025)(20161123558025)(20161123560025)(20161123562025)(6072148); SRVR:CS1PR84MB0165; BCL:0; PCL:0; RULEID:; SRVR:CS1PR84MB0165; X-Microsoft-Exchange-Diagnostics: 1; CS1PR84MB0165; 4:yCrIQ8VkxhJhOTEl9f1VtRa7vPFaNtBsKrHt3EDBQxgIApVsEAVYFP6Tz6n6WnGO1Xal9NFAt9xtRnFIW+PMmew1HzZsD/xQhbiers8nWoEv7vMdDd0dn6oxNQs/UOUDWOZMltn7EZ1+TtqrdGufwM4a0HnJverdltRnSYKNE+Nsj1PQIcN0qiCHs8l9yR6YUFOi3msAsaRqVJWCfaqIF5wfdHssUHCJm6uKm4I0VoJY74V5qzxD5dpVnEaLGuv8Oo79ntA9fqLmEfdoqf2uUlFHgN0dNCl/1rU4lJq7oIVuR24LpGIruE6CmtkMczvcOFNpwQaKHq0CEqnxJ0h49RBuTbzIN64PHMhmIGHdlAhSwHvE9I3Ma1xF85209Et/iMH+ArOgzgkPUDESVANVhQrU5dlEiCGv8JV2k/3weJiw5jJo+I9KhCJ9X/uAjjEdBc1OYaQNTyuu+tMNBqr/rMuiya0xlZGLi+s7hnSyOCtIL8DWmxsrEPgFWNwNjSf5j42WxLX/Fz/V9ChmIDd7aISs1deQ//rFIzuoT5ARwFAgFzxqSJ6dUxfkJZ0MaPR26QIhBxFzfat7lGJOBGWVa1010IN246Ibxj9yWu8B4FKHAOaMxUJIUHURjMMEGz8Ms5LgeGjCL2ECnR7R49AyzBuRgEbclWuZYCpky/rm9hM= X-Forefront-PRVS: 02176E2458 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(7916002)(39860400002)(39840400002)(39450400003)(39850400002)(39410400002)(189002)(199003)(6666003)(2950100002)(53936002)(4720700003)(42186005)(101416001)(189998001)(36756003)(33646002)(2906002)(4326007)(66066001)(76176999)(50986999)(47776003)(5660300001)(68736007)(305945005)(118296001)(7736002)(86362001)(97736004)(105586002)(50226002)(81166006)(6506006)(81156014)(8676002)(6486002)(92566002)(50466002)(6512007)(48376002)(38730400002)(54906002)(5003940100001)(6116002)(3846002)(106356001)(7099028); DIR:OUT; SFP:1102; SCL:1; SRVR:CS1PR84MB0165; H:hp-dl380pgen9-02.lab.bos.redhat.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: hpe.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CS1PR84MB0165; 23:uZhK6KIMeRB7T1EUIKmDQ9wpm/0UQw6GN5TjMVu+t?= =?us-ascii?Q?1qiavmpPLC9MmvsFKES65q+aOavKz7af5hVtYwji0kpXVtierhawmLH6oDiy?= =?us-ascii?Q?q6qav9CXlzmbs4lqYnnoAF9yywpQJdlSQUfTohrFIwRSr1Y0AIV+S9VoXSWJ?= =?us-ascii?Q?Zp3Rr1TwnYxVhNXBRURgc9jSCKSKiz6q2+AQdCwkz+PDGdPSqQj7zO2ZOT5A?= =?us-ascii?Q?WJSDge4gbLTal5G1Vvzi25aVEdZ6D9oNA/5z6kAF3pzXTYmbv4u++KSARG3Y?= =?us-ascii?Q?HMQLfi5cjIew3KELtkfmPZTRszcq6Q+OPiVcEf+3kaM7WDCl854aOeAsJk2X?= =?us-ascii?Q?v6fceqGD59eFNNCQ+poON5v+G5UItyNcB26ACyVGeX8u0PpW2tln7aJaRVj7?= =?us-ascii?Q?ZphbEWD3rH93xATBX/j7f2zevLGnGrW+OWRuBfX9RO2NiUTk79snoJdeO79C?= =?us-ascii?Q?NwsRasWpf2rOOEkLlG5ksIYlRBpzAlpj/cQnda6CRZN3BIWLKUsVMNhgqecZ?= =?us-ascii?Q?I45NKjfMR9f4fcT1sAHxKyvtNex1JtGYAMtOaw/bPhT26HSwRCo+x4Bq2bQp?= =?us-ascii?Q?qwib2H+AI91/zv7raMuv8ZESMzNTuxk7tluzw3aySQ2IxyFgt5aYbNChtDZM?= =?us-ascii?Q?7+kxN0+GPA8wnxADMB5zl1n9Gg68JXVqnjTgd8e8V32346xosIzJpmhPj6os?= =?us-ascii?Q?f/bEsN20sHzzfuU5H2llvQ7nVYJ++03xJ8GvdHJal/ecIHznBkbi5asrclqC?= =?us-ascii?Q?m987S+M8RMxFjYTiERMR1CvodRpkopqM1U9T76X+K0grWJK/+eCZFXcLaam2?= =?us-ascii?Q?8u/8L5s5xy0pT4NBfaqoSl8zb7yYNPnIVaMROmhnqPO9AiU5ix1nhlD/EzmP?= =?us-ascii?Q?ht2wP/QAIXT1OxaF0j3mRS8Jmdu9RS+DsVR4sDlftG1wrTJZu+7Rrsr0K66u?= =?us-ascii?Q?uO27NzkMWFo79MeY6LIlwCDU382gwRZ8Ir5CUwbh5YzijcOA1oDKmFHC/hRF?= =?us-ascii?Q?eUwMZ340PBQUALXK3lc5uy27vZXoMif9/yQ7Ko97B/OBKE7+IgusVAO8X/F3?= =?us-ascii?Q?QfwSLallysJUhNi0zC5QUZ3ADvxuQsHXhzRdXec8tdpuQ+62OAqTOIlRkZnv?= =?us-ascii?Q?rczQ1xNmLVtqiJEmCNdJErHWT9wBi6q2r9CSVJRTReUnt/vuO3G2qMAV+8ir?= =?us-ascii?Q?HxZtb/zDitizszBFfdjdwKErikc0K2CKtIxx+7Di8upqAFvsa6OLZadGA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; CS1PR84MB0165; 6:zlpP0kG7PnTsBZpFauKr8zu5qOxrpp/qWWNGpg/CwnyDRVZ6w2wjGLl8diwzZoi8OnoQlX7UW9LOe4jsJd7vgmAKctp3nY7C/UAS07JddybAlSuz0s8Ix2ajKWpz956s9QgfGTafIyCtrvHdkrGiFM96Vyt9XVyWpbms451tuLcwrGh3PKXvxx09UBBRgDJ2l+vapmLnO2tRf1itzj0Ul5dbsLFK02BCIsN79OfGdW8Q+2o2lDTWBLWIRuxvTHshd0pBkcBYSJ7VCMs4k+QMGub1sCkIpkaMwAH640KiwHGHPo2mcibYvzC/QY40DpNdJzBM4NIxdZ5SMf3lTNhBjYWu4xJWcCVVTXqvOsaVg98nt8sBbgUI2scEU8u1CakQQhsmygzmnIeJI/QT8Qw8pk4hLENE+3nHTXSsTXZVFWk=; 5:QGJZ6FjIr3kiV76GgDUhD134gAG8+XAbprORTCHUsQMR5mPevcldcCoXoHJx7LlAmzs9c1js8K4142vhKPjzZc8kbzSQsqCNaWGnSD0BXdBdcswTPLmiFP9mup1i0JpFjoVgFFK3EpZGV+EZRJ9IDFgibpnPRNf2wcDFM4JqMoA=; 24:Ryp7Jhg6JfakH9jIqNDJIuFXrQIzwtr9K0asnlyy5BhcFTSOg7VH0Lkqx2tox3/nGGlAizTwE8M1vos6++khFFgYEVm0odYiCxNEdZrP9rQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CS1PR84MB0165; 7:IWnCXh2OoJGwQhw7GxuTS5MAuaXM7SnvXr/SPXJ0ATwqDR9SJaCXPEcgLfAw5WXe8zpyg5hyja6oJKrQ/J+9hmVMMbE/BSahgRSI+MT1TcVZYGs6f3tyslHqy9pGMoEe5x/j5uQIXEDdJsZy4u3i2CyufihjNxyUX56PuYH9PWNweD330SFYoz6k0aBown0YxsLwF0KFcrb38fANCRw73heZPl55YT7yWVQKZtFiK/EPfkUcniOL5gQyaPMxjFXT5C7OjO4FhYWjsHkPuK8yen1XER2TV41xN+pshaoq8x38Ib1w6B9FlH/XUmfFFFxtSQEeKUVPCw9626X3zC0FOmqOrlyDFrMS+fQkN3qvxK5wCt+V5JKWZYpZDv3VcaBhvsNufapbVLBjSX5Auqy7Xs8N3leZnW5p1JMT44JQQq8PkCNg2S7lKxFfPbyswlcRCdhNGWIrRqN1s6lsSIDF8tIMwI1dmeXGf5DaKVycIG7PzHyiBIlmIeMkdWs9sEl65XwAB7SpMXK931pj9p8a1Q== X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Feb 2017 16:28:18.7317 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR84MB0165 X-BeenThere: linux-nvdimm@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Linux-nvdimm developer list." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" X-Virus-Scanned: ClamAV using ClamSMTP Provide the ability to request a default DSM family. If it is not supported, then fall back to the normal discovery order. This is helpful for testing platforms that support multiple DSM families. It will also allow administrators to request the DSM family that their management tools support, which may not be the first one found using the current discovery order. Signed-off-by: Linda Knippers --- drivers/acpi/nfit/core.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c index b80d4d9..e38773f 100644 --- a/drivers/acpi/nfit/core.c +++ b/drivers/acpi/nfit/core.c @@ -51,6 +51,12 @@ MODULE_PARM_DESC(disable_vendor_specific, "Limit commands to the publicly specified set\n"); +static int default_dsm_family = -1; +module_param(default_dsm_family, int, S_IRUGO); +MODULE_PARM_DESC(default_dsm_family, + "Try this DSM type first when identifying NVDIMM family"); + + LIST_HEAD(acpi_descs); DEFINE_MUTEX(acpi_desc_lock); @@ -1367,7 +1373,7 @@ static int acpi_nfit_add_dimm(struct acpi_nfit_desc *acpi_desc, struct device *dev = acpi_desc->dev; unsigned long dsm_mask; const u8 *uuid; - int i; + int i = -1; /* nfit test assumes 1:1 relationship between commands and dsms */ nfit_mem->dsm_mask = acpi_desc->dimm_cmd_force_en; @@ -1395,10 +1401,23 @@ static int acpi_nfit_add_dimm(struct acpi_nfit_desc *acpi_desc, * Until standardization materializes we need to consider 4 * different command sets. Note, that checking for function0 (bit0) * tells us if any commands are reachable through this uuid. + * First check for a requested default. */ - for (i = NVDIMM_FAMILY_INTEL; i <= NVDIMM_FAMILY_MSFT; i++) - if (acpi_check_dsm(adev_dimm->handle, to_nfit_uuid(i), 1, 1)) - break; + if (default_dsm_family >= NVDIMM_FAMILY_INTEL && + default_dsm_family <= NVDIMM_FAMILY_MSFT) { + if (acpi_check_dsm(adev_dimm->handle, + to_nfit_uuid(default_dsm_family), 1, 1)) + i = default_dsm_family; + else + dev_dbg(dev, "default_dsm_family %d not supported\n", + default_dsm_family); + } + if (i == -1) { + for (i = NVDIMM_FAMILY_INTEL; i <= NVDIMM_FAMILY_MSFT; i++) + if (acpi_check_dsm(adev_dimm->handle, to_nfit_uuid(i), + 1, 1)) + break; + } /* limit the supported commands to those that are publicly documented */ nfit_mem->family = i;