Subject: Patch ready for testing (was Re: SiS 7012 audio)
To: None <tech-kern@netbsd.org>
From: Quentin Garnier <netbsd@quatriemek.com>
List: tech-kern
Date: 07/22/2002 00:11:27
This is a multi-part message in MIME format.

--Multipart_Mon__22_Jul_2002_00:11:27_+0200_089a4400
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit

Le Sat, 20 Jul 2002 00:16:26 +0200
cube a écrit :
> Is someone currently working on making auich(4) working with that chip ?
> 
> If yes, I'd be happy to test, since I recently bought an ECS K7S5A
> motherboard with a SiS 735 chipset. Otherwise, I think I'll try and code
> it myself, which should not be so difficult from what I've read of the
> FreeBSD ich driver.

The following patches (relatives to src/sys/dev/pci) seem to make this
thing work. I'd be happy to have some feedback about it.

At least, I've been able to play fine different files (both 48 kHz and
44.1 kHz, with mpg123 and with audioplay(1)).

cube

-- 
That's how I did it, Anton. I never saved anything
for the swim back.
Vincent/Jerome, in Gattaca.

--Multipart_Mon__22_Jul_2002_00:11:27_+0200_089a4400
Content-Type: application/octet-stream;
 name="auich.c.sis7012.patch"
Content-Disposition: attachment;
 filename="auich.c.sis7012.patch"
Content-Transfer-Encoding: base64

