From owner-svn-src-projects@FreeBSD.ORG Mon Jun 4 02:25:12 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 64F94106566C; Mon, 4 Jun 2012 02:25:12 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3693D8FC17; Mon, 4 Jun 2012 02:25:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q542PCGk098980; Mon, 4 Jun 2012 02:25:12 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q542PBna098977; Mon, 4 Jun 2012 02:25:11 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201206040225.q542PBna098977@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 4 Jun 2012 02:25:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r236533 - in projects/altix2/sys: kern sys X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Jun 2012 02:25:12 -0000 Author: marcel Date: Mon Jun 4 02:25:11 2012 New Revision: 236533 URL: http://svn.freebsd.org/changeset/base/236533 Log: o Add busdma_md_load_phys for supporting CAM's physical addressing. o Fix prototypes for _load_mbuf & _load_uio. o Dummy-implement _load_phys & _load_uio, like _load_linear. Modified: projects/altix2/sys/kern/subr_busdma.c projects/altix2/sys/sys/busdma.h Modified: projects/altix2/sys/kern/subr_busdma.c ============================================================================== --- projects/altix2/sys/kern/subr_busdma.c Sun Jun 3 23:48:04 2012 (r236532) +++ projects/altix2/sys/kern/subr_busdma.c Mon Jun 4 02:25:11 2012 (r236533) @@ -341,8 +341,29 @@ busdma_md_load_linear(struct busdma_md * busdma_callback_f cb, void *arg, u_int flags) { - printf("XXX: %s: md=%p, buf=%p, len=%lx\n", __func__, - md, buf, (u_long)len); + printf("XXX: %s: md=%p, buf=%p, len=%lx\n", __func__, md, + buf, (u_long)len); + (*cb)(arg, md, ENOSYS); + return (0); +} + +int +busdma_md_load_phys(struct busdma_md *md, vm_paddr_t buf, size_t len, + busdma_callback_f cb, void *arg, u_int flags) +{ + + printf("XXX: %s: md=%p, buf=%#jx, len=%lx\n", __func__, md, + (uintmax_t)buf, (u_long)len); + (*cb)(arg, md, ENOSYS); + return (0); +} + +int +busdma_md_load_uio(struct busdma_md *md, struct uio *uio, + busdma_callback_f cb, void *arg, u_int flags) +{ + + printf("XXX: %s: md=%p, uio=%p\n", __func__, md, uio); (*cb)(arg, md, ENOSYS); return (0); } Modified: projects/altix2/sys/sys/busdma.h ============================================================================== --- projects/altix2/sys/sys/busdma.h Sun Jun 3 23:48:04 2012 (r236532) +++ projects/altix2/sys/sys/busdma.h Mon Jun 4 02:25:11 2012 (r236533) @@ -93,14 +93,21 @@ int busdma_tag_destroy(busdma_tag_t tag) /* * */ +struct mbuf; +struct uio; + typedef void (*busdma_callback_f)(void *, busdma_md_t, int); int busdma_md_create(busdma_tag_t tag, u_int flags, busdma_md_t *md_p); int busdma_md_destroy(busdma_md_t md); int busdma_md_load_linear(busdma_md_t md, void *buf, size_t size, busdma_callback_f cb, void *arg, u_int flags); -int busdma_md_load_mbuf(busdma_md_t md, void *buf, size_t size); -int busdma_md_load_uio(busdma_md_t md, void *buf, size_t size); +int busdma_md_load_mbuf(busdma_md_t md, struct mbuf *mbuf, + busdma_callback_f cb, void *arg, u_int flags); +int busdma_md_load_phys(busdma_md_t md, vm_paddr_t buf, size_t size, + busdma_callback_f cb, void *arg, u_int flags); +int busdma_md_load_uio(busdma_md_t md, struct uio *uio, + busdma_callback_f cb, void *arg, u_int flags); int busdma_md_unload(busdma_md_t md); u_int busdma_md_get_nsegs(busdma_md_t md); bus_addr_t busdma_md_get_busaddr(busdma_md_t md, u_int idx);