Created
January 29, 2017 08:37
-
-
Save sumikawa/291988fea2927db01986a7723651a839 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Index: dev/ichsmb/ichsmb_pci.c | |
=================================================================== | |
RCS file: /cvsroot/kame/kame/freebsd4/sys/dev/ichsmb/ichsmb_pci.c,v | |
retrieving revision 1.3 | |
diff -u -r1.3 ichsmb_pci.c | |
--- dev/ichsmb/ichsmb_pci.c 2002/02/08 16:52:49 1.3 | |
+++ dev/ichsmb/ichsmb_pci.c 2002/02/12 20:06:02 | |
@@ -67,6 +67,7 @@ | |
#define ID_81801AA 0x24138086 | |
#define ID_81801AB 0x24238086 | |
#define ID_82801BA 0x24438086 | |
+#define ID_82801CA 0x24838086 | |
#define PCIS_SERIALBUS_SMBUS_PROGIF 0x00 | |
@@ -121,6 +122,9 @@ | |
break; | |
case ID_82801BA: | |
device_set_desc(dev, "Intel 82801BA (ICH2) SMBus controller"); | |
+ break; | |
+ case ID_82801CA: | |
+ device_set_desc(dev, "Intel 82801CA (ICH3) SMBus controller"); | |
break; | |
default: | |
if (pci_get_class(dev) == PCIC_SERIALBUS | |
Index: dev/sound/pcm/ac97.c | |
=================================================================== | |
RCS file: /cvsroot/kame/kame/freebsd4/sys/dev/sound/pcm/ac97.c,v | |
retrieving revision 1.1.1.6 | |
diff -u -r1.1.1.6 ac97.c | |
--- dev/sound/pcm/ac97.c 2002/02/07 01:30:34 1.1.1.6 | |
+++ dev/sound/pcm/ac97.c 2002/02/12 20:06:06 | |
@@ -98,6 +98,8 @@ | |
{ 0x43525931, 0, "Cirrus Logic CS4299A" }, | |
{ 0x43525933, 0, "Cirrus Logic CS4299C" }, | |
{ 0x43525934, 0, "Cirrus Logic CS4299D" }, | |
+ { 0x43525935, 0, "Cirrus Logic CS4299K" }, | |
+ { 0x43525936, 0, "Cirrus Logic CS4299L" }, | |
{ 0x43525941, 0, "Cirrus Logic CS4201A" }, | |
{ 0x43525951, 0, "Cirrus Logic CS4205A" }, | |
{ 0x43525961, 0, "Cirrus Logic CS4291A" }, | |
@@ -369,7 +371,13 @@ | |
wrcd(codec, AC97_REG_RESET, 0); | |
DELAY(100000); | |
wrcd(codec, AC97_REG_POWER, (codec->flags & AC97_F_EAPD_INV)? 0x8000 : 0x0000); | |
- | |
+ wrcd(codec, AC97_REG_GEN, 0); | |
+ DELAY(200000); | |
+ i = rdcd(codec, AC97_REG_POWER); | |
+ if ((i & 0x0f) != 0x0f) { | |
+ device_printf(codec->dev, | |
+ "ac97 analog subsection not ready [%x]\n", i); | |
+ } | |
i = rdcd(codec, AC97_REG_RESET); | |
codec->caps = i & 0x03ff; | |
codec->se = (i & 0x7c00) >> 10; | |
@@ -464,6 +472,13 @@ | |
wrcd(codec, AC97_REG_RESET, 0); | |
DELAY(100000); | |
wrcd(codec, AC97_REG_POWER, (codec->flags & AC97_F_EAPD_INV)? 0x8000 : 0x0000); | |
+ wrcd(codec, AC97_REG_GEN, 0); | |
+ DELAY(200000); | |
+ i = rdcd(codec, AC97_REG_POWER); | |
+ if ((i & 0x0f) != 0x0f) { | |
+ device_printf(codec->dev, | |
+ "ac97 analog subsection not ready [%x]\n", i); | |
+ } | |
i = rdcd(codec, AC97_REG_RESET); | |
if (!codec->noext) { | |
Index: dev/sound/pcm/buffer.c | |
=================================================================== | |
RCS file: /cvsroot/kame/kame/freebsd4/sys/dev/sound/pcm/buffer.c,v | |
retrieving revision 1.1.1.2 | |
diff -u -r1.1.1.2 buffer.c | |
--- dev/sound/pcm/buffer.c 2001/09/25 05:03:28 1.1.1.2 | |
+++ dev/sound/pcm/buffer.c 2002/02/12 20:06:06 | |
@@ -218,6 +218,28 @@ | |
} | |
void | |
+sndbuf_padsilence(struct snd_dbuf *b, unsigned int length) | |
+{ | |
+ int i; | |
+ u_char data, *p; | |
+ unsigned int len = length; | |
+ | |
+ if (b->fmt & AFMT_SIGNED) | |
+ data = 0x00; | |
+ else | |
+ data = 0x80; | |
+ | |
+ i = sndbuf_getfreeptr(b); | |
+ p = sndbuf_getbuf(b); | |
+ while (len) { | |
+ p[i++] = data; | |
+ len--; | |
+ if (i >= b->bufsize) i = 0; | |
+ } | |
+ b->rl += length; | |
+} | |
+ | |
+void | |
sndbuf_reset(struct snd_dbuf *b) | |
{ | |
b->hp = 0; | |
Index: dev/sound/pcm/buffer.h | |
=================================================================== | |
RCS file: /cvsroot/kame/kame/freebsd4/sys/dev/sound/pcm/buffer.h,v | |
retrieving revision 1.1.1.2 | |
diff -u -r1.1.1.2 buffer.h | |
--- dev/sound/pcm/buffer.h 2001/09/25 05:03:29 1.1.1.2 | |
+++ dev/sound/pcm/buffer.h 2002/02/12 20:06:06 | |
@@ -46,6 +46,7 @@ | |
void sndbuf_reset(struct snd_dbuf *b); | |
void sndbuf_clear(struct snd_dbuf *b, unsigned int length); | |
void sndbuf_fillsilence(struct snd_dbuf *b); | |
+void sndbuf_padsilence(struct snd_dbuf *b, unsigned int length); | |
u_int32_t sndbuf_getfmt(struct snd_dbuf *b); | |
int sndbuf_setfmt(struct snd_dbuf *b, u_int32_t fmt); | |
Index: dev/sound/pcm/channel.c | |
=================================================================== | |
RCS file: /cvsroot/kame/kame/freebsd4/sys/dev/sound/pcm/channel.c,v | |
retrieving revision 1.1.1.6 | |
diff -u -r1.1.1.6 channel.c | |
--- dev/sound/pcm/channel.c 2002/02/07 01:30:35 1.1.1.6 | |
+++ dev/sound/pcm/channel.c 2002/02/12 20:06:06 | |
@@ -562,8 +562,15 @@ | |
KASSERT(c->direction == PCMDIR_PLAY, ("chn_wrupdate on bad channel")); | |
DEB(printf("chn_flush c->flags 0x%08x\n", c->flags)); | |
if (!(c->flags & CHN_F_TRIGGERED)) | |
- return 0; | |
- | |
+ if (sndbuf_getready(bs) > 0 && | |
+ sndbuf_getready(bs) < sndbuf_getfree(b)) { | |
+ /* this is probably a short sound, pad it out with | |
+ silence and start the driver playing it. */ | |
+ sndbuf_padsilence(bs, sndbuf_getfree(b)); | |
+ chn_start(c, 1); | |
+ chn_sleep(c, "pcmflu", hz / 10); | |
+ } else | |
+ return 0; | |
c->flags |= CHN_F_CLOSING; | |
resid = sndbuf_getready(bs) + sndbuf_getready(b); | |
resid_p = resid; | |
Index: pci/pci.c | |
=================================================================== | |
RCS file: /cvsroot/kame/kame/freebsd4/sys/pci/pci.c,v | |
retrieving revision 1.1.1.6 | |
diff -u -r1.1.1.6 pci.c | |
--- pci/pci.c 2002/02/07 01:35:55 1.1.1.6 | |
+++ pci/pci.c 2002/02/12 20:06:45 | |
@@ -1322,6 +1322,7 @@ | |
* peripherals respond oddly to having these bits | |
* enabled. Leave them alone by default. | |
*/ | |
+#define PCI_ENABLE_IO_MODES | |
#ifdef PCI_ENABLE_IO_MODES | |
if (type == SYS_RES_IOPORT && !pci_porten(cfg)) { | |
cfg->cmdreg |= PCIM_CMD_PORTEN; | |
Index: pci/pcisupport.c | |
=================================================================== | |
RCS file: /cvsroot/kame/kame/freebsd4/sys/pci/pcisupport.c,v | |
retrieving revision 1.3 | |
diff -u -r1.3 pcisupport.c | |
--- pci/pcisupport.c 2002/02/08 16:52:50 1.3 | |
+++ pci/pcisupport.c 2002/02/12 20:06:46 | |
@@ -692,6 +692,10 @@ | |
return ("Intel 82801AB (ICH0) Hub to PCI bridge"); | |
case 0x244e8086: | |
return ("Intel 82801BA/BAM (ICH2) Hub to PCI bridge"); | |
+ case 0x24488086: | |
+ return ("Intel 82801CA/CAM (ICH3) PCI to PCI bridge"); | |
+ case 0x35768086: | |
+ return ("Intel 82830MP Host to AGP bridge"); | |
/* VLSI -- vendor 0x1004 */ | |
case 0x01021004: | |
@@ -898,6 +902,8 @@ | |
return ("Intel 82801AB (ICH0) PCI to LPC bridge"); | |
case 0x24408086: | |
return ("Intel 82801BA/BAM (ICH2) PCI to LPC bridge"); | |
+ case 0x248C8086: | |
+ return ("Intel 82801CA/CAM (ICH3) PCI to LPC bridge"); | |
/* VLSI -- vendor 0x1004 */ | |
case 0x00061004: | |
@@ -1043,6 +1049,12 @@ | |
return ("Intel 82801BA/BAM (ICH2) USB controller USB-A"); | |
case 0x24448086: | |
return ("Intel 82801BA/BAM (ICH2) USB controller USB-B"); | |
+ case 0x24828086: | |
+ return ("Intel 82801CA/CAM (ICH3) USB controller USB-A"); | |
+ case 0x24848086: | |
+ return ("Intel 82801CA/CAM (ICH3) USB controller USB-B"); | |
+ case 0x24878086: | |
+ return ("Intel 82801CA/CAM (ICH3) USB controller USB-C"); | |
/* VIA Technologies -- vendor 0x1106 (0x1107 on the Apollo Master) */ | |
case 0x30381106: | |
@@ -1223,6 +1235,9 @@ | |
return ("Intel 82801AA (ICH) AC'97 Audio Controller"); | |
case 0x24258086: | |
return ("Intel 82801AB (ICH0) AC'97 Audio Controller"); | |
+ case 0x24858086: | |
+ return ("Intel 82801CA (ICH3) AC'97 Audio Controller"); | |
+ break; | |
/* Sony -- vendor 0x104d */ | |
case 0x8009104d: | |
@@ -1526,6 +1541,8 @@ | |
chip = "Mobility-1"; break; | |
case 0x4c52: | |
chip = "RageMobility-P/M"; break; | |
+ case 0x4c59: | |
+ chip = "RadeonMobility"; break; | |
case 0x475a: | |
chip = "Mach64-GZ"; break; | |
case 0x5245: | |
Index: pci/uhci_pci.c | |
=================================================================== | |
RCS file: /cvsroot/kame/kame/freebsd4/sys/pci/uhci_pci.c,v | |
retrieving revision 1.3 | |
diff -u -r1.3 uhci_pci.c | |
--- pci/uhci_pci.c 2002/02/08 16:52:50 1.3 | |
+++ pci/uhci_pci.c 2002/02/12 20:06:46 | |
@@ -91,6 +91,12 @@ | |
static const char *uhci_device_ich2_a = "Intel 82801BA/BAM (ICH2) USB controller USB-A"; | |
#define PCI_UHCI_DEVICEID_ICH2_B 0x24448086 | |
static const char *uhci_device_ich2_b = "Intel 82801BA/BAM (ICH2) USB controller USB-B"; | |
+#define PCI_UHCI_DEVICEID_ICH3_A 0x24828086 | |
+static const char *uhci_device_ich3_a = "Intel 82801CA/CAM (ICH3) USB controller USB-A"; | |
+#define PCI_UHCI_DEVICEID_ICH3_B 0x24848086 | |
+static const char *uhci_device_ich3_b = "Intel 82801CA/CAM (ICH3) USB controller USB-B"; | |
+#define PCI_UHCI_DEVICEID_ICH3_C 0x24878086 | |
+static const char *uhci_device_ich3_c = "Intel 82801CA/CAM (ICH3) USB controller USB-C"; | |
#define PCI_UHCI_DEVICEID_440MX 0x719a8086 | |
static const char *uhci_device_440mx = "Intel 82443MX USB controller"; | |
#define PCI_UHCI_DEVICEID_VT83C572 0x30381106 | |
@@ -149,6 +155,12 @@ | |
return (uhci_device_ich2_a); | |
} else if (device_id == PCI_UHCI_DEVICEID_ICH2_B) { | |
return (uhci_device_ich2_b); | |
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH3_A) { | |
+ return (uhci_device_ich3_a); | |
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH3_B) { | |
+ return (uhci_device_ich3_b); | |
+ } else if (device_id == PCI_UHCI_DEVICEID_ICH3_C) { | |
+ return (uhci_device_ich3_c); | |
} else if (device_id == PCI_UHCI_DEVICEID_440MX) { | |
return (uhci_device_440mx); | |
} else if (device_id == PCI_UHCI_DEVICEID_VT83C572) { | |
@@ -238,6 +250,18 @@ | |
break; | |
case PCI_UHCI_DEVICEID_ICH2_B: | |
device_set_desc(sc->sc_bus.bdev, uhci_device_ich2_b); | |
+ sprintf(sc->sc_vendor, "Intel"); | |
+ break; | |
+ case PCI_UHCI_DEVICEID_ICH3_A: | |
+ device_set_desc(sc->sc_bus.bdev, uhci_device_ich3_a); | |
+ sprintf(sc->sc_vendor, "Intel"); | |
+ break; | |
+ case PCI_UHCI_DEVICEID_ICH3_B: | |
+ device_set_desc(sc->sc_bus.bdev, uhci_device_ich3_b); | |
+ sprintf(sc->sc_vendor, "Intel"); | |
+ break; | |
+ case PCI_UHCI_DEVICEID_ICH3_C: | |
+ device_set_desc(sc->sc_bus.bdev, uhci_device_ich3_c); | |
sprintf(sc->sc_vendor, "Intel"); | |
break; | |
case PCI_UHCI_DEVICEID_440MX: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment