[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ros-kernel
Subject:    Re: [ros-kernel] BusLogic 958 SCSI miniport
From:       Filip Navara <xnavara () volny ! cz>
Date:       2004-03-26 19:19:41
Message-ID: 4064824D.3010205 () volny ! cz
[Download RAW message or body]

Hi Hartmut!

Hartmut Birr wrote:

>Hi,    
>
>I've looked a little bit more to scsiport.c. Currently, scsiport can
>only process one srb/irp at the same time. There exist some fields
>within the device extension which used for each irp (CurrentIrp,
>OriginalSrb, InternalSrb, InternalSenseData). But this fields must be
>unique for each irp/srb. I think we should at this fields and some new
>fields (a back pointer to the device extension, a list entry for the
>srb/irp queue...) to the srb extension (after or previous the real srb
>extension).
>
[I'm not much sure that SrbExtension is the best place, because it must 
be allocated using HalAllocateCommonBuffer, but there aren't much other 
possibilities. :-(]

> There should be allocated a separate extension for each srb,
>like your mail step b). Some functions are currently called with the
>device extension as context. The context of this function must be
>changed to the srb.
>
Sounds good.

>The complete notification routine adds the srb to
>the complete queue and the DpcForIsr function complete all irp/srb from
>this queue or starts some more processing.
>
This is one way it can be done. The native version seems to use an 
in-progress queue that contains all srbs currently processed by the 
miniport driver, this approach makes implementing of 
ScsiPortCompleteRequest a lot easier.

> I can start the
>implementation at the week end, but I can only test with atapi.
>  
>
Great, thanks much. I'll help in testing as much as I can.

Regards,
Filip


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic