host.h (3bff9d54ecba84e538da822349a9a6fd6e534539) | host.h (e2f8db509fdd354bb7a68c86515e9d2d8909ccc9) |
---|---|
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 * --- 41 unchanged lines hidden (view full) --- 50 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 51 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 52 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 53 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 54 */ 55#ifndef _SCI_HOST_H_ 56#define _SCI_HOST_H_ 57 | 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 * --- 41 unchanged lines hidden (view full) --- 50 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 51 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 52 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 53 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 54 */ 55#ifndef _SCI_HOST_H_ 56#define _SCI_HOST_H_ 57 |
58#include "scic_config_parameters.h" | |
59#include "remote_device.h" 60#include "phy.h" 61#include "pool.h" 62#include "state_machine.h" 63#include "remote_node_table.h" 64#include "registers.h" 65#include "scu_unsolicited_frame.h" 66#include "unsolicited_frame_control.h" | 58#include "remote_device.h" 59#include "phy.h" 60#include "pool.h" 61#include "state_machine.h" 62#include "remote_node_table.h" 63#include "registers.h" 64#include "scu_unsolicited_frame.h" 65#include "unsolicited_frame_control.h" |
67#include "scic_sds_port_configuration_agent.h" | 66#include "probe_roms.h" |
68 69struct scic_sds_request; 70struct scu_task_context; 71 | 67 68struct scic_sds_request; 69struct scu_task_context; 70 |
71 |
|
72/** 73 * struct scic_power_control - 74 * 75 * This structure defines the fields for managing power control for direct 76 * attached disk devices. 77 */ 78struct scic_power_control { 79 /** --- 22 unchanged lines hidden (view full) --- 102 /** 103 * This field is an array of phys that we are waiting on. The phys are direct 104 * mapped into requesters via struct scic_sds_phy.phy_index 105 */ 106 struct scic_sds_phy *requesters[SCI_MAX_PHYS]; 107 108}; 109 | 72/** 73 * struct scic_power_control - 74 * 75 * This structure defines the fields for managing power control for direct 76 * attached disk devices. 77 */ 78struct scic_power_control { 79 /** --- 22 unchanged lines hidden (view full) --- 102 /** 103 * This field is an array of phys that we are waiting on. The phys are direct 104 * mapped into requesters via struct scic_sds_phy.phy_index 105 */ 106 struct scic_sds_phy *requesters[SCI_MAX_PHYS]; 107 108}; 109 |
110struct scic_sds_port_configuration_agent; 111typedef void (*port_config_fn)(struct scic_sds_controller *, 112 struct scic_sds_port_configuration_agent *, 113 struct scic_sds_port *, struct scic_sds_phy *); 114 115struct scic_sds_port_configuration_agent { 116 u16 phy_configured_mask; 117 u16 phy_ready_mask; 118 struct { 119 u8 min_index; 120 u8 max_index; 121 } phy_valid_port_range[SCI_MAX_PHYS]; 122 bool timer_pending; 123 port_config_fn link_up_handler; 124 port_config_fn link_down_handler; 125 void *timer; 126}; 127 |
|
110/** 111 * struct scic_sds_controller - 112 * 113 * This structure represents the SCU controller object. 114 */ 115struct scic_sds_controller { 116 /** 117 * This field contains the information for the base controller state --- 677 unchanged lines hidden (view full) --- 795 struct scic_sds_request *io_request); 796 797u16 scic_controller_allocate_io_tag( 798 struct scic_sds_controller *scic); 799 800enum sci_status scic_controller_free_io_tag( 801 struct scic_sds_controller *scic, 802 u16 io_tag); | 128/** 129 * struct scic_sds_controller - 130 * 131 * This structure represents the SCU controller object. 132 */ 133struct scic_sds_controller { 134 /** 135 * This field contains the information for the base controller state --- 677 unchanged lines hidden (view full) --- 813 struct scic_sds_request *io_request); 814 815u16 scic_controller_allocate_io_tag( 816 struct scic_sds_controller *scic); 817 818enum sci_status scic_controller_free_io_tag( 819 struct scic_sds_controller *scic, 820 u16 io_tag); |
821 822void scic_sds_port_configuration_agent_construct( 823 struct scic_sds_port_configuration_agent *port_agent); 824 825enum sci_status scic_sds_port_configuration_agent_initialize( 826 struct scic_sds_controller *controller, 827 struct scic_sds_port_configuration_agent *port_agent); |
|
803#endif | 828#endif |