On Mon, 2007-04-02 at 11:49 +0900, FUJITA Tomonori wrote: > I started to work on SMP pass through via bsg as a non-SCSI command > experimentation. I asked Doug to try the patch but it seems to take > some time to make Doug's hardware work with the mainline aic94xxx > driver. If you post the code, others who also have the hardware can try it too ... > How should a user-space tool (like Doug's smp_utils) send a request > and get the response via bsg? Basic frame in/frame out ... this is why we need the block layer bidirectional support > -- each SAS object (host, device, expander, etc) has the own bsg > device I think so; probably attached via the transport class. > A user-space tool opens a bsg device for a sas object that it wants to > send a request to. > > -- one bsg device handles multiple SAS objects > > Some options: one bsg device in the whole system; one bsg device per > SAS driver; one bsg device per SAS host; etc. > > With this approach, we need to invent a header incluing routing > information. > > My hacky patch creates one bsg device per SAS host and invents: > > struct smp_passthrough_hdr { > __u64 sas_address; > __u8 phy_identifier; > }; I'd really rather not go this route unless the one device per object approach becomes untenable. > a user-space tool sends this header instead of scb via bsg and put a > SMP request at dout_xfer and a buffer response at din_xfer (note that > now I do bidi transfer in a hacky way). > > > - SAS implementation details > > As I said, the patch is too hacky. I just tried to implement a > smp_portal alternative by using bsg. > > The patch adds a hook into sas transport class. sas_host_setup calls > bsg_register_queue. Then, the request_fn calls smp_execute_task to > send a smp request and get the response. It doesn't look good to link > the sas transport class with libsas. In addition, the mpt driver > handles smp request/response in a very different way. > > Any suggestion to bind SMP pass through via bsg to aic94xx and mpt > cleanly? bind in the transport class, not the driver ... James - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html