From patchwork Sun Jun 1 07:01:16 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eli Billauer X-Patchwork-Id: 4277321 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: patchwork-linux-pci@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id C97289F1D6 for ; Sun, 1 Jun 2014 07:02:46 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id C688D203AB for ; Sun, 1 Jun 2014 07:02:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 086062021F for ; Sun, 1 Jun 2014 07:02:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751808AbaFAHCL (ORCPT ); Sun, 1 Jun 2014 03:02:11 -0400 Received: from si-002-i32.relay.mailchannels.net ([184.154.112.197]:29417 "EHLO relay.mailchannels.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751351AbaFAHCJ (ORCPT ); Sun, 1 Jun 2014 03:02:09 -0400 X-Sender-Id: totalchoicehosting|x-authuser|billaue Received: from leviathan.tchmachines.com (unknown [10.227.128.69]) by relay.mailchannels.net (Postfix) with ESMTPA id E172760D41; Sun, 1 Jun 2014 07:02:02 +0000 (UTC) X-Sender-Id: totalchoicehosting|x-authuser|billaue Received: from leviathan.tchmachines.com (leviathan.tchmachines.com [10.248.1.153]) (using TLSv1 with cipher DHE-RSA-AES256-SHA) by 0.0.0.0:2500 (trex/5.2.3); Sun, 01 Jun 2014 07:02:04 GMT X-MC-Relay: Neutral X-MailChannels-SenderId: totalchoicehosting%7Cx-authuser%7Cbillaue X-MailChannels-Auth-Id: totalchoicehosting Received: from 46-116-156-250.bb.netvision.net.il ([46.116.156.250]:56148 helo=ocho.localdomain) by leviathan.tchmachines.com with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.82) (envelope-from ) id 1WqzmJ-0007ie-R5; Sun, 01 Jun 2014 03:02:00 -0400 Received: from ocho.localdomain (localhost.localdomain [127.0.0.1]) by ocho.localdomain (8.14.4/8.14.4) with ESMTP id s5171vqQ001805; Sun, 1 Jun 2014 10:01:57 +0300 Received: (from eli@localhost) by ocho.localdomain (8.14.4/8.14.4/Submit) id s5171vbK001804; Sun, 1 Jun 2014 10:01:57 +0300 From: Eli Billauer To: tj@kernel.org Cc: devel@driverdev.osuosl.org, gregkh@linuxfoundation.org, bhelgaas@google.com, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, shuah.kh@samsung.com, iommu@lists.linux-foundation.org, discuss@x86-64.org, Eli Billauer Subject: [PATCH v2 3/4] dma-mapping: pci: Add devm_ interface for pci_map_single Date: Sun, 1 Jun 2014 10:01:16 +0300 Message-Id: <1401606077-1739-4-git-send-email-eli.billauer@gmail.com> X-Mailer: git-send-email 1.7.2.3 In-Reply-To: <1401606077-1739-1-git-send-email-eli.billauer@gmail.com> References: <1401606077-1739-1-git-send-email-eli.billauer@gmail.com> X-AuthUser: billaue Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Eli Billauer --- Documentation/driver-model/devres.txt | 2 ++ include/asm-generic/pci-dma-compat.h | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 0 deletions(-) diff --git a/Documentation/driver-model/devres.txt b/Documentation/driver-model/devres.txt index 2112a00..fea2c69 100644 --- a/Documentation/driver-model/devres.txt +++ b/Documentation/driver-model/devres.txt @@ -274,6 +274,8 @@ DMA PCI pcim_enable_device() : after success, all PCI ops become managed pcim_pin_device() : keep PCI device enabled after release + pcim_map_single() + pcim_unmap_single() IOMAP devm_ioport_map() diff --git a/include/asm-generic/pci-dma-compat.h b/include/asm-generic/pci-dma-compat.h index 1437b7d..796a892 100644 --- a/include/asm-generic/pci-dma-compat.h +++ b/include/asm-generic/pci-dma-compat.h @@ -113,4 +113,22 @@ static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) } #endif +/* + * Managed DMA API + */ + +static inline int +pcim_map_single(struct pci_dev *hwdev, void *ptr, size_t size, int direction, + dma_addr_t *ret_dma_handle) +{ + return dmam_map_single(hwdev == NULL ? NULL : &hwdev->dev, ptr, size, (enum dma_data_direction)direction, ret_dma_handle); +} + +static inline void +pcim_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr, + size_t size, int direction) +{ + dmam_unmap_single(hwdev == NULL ? NULL : &hwdev->dev, dma_addr, size, (enum dma_data_direction)direction); +} + #endif