From owner-freebsd-scsi Mon Mar 22 11: 9:22 1999 Delivered-To: freebsd-scsi@freebsd.org Received: from sasami.jurai.net (sasami.jurai.net [207.153.65.3]) by hub.freebsd.org (Postfix) with ESMTP id EE8FA15074 for ; Mon, 22 Mar 1999 11:09:16 -0800 (PST) (envelope-from winter@jurai.net) Received: from localhost (winter@localhost) by sasami.jurai.net (8.8.8/8.8.7) with SMTP id OAA10259; Mon, 22 Mar 1999 14:08:52 -0500 (EST) Date: Mon, 22 Mar 1999 14:08:52 -0500 (EST) From: "Matthew N. Dodd" To: "Justin T. Gibbs" Cc: "Kenneth D. Merry" , scsi@FreeBSD.ORG Subject: Re: CAM entry point for SCSI-to-Ethernet device. In-Reply-To: <199903221816.LAA32198@pluto.plutotech.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-scsi@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Mon, 22 Mar 1999, Justin T. Gibbs wrote: > >That really depends on how much work I want to do at splnet() vs. > >splbio(). > > You won't be doing any work at splbio(). You should register your > device as a 'network device' with CAM and use splnet() at all times. Ah. Sounds like a plan. I wondered what sort of silliness I would run into trying to run different parts of the driver at different priority levels. > I had ethernet devices in mind when I setup the interrupt framework > for CAM. You're sick man. :) > >My thought was to de-queue and process the mbufs and return them to the > >system since I'll be able to allocate a buffer of the correct size for > >each packet. Its unfortunate that I can't get CAM to do a scatter/gather > >type thing and pass it a descriptor list that describes the location and > >length of each mbuf data element. > > But you can. Give me a little time, and I'll finish the support for this > in the bus dma framework and hook it up in the controller drivers. You > will need to set the CAM_SCATTER_VALID flag in the ccb-ccb_h.flags and > not set the CAM_SG_LIST_PHYS flag. S/G lists with physical addresses > (really bus addresses) are already supported by all controllers. Where might I see examples of this in action, or better yet, docs describing its use? This ability will greatly reduce the overhead of transmitting a packet. (Not that this device doesn't suck in other ways.) -- | Matthew N. Dodd | 78 280Z | 75 164E | 84 245DL | FreeBSD/NetBSD/Sprite/VMS | | winter@jurai.net | This Space For Rent | ix86,sparc,m68k,pmax,vax | | http://www.jurai.net/~winter | Are you k-rad elite enough for my webpage? | To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message