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()
310 int zfcp_scsi_adapter_register(struct zfcp_adapter *adapter) in zfcp_scsi_adapter_register() argument
314 if (adapter->scsi_host) in zfcp_scsi_adapter_register()
317 ccw_device_get_id(adapter->ccw_device, &dev_id); in zfcp_scsi_adapter_register()
319 adapter->scsi_host = scsi_host_alloc(&zfcp_scsi_host_template, in zfcp_scsi_adapter_register()
321 if (!adapter->scsi_host) { in zfcp_scsi_adapter_register()
322 dev_err(&adapter->ccw_device->dev, in zfcp_scsi_adapter_register()
329 adapter->scsi_host->max_id = 511; in zfcp_scsi_adapter_register()
330 adapter->scsi_host->max_lun = 0xFFFFFFFF; in zfcp_scsi_adapter_register()
331 adapter->scsi_host->max_channel = 0; in zfcp_scsi_adapter_register()
332 adapter->scsi_host->unique_id = dev_id.devno; in zfcp_scsi_adapter_register()
333 adapter->scsi_host->max_cmd_len = 16; /* in struct fcp_cmnd */ in zfcp_scsi_adapter_register()
334 adapter->scsi_host->transportt = zfcp_scsi_transport_template; in zfcp_scsi_adapter_register()
336 adapter->scsi_host->hostdata[0] = (unsigned long) adapter; in zfcp_scsi_adapter_register()
338 if (scsi_add_host(adapter->scsi_host, &adapter->ccw_device->dev)) { in zfcp_scsi_adapter_register()
339 scsi_host_put(adapter->scsi_host); in zfcp_scsi_adapter_register()
350 void zfcp_scsi_adapter_unregister(struct zfcp_adapter *adapter) in zfcp_scsi_adapter_unregister() argument
355 shost = adapter->scsi_host; in zfcp_scsi_adapter_unregister()
359 read_lock_irq(&adapter->port_list_lock); in zfcp_scsi_adapter_unregister()
360 list_for_each_entry(port, &adapter->port_list, list) in zfcp_scsi_adapter_unregister()
362 read_unlock_irq(&adapter->port_list_lock); in zfcp_scsi_adapter_unregister()
367 adapter->scsi_host = NULL; in zfcp_scsi_adapter_unregister()
371 zfcp_init_fc_host_stats(struct zfcp_adapter *adapter) in zfcp_init_fc_host_stats() argument
375 if (!adapter->fc_stats) { in zfcp_init_fc_host_stats()
379 adapter->fc_stats = fc_stats; /* freed in adapter_release */ in zfcp_init_fc_host_stats()
381 memset(adapter->fc_stats, 0, sizeof(*adapter->fc_stats)); in zfcp_init_fc_host_stats()
382 return adapter->fc_stats; in zfcp_init_fc_host_stats()
445 struct zfcp_adapter *adapter; in zfcp_get_fc_host_stats() local
450 adapter = (struct zfcp_adapter *)host->hostdata[0]; in zfcp_get_fc_host_stats()
451 fc_stats = zfcp_init_fc_host_stats(adapter); in zfcp_get_fc_host_stats()
459 ret = zfcp_fsf_exchange_port_data_sync(adapter->qdio, data); in zfcp_get_fc_host_stats()
465 if (adapter->stats_reset && in zfcp_get_fc_host_stats()
466 ((jiffies/HZ - adapter->stats_reset) < in zfcp_get_fc_host_stats()
469 adapter->stats_reset_data); in zfcp_get_fc_host_stats()
479 struct zfcp_adapter *adapter; in zfcp_reset_fc_host_stats() local
483 adapter = (struct zfcp_adapter *)shost->hostdata[0]; in zfcp_reset_fc_host_stats()
488 ret = zfcp_fsf_exchange_port_data_sync(adapter->qdio, data); in zfcp_reset_fc_host_stats()
492 adapter->stats_reset = jiffies/HZ; in zfcp_reset_fc_host_stats()
493 kfree(adapter->stats_reset_data); in zfcp_reset_fc_host_stats()
494 adapter->stats_reset_data = data; /* finally freed in in zfcp_reset_fc_host_stats()
501 struct zfcp_adapter *adapter = in zfcp_get_host_port_state() local
503 int status = atomic_read(&adapter->status); in zfcp_get_host_port_state()
535 struct zfcp_adapter *adapter = in zfcp_scsi_terminate_rport_io() local
538 port = zfcp_get_port_by_wwpn(adapter, rport->port_name); in zfcp_scsi_terminate_rport_io()
559 rport = fc_remote_port_add(port->adapter->scsi_host, 0, &ids); in zfcp_scsi_rport_register()
561 dev_err(&port->adapter->ccw_device->dev, in zfcp_scsi_rport_register()
590 if (!queue_work(port->adapter->work_queue, &port->rport_work)) in zfcp_scsi_schedule_rport_register()
599 if (port->rport && queue_work(port->adapter->work_queue, in zfcp_scsi_schedule_rport_block()
606 void zfcp_scsi_schedule_rports_block(struct zfcp_adapter *adapter) in zfcp_scsi_schedule_rports_block() argument
611 read_lock_irqsave(&adapter->port_list_lock, flags); in zfcp_scsi_schedule_rports_block()
612 list_for_each_entry(port, &adapter->port_list, list) in zfcp_scsi_schedule_rports_block()
614 read_unlock_irqrestore(&adapter->port_list_lock, flags); in zfcp_scsi_schedule_rports_block()
639 void zfcp_scsi_set_prot(struct zfcp_adapter *adapter) in zfcp_scsi_set_prot() argument
643 struct Scsi_Host *shost = adapter->scsi_host; in zfcp_scsi_set_prot()
645 data_div = atomic_read(&adapter->status) & in zfcp_scsi_set_prot()
649 adapter->adapter_features & FSF_FEATURE_DIF_PROT_TYPE1) in zfcp_scsi_set_prot()
653 adapter->adapter_features & FSF_FEATURE_DIX_PROT_TCPIP) { in zfcp_scsi_set_prot()
656 shost->sg_prot_tablesize = adapter->qdio->max_sbale_per_req / 2; in zfcp_scsi_set_prot()
657 shost->sg_tablesize = adapter->qdio->max_sbale_per_req / 2; in zfcp_scsi_set_prot()