summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2016-03-22 13:59:56 +0100
committerDaniel Hellstrom <daniel@gaisler.com>2017-03-06 07:54:55 +0100
commitfad4324d5207dcd8119dc57b43d5423df18acc37 (patch)
tree3a8d601112de9380b54a4c9f5bdfe97b6fb146ae
parentleon, grspw_pkt: code style clean-ups (diff)
downloadrtems-fad4324d5207dcd8119dc57b43d5423df18acc37.tar.bz2
leon, grspw_pkt: added grspw_link_status_clr() to API
-rw-r--r--c/src/lib/libbsp/sparc/shared/include/grspw_pkt.h2
-rw-r--r--c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c8
2 files changed, 10 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/include/grspw_pkt.h b/c/src/lib/libbsp/sparc/shared/include/grspw_pkt.h
index c014b37bb1..f16ec20072 100644
--- a/c/src/lib/libbsp/sparc/shared/include/grspw_pkt.h
+++ b/c/src/lib/libbsp/sparc/shared/include/grspw_pkt.h
@@ -309,6 +309,8 @@ extern spw_link_state_t grspw_link_state(void *d);
extern void grspw_link_ctrl(void *d, int *options, int *clkdiv);
/* Read the current value of the status register */
extern unsigned int grspw_link_status(void *d);
+/* Clear bits in the status register */
+extern void grspw_link_status_clr(void *d, unsigned int clearmask);
/*** Time Code Interface ***/
/* Generate Tick-In (increment Time Counter, Send Time Code) */
diff --git a/c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c b/c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c
index e23410acbc..cee6dccd8b 100644
--- a/c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c
+++ b/c/src/lib/libbsp/sparc/shared/spw/grspw_pkt.c
@@ -719,6 +719,14 @@ unsigned int grspw_link_status(void *d)
return REG_READ(&priv->regs->status);
}
+/* Clear Status Register bits */
+void grspw_link_status_clr(void *d, unsigned int mask)
+{
+ struct grspw_priv *priv = d;
+
+ REG_WRITE(&priv->regs->status, mask);
+}
+
/* Return Current Link State */
spw_link_state_t grspw_link_state(void *d)
{