summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/shared/spw
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2013-01-18 13:16:05 +0100
committerDaniel Hellstrom <daniel@gaisler.com>2015-04-17 01:10:18 +0200
commit5dd83de94435affd9fcbdb84c2c7428fb23adf40 (patch)
treec471f7b6e34530fb4ed2ae78f210601d78f8477f /c/src/lib/libbsp/sparc/shared/spw
parentGPTIMER: support separate & shared irq by clearing pending bit after ISR (diff)
downloadrtems-5dd83de94435affd9fcbdb84c2c7428fb23adf40.tar.bz2
GRSPW: fixed SET_RMAPEN and SET_RMAPBUFDIS
Both ioctl commands destroyed the control register by writing the content of the status register into it.
Diffstat (limited to 'c/src/lib/libbsp/sparc/shared/spw')
-rw-r--r--c/src/lib/libbsp/sparc/shared/spw/grspw.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/spw/grspw.c b/c/src/lib/libbsp/sparc/shared/spw/grspw.c
index b6ee255d36..5cedcb9812 100644
--- a/c/src/lib/libbsp/sparc/shared/spw/grspw.c
+++ b/c/src/lib/libbsp/sparc/shared/spw/grspw.c
@@ -1138,7 +1138,7 @@ static rtems_device_driver grspw_control(
if ((unsigned int)ioarg->buffer > 1) {
return RTEMS_INVALID_NAME;
}
- SPW_CTRL_WRITE(pDev, (SPW_STATUS_READ(pDev) & 0xFFFEFFFF) | ((unsigned int)ioarg->buffer << 16));
+ SPW_CTRL_WRITE(pDev, (SPW_CTRL_READ(pDev) & 0xFFFEFFFF) | ((unsigned int)ioarg->buffer << 16));
if (((SPW_CTRL_READ(pDev) >> 16) & 1) != (unsigned int)ioarg->buffer) {
return RTEMS_IO_ERROR;
}
@@ -1149,7 +1149,7 @@ static rtems_device_driver grspw_control(
if ((unsigned int)ioarg->buffer > 1) {
return RTEMS_INVALID_NAME;
}
- SPW_CTRL_WRITE(pDev, (SPW_STATUS_READ(pDev) & 0xFFFDFFFF) | ((unsigned int)ioarg->buffer << 17));
+ SPW_CTRL_WRITE(pDev, (SPW_CTRL_READ(pDev) & 0xFFFDFFFF) | ((unsigned int)ioarg->buffer << 17));
if (((SPW_CTRL_READ(pDev) >> 17) & 1) != (unsigned int)ioarg->buffer) {
return RTEMS_IO_ERROR;
}