Lines Matching refs:shost

210  * @shost:	SCSI host whose pool to allocate from
217 scsi_host_alloc_command(struct Scsi_Host *shost, gfp_t gfp_mask)
221 cmd = scsi_pool_alloc_command(shost->cmd_pool, gfp_mask);
225 if (scsi_host_get_prot(shost) >= SHOST_DIX_TYPE0_PROTECTION) {
229 scsi_pool_free_command(shost->cmd_pool, cmd);
239 * @shost: host to transmit command
245 struct scsi_cmnd *__scsi_get_command(struct Scsi_Host *shost, gfp_t gfp_mask)
247 struct scsi_cmnd *cmd = scsi_host_alloc_command(shost, gfp_mask);
252 spin_lock_irqsave(&shost->free_list_lock, flags);
253 if (likely(!list_empty(&shost->free_list))) {
254 cmd = list_entry(shost->free_list.next,
258 spin_unlock_irqrestore(&shost->free_list_lock, flags);
312 * @shost: dev->host
316 void __scsi_put_command(struct Scsi_Host *shost, struct scsi_cmnd *cmd,
322 spin_lock_irqsave(&shost->free_list_lock, flags);
323 if (unlikely(list_empty(&shost->free_list))) {
324 list_add(&cmd->list, &shost->free_list);
327 spin_unlock_irqrestore(&shost->free_list_lock, flags);
330 scsi_pool_free_command(shost->cmd_pool, cmd);
471 * @shost: host to allocate the freelist for.
479 int scsi_setup_command_freelist(struct Scsi_Host *shost)
482 const gfp_t gfp_mask = shost->unchecked_isa_dma ? GFP_DMA : GFP_KERNEL;
484 spin_lock_init(&shost->free_list_lock);
485 INIT_LIST_HEAD(&shost->free_list);
487 shost->cmd_pool = scsi_get_host_cmd_pool(gfp_mask);
489 if (!shost->cmd_pool)
495 cmd = scsi_host_alloc_command(shost, gfp_mask);
498 shost->cmd_pool = NULL;
501 list_add(&cmd->list, &shost->free_list);
507 * @shost: host whose freelist is going to be destroyed
509 void scsi_destroy_command_freelist(struct Scsi_Host *shost)
515 if (!shost->cmd_pool)
518 while (!list_empty(&shost->free_list)) {
521 cmd = list_entry(shost->free_list.next, struct scsi_cmnd, list);
523 scsi_pool_free_command(shost->cmd_pool, cmd);
525 shost->cmd_pool = NULL;
526 scsi_put_host_cmd_pool(shost->unchecked_isa_dma ? GFP_DMA : GFP_KERNEL);
797 struct Scsi_Host *shost = sdev->host;
811 shost->host_blocked = 0;
1104 struct scsi_device *__scsi_iterate_devices(struct Scsi_Host *shost,
1107 struct list_head *list = (prev ? &prev->siblings : &shost->__devices);
1111 spin_lock_irqsave(shost->host_lock, flags);
1112 while (list->next != &shost->__devices) {
1120 spin_unlock_irqrestore(shost->host_lock, flags);
1141 struct Scsi_Host *shost = dev_to_shost(starget->dev.parent);
1144 shost_for_each_device(sdev, shost) {
1160 * protected by shost->host_lock.
1169 struct Scsi_Host *shost = dev_to_shost(starget->dev.parent);
1172 __shost_for_each_device(sdev, shost) {
1224 struct Scsi_Host *shost = dev_to_shost(starget->dev.parent);
1227 spin_lock_irqsave(shost->host_lock, flags);
1231 spin_unlock_irqrestore(shost->host_lock, flags);
1239 * @shost: SCSI host pointer
1253 struct scsi_device *__scsi_device_lookup(struct Scsi_Host *shost,
1258 list_for_each_entry(sdev, &shost->__devices, siblings) {
1270 * @shost: SCSI host pointer
1279 struct scsi_device *scsi_device_lookup(struct Scsi_Host *shost,
1285 spin_lock_irqsave(shost->host_lock, flags);
1286 sdev = __scsi_device_lookup(shost, channel, id, lun);
1289 spin_unlock_irqrestore(shost->host_lock, flags);