Lines Matching refs:adapter
113 struct zfcp_adapter *adapter = in zfcp_scsi_slave_alloc() local
118 int npiv = adapter->connection_features & FSF_FEATURE_NPIV_MODE; in zfcp_scsi_slave_alloc()
120 port = zfcp_get_port_by_wwpn(adapter, rport->port_name); in zfcp_scsi_slave_alloc()
144 zfcp_erp_wait(port->adapter); in zfcp_scsi_slave_alloc()
152 struct zfcp_adapter *adapter = in zfcp_scsi_eh_abort_handler() local
162 write_lock_irqsave(&adapter->abort_lock, flags); in zfcp_scsi_eh_abort_handler()
164 old_req = zfcp_reqlist_find(adapter->req_list, old_reqid); in zfcp_scsi_eh_abort_handler()
166 write_unlock_irqrestore(&adapter->abort_lock, flags); in zfcp_scsi_eh_abort_handler()
173 write_unlock_irqrestore(&adapter->abort_lock, flags); in zfcp_scsi_eh_abort_handler()
180 zfcp_erp_wait(adapter); in zfcp_scsi_eh_abort_handler()
186 if (!(atomic_read(&adapter->status) & in zfcp_scsi_eh_abort_handler()
215 struct zfcp_adapter *adapter = zfcp_sdev->port->adapter; in zfcp_task_mgmt_function() local
225 zfcp_erp_wait(adapter); in zfcp_task_mgmt_function()
230 if (!(atomic_read(&adapter->status) & in zfcp_task_mgmt_function()
264 struct zfcp_adapter *adapter = zfcp_sdev->port->adapter; in zfcp_scsi_eh_host_reset_handler() local
267 zfcp_erp_adapter_reopen(adapter, 0, "schrh_1"); in zfcp_scsi_eh_host_reset_handler()
268 zfcp_erp_wait(adapter); in zfcp_scsi_eh_host_reset_handler()
311 int zfcp_scsi_adapter_register(struct zfcp_adapter *adapter) in zfcp_scsi_adapter_register() argument
315 if (adapter->scsi_host) in zfcp_scsi_adapter_register()
318 ccw_device_get_id(adapter->ccw_device, &dev_id); in zfcp_scsi_adapter_register()
320 adapter->scsi_host = scsi_host_alloc(&zfcp_scsi_host_template, in zfcp_scsi_adapter_register()
322 if (!adapter->scsi_host) { in zfcp_scsi_adapter_register()
323 dev_err(&adapter->ccw_device->dev, in zfcp_scsi_adapter_register()
330 adapter->scsi_host->max_id = 511; in zfcp_scsi_adapter_register()
331 adapter->scsi_host->max_lun = 0xFFFFFFFF; in zfcp_scsi_adapter_register()
332 adapter->scsi_host->max_channel = 0; in zfcp_scsi_adapter_register()
333 adapter->scsi_host->unique_id = dev_id.devno; in zfcp_scsi_adapter_register()
334 adapter->scsi_host->max_cmd_len = 16; /* in struct fcp_cmnd */ in zfcp_scsi_adapter_register()
335 adapter->scsi_host->transportt = zfcp_scsi_transport_template; in zfcp_scsi_adapter_register()
337 adapter->scsi_host->hostdata[0] = (unsigned long) adapter; in zfcp_scsi_adapter_register()
339 if (scsi_add_host(adapter->scsi_host, &adapter->ccw_device->dev)) { in zfcp_scsi_adapter_register()
340 scsi_host_put(adapter->scsi_host); in zfcp_scsi_adapter_register()
351 void zfcp_scsi_adapter_unregister(struct zfcp_adapter *adapter) in zfcp_scsi_adapter_unregister() argument
356 shost = adapter->scsi_host; in zfcp_scsi_adapter_unregister()
360 read_lock_irq(&adapter->port_list_lock); in zfcp_scsi_adapter_unregister()
361 list_for_each_entry(port, &adapter->port_list, list) in zfcp_scsi_adapter_unregister()
363 read_unlock_irq(&adapter->port_list_lock); in zfcp_scsi_adapter_unregister()
368 adapter->scsi_host = NULL; in zfcp_scsi_adapter_unregister()
372 zfcp_init_fc_host_stats(struct zfcp_adapter *adapter) in zfcp_init_fc_host_stats() argument
376 if (!adapter->fc_stats) { in zfcp_init_fc_host_stats()
380 adapter->fc_stats = fc_stats; /* freed in adapter_release */ in zfcp_init_fc_host_stats()
382 memset(adapter->fc_stats, 0, sizeof(*adapter->fc_stats)); in zfcp_init_fc_host_stats()
383 return adapter->fc_stats; in zfcp_init_fc_host_stats()
446 struct zfcp_adapter *adapter; in zfcp_get_fc_host_stats() local
451 adapter = (struct zfcp_adapter *)host->hostdata[0]; in zfcp_get_fc_host_stats()
452 fc_stats = zfcp_init_fc_host_stats(adapter); in zfcp_get_fc_host_stats()
460 ret = zfcp_fsf_exchange_port_data_sync(adapter->qdio, data); in zfcp_get_fc_host_stats()
466 if (adapter->stats_reset && in zfcp_get_fc_host_stats()
467 ((jiffies/HZ - adapter->stats_reset) < in zfcp_get_fc_host_stats()
470 adapter->stats_reset_data); in zfcp_get_fc_host_stats()
480 struct zfcp_adapter *adapter; in zfcp_reset_fc_host_stats() local
484 adapter = (struct zfcp_adapter *)shost->hostdata[0]; in zfcp_reset_fc_host_stats()
489 ret = zfcp_fsf_exchange_port_data_sync(adapter->qdio, data); in zfcp_reset_fc_host_stats()
493 adapter->stats_reset = jiffies/HZ; in zfcp_reset_fc_host_stats()
494 kfree(adapter->stats_reset_data); in zfcp_reset_fc_host_stats()
495 adapter->stats_reset_data = data; /* finally freed in in zfcp_reset_fc_host_stats()
502 struct zfcp_adapter *adapter = in zfcp_get_host_port_state() local
504 int status = atomic_read(&adapter->status); in zfcp_get_host_port_state()
536 struct zfcp_adapter *adapter = in zfcp_scsi_terminate_rport_io() local
539 port = zfcp_get_port_by_wwpn(adapter, rport->port_name); in zfcp_scsi_terminate_rport_io()
560 rport = fc_remote_port_add(port->adapter->scsi_host, 0, &ids); in zfcp_scsi_rport_register()
562 dev_err(&port->adapter->ccw_device->dev, in zfcp_scsi_rport_register()
591 if (!queue_work(port->adapter->work_queue, &port->rport_work)) in zfcp_scsi_schedule_rport_register()
600 if (port->rport && queue_work(port->adapter->work_queue, in zfcp_scsi_schedule_rport_block()
607 void zfcp_scsi_schedule_rports_block(struct zfcp_adapter *adapter) in zfcp_scsi_schedule_rports_block() argument
612 read_lock_irqsave(&adapter->port_list_lock, flags); in zfcp_scsi_schedule_rports_block()
613 list_for_each_entry(port, &adapter->port_list, list) in zfcp_scsi_schedule_rports_block()
615 read_unlock_irqrestore(&adapter->port_list_lock, flags); in zfcp_scsi_schedule_rports_block()
640 void zfcp_scsi_set_prot(struct zfcp_adapter *adapter) in zfcp_scsi_set_prot() argument
644 struct Scsi_Host *shost = adapter->scsi_host; in zfcp_scsi_set_prot()
646 data_div = atomic_read(&adapter->status) & in zfcp_scsi_set_prot()
650 adapter->adapter_features & FSF_FEATURE_DIF_PROT_TYPE1) in zfcp_scsi_set_prot()
654 adapter->adapter_features & FSF_FEATURE_DIX_PROT_TCPIP) { in zfcp_scsi_set_prot()
657 shost->sg_prot_tablesize = adapter->qdio->max_sbale_per_req / 2; in zfcp_scsi_set_prot()
658 shost->sg_tablesize = adapter->qdio->max_sbale_per_req / 2; in zfcp_scsi_set_prot()