Module Name: src Committed By: christos Date: Tue Oct 29 03:49:59 UTC 2019
Modified Files: src/sys/dev/qbus: rf.c rfreg.h Log Message: Implement what the documentation in rfreg.h states, and do not apply the wrong mask to the command register (which kind of works, but really?!?!) Found by gcc -Wtautological-compare To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.34 src/sys/dev/qbus/rf.c cvs rdiff -u -r1.4 -r1.5 src/sys/dev/qbus/rfreg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/qbus/rf.c diff -u src/sys/dev/qbus/rf.c:1.33 src/sys/dev/qbus/rf.c:1.34 --- src/sys/dev/qbus/rf.c:1.33 Tue Dec 8 15:36:15 2015 +++ src/sys/dev/qbus/rf.c Mon Oct 28 23:49:59 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: rf.c,v 1.33 2015/12/08 20:36:15 christos Exp $ */ +/* $NetBSD: rf.c,v 1.34 2019/10/29 03:49:59 christos Exp $ */ /* * Copyright (c) 2002 Jochen Kunz. * All rights reserved. @@ -36,7 +36,7 @@ TODO: */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rf.c,v 1.33 2015/12/08 20:36:15 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rf.c,v 1.34 2019/10/29 03:49:59 christos Exp $"); /* autoconfig stuff */ #include <sys/param.h> @@ -530,7 +530,7 @@ rfc_sendcmd(struct rfc_softc *rfc_sc, in /* Wait 50us, the controller needs this time to setle. */ DELAY(50); /* Write parameter 1 to DBR */ - if ((cmd & RX2CS_FC) != RX2CS_RSTAT) { + if ((cmd & RX2CS_MASK) != RX2CS_RSTAT) { /* Transfer request set? */ if ((bus_space_read_2(rfc_sc->sc_iot, rfc_sc->sc_ioh, RX2CS) & RX2CS_TR) == 0) { @@ -542,7 +542,8 @@ rfc_sendcmd(struct rfc_softc *rfc_sc, in data1); } /* Write parameter 2 to DBR */ - if ((cmd & RX2CS_FC) <= RX2CS_RSEC || (cmd & RX2CS_FC) == RX2CS_WDDS) { + if ((cmd & RX2CS_MASK) <= RX2CS_RSEC || + (cmd & RX2CS_MASK) == RX2CS_WDDS) { /* Wait 50us, the controller needs this time to setle. */ DELAY(50); /* Transfer request set? */ Index: src/sys/dev/qbus/rfreg.h diff -u src/sys/dev/qbus/rfreg.h:1.4 src/sys/dev/qbus/rfreg.h:1.5 --- src/sys/dev/qbus/rfreg.h:1.4 Sun Dec 11 07:23:29 2005 +++ src/sys/dev/qbus/rfreg.h Mon Oct 28 23:49:59 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: rfreg.h,v 1.4 2005/12/11 12:23:29 christos Exp $ */ +/* $NetBSD: rfreg.h,v 1.5 2019/10/29 03:49:59 christos Exp $ */ /* * Copyright (c) 2002 Jochen Kunz. * All rights reserved. @@ -66,14 +66,15 @@ /* Commands of the controller and parameter cont. */ -#define RX2CS_FBUF 001 /* Fill Buffer, word count and bus address */ -#define RX2CS_EBUF 003 /* Empty Buffer, word count and bus address */ -#define RX2CS_WSEC 005 /* Write Sector, sector and track */ -#define RX2CS_RSEC 007 /* Read Sector, sector and track */ -#define RX2CS_SMD 011 /* Set Media Density, ??? */ -#define RX2CS_RSTAT 013 /* Read Status, no params */ -#define RX2CS_WDDS 015 /* Write Deleted Data Sector, sector and track */ -#define RX2CS_REC 017 /* Read Error Code, bus address */ +#define RX2CS_FBUF 0x1 /* Fill Buffer, word count and bus address */ +#define RX2CS_EBUF 0x3 /* Empty Buffer, word count and bus address */ +#define RX2CS_WSEC 0x5 /* Write Sector, sector and track */ +#define RX2CS_RSEC 0x7 /* Read Sector, sector and track */ +#define RX2CS_SMD 0x9 /* Set Media Density, ??? */ +#define RX2CS_RSTAT 0xb /* Read Status, no params */ +#define RX2CS_WDDS 0xd /* Write Deleted Data Sector, sector and track */ +#define RX2CS_REC 0xf /* Read Error Code, bus address */ +#define RX2CS_MASK 0xf /* Track Address Register */