1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
--- a/kernel/drv/oss_hdaudio/.devices Fri Feb 06 00:36:29 2009 +0200
+++ b/kernel/drv/oss_hdaudio/.devices Fri Feb 06 17:00:26 2009 +0200
@@ -13,6 +13,7 @@ oss_hdaudio pci10de,44a Nvidia High Defi
oss_hdaudio pci10de,44a Nvidia High Definition Audio (MCP65)
oss_hdaudio pci10de,55c Nvidia High Definition Audio (MCP67)
oss_hdaudio pci10de,774 Nvidia High Definition Audio (MCP78S)
+oss_hdaudio pci10de,ac0 Nvidia High Definition Audio (MCP79)
oss_hdaudio pci1002,437b ATI High Definition Audio (SB450)
oss_hdaudio pci1002,4383 ATI High Definition Audio (SB600)
oss_hdaudio pci1106,3288 VIA High Definition Audio
--- a/kernel/drv/oss_hdaudio/oss_hdaudio.c Fri Feb 06 00:36:29 2009 +0200
+++ b/kernel/drv/oss_hdaudio/oss_hdaudio.c Fri Feb 06 17:00:26 2009 +0200
@@ -30,6 +30,7 @@
#define NVIDIA_DEVICE_MCP65 0x044a
#define NVIDIA_DEVICE_MCP67 0x055c
#define NVIDIA_DEVICE_MCP78S 0x0774
+#define NVIDIA_DEVICE_MCP79 0x0ac0
#define ATI_VENDOR_ID 0x1002
#define ATI_DEVICE_SB450 0x437b
@@ -1720,7 +1721,7 @@ oss_hdaudio_attach (oss_device_t * osdev
device != NVIDIA_DEVICE_MCP51 && device != NVIDIA_DEVICE_MCP55 &&
device != NVIDIA_DEVICE_MCP61 && device != NVIDIA_DEVICE_MCP61A &&
device != NVIDIA_DEVICE_MCP65 && device != NVIDIA_DEVICE_MCP67 &&
- device != NVIDIA_DEVICE_MCP78S &&
+ device != NVIDIA_DEVICE_MCP78S && device != NVIDIA_DEVICE_MCP79 &&
device != VIA_DEVICE_HDA &&
device != SIS_DEVICE_HDA &&
device != ULI_DEVICE_HDA &&
@@ -1776,6 +1777,7 @@ oss_hdaudio_attach (oss_device_t * osdev
case NVIDIA_DEVICE_MCP65:
case NVIDIA_DEVICE_MCP67:
case NVIDIA_DEVICE_MCP78S:
+ case NVIDIA_DEVICE_MCP79:
devc->chip_name = "nVidia HD Audio";
pci_read_config_byte (osdev, 0x4e, &btmp);
pci_write_config_byte (osdev, 0x4e, (btmp & 0xf0) | 0x0f);
--- a/kernel/drv/oss_hdaudio/.devices Fri Feb 06 17:05:21 2009 +0200
+++ b/kernel/drv/oss_hdaudio/.devices Sat Feb 07 11:10:36 2009 +0200
@@ -12,6 +12,7 @@ oss_hdaudio pci10de,3f0 Nvidia High Defi
oss_hdaudio pci10de,3f0 Nvidia High Definition Audio (MCP61)
oss_hdaudio pci10de,44a Nvidia High Definition Audio (MCP65)
oss_hdaudio pci10de,55c Nvidia High Definition Audio (MCP67)
+oss_hdaudio pci10de,7fc Nvidia High Definition Audio (MCP73)
oss_hdaudio pci10de,774 Nvidia High Definition Audio (MCP78S)
oss_hdaudio pci10de,ac0 Nvidia High Definition Audio (MCP79)
oss_hdaudio pci1002,437b ATI High Definition Audio (SB450)
--- a/kernel/drv/oss_hdaudio/oss_hdaudio.c Fri Feb 06 17:05:21 2009 +0200
+++ b/kernel/drv/oss_hdaudio/oss_hdaudio.c Sat Feb 07 11:10:36 2009 +0200
@@ -29,6 +29,7 @@
#define NVIDIA_DEVICE_MCP61A 0x03f0
#define NVIDIA_DEVICE_MCP65 0x044a
#define NVIDIA_DEVICE_MCP67 0x055c
+#define NVIDIA_DEVICE_MCP73 0x07fc
#define NVIDIA_DEVICE_MCP78S 0x0774
#define NVIDIA_DEVICE_MCP79 0x0ac0
@@ -1721,7 +1722,8 @@ oss_hdaudio_attach (oss_device_t * osdev
device != NVIDIA_DEVICE_MCP51 && device != NVIDIA_DEVICE_MCP55 &&
device != NVIDIA_DEVICE_MCP61 && device != NVIDIA_DEVICE_MCP61A &&
device != NVIDIA_DEVICE_MCP65 && device != NVIDIA_DEVICE_MCP67 &&
- device != NVIDIA_DEVICE_MCP78S && device != NVIDIA_DEVICE_MCP79 &&
+ device != NVIDIA_DEVICE_MCP73 && device != NVIDIA_DEVICE_MCP78S &&
+ device != NVIDIA_DEVICE_MCP79 &&
device != VIA_DEVICE_HDA &&
device != SIS_DEVICE_HDA &&
device != ULI_DEVICE_HDA &&
@@ -1776,6 +1778,7 @@ oss_hdaudio_attach (oss_device_t * osdev
case NVIDIA_DEVICE_MCP61A:
case NVIDIA_DEVICE_MCP65:
case NVIDIA_DEVICE_MCP67:
+ case NVIDIA_DEVICE_MCP73:
case NVIDIA_DEVICE_MCP78S:
case NVIDIA_DEVICE_MCP79:
devc->chip_name = "nVidia HD Audio";
--- a/kernel/framework/vmix_core/vmix_core.c Mon Feb 09 21:21:39 2009 +0200
+++ b/kernel/framework/vmix_core/vmix_core.c Mon Feb 09 19:52:22 2009 -0200
@@ -1590,7 +1590,7 @@ create_vmix_engine (vmix_mixer_t * mixer
adev_t *adev, *master_adev;
int opts = ADEV_VIRTUAL | ADEV_DEFAULT | ADEV_VMIX;
- n = mixer->num_clientdevs++;
+ n = mixer->num_clientdevs;
/*
* ADEV_HIDDEN is used for the VMIX devices because they should not be
@@ -1611,7 +1611,7 @@ create_vmix_engine (vmix_mixer_t * mixer
if (mixer->masterdev == -1)
return OSS_ENXIO;
- if (mixer->num_clientdevs >= MAX_CLIENTS) /* Cannot create more client engines */
+ if (n + 1 >= MAX_CLIENTS) /* Cannot create more client engines */
return OSS_EBUSY;
/*
@@ -1628,6 +1628,8 @@ create_vmix_engine (vmix_mixer_t * mixer
}
memset (portc, 0, sizeof (*portc));
portc->open_pending = 1; /* Reserve this engine to the client it was created for */
+
+ mixer->num_clientdevs++;
portc->num = n;
|