Received: by 10.213.65.68 with SMTP id h4csp449790imn; Sun, 25 Mar 2018 04:01:18 -0700 (PDT) X-Google-Smtp-Source: AG47ELuWdudmEiMnmIkOQlWrANPTd6fUtUJkdA8axmiclIYyN7TV9jKKsUI6mqD5k1io2v85QU3Y X-Received: by 10.101.82.198 with SMTP id z6mr25427946pgp.41.1521975678891; Sun, 25 Mar 2018 04:01:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521975678; cv=none; d=google.com; s=arc-20160816; b=xPX8jQTTKwdzuVUD6/BnavjPG3JlTLtRkSEQeZ2Z4JZRUIpIcJXM41T1M7mgQklo/r vGjdTmkqEOYeFi8jcyD6hEoUZ2K7JdVm4CdgH7exNTjHciNpcQX3cBs4+29eW6cOSwNC mwyhvQr9snzFFcOy7+kjqh7Q49piuzpnHiXJiT92tZE9qcDyH6xTLN466tZeLAd00USj pUVRHIEKgQ43ts6RlYEnFgDkeLZBpt+WqQ8URJ1vTlAgMH960pzHc0g79+pGx6rPLMoH /cDcFgS8kgMX0Nmdy96WR0EZw7fNu9I7kgi1djhYAZK1B1p6aKYROXpvK9fXwr/dmxmT ZPbA== 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:mime-version :message-id:date:subject:to:from:dkim-signature :arc-authentication-results; bh=/8rXrlmJIvmA7Mvmam60QlNM9ZrXQbrB/RkPqcAoqoM=; b=YSBGjyGaGWq/dMLuwqbKgLqKZA4r1dPAuQ8NWnL/qjzMIKOqydOB6Fc0saw0XuQsDo jxAb6ZAzp/SOiShpytBclrOMJHxt819qpZdLjj5dn0p2YyA8FRvVl2jf7ChoKRZbe+sA D1Dx8vC9MVrPJTng+tKsaBhHO7TY2fxnkpHZYyTrDOcD+9/JZpMplXNgz6Y2M1L0hEPC E+uttrTtr7HiN2y/Fw19LEE+x623ss/tdo8baHC5C9m0bqrVn6MtbmdISaG2IqT0MDxZ 5pfrA6d7cl2xn9G7wBoq+lneBTJQUS+IzrFWo1dbqy7/fYtw4tayLls3ghpDRAw2h8pO Vuzw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=EaXSwtlS; 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 b1-v6si10651995plc.95.2018.03.25.04.01.03; Sun, 25 Mar 2018 04:01:18 -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=EaXSwtlS; 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 S1752416AbeCYLAF (ORCPT + 99 others); Sun, 25 Mar 2018 07:00:05 -0400 Received: from mail-wm0-f65.google.com ([74.125.82.65]:53284 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751873AbeCYLAD (ORCPT ); Sun, 25 Mar 2018 07:00:03 -0400 Received: by mail-wm0-f65.google.com with SMTP id e194so10486908wmd.3; Sun, 25 Mar 2018 04:00:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=/8rXrlmJIvmA7Mvmam60QlNM9ZrXQbrB/RkPqcAoqoM=; b=EaXSwtlS369PAWaSmZY0cblZVO5tFWZ8UmvK5iqse2Zem/S6dlV4jmYAT76x6FoCYb XAEKHfuidRrvFr4K7L5T/MMn9dEBD7qTbr0f7TRyrqrcvgMkpqf1scI1y6mIf99H0Ejh a84ChPgrt+vDUlIZrjBcvRTN2dhggu6sSjv8vgyGbCGhmkYz8ibTjeepM4OpxPnRUyOE PPn9OSVembU547cPuLNpZOFFo+TXnBiCuFB+xlM61RP76RkfNnETOiYtR8VAMaTbZAG0 3jsseFDKe+OYpkCOyhoGMpSM5gxEFxWm/a5hFzwO2QJT7Ai88PM7Jzh7vtymqzIyqVVn 31kA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=/8rXrlmJIvmA7Mvmam60QlNM9ZrXQbrB/RkPqcAoqoM=; b=ejKmnLfoJjdj0id9SjA4fkPsXlGOe1HGvPTJwKwXqMAuNV3EQClDzPZC8M0aoNjKGN 3uGAWOsx8k4J48SgLL1ZAqzOb+DLatmdvhAgPA7TKbsjkCfoDQ0EmsbuRTCRraV5sv9D KKj8YtuWRSBL7xN2Z44qWfK/dMoF9HyDHUDbcwWi2m1fQ8HTqO2BC6CttID8vo+zUq/a /GppGLqe7f+p2GlUhBsT2N/UHwaIDH+HGnTE65P5HZeNjKUI1rSCFeLZnQbUU0Lw3uRy 6J1dcLbZZOauUAYejPKRVnBQTqPJC3KTZuRbVHY+Z5J+tIjkcjZI01K/ULaKKNFiInOw ZZVw== X-Gm-Message-State: AElRT7EHeqnX+tKXBrrye0yuo9TRuijvaFEj4fRgO6Et2VUOPRFhRSUf FjHaV+NgBna7bwpgVp97mAQyPg== X-Received: by 10.28.195.67 with SMTP id t64mr9799599wmf.113.1521975602301; Sun, 25 Mar 2018 04:00:02 -0700 (PDT) Received: from baker.fritz.box ([2a02:908:1257:4460:80f2:8bcd:4355:2edc]) by smtp.gmail.com with ESMTPSA id z3sm20492230wme.3.2018.03.25.04.00.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 25 Mar 2018 04:00:01 -0700 (PDT) From: "=?UTF-8?q?Christian=20K=C3=B6nig?=" X-Google-Original-From: =?UTF-8?q?Christian=20K=C3=B6nig?= To: linaro-mm-sig@lists.linaro.org, linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/8] lib/scatterlist: add sg_set_dma_addr() helper Date: Sun, 25 Mar 2018 12:59:53 +0200 Message-Id: <20180325110000.2238-1-christian.koenig@amd.com> X-Mailer: git-send-email 2.14.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Use this function to set an sg entry to point to device resources mapped using dma_map_resource(). The page pointer is set to NULL and only the DMA address, length and offset values are valid. Signed-off-by: Christian König --- include/linux/scatterlist.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h index 22b2131bcdcd..f944ee4e482c 100644 --- a/include/linux/scatterlist.h +++ b/include/linux/scatterlist.h @@ -149,6 +149,29 @@ static inline void sg_set_buf(struct scatterlist *sg, const void *buf, sg_set_page(sg, virt_to_page(buf), buflen, offset_in_page(buf)); } +/** + * sg_set_dma_addr - Set sg entry to point at specified dma address + * @sg: SG entry + * @address: DMA address to set + * @len: Length of data + * @offset: Offset into page + * + * Description: + * Use this function to set an sg entry to point to device resources mapped + * using dma_map_resource(). The page pointer is set to NULL and only the DMA + * address, length and offset values are valid. + * + **/ +static inline void sg_set_dma_addr(struct scatterlist *sg, dma_addr_t address, + unsigned int len, unsigned int offset) +{ + sg_set_page(sg, NULL, len, offset); + sg->dma_address = address; +#ifdef CONFIG_NEED_SG_DMA_LENGTH + sg->dma_length = len; +#endif +} + /* * Loop over each sg element, following the pointer to a new list if necessary */ -- 2.14.1