From owner-freebsd-hackers@freebsd.org Thu Dec 13 10:04:16 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 13D5D1314FA0; Thu, 13 Dec 2018 10:04:16 +0000 (UTC) (envelope-from rajfbsd@gmail.com) Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [IPv6:2a00:1450:4864:20::42b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 626BB80444; Thu, 13 Dec 2018 10:04:15 +0000 (UTC) (envelope-from rajfbsd@gmail.com) Received: by mail-wr1-x42b.google.com with SMTP id z5so1319328wrt.11; Thu, 13 Dec 2018 02:04:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=LxHKRq0TG85/hYg4YVoEoF6YTc33Usep0g1fYHrUsHc=; b=FnSPY8XDJKlzk3RdxrJVRgLwzy0iX8YXHSO27BT/1QMeLcTEgHqeGFUWF5KtKxbnhq A/F7PX/5feakv1kGbbnkJEyEt+tc8rO+fnp+5MYcnZ2cBt27Hka5JPgjPtwdU7kggWTh 4u5dRSzvK7khXj9BL7pC6GMspheEpl7zFFZ2ieXhCk0rX6Yl3X7fBQ9H82fOrw0fI8tV OFqvFi6jTLBdv5lEHR3UczQejkIjoUpeJrdbZUofDA6Kgs0JIbRa+6FbOr0CiCR7d+0Q 57moXO5OXxjth279AGmJozRc5776ZOas1sSw10M6Bp71ubzr+bzuPbsn8B7kivNVrkLg DKBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=LxHKRq0TG85/hYg4YVoEoF6YTc33Usep0g1fYHrUsHc=; b=nmtqULGyCrToSwO1471T8OPJswehlhNmGU6M7qzLU4OHdvBSeZJkw1Ui8KPxHNmpY6 AqKb8mcr2xyrqlIwHJzhB/bF5RJVGJYHQ1iEKj/PHiSeOeEJbGj9dbTwTP6OU4rHXwQ5 HxX55v6xl8ouhFEYLU0HPSOMh3AWn5gnGjE8CmdZVl/JPgFINT7fXINQNWgYsirp7d8g kKcD6cGQ4BNEh3NvXNUc6R2yRld8g+K7bHTQlIMedg1rx0XbwLEVn6irUGQaavslouud qForGnZDBpgzJnYb8UqWYWAWvSZTQq+EzMlPLayBuYTC/G0PmOCPmFnXJmIe2MtZyoOU GklA== X-Gm-Message-State: AA+aEWZe0IXoD4bH8kTRATzCdStbPeR+9ep1F/NeRwEUHRNtjEHKAHpC mf6SH+RtOCnGf05HrwQIgOuYp/pjC3DydEWC5ldnaA== X-Google-Smtp-Source: AFSGD/UO6W0P9fuPYyf4jjJMVgUOKp55RCoK4VjxKvbA+mbcvWkUxVhdnqBAmI5VJ/v+++mrybzHRa/JFwHE6O9vGIA= X-Received: by 2002:adf:fd03:: with SMTP id e3mr19654008wrr.280.1544695453984; Thu, 13 Dec 2018 02:04:13 -0800 (PST) MIME-Version: 1.0 From: Rajesh Kumar Date: Thu, 13 Dec 2018 15:34:02 +0530 Message-ID: Subject: How to use the DMA Engine in FreeBSD? To: freebsd-drivers@freebsd.org, freebsd-hackers@freebsd.org X-Rspamd-Queue-Id: 626BB80444 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=FnSPY8XD; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of rajfbsd@gmail.com designates 2a00:1450:4864:20::42b as permitted sender) smtp.mailfrom=rajfbsd@gmail.com X-Spamd-Result: default: False [-2.41 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.97)[-0.972,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; TO_DN_NONE(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCVD_IN_DNSWL_NONE(0.00)[b.2.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.85)[-0.847,0]; RCPT_COUNT_TWO(0.00)[2]; IP_SCORE(-0.58)[ipnet: 2a00:1450::/32(-1.49), asn: 15169(-1.30), country: US(-0.09)]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; FROM_EQ_ENVFROM(0.00)[]; SUBJECT_ENDS_QUESTION(1.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; MIME_TRACE(0.00)[0:+,1:+]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Dec 2018 10:04:16 -0000 Hi, Is there any good documentation available to understand the existing support, API's and how-to use the DMA Engine in FreeBSD? I am trying to write a test driver which will use DMA Engine to do the data transfer (rather than plain memcpy which involves cpu). Can anyone point to any driver implementation which has similar functions implemented? I see references to SYS_RES_DRQ to allocate DMA channels and play around. But that seems to be specific to ISA. Can it be used for PCI drivers as well? Thanks, Rajesh.