LS0tIGF1aWNoLmMub3JpZwlUaHUgQXByIDExIDEyOjU0OjIzIDIwMDIKKysrIGF1aWNoLmMJTW9u
IEp1bCAyMiAwMDowMToxNyAyMDAyCkBAIC0xNzAsNiArMTcwLDkgQEAKIAogCWludCAgc2NfZml4
ZWRfcmF0ZTsKIAorCWludCAgc2Nfc2FtcGxlX3NpemU7CisJaW50ICBzY19zdHNfcmVnOworCiAJ
dm9pZCAoKnNjX3BpbnRyKSh2b2lkICopOwogCXZvaWQgKnNjX3Bhcmc7CiAKQEAgLTI3MSwyMSAr
Mjc0LDIzIEBACiB2b2lkCWF1aWNoX3Jlc2V0X2NvZGVjKHZvaWQgKik7CiAKIHN0YXRpYyBjb25z
dCBzdHJ1Y3QgYXVpY2hfZGV2dHlwZSB7CisJaW50CXZlbmRvcjsKIAlpbnQJcHJvZHVjdDsKIAlj
b25zdCBjaGFyICpuYW1lOwogCWNvbnN0IGNoYXIgKnNob3J0bmFtZTsKIH0gYXVpY2hfZGV2aWNl
c1tdID0gewotCXsgUENJX1BST0RVQ1RfSU5URUxfODI4MDFBQV9BQ0EsCisJeyBQQ0lfVkVORE9S
X0lOVEVMLCBQQ0lfUFJPRFVDVF9JTlRFTF84MjgwMUFBX0FDQSwKIAkgICAgImk4MjgwMUFBIChJ
Q0gpIEFDLTk3IEF1ZGlvIiwJIklDSCIgfSwKLQl7IFBDSV9QUk9EVUNUX0lOVEVMXzgyODAxQUJf
QUNBLAorCXsgUENJX1ZFTkRPUl9JTlRFTCwgUENJX1BST0RVQ1RfSU5URUxfODI4MDFBQl9BQ0Es
CiAJICAgICJpODI4MDFBQiAoSUNIMCkgQUMtOTcgQXVkaW8iLAkiSUNIMCIgfSwKLQl7IFBDSV9Q
Uk9EVUNUX0lOVEVMXzgyODAxQkFfQUNBLAorCXsgUENJX1ZFTkRPUl9JTlRFTCwgUENJX1BST0RV
Q1RfSU5URUxfODI4MDFCQV9BQ0EsCiAJICAgICJpODI4MDFCQSAoSUNIMikgQUMtOTcgQXVkaW8i
LAkiSUNIMiIgfSwKLQl7IFBDSV9QUk9EVUNUX0lOVEVMXzgyNDQwTVhfQUNBLAorCXsgUENJX1ZF
TkRPUl9JTlRFTCwgUENJX1BST0RVQ1RfSU5URUxfODI0NDBNWF9BQ0EsCiAJICAgICJpODI0NDBN
WCBBQy05NyBBdWRpbyIsCQkiNDQwTVgiIH0sCi0JeyBQQ0lfUFJPRFVDVF9JTlRFTF84MjgwMUNB
X0FDLAorCXsgUENJX1ZFTkRPUl9JTlRFTCwgUENJX1BST0RVQ1RfSU5URUxfODI4MDFDQV9BQywK
IAkgICAgImk4MjgwMUNBIEFDLTk3IEF1ZGlvIiwJCSJpODMwTSIgfSwKLQorCXsgUENJX1ZFTkRP
Ul9TSVMsIFBDSV9QUk9EVUNUX1NJU183MDEyX0FDLAorICAgICAgICAgICAgIlNpUyA3MDEyIEFD
LTk3IEF1ZGlvIiwgICAgICAgICAgICAgIlNpUzcwMTIiIH0sCiAJeyAwLAogCSAgICBOVUxMLAkJ
CU5VTEwgfSwKIH07CkBAIC0yOTUsMTEgKzMwMCw5IEBACiB7CiAJY29uc3Qgc3RydWN0IGF1aWNo
X2RldnR5cGUgKmQ7CiAKLQlpZiAoUENJX1ZFTkRPUihwYS0+cGFfaWQpICE9IFBDSV9WRU5ET1Jf
SU5URUwpCi0JCXJldHVybiAoTlVMTCk7Ci0KIAlmb3IgKGQgPSBhdWljaF9kZXZpY2VzOyBkLT5u
YW1lICE9IE5VTEw7IGQrKykgewotCQlpZiAoUENJX1BST0RVQ1QocGEtPnBhX2lkKSA9PSBkLT5w
cm9kdWN0KQorCQlpZiAoUENJX1ZFTkRPUihwYS0+cGFfaWQpID09IGQtPnZlbmRvcgorCQkJJiYg
UENJX1BST0RVQ1QocGEtPnBhX2lkKSA9PSBkLT5wcm9kdWN0KQogCQkJcmV0dXJuIChkKTsKIAl9
CiAKQEAgLTM3NSw2ICszNzgsMTYgQEAKIAlzcHJpbnRmKHNjLT5zY19hdWRldi52ZXJzaW9uLCAi
MHglMDJ4IiwgUENJX1JFVklTSU9OKHBhLT5wYV9jbGFzcykpOwogCXN0cmNweShzYy0+c2NfYXVk
ZXYuY29uZmlnLCBzYy0+c2NfZGV2LmR2X3huYW1lKTsKIAorCS8qIFNpUyA3MDEyIG5lZWRzIHNw
ZWNpYWwgaGFuZGxpbmcgKi8KKwlpZiAoZC0+dmVuZG9yID09IFBDSV9WRU5ET1JfU0lTCisJICAg
ICYmIGQtPnByb2R1Y3QgPT0gUENJX1BST0RVQ1RfU0lTXzcwMTJfQUMpIHsKKwkJc2MtPnNjX3N0
c19yZWcgPSBJQ0hfUElDQjsKKwkJc2MtPnNjX3NhbXBsZV9zaXplID0gMTsKKwl9IGVsc2Ugewor
CQlzYy0+c2Nfc3RzX3JlZyA9IElDSF9TVFM7CisJCXNjLT5zY19zYW1wbGVfc2l6ZSA9IDI7CisJ
fQorCiAJLyogU2V0IHVwIERNQSBsaXN0cy4gKi8KIAlzYy0+cHRyX3BjbW8gPSBzYy0+cHRyX3Bj
bWkgPSBzYy0+cHRyX21pY2kgPSAwOwogCWF1aWNoX2FsbG9jX2NkYXRhKHNjKTsKQEAgLTg4MCw3
ICs4OTMsNyBAQAogCURQUklOVEYoSUNIX0RFQlVHX0RNQSwgKCJhdWljaF9pbnRyOiBnc3RzPTB4
JXhcbiIsIGdzdHMpKTsKIAogCWlmIChnc3RzICYgSUNIX1BPSU5UKSB7Ci0JCXN0cyA9IGJ1c19z
cGFjZV9yZWFkXzIoc2MtPmlvdCwgc2MtPmF1ZF9pb2gsIElDSF9QQ01PK0lDSF9TVFMpOworCQlz
dHMgPSBidXNfc3BhY2VfcmVhZF8yKHNjLT5pb3QsIHNjLT5hdWRfaW9oLCBJQ0hfUENNTytzYy0+
c2Nfc3RzX3JlZyk7CiAJCURQUklOVEYoSUNIX0RFQlVHX0RNQSwKIAkJICAgICgiYXVpY2hfaW50
cjogb3N0cz0weCV4XG4iLCBzdHMpKTsKIApAQCAtODk5LDcgKzkxMiw3IEBACiAJCQkJcSA9ICZz
Yy0+ZG1hbGlzdF9wY21vW3FwdHJdOwogCiAJCQkJcS0+YmFzZSA9IHNjLT5wY21vX3A7Ci0JCQkJ
cS0+bGVuID0gKHNjLT5wY21vX2Jsa3NpemUgLyAyKSB8IElDSF9ETUFGX0lPQzsKKwkJCQlxLT5s
ZW4gPSAoc2MtPnBjbW9fYmxrc2l6ZSAvIHNjLT5zY19zYW1wbGVfc2l6ZSkgfCBJQ0hfRE1BRl9J
T0M7CiAJCQkJRFBSSU5URihJQ0hfREVCVUdfRE1BLAogCQkJCSAgICAoImF1aWNoX2ludHI6ICVw
LCAlcCA9ICV4IEAgMHgleFxuIiwKIAkJCQkgICAgJnNjLT5kbWFsaXN0X3BjbW9baV0sIHEsCkBA
IC05MjMsMTQgKzkzNiwxNCBAQAogCQkJc2MtPnNjX3BpbnRyKHNjLT5zY19wYXJnKTsKIAogCQkv
KiBpbnQgYWNrICovCi0JCWJ1c19zcGFjZV93cml0ZV8yKHNjLT5pb3QsIHNjLT5hdWRfaW9oLCBJ
Q0hfUENNTyArIElDSF9TVFMsCisJCWJ1c19zcGFjZV93cml0ZV8yKHNjLT5pb3QsIHNjLT5hdWRf
aW9oLCBJQ0hfUENNTyArIHNjLT5zY19zdHNfcmVnLAogCQkgICAgc3RzICYgKElDSF9MVkJDSSB8
IElDSF9DRUxWIHwgSUNIX0JDSVMgfCBJQ0hfRklGT0UpKTsKIAkJYnVzX3NwYWNlX3dyaXRlXzIo
c2MtPmlvdCwgc2MtPmF1ZF9pb2gsIElDSF9HU1RTLCBJQ0hfUE9JTlQpOwogCQlyZXQrKzsKIAl9
CiAKIAlpZiAoZ3N0cyAmIElDSF9QSUlOVCkgewotCQlzdHMgPSBidXNfc3BhY2VfcmVhZF8yKHNj
LT5pb3QsIHNjLT5hdWRfaW9oLCBJQ0hfUENNSStJQ0hfU1RTKTsKKwkJc3RzID0gYnVzX3NwYWNl
X3JlYWRfMihzYy0+aW90LCBzYy0+YXVkX2lvaCwgSUNIX1BDTUkrc2MtPnNjX3N0c19yZWcpOwog
CQlEUFJJTlRGKElDSF9ERUJVR19ETUEsCiAJCSAgICAoImF1aWNoX2ludHI6IGlzdHM9MHgleFxu
Iiwgc3RzKSk7CiAKQEAgLTk0OSw3ICs5NjIsNyBAQAogCQkJCXEgPSAmc2MtPmRtYWxpc3RfcGNt
aVtxcHRyXTsKIAogCQkJCXEtPmJhc2UgPSBzYy0+cGNtaV9wOwotCQkJCXEtPmxlbiA9IChzYy0+
cGNtaV9ibGtzaXplIC8gMikgfCBJQ0hfRE1BRl9JT0M7CisJCQkJcS0+bGVuID0gKHNjLT5wY21p
X2Jsa3NpemUgLyBzYy0+c2Nfc2FtcGxlX3NpemUpIHwgSUNIX0RNQUZfSU9DOwogCQkJCURQUklO
VEYoSUNIX0RFQlVHX0RNQSwKIAkJCQkgICAgKCJhdWljaF9pbnRyOiAlcCwgJXAgPSAleCBAIDB4
JXhcbiIsCiAJCQkJICAgICZzYy0+ZG1hbGlzdF9wY21pW2ldLCBxLApAQCAtOTczLDE0ICs5ODYs
MTQgQEAKIAkJCXNjLT5zY19yaW50cihzYy0+c2NfcmFyZyk7CiAKIAkJLyogaW50IGFjayAqLwot
CQlidXNfc3BhY2Vfd3JpdGVfMihzYy0+aW90LCBzYy0+YXVkX2lvaCwgSUNIX1BDTUkgKyBJQ0hf
U1RTLAorCQlidXNfc3BhY2Vfd3JpdGVfMihzYy0+aW90LCBzYy0+YXVkX2lvaCwgSUNIX1BDTUkg
KyBzYy0+c2Nfc3RzX3JlZywKIAkJICAgIHN0cyAmIChJQ0hfTFZCQ0kgfCBJQ0hfQ0VMViB8IElD
SF9CQ0lTIHwgSUNIX0ZJRk9FKSk7CiAJCWJ1c19zcGFjZV93cml0ZV8yKHNjLT5pb3QsIHNjLT5h
dWRfaW9oLCBJQ0hfR1NUUywgSUNIX1BPSU5UKTsKIAkJcmV0Kys7CiAJfQogCiAJaWYgKGdzdHMg
JiBJQ0hfTUlJTlQpIHsKLQkJc3RzID0gYnVzX3NwYWNlX3JlYWRfMihzYy0+aW90LCBzYy0+YXVk
X2lvaCwgSUNIX01JQ0krSUNIX1NUUyk7CisJCXN0cyA9IGJ1c19zcGFjZV9yZWFkXzIoc2MtPmlv
dCwgc2MtPmF1ZF9pb2gsIElDSF9NSUNJK3NjLT5zY19zdHNfcmVnKTsKIAkJRFBSSU5URihJQ0hf
REVCVUdfRE1BLAogCQkgICAgKCJhdWljaF9pbnRyOiBpc3RzPTB4JXhcbiIsIHN0cykpOwogCQlp
ZiAoc3RzICYgSUNIX0ZJRk9FKQpAQCAtMTAzMiw3ICsxMDQ1LDcgQEAKIAlzYy0+cHRyX3BjbW8g
PSAwOwogCXEgPSAmc2MtPmRtYWxpc3RfcGNtb1tzYy0+cHRyX3BjbW9dOwogCXEtPmJhc2UgPSBz
Yy0+cGNtb19zdGFydDsKLQlxLT5sZW4gPSAoYmxrc2l6ZSAvIDIpIHwgSUNIX0RNQUZfSU9DOwor
CXEtPmxlbiA9IChibGtzaXplIC8gc2MtPnNjX3NhbXBsZV9zaXplKSB8IElDSF9ETUFGX0lPQzsK
IAlpZiAoKytzYy0+cHRyX3BjbW8gPT0gSUNIX0RNQUxJU1RfTUFYKQogCQlzYy0+cHRyX3BjbW8g
PSAwOwogCkBAIC0xMDg5LDcgKzExMDIsNyBAQAogCXNjLT5wdHJfcGNtaSA9IDA7CiAJcSA9ICZz
Yy0+ZG1hbGlzdF9wY21pW3NjLT5wdHJfcGNtaV07CiAJcS0+YmFzZSA9IHNjLT5wY21pX3N0YXJ0
OwotCXEtPmxlbiA9IChibGtzaXplIC8gMikgfCBJQ0hfRE1BRl9JT0M7CisJcS0+bGVuID0gKGJs
a3NpemUgLyBzYy0+c2Nfc2FtcGxlX3NpemUpIHwgSUNIX0RNQUZfSU9DOwogCWlmICgrK3NjLT5w
dHJfcGNtaSA9PSBJQ0hfRE1BTElTVF9NQVgpCiAJCXNjLT5wdHJfcGNtaSA9IDA7CiAK

