summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/cxgb3i
Commit message (Collapse)AuthorAgeFilesLines
* [SCSI] cxgb3i: fix ddp map overrunkxie@chelsio.com2009-04-271-13/+19
| | | | | | | | | | | (version 2) Fixed a bug in calculating ddp map range when search for free entries: it was going beyond the end by one, thus corrupting gl_skb[0]. Signed-off-by: Karen Xie <kxie@chelsio.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: fix cpu use abuse during writesMike Christie2009-04-272-10/+13
| | | | | | | | | | | | When doing a lot (128) of large writes (256K) we can hit the cxgb3_snd_win check pretty easily. The driver's xmit thread then takes 100% of the cpu. The driver should not be returning -EAGAIN for this problem. It should be returing -ENOBUFS, then when the window is opened again it should queue the xmit thread (it already wakes the xmit thread). Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: fix can_queue and cmd_per_lun initializationMike Christie2009-04-272-3/+3
| | | | | | | | | | | cxgb3i was setting can_queue to only 128 commands, and was setting the can_queue and cmd_per_lun to the same value. This sets the can_queue to 1024 commands, and sets the cmd_per_lun to a safer default of 32. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i, iser, iscsi_tcp: set target can queueMike Christie2009-04-271-0/+1
| | | | | | | | | | | Set target can queue limit to the number of preallocated session tasks we have. This along with the cxgb3i can_queue patch will fix a throughput problem where it could only queue one LU worth of data at a time. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: call ddp release function directlyMike Christie2009-04-031-10/+2
| | | | | | | | | cxgb3i_ddp_cleanup just calls ddp_release directly so there is no reason for the wrapper. This patch just renames ddp_release to cxgb3i_ddp_cleanup and removes the old wrapper function. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: merge cxgb3i_ddp into cxgb3i moduleKaren Xie2009-04-035-57/+21
| | | | | | | | | - Merge cxgb3i_ddp.ko to cxgb3i.ko as there is no other users. - Bump the driver version up to 1.0.2. Signed-off-by: Karen Xie <kxie@chelsio.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: close all tcp connections upon chip resetKaren Xie2009-04-032-41/+71
| | | | | | | | | Keep track of offloaded tcp connections per adapter. Close all of the connections upon reset. Signed-off-by: Karen Xie <kxie@chelsio.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: re-read ddp settings information after chip resetMike Christie2009-04-032-46/+70
| | | | | | | | | Orignally from Karen Xie, but merge conflicts/errors fixed up by Mike Christie. Signed-off-by: Karen Xie <kxie@chelsio.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: re-initialize ddp settings after chip resetKaren Xie2009-04-032-127/+118
| | | | | | | | | Re-initialize the ddp settings after chip reset. It includes re-initialize the related registers and the ddp map. Signed-off-by: Karen Xie <kxie@chelsio.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: subscribe to error notification from cxgb3 driverKaren Xie2009-04-033-10/+52
| | | | | | | | Add error notification handling function which is called during chip reset. Signed-off-by: Karen Xie <kxie@chelsio.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: fix function descriptionsKaren Xie2009-03-135-20/+14
| | | | | | | | Limit function descriptions to be one line. Signed-off-by: Karen Xie <kxie@chelsio.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] iscsi class: remove host no argument from session creation calloutMike Christie2009-03-131-4/+1
| | | | | | | | | | We do not need to have llds set the host no for the session's parent, because we know the session's parent is going to be the host. This removes it from the session creation callback and converts the drivers. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] iscsi lib: remove qdepth param from iscsi host allocationMike Christie2009-03-131-3/+2
| | | | | | | | | | | | | The qdepth setting was useful when we needed libiscsi to verify the setting. Now we just need to make sure if older tools passed in zero then we need to set some default. So this patch just has us use the sht->cmd_per_lun or if for LLD does a host per session then we can set it on per host basis. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] iscsi lib: have lib create work queue for transmitting IOMike Christie2009-03-132-2/+2
| | | | | | | | | | | We were using the shost work queue which ended up being a little akward since all iscsi hosts need a thread for scanning, but only drivers hooked into libiscsi need a workqueue for transmitting. So this patch moves the xmit workqueue to the lib. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: update the driver version to 1.0.1Karen Xie2009-02-211-2/+2
| | | | | Signed-off-by: Karen Xie <kxie@chelsio.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: added missing include in cxgb3i_ddp.hKaren Xie2009-02-211-0/+2
| | | | | | Signed-off-by: Karen Xie <kxie@chelsio.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: Outgoing pdus need to observe skb's MAX_SKB_FRAGSKaren Xie2009-02-216-112/+205
| | | | | | | | | | | | | Need to make sure the outgoing pdu can fit into a single skb. When calulating the max. outgoing pdu payload size, take into consideration of - data can be held in the skb's fragment list, assume 512 bytes per fragment, and - data can be held in the headroom. Signed-off-by: Karen Xie <kxie@chelsio.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: added per-task data to track transmit progressKaren Xie2009-02-212-2/+24
| | | | | | | | | added per-task struct cxgb3i_task_data to track the data transmiting progress and the state of the pdus to be transmitted. Signed-off-by: Karen Xie <kxie@chelsio.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: transmit work-request fixesKaren Xie2009-02-212-53/+121
| | | | | | | | | | | - resize the work-request credit array to be based on skb's MAX_SKB_FRAGS. - split the skb cb into tx and rx portion - increase the default transmit window to 128K. - stop queueing up the outgoing pdus if transmit window is full. Signed-off-by: Karen Xie <kxie@chelsio.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: add missing includeAl Viro2009-01-071-0/+1
| | | | | | | | | it needs scatterlist.h - indirect chain of includes doesn't work on a lot of targets. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Cc: Karen Xie <kxie@chelsio.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: fix select/depend problemJames Bottomley2008-12-301-0/+1
| | | | | | | | | | | | cxgb3i requires the cxgb3 net driver, so it selects it. However, cxgb3 has dependencies which the select cannot see. Fix this by separating out the cxgb3 dependencies into a separate hidden config option (CONFIG_CHELSIO_T3_DEPENDS) and make both cxgb3 and cxgb3i depend on it. Reported-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Karen Xie <kxie@chelsio.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: remove use of skb->spKaren Xie2008-12-302-7/+7
| | | | | | | | | | The cxgb3i was using skb->sp pointer for some internal book-keeping which is not related to the secure path. Changed it to use skb->cb[] instead. Reported-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Karen Xie <kxie@chelsio.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
* [SCSI] cxgb3i: Add cxgb3i iSCSI driver.Karen Xie2008-12-3011-0/+4785
This patch implements the cxgb3i iscsi connection acceleration for the open-iscsi initiator. The cxgb3i driver offers the iscsi PDU based offload: - digest insertion and verification - payload direct-placement into host memory buffer. Signed-off-by: Karen Xie <kxie@chelsio.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
OpenPOWER on IntegriCloud