Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Jun 2012 02:25:11 +0000 (UTC)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r236533 - in projects/altix2/sys: kern sys
Message-ID:  <201206040225.q542PBna098977@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201206040225.q542PBna098977>