host.h (1844e4789fe5c97a9ff3bb82628111abbe7cc846) | host.h (abec912d71c44bbd642ce12ad98aab76f5a53163) |
---|---|
1/* 2 * This file is provided under a dual BSD/GPLv2 license. When using or 3 * redistributing this file, you may do so under either license. 4 * 5 * GPL LICENSE SUMMARY 6 * 7 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. 8 * --- 144 unchanged lines hidden (view full) --- 153 /* XXX no need to be a union */ 154 struct sci_oem_params oem_parameters; 155 struct sci_port_configuration_agent port_agent; 156 struct isci_remote_device *device_table[SCI_MAX_REMOTE_DEVICES]; 157 struct sci_remote_node_table available_remote_nodes; 158 struct sci_power_control power_control; 159 u8 io_request_sequence[SCI_MAX_IO_REQUESTS]; 160 struct scu_task_context *task_context_table; | 1/* 2 * This file is provided under a dual BSD/GPLv2 license. When using or 3 * redistributing this file, you may do so under either license. 4 * 5 * GPL LICENSE SUMMARY 6 * 7 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. 8 * --- 144 unchanged lines hidden (view full) --- 153 /* XXX no need to be a union */ 154 struct sci_oem_params oem_parameters; 155 struct sci_port_configuration_agent port_agent; 156 struct isci_remote_device *device_table[SCI_MAX_REMOTE_DEVICES]; 157 struct sci_remote_node_table available_remote_nodes; 158 struct sci_power_control power_control; 159 u8 io_request_sequence[SCI_MAX_IO_REQUESTS]; 160 struct scu_task_context *task_context_table; |
161 dma_addr_t task_context_dma; | 161 dma_addr_t tc_dma; |
162 union scu_remote_node_context *remote_node_context_table; | 162 union scu_remote_node_context *remote_node_context_table; |
163 dma_addr_t rnc_dma; |
|
163 u32 *completion_queue; | 164 u32 *completion_queue; |
165 dma_addr_t cq_dma; |
|
164 u32 completion_queue_get; 165 u32 logical_port_entries; 166 u32 remote_node_entries; 167 u32 task_context_entries; | 166 u32 completion_queue_get; 167 u32 logical_port_entries; 168 u32 remote_node_entries; 169 u32 task_context_entries; |
170 void *ufi_buf; 171 dma_addr_t ufi_dma; |
|
168 struct sci_unsolicited_frame_control uf_control; 169 170 /* phy startup */ 171 struct sci_timer phy_timer; 172 /* XXX kill */ 173 bool phy_startup_timer_pending; 174 u32 next_phy_to_start; 175 /* XXX convert to unsigned long and use bitops */ --- 271 unchanged lines hidden (view full) --- 447enum sci_status sci_controller_allocate_remote_node_context(struct isci_host *ihost, 448 struct isci_remote_device *idev, 449 u16 *node_id); 450void sci_controller_free_remote_node_context( 451 struct isci_host *ihost, 452 struct isci_remote_device *idev, 453 u16 node_id); 454 | 172 struct sci_unsolicited_frame_control uf_control; 173 174 /* phy startup */ 175 struct sci_timer phy_timer; 176 /* XXX kill */ 177 bool phy_startup_timer_pending; 178 u32 next_phy_to_start; 179 /* XXX convert to unsigned long and use bitops */ --- 271 unchanged lines hidden (view full) --- 451enum sci_status sci_controller_allocate_remote_node_context(struct isci_host *ihost, 452 struct isci_remote_device *idev, 453 u16 *node_id); 454void sci_controller_free_remote_node_context( 455 struct isci_host *ihost, 456 struct isci_remote_device *idev, 457 u16 node_id); 458 |
455struct isci_request *sci_request_by_tag(struct isci_host *ihost, 456 u16 io_tag); | 459struct isci_request *sci_request_by_tag(struct isci_host *ihost, u16 io_tag); 460void sci_controller_power_control_queue_insert(struct isci_host *ihost, 461 struct isci_phy *iphy); 462void sci_controller_power_control_queue_remove(struct isci_host *ihost, 463 struct isci_phy *iphy); 464void sci_controller_link_up(struct isci_host *ihost, struct isci_port *iport, 465 struct isci_phy *iphy); 466void sci_controller_link_down(struct isci_host *ihost, struct isci_port *iport, 467 struct isci_phy *iphy); 468void sci_controller_remote_device_stopped(struct isci_host *ihost, 469 struct isci_remote_device *idev); |
457 | 470 |
458void sci_controller_power_control_queue_insert( 459 struct isci_host *ihost, 460 struct isci_phy *iphy); 461 462void sci_controller_power_control_queue_remove( 463 struct isci_host *ihost, 464 struct isci_phy *iphy); 465 466void sci_controller_link_up( 467 struct isci_host *ihost, 468 struct isci_port *iport, 469 struct isci_phy *iphy); 470 471void sci_controller_link_down( 472 struct isci_host *ihost, 473 struct isci_port *iport, 474 struct isci_phy *iphy); 475 476void sci_controller_remote_device_stopped( 477 struct isci_host *ihost, 478 struct isci_remote_device *idev); 479 480void sci_controller_copy_task_context( 481 struct isci_host *ihost, 482 struct isci_request *ireq); 483 484void sci_controller_register_setup(struct isci_host *ihost); 485 | |
486enum sci_status sci_controller_continue_io(struct isci_request *ireq); 487int isci_host_scan_finished(struct Scsi_Host *, unsigned long); 488void isci_host_scan_start(struct Scsi_Host *); 489u16 isci_alloc_tag(struct isci_host *ihost); 490enum sci_status isci_free_tag(struct isci_host *ihost, u16 io_tag); 491void isci_tci_free(struct isci_host *ihost, u16 tci); 492 493int isci_host_init(struct isci_host *); | 471enum sci_status sci_controller_continue_io(struct isci_request *ireq); 472int isci_host_scan_finished(struct Scsi_Host *, unsigned long); 473void isci_host_scan_start(struct Scsi_Host *); 474u16 isci_alloc_tag(struct isci_host *ihost); 475enum sci_status isci_free_tag(struct isci_host *ihost, u16 io_tag); 476void isci_tci_free(struct isci_host *ihost, u16 tci); 477 478int isci_host_init(struct isci_host *); |
479void isci_host_completion_routine(unsigned long data); 480void isci_host_deinit(struct isci_host *); 481void sci_controller_disable_interrupts(struct isci_host *ihost); |
|
494 | 482 |
495void isci_host_init_controller_names( 496 struct isci_host *isci_host, 497 unsigned int controller_idx); 498 499void isci_host_deinit( 500 struct isci_host *); 501 502void isci_host_port_link_up( 503 struct isci_host *, 504 struct isci_port *, 505 struct isci_phy *); 506int isci_host_dev_found(struct domain_device *); 507 508void isci_host_remote_device_start_complete( 509 struct isci_host *, 510 struct isci_remote_device *, 511 enum sci_status); 512 513void sci_controller_disable_interrupts( 514 struct isci_host *ihost); 515 | |
516enum sci_status sci_controller_start_io( 517 struct isci_host *ihost, 518 struct isci_remote_device *idev, 519 struct isci_request *ireq); 520 521enum sci_task_status sci_controller_start_task( 522 struct isci_host *ihost, 523 struct isci_remote_device *idev, --- 22 unchanged lines hidden --- | 483enum sci_status sci_controller_start_io( 484 struct isci_host *ihost, 485 struct isci_remote_device *idev, 486 struct isci_request *ireq); 487 488enum sci_task_status sci_controller_start_task( 489 struct isci_host *ihost, 490 struct isci_remote_device *idev, --- 22 unchanged lines hidden --- |