--Multipart_Mon__22_Jul_2002_00:11:27_+0200_089a4400
Content-Type: application/octet-stream;
 name="pcidevs.h.sis7012.patch"
Content-Disposition: attachment;
 filename="pcidevs.h.sis7012.patch"
Content-Transfer-Encoding: base64

LS0tIHBjaWRldnMuaC5vcmlnCVN1biBKdWwgMjEgMjE6MjA6MzcgMjAwMgorKysgcGNpZGV2cy5o
CVN1biBKdWwgMjEgMjE6MjE6MTMgMjAwMgpAQCAtMTg3Myw2ICsxODczLDcgQEAKICNkZWZpbmUJ
UENJX1BST0RVQ1RfU0lTXzUzMFZHQQkweDYzMDYJCS8qIDUzMCBHVUkgQWNjZWxlcmF0b3IrM0Qg
Ki8KICNkZWZpbmUJUENJX1BST0RVQ1RfU0lTXzYzMjYJMHg2MzI2CQkvKiA2MzI2IEFHUCBWR0Eg
Ki8KICNkZWZpbmUJUENJX1BST0RVQ1RfU0lTXzU1OTdfVVNCCTB4NzAwMQkJLyogNTU5Ny81NTk4
IFVTQiBob3N0IGNvbnRyb2xsZXIgKi8KKyNkZWZpbmUgUENJX1BST0RVQ1RfU0lTXzcwMTJfQUMJ
MHg3MDEyCQkvKiBTaVMgNzAxMiBBQy05NyBBdWRpbyAqLwogI2RlZmluZQlQQ0lfUFJPRFVDVF9T
SVNfNzAxNgkweDcwMTYJCS8qIFNpUyA3MDE2IDEwLzEwMCBFdGhlcm5ldCAqLwogI2RlZmluZQlQ
Q0lfUFJPRFVDVF9TSVNfNzAxOAkweDcwMTgJCS8qIFNpUyA3MDE4IFNvdW5kICovCiAK

--Multipart_Mon__22_Jul_2002_00:11:27_+0200_089a4400--