Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
aic7xxx_core.c File Reference
#include <dev/aic7xxx/aic7xxx_osm.h>
#include <dev/aic7xxx/aic7xxx_inline.h>
#include <dev/aic7xxx/aicasm/aicasm_insformat.h>
#include "aic7xxx_seq.h"

Go to the source code of this file.

Data Structures

struct  ahc_hard_error_entry
 

Macros

#define AHC_RUN_QOUTFIFO   0x1
 
#define AHC_RUN_TQINFIFO   0x2
 
#define AHC_MAX_STEPS   2000
 

Enumerations

enum  ahc_msgtype { AHCMSG_1B, AHCMSG_2B, AHCMSG_EXT }
 

Functions

int ahc_is_paused (struct ahc_softc *ahc)
 
void ahc_pause (struct ahc_softc *ahc)
 
void ahc_unpause (struct ahc_softc *ahc)
 
void ahc_sync_sglist (struct ahc_softc *ahc, struct scb *scb, int op)
 
struct ahc_initiator_tinfoahc_fetch_transinfo (struct ahc_softc *ahc, char channel, u_int our_id, u_int remote_id, struct ahc_tmode_tstate **tstate)
 
uint16_t ahc_inw (struct ahc_softc *ahc, u_int port)
 
void ahc_outw (struct ahc_softc *ahc, u_int port, u_int value)
 
uint32_t ahc_inl (struct ahc_softc *ahc, u_int port)
 
void ahc_outl (struct ahc_softc *ahc, u_int port, uint32_t value)
 
uint64_t ahc_inq (struct ahc_softc *ahc, u_int port)
 
void ahc_outq (struct ahc_softc *ahc, u_int port, uint64_t value)
 
struct scbahc_get_scb (struct ahc_softc *ahc)
 
void ahc_free_scb (struct ahc_softc *ahc, struct scb *scb)
 
struct scbahc_lookup_scb (struct ahc_softc *ahc, u_int tag)
 
void ahc_queue_scb (struct ahc_softc *ahc, struct scb *scb)
 
struct scsi_sense_dataahc_get_sense_buf (struct ahc_softc *ahc, struct scb *scb)
 
int ahc_intr (struct ahc_softc *ahc)
 
struct ahc_syncrateahc_find_syncrate (struct ahc_softc *ahc, u_int *period, u_int *ppr_options, u_int maxsync)
 
u_int ahc_find_period (struct ahc_softc *ahc, u_int scsirate, u_int maxsync)
 
int ahc_update_neg_request (struct ahc_softc *ahc, struct ahc_devinfo *devinfo, struct ahc_tmode_tstate *tstate, struct ahc_initiator_tinfo *tinfo, ahc_neg_type neg_type)
 
void ahc_set_syncrate (struct ahc_softc *ahc, struct ahc_devinfo *devinfo, const struct ahc_syncrate *syncrate, u_int period, u_int offset, u_int ppr_options, u_int type, int paused)
 
void ahc_set_width (struct ahc_softc *ahc, struct ahc_devinfo *devinfo, u_int width, u_int type, int paused)
 
void ahc_compile_devinfo (struct ahc_devinfo *devinfo, u_int our_id, u_int target, u_int lun, char channel, role_t role)
 
void ahc_print_devinfo (struct ahc_softc *ahc, struct ahc_devinfo *devinfo)
 
struct ahc_softcahc_alloc (void *platform_arg, char *name)
 
int ahc_softc_init (struct ahc_softc *ahc)
 
void ahc_set_unit (struct ahc_softc *ahc, int unit)
 
void ahc_set_name (struct ahc_softc *ahc, char *name)
 
void ahc_free (struct ahc_softc *ahc)
 
int ahc_reset (struct ahc_softc *ahc, int reinit)
 
int ahc_probe_scbs (struct ahc_softc *ahc)
 
void ahc_controller_info (struct ahc_softc *ahc, char *buf)
 
int ahc_chip_init (struct ahc_softc *ahc)
 
int ahc_init (struct ahc_softc *ahc)
 
void ahc_intr_enable (struct ahc_softc *ahc, int enable)
 
void ahc_pause_and_flushwork (struct ahc_softc *ahc)
 
int ahc_match_scb (struct ahc_softc *ahc, struct scb *scb, int target, char channel, int lun, u_int tag, role_t role)
 
void ahc_qinfifo_requeue_tail (struct ahc_softc *ahc, struct scb *scb)
 
