add beginning of support for series I controllers doesn't work yet.

This commit is contained in:
chopps 1994-05-25 21:55:04 +00:00
parent 54223721ec
commit d5fa055da6
4 changed files with 27 additions and 13 deletions

View File

@ -32,7 +32,7 @@
* SUCH DAMAGE.
*
* @(#)dma.c
* $Id: gtsc.c,v 1.3 1994/05/16 05:09:02 chopps Exp $
* $Id: gtsc.c,v 1.4 1994/05/25 21:55:04 chopps Exp $
*/
#include <sys/param.h>
#include <sys/systm.h>
@ -120,11 +120,13 @@ gtscattach(pdp, dp, auxp)
gap = auxp;
sc = (struct sbic_softc *)dp;
sc->sc_cregs = rp = gap->zargs.va;
/*
* disable ints and reset bank register
*/
rp->CNTR = 0;
rp->bank = 0;
if ((gap->flags & GVP_NOBANK) == 0)
rp->bank = 0;
sc->sc_dmago = gtsc_dmago;
sc->sc_dmafree = gtsc_dmafree;
@ -148,7 +150,8 @@ gtscattach(pdp, dp, auxp)
sc->sc_dmamask = ~0x07ffffff;
printf(" dmamask 0x%x", ~sc->sc_dmamask);
sc->gtsc_bankmask = (~sc->sc_dmamask >> 18) & 0x01c0;
if ((gap->flags & GVP_NOBANK) == 0)
sc->gtsc_bankmask = (~sc->sc_dmamask >> 18) & 0x01c0;
/*
@ -268,7 +271,8 @@ gtsc_dmago(dev, addr, count, flags)
sdp->CNTR = dev->sc_dmacmd;
sdp->ACR = (u_int) dev->sc_cur->dc_addr;
if (dev->gtsc_bankmask)
sdp->bank = dev->gtsc_bankmask & (((u_int) dev->sc_cur->dc_addr) >> 18);
sdp->bank =
dev->gtsc_bankmask & (((u_int)dev->sc_cur->dc_addr) >> 18);
sdp->ST_DMA = 1;
/*

View File

@ -27,7 +27,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $Id: gvpbus.c,v 1.1 1994/05/08 05:53:15 chopps Exp $
* $Id: gvpbus.c,v 1.2 1994/05/25 21:55:07 chopps Exp $
*/
#include <sys/param.h>
#include <sys/device.h>
@ -56,7 +56,7 @@ gvpbusmatch(pdp, cdp, auxp)
/*
* Check manufacturer and product id.
*/
if (zap->manid == 2017 && zap->prodid == 11)
if (zap->manid == 2017 && (zap->prodid == 11 || zap->prodid == 2))
return(1);
return(0);
}
@ -75,9 +75,16 @@ gvpbusattach(pdp, dp, auxp)
ga.flags = 0;
/*
* grab secondary type
* grab secondary type (or fake it if we have a series I)
*/
ga.prod = *((u_char *)zap->va + 0x8001) & 0xf8;
if (zap->prodid != 9)
ga.prod = *((u_char *)zap->va + 0x8001) & 0xf8;
else {
ga.prod = GVP_SERIESII; /* really a series I */
ga.flags |= GVP_NOBANK;
}
switch (ga.prod) {
/* no scsi */
case GVP_GFORCE_040:
@ -102,7 +109,7 @@ gvpbusattach(pdp, dp, auxp)
ga.flags = GVP_SCSI | GVP_ACCEL | GVP_24BITDMA;
break;
case GVP_SERIESII:
ga.flags = GVP_SCSI | GVP_24BITDMA;
ga.flags |= GVP_SCSI | GVP_24BITDMA;
break;
/* misc */
case GVP_IOEXTEND:

View File

@ -27,7 +27,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $Id: gvpbusvar.h,v 1.1 1994/05/08 05:53:16 chopps Exp $
* $Id: gvpbusvar.h,v 1.2 1994/05/25 21:55:08 chopps Exp $
*/
#ifndef _GVPBUSVAR_H_
#define _GVPBUSVAR_H_
@ -51,6 +51,7 @@ enum gvpbusflags {
GVP_SCSI = 0x4,
GVP_24BITDMA = 0x8,
GVP_25BITDMA = 0x10,
GVP_NOBANK = 0x20,
};
struct gvpbus_args {

View File

@ -27,7 +27,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* $Id: ztwobus.c,v 1.2 1994/05/11 19:06:50 chopps Exp $
* $Id: ztwobus.c,v 1.3 1994/05/25 21:55:11 chopps Exp $
*/
#include <sys/param.h>
#include <sys/device.h>
@ -48,7 +48,9 @@ struct aconfdata aconftab[] = {
/* Commodore Amiga */
{ "atzee", 513, 1 },
{ "atzsc", 514, 3 },
{ "atzsi", 513, 112 },
{ "le", 514 112 },
{ "ql", 514, 69 },
{ "ql", 514, 70 },
/* Ameristart */
{ "le", 1053, 1 },
/* Univeristy lowell */
@ -56,7 +58,7 @@ struct aconfdata aconftab[] = {
/* Macorsystems */
{ "grfrt", 18260, 6 },
/* Greater valley products */
{ "gosc", 2017, 9 },
{ "gvpbus", 2017, 2 },
{ "gvpbus", 2017, 11 },
{ "giv", 2017, 32 },
/* progressive perhiperals */