Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1168214ybl; Thu, 12 Dec 2019 10:39:25 -0800 (PST) X-Google-Smtp-Source: APXvYqz+AV1Qp5PnTR3sIu/iBrS6jcMfFol1NJb8L4eT56PY8mnOXSxoRRRB2rT7hp4vnQEbpdZk X-Received: by 2002:aca:4e87:: with SMTP id c129mr5607866oib.153.1576175965762; Thu, 12 Dec 2019 10:39:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576175965; cv=none; d=google.com; s=arc-20160816; b=UKCWcN+ENcNmAjUJxDicU0L122cbCpUw5VwlwEr70JQXEXw9pU2+RhgpQWpFecDoRP IYO2JMZQc3qgQfkG0N6oTu0EoF1+hQ72PbxUCeY1u/fFDLT56lBDbkf7e2A7RFwHnqih jP++IMVh9JoHXH/ho64MzQxgJiXj2IjZ7+stIZIYUI6axPcvb9TBPMmGeuvXftyzavJo G93sdEeoYQ5PeJJyK3Oe/ZdQP1ow/q1MN53JKBlcvqhj1mAZLAaGYXiGtWiVeQ2XdWCk R16THpI23XAhf+JkjD9Gi5a3wDMOm9ndtpZbOv51N8ocdsXbZd6YtDr2uJOeWQpTSBi5 qIhg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:feedback-id:references:in-reply-to :message-id:date:subject:cc:to:from:dmarc-filter:dkim-signature :dkim-signature; bh=CycDHhmNKC/joidv+za1a87b6CyyuqeicOoHNRFQRC0=; b=i1HkJqyD7bm3hIj8mhNqOmUL0qlzkenqzD/Z985zyzj8hL8wh6WQA3sxEfZE5usHui IBU9ngzb65u4iLupJgyawcxmTZaNSvx+2y6wkbpA32dagKEPSBfvlPlJ48jPW1aeOvHq BlW5vW7xbHpkq+XEnJXKzQY9sIsT8dhCHlLeb8170GUsgYsimCwlhBg28uGNu21h8ERB 7G30YHtzWEs+ZWjaWXF/JdjfQZHtEgkUbswzbTzqQEY5Rh9v0PRKQIUQfO7AlnglpDxW 5GRB9E+LSXU6zFEQChjNI+F5hh6VDdJg0+fKQH26gf0BXMrV3SHNaxC9h6CAICRzTW0n l6mQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=zsmsymrwgfyinv5wlfyidntwsjeeldzt header.b=ceEoBBgQ; dkim=pass header.i=@amazonses.com header.s=gdwg2y3kokkkj5a55z2ilkup5wp5hhxx header.b=VfHpLinq; 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 o25si3485130oic.63.2019.12.12.10.39.13; Thu, 12 Dec 2019 10:39:25 -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=pass header.i=@codeaurora.org header.s=zsmsymrwgfyinv5wlfyidntwsjeeldzt header.b=ceEoBBgQ; dkim=pass header.i=@amazonses.com header.s=gdwg2y3kokkkj5a55z2ilkup5wp5hhxx header.b=VfHpLinq; 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 S1730663AbfLLSiL (ORCPT + 99 others); Thu, 12 Dec 2019 13:38:11 -0500 Received: from a27-21.smtp-out.us-west-2.amazonses.com ([54.240.27.21]:32894 "EHLO a27-21.smtp-out.us-west-2.amazonses.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730427AbfLLShB (ORCPT ); Thu, 12 Dec 2019 13:37:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=zsmsymrwgfyinv5wlfyidntwsjeeldzt; d=codeaurora.org; t=1576175820; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References; bh=/f/uwcycvkqHfz6rQ6bCQ07NgIkbE8y3JfXx2nqrEJw=; b=ceEoBBgQZy0D3uWe2Re7QDHECgI/rCAyyjrzU9oIl6JiyotDDSHKUhccVIV3E8H4 Q5yC9/0zBjq1hi2CjMLTIhPk6M+guAPgrdrIXMyanRlo0tIWKl7tO5ZZrUwlnj5NPEF SBaWDTgFvppo4Wm+AgKBSp5PB5IUnvmqjaaU6kI8= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=gdwg2y3kokkkj5a55z2ilkup5wp5hhxx; d=amazonses.com; t=1576175820; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:Feedback-ID; bh=/f/uwcycvkqHfz6rQ6bCQ07NgIkbE8y3JfXx2nqrEJw=; b=VfHpLinqlgaZmb3+bA1YQ9qDgJCDJwKVsXhBweWJnjijaHvpOP5GEU/aum8+207+ PFwy0gWQJtEwjVBdboTMqID7K2CuCSJOFRY/mPNviQ5F8GcxWvwq7lbESNbAi67nMsK eIQhjeddv4EUzSgbkE+L3CS536BpSrmx08EHEcJA= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=2.0 tests=ALL_TRUSTED,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.0 DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 1E98EC43383 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=none smtp.mailfrom=eberman@codeaurora.org From: Elliot Berman To: bjorn.anderssen@linaro.org, saiprakash.ranjan@codeaurora.org, agross@kernel.org, swboyd@chromium.org Cc: Elliot Berman , tsoni@codeaurora.org, sidgup@codeaurora.org, psodagud@codeaurora.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 04/17] firmware: qcom_scm-64: Make SMC macros less magical Date: Thu, 12 Dec 2019 18:37:00 +0000 Message-ID: <0101016efb665f0c-e7038f1c-4911-4bb2-ae59-f5467f47ddf9-000000@us-west-2.amazonses.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1576175807-11775-1-git-send-email-eberman@codeaurora.org> References: <1576175807-11775-1-git-send-email-eberman@codeaurora.org> X-SES-Outgoing: 2019.12.12-54.240.27.21 Feedback-ID: 1.us-west-2.CZuq2qbDmUIuT3qdvXlRHZZCpfZqZ4GtG9v3VKgRyF0=:AmazonSES Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Improve understandability of SMC macros by reversing the logic as they are all functions of how many arguments can be shoved in registers and how many SCM arguments are supported. There aren't 4 register arguments because are 7 arguments that go into a buffer - there are up to 7 arguments that are overflowed into a buffer because only 4 registers are allocated for arguments. Reviewed-by: Stephen Boyd Signed-off-by: Elliot Berman --- drivers/firmware/qcom_scm-64.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/firmware/qcom_scm-64.c b/drivers/firmware/qcom_scm-64.c index 976c2b9..3101f36 100644 --- a/drivers/firmware/qcom_scm-64.c +++ b/drivers/firmware/qcom_scm-64.c @@ -58,9 +58,9 @@ static DEFINE_MUTEX(qcom_scm_lock); #define QCOM_SCM_EBUSY_WAIT_MS 30 #define QCOM_SCM_EBUSY_MAX_RETRY 20 -#define SCM_SMC_N_EXT_ARGS 7 -#define SCM_SMC_FIRST_EXT_IDX 3 -#define SCM_SMC_N_REG_ARGS (MAX_QCOM_SCM_ARGS - SCM_SMC_N_EXT_ARGS + 1) +#define SCM_SMC_N_REG_ARGS 4 +#define SCM_SMC_FIRST_EXT_IDX (SCM_SMC_N_REG_ARGS - 1) +#define SCM_SMC_N_EXT_ARGS (MAX_QCOM_SCM_ARGS - SCM_SMC_N_REG_ARGS + 1) static void __scm_smc_do_quirk(const struct qcom_scm_desc *desc, struct arm_smccc_res *res, u32 fn_id, -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project