Do "selective" reset rather than full reset...the manual specifically

says not to do the full reset because it can lock up the PCI bus if the
chip is active. Added various PORT command definitions to facilitate
this.
This commit is contained in:
David Greenman 1997-02-04 10:53:12 +00:00
parent 6e39e59963
commit 33d14d8671
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=22255
4 changed files with 16 additions and 6 deletions

View file

@ -243,9 +243,9 @@ fxp_attach(config_id, unit)
}
/*
* Issue a software reset.
* Reset to a stable state.
*/
sc->csr->port = 0;
sc->csr->port = FXP_PORT_SELECTIVE_RESET;
DELAY(10);
/*
@ -739,7 +739,7 @@ fxp_stop(sc)
/*
* Issue software reset
*/
sc->csr->port = 0;
sc->csr->port = FXP_PORT_SELECTIVE_RESET;
DELAY(10);
/*

View file

@ -47,6 +47,11 @@ struct fxp_csr {
volatile u_int32_t mdi_control;
};
#define FXP_PORT_SOFTWARE_RESET 0
#define FXP_PORT_SELFTEST 1
#define FXP_PORT_SELECTIVE_RESET 2
#define FXP_PORT_DUMP 3
#define FXP_SCB_RUS_IDLE 0
#define FXP_SCB_RUS_SUSPENDED 1
#define FXP_SCB_RUS_NORESOURCES 2

View file

@ -243,9 +243,9 @@ fxp_attach(config_id, unit)
}
/*
* Issue a software reset.
* Reset to a stable state.
*/
sc->csr->port = 0;
sc->csr->port = FXP_PORT_SELECTIVE_RESET;
DELAY(10);
/*
@ -739,7 +739,7 @@ fxp_stop(sc)
/*
* Issue software reset
*/
sc->csr->port = 0;
sc->csr->port = FXP_PORT_SELECTIVE_RESET;
DELAY(10);
/*

View file

@ -47,6 +47,11 @@ struct fxp_csr {
volatile u_int32_t mdi_control;
};
#define FXP_PORT_SOFTWARE_RESET 0
#define FXP_PORT_SELFTEST 1
#define FXP_PORT_SELECTIVE_RESET 2
#define FXP_PORT_DUMP 3
#define FXP_SCB_RUS_IDLE 0
#define FXP_SCB_RUS_SUSPENDED 1
#define FXP_SCB_RUS_NORESOURCES 2