Linux Kernel
3.7.1
|
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/errno.h>
#include <linux/blkdev.h>
#include <linux/sched.h>
#include <linux/workqueue.h>
#include <linux/delay.h>
#include <linux/pci.h>
#include <linux/interrupt.h>
#include <linux/aer.h>
#include <linux/raid_class.h>
#include <linux/slab.h>
#include "mpt2sas_base.h"
Go to the source code of this file.
Data Structures | |
struct | sense_info |
struct | fw_event_work |
struct | _scsi_io_transfer |
Macros | |
#define | RAID_CHANNEL 1 |
#define | MPT2SAS_MAX_LUN (16895) |
#define | MPT2SAS_TURN_ON_FAULT_LED (0xFFFC) |
#define | MPT2SAS_PORT_ENABLE_COMPLETE (0xFFFD) |
#define | MPT2SAS_REMOVE_UNRESPONDING_DEVICES (0xFFFF) |
#define MPT2SAS_MAX_LUN (16895) |
Definition at line 105 of file mpt2sas_scsih.c.
#define MPT2SAS_PORT_ENABLE_COMPLETE (0xFFFD) |
Definition at line 145 of file mpt2sas_scsih.c.
#define MPT2SAS_REMOVE_UNRESPONDING_DEVICES (0xFFFF) |
Definition at line 146 of file mpt2sas_scsih.c.
#define MPT2SAS_TURN_ON_FAULT_LED (0xFFFC) |
Definition at line 144 of file mpt2sas_scsih.c.
#define RAID_CHANNEL 1 |
Definition at line 65 of file mpt2sas_scsih.c.
LIST_HEAD | ( | mpt2sas_ioc_list | ) |
MODULE_AUTHOR | ( | MPT2SAS_AUTHOR | ) |
MODULE_DESCRIPTION | ( | MPT2SAS_DESCRIPTION | ) |
MODULE_DEVICE_TABLE | ( | pci | , |
scsih_pci_table | |||
) |
module_exit | ( | _scsih_exit | ) |
module_init | ( | _scsih_init | ) |
MODULE_LICENSE | ( | "GPL" | ) |
module_param | ( | max_sectors | , |
ushort | , | ||
0 | |||
) |
module_param | ( | max_lun | , |
int | , | ||
0 | |||
) |
module_param | ( | diag_buffer_enable | , |
int | , | ||
0 | |||
) |
module_param | ( | disable_discovery | , |
int | , | ||
0 | |||
) |
module_param | ( | prot_mask | , |
int | , | ||
0 | |||
) |
module_param_call | ( | logging_level | , |
_scsih_set_debug_level | , | ||
param_get_int | , | ||
& | logging_level, | ||
0644 | |||
) |
MODULE_PARM_DESC | ( | max_sectors | , |
"max | sectors | ||
) |
MODULE_PARM_DESC | ( | max_lun | , |
" max | lun | ||
) |
MODULE_PARM_DESC | ( | diag_buffer_enable | , |
" post diag buffers ""(TRACE=1/SNAPSHOT=2/EXTENDED=4/default=0)" | |||
) |
MODULE_PARM_DESC | ( | disable_discovery | , |
" disable discovery " | |||
) |
MODULE_PARM_DESC | ( | prot_mask | , |
" host protection capabilities | mask | ||
) |
MODULE_VERSION | ( | MPT2SAS_DRIVER_VERSION | ) |
void mpt2sas_device_remove_by_sas_address | ( | struct MPT2SAS_ADAPTER * | ioc, |
u64 | sas_address | ||
) |
mpt2sas_device_remove_by_sas_address - removing device object by sas address : per adapter object : device sas_address
Return nothing.
Definition at line 5379 of file mpt2sas_scsih.c.
void mpt2sas_expander_remove | ( | struct MPT2SAS_ADAPTER * | ioc, |
u64 | sas_address | ||
) |
mpt2sas_expander_remove - removing expander object : per adapter object : expander sas_address
Return nothing.
Definition at line 5043 of file mpt2sas_scsih.c.
void mpt2sas_port_enable_complete | ( | struct MPT2SAS_ADAPTER * | ioc | ) |
mpt2sas_port_enable_complete - port enable completed (fake event) : per adapter object
Return nothing.
Definition at line 2855 of file mpt2sas_scsih.c.
void mpt2sas_scsih_clear_tm_flag | ( | struct MPT2SAS_ADAPTER * | ioc, |
u16 | handle | ||
) |
mpt2sas_scsih_clear_tm_flag - clear per target tm_busy : per adapter object : device handle
During taskmangement request, we need to freeze the device queue.
Definition at line 2321 of file mpt2sas_scsih.c.
u8 mpt2sas_scsih_event_callback | ( | struct MPT2SAS_ADAPTER * | ioc, |
u8 | msix_index, | ||
u32 | reply | ||
) |
mpt2sas_scsih_event_callback - firmware event handler (called at ISR time) : per adapter object : MSIX table index supplied by the OS : reply message frame(lower 32bit addr) Context: interrupt.
This function merely adds a new work task into ioc->firmware_event_thread. The tasks are worked from _firmware_event_work in user context.
Return 1 meaning mf should be freed from _base_interrupt 0 means the mf is freed from this function.
Definition at line 7363 of file mpt2sas_scsih.c.
|
read |
mpt2sas_scsih_expander_find_by_handle - expander device search : per adapter object : expander handle (assigned by firmware) Context: Calling function should acquire ioc->sas_device_lock
This searches for expander device based on handle, then returns the sas_node object.
Definition at line 788 of file mpt2sas_scsih.c.
|
read |
mpt2sas_scsih_expander_find_by_sas_address - expander device search : per adapter object : sas address Context: Calling function should acquire ioc->sas_node_lock.
This searches for expander device based on sas_address, then returns the sas_node object.
Definition at line 813 of file mpt2sas_scsih.c.
int mpt2sas_scsih_issue_tm | ( | struct MPT2SAS_ADAPTER * | ioc, |
u16 | handle, | ||
uint | channel, | ||
uint | id, | ||
uint | lun, | ||
u8 | type, | ||
u16 | smid_task, | ||
ulong | timeout, | ||
unsigned long | serial_number, | ||
enum mutex_type | m_type | ||
) |
mpt2sas_scsih_issue_tm - main routine for sending tm requests : per adapter struct : device handle : the channel assigned by the OS : the id assigned by the OS : lun number : MPI2_SCSITASKMGMT_TASKTYPE__XXX (defined in mpi2_init.h) : smid assigned to the task : timeout in seconds : the serial_number from scmd : TM_MUTEX_ON or TM_MUTEX_OFF Context: user
A generic API for sending task management requests to firmware.
The callback index is set inside ioc->tm_cb_idx
.
Return SUCCESS or FAILED.
Definition at line 2363 of file mpt2sas_scsih.c.
void mpt2sas_scsih_reset_handler | ( | struct MPT2SAS_ADAPTER * | ioc, |
int | reset_phase | ||
) |
mpt2sas_scsih_reset_handler - reset callback handler (for scsih) : per adapter object : phase
The handler for doing any required cleanup or initialization.
The reset phase can be MPT2_IOC_PRE_RESET, MPT2_IOC_AFTER_RESET, MPT2_IOC_DONE_RESET
Return nothing.
Definition at line 7231 of file mpt2sas_scsih.c.
|
read |
mpt2sas_scsih_sas_device_find_by_sas_address - sas device search : per adapter object : sas address Context: Calling function should acquire ioc->sas_device_lock
This searches for sas_device based on sas_address, then return sas_device object.
Definition at line 532 of file mpt2sas_scsih.c.
void mpt2sas_scsih_set_tm_flag | ( | struct MPT2SAS_ADAPTER * | ioc, |
u16 | handle | ||
) |
mpt2sas_scsih_set_tm_flag - set per target tm_busy : per adapter object : device handle
During taskmangement request, we need to freeze the device queue.
Definition at line 2293 of file mpt2sas_scsih.c.