int ahc_search_qinfifo (struct ahc_softc *ahc, int target, char channel, int lun, u_int tag, role_t role, uint32_t status, ahc_search_action action)
 
int ahc_search_untagged_queues (struct ahc_softc *ahc, ahc_io_ctx_t ctx, int target, char channel, int lun, uint32_t status, ahc_search_action action)
 
int ahc_search_disc_list (struct ahc_softc *ahc, int target, char channel, int lun, u_int tag, int stop_on_first, int remove, int save_state)
 
int ahc_reset_channel (struct ahc_softc *ahc, char channel, int initiate_reset)
 
int ahc_print_register (const ahc_reg_parse_entry_t *table, u_int num_entries, const char *name, u_int address, u_int value, u_int *cur_column, u_int wrap_point)
 
void ahc_dump_card_state (struct ahc_softc *ahc)
 

Macro Definition Documentation

#define AHC_MAX_STEPS   2000

Definition at line 1986 of file aic7xxx_core.c.

#define AHC_RUN_QOUTFIFO   0x1

Definition at line 698 of file aic7xxx_core.c.

#define AHC_RUN_TQINFIFO   0x2

Definition at line 699 of file aic7xxx_core.c.

Enumeration Type Documentation

Enumerator:
AHCMSG_1B 
AHCMSG_2B 
AHCMSG_EXT 

Definition at line 181 of file aic7xxx_core.c.

Function Documentation

struct ahc_softc* ahc_alloc ( void platform_arg,
char name 
)
read

Definition at line 4404 of file aic7xxx_core.c.

int ahc_chip_init ( struct ahc_softc ahc)

Definition at line 5084 of file aic7xxx_core.c.

void ahc_compile_devinfo ( struct ahc_devinfo devinfo,
u_int  our_id,
u_int  target,
u_int  lun,
char  channel,
role_t  role 
)

Definition at line 2820 of file aic7xxx_core.c.

void ahc_controller_info ( struct ahc_softc ahc,
char buf 
)

Definition at line 5043 of file aic7xxx_core.c.

void ahc_dump_card_state ( struct ahc_softc ahc)

Definition at line 7169 of file aic7xxx_core.c.

struct ahc_initiator_tinfo* ahc_fetch_transinfo ( struct ahc_softc ahc,
char  channel,
u_int  our_id,
u_int  remote_id,
struct ahc_tmode_tstate **  tstate 
)
read

Definition at line 450 of file aic7xxx_core.c.

u_int ahc_find_period ( struct ahc_softc ahc,
u_int  scsirate,
u_int  maxsync 
)

Definition at line 2347 of file aic7xxx_core.c.

struct ahc_syncrate* ahc_find_syncrate ( struct ahc_softc ahc,
u_int period,
u_int ppr_options,
u_int  maxsync 
)
read

Definition at line 2271 of file aic7xxx_core.c.

void ahc_free ( struct ahc_softc ahc)

Definition at line 4491 of file aic7xxx_core.c.

void ahc_free_scb ( struct ahc_softc ahc,
struct scb scb 
)

Definition at line 545 of file aic7xxx_core.c.

struct scb* ahc_get_scb ( struct ahc_softc ahc)
read

Definition at line 527 of file aic7xxx_core.c.

struct scsi_sense_data* ahc_get_sense_buf ( struct ahc_softc ahc,
struct scb scb 
)
read

Definition at line 654 of file aic7xxx_core.c.

int ahc_init ( struct ahc_softc ahc)

Definition at line 5271 of file aic7xxx_core.c.

uint32_t ahc_inl ( struct ahc_softc ahc,
u_int  port 
)

Definition at line 480 of file aic7xxx_core.c.

uint64_t ahc_inq ( struct ahc_softc ahc,
u_int  port 
)

Definition at line 498 of file aic7xxx_core.c.

int ahc_intr ( struct ahc_softc ahc)

Definition at line 730 of file aic7xxx_core.c.

void ahc_intr_enable ( struct ahc_softc ahc,
int  enable 
)

Definition at line 5592 of file aic7xxx_core.c.

uint16_t ahc_inw ( struct ahc_softc ahc,
u_int  port 
)

Definition at line 466 of file aic7xxx_core.c.

int ahc_is_paused ( struct ahc_softc ahc)

Definition at line 326 of file aic7xxx_core.c.

struct scb* ahc_lookup_scb ( struct ahc_softc ahc,
u_int  tag 
)
read

