Received: by 10.192.165.148 with SMTP id m20csp1397418imm; Wed, 25 Apr 2018 18:23:37 -0700 (PDT) X-Google-Smtp-Source: AIpwx49ZDL3fLTQigjd8pn1t7/FUjj6f2sxxG6qdoJ5PSL3ll0Hr3p08fPzcgSI/b0d2NWpJsm5w X-Received: by 2002:a17:902:1c7:: with SMTP id b65-v6mr29186498plb.298.1524705817458; Wed, 25 Apr 2018 18:23:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524705817; cv=none; d=google.com; s=arc-20160816; b=icL4NAYMqN63ZgSOLoWWDef/dbyo5fsDQKpujo3kWRBbkihbxziXcNJTiSJieM0dIp 73T925G5NxnpuqdIFWAuNHkxLckZrCv8Z+u4iNkLKtylJhSnP+yk72vazmy4Ze6rgDFw uLku6r9BGU8q9jbTVY1v9faLQWUVDkeKJrQ51Ngc6zwCkvcDv/tYdVnGHvkDvwOUswdx ikd0wHtX4oQaGQlYmTegQ3UXQDZVqzWGK/29AWvPtsfyYgIRlMmvY536/BE9M740zYV6 WI7FFG2rNUiYfZxOlHaAyJRSe/MbKFX0zbaXC2X2U/ogyX8QdRvTn/R25EOE/VNUkXBz qIpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=b20Tt1YGDgQGpChVbOtcWGwkDQFOIQjdj0rkTZE9ToA=; b=iFIEIJrjx8LsHHfwjXTFCMVDsKgvErxgieLG9pDgdCDU17hDjRfztSU9k8Z88vsaLC SKZ5jkurf+rgPYSm/VJwkd77fPCkKA8vqnvZ5zMX9fcDQ/IXWUJZoN5xL/xxJIsElJIo vkdwvBgJQ3IxUQhB2dP9NqZN5N/yBFnkSarCu1qnDgsVf8/Pl9fqZqpqc6pK51GZ6Su9 DxcyEUV5Gt2NlrBzk1LKHWE/oAYAWk8fDQr2ZMlZzoaF/O3ITBGA7S+7uO2nyb/ZMHXA S3pG9hCxZll8sMPN/GQqf/b8NuEErLz+RUpX8dY6c5lvyH0xA4ov3HgPxk+tJLZjb3Iz ppvA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=RjB2X17W; 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=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 68-v6si17860261pla.452.2018.04.25.18.23.23; Wed, 25 Apr 2018 18:23:37 -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=@linaro.org header.s=google header.b=RjB2X17W; 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=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752964AbeDZBWL (ORCPT + 99 others); Wed, 25 Apr 2018 21:22:11 -0400 Received: from mail-it0-f68.google.com ([209.85.214.68]:35555 "EHLO mail-it0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752268AbeDZBWJ (ORCPT ); Wed, 25 Apr 2018 21:22:09 -0400 Received: by mail-it0-f68.google.com with SMTP id 186-v6so21739179itu.0 for ; Wed, 25 Apr 2018 18:22:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=b20Tt1YGDgQGpChVbOtcWGwkDQFOIQjdj0rkTZE9ToA=; b=RjB2X17WsDLdqBHynKUR/My/jG+1Z/n/ysjsOgVTGpcGxr6l6SDpqXbmU/SA/SlPrq OZBZwy9ijqurVlLUv4GRjXykYjErEF44r6M0dxko/PGgoiTrq4VqafvVMq2LM9xgx40r CAFWpebx/rkH590UUc6ALZEGzCMbmL99SJS+o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=b20Tt1YGDgQGpChVbOtcWGwkDQFOIQjdj0rkTZE9ToA=; b=gbwNpWmzFYKCmxk31HiQ0iCSKvjM7nmqURPgQQRN8gPMVSw2O10i2aao3A9dqhKzkp 8NwHqTjtyZgr3oxagaBFRf7MvvwQ+uBljF9LG375SRPrfDJTEN4qmiQdvN80DZISVqzS bJvQOonoDpuC8guNtQ9MlsDdERb1BmQtZaVMt+3HWDsfMkY+QR7k7VSCA/8K+wRK89t2 tGq7qCFnKBgBOI+6nL/mTTN4Lt29P9soDK0Sr4va+YN55Wk8eUmmS9FZknr1f7HT5hKD ps/lsY1kjiuDHLo1XwHLuscSOziK0Laq1EjuGiBeIcC8r9fUMrutItUJOFrxthht7G2K YdjQ== X-Gm-Message-State: ALQs6tANshecniRc772jT35Rh7lTD9L0ELXgi10KUB+RpDPU9S0i9Ven eNDYQQQ/hp1BwrEw4PhVywnZAVIDWpY= X-Received: by 2002:a24:8d85:: with SMTP id w127-v6mr22201145itd.22.1524705728262; Wed, 25 Apr 2018 18:22:08 -0700 (PDT) Received: from [172.22.22.26] (c-71-195-29-92.hsd1.mn.comcast.net. [71.195.29.92]) by smtp.googlemail.com with ESMTPSA id l22-v6sm7233918ita.25.2018.04.25.18.22.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 25 Apr 2018 18:22:07 -0700 (PDT) Subject: Re: [PATCH] soc: qcom: smem: introduce qcom_smem_virt_to_phys() To: Bjorn Andersson Cc: andy.gross@linaro.org, clew@codeaurora.org, aneela@codeaurora.org, david.brown@linaro.org, linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, linux-kernel@vger.kernel.org References: <20180425151820.25595-1-elder@linaro.org> <20180425231424.GJ18510@minitux> From: Alex Elder Message-ID: <725190d3-a4bf-3170-d88a-5964c64a9077@linaro.org> Date: Wed, 25 Apr 2018 20:22:06 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <20180425231424.GJ18510@minitux> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/25/2018 06:14 PM, Bjorn Andersson wrote: > On Wed 25 Apr 08:18 PDT 2018, Alex Elder wrote: > >> Create function qcom_smem_virt_to_phys(), which returns the physical >> address corresponding to a given SMEM item's virtual address. This >> feature is required for a driver that will soon be out for review. >> > > It might be wise to turn the aux_base in smem_region into a phys_addr_t > and then mask that with AUX_BASE_MASK before comparing with the entry's > aux_base in qcom_smem_get_global(). But this will work fine until the > day someone places smem above 4GB. I thought of that but went for this for now, because it made for a nice, concise change. I agree with you though. Thanks a lot for the quick review. -Alex > Reviewed-by: Bjorn Andersson > > Regards, > Bjorn > >> Signed-off-by: Alex Elder >> --- >> drivers/soc/qcom/smem.c | 27 +++++++++++++++++++++++++++ >> include/linux/soc/qcom/smem.h | 2 ++ >> 2 files changed, 29 insertions(+) >> >> diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c >> index 7d9a43da5084..70b2ee80d6bd 100644 >> --- a/drivers/soc/qcom/smem.c >> +++ b/drivers/soc/qcom/smem.c >> @@ -655,6 +655,33 @@ int qcom_smem_get_free_space(unsigned host) >> } >> EXPORT_SYMBOL(qcom_smem_get_free_space); >> >> +/** >> + * qcom_smem_virt_to_phys() - return the physical address associated >> + * with an smem item pointer (previously returned by qcom_smem_get() >> + * @p: the virtual address to convert >> + * >> + * Returns 0 if the pointer provided is not within any smem region. >> + */ >> +phys_addr_t qcom_smem_virt_to_phys(void *p) >> +{ >> + unsigned i; >> + >> + for (i = 0; i < __smem->num_regions; i++) { >> + struct smem_region *region = &__smem->regions[i]; >> + >> + if (p < region->virt_base) >> + continue; >> + if (p < region->virt_base + region->size) { >> + u64 offset = p - region->virt_base; >> + >> + return (phys_addr_t)region->aux_base + offset; >> + } >> + } >> + >> + return 0; >> +} >> +EXPORT_SYMBOL(qcom_smem_virt_to_phys); >> + >> static int qcom_smem_get_sbl_version(struct qcom_smem *smem) >> { >> struct smem_header *header; >> diff --git a/include/linux/soc/qcom/smem.h b/include/linux/soc/qcom/smem.h >> index c1657ed27b30..86e1b358688a 100644 >> --- a/include/linux/soc/qcom/smem.h >> +++ b/include/linux/soc/qcom/smem.h >> @@ -9,4 +9,6 @@ void *qcom_smem_get(unsigned host, unsigned item, size_t *size); >> >> int qcom_smem_get_free_space(unsigned host); >> >> +phys_addr_t qcom_smem_virt_to_phys(void *p); >> + >> #endif >> -- >> 2.14.1 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html