summaryrefslogtreecommitdiffstats
path: root/sys/dev/pccbb
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2006-03-24 07:52:00 +0000
committerimp <imp@FreeBSD.org>2006-03-24 07:52:00 +0000
commit946071cfb766c855cda8e6bcf642a48573c38649 (patch)
tree9c49ebab911350eb05d4a051213d965abef28b2b /sys/dev/pccbb
parent3bdb3321e52c43f2779e6003127f9354a2d5ac65 (diff)
downloadFreeBSD-src-946071cfb766c855cda8e6bcf642a48573c38649.zip
FreeBSD-src-946071cfb766c855cda8e6bcf642a48573c38649.tar.gz
For each of the voltages that a card might support, make sure that the
socket also supports the voltage. Some XV cards have appeared on the scene (or cards that report they support XV), and in older machines that have sockets that do not support XV, we were bogusly trying to power them at XV rather than at 3.3V. Now, power up the card at the lowest voltage supported by both the card and the socket. MFC After: 3 days
Diffstat (limited to 'sys/dev/pccbb')
-rw-r--r--sys/dev/pccbb/pccbb.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/pccbb/pccbb.c b/sys/dev/pccbb/pccbb.c
index 8f6d06a..9d51a79 100644
--- a/sys/dev/pccbb/pccbb.c
+++ b/sys/dev/pccbb/pccbb.c
@@ -715,13 +715,13 @@ cbb_detect_voltage(device_t brdev)
psr = cbb_get(sc, CBB_SOCKET_STATE);
- if (psr & CBB_STATE_5VCARD)
+ if (psr & CBB_STATE_5VCARD && psr & CBB_STATE_5VSOCK)
vol |= CARD_5V_CARD;
- if (psr & CBB_STATE_3VCARD)
+ if (psr & CBB_STATE_3VCARD && psr & CBB_STATE_3VSOCK)
vol |= CARD_3V_CARD;
- if (psr & CBB_STATE_XVCARD)
+ if (psr & CBB_STATE_XVCARD && psr & CBB_STATE_XVSOCK)
vol |= CARD_XV_CARD;
- if (psr & CBB_STATE_YVCARD)
+ if (psr & CBB_STATE_YVCARD && psr & CBB_STATE_YVSOCK)
vol |= CARD_YV_CARD;
return (vol);
OpenPOWER on IntegriCloud