Definition at line 562 of file aic7xxx_core.c.

int ahc_match_scb ( struct ahc_softc ahc,
struct scb scb,
int  target,
char  channel,
int  lun,
u_int  tag,
role_t  role 
)

Definition at line 5756 of file aic7xxx_core.c.

void ahc_outl ( struct ahc_softc ahc,
u_int  port,
uint32_t  value 
)

Definition at line 489 of file aic7xxx_core.c.

void ahc_outq ( struct ahc_softc ahc,
u_int  port,
uint64_t  value 
)

Definition at line 511 of file aic7xxx_core.c.

void ahc_outw ( struct ahc_softc ahc,
u_int  port,
u_int  value 
)

Definition at line 473 of file aic7xxx_core.c.

void ahc_pause ( struct ahc_softc ahc)

Definition at line 339 of file aic7xxx_core.c.

void ahc_pause_and_flushwork ( struct ahc_softc ahc)

Definition at line 5616 of file aic7xxx_core.c.

void ahc_print_devinfo ( struct ahc_softc ahc,
struct ahc_devinfo devinfo 
)

Definition at line 2835 of file aic7xxx_core.c.

int ahc_print_register ( const ahc_reg_parse_entry_t *  table,
u_int  num_entries,
const char name,
u_int  address,
u_int  value,
u_int cur_column,
u_int  wrap_point 
)

Definition at line 7121 of file aic7xxx_core.c.

int ahc_probe_scbs ( struct ahc_softc ahc)

Definition at line 4697 of file aic7xxx_core.c.

void ahc_qinfifo_requeue_tail ( struct ahc_softc ahc,
struct scb scb 
)

Definition at line 5810 of file aic7xxx_core.c.

void ahc_queue_scb ( struct ahc_softc ahc,
struct scb scb 
)

Definition at line 614 of file aic7xxx_core.c.

int ahc_reset ( struct ahc_softc ahc,
int  reinit 
)

Definition at line 4591 of file aic7xxx_core.c.

int ahc_reset_channel ( struct ahc_softc ahc,
char  channel,
int  initiate_reset 
)

Definition at line 6484 of file aic7xxx_core.c.

int ahc_search_disc_list ( struct ahc_softc ahc,
int  target,
char  channel,
int  lun,
u_int  tag,
int  stop_on_first,
int  remove,
int  save_state 
)

Definition at line 6170 of file aic7xxx_core.c.

int ahc_search_qinfifo ( struct ahc_softc ahc,
int  target,
char  channel,
int  lun,
u_int  tag,
role_t  role,
uint32_t  status,
ahc_search_action  action 
)

Definition at line 5863 of file aic7xxx_core.c.

int ahc_search_untagged_queues ( struct ahc_softc ahc,
ahc_io_ctx_t  ctx,
int  target,
char  channel,
int  lun,
uint32_t  status,
ahc_search_action  action 
)

Definition at line 6072 of file aic7xxx_core.c.

void ahc_set_name ( struct ahc_softc ahc,
char name 
)

Definition at line 4483 of file aic7xxx_core.c.

void ahc_set_syncrate ( struct ahc_softc ahc,
struct ahc_devinfo devinfo,
const struct ahc_syncrate syncrate,
u_int  period,
u_int  offset,
u_int  ppr_options,
u_int  type,
int  paused 
)

Definition at line 2493 of file aic7xxx_core.c.

void ahc_set_unit ( struct ahc_softc ahc,
int  unit 
)

Definition at line 4477 of file aic7xxx_core.c.

void ahc_set_width ( struct ahc_softc ahc,
struct ahc_devinfo devinfo,
u_int  width,
u_int  type,
int  paused 
)

Definition at line 2620 of file aic7xxx_core.c.

int ahc_softc_init ( struct ahc_softc ahc)

Definition at line 4456 of file aic7xxx_core.c.

void ahc_sync_sglist ( struct ahc_softc ahc,
struct scb scb,
int  op 
)

Definition at line 411 of file aic7xxx_core.c.

void ahc_unpause ( struct ahc_softc ahc)

Definition at line 364 of file aic7xxx_core.c.

int ahc_update_neg_request ( struct ahc_softc ahc,
struct ahc_devinfo devinfo,
struct ahc_tmode_tstate tstate,
struct ahc_initiator_tinfo tinfo,
ahc_neg_type  neg_type 
)

Definition at line 2450 of file aic7xxx_core.c.