02.03.2014 Views

BSP Developer's Guide

BSP Developer's Guide

BSP Developer's Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

I<br />

Writing a SCSI-2 Device Driver<br />

*/<br />

LOCAL STATUS xxxXferParamsQuery<br />

(<br />

SCSI_CTRL *pScsiCtrl, /* ptr to SBIC info */<br />

UINT8 *pOffset, /* max REQ/ACK offset [in/out] */<br />

UINT8 *pPeriod /* min transfer period [in/out] */<br />

)<br />

{<br />

/* read offset and period values */<br />

return (OK);<br />

}<br />

/***************************************************************************<br />

*<br />

* xxxXferParamsSet - set transfer parameters<br />

*<br />

* Programs the SCSI controller to use the specified transfer parameters. An<br />

* offset of zero specifies asynchronous transfer (period is then irrelevant).<br />

*<br />

* RETURNS: OK if transfer parameters are OK, else ERROR.<br />

*/<br />

LOCAL STATUS xxxXferParamsSet<br />

(<br />

SCSI_CTRL *pScsiCtrl, /* ptr to SBIC info */<br />

UINT8 offset, /* max REQ/ACK offset */<br />

UINT8 period /* min transfer period */<br />

)<br />

{<br />

/* set the appropriate SCSI controller registers */<br />

return (OK);<br />

}<br />

/***************************************************************************<br />

*<br />

* xxxInfoXfer - transfer information bytes to/from target via SCSI bus<br />

*<br />

* Executes a "Transfer Info" command to read (write) bytes from (to) the<br />

* SCSI bus. If the transfer phase is DATA IN or DATA OUT and there is a<br />

* DMA routine available, DMA is used - otherwise it's a tight programmed<br />

* i/o loop.<br />

*<br />

* RETURNS: Number of bytes transferred across SCSI bus, or ERROR.<br />

*/<br />

I<br />

LOCAL int xxxInfoXfer<br />

(<br />

FAST SCSI_CTRL *pScsiCtrl, /* ptr to SCSI controller info */<br />

int phase, /* SCSI phase being transferred */<br />

FAST UINT8 *pBuf, /* ptr to byte buffer for i/o */<br />

UINT bufLength /* number of bytes to be transferred */<br />

)<br />

{<br />

331

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!