summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Irofti <pirofti@cvs.openbsd.org>2014-07-12 14:31:21 +0000
committerPaul Irofti <pirofti@cvs.openbsd.org>2014-07-12 14:31:21 +0000
commite2f2a8301eba5092be736f56dc9ba9760bb3ca03 (patch)
treea46f9bd2132428dfae9651a2d957704d80ca9853
parent26321ee6af31acfcd058299c15e1d591171e1786 (diff)
Add support for the CLEAR FEATURE requests.
-rw-r--r--sys/arch/octeon/dev/octhci.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/sys/arch/octeon/dev/octhci.c b/sys/arch/octeon/dev/octhci.c
index 0bd3455759e..354164f6c72 100644
--- a/sys/arch/octeon/dev/octhci.c
+++ b/sys/arch/octeon/dev/octhci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: octhci.c,v 1.6 2014/07/11 17:01:48 pirofti Exp $ */
+/* $OpenBSD: octhci.c,v 1.7 2014/07/12 14:31:20 pirofti Exp $ */
/*
* Copyright (c) 2014 Paul Irofti <pirofti@openbsd.org>
@@ -817,23 +817,34 @@ octhci_root_ctrl_start(struct usbd_xfer *xfer)
}
switch (value) {
case UHF_PORT_ENABLE:
+ octhci_regc_clear(sc, USBC_HPRT_OFFSET,
+ USBC_HPRT_PRTENA);
break;
case UHF_PORT_SUSPEND:
- /* TODO */
+ octhci_regc_clear(sc, USBC_HPRT_OFFSET,
+ USBC_HPRT_PRTSUSP);
break;
case UHF_PORT_POWER:
+ octhci_regc_clear(sc, USBC_HPRT_OFFSET,
+ USBC_HPRT_PRTPWR);
break;
case UHF_PORT_INDICATOR:
break;
case UHF_C_PORT_CONNECTION:
break;
case UHF_C_PORT_ENABLE:
+ octhci_regc_clear(sc, USBC_HPRT_OFFSET,
+ USBC_HPRT_PRTENCHNG);
break;
case UHF_C_PORT_SUSPEND:
break;
case UHF_C_PORT_OVER_CURRENT:
+ octhci_regc_clear(sc, USBC_HPRT_OFFSET,
+ USBC_HPRT_PRTOVRCURRCHNG);
break;
case UHF_C_PORT_RESET:
+ octhci_regc_clear(sc, USBC_HPRT_OFFSET,
+ USBC_HPRT_PRTRST);
break;
default:
err = USBD_IOERROR;