diff options
author | Martin Pieuchot <mpi@cvs.openbsd.org> | 2017-10-29 08:50:44 +0000 |
---|---|---|
committer | Martin Pieuchot <mpi@cvs.openbsd.org> | 2017-10-29 08:50:44 +0000 |
commit | 2afd375ec19edb8a2115dc4bab2cfb3b3faee2cf (patch) | |
tree | acddbc919829a021903eb1765f6048e0b680a07e /sys/arch/alpha/tc/tcasic.c | |
parent | 0ad115de732d7412195a161be8120691c14d5068 (diff) |
Finish TURBOchannel scatter/gather map code (i.e. make it work) and
enable it when available (i.e. all DEC 3000 models but models 300).
Tested on DEC 3000/600 (sgmap) and DEC 3000/300LX (no sgmap).
from miod@
Diffstat (limited to 'sys/arch/alpha/tc/tcasic.c')
-rw-r--r-- | sys/arch/alpha/tc/tcasic.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/sys/arch/alpha/tc/tcasic.c b/sys/arch/alpha/tc/tcasic.c index b1641130f6e..d3244f20a2a 100644 --- a/sys/arch/alpha/tc/tcasic.c +++ b/sys/arch/alpha/tc/tcasic.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tcasic.c,v 1.16 2010/11/11 17:54:52 miod Exp $ */ +/* $OpenBSD: tcasic.c,v 1.17 2017/10/29 08:50:43 mpi Exp $ */ /* $NetBSD: tcasic.c,v 1.36 2001/08/23 01:16:52 nisimura Exp $ */ /* @@ -42,9 +42,13 @@ /* Definition of the driver for autoconfig. */ int tcasicmatch(struct device *, void *, void *); void tcasicattach(struct device *, struct device *, void *); +int tcasicactivate(struct device *, int); struct cfattach tcasic_ca = { - sizeof (struct device), tcasicmatch, tcasicattach, + .ca_devsize = sizeof (struct device), + .ca_match = tcasicmatch, + .ca_attach = tcasicattach, + .ca_activate = tcasicactivate }; struct cfdriver tcasic_cd = { @@ -151,6 +155,19 @@ tcasicattach(parent, self, aux) } int +tcasicactivate(struct device *self, int act) +{ + switch (cputype) { +#ifdef DEC_3000_500 + case ST_DEC_3000_500: + return tc_3000_500_activate(self, act); +#endif + default: + return config_activate_children(self, act); + } +} + +int tcasicprint(aux, pnp) void *aux; const char *pnp; |