Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp386014imm; Wed, 13 Jun 2018 01:55:41 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLvZTL+868cRu2ztGVW1HNp6zUBfXzPp8dv1grKJB6S5UOzBWJvfeXP6CUvIkkNjxYMZwD8 X-Received: by 2002:a17:902:a518:: with SMTP id s24-v6mr4287433plq.144.1528880141326; Wed, 13 Jun 2018 01:55:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528880141; cv=none; d=google.com; s=arc-20160816; b=mwv4To9lmEbPmEyf0tPyqOGAXUuDn4Pw0fncFYrlbw0kCtWtC9JsxvbyazvxUFIHqI pcHNsTjnLt6sE20dAskj4wd9WxczSsa8JKw5VXnOfOX+8tuWCRQLncKlwIYyhEQ3Gpbz DZHd8+2GRc7T00A6956ZGbhV6BrTKen0N34DWDk72eh9gag245AiauKDCt01tqlkgA9G OKr3A5W8YTXdgOEAl/bitLOGbOSu1UR70Mss+UzVH1Nrv3GEXckhasKRYYHsgV9PNiK0 lQiXv6DOaJnFmy8icGva2cqBEXDOeQiC+6TEqD4gjoCZMUwK5oP2+UNw2xExOtRH471k CAyg== 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=a3qxDkiAN4hKwO5cZ7g8VB8eVH6YSO4iBLN1kEWxHRE=; b=zgQbHRJla3dmZU7RhQVNdUfc2/5viAsnapkNyAD2Uhy2nr/WZRM1VkFFA9kkF29MrS qh3mmYLQ1a14+uYjABjanEzBec6tf9DVmoyZZWJSzLpF4dHe3r/4jV656x+nIPbJoEfW nStXl9IqLGwuYAlp/ig8bN6+eKGwklfrWpO14z9bU2F5HH5R41DroxyurywwriDEdYfy u+nyaTO+G3Oc1A7VgodziFSm0d+rm2NucdDde16yG/KJ0jg6UGY1a2ammD28gkUfdQuC LyO5xomhZoNK/ON92YTy9oNyHZZgZ4SJgjOcchAYrQahIEbfMKAd3XG4FhlH09Xti/8A F9nA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=E21Fjgsc; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w187-v6si1952241pgb.11.2018.06.13.01.55.27; Wed, 13 Jun 2018 01:55:41 -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=@gmail.com header.s=20161025 header.b=E21Fjgsc; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934652AbeFMIyu (ORCPT + 99 others); Wed, 13 Jun 2018 04:54:50 -0400 Received: from mail-ua0-f193.google.com ([209.85.217.193]:40857 "EHLO mail-ua0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754478AbeFMIyq (ORCPT ); Wed, 13 Jun 2018 04:54:46 -0400 Received: by mail-ua0-f193.google.com with SMTP id l11-v6so1198768uak.7; Wed, 13 Jun 2018 01:54:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=a3qxDkiAN4hKwO5cZ7g8VB8eVH6YSO4iBLN1kEWxHRE=; b=E21FjgscgR7qST/Q+Ll3A/0w89TxfmmgGm+J/x/o6HYnvjOKN7xlMOarN+gPP0Bs5C eN8PpozgvUnmlkof+57wbpiPHF17jlH9JAPxa0Jxulof8q0siDy+QsHEInWCPnkfyz1v xMnORp2qo4ctLxdOsu4tBbFz1qygDRQS78RBcDg8eme2kO/J7pjf5QEVmHYGBfkZvAfC GmW26CynU60MzBIni8ewet4DRAMuj/AKuVwSKiD4FfO6hq1hcJCWDfcYNuPGAjgBtX7J DKHqdHApmD6GqbatmxUXY6qtFE9mYSlM2EhDn/WWaDysfqqPmIoIC0pZO5LURjYZvG+d XSbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=a3qxDkiAN4hKwO5cZ7g8VB8eVH6YSO4iBLN1kEWxHRE=; b=h4TIPyaBkPHAVKtQrGNqlhmbntB3MuNHAn8814zhl8GZajiFnRUQuUcwwW2mgEnCNi v3fh0j6jXrqM2GOtXSiUsUjpKaNkGcJTmhL2Mdl7ftNSPWvB4xNISQQ+6/Njvi9X77/X 6gNdaJfxuEc5zqGHG15Kdf5W/t0BTvWESD7uoNEMNzjszDMdWMF/0NSND+LoERqAJ6Zo q0blBThdIiD8box33P6Se1IATDZCaE3ijIBi623FzEyN14wE6cMhTsQp0JUhlCvyq9kq fwRUFGY6Kjx0xriFMVakaxnaTHC5/3tmBUnVferiKoP7/gQnkBLl83qQwikkmoRZoyWH noGQ== X-Gm-Message-State: APt69E1Z5gRMtvnpQbXbeQgpuIcoBzfI11bEd8Upa/hZO5tPjNnqf/J3 MsGGsStw+p8jt/TviNWUQ/YkaRC1A3UxRXoIPGQ= X-Received: by 2002:ab0:6008:: with SMTP id j8-v6mr2691871ual.28.1528880085894; Wed, 13 Jun 2018 01:54:45 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a67:8b02:0:0:0:0:0 with HTTP; Wed, 13 Jun 2018 01:54:45 -0700 (PDT) In-Reply-To: References: <45b8bde6-aaa8-3f3f-0528-81e5e931751c@gmail.com> <20180609010420.GA112645@localhost.localdomain> From: Andy Shevchenko Date: Wed, 13 Jun 2018 11:54:45 +0300 Message-ID: Subject: Re: [PATCH v3] dcdbas: Add support for WSMT ACPI table To: Stuart Hayes Cc: Darren Hart , Douglas_Warzecha@dell.com, Mario Limonciello , Jared.Dominguez@dell.com, Linux Kernel Mailing List , Platform Driver 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 Wed, Jun 13, 2018 at 4:24 AM, Stuart Hayes wrote: > > If the WSMT ACPI table is present and indicates that a fixed communication > buffer should be used, use the firmware-specified buffer instead of > allocating a buffer in memory for communications between the dcdbas driver > and firmare. Thanks for an update. My comments below. > - if ((pos + count) > MAX_SMI_DATA_BUF_SIZE) > + if ((pos + count) > max_smi_data_buf_size) > return -EINVAL; Parens are redundant, but okay, not purpose of the change. > + /* Calling Interface SMI I suppose the style of the comments like /* * Calling ... ... > + * > + * Provide physical address of command buffer field within > + * the struct smi_cmd... can't use virt_to_phys on smi_cmd > + * because address may be from memremap. Wait, memremap() might return a virtual address. How we be sure that we got still physical address here? (Also note () when referring to functions) > + */ > + smi_cmd->ebx = smi_data_buf_phys_addr + > + offsetof(struct smi_cmd, command_buffer); Btw, can it be one line (~83 character are okay for my opinion). > + acpi_get_table(ACPI_SIG_WSMT, 0, (struct acpi_table_header **)&wsmt); > + if (!wsmt) > + return 0; > + > + /* Check if WSMT ACPI table shows that protection is enabled */ > + if (!(wsmt->protection_flags & ACPI_WSMT_FIXED_COMM_BUFFERS) > + || !(wsmt->protection_flags > + & ACPI_WSMT_COMM_BUFFER_NESTED_PTR_PROTECTION)) Better to indent like if (... || !(... & ...) > + return 0; > + > + /* Scan for EPS (entry point structure) */ > + for (addr = (u8 *)__va(0xf0000); > + addr < (u8 *)__va(0x100000 - sizeof(struct smm_eps_table)); > + addr += 1) { This wasn't commented IIRC and changed. So, why? -- With Best Regards, Andy Shevchenko