Lines Matching refs:shost
223 scsi_host_alloc_command(struct Scsi_Host *shost, gfp_t gfp_mask) in scsi_host_alloc_command() argument
227 cmd = scsi_pool_alloc_command(shost->cmd_pool, gfp_mask); in scsi_host_alloc_command()
231 if (scsi_host_get_prot(shost) >= SHOST_DIX_TYPE0_PROTECTION) { in scsi_host_alloc_command()
235 scsi_pool_free_command(shost->cmd_pool, cmd); in scsi_host_alloc_command()
251 struct scsi_cmnd *__scsi_get_command(struct Scsi_Host *shost, gfp_t gfp_mask) in __scsi_get_command() argument
253 struct scsi_cmnd *cmd = scsi_host_alloc_command(shost, gfp_mask); in __scsi_get_command()
258 spin_lock_irqsave(&shost->free_list_lock, flags); in __scsi_get_command()
259 if (likely(!list_empty(&shost->free_list))) { in __scsi_get_command()
260 cmd = list_entry(shost->free_list.next, in __scsi_get_command()
264 spin_unlock_irqrestore(&shost->free_list_lock, flags); in __scsi_get_command()
322 void __scsi_put_command(struct Scsi_Host *shost, struct scsi_cmnd *cmd, in __scsi_put_command() argument
328 spin_lock_irqsave(&shost->free_list_lock, flags); in __scsi_put_command()
329 if (unlikely(list_empty(&shost->free_list))) { in __scsi_put_command()
330 list_add(&cmd->list, &shost->free_list); in __scsi_put_command()
333 spin_unlock_irqrestore(&shost->free_list_lock, flags); in __scsi_put_command()
336 scsi_pool_free_command(shost->cmd_pool, cmd); in __scsi_put_command()
485 int scsi_setup_command_freelist(struct Scsi_Host *shost) in scsi_setup_command_freelist() argument
488 const gfp_t gfp_mask = shost->unchecked_isa_dma ? GFP_DMA : GFP_KERNEL; in scsi_setup_command_freelist()
490 spin_lock_init(&shost->free_list_lock); in scsi_setup_command_freelist()
491 INIT_LIST_HEAD(&shost->free_list); in scsi_setup_command_freelist()
493 shost->cmd_pool = scsi_get_host_cmd_pool(gfp_mask); in scsi_setup_command_freelist()
495 if (!shost->cmd_pool) in scsi_setup_command_freelist()
501 cmd = scsi_host_alloc_command(shost, gfp_mask); in scsi_setup_command_freelist()
504 shost->cmd_pool = NULL; in scsi_setup_command_freelist()
507 list_add(&cmd->list, &shost->free_list); in scsi_setup_command_freelist()
515 void scsi_destroy_command_freelist(struct Scsi_Host *shost) in scsi_destroy_command_freelist() argument
521 if (!shost->cmd_pool) in scsi_destroy_command_freelist()
524 while (!list_empty(&shost->free_list)) { in scsi_destroy_command_freelist()
527 cmd = list_entry(shost->free_list.next, struct scsi_cmnd, list); in scsi_destroy_command_freelist()
529 scsi_pool_free_command(shost->cmd_pool, cmd); in scsi_destroy_command_freelist()
531 shost->cmd_pool = NULL; in scsi_destroy_command_freelist()
532 scsi_put_host_cmd_pool(shost->unchecked_isa_dma ? GFP_DMA : GFP_KERNEL); in scsi_destroy_command_freelist()
803 struct Scsi_Host *shost = sdev->host; in scsi_finish_command() local
817 shost->host_blocked = 0; in scsi_finish_command()
1154 struct scsi_device *__scsi_iterate_devices(struct Scsi_Host *shost, in __scsi_iterate_devices() argument
1157 struct list_head *list = (prev ? &prev->siblings : &shost->__devices); in __scsi_iterate_devices()
1161 spin_lock_irqsave(shost->host_lock, flags); in __scsi_iterate_devices()
1162 while (list->next != &shost->__devices) { in __scsi_iterate_devices()
1170 spin_unlock_irqrestore(shost->host_lock, flags); in __scsi_iterate_devices()
1191 struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); in starget_for_each_device() local
1194 shost_for_each_device(sdev, shost) { in starget_for_each_device()
1219 struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); in __starget_for_each_device() local
1222 __shost_for_each_device(sdev, shost) { in __starget_for_each_device()
1274 struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); in scsi_device_lookup_by_target() local
1277 spin_lock_irqsave(shost->host_lock, flags); in scsi_device_lookup_by_target()
1281 spin_unlock_irqrestore(shost->host_lock, flags); in scsi_device_lookup_by_target()
1303 struct scsi_device *__scsi_device_lookup(struct Scsi_Host *shost, in __scsi_device_lookup() argument
1308 list_for_each_entry(sdev, &shost->__devices, siblings) { in __scsi_device_lookup()
1329 struct scsi_device *scsi_device_lookup(struct Scsi_Host *shost, in scsi_device_lookup() argument
1335 spin_lock_irqsave(shost->host_lock, flags); in scsi_device_lookup()
1336 sdev = __scsi_device_lookup(shost, channel, id, lun); in scsi_device_lookup()
1339 spin_unlock_irqrestore(shost->host_lock, flags); in scsi_device_lookup()