aic7xxx: deinline large or slow functions
Subsystems (2)
PATCH 1/5 aic7xxx: deinline large or slow functions
Hi Hannes,
I reworked my patches as you requested.
The first one (in this mail) was ACKed by you, so it's just a resend.
Following pathes were not ACKed and are modified.
Please take a look.
Deinlines and moves big functions from .h to .c files. Adds prototypes for ahc_lookup_scb and ahd_lookup_scb to .h files.
--
vda
drivers/scsi/aic7xxx/aic79xx.reg +1 -1
@@ -3648,9 +3648,9 @@ */ KERNEL_TQINPOS { size 1 } - TQINPOS { + TQINPOS { size 1 } /* * Base address of our shared data with the kernel driver in host
drivers/scsi/aic7xxx/aic79xx_core.c +766 -5
812 lines not on this page · raw message
drivers/scsi/aic7xxx/aic79xx_inline.h +86 -817
955 lines not on this page · raw message
drivers/scsi/aic7xxx/aic79xx_osm.c +159 -3
180 lines not on this page · raw message
drivers/scsi/aic7xxx/aic79xx_osm.h +9 -167
210 lines not on this page · raw message
drivers/scsi/aic7xxx/aic7xxx.reg +1 -1
@@ -1435,9 +1435,9 @@ */ KERNEL_TQINPOS { size 1 } - TQINPOS { + TQINPOS { size 1 } ARG_1 { size 1
drivers/scsi/aic7xxx/aic7xxx_core.c +506 -2
534 lines not on this page · raw message
drivers/scsi/aic7xxx/aic7xxx_inline.h +56 -553
289 lines not on this page · raw message
drivers/scsi/aic7xxx/aic7xxx_osm.c +73 -4
77 lines not on this page · raw message
drivers/scsi/aic7xxx/aic7xxx_osm.h +11 -126
137 lines not on this page · raw message
drivers/scsi/aic7xxx/aic7xxx_osm_pci.c +51 -0
51 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.
PATCH 2/5 aic7xxx: add static
This patch adds static (and sometimes const) keywords where appropriate.
--
vda
drivers/scsi/aic7xxx/aic79xx.h +3 -14
@@ -1313,17 +1313,17 @@struct ahd_pci_identity {uint64_t full_id;uint64_t id_mask; -char *name; +const char *name;ahd_device_setup_t *setup; };/***************************** VL/EISA Declarations ***************************/ struct aic7770_identity {uint32_t full_id;uint32_t id_mask; -char *name; +const char *name;ahd_device_setup_t *setup; };extern struct aic7770_identity aic7770_ident_table [];extern const int ahd_num_aic7770_devs;
@@ -1332,9 +1332,8 @@#define AHD_EISA_IOSIZE 0x100/*************************** Function Declarations ****************************/ /******************************************************************************/ -void ahd_reset_cmds_pending (struct ahd_softc *ahd);/***************************** PCI Front End *********************************/ struct ahd_pci_identity *ahd_find_pci_device (ahd_dev_softc_t ); int ahd_pci_config(struct ahd_softc *,
@@ -1375,18 +1374,8 @@ u_int addr, u_int value);int ahd_read_flexport (struct ahd_softc *ahd,u_int addr,uint8_t *value); -/*************************** Interrupt Services *******************************/ -void ahd_run_qoutfifo (struct ahd_softc *ahd); -#ifdef AHD_TARGET_MODE -void ahd_run_tqinfifo (struct ahd_softc *ahd,int paused); -#endif -void ahd_handle_hwerrint (struct ahd_softc *ahd); -void ahd_handle_seqint (struct ahd_softc *ahd,u_int intstat); -void ahd_handle_scsiint (struct ahd_softc *ahd, -u_int intstat); -/***************************** Error Recovery *********************************/ typedef enum { SEARCH_COMPLETE, SEARCH_COUNT,
@@ -1478,9 +1467,9 @@#endif void ahd_print_devinfo (struct ahd_softc *ahd,struct ahd_devinfo *devinfo);void ahd_dump_card_state (struct ahd_softc *ahd); -int ahd_print_register(ahd_reg_parse_entry_t *table, +int ahd_print_register(const ahd_reg_parse_entry_t *table, u_int num_entries, const char *name, u_int address, u_int value,
drivers/scsi/aic7xxx/aic79xx_core.c +55 -33
342 lines not on this page · raw message
drivers/scsi/aic7xxx/aic79xx_inline.h +0 -44
85 lines not on this page · raw message
drivers/scsi/aic7xxx/aic79xx_osm.c +3 -2
@@ -387,9 +387,8 @@/***************************** Low Level I/O **********************************/ uint8_t ahd_inb (struct ahd_softc * ahd,long port); -uint16_t ahd_inw_atomic (struct ahd_softc * ahd,long port);void ahd_outb (struct ahd_softc * ahd,long port,uint8_t val);void ahd_outw_atomic (struct ahd_softc * ahd,long port,uint16_t val); void ahd_outsb(struct ahd_softc * ahd, long port,
@@ -410,9 +409,10 @@mb ();return (x); } -uint16_t +#if 0 /* unused */ +static uint16_t ahd_inw_atomic (struct ahd_softc * ahd,long port) {uint8_t x;
@@ -423,8 +423,9 @@ }mb ();return (x); } +#endif void ahd_outb (struct ahd_softc * ahd,long port,uint8_t val) {
drivers/scsi/aic7xxx/aic79xx_osm.h +0 -1
@@ -373,9 +373,8 @@void ahd_delay (long );/***************************** Low Level I/O **********************************/ uint8_t ahd_inb (struct ahd_softc * ahd,long port); -uint16_t ahd_inw_atomic (struct ahd_softc * ahd,long port);void ahd_outb (struct ahd_softc * ahd,long port,uint8_t val);void ahd_outw_atomic (struct ahd_softc * ahd,long port,uint16_t val); void ahd_outsb(struct ahd_softc * ahd, long port,
drivers/scsi/aic7xxx/aic79xx_pci.c +1 -1
@@ -96,9 +96,9 @@static ahd_device_setup_t ahd_aic7901A_setup;static ahd_device_setup_t ahd_aic7902_setup;static ahd_device_setup_t ahd_aic790X_setup; -static struct ahd_pci_identity ahd_pci_ident_table [] = +static struct ahd_pci_identity ahd_pci_ident_table[] = {/* aic7901 based controllers */ {ID_AHA_29320A ,
drivers/scsi/aic7xxx/aic7xxx.h +5 -44
122 lines not on this page · raw message
drivers/scsi/aic7xxx/aic7xxx_core.c +124 -56
587 lines not on this page · raw message
drivers/scsi/aic7xxx/aic7xxx_inline.h +0 -55
91 lines not on this page · raw message
drivers/scsi/aic7xxx/aic7xxx_osm.c +3 -3
@@ -2385,9 +2385,9 @@struct ahc_devinfo devinfo;unsigned int ppr_options = tinfo->goal.ppr_options;unsigned long flags;unsigned long offset = tinfo->goal.offset; -struct ahc_syncrate *syncrate; +const struct ahc_syncrate *syncrate;if (offset ==0 ) offset =MAX_OFFSET ;
@@ -2429,9 +2429,9 @@struct ahc_devinfo devinfo;unsigned int ppr_options =0 ;unsigned int period =0 ;unsigned long flags; -struct ahc_syncrate *syncrate =NULL ; +const struct ahc_syncrate *syncrate =NULL ;ahc_compile_devinfo (&devinfo, shost->this_id, starget->id,0 , starget->channel +'A' ,ROLE_INITIATOR );if (offset !=0 ) {
@@ -2459,9 +2459,9 @@ & ~MSG_EXT_PPR_DT_REQ ;unsigned int period = tinfo->goal.period;unsigned int width = tinfo->goal.width;unsigned long flags; -struct ahc_syncrate *syncrate; +const struct ahc_syncrate *syncrate;if (dt &&spi_max_width (starget)) { ppr_options |=MSG_EXT_PPR_DT_REQ ;if (!width)
drivers/scsi/aic7xxx/aic7xxx_osm.h +0 -3
@@ -397,11 +397,8 @@off_t offset;int pos; }; -void ahc_format_transinfo (struct info_str *info, -struct ahc_transinfo *tinfo); -/******************************** Locking *************************************/ /* Lock protecting internal data structures */ static __inline void
drivers/scsi/aic7xxx/aic7xxx_proc.c +1 -1
@@ -136,9 +136,9 @@copy_mem_info (info, buf, len);return (len); } -void +static void ahc_format_transinfo (struct info_str *info,struct ahc_transinfo *tinfo) {u_int speed;u_int freq;
PATCH 3/5 aic7xxx: add const
This patch adds more const keywords where appropriate.
--
vda
drivers/scsi/aic7xxx/aic79xx.h +3 -3
@@ -814,9 +814,9 @@*/ struct ahd_phase_table_entry {uint8_t phase;uint8_t mesg_out;/* Message response to parity errors */ -char *phasemsg; +const char *phasemsg; };/************************** Serial EEPROM Format ******************************/
@@ -1334,11 +1334,11 @@/*************************** Function Declarations ****************************/ /******************************************************************************/ /***************************** PCI Front End *********************************/ -struct ahd_pci_identity *ahd_find_pci_device (ahd_dev_softc_t ); +const struct ahd_pci_identity *ahd_find_pci_device (ahd_dev_softc_t );int ahd_pci_config (struct ahd_softc *, -struct ahd_pci_identity *); +const struct ahd_pci_identity *);int ahd_pci_test_register_access (struct ahd_softc *);#ifdef CONFIG_PM void ahd_pci_suspend (struct ahd_softc *);void ahd_pci_resume (struct ahd_softc *);
drivers/scsi/aic7xxx/aic79xx_core.c +14 -14
@@ -51,9 +51,9 @@#endif /***************************** Lookup Tables **********************************/ -static char *ahd_chip_names[] = +static const char *const ahd_chip_names[] = {"NONE" ,"aic7901" ,"aic7902" ,
@@ -65,12 +65,12 @@* Hardware error codes. */ struct ahd_hard_error_entry {uint8_t errno; -char *errmesg; +const char *errmesg; }; -static struct ahd_hard_error_entry ahd_hard_errors[] = { +static const struct ahd_hard_error_entry ahd_hard_errors[] = { {DSCTMOUT ,"Discard Timer has timed out" }, {ILLOPCODE ,"Illegal Opcode in sequencer program" }, {SQPARERR ,"Sequencer Parity Error" }, {DPARERR ,"Data-path Parity Error" },
@@ -78,9 +78,9 @@ { CIOPARERR, "CIOBUS Parity Error" }, };static const u_int num_errors =ARRAY_SIZE (ahd_hard_errors); -static struct ahd_phase_table_entry ahd_phase_table[] = +static const struct ahd_phase_table_entry ahd_phase_table[] = { {P_DATAOUT ,MSG_NOOP ,"in Data-out phase" }, {P_DATAIN ,MSG_INITIATOR_DET_ERR ,"in Data-in phase" }, { P_DATAOUT_DT, MSG_NOOP, "in DT Data-out phase" },
@@ -212,9 +212,9 @@static void ahd_dumpseq (struct ahd_softc *ahd);#endif static void ahd_loadseq (struct ahd_softc *ahd);static int ahd_check_patch (struct ahd_softc *ahd, -struct patch **start_patch, +const struct patch **start_patch,u_int start_instr,u_int *skip_addr);static u_int ahd_resolve_seqaddr (struct ahd_softc *ahd,u_int address); static void ahd_download_instr(struct ahd_softc *ahd,
@@ -253,9 +253,9 @@static void ahd_freeze_devq (struct ahd_softc *ahd,struct scb *scb);static void ahd_handle_scb_status (struct ahd_softc *ahd,struct scb *scb); -static struct ahd_phase_table_entry *ahd_lookup_phase_entry (int phase); +static const struct ahd_phase_table_entry *ahd_lookup_phase_entry (int phase);static void ahd_shutdown (void *arg); static void ahd_update_coalescing_values(struct ahd_softc *ahd, u_int timer, u_int maxcmds,
@@ -4336,13 +4336,13 @@printf ("%s:%c:%d:%d: " ,ahd_name (ahd),'A' , devinfo->target, devinfo->lun); } -static struct ahd_phase_table_entry * +static const struct ahd_phase_table_entry *ahd_lookup_phase_entry (int phase) { -struct ahd_phase_table_entry *entry; -struct ahd_phase_table_entry *last_entry; +const struct ahd_phase_table_entry *entry; +const struct ahd_phase_table_entry *last_entry;/* * num_phases doesn't include the default entry which * will be returned if the phase doesn't match.
@@ -9353,9 +9353,9 @@ {struct cs cs_table[num_critical_sections];u_int begin_set[num_critical_sections];u_int end_set[num_critical_sections]; -struct patch *cur_patch; +const struct patch *cur_patch;u_int cs_count;u_int cur_cs;u_int i;int downloaded;
@@ -9508,13 +9508,13 @@ } }static int -ahd_check_patch (struct ahd_softc *ahd,struct patch **start_patch, +ahd_check_patch (struct ahd_softc *ahd,const struct patch **start_patch,u_int start_instr,u_int *skip_addr) { -struct patch *cur_patch; -struct patch *last_patch; +const struct patch *cur_patch; +const struct patch *last_patch;u_int num_patches; num_patches =ARRAY_SIZE (patches); last_patch = &patches[num_patches];
@@ -9546,9 +9546,9 @@static u_int ahd_resolve_seqaddr (struct ahd_softc *ahd,u_int address) { -struct patch *cur_patch; +const struct patch *cur_patch;int address_offset;u_int skip_addr;u_int i;
drivers/scsi/aic7xxx/aic79xx_osm.c +8 -10
@@ -192,9 +192,9 @@ }#define AIC79XX_PRECOMP_INDEX 0#define AIC79XX_SLEWRATE_INDEX 1#define AIC79XX_AMPLITUDE_INDEX 2 -static struct ahd_linux_iocell_opts aic79xx_iocell_info[] = +static const struct ahd_linux_iocell_opts aic79xx_iocell_info[] = {AIC79XX_DEFAULT_IOOPTS ,AIC79XX_DEFAULT_IOOPTS ,AIC79XX_DEFAULT_IOOPTS ,
@@ -556,15 +556,13 @@ bp = &buffer[0 ]; ahd = *(struct ahd_softc **)host->hostdata;memset (bp,0 ,sizeof (buffer)); -strcpy (bp,"Adaptec AIC79XX PCI-X SCSI HBA DRIVER, Rev " ); -strcat (bp,AIC79XX_DRIVER_VERSION ); -strcat (bp,"\n" ); -strcat (bp," <" ); +strcpy (bp,"Adaptec AIC79XX PCI-X SCSI HBA DRIVER, Rev " AIC79XX_DRIVER_VERSION "\n" +" <" );strcat (bp, ahd->description); -strcat (bp,">\n" ); -strcat (bp," " ); +strcat (bp,">\n" +" " );ahd_controller_info (ahd, ahd_info);strcat (bp, ahd_info);return (bp);
@@ -1147,9 +1145,9 @@int i, n;char *p;char *end; -static struct { +static const struct {const char *name;uint32_t *flag; } options[] = { {"extended" , &aic79xx_extended },
@@ -1379,9 +1377,9 @@/* * Lookup and commit any modified IO Cell options. */ if (ahd->unit <ARRAY_SIZE (aic79xx_iocell_info)) { -struct ahd_linux_iocell_opts *iocell_opts; +const struct ahd_linux_iocell_opts *iocell_opts; iocell_opts = &aic79xx_iocell_info[ahd->unit];if (iocell_opts->precomp !=AIC79XX_DEFAULT_PRECOMP )AHD_SET_PRECOMP (ahd, iocell_opts->precomp);
@@ -2769,9 +2767,9 @@if (pcomp &&spi_max_width (starget)) {uint8_t precomp;if (ahd->unit <ARRAY_SIZE (aic79xx_iocell_info)) { -struct ahd_linux_iocell_opts *iocell_opts; +const struct ahd_linux_iocell_opts *iocell_opts; iocell_opts = &aic79xx_iocell_info[ahd->unit]; precomp = iocell_opts->precomp; }else {
drivers/scsi/aic7xxx/aic79xx_osm_pci.c +2 -2
@@ -48,9 +48,9 @@#define ID (x) \ ID2C(x), \ ID2C(IDIROC(x)) -static struct pci_device_id ahd_linux_pci_id_table[] = { +static const struct pci_device_id ahd_linux_pci_id_table[] = {/* aic7901 based controllers */ ID (ID_AHA_29320A ),ID (ID_AHA_29320ALP ),ID (ID_AHA_29320LPE ),
@@ -158,9 +158,9 @@ {char buf[80 ];struct ahd_softc *ahd;ahd_dev_softc_t pci; -struct ahd_pci_identity *entry; +const struct ahd_pci_identity *entry;char *name;int error;struct device *dev = &pdev->dev;
drivers/scsi/aic7xxx/aic79xx_pci.c +4 -4
@@ -96,9 +96,9 @@static ahd_device_setup_t ahd_aic7901A_setup;static ahd_device_setup_t ahd_aic7902_setup;static ahd_device_setup_t ahd_aic790X_setup; -static struct ahd_pci_identity ahd_pci_ident_table[] = +static const struct ahd_pci_identity ahd_pci_ident_table[] = {/* aic7901 based controllers */ {ID_AHA_29320A ,
@@ -252,17 +252,17 @@ u_int adapter_control);static void ahd_pci_split_intr (struct ahd_softc *ahd,u_int intstat);static void ahd_pci_intr (struct ahd_softc *ahd); -struct ahd_pci_identity * +const struct ahd_pci_identity *ahd_find_pci_device (ahd_dev_softc_t pci) {uint64_t full_id;uint16_t device;uint16_t vendor;uint16_t subdevice;uint16_t subvendor; -struct ahd_pci_identity *entry; +const struct ahd_pci_identity *entry;u_int i; vendor =ahd_pci_read_config (pci,PCIR_DEVVENDOR ,/*bytes*/ 2 ); device =ahd_pci_read_config (pci,PCIR_DEVICE ,/*bytes*/ 2 );
@@ -291,9 +291,9 @@return (NULL ); }int -ahd_pci_config (struct ahd_softc *ahd,struct ahd_pci_identity *entry) +ahd_pci_config (struct ahd_softc *ahd,const struct ahd_pci_identity *entry) {struct scb_data *shared_scb_data;u_int command;uint32_t devconfig;
drivers/scsi/aic7xxx/aic79xx_proc.c +1 -1
@@ -56,9 +56,9 @@/* * Table of syncrates that don't follow the "divisible by 4" * rule. This table will be expanded in future SCSI specs. */ -static struct { +static const struct {u_int period_factor;u_int period;/* in 100ths of ns */ } scsi_syncrates[] = { {0x08 ,625 },/* FAST-160 */
drivers/scsi/aic7xxx/aic7xxx.h +3 -3
@@ -1113,9 +1113,9 @@struct ahc_pci_identity {uint64_t full_id;uint64_t id_mask; -char *name; +const char *name;ahc_device_setup_t *setup; };/***************************** VL/EISA Declarations ***************************/
@@ -1134,11 +1134,11 @@/*************************** Function Declarations ****************************/ /******************************************************************************/ /***************************** PCI Front End *********************************/ -struct ahc_pci_identity *ahc_find_pci_device (ahc_dev_softc_t ); +const struct ahc_pci_identity *ahc_find_pci_device (ahc_dev_softc_t );int ahc_pci_config (struct ahc_softc *, -struct ahc_pci_identity *); +const struct ahc_pci_identity *);int ahc_pci_test_register_access (struct ahc_softc *);#ifdef CONFIG_PM void ahc_pci_resume (struct ahc_softc *ahc);#endif
drivers/scsi/aic7xxx/aic7xxx_93cx6.c +8 -8
@@ -83,18 +83,18 @@uint8_t bits[11 ]; };/* Short opcodes for the c46 */ -static struct seeprom_cmd seeprom_ewen = {9 , {1 ,0 ,0 ,1 ,1 ,0 ,0 ,0 ,0 }}; -static struct seeprom_cmd seeprom_ewds = {9 , {1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 }}; +static const struct seeprom_cmd seeprom_ewen = {9 , {1 ,0 ,0 ,1 ,1 ,0 ,0 ,0 ,0 }}; +static const struct seeprom_cmd seeprom_ewds = {9 , {1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 }};/* Long opcodes for the C56/C66 */ -static struct seeprom_cmd seeprom_long_ewen = {11 , {1 ,0 ,0 ,1 ,1 ,0 ,0 ,0 ,0 }}; -static struct seeprom_cmd seeprom_long_ewds = {11 , {1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 }}; +static const struct seeprom_cmd seeprom_long_ewen = {11 , {1 ,0 ,0 ,1 ,1 ,0 ,0 ,0 ,0 }}; +static const struct seeprom_cmd seeprom_long_ewds = {11 , {1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 }};/* Common opcodes */ -static struct seeprom_cmd seeprom_write = {3 , {1 ,0 ,1 }}; -static struct seeprom_cmd seeprom_read = {3 , {1 ,1 ,0 }}; +static const struct seeprom_cmd seeprom_write = {3 , {1 ,0 ,1 }}; +static const struct seeprom_cmd seeprom_read = {3 , {1 ,1 ,0 }};/* * Wait for the SEERDY to go high; about 800 ns. */
@@ -107,9 +107,9 @@/* * Send a START condition and the given command */ static void -send_seeprom_cmd (struct seeprom_descriptor *sd,struct seeprom_cmd *cmd) +send_seeprom_cmd (struct seeprom_descriptor *sd,const struct seeprom_cmd *cmd) {uint8_t temp;int i =0 ;
@@ -226,9 +226,9 @@int ahc_write_seeprom (struct seeprom_descriptor *sd,uint16_t *buf,u_int start_addr,u_int count) { -struct seeprom_cmd *ewen, *ewds; +const struct seeprom_cmd *ewen, *ewds;uint16_t v;uint8_t temp;int i, k;
drivers/scsi/aic7xxx/aic7xxx_core.c +6 -6
@@ -220,9 +220,9 @@static void ahc_dumpseq (struct ahc_softc *ahc);#endif static int ahc_loadseq (struct ahc_softc *ahc);static int ahc_check_patch (struct ahc_softc *ahc, -struct patch **start_patch, +const struct patch **start_patch,u_int start_instr,u_int *skip_addr);static void ahc_download_instr (struct ahc_softc *ahc,u_int instrptr,uint8_t *dconsts);#ifdef AHC_TARGET_MODE
@@ -6850,9 +6850,9 @@ {struct cs cs_table[num_critical_sections];u_int begin_set[num_critical_sections];u_int end_set[num_critical_sections]; -struct patch *cur_patch; +const struct patch *cur_patch;u_int cs_count;u_int cur_cs;u_int i;u_int skip_addr;
@@ -6955,13 +6955,13 @@return (0 ); }static int -ahc_check_patch (struct ahc_softc *ahc,struct patch **start_patch, +ahc_check_patch (struct ahc_softc *ahc,const struct patch **start_patch,u_int start_instr,u_int *skip_addr) { -struct patch *cur_patch; -struct patch *last_patch; +const struct patch *cur_patch; +const struct patch *last_patch;u_int num_patches; num_patches =ARRAY_SIZE (patches); last_patch = &patches[num_patches];
@@ -7018,9 +7018,9 @@case AIC_OP_JNZ :case AIC_OP_JE :case AIC_OP_JZ : { -struct patch *cur_patch; +const struct patch *cur_patch;int address_offset;u_int address;u_int skip_addr;u_int i;
drivers/scsi/aic7xxx/aic7xxx_osm.c +5 -7
@@ -510,15 +510,13 @@ bp = &buffer[0 ]; ahc = *(struct ahc_softc **)host->hostdata;memset (bp,0 ,sizeof (buffer)); -strcpy (bp,"Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev " ); -strcat (bp,AIC7XXX_DRIVER_VERSION ); -strcat (bp,"\n" ); -strcat (bp," <" ); +strcpy (bp,"Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev " AIC7XXX_DRIVER_VERSION "\n" +" <" );strcat (bp, ahc->description); -strcat (bp,">\n" ); -strcat (bp," " ); +strcat (bp,">\n" +" " );ahc_controller_info (ahc, ahc_info);strcat (bp, ahc_info);strcat (bp,"\n" );
@@ -1032,9 +1030,9 @@int i, n;char *p;char *end; -static struct { +static const struct {const char *name;uint32_t *flag; } options[] = { {"extended" , &aic7xxx_extended },
drivers/scsi/aic7xxx/aic7xxx_osm_pci.c +2 -2
@@ -45,9 +45,9 @@/* Define the macro locally since it's different for different class of chips. */ #define ID (x) ID_C(x, PCI_CLASS_STORAGE_SCSI) -static struct pci_device_id ahc_linux_pci_id_table[] = { +static const struct pci_device_id ahc_linux_pci_id_table[] = {/* aic7850 based controllers */ ID (ID_AHA_2902_04_10_15_20C_30C ),/* aic7860 based controllers */ ID (ID_AHA_2930CU ),
@@ -205,9 +205,9 @@char buf[80 ];const uint64_t mask_39bit =0x7FFFFFFFFFULL ;struct ahc_softc *ahc;ahc_dev_softc_t pci; -struct ahc_pci_identity *entry; +const struct ahc_pci_identity *entry;char *name;int error;struct device *dev = &pdev->dev;
drivers/scsi/aic7xxx/aic7xxx_pci.c +4 -5
@@ -167,10 +167,9 @@static ahc_device_setup_t ahc_aha394XX_setup;static ahc_device_setup_t ahc_aha494XX_setup;static ahc_device_setup_t ahc_aha398XX_setup; -static struct ahc_pci_identity ahc_pci_ident_table [] = -{ +static const struct ahc_pci_identity ahc_pci_ident_table[] = {/* aic7850 based controllers */ {ID_AHA_2902_04_10_15_20C_30C ,ID_ALL_MASK ,
@@ -667,17 +666,17 @@ }return (result); } -struct ahc_pci_identity * +const struct ahc_pci_identity *ahc_find_pci_device (ahc_dev_softc_t pci) {uint64_t full_id;uint16_t device;uint16_t vendor;uint16_t subdevice;uint16_t subvendor; -struct ahc_pci_identity *entry; +const struct ahc_pci_identity *entry;u_int i; vendor =ahc_pci_read_config (pci,PCIR_DEVVENDOR ,/*bytes*/ 2 ); device =ahc_pci_read_config (pci,PCIR_DEVICE ,/*bytes*/ 2 );
@@ -709,9 +708,9 @@return (NULL ); }int -ahc_pci_config (struct ahc_softc *ahc,struct ahc_pci_identity *entry) +ahc_pci_config (struct ahc_softc *ahc,const struct ahc_pci_identity *entry) {u_int command;u_int our_id;u_int sxfrctl1;
drivers/scsi/aic7xxx/aic7xxx_proc.c +1 -1
@@ -57,9 +57,9 @@/* * Table of syncrates that don't follow the "divisible by 4" * rule. This table will be expanded in future SCSI specs. */ -static struct { +static const struct {u_int period_factor;u_int period;/* in 100ths of ns */ } scsi_syncrates[] = { {0x08 ,625 },/* FAST-160 */
PATCH 4/5 aic7xxx: teach aicasm to not emit unused debug code/data
Add "dont_generate_debug_code" syntax handling to aicasm_gram.y
aic79xx.reg, aic7xxx.reg: add dont_generate_debug_code keyword for registers which are never referenced by the driver.
aicasm.c, aicasm_symbol.[ch]: don't emit code for those regs; also add "const" keyword to generated code in few places.
--
vda
drivers/scsi/aic7xxx/aic79xx.reg +237 -0
@@ -79,8 +79,14 @@ mvi SEQINTCODE, code; \ } /* + * Registers marked "dont_generate_debug_code" are not (yet) referenced + * from the driver code, and this keyword inhibit generation + * of debug code for them. + */ + +/* * Mode Pointer * Controls which of the 5, 512byte, address spaces should be used * as the source and destination of any register accesses in our * register window.
@@ -90,8 +96,9 @@ access_mode RW field DST_MODE 0x70 field SRC_MODE 0x07 mode_pointer + dont_generate_debug_code } const SRC_MODE_SHIFT 0 const DST_MODE_SHIFT 4
@@ -189,8 +196,9 @@ TRACEPOINT3, SAW_HWERR, BAD_SCB_STATUS } + dont_generate_debug_code } /* * Clear Host Interrupt
@@ -205,8 +213,9 @@ field CLRSCSIINT 0x08 field CLRSEQINT 0x04 field CLRCMDINT 0x02 field CLRSPLTINT 0x01 + dont_generate_debug_code } /* * Error Register
@@ -220,8 +229,9 @@ field DPARERR 0x10 field SQPARERR 0x08 field ILLOPCODE 0x04 field DSCTMOUT 0x02 + dont_generate_debug_code } /* * Clear Error
@@ -235,8 +245,9 @@ field CLRDPARERR 0x10 field CLRSQPARERR 0x08 field CLRILLOPCODE 0x04 field CLRDSCTMOUT 0x02 + dont_generate_debug_code } /* * Host Control Register
@@ -252,8 +263,9 @@ field PAUSE 0x04 field INTEN 0x02 field CHIPRST 0x01 field CHIPRSTACK 0x01 + dont_generate_debug_code } /* * Host New SCB Queue Offset
@@ -261,16 +273,18 @@ register HNSCB_QOFF { address 0x006 access_mode RW size 2 + dont_generate_debug_code } /* * Host Empty SCB Queue Offset */ register HESCB_QOFF { address 0x008 access_mode RW + dont_generate_debug_code } /* * Host Mailbox
@@ -305,8 +319,9 @@ field CLRSEQ_SEQINT 0x08 field CLRSEQ_SCSIINT 0x04 field CLRSEQ_PCIINT 0x02 field CLRSEQ_SPLTINT 0x01 + dont_generate_debug_code } /* * Software Timer
@@ -314,8 +329,9 @@ register SWTIMER { address 0x00E access_mode RW size 2 + dont_generate_debug_code } /* * SEQ New SCB Queue Offset
@@ -324,8 +340,9 @@ address 0x010 access_mode RW size 2 modes M_CCHAN + dont_generate_debug_code } /* * SEQ Empty SCB Queue Offset
@@ -333,8 +350,9 @@ register SESCB_QOFF { address 0x012 access_mode RW modes M_CCHAN + dont_generate_debug_code } /* * SEQ Done SCB Queue Offset
@@ -343,8 +361,9 @@ address 0x014 access_mode RW modes M_CCHAN size 2 + dont_generate_debug_code } /* * Queue Offset Control & Status
@@ -371,8 +390,9 @@ SCB_QSIZE_4096, SCB_QSIZE_8192, SCB_QSIZE_16384 } + dont_generate_debug_code } /* * Interrupt Control
@@ -422,8 +442,9 @@ field MPARCKEN 0x20 /* Memory Parity Check Enable */ field EXTREQLCK 0x10 /* External Request Lock */ field DISABLE_TWATE 0x02 /* Rev B or greater */ field CIOPARCKEN 0x01 /* Internal bus parity error enable */ + dont_generate_debug_code } /* * Data FIFO Status
@@ -450,8 +471,9 @@ modes M_DFF0, M_DFF1 field SG_ADDR_MASK 0xf8 field ODD_SEG 0x04 field LAST_SEG 0x02 + dont_generate_debug_code } register SG_CACHE_SHADOW { address 0x01B
@@ -472,8 +494,9 @@ modes M_CFG field RESET_HARB 0x80 field RETRY_SWEN 0x08 field USE_TIME 0x07 + dont_generate_debug_code } /* * Data Channel Host Address
@@ -482,8 +505,9 @@ address 0x070 access_mode RW size 8 modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * Host Overlay DMA Address
@@ -492,8 +516,9 @@ address 0x070 access_mode RW size 8 modes M_SCSI + dont_generate_debug_code } /* * PCI PLL Delay.
@@ -503,8 +528,9 @@ access_mode RW size 1 modes M_CFG field SPLIT_DROP_REQ 0x80 + dont_generate_debug_code } /* * Data Channel Host Count
@@ -513,8 +539,9 @@ address 0x078 access_mode RW size 3 modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * Host Overlay DMA Count
@@ -523,8 +550,9 @@ address 0x078 access_mode RW size 2 modes M_SCSI + dont_generate_debug_code } /* * Host Overlay DMA Enable
@@ -532,8 +560,9 @@ register HODMAEN { address 0x07A access_mode RW modes M_SCSI + dont_generate_debug_code } /* * Scatter/Gather Host Address
@@ -542,8 +571,9 @@ address 0x07C access_mode RW size 8 modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * SCB Host Address
@@ -552,8 +582,9 @@ address 0x07C access_mode RW size 8 modes M_CCHAN + dont_generate_debug_code } /* * Scatter/Gather Host Count
@@ -561,8 +592,9 @@ register SGHCNT { address 0x084 access_mode RW modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * SCB Host Count
@@ -570,8 +602,9 @@ register SCBHCNT { address 0x084 access_mode RW modes M_CCHAN + dont_generate_debug_code } /* * Data FIFO Threshold
@@ -599,8 +632,9 @@ RD_DFTHRSH_85, RD_DFTHRSH_90, RD_DFTHRSH_MAX } + dont_generate_debug_code } /* * ROM Address
@@ -608,8 +642,9 @@ register ROMADDR { address 0x08A access_mode RW size 3 + dont_generate_debug_code } /* * ROM Control
@@ -620,16 +655,18 @@ field ROMOP 0xE0 field ROMSPD 0x18 field REPEAT 0x02 field RDY 0x01 + dont_generate_debug_code } /* * ROM Data */ register ROMDATA { address 0x08E access_mode RW + dont_generate_debug_code } /* * Data Channel Receive Message 0
@@ -639,8 +676,9 @@ access_mode RO modes M_DFF0, M_DFF1 field CDNUM 0xF8 field CFNUM 0x07 + dont_generate_debug_code } /* * CMC Recieve Message 0
@@ -650,8 +688,9 @@ access_mode RO modes M_CCHAN field CDNUM 0xF8 field CFNUM 0x07 + dont_generate_debug_code } /* * Overlay Recieve Message 0
@@ -661,8 +700,9 @@ access_mode RO modes M_SCSI field CDNUM 0xF8 field CFNUM 0x07 + dont_generate_debug_code } /* * Relaxed Order Enable
@@ -676,8 +716,9 @@ field CMCROEN 0x08 field SGROEN 0x04 field DCH1ROEN 0x02 field DCH0ROEN 0x01 + dont_generate_debug_code } /* * Data Channel Receive Message 1
@@ -686,8 +727,9 @@ address 0x091 access_mode RO modes M_DFF0, M_DFF1 field CBNUM 0xFF + dont_generate_debug_code } /* * CMC Recieve Message 1
@@ -696,8 +738,9 @@ address 0x091 access_mode RO modes M_CCHAN field CBNUM 0xFF + dont_generate_debug_code } /* * Overlay Recieve Message 1
@@ -706,8 +749,9 @@ address 0x091 access_mode RO modes M_SCSI field CBNUM 0xFF + dont_generate_debug_code } /* * No Snoop Enable
@@ -721,8 +765,9 @@ field CMCNSEN 0x08 field SGNSEN 0x04 field DCH1NSEN 0x02 field DCH0NSEN 0x01 + dont_generate_debug_code } /* * Data Channel Receive Message 2
@@ -731,8 +776,9 @@ address 0x092 access_mode RO modes M_DFF0, M_DFF1 field MINDEX 0xFF + dont_generate_debug_code } /* * CMC Recieve Message 2
@@ -741,8 +787,9 @@ address 0x092 access_mode RO modes M_CCHAN field MINDEX 0xFF + dont_generate_debug_code } /* * Overlay Recieve Message 2
@@ -751,8 +798,9 @@ address 0x092 access_mode RO modes M_SCSI field MINDEX 0xFF + dont_generate_debug_code } /* * Outstanding Split Transactions
@@ -760,8 +808,9 @@ register OST { address 0x092 access_mode RW modes M_CFG + dont_generate_debug_code } /* * Data Channel Receive Message 3
@@ -770,8 +819,9 @@ address 0x093 access_mode RO modes M_DFF0, M_DFF1 field MCLASS 0x0F + dont_generate_debug_code } /* * CMC Recieve Message 3
@@ -780,8 +830,9 @@ address 0x093 access_mode RO modes M_CCHAN field MCLASS 0x0F + dont_generate_debug_code } /* * Overlay Recieve Message 3
@@ -790,8 +841,9 @@ address 0x093 access_mode RO modes M_SCSI field MCLASS 0x0F + dont_generate_debug_code } /* * PCI-X Control
@@ -806,8 +858,9 @@ field SPLTSTADIS 0x08 field SRSPDPEEN 0x04 field TSCSERREN 0x02 field CMPABCDIS 0x01 + dont_generate_debug_code } /* * CMC Sequencer Byte Count
@@ -815,8 +868,9 @@ register CMCSEQBCNT { address 0x094 access_mode RO modes M_CCHAN + dont_generate_debug_code } /* * Overlay Sequencer Byte Count
@@ -824,8 +878,9 @@ register OVLYSEQBCNT { address 0x094 access_mode RO modes M_SCSI + dont_generate_debug_code } /* * Data Channel Sequencer Byte Count
@@ -834,8 +889,9 @@ address 0x094 access_mode RO size 2 modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * Data Channel Split Status 0
@@ -851,8 +907,9 @@ field CNTNOTCMPLT 0x08 field RXOVRUN 0x04 field RXSCEMSG 0x02 field RXSPLTRSP 0x01 + dont_generate_debug_code } /* * CMC Split Status 0
@@ -868,8 +925,9 @@ field CNTNOTCMPLT 0x08 field RXOVRUN 0x04 field RXSCEMSG 0x02 field RXSPLTRSP 0x01 + dont_generate_debug_code } /* * Overlay Split Status 0
@@ -885,8 +943,9 @@ field CNTNOTCMPLT 0x08 field RXOVRUN 0x04 field RXSCEMSG 0x02 field RXSPLTRSP 0x01 + dont_generate_debug_code } /* * Data Channel Split Status 1
@@ -895,8 +954,9 @@ address 0x097 access_mode RW modes M_DFF0, M_DFF1 field RXDATABUCKET 0x01 + dont_generate_debug_code } /* * CMC Split Status 1
@@ -905,8 +965,9 @@ address 0x097 access_mode RW modes M_CCHAN field RXDATABUCKET 0x01 + dont_generate_debug_code } /* * Overlay Split Status 1
@@ -915,8 +976,9 @@ address 0x097 access_mode RW modes M_SCSI field RXDATABUCKET 0x01 + dont_generate_debug_code } /* * S/G Receive Message 0
@@ -926,8 +988,9 @@ access_mode RO modes M_DFF0, M_DFF1 field CDNUM 0xF8 field CFNUM 0x07 + dont_generate_debug_code } /* * S/G Receive Message 1
@@ -936,8 +999,9 @@ address 0x099 access_mode RO modes M_DFF0, M_DFF1 field CBNUM 0xFF + dont_generate_debug_code } /* * S/G Receive Message 2
@@ -946,8 +1010,9 @@ address 0x09A access_mode RO modes M_DFF0, M_DFF1 field MINDEX 0xFF + dont_generate_debug_code } /* * S/G Receive Message 3
@@ -956,8 +1021,9 @@ address 0x09B access_mode RO modes M_DFF0, M_DFF1 field MCLASS 0x0F + dont_generate_debug_code } /* * Slave Split Out Address 0
@@ -966,8 +1032,9 @@ address 0x098 access_mode RO modes M_SCSI field LOWER_ADDR 0x7F + dont_generate_debug_code } /* * Slave Split Out Address 1
@@ -977,8 +1044,9 @@ access_mode RO modes M_SCSI field REQ_DNUM 0xF8 field REQ_FNUM 0x07 + dont_generate_debug_code } /* * Slave Split Out Address 2
@@ -987,8 +1055,9 @@ address 0x09A access_mode RO modes M_SCSI field REQ_BNUM 0xFF + dont_generate_debug_code } /* * Slave Split Out Address 3
@@ -998,8 +1067,9 @@ access_mode RO modes M_SCSI field RLXORD 020 field TAG_NUM 0x1F + dont_generate_debug_code } /* * SG Sequencer Byte Count
@@ -1007,8 +1077,9 @@ register SGSEQBCNT { address 0x09C access_mode RO modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * Slave Split Out Attribute 0
@@ -1017,8 +1088,9 @@ address 0x09C access_mode RO modes M_SCSI field LOWER_BCNT 0xFF + dont_generate_debug_code } /* * Slave Split Out Attribute 1
@@ -1028,8 +1100,9 @@ access_mode RO modes M_SCSI field CMPLT_DNUM 0xF8 field CMPLT_FNUM 0x07 + dont_generate_debug_code } /* * Slave Split Out Attribute 2
@@ -1039,8 +1112,9 @@ access_mode RO size 2 modes M_SCSI field CMPLT_BNUM 0xFF + dont_generate_debug_code } /* * S/G Split Status 0 */
@@ -1055,8 +1129,9 @@ field CNTNOTCMPLT 0x08 field RXOVRUN 0x04 field RXSCEMSG 0x02 field RXSPLTRSP 0x01 + dont_generate_debug_code } /* * S/G Split Status 1
@@ -1065,8 +1140,9 @@ address 0x09F access_mode RW modes M_DFF0, M_DFF1 field RXDATABUCKET 0x01 + dont_generate_debug_code } /* * Special Function
@@ -1076,8 +1152,9 @@ access_mode RW modes M_CFG field TEST_GROUP 0xF0 field TEST_NUM 0x0F + dont_generate_debug_code } /* * Data FIFO 0 PCI Status
@@ -1093,8 +1170,9 @@ field SCAAPERR 0x08 field RDPERR 0x04 field TWATERR 0x02 field DPR 0x01 + dont_generate_debug_code } /* * Data FIFO 1 PCI Status
@@ -1110,8 +1188,9 @@ field SCAAPERR 0x08 field RDPERR 0x04 field TWATERR 0x02 field DPR 0x01 + dont_generate_debug_code } /* * S/G PCI Status
@@ -1126,8 +1205,9 @@ field RTA 0x10 field SCAAPERR 0x08 field RDPERR 0x04 field DPR 0x01 + dont_generate_debug_code } /* * CMC PCI Status
@@ -1143,8 +1223,9 @@ field SCAAPERR 0x08 field RDPERR 0x04 field TWATERR 0x02 field DPR 0x01 + dont_generate_debug_code } /* * Overlay PCI Status
@@ -1159,8 +1240,9 @@ field RTA 0x10 field SCAAPERR 0x08 field RDPERR 0x04 field DPR 0x01 + dont_generate_debug_code } /* * PCI Status for MSI Master DMA Transfer
@@ -1174,8 +1256,9 @@ field RTA 0x10 field CLRPENDMSI 0x08 field TWATERR 0x02 field DPR 0x01 + dont_generate_debug_code } /* * PCI Status for Target
@@ -1187,8 +1270,9 @@ field DPE 0x80 field SSE 0x40 field STA 0x08 field TWATERR 0x02 + dont_generate_debug_code } /* * LQ Packet In
@@ -1198,8 +1282,9 @@ address 0x020 access_mode RW size 20 modes M_DFF0, M_DFF1, M_SCSI + dont_generate_debug_code } /* * SCB Type Pointer
@@ -1208,8 +1293,9 @@ register TYPEPTR { address 0x020 access_mode RW modes M_CFG + dont_generate_debug_code } /* * Queue Tag Pointer
@@ -1218,8 +1304,9 @@ register TAGPTR { address 0x021 access_mode RW modes M_CFG + dont_generate_debug_code } /* * Logical Unit Number Pointer
@@ -1228,8 +1315,9 @@ register LUNPTR { address 0x022 access_mode RW modes M_CFG + dont_generate_debug_code } /* * Data Length Pointer
@@ -1238,8 +1326,9 @@ register DATALENPTR { address 0x023 access_mode RW modes M_CFG + dont_generate_debug_code } /* * Status Length Pointer
@@ -1248,8 +1337,9 @@ register STATLENPTR { address 0x024 access_mode RW modes M_CFG + dont_generate_debug_code } /* * Command Length Pointer
@@ -1258,8 +1348,9 @@ register CMDLENPTR { address 0x025 access_mode RW modes M_CFG + dont_generate_debug_code } /* * Task Attribute Pointer
@@ -1269,8 +1360,9 @@ register ATTRPTR { address 0x026 access_mode RW modes M_CFG + dont_generate_debug_code } /* * Task Management Flags Pointer
@@ -1280,8 +1372,9 @@ register FLAGPTR { address 0x027 access_mode RW modes M_CFG + dont_generate_debug_code } /* * Command Pointer
@@ -1290,8 +1383,9 @@ register CMDPTR { address 0x028 access_mode RW modes M_CFG + dont_generate_debug_code } /* * Queue Next Pointer
@@ -1300,8 +1394,9 @@ register QNEXTPTR { address 0x029 access_mode RW modes M_CFG + dont_generate_debug_code } /* * SCSI ID Pointer
@@ -1311,8 +1406,9 @@ register IDPTR { address 0x02A access_mode RW modes M_CFG + dont_generate_debug_code } /* * Command Aborted Byte Pointer
@@ -1322,8 +1418,9 @@ register ABRTBYTEPTR { address 0x02B access_mode RW modes M_CFG + dont_generate_debug_code } /* * Command Aborted Bit Pointer
@@ -1332,8 +1429,9 @@ register ABRTBITPTR { address 0x02C access_mode RW modes M_CFG + dont_generate_debug_code } /* * Rev B or greater.
@@ -1341,8 +1439,9 @@ register MAXCMDBYTES { address 0x02D access_mode RW modes M_CFG + dont_generate_debug_code } /* * Rev B or greater.
@@ -1350,8 +1449,9 @@ register MAXCMD2RCV { address 0x02E access_mode RW modes M_CFG + dont_generate_debug_code } /* * Rev B or greater.
@@ -1359,8 +1459,9 @@ register SHORTTHRESH { address 0x02F access_mode RW modes M_CFG + dont_generate_debug_code } /* * Logical Unit Number Length
@@ -1371,8 +1472,9 @@ access_mode RW modes M_CFG mask ILUNLEN 0x0F mask TLUNLEN 0xF0 + dont_generate_debug_code } const LUNLEN_SINGLE_LEVEL_LUN 0xF /*
@@ -1382,8 +1484,9 @@ register CDBLIMIT { address 0x031 access_mode RW modes M_CFG + dont_generate_debug_code } /* * Maximum Commands
@@ -1393,8 +1496,9 @@ register MAXCMD { address 0x032 access_mode RW modes M_CFG + dont_generate_debug_code } /* * Maximum Command Counter
@@ -1403,8 +1507,9 @@ register MAXCMDCNT { address 0x033 access_mode RW modes M_CFG + dont_generate_debug_code } /* * LQ Packet Reserved Bytes
@@ -1414,18 +1519,21 @@ register LQRSVD01 { address 0x034 access_mode RW modes M_SCSI + dont_generate_debug_code } register LQRSVD16 { address 0x035 access_mode RW modes M_SCSI + dont_generate_debug_code } register LQRSVD17 { address 0x036 access_mode RW modes M_SCSI + dont_generate_debug_code } /* * Command Reserved 0
@@ -1435,8 +1543,9 @@ register CMDRSVD0 { address 0x037 access_mode RW modes M_CFG + dont_generate_debug_code } /* * LQ Manager Control 0
@@ -1448,8 +1557,9 @@ field LQITARGCLT 0xC0 field LQIINITGCLT 0x30 field LQ0TARGCLT 0x0C field LQ0INITGCLT 0x03 + dont_generate_debug_code } /* * LQ Manager Control 1
@@ -1460,8 +1570,9 @@ modes M_DFF0, M_DFF1, M_SCSI field PCI2PCI 0x04 field SINGLECMD 0x02 field ABORTPENDING 0x01 + dont_generate_debug_code } /* * LQ Manager Control 2
@@ -1477,8 +1588,9 @@ field LQORETRY 0x08 field LQOCONTINUE 0x04 field LQOTOIDLE 0x02 field LQOPAUSE 0x01 + dont_generate_debug_code } /* * SCSI RAM BIST0
@@ -1492,8 +1604,9 @@ field GSBISTRUN 0x10 field OSBISTERR 0x04 field OSBISTDONE 0x02 field OSBISTRUN 0x01 + dont_generate_debug_code } /* * SCSI Sequence Control0
@@ -1518,8 +1631,9 @@ modes M_CFG field NTBISTERR 0x04 field NTBISTDONE 0x02 field NTBISTRUN 0x01 + dont_generate_debug_code } /* * SCSI Sequence Control 1
@@ -1546,8 +1660,9 @@ field DFON 0x80 field DFPEXP 0x40 field BIOSCANCELEN 0x10 field SPIOEN 0x08 + dont_generate_debug_code } /* * SCSI Transfer Control 1
@@ -1562,8 +1677,9 @@ field STIMESEL 0x18 field ENSTIMER 0x04 field ACTNEGEN 0x02 field STPWEN 0x01 + dont_generate_debug_code } /* * SCSI Transfer Control 2
@@ -1574,8 +1690,9 @@ modes M_SCSI field AUTORSTDIS 0x10 field CMDDMAEN 0x08 field ASU 0x07 + dont_generate_debug_code } /* * SCSI Bus Initiator IDs
@@ -1585,8 +1702,9 @@ address 0x03C access_mode RW modes M_CFG size 2 + dont_generate_debug_code } /* * Data Length Counters
@@ -1596,8 +1714,9 @@ address 0x03C access_mode RW modes M_DFF0, M_DFF1 size 3 + dont_generate_debug_code } /* * Data FIFO Status
@@ -1634,8 +1753,9 @@ address 0x03E access_mode RW modes M_CFG size 2 + dont_generate_debug_code } /* * SCSI Control Signal Out
@@ -1664,8 +1784,9 @@ P_MESGOUT CDO|MSGO, P_STATUS CDO|IOO, P_MESGIN CDO|IOO|MSGO } + dont_generate_debug_code } register SCSISIGI { address 0x041
@@ -1702,8 +1823,9 @@ address 0x040 access_mode RW modes M_CFG size 2 + dont_generate_debug_code } /* * SCSI Phase
@@ -1728,8 +1850,9 @@ register SCSIDAT0_IMG { address 0x043 access_mode RW modes M_DFF0, M_DFF1, M_SCSI + dont_generate_debug_code } /* * SCSI Latched Data
@@ -1738,8 +1861,9 @@ address 0x044 access_mode RW modes M_DFF0, M_DFF1, M_SCSI size 2 + dont_generate_debug_code } /* * SCSI Data Bus
@@ -1759,8 +1883,9 @@ access_mode RO modes M_DFF0, M_DFF1, M_SCSI field CLKOUT 0x80 field TARGID 0x0F + dont_generate_debug_code } /* * Selection/Reselection ID
@@ -1788,8 +1913,9 @@ field DIAGLEDON 0x40 field ENAB40 0x08 /* LVD transceiver active */ field ENAB20 0x04 /* SE/HVD transceiver active */ field SELWIDE 0x02 + dont_generate_debug_code } /* * Option Mode
@@ -1804,8 +1930,9 @@ field BUSFREEREV 0x10 field ENDGFORMCHK 0x04 field AUTO_MSGOUT_DE 0x02 mask OPTIONMODE_DEFAULTS AUTO_MSGOUT_DE + dont_generate_debug_code } /* * SCSI Status 0
@@ -1838,8 +1965,9 @@ field CLRIOERR 0x08 field CLROVERRUN 0x04 field CLRSPIORDY 0x02 field CLRARBDO 0x01 + dont_generate_debug_code } /* * SCSI Interrupt Mode 0
@@ -1890,8 +2018,9 @@ field CLRBUSFREE 0x08 field CLRSCSIPERR 0x04 field CLRSTRB2FAST 0x02 field CLRREQINIT 0x01 + dont_generate_debug_code } /* * SCSI Status 2
@@ -1923,8 +2052,9 @@ field CLRNONPACKREQ 0x20 field CLRWIDE_RES 0x04 /* Modes 0 and 1 only */ field CLRSDONE 0x02 /* Modes 0 and 1 only */ field CLRDMADONE 0x01 /* Modes 0 and 1 only */ + dont_generate_debug_code } /* * SCSI Interrupt Mode 2
@@ -1935,8 +2065,9 @@ modes M_CFG field ENWIDE_RES 0x04 field ENSDONE 0x02 field ENDMADONE 0x01 + dont_generate_debug_code } /* * Physical Error Diagnosis
@@ -1961,8 +2092,9 @@ register LQISTATE { address 0x04E access_mode RO modes M_CFG + dont_generate_debug_code } /* * SCSI Offset Count
@@ -1979,8 +2111,9 @@ register LQOSTATE { address 0x04F access_mode RO modes M_CFG + dont_generate_debug_code } /* * LQI Manager Status
@@ -2009,8 +2142,9 @@ field CLRLQICRCT2 0x08 field CLRLQIBADLQT 0x04 field CLRLQIATNLQ 0x02 field CLRLQIATNCMD 0x01 + dont_generate_debug_code } /* * LQI Manager Interrupt Mode 0
@@ -2024,8 +2158,9 @@ field ENLQICRCT2 0x08 field ENLQIBADLQT 0x04 field ENLQIATNLQ 0x02 field ENLQIATNCMD 0x01 + dont_generate_debug_code } /* * LQI Manager Status 1
@@ -2058,8 +2193,9 @@ field CLRLQICRCI_NLQ 0x08 field CLRLQIBADLQI 0x04 field CLRLQIOVERI_LQ 0x02 field CLRLQIOVERI_NLQ 0x01 + dont_generate_debug_code } /* * LQI Manager Interrupt Mode 1
@@ -2075,8 +2211,9 @@ field ENLQICRCI_NLQ 0x08 /* LQICRCI2 */ field ENLQIBADLQI 0x04 field ENLQIOVERI_LQ 0x02 /* LQIOVERI1 */ field ENLQIOVERI_NLQ 0x01 /* LQIOVERI2 */ + dont_generate_debug_code } /* * LQI Manager Status 2
@@ -2114,8 +2251,9 @@ access_mode WO modes M_DFF0, M_DFF1, M_SCSI field CLRNTRAMPERR 0x02 field CLROSRAMPERR 0x01 + dont_generate_debug_code } /* * SCSI Interrupt Mode 3
@@ -2125,8 +2263,9 @@ access_mode RW modes M_CFG field ENNTRAMPERR 0x02 field ENOSRAMPERR 0x01 + dont_generate_debug_code } /* * LQO Manager Status 0
@@ -2153,8 +2292,9 @@ field CLRLQOSTOPT2 0x08 field CLRLQOATNLQ 0x04 field CLRLQOATNPKT 0x02 field CLRLQOTCRC 0x01 + dont_generate_debug_code } /* * LQO Manager Interrupt Mode 0
@@ -2167,8 +2307,9 @@ field ENLQOSTOPT2 0x08 field ENLQOATNLQ 0x04 field ENLQOATNPKT 0x02 field ENLQOTCRC 0x01 + dont_generate_debug_code } /* * LQO Manager Status 1
@@ -2195,8 +2336,9 @@ field CLRLQOSTOPI2 0x08 field CLRLQOBADQAS 0x04 field CLRLQOBUSFREE 0x02 field CLRLQOPHACHGINPKT 0x01 + dont_generate_debug_code } /* * LQO Manager Interrupt Mode 1
@@ -2209,8 +2351,9 @@ field ENLQOSTOPI2 0x08 field ENLQOBADQAS 0x04 field ENLQOBUSFREE 0x02 field ENLQOPHACHGINPKT 0x01 + dont_generate_debug_code } /* * LQO Manager Status 2
@@ -2231,8 +2374,9 @@ register OS_SPACE_CNT { address 0x056 access_mode RO modes M_CFG + dont_generate_debug_code } /* * SCSI Interrupt Mode 1
@@ -2260,8 +2404,9 @@ address 0x058 access_mode RO size 2 modes M_DFF0, M_DFF1, M_SCSI + dont_generate_debug_code } /* * Data FIFO SCSI Transfer Control
@@ -2283,8 +2428,9 @@ address 0x05A access_mode RW size 2 modes M_SCSI + dont_generate_debug_code } /* Rev B only. */ register LQOSCSCTL {
@@ -2293,8 +2439,9 @@ size 1 modes M_CFG field LQOH2A_VERSION 0x80 field LQONOCHKOVER 0x01 + dont_generate_debug_code } /* * SEQ Interrupts
@@ -2325,8 +2472,9 @@ field CLRCFG4ISTAT 0x08 field CLRCFG4TSTAT 0x04 field CLRCFG4ICMD 0x02 field CLRCFG4TCMD 0x01 + dont_generate_debug_code } /* * SEQ Interrupt Enabled (Shared)
@@ -2351,8 +2499,9 @@ address 0x05C access_mode RW size 2 modes M_SCSI + dont_generate_debug_code } /* * Data FIFO Status
@@ -2377,8 +2526,9 @@ address 0x05d access_mode RW modes M_CFG field CRCVALCHKEN 0x40 + dont_generate_debug_code } /* * SCSI Test Control
@@ -2388,8 +2538,9 @@ access_mode RW modes M_CFG field CNTRTEST 0x08 field SEL_TXPLL_DEBUG 0x04 + dont_generate_debug_code } /* * Data FIFO Queue Tag
@@ -2398,8 +2549,9 @@ address 0x05E access_mode RW size 2 modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * Last SCSI Control Block
@@ -2408,8 +2560,9 @@ address 0x05E access_mode RW size 2 modes M_SCSI + dont_generate_debug_code } /* * SCSI I/O Cell Power-down Control
@@ -2420,8 +2573,9 @@ modes M_CFG field DISABLE_OE 0x80 field PDN_IDIST 0x04 field PDN_DIFFSENSE 0x01 + dont_generate_debug_code } /* * Shaddow Host Address.
@@ -2430,8 +2584,9 @@ address 0x060 access_mode RO size 8 modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * Data Group CRC Interval.
@@ -2440,8 +2595,9 @@ address 0x060 access_mode RW size 2 modes M_CFG + dont_generate_debug_code } /* * Data Transfer Negotiation Address
@@ -2449,8 +2605,9 @@ register NEGOADDR { address 0x060 access_mode RW modes M_SCSI + dont_generate_debug_code } /* * Data Transfer Negotiation Data - Period Byte
@@ -2458,8 +2615,9 @@ register NEGPERIOD { address 0x061 access_mode RW modes M_SCSI + dont_generate_debug_code } /* * Packetized CRC Interval
@@ -2468,8 +2626,9 @@ address 0x062 access_mode RW size 2 modes M_CFG + dont_generate_debug_code } /* * Data Transfer Negotiation Data - Offset Byte
@@ -2477,8 +2636,9 @@ register NEGOFFSET { address 0x062 access_mode RW modes M_SCSI + dont_generate_debug_code } /* * Data Transfer Negotiation Data - PPR Options
@@ -2490,8 +2650,9 @@ field PPROPT_PACE 0x08 field PPROPT_QAS 0x04 field PPROPT_DT 0x02 field PPROPT_IUT 0x01 + dont_generate_debug_code } /* * Data Transfer Negotiation Data - Connection Options
@@ -2506,8 +2667,9 @@ field ENSLOWCRC 0x08 field ENAUTOATNI 0x04 field ENAUTOATNO 0x02 field WIDEXFER 0x01 + dont_generate_debug_code } /* * Negotiation Table Annex Column Index.
@@ -2515,8 +2677,9 @@ register ANNEXCOL { address 0x065 access_mode RW modes M_SCSI + dont_generate_debug_code } register SCSCHKN { address 0x066
@@ -2528,8 +2691,9 @@ field SDONEMSKDIS 0x08 field DFFACTCLR 0x04 field SHVALIDSTDIS 0x02 field LSTSGCLRDIS 0x01 + dont_generate_debug_code } const AHD_ANNEXCOL_PER_DEV0 4 const AHD_NUM_PER_DEV_ANNEXCOLS 4
@@ -2560,8 +2724,9 @@ register ANNEXDAT { address 0x066 access_mode RW modes M_SCSI + dont_generate_debug_code } /* * Initiator's Own Id.
@@ -2570,8 +2735,9 @@ register IOWNID { address 0x067 access_mode RW modes M_SCSI + dont_generate_debug_code } /* * 960MHz Phase-Locked Loop Control 0
@@ -2586,8 +2752,9 @@ field PLL_ENLUD 0x08 field PLL_ENLPF 0x04 field PLL_DLPF 0x02 field PLL_ENFBM 0x01 + dont_generate_debug_code } /* * Target Own Id
@@ -2595,8 +2762,9 @@ register TOWNID { address 0x069 access_mode RW modes M_SCSI + dont_generate_debug_code } /* * 960MHz Phase-Locked Loop Control 1
@@ -2607,8 +2775,9 @@ modes M_CFG field PLL_CNTEN 0x80 field PLL_CNTCLR 0x40 field PLL_RST 0x01 + dont_generate_debug_code } /* * Expander Signature
@@ -2616,8 +2785,9 @@ register XSIG { address 0x06A access_mode RW modes M_SCSI + dont_generate_debug_code } /* * Shadow Byte Count
@@ -2626,8 +2796,9 @@ address 0x068 access_mode RW size 3 modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * Selection Out ID
@@ -2645,8 +2816,9 @@ address 0x06A access_mode RO size 2 modes M_CFG + dont_generate_debug_code } /* * 400-MHz Phase-Locked Loop Control 0
@@ -2661,8 +2833,9 @@ field PLL_ENLUD 0x08 field PLL_ENLPF 0x04 field PLL_DLPF 0x02 field PLL_ENFBM 0x01 + dont_generate_debug_code } /* * Arbitration Fairness
@@ -2671,8 +2844,9 @@ address 0x06C access_mode RW size 2 modes M_SCSI + dont_generate_debug_code } /* * 400-MHz Phase-Locked Loop Control 1
@@ -2683,8 +2857,9 @@ modes M_CFG field PLL_CNTEN 0x80 field PLL_CNTCLR 0x40 field PLL_RST 0x01 + dont_generate_debug_code } /* * Arbitration Unfairness
@@ -2693,8 +2868,9 @@ address 0x06E access_mode RW size 2 modes M_SCSI + dont_generate_debug_code } /* * 400-MHz Phase-Locked Loop Test Count
@@ -2703,8 +2879,9 @@ address 0x06E access_mode RO size 2 modes M_CFG + dont_generate_debug_code } /* * SCB Page Pointer
@@ -2713,8 +2890,9 @@ address 0x0A8 access_mode RW size 2 modes M_DFF0, M_DFF1, M_CCHAN, M_SCSI + dont_generate_debug_code } /* * CMC SCB Array Count
@@ -2724,8 +2902,9 @@ register CCSCBACNT { address 0x0AB access_mode RW modes M_CCHAN + dont_generate_debug_code } /* * SCB Autopointer
@@ -2739,8 +2918,9 @@ modes M_CFG field AUSCBPTR_EN 0x80 field SCBPTR_ADDR 0x38 field SCBPTR_OFF 0x07 + dont_generate_debug_code } /* * CMC SG Ram Address Pointer
@@ -2748,8 +2928,9 @@ register CCSGADDR { address 0x0AC access_mode RW modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * CMC SCB RAM Address Pointer
@@ -2757,8 +2938,9 @@ register CCSCBADDR { address 0x0AC access_mode RW modes M_CCHAN + dont_generate_debug_code } /* * CMC SCB Ram Back-up Address Pointer
@@ -2768,8 +2950,9 @@ register CCSCBADR_BK { address 0x0AC access_mode RO modes M_CFG + dont_generate_debug_code } /* * CMC SG Control
@@ -2813,8 +2996,9 @@ field SG_BIST_FAIL 0x20 field SG_BIST_EN 0x10 field CMC_BUFFER_BIST_FAIL 0x02 field CMC_BUFFER_BIST_EN 0x01 + dont_generate_debug_code } /* * CMC SG RAM Data Port
@@ -2822,8 +3006,9 @@ register CCSGRAM { address 0x0B0 access_mode RW modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * CMC SCB RAM Data Port
@@ -2831,8 +3016,9 @@ register CCSCBRAM { address 0x0B0 access_mode RW modes M_CCHAN + dont_generate_debug_code } /* * Flex DMA Address.
@@ -2841,8 +3027,9 @@ address 0x0B0 access_mode RW size 3 modes M_SCSI + dont_generate_debug_code } /* * Flex DMA Byte Count
@@ -2851,8 +3038,9 @@ address 0x0B3 access_mode RW size 2 modes M_SCSI + dont_generate_debug_code } /* * Flex DMA Status
@@ -2862,8 +3050,9 @@ access_mode RW modes M_SCSI field FLEXDMAERR 0x02 field FLEXDMADONE 0x01 + dont_generate_debug_code } /* * Flex DMA Data Port
@@ -2871,8 +3060,9 @@ register FLEXDATA { address 0x0B6 access_mode RW modes M_SCSI + dont_generate_debug_code } /* * Board Data
@@ -2880,8 +3070,9 @@ register BRDDAT { address 0x0B8 access_mode RW modes M_SCSI + dont_generate_debug_code } /* * Board Control
@@ -2895,8 +3086,9 @@ field BRDADDR 0x38 field BRDEN 0x04 field BRDRW 0x02 field BRDSTB 0x01 + dont_generate_debug_code } /* * Serial EEPROM Address
@@ -2904,8 +3096,9 @@ register SEEADR { address 0x0BA access_mode RW modes M_SCSI + dont_generate_debug_code } /* * Serial EEPROM Data
@@ -2914,8 +3107,9 @@ address 0x0BC access_mode RW size 2 modes M_SCSI + dont_generate_debug_code } /* * Serial EEPROM Status
@@ -2929,8 +3123,9 @@ field LDALTID_L 0x08 field SEEARBACK 0x04 field SEEBUSY 0x02 field SEESTART 0x01 + dont_generate_debug_code } /* * Serial EEPROM Control
@@ -2953,8 +3148,9 @@ mask SEEOP_WALL 0x40 mask SEEOP_EWDS 0x40 field SEERST 0x02 field SEESTART 0x01 + dont_generate_debug_code } const SEEOP_ERAL_ADDR 0x80 const SEEOP_EWEN_ADDR 0xC0
@@ -2967,8 +3163,9 @@ register SCBCNT { address 0x0BF access_mode RW modes M_SCSI + dont_generate_debug_code } /* * Data FIFO Write Address
@@ -2978,8 +3175,9 @@ address 0x0C0 access_mode RW size 2 modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * DSP Filter Control
@@ -2990,8 +3188,9 @@ modes M_CFG field FLTRDISABLE 0x20 field EDGESENSE 0x10 field DSPFCNTSEL 0x0F + dont_generate_debug_code } /* * DSP Data Channel Control
@@ -3003,8 +3202,9 @@ field BYPASSENAB 0x80 field DESQDIS 0x10 field RCVROFFSTDIS 0x04 field XMITOFFSTDIS 0x02 + dont_generate_debug_code } /* * Data FIFO Read Address
@@ -3014,8 +3214,9 @@ address 0x0C2 access_mode RW size 2 modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * DSP REQ Control
@@ -3025,8 +3226,9 @@ access_mode RW modes M_CFG field MANREQCTL 0xC0 field MANREQDLY 0x3F + dont_generate_debug_code } /* * DSP ACK Control
@@ -3036,8 +3238,9 @@ access_mode RW modes M_CFG field MANACKCTL 0xC0 field MANACKDLY 0x3F + dont_generate_debug_code } /* * Data FIFO Data
@@ -3048,8 +3251,9 @@ register DFDAT { address 0x0C4 access_mode RW modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * DSP Channel Select
@@ -3059,8 +3263,9 @@ access_mode RW modes M_CFG field AUTOINCEN 0x80 field DSPSEL 0x1F + dont_generate_debug_code } const NUMDSPS 0x14
@@ -3072,8 +3277,9 @@ access_mode WO modes M_CFG field AUTOXBCDIS 0x80 field XMITMANVAL 0x3F + dont_generate_debug_code } /* * Currently the WRTBIASCTL is the same as the default.
@@ -3088,8 +3294,9 @@ access_mode WO modes M_CFG field AUTORBCDIS 0x80 field RCVRMANVAL 0x3F + dont_generate_debug_code } /* * Write Bias Calculator
@@ -3097,8 +3304,9 @@ register WRTBIASCALC { address 0x0C7 access_mode RO modes M_CFG + dont_generate_debug_code } /* * Data FIFO Pointers
@@ -3108,8 +3316,9 @@ register DFPTRS { address 0x0C8 access_mode RW modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * Receiver Bias Calculator
@@ -3117,8 +3326,9 @@ register RCVRBIASCALC { address 0x0C8 access_mode RO modes M_CFG + dont_generate_debug_code } /* * Data FIFO Backup Read Pointer
@@ -3129,8 +3339,9 @@ address 0x0C9 access_mode RW size 2 modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * Skew Calculator
@@ -3138,8 +3349,9 @@ register SKEWCALC { address 0x0C9 access_mode RO modes M_CFG + dont_generate_debug_code } /* * Data FIFO Debug Control
@@ -3153,8 +3365,9 @@ field DFF_DIR_ERR 0x08 field DFF_RAMBIST_FAIL 0x04 field DFF_RAMBIST_DONE 0x02 field DFF_RAMBIST_EN 0x01 + dont_generate_debug_code } /* * Data FIFO Space Count
@@ -3164,8 +3377,9 @@ address 0x0CC access_mode RO size 2 modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * Data FIFO Byte Count
@@ -3175,8 +3389,9 @@ address 0x0CE access_mode RO size 2 modes M_DFF0, M_DFF1 + dont_generate_debug_code } /* * Sequencer Program Overlay Address.
@@ -3186,8 +3401,9 @@ address 0x0D4 modes M_SCSI size 2 access_mode RW + dont_generate_debug_code } /* * Sequencer Control 0
@@ -3217,8 +3433,9 @@ field OVRLAY_DATA_CHK 0x08 field RAMBIST_DONE 0x04 field RAMBIST_FAIL 0x02 field RAMBIST_EN 0x01 + dont_generate_debug_code } /* * Sequencer Flags
@@ -3228,8 +3445,9 @@ address 0x0D8 access_mode RO field ZERO 0x02 field CARRY 0x01 + dont_generate_debug_code } /* * Sequencer Interrupt Control
@@ -3255,8 +3473,9 @@ */ register SEQRAM { address 0x0DA access_mode RW + dont_generate_debug_code } /* * Sequencer Program Counter
@@ -3265,8 +3484,9 @@ register PRGMCNT { address 0x0DE access_mode RW size 2 + dont_generate_debug_code } /* * Accumulator
@@ -3274,8 +3494,9 @@ register ACCUM { address 0x0E0 access_mode RW accumulator + dont_generate_debug_code } /* * Source Index Register
@@ -3290,8 +3511,9 @@ address 0x0E2 access_mode RW size 2 sindex + dont_generate_debug_code } /* * Destination Index Register
@@ -3300,8 +3522,9 @@ register DINDEX { address 0x0E4 access_mode RW size 2 + dont_generate_debug_code } /* * Break Address
@@ -3309,14 +3532,16 @@ */ register BRKADDR0 { address 0x0E6 access_mode RW + dont_generate_debug_code } register BRKADDR1 { address 0x0E6 access_mode RW field BRKDIS 0x80 /* Disable Breakpoint */ + dont_generate_debug_code } /* * All Ones
@@ -3325,8 +3550,9 @@ register ALLONES { address 0x0E8 access_mode RO allones + dont_generate_debug_code } /* * All Zeros
@@ -3335,8 +3561,9 @@ register ALLZEROS { address 0x0EA access_mode RO allzeros + dont_generate_debug_code } /* * No Destination
@@ -3345,8 +3572,9 @@ register NONE { address 0x0EA access_mode WO none + dont_generate_debug_code } /* * Source Index Indirect
@@ -3355,8 +3583,9 @@ */ register SINDIR { address 0x0EC access_mode RO + dont_generate_debug_code } /* * Destination Index Indirect
@@ -3365,8 +3594,9 @@ */ register DINDIR { address 0x0ED access_mode WO + dont_generate_debug_code } /* * Function One
@@ -3379,8 +3609,9 @@ */ register FUNCTION1 { address 0x0F0 access_mode RW + dont_generate_debug_code } /* * Stack
@@ -3389,8 +3620,9 @@ */ register STACK { address 0x0F2 access_mode RW + dont_generate_debug_code } /* * Interrupt Vector 1 Address
@@ -3400,8 +3632,9 @@ address 0x0F4 access_mode RW size 2 modes M_CFG + dont_generate_debug_code } /* * Current Address
@@ -3411,8 +3644,9 @@ address 0x0F4 access_mode RW size 2 modes M_SCSI + dont_generate_debug_code } /* * Interrupt Vector 2 Address
@@ -3422,8 +3656,9 @@ address 0x0F6 access_mode RW size 2 modes M_CFG + dont_generate_debug_code } /* * Last Address
@@ -3433,15 +3668,17 @@ address 0x0F6 access_mode RW size 2 modes M_SCSI + dont_generate_debug_code } register AHD_PCI_CONFIG_BASE { address 0x100 access_mode RW size 256 modes M_CFG + dont_generate_debug_code } /* ---------------------- Scratch RAM Offsets ------------------------- */ scratch_ram {
drivers/scsi/aic7xxx/aic7xxx.reg +85 -0
636 lines not on this page · raw message
drivers/scsi/aic7xxx/aicasm/aicasm.c +3 -3
@@ -361,9 +361,9 @@" * from the following source files:\n" " *\n" "%s */\n", versions); -fprintf (ofile,"static uint8_t seqprog[] = {\n" ); +fprintf (ofile,"static const uint8_t seqprog[] = {\n" );for (cur_instr =STAILQ_FIRST (&seq_program); cur_instr !=NULL ; cur_instr =STAILQ_NEXT (cur_instr, links)) {
@@ -414,9 +414,9 @@ cur_node->symbol->name); }fprintf (ofile, -"static struct patch {\n" +"static const struct patch {\n" " %spatch_func_t *patch_func;\n" " uint32_t begin :10,\n" " skip_instr :10,\n" " skip_patch :12;\n"
@@ -434,9 +434,9 @@fprintf (ofile,"\n};\n\n" );fprintf (ofile, -"static struct cs {\n" +"static const struct cs {\n" " uint16_t begin;\n" " uint16_t end;\n" "} critical_sections[] = {\n" );
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y +10 -0
@@ -144,8 +144,10 @@ %token <value> T_ADDRESS %token T_ACCESS_MODE +%token T_DONT_GENERATE_DEBUG_CODE + %token T_MODES %token T_DEFINE
@@ -353,8 +355,9 @@ reg_attribute: reg_address | size | access_mode +| dont_generate_debug_code | modes | field_defn | enum_defn | mask_defn
@@ -396,8 +399,15 @@ access_mode: T_ACCESS_MODE T_MODE { cur_symbol->info.rinfo->mode = $2; + } +; + +dont_generate_debug_code: + T_DONT_GENERATE_DEBUG_CODE + { + cur_symbol->dont_generate_debug_code = 1; } ; modes:
drivers/scsi/aic7xxx/aicasm/aicasm_scan.l +1 -0
@@ -162,8 +162,9 @@ const { yylval.value = FALSE; return T_CONST; } download { return T_DOWNLOAD; } address { return T_ADDRESS; } access_mode { return T_ACCESS_MODE; } +dont_generate_debug_code { return T_DONT_GENERATE_DEBUG_CODE; } modes { return T_MODES; } RW|RO|WO { if (strcmp(yytext, "RW") == 0) yylval.value = RW;
drivers/scsi/aic7xxx/aicasm/aicasm_symbol.c +4 -1
@@ -369,9 +369,9 @@if (dfile ==NULL )return ;fprintf (dfile, -"static %sreg_parse_entry_t %s_parse_table[] = {\n" , +"static const %sreg_parse_entry_t %s_parse_table[] = {\n" , prefix, regnode->symbol->name); }
@@ -529,8 +529,11 @@aic_print_reg_dump_types (ofile);aic_print_file_prologue (dfile);aic_print_include (dfile, stock_include_file); SLIST_FOREACH(curnode, ®isters, links) { + +if (curnode->symbol->dont_generate_debug_code) +continue ;switch (curnode->symbol->type) {case REGISTER :case SCBLOC :
drivers/scsi/aic7xxx/aicasm/aicasm_symbol.h +2 -1
@@ -135,9 +135,10 @@struct alias_info *ainfo;struct label_info *linfo;struct cond_info *condinfo;struct macro_info *macroinfo; - }info; + } info; +int dont_generate_debug_code; } symbol_t; typedef struct symbol_ref { symbol_t *symbol;
PATCH 5/5 aic7xxx: update shipped files
After previous patch shipped files are out of sync.
This patch updates them.
--
vda
drivers/scsi/aic7xxx/aic79xx_reg.h_shipped +0 -1617
@@ -12,71 +12,15 @@ uint8_t mask; } ahd_reg_parse_entry_t; #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_mode_ptr_print; -#else -#define ahd_mode_ptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "MODE_PTR", 0x00, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_intstat_print; #else #define ahd_intstat_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "INTSTAT", 0x01, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_seqintcode_print; -#else -#define ahd_seqintcode_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SEQINTCODE", 0x02, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrint_print; -#else -#define ahd_clrint_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRINT", 0x03, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_error_print; -#else -#define ahd_error_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ERROR", 0x04, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrerr_print; -#else -#define ahd_clrerr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRERR", 0x04, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_hcntrl_print; -#else -#define ahd_hcntrl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "HCNTRL", 0x05, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_hnscb_qoff_print; -#else -#define ahd_hnscb_qoff_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "HNSCB_QOFF", 0x06, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_hescb_qoff_print; -#else -#define ahd_hescb_qoff_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "HESCB_QOFF", 0x08, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_hs_mailbox_print; #else #define ahd_hs_mailbox_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "HS_MAILBOX", 0x0b, regvalue, cur_col, wrap)
@@ -89,50 +33,8 @@ ahd_print_register(NULL, 0, "SEQINTSTAT", 0x0c, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrseqintstat_print; -#else -#define ahd_clrseqintstat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRSEQINTSTAT", 0x0c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_swtimer_print; -#else -#define ahd_swtimer_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SWTIMER", 0x0e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_snscb_qoff_print; -#else -#define ahd_snscb_qoff_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SNSCB_QOFF", 0x10, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sescb_qoff_print; -#else -#define ahd_sescb_qoff_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SESCB_QOFF", 0x12, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sdscb_qoff_print; -#else -#define ahd_sdscb_qoff_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SDSCB_QOFF", 0x14, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_qoff_ctlsta_print; -#else -#define ahd_qoff_ctlsta_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "QOFF_CTLSTA", 0x16, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_intctl_print; #else #define ahd_intctl_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "INTCTL", 0x18, regvalue, cur_col, wrap)
@@ -145,15 +47,8 @@ ahd_print_register(NULL, 0, "DFCNTRL", 0x19, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dscommand0_print; -#else -#define ahd_dscommand0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DSCOMMAND0", 0x19, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_dfstatus_print; #else #define ahd_dfstatus_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "DFSTATUS", 0x1a, regvalue, cur_col, wrap)
@@ -166,232 +61,8 @@ ahd_print_register(NULL, 0, "SG_CACHE_SHADOW", 0x1b, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_arbctl_print; -#else -#define ahd_arbctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ARBCTL", 0x1b, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sg_cache_pre_print; -#else -#define ahd_sg_cache_pre_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SG_CACHE_PRE", 0x1b, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqin_print; -#else -#define ahd_lqin_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQIN", 0x20, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_typeptr_print; -#else -#define ahd_typeptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "TYPEPTR", 0x20, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_tagptr_print; -#else -#define ahd_tagptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "TAGPTR", 0x21, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lunptr_print; -#else -#define ahd_lunptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LUNPTR", 0x22, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_datalenptr_print; -#else -#define ahd_datalenptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DATALENPTR", 0x23, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_statlenptr_print; -#else -#define ahd_statlenptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "STATLENPTR", 0x24, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmdlenptr_print; -#else -#define ahd_cmdlenptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMDLENPTR", 0x25, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_attrptr_print; -#else -#define ahd_attrptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ATTRPTR", 0x26, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_flagptr_print; -#else -#define ahd_flagptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "FLAGPTR", 0x27, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmdptr_print; -#else -#define ahd_cmdptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMDPTR", 0x28, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_qnextptr_print; -#else -#define ahd_qnextptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "QNEXTPTR", 0x29, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_idptr_print; -#else -#define ahd_idptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "IDPTR", 0x2a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_abrtbyteptr_print; -#else -#define ahd_abrtbyteptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ABRTBYTEPTR", 0x2b, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_abrtbitptr_print; -#else -#define ahd_abrtbitptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ABRTBITPTR", 0x2c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_maxcmdbytes_print; -#else -#define ahd_maxcmdbytes_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "MAXCMDBYTES", 0x2d, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_maxcmd2rcv_print; -#else -#define ahd_maxcmd2rcv_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "MAXCMD2RCV", 0x2e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_shortthresh_print; -#else -#define ahd_shortthresh_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SHORTTHRESH", 0x2f, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lunlen_print; -#else -#define ahd_lunlen_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LUNLEN", 0x30, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cdblimit_print; -#else -#define ahd_cdblimit_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CDBLIMIT", 0x31, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_maxcmd_print; -#else -#define ahd_maxcmd_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "MAXCMD", 0x32, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_maxcmdcnt_print; -#else -#define ahd_maxcmdcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "MAXCMDCNT", 0x33, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqrsvd01_print; -#else -#define ahd_lqrsvd01_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQRSVD01", 0x34, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqrsvd16_print; -#else -#define ahd_lqrsvd16_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQRSVD16", 0x35, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqrsvd17_print; -#else -#define ahd_lqrsvd17_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQRSVD17", 0x36, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmdrsvd0_print; -#else -#define ahd_cmdrsvd0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMDRSVD0", 0x37, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqctl0_print; -#else -#define ahd_lqctl0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQCTL0", 0x38, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqctl1_print; -#else -#define ahd_lqctl1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQCTL1", 0x38, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scsbist0_print; -#else -#define ahd_scsbist0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCSBIST0", 0x39, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqctl2_print; -#else -#define ahd_lqctl2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQCTL2", 0x39, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scsbist1_print; -#else -#define ahd_scsbist1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCSBIST1", 0x3a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_scsiseq0_print; #else #define ahd_scsiseq0_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "SCSISEQ0", 0x3a, regvalue, cur_col, wrap)
@@ -404,71 +75,15 @@ ahd_print_register(NULL, 0, "SCSISEQ1", 0x3b, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sxfrctl0_print; -#else -#define ahd_sxfrctl0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SXFRCTL0", 0x3c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dlcount_print; -#else -#define ahd_dlcount_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DLCOUNT", 0x3c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_businitid_print; -#else -#define ahd_businitid_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "BUSINITID", 0x3c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sxfrctl1_print; -#else -#define ahd_sxfrctl1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SXFRCTL1", 0x3d, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_bustargid_print; -#else -#define ahd_bustargid_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "BUSTARGID", 0x3e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sxfrctl2_print; -#else -#define ahd_sxfrctl2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SXFRCTL2", 0x3e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_dffstat_print; #else #define ahd_dffstat_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "DFFSTAT", 0x3f, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scsisigo_print; -#else -#define ahd_scsisigo_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCSISIGO", 0x40, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_multargid_print; -#else -#define ahd_multargid_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "MULTARGID", 0x40, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_scsisigi_print; #else #define ahd_scsisigi_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "SCSISIGI", 0x41, regvalue, cur_col, wrap)
@@ -481,64 +96,22 @@ ahd_print_register(NULL, 0, "SCSIPHASE", 0x42, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scsidat0_img_print; -#else -#define ahd_scsidat0_img_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCSIDAT0_IMG", 0x43, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scsidat_print; -#else -#define ahd_scsidat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCSIDAT", 0x44, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_scsibus_print; #else #define ahd_scsibus_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "SCSIBUS", 0x46, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_targidin_print; -#else -#define ahd_targidin_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "TARGIDIN", 0x48, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_selid_print; #else #define ahd_selid_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "SELID", 0x49, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_optionmode_print; -#else -#define ahd_optionmode_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OPTIONMODE", 0x4a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sblkctl_print; -#else -#define ahd_sblkctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SBLKCTL", 0x4a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrsint0_print; -#else -#define ahd_clrsint0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRSINT0", 0x4b, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_sstat0_print; #else #define ahd_sstat0_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "SSTAT0", 0x4b, regvalue, cur_col, wrap)
@@ -551,15 +124,8 @@ ahd_print_register(NULL, 0, "SIMODE0", 0x4b, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrsint1_print; -#else -#define ahd_clrsint1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRSINT1", 0x4c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_sstat1_print; #else #define ahd_sstat1_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "SSTAT1", 0x4c, regvalue, cur_col, wrap)
@@ -572,92 +138,36 @@ ahd_print_register(NULL, 0, "SSTAT2", 0x4d, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_simode2_print; -#else -#define ahd_simode2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SIMODE2", 0x4d, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrsint2_print; -#else -#define ahd_clrsint2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRSINT2", 0x4d, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_perrdiag_print; #else #define ahd_perrdiag_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "PERRDIAG", 0x4e, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqistate_print; -#else -#define ahd_lqistate_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQISTATE", 0x4e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_soffcnt_print; #else #define ahd_soffcnt_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "SOFFCNT", 0x4f, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqostate_print; -#else -#define ahd_lqostate_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQOSTATE", 0x4f, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_lqistat0_print; #else #define ahd_lqistat0_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "LQISTAT0", 0x50, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrlqiint0_print; -#else -#define ahd_clrlqiint0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRLQIINT0", 0x50, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqimode0_print; -#else -#define ahd_lqimode0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQIMODE0", 0x50, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqimode1_print; -#else -#define ahd_lqimode1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQIMODE1", 0x51, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_lqistat1_print; #else #define ahd_lqistat1_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "LQISTAT1", 0x51, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrlqiint1_print; -#else -#define ahd_clrlqiint1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRLQIINT1", 0x51, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_lqistat2_print; #else #define ahd_lqistat2_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "LQISTAT2", 0x52, regvalue, cur_col, wrap)
@@ -670,134 +180,50 @@ ahd_print_register(NULL, 0, "SSTAT3", 0x53, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_simode3_print; -#else -#define ahd_simode3_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SIMODE3", 0x53, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrsint3_print; -#else -#define ahd_clrsint3_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRSINT3", 0x53, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_lqostat0_print; #else #define ahd_lqostat0_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "LQOSTAT0", 0x54, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrlqoint0_print; -#else -#define ahd_clrlqoint0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRLQOINT0", 0x54, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqomode0_print; -#else -#define ahd_lqomode0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQOMODE0", 0x54, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqomode1_print; -#else -#define ahd_lqomode1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQOMODE1", 0x55, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_lqostat1_print; #else #define ahd_lqostat1_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "LQOSTAT1", 0x55, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrlqoint1_print; -#else -#define ahd_clrlqoint1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRLQOINT1", 0x55, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_lqostat2_print; #else #define ahd_lqostat2_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "LQOSTAT2", 0x56, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_os_space_cnt_print; -#else -#define ahd_os_space_cnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OS_SPACE_CNT", 0x56, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_simode1_print; #else #define ahd_simode1_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "SIMODE1", 0x57, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_gsfifo_print; -#else -#define ahd_gsfifo_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "GSFIFO", 0x58, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_dffsxfrctl_print; #else #define ahd_dffsxfrctl_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "DFFSXFRCTL", 0x5a, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqoscsctl_print; -#else -#define ahd_lqoscsctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQOSCSCTL", 0x5a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_nextscb_print; -#else -#define ahd_nextscb_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "NEXTSCB", 0x5a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrseqintsrc_print; -#else -#define ahd_clrseqintsrc_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRSEQINTSRC", 0x5b, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_seqintsrc_print; #else #define ahd_seqintsrc_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "SEQINTSRC", 0x5b, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_currscb_print; -#else -#define ahd_currscb_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CURRSCB", 0x5c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_seqimode_print; #else #define ahd_seqimode_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "SEQIMODE", 0x5c, regvalue, cur_col, wrap)
@@ -810,638 +236,29 @@ ahd_print_register(NULL, 0, "MDFFSTAT", 0x5d, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_crccontrol_print; -#else -#define ahd_crccontrol_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CRCCONTROL", 0x5d, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfftag_print; -#else -#define ahd_dfftag_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFFTAG", 0x5e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lastscb_print; -#else -#define ahd_lastscb_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LASTSCB", 0x5e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scsitest_print; -#else -#define ahd_scsitest_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCSITEST", 0x5e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_iopdnctl_print; -#else -#define ahd_iopdnctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "IOPDNCTL", 0x5f, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_shaddr_print; -#else -#define ahd_shaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SHADDR", 0x60, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_negoaddr_print; -#else -#define ahd_negoaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "NEGOADDR", 0x60, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dgrpcrci_print; -#else -#define ahd_dgrpcrci_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DGRPCRCI", 0x60, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_negperiod_print; -#else -#define ahd_negperiod_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "NEGPERIOD", 0x61, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_packcrci_print; -#else -#define ahd_packcrci_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PACKCRCI", 0x62, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_negoffset_print; -#else -#define ahd_negoffset_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "NEGOFFSET", 0x62, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_negppropts_print; -#else -#define ahd_negppropts_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "NEGPPROPTS", 0x63, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_negconopts_print; -#else -#define ahd_negconopts_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "NEGCONOPTS", 0x64, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_annexcol_print; -#else -#define ahd_annexcol_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ANNEXCOL", 0x65, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_annexdat_print; -#else -#define ahd_annexdat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ANNEXDAT", 0x66, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scschkn_print; -#else -#define ahd_scschkn_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCSCHKN", 0x66, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_iownid_print; -#else -#define ahd_iownid_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "IOWNID", 0x67, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_pll960ctl0_print; -#else -#define ahd_pll960ctl0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PLL960CTL0", 0x68, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_shcnt_print; -#else -#define ahd_shcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SHCNT", 0x68, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_townid_print; -#else -#define ahd_townid_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "TOWNID", 0x69, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_pll960ctl1_print; -#else -#define ahd_pll960ctl1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PLL960CTL1", 0x69, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_pll960cnt0_print; -#else -#define ahd_pll960cnt0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PLL960CNT0", 0x6a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_xsig_print; -#else -#define ahd_xsig_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "XSIG", 0x6a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_seloid_print; #else #define ahd_seloid_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "SELOID", 0x6b, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_pll400ctl0_print; -#else -#define ahd_pll400ctl0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PLL400CTL0", 0x6c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_fairness_print; -#else -#define ahd_fairness_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "FAIRNESS", 0x6c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_pll400ctl1_print; -#else -#define ahd_pll400ctl1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PLL400CTL1", 0x6d, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_unfairness_print; -#else -#define ahd_unfairness_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "UNFAIRNESS", 0x6e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_pll400cnt0_print; -#else -#define ahd_pll400cnt0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PLL400CNT0", 0x6e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_haddr_print; -#else -#define ahd_haddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "HADDR", 0x70, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_plldelay_print; -#else -#define ahd_plldelay_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PLLDELAY", 0x70, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_hodmaadr_print; -#else -#define ahd_hodmaadr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "HODMAADR", 0x70, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_hodmacnt_print; -#else -#define ahd_hodmacnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "HODMACNT", 0x78, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_hcnt_print; -#else -#define ahd_hcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "HCNT", 0x78, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_hodmaen_print; -#else -#define ahd_hodmaen_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "HODMAEN", 0x7a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scbhaddr_print; -#else -#define ahd_scbhaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCBHADDR", 0x7c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sghaddr_print; -#else -#define ahd_sghaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGHADDR", 0x7c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scbhcnt_print; -#else -#define ahd_scbhcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCBHCNT", 0x84, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sghcnt_print; -#else -#define ahd_sghcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGHCNT", 0x84, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dff_thrsh_print; -#else -#define ahd_dff_thrsh_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFF_THRSH", 0x88, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_romaddr_print; -#else -#define ahd_romaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ROMADDR", 0x8a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_romcntrl_print; -#else -#define ahd_romcntrl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ROMCNTRL", 0x8d, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_romdata_print; -#else -#define ahd_romdata_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ROMDATA", 0x8e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcrxmsg0_print; -#else -#define ahd_cmcrxmsg0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCRXMSG0", 0x90, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_roenable_print; -#else -#define ahd_roenable_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ROENABLE", 0x90, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyrxmsg0_print; -#else -#define ahd_ovlyrxmsg0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYRXMSG0", 0x90, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dchrxmsg0_print; -#else -#define ahd_dchrxmsg0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DCHRXMSG0", 0x90, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyrxmsg1_print; -#else -#define ahd_ovlyrxmsg1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYRXMSG1", 0x91, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_nsenable_print; -#else -#define ahd_nsenable_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "NSENABLE", 0x91, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcrxmsg1_print; -#else -#define ahd_cmcrxmsg1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCRXMSG1", 0x91, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dchrxmsg1_print; -#else -#define ahd_dchrxmsg1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DCHRXMSG1", 0x91, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dchrxmsg2_print; -#else -#define ahd_dchrxmsg2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DCHRXMSG2", 0x92, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcrxmsg2_print; -#else -#define ahd_cmcrxmsg2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCRXMSG2", 0x92, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ost_print; -#else -#define ahd_ost_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OST", 0x92, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyrxmsg2_print; -#else -#define ahd_ovlyrxmsg2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYRXMSG2", 0x92, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dchrxmsg3_print; -#else -#define ahd_dchrxmsg3_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DCHRXMSG3", 0x93, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyrxmsg3_print; -#else -#define ahd_ovlyrxmsg3_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYRXMSG3", 0x93, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcrxmsg3_print; -#else -#define ahd_cmcrxmsg3_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCRXMSG3", 0x93, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_pcixctl_print; -#else -#define ahd_pcixctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PCIXCTL", 0x93, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyseqbcnt_print; -#else -#define ahd_ovlyseqbcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYSEQBCNT", 0x94, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dchseqbcnt_print; -#else -#define ahd_dchseqbcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DCHSEQBCNT", 0x94, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcseqbcnt_print; -#else -#define ahd_cmcseqbcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCSEQBCNT", 0x94, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcspltstat0_print; -#else -#define ahd_cmcspltstat0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCSPLTSTAT0", 0x96, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dchspltstat0_print; -#else -#define ahd_dchspltstat0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DCHSPLTSTAT0", 0x96, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyspltstat0_print; -#else -#define ahd_ovlyspltstat0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYSPLTSTAT0", 0x96, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcspltstat1_print; -#else -#define ahd_cmcspltstat1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCSPLTSTAT1", 0x97, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyspltstat1_print; -#else -#define ahd_ovlyspltstat1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYSPLTSTAT1", 0x97, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dchspltstat1_print; -#else -#define ahd_dchspltstat1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DCHSPLTSTAT1", 0x97, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sgrxmsg0_print; -#else -#define ahd_sgrxmsg0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGRXMSG0", 0x98, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_slvspltoutadr0_print; -#else -#define ahd_slvspltoutadr0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SLVSPLTOUTADR0", 0x98, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sgrxmsg1_print; -#else -#define ahd_sgrxmsg1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGRXMSG1", 0x99, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_slvspltoutadr1_print; -#else -#define ahd_slvspltoutadr1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SLVSPLTOUTADR1", 0x99, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sgrxmsg2_print; -#else -#define ahd_sgrxmsg2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGRXMSG2", 0x9a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_slvspltoutadr2_print; -#else -#define ahd_slvspltoutadr2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SLVSPLTOUTADR2", 0x9a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sgrxmsg3_print; -#else -#define ahd_sgrxmsg3_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGRXMSG3", 0x9b, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_slvspltoutadr3_print; -#else -#define ahd_slvspltoutadr3_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SLVSPLTOUTADR3", 0x9b, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sgseqbcnt_print; -#else -#define ahd_sgseqbcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGSEQBCNT", 0x9c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_slvspltoutattr0_print; -#else -#define ahd_slvspltoutattr0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SLVSPLTOUTATTR0", 0x9c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_slvspltoutattr1_print; -#else -#define ahd_slvspltoutattr1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SLVSPLTOUTATTR1", 0x9d, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_slvspltoutattr2_print; -#else -#define ahd_slvspltoutattr2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SLVSPLTOUTATTR2", 0x9e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sgspltstat0_print; -#else -#define ahd_sgspltstat0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGSPLTSTAT0", 0x9e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sgspltstat1_print; -#else -#define ahd_sgspltstat1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGSPLTSTAT1", 0x9f, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sfunct_print; -#else -#define ahd_sfunct_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SFUNCT", 0x9f, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_df0pcistat_print; -#else -#define ahd_df0pcistat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DF0PCISTAT", 0xa0, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_reg0_print; #else #define ahd_reg0_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "REG0", 0xa0, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_df1pcistat_print; -#else -#define ahd_df1pcistat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DF1PCISTAT", 0xa1, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sgpcistat_print; -#else -#define ahd_sgpcistat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGPCISTAT", 0xa2, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_reg1_print; #else #define ahd_reg1_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "REG1", 0xa2, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcpcistat_print; -#else -#define ahd_cmcpcistat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCPCISTAT", 0xa3, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlypcistat_print; -#else -#define ahd_ovlypcistat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYPCISTAT", 0xa4, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_reg_isr_print; #else #define ahd_reg_isr_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "REG_ISR", 0xa4, regvalue, cur_col, wrap)
@@ -1454,78 +271,15 @@ ahd_print_register(NULL, 0, "SG_STATE", 0xa6, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_msipcistat_print; -#else -#define ahd_msipcistat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "MSIPCISTAT", 0xa6, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_targpcistat_print; -#else -#define ahd_targpcistat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "TARGPCISTAT", 0xa7, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_data_count_odd_print; #else #define ahd_data_count_odd_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "DATA_COUNT_ODD", 0xa7, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scbptr_print; -#else -#define ahd_scbptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCBPTR", 0xa8, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ccscbacnt_print; -#else -#define ahd_ccscbacnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CCSCBACNT", 0xab, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scbautoptr_print; -#else -#define ahd_scbautoptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCBAUTOPTR", 0xab, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ccsgaddr_print; -#else -#define ahd_ccsgaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CCSGADDR", 0xac, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ccscbadr_bk_print; -#else -#define ahd_ccscbadr_bk_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CCSCBADR_BK", 0xac, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ccscbaddr_print; -#else -#define ahd_ccscbaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CCSCBADDR", 0xac, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmc_rambist_print; -#else -#define ahd_cmc_rambist_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMC_RAMBIST", 0xad, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_ccscbctl_print; #else #define ahd_ccscbctl_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "CCSCBCTL", 0xad, regvalue, cur_col, wrap)
@@ -1538,386 +292,22 @@ ahd_print_register(NULL, 0, "CCSGCTL", 0xad, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ccsgram_print; -#else -#define ahd_ccsgram_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CCSGRAM", 0xb0, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_flexadr_print; -#else -#define ahd_flexadr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "FLEXADR", 0xb0, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ccscbram_print; -#else -#define ahd_ccscbram_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CCSCBRAM", 0xb0, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_flexcnt_print; -#else -#define ahd_flexcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "FLEXCNT", 0xb3, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_flexdmastat_print; -#else -#define ahd_flexdmastat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "FLEXDMASTAT", 0xb5, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_flexdata_print; -#else -#define ahd_flexdata_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "FLEXDATA", 0xb6, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_brddat_print; -#else -#define ahd_brddat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "BRDDAT", 0xb8, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_brdctl_print; -#else -#define ahd_brdctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "BRDCTL", 0xb9, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_seeadr_print; -#else -#define ahd_seeadr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SEEADR", 0xba, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_seedat_print; -#else -#define ahd_seedat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SEEDAT", 0xbc, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_seectl_print; -#else -#define ahd_seectl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SEECTL", 0xbe, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_seestat_print; -#else -#define ahd_seestat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SEESTAT", 0xbe, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scbcnt_print; -#else -#define ahd_scbcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCBCNT", 0xbf, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfwaddr_print; -#else -#define ahd_dfwaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFWADDR", 0xc0, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dspfltrctl_print; -#else -#define ahd_dspfltrctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DSPFLTRCTL", 0xc0, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dspdatactl_print; -#else -#define ahd_dspdatactl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DSPDATACTL", 0xc1, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfraddr_print; -#else -#define ahd_dfraddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFRADDR", 0xc2, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dspreqctl_print; -#else -#define ahd_dspreqctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DSPREQCTL", 0xc2, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dspackctl_print; -#else -#define ahd_dspackctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DSPACKCTL", 0xc3, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfdat_print; -#else -#define ahd_dfdat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFDAT", 0xc4, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dspselect_print; -#else -#define ahd_dspselect_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DSPSELECT", 0xc4, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_wrtbiasctl_print; -#else -#define ahd_wrtbiasctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "WRTBIASCTL", 0xc5, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_rcvrbiosctl_print; -#else -#define ahd_rcvrbiosctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "RCVRBIOSCTL", 0xc6, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_wrtbiascalc_print; -#else -#define ahd_wrtbiascalc_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "WRTBIASCALC", 0xc7, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_rcvrbiascalc_print; -#else -#define ahd_rcvrbiascalc_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "RCVRBIASCALC", 0xc8, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfptrs_print; -#else -#define ahd_dfptrs_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFPTRS", 0xc8, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_skewcalc_print; -#else -#define ahd_skewcalc_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SKEWCALC", 0xc9, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfbkptr_print; -#else -#define ahd_dfbkptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFBKPTR", 0xc9, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfdbctl_print; -#else -#define ahd_dfdbctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFDBCTL", 0xcb, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfscnt_print; -#else -#define ahd_dfscnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFSCNT", 0xcc, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfbcnt_print; -#else -#define ahd_dfbcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFBCNT", 0xce, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyaddr_print; -#else -#define ahd_ovlyaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYADDR", 0xd4, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_seqctl0_print; #else #define ahd_seqctl0_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "SEQCTL0", 0xd6, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_seqctl1_print; -#else -#define ahd_seqctl1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SEQCTL1", 0xd7, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_flags_print; -#else -#define ahd_flags_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "FLAGS", 0xd8, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_seqintctl_print; #else #define ahd_seqintctl_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "SEQINTCTL", 0xd9, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_seqram_print; -#else -#define ahd_seqram_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SEQRAM", 0xda, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_prgmcnt_print; -#else -#define ahd_prgmcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PRGMCNT", 0xde, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_accum_print; -#else -#define ahd_accum_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ACCUM", 0xe0, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sindex_print; -#else -#define ahd_sindex_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SINDEX", 0xe2, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dindex_print; -#else -#define ahd_dindex_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DINDEX", 0xe4, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_brkaddr0_print; -#else -#define ahd_brkaddr0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "BRKADDR0", 0xe6, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_brkaddr1_print; -#else -#define ahd_brkaddr1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "BRKADDR1", 0xe6, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_allones_print; -#else -#define ahd_allones_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ALLONES", 0xe8, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_allzeros_print; -#else -#define ahd_allzeros_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ALLZEROS", 0xea, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_none_print; -#else -#define ahd_none_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "NONE", 0xea, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sindir_print; -#else -#define ahd_sindir_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SINDIR", 0xec, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dindir_print; -#else -#define ahd_dindir_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DINDIR", 0xed, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_function1_print; -#else -#define ahd_function1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "FUNCTION1", 0xf0, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_stack_print; -#else -#define ahd_stack_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "STACK", 0xf2, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_intvec1_addr_print; -#else -#define ahd_intvec1_addr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "INTVEC1_ADDR", 0xf4, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_curaddr_print; -#else -#define ahd_curaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CURADDR", 0xf4, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lastaddr_print; -#else -#define ahd_lastaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LASTADDR", 0xf6, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_intvec2_addr_print; -#else -#define ahd_intvec2_addr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "INTVEC2_ADDR", 0xf6, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_longjmp_addr_print; #else #define ahd_longjmp_addr_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "LONGJMP_ADDR", 0xf8, regvalue, cur_col, wrap)
@@ -1934,15 +324,8 @@ ahd_reg_print_t ahd_waiting_scb_tails_print; #else #define ahd_waiting_scb_tails_print(regvalue, cur_col, wrap) \ ahd_print_register(NULL, 0, "WAITING_SCB_TAILS", 0x100, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ahd_pci_config_base_print; -#else -#define ahd_ahd_pci_config_base_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "AHD_PCI_CONFIG_BASE", 0x100, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_sram_base_print;
drivers/scsi/aic7xxx/aic79xx_reg_print.c_shipped +49 -2514
1,139 lines not on this page · raw message
drivers/scsi/aic7xxx/aic79xx_seq.h_shipped +3 -3
Lines of this file are not shown. View the raw message.
drivers/scsi/aic7xxx/aic7xxx_reg.h_shipped +0 -546
546 lines not on this page · raw message
drivers/scsi/aic7xxx/aic7xxx_reg_print.c_shipped +31 -899
930 lines not on this page · raw message
drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped +3 -3
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.
Hi Denys,
Quoted 11 lines · Denys Vlasenko
Hi Hannes,
I reworked my patches as you requested.
The first one (in this mail) was ACKed by you, so it's just a resend.
Following pathes were not ACKed and are modified.
Please take a look.
Quoted 4 lines
Deinlines and moves big functions from .h to .c files. Adds prototypes for
ahc_lookup_scbandahd_lookup_scbto .h files.Signed-off-by Denys Vlasenko <[email protected]>
Cheers,
Hannes
Signature · 8 lines
Dr. Hannes Reinecke zSeries & Storage [email protected] +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Markus Rex, HRB 16746 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 2/5] aic7xxx: add static
In reply to Denys VlasenkoHi Denys,
Quoted 3 lines · Denys Vlasenko
This patch adds static (and sometimes const) keywords where appropriate.
Signed-off-by Denys Vlasenko <[email protected]>
Looks good.
Cheers,
Hannes
Signature · 8 lines
Dr. Hannes Reinecke zSeries & Storage [email protected] +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Markus Rex, HRB 16746 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 3/5] aic7xxx: add const
In reply to Denys VlasenkoHi Denys,
Quoted 3 lines · Denys Vlasenko
This patch adds more const keywords where appropriate.
Signed-off-by Denys Vlasenko <[email protected]>
Patch looks good.
Cheers,
Hannes
Signature · 8 lines
Dr. Hannes Reinecke zSeries & Storage [email protected] +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Markus Rex, HRB 16746 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 4/5] aic7xxx: teach aicasm to not emit unused debug code/data
In reply to Denys VlasenkoHi Denys,
Quoted 9 lines · Denys Vlasenko
Add "
dont_generate_debug_code" syntax handling to aicasm_gram.yaic79xx.reg, aic7xxx.reg: add
dont_generate_debug_codekeyword for registers which are never referenced by the driver.
aicasm.c, aicasm_symbol.[ch]: don't emit code for those regs; also add "const" keyword to generated code in few places.Signed-off-by Denys Vlasenko <[email protected]>
No.
Adding a symbol to each and every register definition which has to be hand-crafted anyway is not the correct way.
I would prefer this: Add a 'count' variable to each symbol which gets increased every time the symbol is referenced. And then modify the register definition to include counts for symbols which are referenced from the source code only and not from the sequencer code.
This will give us an automatic usage count for the symbols with only minimal hand-crafting.
James, please apply.
Cheers,
Hannes
Signature · 4 lines
Dr. Hannes Reinecke zSeries & Storage [email protected] +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Markus Rex, HRB 16746 (AG Nürnberg)
drivers/scsi/aic7xxx/aic79xx.reg +106 -7
@@ -198,6 +198,7 @@ register SEQINTCODE { register CLRINT { address 0x003 access_mode WO + count 19 field CLRHWERRINT 0x80 /* Rev B or greater */ field CLRBRKADRINT 0x40 field CLRSWTMINT 0x20
@@ -245,6 +246,7 @@ register CLRERR { register HCNTRL { address 0x005 access_mode RW + count 12 field SEQ_RESET 0x80 /* Rev B or greater */ field POWRDN 0x40 field SWINT 0x10
@@ -262,6 +264,7 @@ register HNSCB_QOFF { address 0x006 access_mode RW size 2 + count 2 } /*
@@ -270,6 +273,7 @@ register HNSCB_QOFF { register HESCB_QOFF { address 0x008 access_mode RW + count 2 } /*
@@ -287,6 +291,7 @@ register HS_MAILBOX { */ register SEQINTSTAT { address 0x00C + count 1 access_mode RO field SEQ_SWTMRTO 0x10 field SEQ_SEQINT 0x08
@@ -332,6 +337,7 @@ register SNSCB_QOFF { */ register SESCB_QOFF { address 0x012 + count 2 access_mode RW modes M_CCHAN }
@@ -397,6 +403,7 @@ register DFCNTRL { address 0x019 access_mode RW modes M_DFF0, M_DFF1 + count 11 field PRELOADEN 0x80 field SCSIENWRDIS 0x40 /* Rev B only. */ field SCSIEN 0x20
@@ -415,6 +422,7 @@ register DFCNTRL { */ register DSCOMMAND0 { address 0x019 + count 1 access_mode RW modes M_CFG field CACHETHEN 0x80 /* Cache Threshold enable */
@@ -580,6 +588,7 @@ register DFF_THRSH { address 0x088 access_mode RW modes M_CFG + count 1 field WR_DFTHRSH 0x70 { WR_DFTHRSH_MIN, WR_DFTHRSH_25,
@@ -800,6 +809,7 @@ register PCIXCTL { address 0x093 access_mode RW modes M_CFG + count 1 field SERRPULSE 0x80 field UNEXPSCIEN 0x20 field SPLTSMADIS 0x10
@@ -844,6 +854,7 @@ register DCHSPLTSTAT0 { address 0x096 access_mode RW modes M_DFF0, M_DFF1 + count 2 field STAETERM 0x80 field SCBCERR 0x40 field SCADERR 0x20
@@ -895,6 +906,7 @@ register DCHSPLTSTAT1 { address 0x097 access_mode RW modes M_DFF0, M_DFF1 + count 2 field RXDATABUCKET 0x01 }
@@ -1048,6 +1060,7 @@ register SGSPLTSTAT0 { address 0x09E access_mode RW modes M_DFF0, M_DFF1 + count 2 field STAETERM 0x80 field SCBCERR 0x40 field SCADERR 0x20
@@ -1065,6 +1078,7 @@ register SGSPLTSTAT1 { address 0x09F access_mode RW modes M_DFF0, M_DFF1 + count 2 field RXDATABUCKET 0x01 }
@@ -1086,6 +1100,7 @@ register DF0PCISTAT { address 0x0A0 access_mode RW modes M_CFG + count 1 field DPE 0x80 field SSE 0x40 field RMA 0x20
@@ -1184,6 +1199,7 @@ register TARGPCISTAT { address 0x0A7 access_mode RW modes M_CFG + count 5 field DPE 0x80 field SSE 0x40 field STA 0x08
@@ -1198,6 +1214,7 @@ register LQIN { address 0x020 access_mode RW size 20 + count 2 modes M_DFF0, M_DFF1, M_SCSI }
@@ -1229,6 +1246,7 @@ register LUNPTR { address 0x022 access_mode RW modes M_CFG + count 2 } /*
@@ -1259,6 +1277,7 @@ register CMDLENPTR { address 0x025 access_mode RW modes M_CFG + count 1 } /*
@@ -1270,6 +1289,7 @@ register ATTRPTR { address 0x026 access_mode RW modes M_CFG + count 1 } /*
@@ -1281,6 +1301,7 @@ register FLAGPTR { address 0x027 access_mode RW modes M_CFG + count 1 } /*
@@ -1291,6 +1312,7 @@ register CMDPTR { address 0x028 access_mode RW modes M_CFG + count 1 } /*
@@ -1301,6 +1323,7 @@ register QNEXTPTR { address 0x029 access_mode RW modes M_CFG + count 1 } /*
@@ -1323,6 +1346,7 @@ register ABRTBYTEPTR { address 0x02B access_mode RW modes M_CFG + count 1 } /*
@@ -1333,6 +1357,7 @@ register ABRTBITPTR { address 0x02C access_mode RW modes M_CFG + count 1 } /*
@@ -1370,6 +1395,7 @@ register LUNLEN { address 0x030 access_mode RW modes M_CFG + count 2 mask ILUNLEN 0x0F mask TLUNLEN 0xF0 }
@@ -1383,6 +1409,7 @@ register CDBLIMIT { address 0x031 access_mode RW modes M_CFG + count 1 } /*
@@ -1394,6 +1421,7 @@ register MAXCMD { address 0x032 access_mode RW modes M_CFG + count 9 } /*
@@ -1458,6 +1486,7 @@ register LQCTL1 { address 0x038 access_mode RW modes M_DFF0, M_DFF1, M_SCSI + count 2 field PCI2PCI 0x04 field SINGLECMD 0x02 field ABORTPENDING 0x01
@@ -1470,6 +1499,7 @@ register LQCTL2 { address 0x039 access_mode RW modes M_DFF0, M_DFF1, M_SCSI + count 5 field LQIRETRY 0x80 field LQICONTINUE 0x40 field LQITOIDLE 0x20
@@ -1528,6 +1558,7 @@ register SCSISEQ1 { address 0x03B access_mode RW modes M_DFF0, M_DFF1, M_SCSI + count 8 field MANUALCTL 0x40 field ENSELI 0x20 field ENRSELI 0x10
@@ -1667,6 +1698,9 @@ register SCSISIGO { } } +/* + * SCSI Control Signal In + */ register SCSISIGI { address 0x041 access_mode RO
@@ -1703,6 +1737,7 @@ register MULTARGID { access_mode RW modes M_CFG size 2 + count 2 } /*
@@ -1758,6 +1793,7 @@ register TARGIDIN { address 0x048 access_mode RO modes M_DFF0, M_DFF1, M_SCSI + count 2 field CLKOUT 0x80 field TARGID 0x0F }
@@ -1798,6 +1834,7 @@ register OPTIONMODE { address 0x04A access_mode RW modes M_CFG + count 4 field BIOSCANCTL 0x80 field AUTOACKEN 0x40 field BIASCANCTL 0x20
@@ -1850,6 +1887,7 @@ register SIMODE0 { address 0x04B access_mode RW modes M_CFG + count 8 field ENSELDO 0x40 field ENSELDI 0x20 field ENSELINGO 0x10
@@ -1945,6 +1983,7 @@ register PERRDIAG { address 0x04E access_mode RO modes M_DFF0, M_DFF1, M_SCSI + count 3 field HIZERO 0x80 field HIPERR 0x40 field PREVPHASE 0x20
@@ -1962,6 +2001,7 @@ register LQISTATE { address 0x04E access_mode RO modes M_CFG + count 6 } /*
@@ -1971,6 +2011,7 @@ register SOFFCNT { address 0x04F access_mode RO modes M_DFF0, M_DFF1, M_SCSI + count 1 } /*
@@ -1980,6 +2021,7 @@ register LQOSTATE { address 0x04F access_mode RO modes M_CFG + count 2 } /*
@@ -1989,6 +2031,7 @@ register LQISTAT0 { address 0x050 access_mode RO modes M_DFF0, M_DFF1, M_SCSI + count 2 field LQIATNQAS 0x20 field LQICRCT1 0x10 field LQICRCT2 0x08
@@ -2004,6 +2047,7 @@ register CLRLQIINT0 { address 0x050 access_mode WO modes M_DFF0, M_DFF1, M_SCSI + count 1 field CLRLQIATNQAS 0x20 field CLRLQICRCT1 0x10 field CLRLQICRCT2 0x08
@@ -2019,6 +2063,7 @@ register LQIMODE0 { address 0x050 access_mode RW modes M_CFG + count 3 field ENLQIATNQASK 0x20 field ENLQICRCT1 0x10 field ENLQICRCT2 0x08
@@ -2034,6 +2079,7 @@ register LQISTAT1 { address 0x051 access_mode RO modes M_DFF0, M_DFF1, M_SCSI + count 3 field LQIPHASE_LQ 0x80 field LQIPHASE_NLQ 0x40 field LQIABORT 0x20
@@ -2051,6 +2097,7 @@ register CLRLQIINT1 { address 0x051 access_mode WO modes M_DFF0, M_DFF1, M_SCSI + count 4 field CLRLQIPHASE_LQ 0x80 field CLRLQIPHASE_NLQ 0x40 field CLRLIQABORT 0x20
@@ -2068,6 +2115,7 @@ register LQIMODE1 { address 0x051 access_mode RW modes M_CFG + count 4 field ENLQIPHASE_LQ 0x80 /* LQIPHASE1 */ field ENLQIPHASE_NLQ 0x40 /* LQIPHASE2 */ field ENLIQABORT 0x20
@@ -2102,6 +2150,7 @@ register SSTAT3 { address 0x053 access_mode RO modes M_DFF0, M_DFF1, M_SCSI + count 3 field NTRAMPERR 0x02 field OSRAMPERR 0x01 }
@@ -2113,6 +2162,7 @@ register CLRSINT3 { address 0x053 access_mode WO modes M_DFF0, M_DFF1, M_SCSI + count 3 field CLRNTRAMPERR 0x02 field CLROSRAMPERR 0x01 }
@@ -2124,6 +2174,7 @@ register SIMODE3 { address 0x053 access_mode RW modes M_CFG + count 4 field ENNTRAMPERR 0x02 field ENOSRAMPERR 0x01 }
@@ -2135,6 +2186,7 @@ register LQOSTAT0 { address 0x054 access_mode RO modes M_DFF0, M_DFF1, M_SCSI + count 2 field LQOTARGSCBPERR 0x10 field LQOSTOPT2 0x08 field LQOATNLQ 0x04
@@ -2149,6 +2201,7 @@ register CLRLQOINT0 { address 0x054 access_mode WO modes M_DFF0, M_DFF1, M_SCSI + count 3 field CLRLQOTARGSCBPERR 0x10 field CLRLQOSTOPT2 0x08 field CLRLQOATNLQ 0x04
@@ -2163,6 +2216,7 @@ register LQOMODE0 { address 0x054 access_mode RW modes M_CFG + count 4 field ENLQOTARGSCBPERR 0x10 field ENLQOSTOPT2 0x08 field ENLQOATNLQ 0x04
@@ -2191,6 +2245,7 @@ register CLRLQOINT1 { address 0x055 access_mode WO modes M_DFF0, M_DFF1, M_SCSI + count 7 field CLRLQOINITSCBPERR 0x10 field CLRLQOSTOPI2 0x08 field CLRLQOBADQAS 0x04
@@ -2205,6 +2260,7 @@ register LQOMODE1 { address 0x055 access_mode RW modes M_CFG + count 4 field ENLQOINITSCBPERR 0x10 field ENLQOSTOPI2 0x08 field ENLQOBADQAS 0x04
@@ -2232,6 +2288,7 @@ register OS_SPACE_CNT { address 0x056 access_mode RO modes M_CFG + count 2 } /*
@@ -2286,13 +2343,19 @@ register NEXTSCB { modes M_SCSI } -/* Rev B only. */ +/* + * LQO SCSI Control + * (Rev B only.) + */ register LQOSCSCTL { address 0x05A access_mode RW size 1 modes M_CFG + count 1 field LQOH2A_VERSION 0x80 + field LQOBUSETDLY 0x40 + field LQONOHOLDLACK 0x02 field LQONOCHKOVER 0x01 }
@@ -2459,6 +2522,7 @@ register NEGPERIOD { address 0x061 access_mode RW modes M_SCSI + count 1 } /*
@@ -2478,6 +2542,7 @@ register NEGOFFSET { address 0x062 access_mode RW modes M_SCSI + count 1 } /*
@@ -2487,6 +2552,7 @@ register NEGPPROPTS { address 0x063 access_mode RW modes M_SCSI + count 1 field PPROPT_PACE 0x08 field PPROPT_QAS 0x04 field PPROPT_DT 0x02
@@ -2516,12 +2582,19 @@ register ANNEXCOL { address 0x065 access_mode RW modes M_SCSI + count 7 } +/* + * SCSI Check + * (Rev. B only) + */ register SCSCHKN { address 0x066 access_mode RW modes M_CFG + count 1 + field BIDICHKDIS 0x80 field STSELSKIDDIS 0x40 field CURRFIFODEF 0x20 field WIDERESEN 0x10
@@ -2561,6 +2634,7 @@ register ANNEXDAT { address 0x066 access_mode RW modes M_SCSI + count 3 } /*
@@ -2596,6 +2670,7 @@ register TOWNID { address 0x069 access_mode RW modes M_SCSI + count 2 } /*
@@ -2737,6 +2812,7 @@ register SCBAUTOPTR { address 0x0AB access_mode RW modes M_CFG + count 1 field AUSCBPTR_EN 0x80 field SCBPTR_ADDR 0x38 field SCBPTR_OFF 0x07
@@ -2881,6 +2957,7 @@ register BRDDAT { address 0x0B8 access_mode RW modes M_SCSI + count 2 } /*
@@ -2890,6 +2967,7 @@ register BRDCTL { address 0x0B9 access_mode RW modes M_SCSI + count 7 field FLXARBACK 0x80 field FLXARBREQ 0x40 field BRDADDR 0x38
@@ -2905,6 +2983,7 @@ register SEEADR { address 0x0BA access_mode RW modes M_SCSI + count 4 } /*
@@ -2915,6 +2994,7 @@ register SEEDAT { access_mode RW size 2 modes M_SCSI + count 4 } /*
@@ -2924,6 +3004,7 @@ register SEESTAT { address 0x0BE access_mode RO modes M_SCSI + count 1 field INIT_DONE 0x80 field SEEOPCODE 0x70 field LDALTID_L 0x08
@@ -2939,6 +3020,7 @@ register SEECTL { address 0x0BE access_mode RW modes M_SCSI + count 4 field SEEOPCODE 0x70 { SEEOP_ERASE 0x70, SEEOP_READ 0x60,
@@ -3000,6 +3082,7 @@ register DSPDATACTL { address 0x0C1 access_mode RW modes M_CFG + count 3 field BYPASSENAB 0x80 field DESQDIS 0x10 field RCVROFFSTDIS 0x04
@@ -3058,6 +3141,7 @@ register DSPSELECT { address 0x0C4 access_mode RW modes M_CFG + count 1 field AUTOINCEN 0x80 field DSPSEL 0x1F }
@@ -3071,6 +3155,7 @@ register WRTBIASCTL { address 0x0C5 access_mode WO modes M_CFG + count 3 field AUTOXBCDIS 0x80 field XMITMANVAL 0x3F }
@@ -3196,7 +3281,8 @@ register OVLYADDR { */ register SEQCTL0 { address 0x0D6 - access_mode RW + access_mode RW + count 11 field PERRORDIS 0x80 field PAUSEDIS 0x40 field FAILDIS 0x20
@@ -3226,7 +3312,8 @@ register SEQCTL1 { */ register FLAGS { address 0x0D8 - access_mode RO + access_mode RO + count 23 field ZERO 0x02 field CARRY 0x01 }
@@ -3255,7 +3342,8 @@ register SEQINTCTL { */ register SEQRAM { address 0x0DA - access_mode RW + access_mode RW + count 2 } /*
@@ -3266,6 +3354,7 @@ register PRGMCNT { address 0x0DE access_mode RW size 2 + count 5 } /*
@@ -3273,7 +3362,7 @@ register PRGMCNT { */ register ACCUM { address 0x0E0 - access_mode RW + access_mode RW accumulator }
@@ -3401,6 +3490,7 @@ register INTVEC1_ADDR { access_mode RW size 2 modes M_CFG + count 1 } /*
@@ -3412,6 +3502,7 @@ register CURADDR { access_mode RW size 2 modes M_SCSI + count 2 } /*
@@ -3423,6 +3514,7 @@ register INTVEC2_ADDR { access_mode RW size 2 modes M_CFG + count 1 } /*
@@ -3579,6 +3671,7 @@ scratch_ram { /* Parameters for DMA Logic */ DMAPARAMS { size 1 + count 8 field PRELOADEN 0x80 field WIDEODD 0x40 field SCSIEN 0x20
@@ -3648,9 +3741,11 @@ scratch_ram { */ KERNEL_TQINPOS { size 1 + count 1 } TQINPOS { size 1 + count 8 } /* * Base address of our shared data with the kernel driver in host
@@ -3681,6 +3776,7 @@ scratch_ram { } ARG_2 { size 1 + count 1 alias RETURN_2 }
@@ -3698,6 +3794,7 @@ scratch_ram { */ SCSISEQ_TEMPLATE { size 1 + count 7 field MANUALCTL 0x40 field ENSELI 0x20 field ENRSELI 0x10
@@ -3711,6 +3808,7 @@ scratch_ram { */ INITIATOR_TAG { size 1 + count 1 } SEQ_FLAGS2 {
@@ -3777,6 +3875,7 @@ scratch_ram { */ CMDSIZE_TABLE { size 8 + count 8 } /* * When an SCB with the MK_MESSAGE flag is
@@ -3803,8 +3902,8 @@ scratch_ram { /************************* Hardware SCB Definition ****************************/ scb { address 0x180 - size 64 - modes 0, 1, 2, 3 + size 64 + modes 0, 1, 2, 3 SCB_RESIDUAL_DATACNT { size 4 alias SCB_CDB_STORE
drivers/scsi/aic7xxx/aic7xxx.reg +43 -0
298 lines not on this page · raw message
drivers/scsi/aic7xxx/aicasm/aicasm.c +3 -3
@@ -362,7 +362,7 @@ output_code()" *\n" "%s */\n", versions); -fprintf (ofile,"static uint8_t seqprog[] = {\n" ); +fprintf (ofile,"static const uint8_t seqprog[] = {\n" );for (cur_instr =STAILQ_FIRST (&seq_program); cur_instr !=NULL ; cur_instr =STAILQ_NEXT (cur_instr, links)) {
@@ -415,7 +415,7 @@ output_code() }fprintf (ofile, -"static struct patch {\n" +"static const struct patch {\n" " %spatch_func_t *patch_func;\n" " uint32_t begin :10,\n" " skip_instr :10,\n"
@@ -435,7 +435,7 @@ output_code()fprintf (ofile,"\n};\n\n" );fprintf (ofile, -"static struct cs {\n" +"static const struct cs {\n" " uint16_t begin;\n" " uint16_t end;\n" "} critical_sections[] = {\n" );
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y +12 -0
@@ -143,6 +143,8 @@ void yyerror(const char *string); %token <value> T_ADDRESS +%token T_COUNT + %token T_ACCESS_MODE %token T_MODES
@@ -353,6 +355,7 @@ reg_attribute_list: reg_attribute: reg_address | size +| count | access_mode | modes | field_defn
@@ -393,6 +396,13 @@ size: } ; +count: + T_COUNT T_NUMBER + { + cur_symbol->count += $2; + } +; + access_mode: T_ACCESS_MODE T_MODE {
@@ -801,6 +811,7 @@ scratch_ram: cur_symtype = SRAMLOC; cur_symbol->type = SRAMLOC; initialize_symbol(cur_symbol); + cur_symbol->count += 1; } reg_address {
@@ -832,6 +843,7 @@ scb: initialize_symbol(cur_symbol); /* 64 bytes of SCB space */ cur_symbol->info.rinfo->size = 64; + cur_symbol->count += 1; } reg_address {
drivers/scsi/aic7xxx/aicasm/aicasm_insformat.h +0 -0
drivers/scsi/aic7xxx/aicasm/aicasm_scan.l +1 -0
@@ -162,6 +162,7 @@ register { return T_REGISTER; } const { yylval.value = FALSE; return T_CONST; } download { return T_DOWNLOAD; } address { return T_ADDRESS; } +count { return T_COUNT; } access_mode { return T_ACCESS_MODE; } modes { return T_MODES; } RW|RO|WO {
drivers/scsi/aic7xxx/aicasm/aicasm_symbol.c +19 -6
@@ -77,6 +77,7 @@ symbol_create(char *name)if (new_symbol->name ==NULL )stop ("Unable to strdup symbol name" ,EX_SOFTWARE ); new_symbol->type =UNINITIALIZED ; + new_symbol->count =1 ;return (new_symbol); }
@@ -198,6 +199,12 @@ symtable_get(char *name) } }memcpy (&stored_ptr, data.data,sizeof (stored_ptr)); + stored_ptr->count++; + data.data = &stored_ptr; +if (symtable->put (symtable, &key, &data,/*flags*/ 0 ) !=0 ) { +perror ("Symtable put failed" ); +exit (EX_SOFTWARE ); + }return (stored_ptr); }
@@ -256,7 +263,7 @@ symlist_add(symlist_t *symlist, symbol_t *symbol, int how) && (curnode->symbol->info.finfo->value > newnode->symbol->info.finfo->value)))) || (!field && (curnode->symbol->info.rinfo->address > - newnode->symbol->info.rinfo->address))) { + newnode->symbol->info.rinfo->address))) {SLIST_INSERT_HEAD (symlist, newnode, links);return ; }
@@ -271,7 +278,7 @@ symlist_add(symlist_t *symlist, symbol_t *symbol, int how) cursymbol =SLIST_NEXT (curnode, links)->symbol;if ((field - && (cursymbol->type > symbol->type + && (cursymbol->type > symbol->type || (cursymbol->type == symbol->type && (cursymbol->info.finfo->value > symbol->info.finfo->value))))
@@ -351,7 +358,7 @@ aic_print_reg_dump_types(FILE *ofile) {if (ofile ==NULL )return ; - +fprintf (ofile,"typedef int (%sreg_print_t)(u_int, u_int *, u_int);\n" "typedef struct %sreg_parse_entry {\n"
@@ -370,7 +377,7 @@ aic_print_reg_dump_start(FILE *dfile, symbol_node_t *regnode)return ;fprintf (dfile, -"static %sreg_parse_entry_t %s_parse_table[] = {\n" , +"static const %sreg_parse_entry_t %s_parse_table[] = {\n" , prefix, regnode->symbol->name); }
@@ -385,7 +392,7 @@ aic_print_reg_dump_end(FILE *ofile, FILE *dfile, lower_name =strdup (regnode->symbol->name);if (lower_name ==NULL )stop ("Unable to strdup symbol name" ,EX_SOFTWARE ); - +for (letter = lower_name; *letter !='\0' ; letter++) *letter =tolower (*letter);
@@ -472,6 +479,7 @@ symtable_dump(FILE *ofile, FILE *dfile)DBT key;DBT data;int flag; +int reg_count =0 , reg_used =0 ;u_int i;if (symtable ==NULL )
@@ -541,6 +549,9 @@ symtable_dump(FILE *ofile, FILE *dfile)int num_entries; num_entries =0 ; + reg_count++; +if (curnode->symbol->count ==1 ) +break ; fields = &curnode->symbol->info.rinfo->fields; SLIST_FOREACH(fieldnode, fields, links) {if (num_entries ==0 )
@@ -553,11 +564,14 @@ symtable_dump(FILE *ofile, FILE *dfile) }aic_print_reg_dump_end (ofile, dfile, curnode, num_entries); + reg_used++; }default :break ; } } +fprintf (stderr,"%s: %d of %d register definitions used\n" , appname, + reg_used, reg_count);/* Fold in the masks and bits */ while (SLIST_FIRST (&masks) !=NULL ) {
@@ -646,7 +660,6 @@ symtable_dump(FILE *ofile, FILE *dfile)free (curnode); } -fprintf (ofile,"\n\n/* Downloaded Constant Definitions */\n" );for (i =0 ;SLIST_FIRST (&download_constants) !=NULL ; i++) {
drivers/scsi/aic7xxx/aicasm/aicasm_symbol.h +1 -0
@@ -128,6 +128,7 @@ typedef struct expression_info { typedef struct symbol { char *name; symtype type; + int count; union { struct reg_info *rinfo; struct field_info *finfo;
Re: [PATCH 5/5] aic7xxx: update shipped files
In reply to Denys VlasenkoHi Denys,
Quoted 5 lines · Denys Vlasenko
After previous patch shipped files are out of sync.
This patch updates them.
Signed-off-by Denys Vlasenko <[email protected]>
See my previous mail.
No, don't do it like this.
I've attached the updated files based on my modified patch.
James, please apply.
Cheers,
Hannes
Signature · 4 lines
Dr. Hannes Reinecke zSeries & Storage [email protected] +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Markus Rex, HRB 16746 (AG Nürnberg)
commit 883bcfc7b6023df01499f5811dcb39175120e7d3
Author: Hannes Reinecke <[email protected]> Date: Fri Apr 25 14:45:01 2008 +0200
aic7xxx: Update _shipped files
Update the precompiled sequencer code to match the latest aicasm changes.
drivers/scsi/aic7xxx/aic79xx_reg.h_shipped +154 -991
@@ -48,13 +48,6 @@ ahd_reg_print_t ahd_error_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrerr_print; -#else -#define ahd_clrerr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRERR", 0x04, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_hcntrl_print; #else #define ahd_hcntrl_print(regvalue, cur_col, wrap) \
@@ -167,13 +160,6 @@ ahd_reg_print_t ahd_sg_cache_shadow_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_arbctl_print; -#else -#define ahd_arbctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ARBCTL", 0x1b, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_sg_cache_pre_print; #else #define ahd_sg_cache_pre_print(regvalue, cur_col, wrap) \
@@ -188,20 +174,6 @@ ahd_reg_print_t ahd_lqin_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_typeptr_print; -#else -#define ahd_typeptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "TYPEPTR", 0x20, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_tagptr_print; -#else -#define ahd_tagptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "TAGPTR", 0x21, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_lunptr_print; #else #define ahd_lunptr_print(regvalue, cur_col, wrap) \
@@ -209,20 +181,6 @@ ahd_reg_print_t ahd_lunptr_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_datalenptr_print; -#else -#define ahd_datalenptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DATALENPTR", 0x23, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_statlenptr_print; -#else -#define ahd_statlenptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "STATLENPTR", 0x24, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_cmdlenptr_print; #else #define ahd_cmdlenptr_print(regvalue, cur_col, wrap) \
@@ -258,13 +216,6 @@ ahd_reg_print_t ahd_qnextptr_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_idptr_print; -#else -#define ahd_idptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "IDPTR", 0x2a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_abrtbyteptr_print; #else #define ahd_abrtbyteptr_print(regvalue, cur_col, wrap) \
@@ -279,27 +230,6 @@ ahd_reg_print_t ahd_abrtbitptr_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_maxcmdbytes_print; -#else -#define ahd_maxcmdbytes_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "MAXCMDBYTES", 0x2d, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_maxcmd2rcv_print; -#else -#define ahd_maxcmd2rcv_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "MAXCMD2RCV", 0x2e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_shortthresh_print; -#else -#define ahd_shortthresh_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SHORTTHRESH", 0x2f, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_lunlen_print; #else #define ahd_lunlen_print(regvalue, cur_col, wrap) \
@@ -328,41 +258,6 @@ ahd_reg_print_t ahd_maxcmdcnt_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqrsvd01_print; -#else -#define ahd_lqrsvd01_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQRSVD01", 0x34, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqrsvd16_print; -#else -#define ahd_lqrsvd16_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQRSVD16", 0x35, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqrsvd17_print; -#else -#define ahd_lqrsvd17_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQRSVD17", 0x36, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmdrsvd0_print; -#else -#define ahd_cmdrsvd0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMDRSVD0", 0x37, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqctl0_print; -#else -#define ahd_lqctl0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQCTL0", 0x38, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_lqctl1_print; #else #define ahd_lqctl1_print(regvalue, cur_col, wrap) \
@@ -370,13 +265,6 @@ ahd_reg_print_t ahd_lqctl1_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scsbist0_print; -#else -#define ahd_scsbist0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCSBIST0", 0x39, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_lqctl2_print; #else #define ahd_lqctl2_print(regvalue, cur_col, wrap) \
@@ -384,13 +272,6 @@ ahd_reg_print_t ahd_lqctl2_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scsbist1_print; -#else -#define ahd_scsbist1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCSBIST1", 0x3a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_scsiseq0_print; #else #define ahd_scsiseq0_print(regvalue, cur_col, wrap) \
@@ -412,20 +293,6 @@ ahd_reg_print_t ahd_sxfrctl0_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dlcount_print; -#else -#define ahd_dlcount_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DLCOUNT", 0x3c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_businitid_print; -#else -#define ahd_businitid_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "BUSINITID", 0x3c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_sxfrctl1_print; #else #define ahd_sxfrctl1_print(regvalue, cur_col, wrap) \
@@ -433,20 +300,6 @@ ahd_reg_print_t ahd_sxfrctl1_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_bustargid_print; -#else -#define ahd_bustargid_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "BUSTARGID", 0x3e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sxfrctl2_print; -#else -#define ahd_sxfrctl2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SXFRCTL2", 0x3e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_dffstat_print; #else #define ahd_dffstat_print(regvalue, cur_col, wrap) \
@@ -454,17 +307,17 @@ ahd_reg_print_t ahd_dffstat_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scsisigo_print; +ahd_reg_print_t ahd_multargid_print; #else -#define ahd_scsisigo_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCSISIGO", 0x40, regvalue, cur_col, wrap) +#define ahd_multargid_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "MULTARGID", 0x40, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_multargid_print; +ahd_reg_print_t ahd_scsisigo_print; #else -#define ahd_multargid_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "MULTARGID", 0x40, regvalue, cur_col, wrap) +#define ahd_scsisigo_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "SCSISIGO", 0x40, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS
@@ -482,13 +335,6 @@ ahd_reg_print_t ahd_scsiphase_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scsidat0_img_print; -#else -#define ahd_scsidat0_img_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCSIDAT0_IMG", 0x43, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_scsidat_print; #else #define ahd_scsidat_print(regvalue, cur_col, wrap) \
@@ -531,13 +377,6 @@ ahd_reg_print_t ahd_sblkctl_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrsint0_print; -#else -#define ahd_clrsint0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRSINT0", 0x4b, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_sstat0_print; #else #define ahd_sstat0_print(regvalue, cur_col, wrap) \
@@ -552,10 +391,10 @@ ahd_reg_print_t ahd_simode0_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrsint1_print; +ahd_reg_print_t ahd_clrsint0_print; #else -#define ahd_clrsint1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRSINT1", 0x4c, regvalue, cur_col, wrap) +#define ahd_clrsint0_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "CLRSINT0", 0x4b, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS
@@ -566,17 +405,17 @@ ahd_reg_print_t ahd_sstat1_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sstat2_print; +ahd_reg_print_t ahd_clrsint1_print; #else -#define ahd_sstat2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SSTAT2", 0x4d, regvalue, cur_col, wrap) +#define ahd_clrsint1_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "CLRSINT1", 0x4c, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_simode2_print; +ahd_reg_print_t ahd_sstat2_print; #else -#define ahd_simode2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SIMODE2", 0x4d, regvalue, cur_col, wrap) +#define ahd_sstat2_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "SSTAT2", 0x4d, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS
@@ -622,17 +461,17 @@ ahd_reg_print_t ahd_lqistat0_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_clrlqiint0_print; +ahd_reg_print_t ahd_lqimode0_print; #else -#define ahd_clrlqiint0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CLRLQIINT0", 0x50, regvalue, cur_col, wrap) +#define ahd_lqimode0_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "LQIMODE0", 0x50, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lqimode0_print; +ahd_reg_print_t ahd_clrlqiint0_print; #else -#define ahd_lqimode0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LQIMODE0", 0x50, regvalue, cur_col, wrap) +#define ahd_clrlqiint0_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "CLRLQIINT0", 0x50, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS
@@ -790,13 +629,6 @@ ahd_reg_print_t ahd_seqintsrc_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_currscb_print; -#else -#define ahd_currscb_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CURRSCB", 0x5c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_seqimode_print; #else #define ahd_seqimode_print(regvalue, cur_col, wrap) \
@@ -804,24 +636,17 @@ ahd_reg_print_t ahd_seqimode_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_mdffstat_print; -#else -#define ahd_mdffstat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "MDFFSTAT", 0x5d, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_crccontrol_print; +ahd_reg_print_t ahd_currscb_print; #else -#define ahd_crccontrol_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CRCCONTROL", 0x5d, regvalue, cur_col, wrap) +#define ahd_currscb_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "CURRSCB", 0x5c, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfftag_print; +ahd_reg_print_t ahd_mdffstat_print; #else -#define ahd_dfftag_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFFTAG", 0x5e, regvalue, cur_col, wrap) +#define ahd_mdffstat_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "MDFFSTAT", 0x5d, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS
@@ -832,20 +657,6 @@ ahd_reg_print_t ahd_lastscb_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scsitest_print; -#else -#define ahd_scsitest_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCSITEST", 0x5e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_iopdnctl_print; -#else -#define ahd_iopdnctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "IOPDNCTL", 0x5f, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_shaddr_print; #else #define ahd_shaddr_print(regvalue, cur_col, wrap) \
@@ -860,13 +671,6 @@ ahd_reg_print_t ahd_negoaddr_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dgrpcrci_print; -#else -#define ahd_dgrpcrci_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DGRPCRCI", 0x60, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_negperiod_print; #else #define ahd_negperiod_print(regvalue, cur_col, wrap) \
@@ -874,13 +678,6 @@ ahd_reg_print_t ahd_negperiod_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_packcrci_print; -#else -#define ahd_packcrci_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PACKCRCI", 0x62, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_negoffset_print; #else #define ahd_negoffset_print(regvalue, cur_col, wrap) \
@@ -930,13 +727,6 @@ ahd_reg_print_t ahd_iownid_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_pll960ctl0_print; -#else -#define ahd_pll960ctl0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PLL960CTL0", 0x68, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_shcnt_print; #else #define ahd_shcnt_print(regvalue, cur_col, wrap) \
@@ -951,27 +741,6 @@ ahd_reg_print_t ahd_townid_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_pll960ctl1_print; -#else -#define ahd_pll960ctl1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PLL960CTL1", 0x69, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_pll960cnt0_print; -#else -#define ahd_pll960cnt0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PLL960CNT0", 0x6a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_xsig_print; -#else -#define ahd_xsig_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "XSIG", 0x6a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_seloid_print; #else #define ahd_seloid_print(regvalue, cur_col, wrap) \
@@ -979,41 +748,6 @@ ahd_reg_print_t ahd_seloid_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_pll400ctl0_print; -#else -#define ahd_pll400ctl0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PLL400CTL0", 0x6c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_fairness_print; -#else -#define ahd_fairness_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "FAIRNESS", 0x6c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_pll400ctl1_print; -#else -#define ahd_pll400ctl1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PLL400CTL1", 0x6d, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_unfairness_print; -#else -#define ahd_unfairness_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "UNFAIRNESS", 0x6e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_pll400cnt0_print; -#else -#define ahd_pll400cnt0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PLL400CNT0", 0x6e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_haddr_print; #else #define ahd_haddr_print(regvalue, cur_col, wrap) \
@@ -1021,27 +755,6 @@ ahd_reg_print_t ahd_haddr_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_plldelay_print; -#else -#define ahd_plldelay_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "PLLDELAY", 0x70, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_hodmaadr_print; -#else -#define ahd_hodmaadr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "HODMAADR", 0x70, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_hodmacnt_print; -#else -#define ahd_hodmacnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "HODMACNT", 0x78, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_hcnt_print; #else #define ahd_hcnt_print(regvalue, cur_col, wrap) \
@@ -1049,10 +762,10 @@ ahd_reg_print_t ahd_hcnt_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_hodmaen_print; +ahd_reg_print_t ahd_sghaddr_print; #else -#define ahd_hodmaen_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "HODMAEN", 0x7a, regvalue, cur_col, wrap) +#define ahd_sghaddr_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "SGHADDR", 0x7c, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS
@@ -1063,10 +776,10 @@ ahd_reg_print_t ahd_scbhaddr_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sghaddr_print; +ahd_reg_print_t ahd_sghcnt_print; #else -#define ahd_sghaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGHADDR", 0x7c, regvalue, cur_col, wrap) +#define ahd_sghcnt_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "SGHCNT", 0x84, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS
@@ -1077,13 +790,6 @@ ahd_reg_print_t ahd_scbhcnt_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sghcnt_print; -#else -#define ahd_sghcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGHCNT", 0x84, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_dff_thrsh_print; #else #define ahd_dff_thrsh_print(regvalue, cur_col, wrap) \
@@ -1091,132 +797,6 @@ ahd_reg_print_t ahd_dff_thrsh_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_romaddr_print; -#else -#define ahd_romaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ROMADDR", 0x8a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_romcntrl_print; -#else -#define ahd_romcntrl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ROMCNTRL", 0x8d, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_romdata_print; -#else -#define ahd_romdata_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ROMDATA", 0x8e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcrxmsg0_print; -#else -#define ahd_cmcrxmsg0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCRXMSG0", 0x90, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_roenable_print; -#else -#define ahd_roenable_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "ROENABLE", 0x90, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyrxmsg0_print; -#else -#define ahd_ovlyrxmsg0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYRXMSG0", 0x90, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dchrxmsg0_print; -#else -#define ahd_dchrxmsg0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DCHRXMSG0", 0x90, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyrxmsg1_print; -#else -#define ahd_ovlyrxmsg1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYRXMSG1", 0x91, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_nsenable_print; -#else -#define ahd_nsenable_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "NSENABLE", 0x91, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcrxmsg1_print; -#else -#define ahd_cmcrxmsg1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCRXMSG1", 0x91, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dchrxmsg1_print; -#else -#define ahd_dchrxmsg1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DCHRXMSG1", 0x91, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dchrxmsg2_print; -#else -#define ahd_dchrxmsg2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DCHRXMSG2", 0x92, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcrxmsg2_print; -#else -#define ahd_cmcrxmsg2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCRXMSG2", 0x92, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ost_print; -#else -#define ahd_ost_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OST", 0x92, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyrxmsg2_print; -#else -#define ahd_ovlyrxmsg2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYRXMSG2", 0x92, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dchrxmsg3_print; -#else -#define ahd_dchrxmsg3_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DCHRXMSG3", 0x93, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyrxmsg3_print; -#else -#define ahd_ovlyrxmsg3_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYRXMSG3", 0x93, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcrxmsg3_print; -#else -#define ahd_cmcrxmsg3_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCRXMSG3", 0x93, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_pcixctl_print; #else #define ahd_pcixctl_print(regvalue, cur_col, wrap) \
@@ -1224,34 +804,6 @@ ahd_reg_print_t ahd_pcixctl_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyseqbcnt_print; -#else -#define ahd_ovlyseqbcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYSEQBCNT", 0x94, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dchseqbcnt_print; -#else -#define ahd_dchseqbcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DCHSEQBCNT", 0x94, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcseqbcnt_print; -#else -#define ahd_cmcseqbcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCSEQBCNT", 0x94, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcspltstat0_print; -#else -#define ahd_cmcspltstat0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCSPLTSTAT0", 0x96, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_dchspltstat0_print; #else #define ahd_dchspltstat0_print(regvalue, cur_col, wrap) \
@@ -1259,27 +811,6 @@ ahd_reg_print_t ahd_dchspltstat0_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyspltstat0_print; -#else -#define ahd_ovlyspltstat0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYSPLTSTAT0", 0x96, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcspltstat1_print; -#else -#define ahd_cmcspltstat1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCSPLTSTAT1", 0x97, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyspltstat1_print; -#else -#define ahd_ovlyspltstat1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYSPLTSTAT1", 0x97, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_dchspltstat1_print; #else #define ahd_dchspltstat1_print(regvalue, cur_col, wrap) \
@@ -1287,90 +818,6 @@ ahd_reg_print_t ahd_dchspltstat1_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sgrxmsg0_print; -#else -#define ahd_sgrxmsg0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGRXMSG0", 0x98, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_slvspltoutadr0_print; -#else -#define ahd_slvspltoutadr0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SLVSPLTOUTADR0", 0x98, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sgrxmsg1_print; -#else -#define ahd_sgrxmsg1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGRXMSG1", 0x99, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_slvspltoutadr1_print; -#else -#define ahd_slvspltoutadr1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SLVSPLTOUTADR1", 0x99, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sgrxmsg2_print; -#else -#define ahd_sgrxmsg2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGRXMSG2", 0x9a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_slvspltoutadr2_print; -#else -#define ahd_slvspltoutadr2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SLVSPLTOUTADR2", 0x9a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sgrxmsg3_print; -#else -#define ahd_sgrxmsg3_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGRXMSG3", 0x9b, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_slvspltoutadr3_print; -#else -#define ahd_slvspltoutadr3_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SLVSPLTOUTADR3", 0x9b, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sgseqbcnt_print; -#else -#define ahd_sgseqbcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGSEQBCNT", 0x9c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_slvspltoutattr0_print; -#else -#define ahd_slvspltoutattr0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SLVSPLTOUTATTR0", 0x9c, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_slvspltoutattr1_print; -#else -#define ahd_slvspltoutattr1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SLVSPLTOUTATTR1", 0x9d, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_slvspltoutattr2_print; -#else -#define ahd_slvspltoutattr2_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SLVSPLTOUTATTR2", 0x9e, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_sgspltstat0_print; #else #define ahd_sgspltstat0_print(regvalue, cur_col, wrap) \
@@ -1385,13 +832,6 @@ ahd_reg_print_t ahd_sgspltstat1_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sfunct_print; -#else -#define ahd_sfunct_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SFUNCT", 0x9f, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_df0pcistat_print; #else #define ahd_df0pcistat_print(regvalue, cur_col, wrap) \
@@ -1406,41 +846,6 @@ ahd_reg_print_t ahd_reg0_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_df1pcistat_print; -#else -#define ahd_df1pcistat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DF1PCISTAT", 0xa1, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sgpcistat_print; -#else -#define ahd_sgpcistat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SGPCISTAT", 0xa2, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_reg1_print; -#else -#define ahd_reg1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "REG1", 0xa2, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmcpcistat_print; -#else -#define ahd_cmcpcistat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMCPCISTAT", 0xa3, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlypcistat_print; -#else -#define ahd_ovlypcistat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYPCISTAT", 0xa4, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_reg_isr_print; #else #define ahd_reg_isr_print(regvalue, cur_col, wrap) \
@@ -1455,13 +860,6 @@ ahd_reg_print_t ahd_sg_state_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_msipcistat_print; -#else -#define ahd_msipcistat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "MSIPCISTAT", 0xa6, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_targpcistat_print; #else #define ahd_targpcistat_print(regvalue, cur_col, wrap) \
@@ -1469,13 +867,6 @@ ahd_reg_print_t ahd_targpcistat_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_data_count_odd_print; -#else -#define ahd_data_count_odd_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DATA_COUNT_ODD", 0xa7, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_scbptr_print; #else #define ahd_scbptr_print(regvalue, cur_col, wrap) \
@@ -1483,13 +874,6 @@ ahd_reg_print_t ahd_scbptr_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ccscbacnt_print; -#else -#define ahd_ccscbacnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CCSCBACNT", 0xab, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_scbautoptr_print; #else #define ahd_scbautoptr_print(regvalue, cur_col, wrap) \
@@ -1504,13 +888,6 @@ ahd_reg_print_t ahd_ccsgaddr_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ccscbadr_bk_print; -#else -#define ahd_ccscbadr_bk_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CCSCBADR_BK", 0xac, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_ccscbaddr_print; #else #define ahd_ccscbaddr_print(regvalue, cur_col, wrap) \
@@ -1518,13 +895,6 @@ ahd_reg_print_t ahd_ccscbaddr_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_cmc_rambist_print; -#else -#define ahd_cmc_rambist_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "CMC_RAMBIST", 0xad, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_ccscbctl_print; #else #define ahd_ccscbctl_print(regvalue, cur_col, wrap) \
@@ -1546,13 +916,6 @@ ahd_reg_print_t ahd_ccsgram_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_flexadr_print; -#else -#define ahd_flexadr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "FLEXADR", 0xb0, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_ccscbram_print; #else #define ahd_ccscbram_print(regvalue, cur_col, wrap) \
@@ -1560,27 +923,6 @@ ahd_reg_print_t ahd_ccscbram_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_flexcnt_print; -#else -#define ahd_flexcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "FLEXCNT", 0xb3, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_flexdmastat_print; -#else -#define ahd_flexdmastat_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "FLEXDMASTAT", 0xb5, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_flexdata_print; -#else -#define ahd_flexdata_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "FLEXDATA", 0xb6, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_brddat_print; #else #define ahd_brddat_print(regvalue, cur_col, wrap) \
@@ -1623,27 +965,6 @@ ahd_reg_print_t ahd_seestat_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scbcnt_print; -#else -#define ahd_scbcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCBCNT", 0xbf, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfwaddr_print; -#else -#define ahd_dfwaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFWADDR", 0xc0, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dspfltrctl_print; -#else -#define ahd_dspfltrctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DSPFLTRCTL", 0xc0, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_dspdatactl_print; #else #define ahd_dspdatactl_print(regvalue, cur_col, wrap) \
@@ -1651,27 +972,6 @@ ahd_reg_print_t ahd_dspdatactl_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfraddr_print; -#else -#define ahd_dfraddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFRADDR", 0xc2, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dspreqctl_print; -#else -#define ahd_dspreqctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DSPREQCTL", 0xc2, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dspackctl_print; -#else -#define ahd_dspackctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DSPACKCTL", 0xc3, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_dfdat_print; #else #define ahd_dfdat_print(regvalue, cur_col, wrap) \
@@ -1693,76 +993,6 @@ ahd_reg_print_t ahd_wrtbiasctl_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_rcvrbiosctl_print; -#else -#define ahd_rcvrbiosctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "RCVRBIOSCTL", 0xc6, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_wrtbiascalc_print; -#else -#define ahd_wrtbiascalc_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "WRTBIASCALC", 0xc7, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_rcvrbiascalc_print; -#else -#define ahd_rcvrbiascalc_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "RCVRBIASCALC", 0xc8, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfptrs_print; -#else -#define ahd_dfptrs_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFPTRS", 0xc8, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_skewcalc_print; -#else -#define ahd_skewcalc_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SKEWCALC", 0xc9, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfbkptr_print; -#else -#define ahd_dfbkptr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFBKPTR", 0xc9, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfdbctl_print; -#else -#define ahd_dfdbctl_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFDBCTL", 0xcb, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfscnt_print; -#else -#define ahd_dfscnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFSCNT", 0xcc, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_dfbcnt_print; -#else -#define ahd_dfbcnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "DFBCNT", 0xce, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ovlyaddr_print; -#else -#define ahd_ovlyaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "OVLYADDR", 0xd4, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_seqctl0_print; #else #define ahd_seqctl0_print(regvalue, cur_col, wrap) \
@@ -1770,13 +1000,6 @@ ahd_reg_print_t ahd_seqctl0_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_seqctl1_print; -#else -#define ahd_seqctl1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SEQCTL1", 0xd7, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_flags_print; #else #define ahd_flags_print(regvalue, cur_col, wrap) \
@@ -1826,20 +1049,6 @@ ahd_reg_print_t ahd_dindex_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_brkaddr0_print; -#else -#define ahd_brkaddr0_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "BRKADDR0", 0xe6, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_brkaddr1_print; -#else -#define ahd_brkaddr1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "BRKADDR1", 0xe6, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_allones_print; #else #define ahd_allones_print(regvalue, cur_col, wrap) \
@@ -1875,13 +1084,6 @@ ahd_reg_print_t ahd_dindir_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_function1_print; -#else -#define ahd_function1_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "FUNCTION1", 0xf0, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_stack_print; #else #define ahd_stack_print(regvalue, cur_col, wrap) \
@@ -1903,13 +1105,6 @@ ahd_reg_print_t ahd_curaddr_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_lastaddr_print; -#else -#define ahd_lastaddr_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "LASTADDR", 0xf6, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_intvec2_addr_print; #else #define ahd_intvec2_addr_print(regvalue, cur_col, wrap) \
@@ -1931,24 +1126,17 @@ ahd_reg_print_t ahd_accum_save_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_waiting_scb_tails_print; -#else -#define ahd_waiting_scb_tails_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "WAITING_SCB_TAILS", 0x100, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_ahd_pci_config_base_print; +ahd_reg_print_t ahd_sram_base_print; #else -#define ahd_ahd_pci_config_base_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "AHD_PCI_CONFIG_BASE", 0x100, regvalue, cur_col, wrap) +#define ahd_sram_base_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "SRAM_BASE", 0x100, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_sram_base_print; +ahd_reg_print_t ahd_waiting_scb_tails_print; #else -#define ahd_sram_base_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SRAM_BASE", 0x100, regvalue, cur_col, wrap) +#define ahd_waiting_scb_tails_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "WAITING_SCB_TAILS", 0x100, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS
@@ -2218,17 +1406,17 @@ ahd_reg_print_t ahd_mk_message_scsiid_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scb_base_print; +ahd_reg_print_t ahd_scb_residual_datacnt_print; #else -#define ahd_scb_base_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCB_BASE", 0x180, regvalue, cur_col, wrap) +#define ahd_scb_residual_datacnt_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "SCB_RESIDUAL_DATACNT", 0x180, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scb_residual_datacnt_print; +ahd_reg_print_t ahd_scb_base_print; #else -#define ahd_scb_residual_datacnt_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCB_RESIDUAL_DATACNT", 0x180, regvalue, cur_col, wrap) +#define ahd_scb_base_print(regvalue, cur_col, wrap) \ + ahd_print_register(NULL, 0, "SCB_BASE", 0x180, regvalue, cur_col, wrap) #endif #if AIC_DEBUG_REGISTERS
@@ -2246,27 +1434,6 @@ ahd_reg_print_t ahd_scb_scsi_status_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scb_target_phases_print; -#else -#define ahd_scb_target_phases_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCB_TARGET_PHASES", 0x189, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scb_target_data_dir_print; -#else -#define ahd_scb_target_data_dir_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCB_TARGET_DATA_DIR", 0x18a, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scb_target_itag_print; -#else -#define ahd_scb_target_itag_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCB_TARGET_ITAG", 0x18b, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_scb_sense_busaddr_print; #else #define ahd_scb_sense_busaddr_print(regvalue, cur_col, wrap) \
@@ -2365,13 +1532,6 @@ ahd_reg_print_t ahd_scb_next2_print; #endif #if AIC_DEBUG_REGISTERS -ahd_reg_print_t ahd_scb_spare_print; -#else -#define ahd_scb_spare_print(regvalue, cur_col, wrap) \ - ahd_print_register(NULL, 0, "SCB_SPARE", 0x1b0, regvalue, cur_col, wrap) -#endif - -#if AIC_DEBUG_REGISTERS ahd_reg_print_t ahd_scb_disconnected_lists_print; #else #define ahd_scb_disconnected_lists_print(regvalue, cur_col, wrap) \
@@ -2557,10 +1717,10 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define SG_CACHE_PRE 0x1b -#define LQIN 0x20 - #define TYPEPTR 0x20 +#define LQIN 0x20 + #define TAGPTR 0x21 #define LUNPTR 0x22
@@ -2620,14 +1780,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define SINGLECMD 0x02 #define ABORTPENDING 0x01 -#define SCSBIST0 0x39 -#define GSBISTERR 0x40 -#define GSBISTDONE 0x20 -#define GSBISTRUN 0x10 -#define OSBISTERR 0x04 -#define OSBISTDONE 0x02 -#define OSBISTRUN 0x01 - #define LQCTL2 0x39 #define LQIRETRY 0x80 #define LQICONTINUE 0x40
@@ -2638,10 +1790,13 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define LQOTOIDLE 0x02 #define LQOPAUSE 0x01 -#define SCSBIST1 0x3a -#define NTBISTERR 0x04 -#define NTBISTDONE 0x02 -#define NTBISTRUN 0x01 +#define SCSBIST0 0x39 +#define GSBISTERR 0x40 +#define GSBISTDONE 0x20 +#define GSBISTRUN 0x10 +#define OSBISTERR 0x04 +#define OSBISTDONE 0x02 +#define OSBISTRUN 0x01 #define SCSISEQ0 0x3a #define TEMODEO 0x80
@@ -2650,8 +1805,15 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define FORCEBUSFREE 0x10 #define SCSIRSTO 0x01 +#define SCSBIST1 0x3a +#define NTBISTERR 0x04 +#define NTBISTDONE 0x02 +#define NTBISTRUN 0x01 + #define SCSISEQ1 0x3b +#define BUSINITID 0x3c + #define SXFRCTL0 0x3c #define DFON 0x80 #define DFPEXP 0x40
@@ -2660,8 +1822,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define DLCOUNT 0x3c -#define BUSINITID 0x3c - #define SXFRCTL1 0x3d #define BITBUCKET 0x80 #define ENSACHK 0x40
@@ -2686,6 +1846,8 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define CURRFIFO_1 0x01 #define CURRFIFO_0 0x00 +#define MULTARGID 0x40 + #define SCSISIGO 0x40 #define CDO 0x80 #define IOO 0x40
@@ -2696,8 +1858,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define REQO 0x02 #define ACKO 0x01 -#define MULTARGID 0x40 - #define SCSISIGI 0x41 #define ATNI 0x10 #define SELI 0x08
@@ -2744,15 +1904,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define ENAB20 0x04 #define SELWIDE 0x02 -#define CLRSINT0 0x4b -#define CLRSELDO 0x40 -#define CLRSELDI 0x20 -#define CLRSELINGO 0x10 -#define CLRIOERR 0x08 -#define CLROVERRUN 0x04 -#define CLRSPIORDY 0x02 -#define CLRARBDO 0x01 - #define SSTAT0 0x4b #define TARGET 0x80 #define SELDO 0x40
@@ -2772,14 +1923,14 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define ENSPIORDY 0x02 #define ENARBDO 0x01 -#define CLRSINT1 0x4c -#define CLRSELTIMEO 0x80 -#define CLRATNO 0x40 -#define CLRSCSIRSTI 0x20 -#define CLRBUSFREE 0x08 -#define CLRSCSIPERR 0x04 -#define CLRSTRB2FAST 0x02 -#define CLRREQINIT 0x01 +#define CLRSINT0 0x4b +#define CLRSELDO 0x40 +#define CLRSELDI 0x20 +#define CLRSELINGO 0x10 +#define CLRIOERR 0x08 +#define CLROVERRUN 0x04 +#define CLRSPIORDY 0x02 +#define CLRARBDO 0x01 #define SSTAT1 0x4c #define SELTO 0x80
@@ -2791,6 +1942,15 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define STRB2FAST 0x02 #define REQINIT 0x01 +#define CLRSINT1 0x4c +#define CLRSELTIMEO 0x80 +#define CLRATNO 0x40 +#define CLRSCSIRSTI 0x20 +#define CLRBUSFREE 0x08 +#define CLRSCSIPERR 0x04 +#define CLRSTRB2FAST 0x02 +#define CLRREQINIT 0x01 + #define SSTAT2 0x4d #define BUSFREETIME 0xc0 #define NONPACKREQ 0x20
@@ -2838,14 +1998,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define LQIATNLQ 0x02 #define LQIATNCMD 0x01 -#define CLRLQIINT0 0x50 -#define CLRLQIATNQAS 0x20 -#define CLRLQICRCT1 0x10 -#define CLRLQICRCT2 0x08 -#define CLRLQIBADLQT 0x04 -#define CLRLQIATNLQ 0x02 -#define CLRLQIATNCMD 0x01 - #define LQIMODE0 0x50 #define ENLQIATNQASK 0x20 #define ENLQICRCT1 0x10
@@ -2854,6 +2006,14 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define ENLQIATNLQ 0x02 #define ENLQIATNCMD 0x01 +#define CLRLQIINT0 0x50 +#define CLRLQIATNQAS 0x20 +#define CLRLQICRCT1 0x10 +#define CLRLQICRCT2 0x08 +#define CLRLQIBADLQT 0x04 +#define CLRLQIATNLQ 0x02 +#define CLRLQIATNCMD 0x01 + #define LQIMODE1 0x51 #define ENLQIPHASE_LQ 0x80 #define ENLQIPHASE_NLQ 0x40
@@ -2976,6 +2136,8 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define LQOSCSCTL 0x5a #define LQOH2A_VERSION 0x80 +#define LQOBUSETDLY 0x40 +#define LQONOHOLDLACK 0x02 #define LQONOCHKOVER 0x01 #define NEXTSCB 0x5a
@@ -2998,8 +2160,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define CFG4ICMD 0x02 #define CFG4TCMD 0x01 -#define CURRSCB 0x5c - #define SEQIMODE 0x5c #define ENCTXTDONE 0x40 #define ENSAVEPTRS 0x20
@@ -3009,6 +2169,8 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define ENCFG4ICMD 0x02 #define ENCFG4TCMD 0x01 +#define CURRSCB 0x5c + #define MDFFSTAT 0x5d #define SHCNTNEGATIVE 0x40 #define SHCNTMINUS1 0x20
@@ -3023,29 +2185,29 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define DFFTAG 0x5e -#define LASTSCB 0x5e - #define SCSITEST 0x5e #define CNTRTEST 0x08 #define SEL_TXPLL_DEBUG 0x04 +#define LASTSCB 0x5e + #define IOPDNCTL 0x5f #define DISABLE_OE 0x80 #define PDN_IDIST 0x04 #define PDN_DIFFSENSE 0x01 +#define DGRPCRCI 0x60 + #define SHADDR 0x60 #define NEGOADDR 0x60 -#define DGRPCRCI 0x60 - #define NEGPERIOD 0x61 -#define PACKCRCI 0x62 - #define NEGOFFSET 0x62 +#define PACKCRCI 0x62 + #define NEGPPROPTS 0x63 #define PPROPT_PACE 0x08 #define PPROPT_QAS 0x04
@@ -3066,6 +2228,7 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define ANNEXDAT 0x66 #define SCSCHKN 0x66 +#define BIDICHKDIS 0x80 #define STSELSKIDDIS 0x40 #define CURRFIFODEF 0x20 #define WIDERESEN 0x10
@@ -3090,6 +2253,8 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define SELOID 0x6b +#define FAIRNESS 0x6c + #define PLL400CTL0 0x6c #define PLL_VCOSEL 0x80 #define PLL_PWDN 0x40
@@ -3099,8 +2264,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define PLL_DLPF 0x02 #define PLL_ENFBM 0x01 -#define FAIRNESS 0x6c - #define PLL400CTL1 0x6d #define PLL_CNTEN 0x80 #define PLL_CNTCLR 0x40
@@ -3112,25 +2275,25 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define HADDR 0x70 +#define HODMAADR 0x70 + #define PLLDELAY 0x70 #define SPLIT_DROP_REQ 0x80 -#define HODMAADR 0x70 +#define HCNT 0x78 #define HODMACNT 0x78 -#define HCNT 0x78 - #define HODMAEN 0x7a -#define SCBHADDR 0x7c - #define SGHADDR 0x7c -#define SCBHCNT 0x84 +#define SCBHADDR 0x7c #define SGHCNT 0x84 +#define SCBHCNT 0x84 + #define DFF_THRSH 0x88 #define WR_DFTHRSH 0x70 #define RD_DFTHRSH 0x07
@@ -3163,6 +2326,10 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define CMCRXMSG0 0x90 +#define OVLYRXMSG0 0x90 + +#define DCHRXMSG0 0x90 + #define ROENABLE 0x90 #define MSIROEN 0x20 #define OVLYROEN 0x10
@@ -3171,11 +2338,11 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define DCH1ROEN 0x02 #define DCH0ROEN 0x01 -#define OVLYRXMSG0 0x90 +#define OVLYRXMSG1 0x91 -#define DCHRXMSG0 0x90 +#define CMCRXMSG1 0x91 -#define OVLYRXMSG1 0x91 +#define DCHRXMSG1 0x91 #define NSENABLE 0x91 #define MSINSEN 0x20
@@ -3185,10 +2352,6 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define DCH1NSEN 0x02 #define DCH0NSEN 0x01 -#define CMCRXMSG1 0x91 - -#define DCHRXMSG1 0x91 - #define DCHRXMSG2 0x92 #define CMCRXMSG2 0x92
@@ -3212,24 +2375,24 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define TSCSERREN 0x02 #define CMPABCDIS 0x01 +#define CMCSEQBCNT 0x94 + #define OVLYSEQBCNT 0x94 #define DCHSEQBCNT 0x94 -#define CMCSEQBCNT 0x94 - -#define CMCSPLTSTAT0 0x96 - #define DCHSPLTSTAT0 0x96 #define OVLYSPLTSTAT0 0x96 -#define CMCSPLTSTAT1 0x97 +#define CMCSPLTSTAT0 0x96 #define OVLYSPLTSTAT1 0x97 #define DCHSPLTSTAT1 0x97 +#define CMCSPLTSTAT1 0x97 + #define SGRXMSG0 0x98 #define CDNUM 0xf8 #define CFNUM 0x07
@@ -3257,18 +2420,15 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define TAG_NUM 0x1f #define RLXORD 0x10 -#define SGSEQBCNT 0x9c - #define SLVSPLTOUTATTR0 0x9c #define LOWER_BCNT 0xff +#define SGSEQBCNT 0x9c + #define SLVSPLTOUTATTR1 0x9d #define CMPLT_DNUM 0xf8 #define CMPLT_FNUM 0x07 -#define SLVSPLTOUTATTR2 0x9e -#define CMPLT_BNUM 0xff - #define SGSPLTSTAT0 0x9e #define STAETERM 0x80 #define SCBCERR 0x40
@@ -3279,6 +2439,9 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define RXSCEMSG 0x02 #define RXSPLTRSP 0x01 +#define SLVSPLTOUTATTR2 0x9e +#define CMPLT_BNUM 0xff + #define SGSPLTSTAT1 0x9f #define RXDATABUCKET 0x01
@@ -3334,10 +2497,10 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define CCSGADDR 0xac -#define CCSCBADR_BK 0xac - #define CCSCBADDR 0xac +#define CCSCBADR_BK 0xac + #define CMC_RAMBIST 0xad #define SG_ELEMENT_SIZE 0x80 #define SCBRAMBIST_FAIL 0x40
@@ -3391,9 +2554,9 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define SEEDAT 0xbc #define SEECTL 0xbe +#define SEEOP_EWDS 0x40 #define SEEOP_WALL 0x40 #define SEEOP_EWEN 0x40 -#define SEEOP_EWDS 0x40 #define SEEOPCODE 0x70 #define SEERST 0x02 #define SEESTART 0x01
@@ -3410,25 +2573,25 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define SCBCNT 0xbf -#define DFWADDR 0xc0 - #define DSPFLTRCTL 0xc0 #define FLTRDISABLE 0x20 #define EDGESENSE 0x10 #define DSPFCNTSEL 0x0f +#define DFWADDR 0xc0 + #define DSPDATACTL 0xc1 #define BYPASSENAB 0x80 #define DESQDIS 0x10 #define RCVROFFSTDIS 0x04 #define XMITOFFSTDIS 0x02 -#define DFRADDR 0xc2 - #define DSPREQCTL 0xc2 #define MANREQCTL 0xc0 #define MANREQDLY 0x3f +#define DFRADDR 0xc2 + #define DSPACKCTL 0xc3 #define MANACKCTL 0xc0 #define MANACKDLY 0x3f
@@ -3449,14 +2612,14 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define WRTBIASCALC 0xc7 -#define RCVRBIASCALC 0xc8 - #define DFPTRS 0xc8 -#define SKEWCALC 0xc9 +#define RCVRBIASCALC 0xc8 #define DFBKPTR 0xc9 +#define SKEWCALC 0xc9 + #define DFDBCTL 0xcb #define DFF_CIO_WR_RDY 0x20 #define DFF_CIO_RD_RDY 0x10
@@ -3541,12 +2704,12 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define ACCUM_SAVE 0xfa -#define WAITING_SCB_TAILS 0x100 - #define AHD_PCI_CONFIG_BASE 0x100 #define SRAM_BASE 0x100 +#define WAITING_SCB_TAILS 0x100 + #define WAITING_TID_HEAD 0x120 #define WAITING_TID_TAIL 0x122
@@ -3575,8 +2738,8 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define PRELOADEN 0x80 #define WIDEODD 0x40 #define SCSIEN 0x20 -#define SDMAEN 0x10 #define SDMAENACK 0x10 +#define SDMAEN 0x10 #define HDMAEN 0x08 #define HDMAENACK 0x08 #define DIRECTION 0x04
@@ -3674,12 +2837,12 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define MK_MESSAGE_SCSIID 0x162 -#define SCB_BASE 0x180 - #define SCB_RESIDUAL_DATACNT 0x180 #define SCB_CDB_STORE 0x180 #define SCB_HOST_CDB_PTR 0x180 +#define SCB_BASE 0x180 + #define SCB_RESIDUAL_SGPTR 0x184 #define SG_ADDR_MASK 0xf8 #define SG_OVERRUN_RESID 0x02
@@ -3747,6 +2910,17 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define SCB_DISCONNECTED_LISTS 0x1b8 +#define CMD_GROUP_CODE_SHIFT 0x05 +#define STIMESEL_MIN 0x18 +#define STIMESEL_SHIFT 0x03 +#define INVALID_ADDR 0x80 +#define AHD_PRECOMP_MASK 0x07 +#define TARGET_DATA_IN 0x01 +#define CCSCBADDR_MAX 0x80 +#define NUMDSPS 0x14 +#define SEEOP_EWEN_ADDR 0xc0 +#define AHD_ANNEXCOL_PER_DEV0 0x04 +#define DST_MODE_SHIFT 0x04 #define AHD_TIMER_MAX_US 0x18ffe7 #define AHD_TIMER_MAX_TICKS 0xffff #define AHD_SENSE_BUFSIZE 0x100
@@ -3781,43 +2955,32 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print; #define LUNLEN_SINGLE_LEVEL_LUN 0x0f #define NVRAM_SCB_OFFSET 0x2c #define STATUS_PKT_SENSE 0xff -#define CMD_GROUP_CODE_SHIFT 0x05 #define MAX_OFFSET_PACED_BUG 0x7f #define STIMESEL_BUG_ADJ 0x08 -#define STIMESEL_MIN 0x18 -#define STIMESEL_SHIFT 0x03 #define CCSGRAM_MAXSEGS 0x10 -#define INVALID_ADDR 0x80 #define SEEOP_ERAL_ADDR 0x80 #define AHD_SLEWRATE_DEF_REVB 0x08 #define AHD_PRECOMP_CUTBACK_17 0x04 -#define AHD_PRECOMP_MASK 0x07 #define SRC_MODE_SHIFT 0x00 #define PKT_OVERRUN_BUFSIZE 0x200 #define SCB_TRANSFER_SIZE_1BYTE_LUN 0x30 -#define TARGET_DATA_IN 0x01 #define HOST_MSG 0xff #define MAX_OFFSET 0xfe #define BUS_16_BIT 0x01 -#define CCSCBADDR_MAX 0x80 -#define NUMDSPS 0x14 -#define SEEOP_EWEN_ADDR 0xc0 -#define AHD_ANNEXCOL_PER_DEV0 0x04 -#define DST_MODE_SHIFT 0x04 /* Downloaded Constant Definitions */ +#define SG_SIZEOF 0x04 +#define SG_PREFETCH_ALIGN_MASK 0x02 +#define SG_PREFETCH_CNT_LIMIT 0x01 #define CACHELINE_MASK 0x07 #define SCB_TRANSFER_SIZE 0x06 #define PKT_OVERRUN_BUFOFFSET 0x05 -#define SG_SIZEOF 0x04 #define SG_PREFETCH_ADDR_MASK 0x03 -#define SG_PREFETCH_ALIGN_MASK 0x02 -#define SG_PREFETCH_CNT_LIMIT 0x01 #define SG_PREFETCH_CNT 0x00 #define DOWNLOAD_CONST_COUNT 0x08 /* Exported Labels */ -#define LABEL_seq_isr 0x28f #define LABEL_timer_isr 0x28b +#define LABEL_seq_isr 0x28f
drivers/scsi/aic7xxx/aic79xx_reg_print.c_shipped +176 -1379
1,183 lines not on this page · raw message
drivers/scsi/aic7xxx/aic79xx_seq.h_shipped +3 -3
Lines of this file are not shown. View the raw message.
drivers/scsi/aic7xxx/aic7xxx_reg_print.c_shipped +65 -168
233 lines not on this page · raw message
drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped +3 -3
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.
Re: [PATCH 4/5] aic7xxx: teach aicasm to not emit unused debug code/data
In reply to Hannes ReineckeHi Hannes,
Quoted 14 lines · Hannes Reinecke
Quoted 9 lines
Add "
dont_generate_debug_code" syntax handling to aicasm_gram.yaic79xx.reg, aic7xxx.reg: add
dont_generate_debug_codekeyword for registers which are never referenced by the driver.
aicasm.c, aicasm_symbol.[ch]: don't emit code for those regs; also add "const" keyword to generated code in few places.Signed-off-by Denys Vlasenko <[email protected]>No.
Adding a symbol to each and every register definition which has to be hand-crafted anyway is not the correct way.
Quoted 5 lines
I would prefer this: Add a 'count' variable to each symbol which gets increased every time the symbol is referenced. And then modify the register definition to include counts for symbols which are referenced from the source code only and not from the sequencer code.
To be honest, I don't understand how your patch achieves it. I am not familiar enough with the way aicasm machinery works.
Do you have time/will to explain it to me?
Quoted 2 lines
This will give us an automatic usage count for the symbols with only minimal hand-crafting.
I tested your patches atop my patches 1,2,3 versus my patches 1...5, and versus original scsi-misc-2.6-2008_04_15. They build successfully, although they result in bigger code:
text data bss dec hex filename
Original:
262976 47922 1188 312086 4c316 scsi-misc-2.6-2008_04_15.org-DEBUG/drivers/scsi/aic7xxx/built-in.o
Your patches:
233623 2346 1188 237157 39e65 scsi-misc-2.6-2008_04_15.ph5-DEBUG/drivers/scsi/aic7xxx/built-in.o
My patches:
211224 2346 1188 214758 346e6 scsi-misc-2.6-2008_04_15.p5-DEBUG/drivers/scsi/aic7xxx/built-in.o
As compared to my patches there are more than 20 kb of unused code. My patches can be improved too. "make namespacecheck" shows unused functions' names.
Here are they. Those with '+' are linked in aic7xxx/built-in.o only with your patches, the rest are linked with mine too. There are a few with '-' (reversed situation).
Ideally, they all should be eliminated.
TODO_h.lst renamed from TODO.lst +186 -9
@@ -1,122 +1,299 @@ drivers/scsi/aic7xxx/aic79xx_core.o ahd_inq ahd_inw ahd_outq ahd_outw drivers/scsi/aic7xxx/aic79xx_osm.o ahd_insb drivers/scsi/aic7xxx/aic79xx_reg_print.o + ahd_abrtbitptr_print + ahd_abrtbyteptr_print + ahd_accum_print ahd_accum_save_print ahd_allocfifo_scbptr_print + ahd_allones_print + ahd_allzeros_print + ahd_annexcol_print + ahd_annexdat_print ahd_arg_1_print ahd_arg_2_print + ahd_attrptr_print + ahd_brdctl_print + ahd_brddat_print + ahd_ccscbaddr_print + ahd_ccscbram_print + ahd_ccsgaddr_print + ahd_ccsgram_print + ahd_cdblimit_print + ahd_clrint_print + ahd_clrlqiint0_print + ahd_clrlqiint1_print + ahd_clrlqoint0_print + ahd_clrlqoint1_print + ahd_clrseqintsrc_print + ahd_clrseqintstat_print + ahd_clrsint0_print + ahd_clrsint1_print + ahd_clrsint2_print + ahd_clrsint3_print + ahd_cmdlenptr_print + ahd_cmdptr_print ahd_cmds_pending_print ahd_cmdsize_table_print ahd_complete_dma_scb_head_print ahd_complete_dma_scb_tail_print ahd_complete_on_qfreeze_head_print ahd_complete_scb_dmainprog_head_print ahd_complete_scb_head_print - ahd_data_count_odd_print + ahd_curaddr_print + ahd_currscb_print + ahd_dchspltstat0_print + ahd_dchspltstat1_print + ahd_df0pcistat_print + ahd_dfdat_print + ahd_dff_thrsh_print + ahd_dindex_print + ahd_dindir_print ahd_dmaparams_print + ahd_dscommand0_print + ahd_dspdatactl_print + ahd_dspselect_print + ahd_error_print + ahd_flagptr_print + ahd_flags_print + ahd_gsfifo_print + ahd_haddr_print + ahd_hcnt_print + ahd_hcntrl_print + ahd_hescb_qoff_print + ahd_hnscb_qoff_print ahd_initiator_tag_print ahd_int_coalescing_cmdcount_print ahd_int_coalescing_maxcmds_print ahd_int_coalescing_mincmds_print ahd_int_coalescing_timer_print + ahd_intvec1_addr_print + ahd_intvec2_addr_print + ahd_iownid_print ahd_kernel_tqinpos_print ahd_last_msg_print + ahd_lastscb_print ahd_local_hs_mailbox_print ahd_longjmp_addr_print + ahd_lqctl1_print + ahd_lqctl2_print + ahd_lqimode0_print + ahd_lqimode1_print + ahd_lqin_print + ahd_lqistate_print + ahd_lqomode0_print + ahd_lqomode1_print + ahd_lqoscsctl_print + ahd_lqostate_print + ahd_lunlen_print + ahd_lunptr_print + ahd_maxcmd_print + ahd_maxcmdcnt_print + ahd_mode_ptr_print ahd_msg_out_print + ahd_multargid_print + ahd_negconopts_print + ahd_negoaddr_print + ahd_negoffset_print + ahd_negperiod_print + ahd_negppropts_print ahd_next_queued_scb_addr_print + ahd_nextscb_print + ahd_none_print + ahd_optionmode_print + ahd_os_space_cnt_print + ahd_pcixctl_print + ahd_prgmcnt_print + ahd_qnextptr_print + ahd_qoff_ctlsta_print ahd_qoutfifo_entry_valid_tag_print ahd_qoutfifo_next_addr_print ahd_reg0_print - ahd_reg1_print ahd_reg_isr_print ahd_saved_lun_print ahd_saved_scsiid_print + ahd_sblkctl_print ahd_scb_base_print ahd_scb_busaddr_print ahd_scb_cdb_len_print ahd_scb_datacnt_print ahd_scb_dataptr_print ahd_scb_disconnected_lists_print ahd_scb_lun_print ahd_scb_next2_print ahd_scb_next_print ahd_scb_residual_datacnt_print ahd_scb_residual_sgptr_print ahd_scb_scsi_status_print ahd_scb_sense_busaddr_print ahd_scb_sgptr_print - ahd_scb_spare_print ahd_scb_tag_print - ahd_scb_target_data_dir_print - ahd_scb_target_itag_print - ahd_scb_target_phases_print ahd_scb_task_attribute_print ahd_scb_task_management_print + ahd_scbautoptr_print + ahd_scbhaddr_print + ahd_scbhcnt_print + ahd_scbptr_print + ahd_scschkn_print + ahd_scsidat_print ahd_scsiseq_template_print + ahd_scsisigo_print + ahd_sdscb_qoff_print + ahd_seeadr_print + ahd_seectl_print + ahd_seedat_print + ahd_seestat_print + ahd_seqintcode_print + ahd_seqram_print + ahd_sescb_qoff_print + ahd_sg_cache_pre_print + ahd_sghaddr_print + ahd_sghcnt_print + ahd_sgspltstat0_print + ahd_sgspltstat1_print + ahd_shaddr_print ahd_shared_data_addr_print + ahd_shcnt_print + ahd_simode3_print + ahd_sindex_print + ahd_sindir_print + ahd_snscb_qoff_print ahd_sram_base_print + ahd_stack_print + ahd_swtimer_print + ahd_sxfrctl0_print + ahd_sxfrctl1_print + ahd_targidin_print + ahd_targpcistat_print + ahd_townid_print ahd_tqinpos_print ahd_waiting_scb_tails_print ahd_waiting_tid_head_print ahd_waiting_tid_tail_print + ahd_wrtbiasctl_print drivers/scsi/aic7xxx/aic7xxx_core.o ahc_inq ahc_outq drivers/scsi/aic7xxx/aic7xxx_osm.o ahc_insb drivers/scsi/aic7xxx/aic7xxx_reg_print.o + ahc_accum_print + ahc_allones_print + ahc_allzeros_print ahc_arg_1_print ahc_arg_2_print + ahc_brdctl_print + ahc_busspd_print + ahc_bustime_print ahc_busy_targets_print - ahc_cmdsize_table_tail_print - ahc_complete_scbh_print + ahc_cchaddr_print + ahc_cchcnt_print + ahc_ccscbaddr_print + ahc_ccscbcnt_print + ahc_ccscbctl_print + ahc_ccscbptr_print + ahc_ccscbram_print + ahc_ccsgaddr_print + ahc_ccsgctl_print + ahc_ccsgram_print + ahc_clrint_print + ahc_clrsint0_print + ahc_clrsint1_print + ahc_crccontrol1_print + ahc_dfdat_print + ahc_dff_thrsh_print + ahc_dfwaddr_print + ahc_dindex_print + ahc_dindir_print ahc_disc_dsb_print ahc_disconnected_scbh_print ahc_dmaparams_print + ahc_dscommand0_print + ahc_dscommand1_print + ahc_dspcistatus_print + ahc_flags_print ahc_free_scbh_print ahc_ha_274_biosctrl_print ahc_ha_274_biosglobal_print + ahc_haddr_print + ahc_hcnt_print + ahc_hcntrl_print + ahc_hnscb_qoff_print ahc_hostconf_print + ahc_hs_mailbox_print ahc_hscb_addr_print ahc_intdef_print + ahc_intstat_print ahc_kernel_qinpos_print ahc_kernel_tqinpos_print ahc_last_msg_print ahc_msg_out_print ahc_mwi_residual_print ahc_next_queued_scb_print + ahc_none_print + ahc_optionmode_print + ahc_qinfifo_print ahc_qinpos_print + ahc_qoff_ctlsta_print + ahc_qoutfifo_print ahc_qoutpos_print ahc_saved_lun_print ahc_saved_scsiid_print ahc_scb_64_btt_print - ahc_scb_64_spare_print ahc_scb_base_print ahc_scb_cdb_len_print ahc_scb_cdb_ptr_print ahc_scb_datacnt_print ahc_scb_dataptr_print ahc_scb_next_print ahc_scb_residual_sgptr_print ahc_scb_scsi_status_print ahc_scb_scsioffset_print ahc_scb_scsirate_print ahc_scb_sgptr_print ahc_scb_target_data_dir_print ahc_scb_target_itag_print ahc_scb_target_phases_print + ahc_scbbaddr_print + ahc_scbcnt_print + ahc_scbptr_print ahc_scsiconf_print + ahc_scsidatl_print + ahc_scsiid_print + ahc_scsiid_ultra2_print ahc_scsiseq_template_print + ahc_scsisigo_print + ahc_sdscb_qoff_print + ahc_seectl_2840_print + ahc_seectl_print + ahc_selid_print + ahc_seltimer_print ahc_seq_flags2_print + ahc_seqaddr0_print + ahc_seqaddr1_print + ahc_seqram_print + ahc_sfunct_print + ahc_sg_cache_pre_print + ahc_sg_cache_shadow_print + ahc_shaddr_print ahc_shared_data_addr_print + ahc_sindex_print + ahc_sindir_print + ahc_snscb_qoff_print + ahc_spiocap_print ahc_sram_base_print + ahc_stack_print + ahc_status_2840_print + ahc_stcnt_print + ahc_sxfrctl1_print ahc_targ_offset_print + ahc_targcrccnt_print + ahc_targid_print ahc_tqinpos_print ahc_ultra_enb_print ahc_waiting_scbh_print
--
vda
James Bottomley
maintainerQuoted 6 lines · Denys Vlasenko
Hi Hannes,
I reworked my patches as you requested.
The first one (in this mail) was ACKed by you, so it's just a resend.
Quoted 7 lines
Following pathes were not ACKed and are modified.
Please take a look.Deinlines and moves big functions from .h to .c files. Adds prototypes for
ahc_lookup_scbandahd_lookup_scbto .h files.
The first three won't apply. It looks like they're splits of this existing one (at least quilt thinks they're all reverse applyable). If there's anything I missed, just re-send against scsi-misc because the patch stack is a bit deep and convoluted here in aic7xxx.
commit be0d67680d524981dd65c661efe3c9cbd52a684f
Author: Denys Vlasenko <[email protected]> Date: Sun Mar 23 04:41:22 2008 +0100
[SCSI] aic7xxx, aic79xx: deinline functions
Deinlines and moves big functions from .h to .c files. Adds prototypes for ahc_lookup_scb and ahd_lookup_scb to .h files.
James
James Bottomley
maintainerRe: [PATCH 4/5] aic7xxx: teach aicasm to not emit unused debug code/data
In reply to Hannes ReineckeQuoted 22 lines · Hannes Reinecke
Hi Denys,
Quoted 9 lines · Denys Vlasenko
Add "
dont_generate_debug_code" syntax handling to aicasm_gram.yaic79xx.reg, aic7xxx.reg: add
dont_generate_debug_codekeyword for registers which are never referenced by the driver.
aicasm.c, aicasm_symbol.[ch]: don't emit code for those regs; also add "const" keyword to generated code in few places.Signed-off-by Denys Vlasenko <[email protected]>No.
Adding a symbol to each and every register definition which has to be hand-crafted anyway is not the correct way.I would prefer this: Add a 'count' variable to each symbol which gets increased every time the symbol is referenced. And then modify the register definition to include counts for symbols which are referenced from the source code only and not from the sequencer code.
Quoted 4 lines
This will give us an automatic usage count for the symbols with only minimal hand-crafting.
James, please apply.
Well .. I have done, but you can take a black mark for this ... there's no Signed-off-by line.
James
Quoted 7 lines · James Bottomley
Quoted 4 lines
The first one (in this mail) was ACKed by you, so it's just a resend.
Following pathes were not ACKed and are modified.
Please take a look.The first three won't apply. It looks like they're splits of this existing one (at least quilt thinks they're all reverse applyable).
Most likely the first one was applied.
Try applying patches 2 and 3.
--
vda
Quoted 11 lines · Denys Vlasenko
Quoted 7 lines · James Bottomley
Quoted 4 lines
The first one (in this mail) was ACKed by you, so it's just a resend.
Following pathes were not ACKed and are modified.
Please take a look.The first three won't apply. It looks like they're splits of this existing one (at least quilt thinks they're all reverse applyable).
Most likely the first one was applied.
Try applying patches 2 and 3.
I just tested it. Patch 1 is already in scsi-misc-2.6, patches 2 and 3 apply cleanly:
# patch -p1 </tmp/aic_debloat_2.diff patching file drivers/scsi/aic7xxx/aic79xx.h patching file drivers/scsi/aic7xxx/aic79xx_core.c patching file drivers/scsi/aic7xxx/aic79xx_inline.h patching file drivers/scsi/aic7xxx/aic79xx_osm.c patching file drivers/scsi/aic7xxx/aic79xx_osm.h patching file drivers/scsi/aic7xxx/aic79xx_pci.c patching file drivers/scsi/aic7xxx/aic7xxx.h patching file drivers/scsi/aic7xxx/aic7xxx_core.c patching file drivers/scsi/aic7xxx/aic7xxx_inline.h patching file drivers/scsi/aic7xxx/aic7xxx_osm.c patching file drivers/scsi/aic7xxx/aic7xxx_osm.h patching file drivers/scsi/aic7xxx/aic7xxx_proc.c # patch -p1 </tmp/aic_debloat_3.diff patching file drivers/scsi/aic7xxx/aic79xx.h patching file drivers/scsi/aic7xxx/aic79xx_core.c patching file drivers/scsi/aic7xxx/aic79xx_osm.c patching file drivers/scsi/aic7xxx/aic79xx_osm_pci.c patching file drivers/scsi/aic7xxx/aic79xx_pci.c patching file drivers/scsi/aic7xxx/aic79xx_proc.c patching file drivers/scsi/aic7xxx/aic7xxx.h patching file drivers/scsi/aic7xxx/aic7xxx_93cx6.c patching file drivers/scsi/aic7xxx/aic7xxx_core.c patching file drivers/scsi/aic7xxx/aic7xxx_osm.c patching file drivers/scsi/aic7xxx/aic7xxx_osm_pci.c patching file drivers/scsi/aic7xxx/aic7xxx_pci.c patching file drivers/scsi/aic7xxx/aic7xxx_proc.c
--
vda
Re: [PATCH 4/5] aic7xxx: teach aicasm to not emit unused debug code/data
In reply to Denys VlasenkoQuoted 16 lines · Denys Vlasenko
Hi Hannes,
Quoted 13 lines · Hannes Reinecke
Quoted 9 lines
Add "
dont_generate_debug_code" syntax handling to aicasm_gram.yaic79xx.reg, aic7xxx.reg: add
dont_generate_debug_codekeyword for registers which are never referenced by the driver.
aicasm.c, aicasm_symbol.[ch]: don't emit code for those regs; also add "const" keyword to generated code in few places.Signed-off-by Denys Vlasenko <[email protected]>No.
Adding a symbol to each and every register definition which has to be hand-crafted anyway is not the correct way.
Quoted 9 lines
Quoted 5 lines
I would prefer this: Add a 'count' variable to each symbol which gets increased every time the symbol is referenced. And then modify the register definition to include counts for symbols which are referenced from the source code only and not from the sequencer code.
To be honest, I don't understand how your patch achieves it. I am not familiar enough with the way aicasm machinery works.
Ach, that's just straight lex/yacc stuff :-) No, seriously, it's not that hard to understand. Basically aicasm builds a list of all used symbols, then builds a reference table on to of that list whenever a symbol is referenced in the actual code, and then does some cleanup etc. to be able to put out proper sequencer code.
So the trick here is that we can add a 'count' field to the underlying symbol table, which will be incremented everytime this symbol is referenced by the sequencer code. Nice and clean.
In theory.
Quoted 7 lines
Quoted 2 lines
This will give us an automatic usage count for the symbols with only minimal hand-crafting.
I tested your patches atop my patches 1,2,3 versus my patches 1...5, and versus original scsi-misc-2.6-2008_04_15. They build successfully, although they result in bigger code:
[ .. ]
Quoted 5 lines
As compared to my patches there are more than 20 kb of unused code. My patches can be improved too. "make namespacecheck" shows unused functions' names.
Yes, I know. There is a snag to the above reasoning:
Symbols are not only referenced by the sequencer code, but also by the actual driver. And there are symbols which are referenced from the driver source code only, not from the sequencer. So aicasm will _not_ catch those.
That's why I added to 'count' field explicitely to some symbols; these are referenced from the source code only.
But now we're facing another problem: Those symbols referenced from the sequencer code only will in most cases _not_ be printed via the autogenerated _print functions.
So what we really need to do here to do this properly
is to write a preprocessor, which checks the _used_ *_print() functions in the source code and generates the aic7*xx_reg_print.c file on the fly. And remove
this code from aicasm entirely.
But this really might be considered a bit of an overkill. But I wouldn't stand in the way of anyone trying to do so.
Cheers,
Hannes
Signature · 8 lines
Dr. Hannes Reinecke zSeries & Storage [email protected] +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Markus Rex, HRB 16746 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 4/5] aic7xxx: teach aicasm to not emit unused debug code/data
Quoted 37 lines · Hannes Reinecke
Quoted 8 lines
Quoted 5 lines
I would prefer this: Add a 'count' variable to each symbol which gets increased every time the symbol is referenced. And then modify the register definition to include counts for symbols which are referenced from the source code only and not from the sequencer code.
To be honest, I don't understand how your patch achieves it. I am not familiar enough with the way aicasm machinery works.
Ach, that's just straight lex/yacc stuff :-) No, seriously, it's not that hard to understand. Basically aicasm builds a list of all used symbols, then builds a reference table on to of that list whenever a symbol is referenced in the actual code, and then does some cleanup etc. to be able to put out proper sequencer code.
So the trick here is that we can add a 'count' field to the underlying symbol table, which will be incremented everytime this symbol is referenced by the sequencer code. Nice and clean.
In theory.
Quoted 7 lines
Quoted 2 lines
This will give us an automatic usage count for the symbols with only minimal hand-crafting.
I tested your patches atop my patches 1,2,3 versus my patches 1...5, and versus original scsi-misc-2.6-2008_04_15. They build successfully, although they result in bigger code:
[ .. ]
Quoted 5 lines
As compared to my patches there are more than 20 kb of unused code. My patches can be improved too. "make namespacecheck" shows unused functions' names.
Quoted 8 lines
Yes, I know. There is a snag to the above reasoning:
Symbols are not only referenced by the sequencer code, but also by the actual driver. And there are symbols which are referenced from the driver source code only, not from the sequencer. So aicasm will _not_ catch those.That's why I added to 'count' field explicitely to some symbols; these are referenced from the source code only.
Why some of these added counts are not 1 but, for example, 19 (CLRINT register)?
Quoted 10 lines
But now we're facing another problem: Those symbols referenced from the sequencer code only will in most cases _not_ be printed via the autogenerated
_printfunctions.So what we really need to do here to do this properly is to write a preprocessor, which checks the _used_
*_print()functions in the source code and generates the aic7*xx_reg_print.c file on the fly. And remove this code from aicasm entirely.
I agree that this would be the proper solution in a sense that it would autodetect and generate only what is needed.
Quoted 2 lines
But this really might be considered a bit of an overkill.
Since this is an ad-hoc system, instead of spending time on more difficult system which does this detection we can simply manually instruct aicasm to not generate *_print() functions which won't be ever called by the driver.
Basically this would be a respin of my patch #4. After you introduced reference counts, I will need to add much smaller number of "dont_generate_debug_code" fields than before.
Are you ok with this in principle?
--
vda
Re: [PATCH 4/5] aic7xxx: teach aicasm to not emit unused debug code/data
Quoted 22 lines · Denys Vlasenko
Quoted 10 lines
But now we're facing another problem: Those symbols referenced from the sequencer code only will in most cases _not_ be printed via the autogenerated
_printfunctions.So what we really need to do here to do this properly is to write a preprocessor, which checks the _used_
*_print()functions in the source code and generates the aic7*xx_reg_print.c file on the fly. And remove this code from aicasm entirely.I agree that this would be the proper solution in a sense that it would autodetect and generate only what is needed.
Quoted 2 lines
But this really might be considered a bit of an overkill.
Since this is an ad-hoc system, instead of spending time on more difficult system which does this detection we can simply manually instruct aicasm to not generate
*_print()functions which won't be ever called by the driver.
Quoted 6 lines
Basically this would be a respin of my patch #4. After you introduced reference counts, I will need to add much smaller number of "
dont_generate_debug_code" fields than before.Are you ok with this in principle?
Ping...
--
vda