Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp24396ybl; Tue, 7 Jan 2020 13:20:50 -0800 (PST) X-Google-Smtp-Source: APXvYqwwbvH1Dp4hh5H7dS7nxjTeGhvAyBnIMpzZWG051Zya44bC6EpYC3BacIg7MVRqT/v1vYOH X-Received: by 2002:aca:b286:: with SMTP id b128mr362348oif.147.1578432050210; Tue, 07 Jan 2020 13:20:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578432050; cv=none; d=google.com; s=arc-20160816; b=JeYFiVJu9RNajRJtn1w84/VITidAIVGe88uLmv/YfDwpK1Nof+V85k8Q9tdHwXNRN2 62vDHIxMLLcFeshbDstWtvyEbqXixFB98zpanHZK5mOVyrmV2RHj2WOF6jmEm5wuomPI UUU2lXZxKD8h1fuPuwEMyb8BXqfHQ3eguUhthN1JZmwoscEI3T7QJ9PvzryekiqXh1gt ADPiUNNuLvFmfhdS0PobdaNN6IgcxBYexwUcwjJvdVjuDLWKNHrcpR32gAihl91jIM8P FsSXxLGnG8j4XqATVZUjMztPxhioJA5kuXCW4Nz1OHfzOChb/nVr+QQwNdyoLoOROgqv sqDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dmarc-filter:dkim-signature; bh=ktTICb0pqeIhsoL9iz0mVGvt/SWbzJYQSsAxmkhWOzU=; b=bfta/VoPjPamN+Jo7tpmOTknIxGFo9IydyCgvl8e9amsmaKDUIKlWkbjIuSEL4T9oj nT2XVtioBAybvOAOkF+L9XBKIRL+ZgJ1xB77Fhox7HVG2k9oW4vJHq3kLY5hkFo/3Cw/ 68gkxFIWyD9cw4+4TBUMHunGHGG0syIEHHapYrxdCyg49HNW+Mo4pkhSuGH8B558xIjs 3F0KH1lQT8UhO//HBkeR60FsjCA6FZuUIBbbS4v9m3rdO4F8OouQ/AHM/sPxfRbyvlpL NSAaFZVjKAjyq+sTgHuLFhOoHy/VhWCVToDcjaVFstC+qHf8MplgVvkQkWeUbSwRkN4W Ehuw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b=vY4ZnlYz; 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 t1si562024otq.322.2020.01.07.13.20.37; Tue, 07 Jan 2020 13:20:50 -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=@mg.codeaurora.org header.s=smtp header.b=vY4ZnlYz; 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 S1729245AbgAGVT5 (ORCPT + 99 others); Tue, 7 Jan 2020 16:19:57 -0500 Received: from mail25.static.mailgun.info ([104.130.122.25]:13912 "EHLO mail25.static.mailgun.info" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727046AbgAGVEp (ORCPT ); Tue, 7 Jan 2020 16:04:45 -0500 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1578431085; h=References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=ktTICb0pqeIhsoL9iz0mVGvt/SWbzJYQSsAxmkhWOzU=; b=vY4ZnlYz/coEDWQtatslPU/CfiNWnpUV1SSQcmJt29jX1nZhrWtgXYWQAO0KMUcF1z4auptQ npLMg6ZKrazhv5FY/7lIJTqdh3etZd1/4434gA2ZQvifPstHRCb0PXDJqisYPfIHG8F2sgw8 ssYfexm5Z5jbi5V5mepiwJFiIdk= X-Mailgun-Sending-Ip: 104.130.122.25 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by mxa.mailgun.org with ESMTP id 5e14f267.7f4307d08f48-smtp-out-n03; Tue, 07 Jan 2020 21:04:39 -0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 928FAC447AD; Tue, 7 Jan 2020 21:04:39 +0000 (UTC) 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 Received: from eberman-linux.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: eberman) by smtp.codeaurora.org (Postfix) with ESMTPSA id C5842C447AC; Tue, 7 Jan 2020 21:04:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org C5842C447AC 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 Andersson , agross@kernel.org, swboyd@chromium.org, Stephan Gerhold Cc: Elliot Berman , saiprakash.ranjan@codeaurora.org, tsoni@codeaurora.org, sidgup@codeaurora.org, psodagud@codeaurora.org, Brian Masney , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v5 04/17] firmware: qcom_scm-64: Make SMC macros less magical Date: Tue, 7 Jan 2020 13:04:13 -0800 Message-Id: <1578431066-19600-5-git-send-email-eberman@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1578431066-19600-1-git-send-email-eberman@codeaurora.org> References: <1578431066-19600-1-git-send-email-eberman@codeaurora.org> 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. Change-Id: Iac0378fc4c5e20943a64b98223d53caa4955dd53 Reviewed-by: Stephen Boyd Tested-by: Brian Masney # arm32 Tested-by: Stephan Gerhold 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