Hi there,

Here are some questions about SCSI HBA driver. Hopefully some experts can
answer that since

I've got stuck for a week without any progress

 

This SCSI HBA driver is for IOP based HBA. The driver will just pass SCSI
command to

IOP and then get status back from interrupt when it is done. During
debugging I found

Several issues

(1) Will DDI_ATTACH get timeout? I found DDI_ATTACH keep coming when my
current DDI_ATTACH

    is still running initialization. How to prevent that? And if I have
multiple HBAs at the

    same time, what will be the behavior?

(2) During ddi_tran_tgt_init(), I saw a sequence of calling target_id=0 ..
15 then again 

    Target_id=0 ..15, then target_id=0..7 then target_id=0..7. Is it
correct?

(3) Since our IOP will handle all commands physically, the HBA just programs
DMA handle for

    every command. In ddi_tran_init_pkt(), HBA does
ddi_dma_alloc_handle(),and  

    ddi_dma_buf_bind_handle() to get DMA physical address, dma size. Hence
in ddi_tran_start(),

    will fill in this dma_cookie pointer content to mailbox. Do I process it
correctly?

    Later the command is done and return "good" status on SCSI Identify
command. But I keep

    seeing kernel send SCSI identify for this target again. This confuses me
and it seems the

    kernel is not receiving the data.

 

Can any expert help?

 

Thanks    

 

Steve Chang

HighPoint Technologies, Inc.

408-240-6115

 

_______________________________________________
driver-discuss mailing list
driver-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to