Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
scsi_transport_spi.h File Reference
#include <linux/transport_class.h>
#include <linux/mutex.h>

Go to the source code of this file.

Data Structures

struct  spi_transport_attrs
 
struct  spi_host_attrs
 
struct  spi_function_template
 

Macros

#define spi_period(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->period)
 
#define spi_min_period(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->min_period)
 
#define spi_offset(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->offset)
 
#define spi_max_offset(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->max_offset)
 
#define spi_width(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->width)
 
#define spi_max_width(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->max_width)
 
#define spi_iu(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->iu)
 
#define spi_max_iu(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->max_iu)
 
#define spi_dt(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->dt)
 
#define spi_qas(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->qas)
 
#define spi_max_qas(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->max_qas)
 
#define spi_wr_flow(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->wr_flow)
 
#define spi_rd_strm(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->rd_strm)
 
#define spi_rti(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->rti)
 
#define spi_pcomp_en(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->pcomp_en)
 
#define spi_hold_mcs(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->hold_mcs)
 
#define spi_initial_dv(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->initial_dv)
 
#define spi_dv_pending(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->dv_pending)
 
#define spi_support_sync(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->support_sync)
 
#define spi_support_wide(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->support_wide)
 
#define spi_support_dt(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->support_dt)
 
#define spi_support_dt_only(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->support_dt_only)
 
#define spi_support_ius(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->support_ius)
 
#define spi_support_qas(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->support_qas)
 
#define spi_flags(x)   (((struct spi_transport_attrs *)&(x)->starget_data)->flags)
 
#define spi_signalling(h)   (((struct spi_host_attrs *)(h)->shost_data)->signalling)
 

Enumerations

enum  spi_signal_type { SPI_SIGNAL_UNKNOWN = 1, SPI_SIGNAL_SE, SPI_SIGNAL_LVD, SPI_SIGNAL_HVD }
 

Functions

struct scsi_transport_templatespi_attach_transport (struct spi_function_template *)
 
void spi_release_transport (struct scsi_transport_template *)
 
void spi_schedule_dv_device (struct scsi_device *)
 
void spi_dv_device (struct scsi_device *)
 
void spi_display_xfer_agreement (struct scsi_target *)
 
int spi_print_msg (const unsigned char *)
 
int spi_populate_width_msg (unsigned char *msg, int width)
 
int spi_populate_sync_msg (unsigned char *msg, int period, int offset)
 
int spi_populate_ppr_msg (unsigned char *msg, int period, int offset, int width, int options)
 

Macro Definition Documentation

#define spi_dt (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->dt)

Definition at line 83 of file scsi_transport_spi.h.

#define spi_dv_pending (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->dv_pending)

Definition at line 92 of file scsi_transport_spi.h.

#define spi_flags (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->flags)

Definition at line 101 of file scsi_transport_spi.h.

#define spi_hold_mcs (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->hold_mcs)

Definition at line 90 of file scsi_transport_spi.h.

#define spi_initial_dv (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->initial_dv)

Definition at line 91 of file scsi_transport_spi.h.

#define spi_iu (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->iu)

Definition at line 81 of file scsi_transport_spi.h.

#define spi_max_iu (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->max_iu)

Definition at line 82 of file scsi_transport_spi.h.

#define spi_max_offset (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->max_offset)

Definition at line 78 of file scsi_transport_spi.h.

#define spi_max_qas (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->max_qas)

Definition at line 85 of file scsi_transport_spi.h.

#define spi_max_width (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->max_width)

Definition at line 80 of file scsi_transport_spi.h.

#define spi_min_period (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->min_period)

Definition at line 76 of file scsi_transport_spi.h.

#define spi_offset (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->offset)

Definition at line 77 of file scsi_transport_spi.h.

#define spi_pcomp_en (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->pcomp_en)

Definition at line 89 of file scsi_transport_spi.h.

#define spi_period (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->period)

Definition at line 75 of file scsi_transport_spi.h.

#define spi_qas (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->qas)

Definition at line 84 of file scsi_transport_spi.h.

#define spi_rd_strm (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->rd_strm)

Definition at line 87 of file scsi_transport_spi.h.

#define spi_rti (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->rti)

Definition at line 88 of file scsi_transport_spi.h.

#define spi_signalling (   h)    (((struct spi_host_attrs *)(h)->shost_data)->signalling)

Definition at line 102 of file scsi_transport_spi.h.

#define spi_support_dt (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->support_dt)

Definition at line 96 of file scsi_transport_spi.h.

#define spi_support_dt_only (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->support_dt_only)

Definition at line 97 of file scsi_transport_spi.h.

#define spi_support_ius (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->support_ius)

Definition at line 98 of file scsi_transport_spi.h.

#define spi_support_qas (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->support_qas)

Definition at line 99 of file scsi_transport_spi.h.

#define spi_support_sync (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->support_sync)

Definition at line 94 of file scsi_transport_spi.h.

#define spi_support_wide (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->support_wide)

Definition at line 95 of file scsi_transport_spi.h.

#define spi_width (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->width)

Definition at line 79 of file scsi_transport_spi.h.

#define spi_wr_flow (   x)    (((struct spi_transport_attrs *)&(x)->starget_data)->wr_flow)

Definition at line 86 of file scsi_transport_spi.h.

Enumeration Type Documentation

Enumerator:
SPI_SIGNAL_UNKNOWN 
SPI_SIGNAL_SE 
SPI_SIGNAL_LVD 
SPI_SIGNAL_HVD 

Definition at line 63 of file scsi_transport_spi.h.

Function Documentation

struct scsi_transport_template* spi_attach_transport ( struct spi_function_template )
read

Definition at line 1536 of file scsi_transport_spi.c.

void spi_display_xfer_agreement ( struct scsi_target starget)

spi_display_xfer_agreement - Print the current target transfer agreement : The target for which to display the agreement

Each SPI port is required to maintain a transfer agreement for each other port on the bus. This function prints a one-line summary of the current agreement; more detailed information is available in sysfs.

Definition at line 1118 of file scsi_transport_spi.c.

void spi_dv_device ( struct scsi_device sdev)

spi_dv_device - Do Domain Validation on the device : scsi device to validate

Performs the domain validation on the given device in the current execution thread. Since DV operations may sleep, the current thread must have user context. Also no SCSI related locks that would deadlock I/O issued by the DV may be held.

Definition at line 1005 of file scsi_transport_spi.c.

int spi_populate_ppr_msg ( unsigned char msg,
int  period,
int  offset,
int  width,
int  options 
)

Definition at line 1193 of file scsi_transport_spi.c.

int spi_populate_sync_msg ( unsigned char msg,
int  period,
int  offset 
)

Definition at line 1182 of file scsi_transport_spi.c.

int spi_populate_width_msg ( unsigned char msg,
int  width 
)

Definition at line 1172 of file scsi_transport_spi.c.

int spi_print_msg ( const unsigned char )

Definition at line 1316 of file scsi_transport_spi.c.

void spi_release_transport ( struct scsi_transport_template )

Definition at line 1560 of file scsi_transport_spi.c.

void spi_schedule_dv_device ( struct scsi_device sdev)

spi_schedule_dv_device - schedule domain validation to occur on the device : The device to validate

Identical to spi_dv_device() above, except that the DV will be scheduled to occur in a workqueue later. All memory allocations are atomic, so may be called from any context including those holding SCSI locks.

Definition at line 1083 of file scsi_transport_spi.c.