Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Nov 2002 22:16:06 -0700
From:      "Kenneth D. Merry" <ken@kdm.org>
To:        "Long, Scott" <Scott_Long@adaptec.com>
Cc:        "'Chuck Tuffli'" <chuck_tuffli@agilent.com>, freebsd-scsi@FreeBSD.ORG
Subject:   Re: SIM as loadable module?
Message-ID:  <20021118221606.A36763@panzer.kdm.org>
In-Reply-To: <6100BCEB85F8E244959C756C04E0EDD161CB7F@otcexc01.otc.adaptec.com>; from Scott_Long@adaptec.com on Mon, Nov 18, 2002 at 11:47:13PM -0500
References:  <6100BCEB85F8E244959C756C04E0EDD161CB7F@otcexc01.otc.adaptec.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Nov 18, 2002 at 23:47:13 -0500, Long, Scott wrote:
> > On Mon, Nov 18, 2002 at 01:31:14AM -0500, Long, Scott wrote:
> > > 
> > > What are you setting ccb->ccb_h.status to?  Can you share 
> > the body of 
> > > your action method, or at least the XPT_PATH_INQ portions?
> > 
> >     case XPT_PATH_INQ:
> >     {
> >         /* get properties of the SIM driver and HBA */
> >         struct ccb_pathinq    *cpi = &ccb->cpi;
> >         hpFCPortInfo_t    fpi;
> >         
> >         cpi->version_num = 1;    /* all drivers use version 1 */
> >         cpi->target_sprt = 0;    /* initiator only */
> >         cpi->hba_eng_cnt = 0;
> >         cpi->bus_id = bus;
> >         cpi->max_target = TACH_MAX_DISKS - 1;
> >         cpi->max_lun = TACH_MAX_LUN - 1;
> >         cpi->hba_misc = PIM_NOBUSRESET;
> >         cpi->hba_inquiry = PI_TAG_ABLE;
> > 
> >         cpi->initiator_id = cpi->max_target + 1;
> >         
> >         fcPortGetInfo(&(ini->tach->root), &fpi);
> >         if (fpi.PortSpeed == 0) {
> >             cpi->base_transfer_speed = 100000;
> >         } else {
> >             cpi->base_transfer_speed = 200000;
> >         }
> >         strncpy(cpi->sim_vid, "FreeBSD", SIM_IDLEN);
> >         strncpy(cpi->hba_vid, "Agilent", HBA_IDLEN);
> >         strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN);
> >         cpi->unit_number = unit;
> >         cpi->ccb_h.status = CAM_REQ_CMP;
> >         xpt_done(ccb);
> >         break;
> >     }
> > 
> 
> Nothing in here is jumping out at me as being wrong, sssuming that
> ccb->ccb_h.status isn't being changed before you return.  Try
> emailing Ken Merry (ken@freebsd.org) directly to see what he thinks.

One question is whether the card gets probed when you statically compile
the driver into the kernel.

Another is, what happens when you rescan that bus?  (camcontrol devlist -v
should show which SCSI bus is allocated to your driver.)

A path inquiry gets sent out when you register the bus
(xpt_bus_register()), so that's probably what you're seeing.

> I'm impressed that Agilent is doing a FreeBSD driver for the Tachyon.
> Will it be fully open source or half open/half closed?  Also, will it
> do fabrics or just AL?

Yep, it'll be nice to have a Tachyon driver.

Ken
-- 
Kenneth Merry
ken@kdm.org

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message




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