Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751865AbdIOBKF (ORCPT ); Thu, 14 Sep 2017 21:10:05 -0400 Received: from mail-pg0-f43.google.com ([74.125.83.43]:49176 "EHLO mail-pg0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751806AbdIOBKD (ORCPT ); Thu, 14 Sep 2017 21:10:03 -0400 X-Google-Smtp-Source: ADKCNb7APxH+jxlJTd4/0KK0jk6EqjhMK3FpR9V/0fRfB24dSFnGzF1wIsq9tMoWdgDTZnAVfWWG/g== Date: Thu, 14 Sep 2017 18:09:59 -0700 From: Bjorn Andersson To: Chris Lew Cc: andy.gross@linaro.org, david.brown@linaro.org, aneela@codeaurora.org, linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 2/5] soc: qcom: smem: Read version by using the smem header Message-ID: <20170915010959.GP2016@tuxbook> References: <1505424302-29147-1-git-send-email-clew@codeaurora.org> <1505424302-29147-3-git-send-email-clew@codeaurora.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1505424302-29147-3-git-send-email-clew@codeaurora.org> User-Agent: Mutt/1.8.3 (2017-05-23) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2342 Lines: 72 On Thu 14 Sep 14:24 PDT 2017, Chris Lew wrote: > The SMEM header structure includes the version information. > Read the version directly from the header instead of getting > an item from the global heap. > > Signed-off-by: Chris Lew Reviewed-by: Bjorn Andersson Regards, Bjorn > --- > > Changes since v1: > - Remove unused smem item version macro > - Move smem get version change to separate commit > > drivers/soc/qcom/smem.c | 25 ++++++++----------------- > 1 file changed, 8 insertions(+), 17 deletions(-) > > diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c > index db04c45d4132..540322ae409e 100644 > --- a/drivers/soc/qcom/smem.c > +++ b/drivers/soc/qcom/smem.c > @@ -63,13 +63,12 @@ > */ > > /* > - * Item 3 of the global heap contains an array of versions for the various > - * software components in the SoC. We verify that the boot loader version is > - * what the expected version (SMEM_EXPECTED_VERSION) as a sanity check. > + * The version member of the smem header contains an array of versions for the > + * various software components in the SoC. We verify that the boot loader > + * version is a valid version as a sanity check. > */ > -#define SMEM_ITEM_VERSION 3 > -#define SMEM_MASTER_SBL_VERSION_INDEX 7 > -#define SMEM_EXPECTED_VERSION 11 > +#define SMEM_MASTER_SBL_VERSION_INDEX 7 > +#define SMEM_EXPECTED_VERSION 11 > > /* > * The first 8 items are only to be allocated by the boot loader while > @@ -604,19 +603,11 @@ int qcom_smem_get_free_space(unsigned host) > > static int qcom_smem_get_sbl_version(struct qcom_smem *smem) > { > + struct smem_header *header; > __le32 *versions; > - size_t size; > - > - versions = qcom_smem_get_global(smem, SMEM_ITEM_VERSION, &size); > - if (IS_ERR(versions)) { > - dev_err(smem->dev, "Unable to read the version item\n"); > - return -ENOENT; > - } > > - if (size < sizeof(unsigned) * SMEM_MASTER_SBL_VERSION_INDEX) { > - dev_err(smem->dev, "Version item is too small\n"); > - return -EINVAL; > - } > + header = smem->regions[0].virt_base; > + versions = header->version; > > return le32_to_cpu(versions[SMEM_MASTER_SBL_VERSION_INDEX]); > } > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project >