CVS commit: [netbsd-9] src/sys/dev/hdaudio

2020-12-28 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Dec 28 20:21:55 UTC 2020

Modified Files:
src/sys/dev/hdaudio [netbsd-9]: hdaudio.c

Log Message:
Pull up following revision(s) (requested by jmcneill in ticket #1166):

sys/dev/hdaudio/hdaudio.c: revision 1.13

If the Subordinate Node Count returns 0 nodes, complain and return instead
of trying to kmem_zalloc 0 bytes later on.


To generate a diff of this commit:
cvs rdiff -u -r1.9.2.1 -r1.9.2.2 src/sys/dev/hdaudio/hdaudio.c

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/hdaudio/hdaudio.c
diff -u src/sys/dev/hdaudio/hdaudio.c:1.9.2.1 src/sys/dev/hdaudio/hdaudio.c:1.9.2.2
--- src/sys/dev/hdaudio/hdaudio.c:1.9.2.1	Mon Dec 28 20:18:09 2020
+++ src/sys/dev/hdaudio/hdaudio.c	Mon Dec 28 20:21:54 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: hdaudio.c,v 1.9.2.1 2020/12/28 20:18:09 martin Exp $ */
+/* $NetBSD: hdaudio.c,v 1.9.2.2 2020/12/28 20:21:54 martin Exp $ */
 
 /*
  * Copyright (c) 2009 Precedence Technologies Ltd 
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: hdaudio.c,v 1.9.2.1 2020/12/28 20:18:09 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hdaudio.c,v 1.9.2.2 2020/12/28 20:21:54 martin Exp $");
 
 #include 
 #include 
@@ -713,6 +713,7 @@ hdaudio_attach_fg(struct hdaudio_functio
 static void
 hdaudio_codec_attach(struct hdaudio_codec *co)
 {
+	struct hdaudio_softc *sc = co->co_host;
 	struct hdaudio_function_group *fg;
 	uint32_t vid, snc, fgrp;
 	int starting_node, num_nodes, nid;
@@ -729,7 +730,6 @@ hdaudio_codec_attach(struct hdaudio_code
 		return;
 
 #ifdef HDAUDIO_DEBUG
-	struct hdaudio_softc *sc = co->co_host;
 	uint32_t rid = hdaudio_command(co, 0, CORB_GET_PARAMETER,
 	COP_REVISION_ID);
 	hda_print(sc, "Codec%02X: %04X:%04X HDA %d.%d rev %d stepping %d\n",
@@ -740,6 +740,16 @@ hdaudio_codec_attach(struct hdaudio_code
 	starting_node = (snc >> 16) & 0xff;
 	num_nodes = snc & 0xff;
 
+	/*
+	 * If the total number of nodes is 0, there's nothing we can do.
+	 * This shouldn't happen, so complain about it.
+	 */
+	if (num_nodes == 0) {
+		hda_error(sc, "Codec%02X: No subordinate nodes found (%08x)\n",
+		co->co_addr, snc);
+		return;
+	}
+
 	co->co_nfg = num_nodes;
 	co->co_fg = kmem_zalloc(co->co_nfg * sizeof(*co->co_fg), KM_SLEEP);
 



CVS commit: [netbsd-9] src/sys/dev/hdaudio

2020-12-28 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Dec 28 20:18:09 UTC 2020

Modified Files:
src/sys/dev/hdaudio [netbsd-9]: hdaudio.c

Log Message:
Pull up following revision(s) (requested by jmcneill in ticket #1165):

sys/dev/hdaudio/hdaudio.c: revision 1.12

Initialize DMA memory when allocating it. Should fix PR# 51734 (hdaudio
"RIRB timeout" on boot).


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.9.2.1 src/sys/dev/hdaudio/hdaudio.c

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/hdaudio/hdaudio.c
diff -u src/sys/dev/hdaudio/hdaudio.c:1.9 src/sys/dev/hdaudio/hdaudio.c:1.9.2.1
--- src/sys/dev/hdaudio/hdaudio.c:1.9	Fri Jul 26 11:13:46 2019
+++ src/sys/dev/hdaudio/hdaudio.c	Mon Dec 28 20:18:09 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: hdaudio.c,v 1.9 2019/07/26 11:13:46 jmcneill Exp $ */
+/* $NetBSD: hdaudio.c,v 1.9.2.1 2020/12/28 20:18:09 martin Exp $ */
 
 /*
  * Copyright (c) 2009 Precedence Technologies Ltd 
@@ -30,7 +30,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: hdaudio.c,v 1.9 2019/07/26 11:13:46 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hdaudio.c,v 1.9.2.1 2020/12/28 20:18:09 martin Exp $");
 
 #include 
 #include 
@@ -194,6 +194,10 @@ hdaudio_dma_alloc(struct hdaudio_softc *
 	if (err)
 		goto destroy;
 
+	memset(dma->dma_addr, 0, dma->dma_size);
+	bus_dmamap_sync(sc->sc_dmat, dma->dma_map, 0, dma->dma_size,
+	BUS_DMASYNC_PREWRITE);
+
 	dma->dma_valid = true;
 	return 0;
 



CVS commit: [netbsd-9] src/sys/dev/hdaudio

2020-04-29 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Apr 29 13:51:09 UTC 2020

Modified Files:
src/sys/dev/hdaudio [netbsd-9]: hdaudiodevs.h hdaudiodevs_data.h

Log Message:
Regen for ticket #872


To generate a diff of this commit:
cvs rdiff -u -r1.2.26.2 -r1.2.26.3 src/sys/dev/hdaudio/hdaudiodevs.h \
src/sys/dev/hdaudio/hdaudiodevs_data.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/hdaudio/hdaudiodevs.h
diff -u src/sys/dev/hdaudio/hdaudiodevs.h:1.2.26.2 src/sys/dev/hdaudio/hdaudiodevs.h:1.2.26.3
--- src/sys/dev/hdaudio/hdaudiodevs.h:1.2.26.2	Wed Apr 29 13:43:42 2020
+++ src/sys/dev/hdaudio/hdaudiodevs.h	Wed Apr 29 13:51:09 2020
@@ -1,10 +1,10 @@
-/*	$NetBSD: hdaudiodevs.h,v 1.2.26.2 2020/04/29 13:43:42 martin Exp $	*/
+/*	$NetBSD: hdaudiodevs.h,v 1.2.26.3 2020/04/29 13:51:09 martin Exp $	*/
 
 /*
  * THIS FILE IS AUTOMATICALLY GENERATED.  DO NOT EDIT.
  *
  * generated from:
- *	NetBSD: hdaudiodevs,v 1.2.26.2 2020/04/29 13:42:21 martin Exp
+ *	NetBSD: hdaudiodevs,v 1.2.26.3 2020/04/29 13:50:38 martin Exp
  */
 
 /*
@@ -84,6 +84,7 @@
 #define	HDAUDIO_PRODUCT_REALTEK_ALC272	0x0272		/* ALC272 */
 #define	HDAUDIO_PRODUCT_REALTEK_ALC275	0x0275		/* ALC275 */
 #define	HDAUDIO_PRODUCT_REALTEK_ALC280	0x0280		/* ALC280 */
+#define	HDAUDIO_PRODUCT_REALTEK_ALC292	0x0292		/* ALC292 */
 #define	HDAUDIO_PRODUCT_REALTEK_ALC293	0x0293		/* ALC293 */
 #define	HDAUDIO_PRODUCT_REALTEK_ALC660_VD	0x0660		/* ALC660-VD */
 #define	HDAUDIO_PRODUCT_REALTEK_ALC662	0x0662		/* ALC662 */
Index: src/sys/dev/hdaudio/hdaudiodevs_data.h
diff -u src/sys/dev/hdaudio/hdaudiodevs_data.h:1.2.26.2 src/sys/dev/hdaudio/hdaudiodevs_data.h:1.2.26.3
--- src/sys/dev/hdaudio/hdaudiodevs_data.h:1.2.26.2	Wed Apr 29 13:43:42 2020
+++ src/sys/dev/hdaudio/hdaudiodevs_data.h	Wed Apr 29 13:51:09 2020
@@ -1,10 +1,10 @@
-/*	$NetBSD: hdaudiodevs_data.h,v 1.2.26.2 2020/04/29 13:43:42 martin Exp $	*/
+/*	$NetBSD: hdaudiodevs_data.h,v 1.2.26.3 2020/04/29 13:51:09 martin Exp $	*/
 
 /*
  * THIS FILE IS AUTOMATICALLY GENERATED.  DO NOT EDIT.
  *
  * generated from:
- *	NetBSD: hdaudiodevs,v 1.2.26.2 2020/04/29 13:42:21 martin Exp
+ *	NetBSD: hdaudiodevs,v 1.2.26.3 2020/04/29 13:50:38 martin Exp
  */
 
 /*
@@ -102,322 +102,324 @@ static const uint16_t hdaudio_products[]
 	230, 0,
 	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC280, 
 	237, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC293, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC292, 
 	244, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC660_VD, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC293, 
 	251, 0,
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC660_VD, 
+	258, 0,
 	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC662, 
-	261, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC663, 
 	268, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC670, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC663, 
 	275, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC861, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC670, 
 	282, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC861_VD, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC861, 
 	289, 0,
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC861_VD, 
+	296, 0,
 	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC880, 
-	299, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC882, 
 	306, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC883, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC882, 
 	313, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC885, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC883, 
 	320, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC887, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC885, 
 	327, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC888, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC887, 
 	334, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC889, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC888, 
 	341, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC892, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC889, 
 	348, 0,
-	HDAUDIO_VENDOR_VIATECH, HDAUDIO_PRODUCT_VIATECH_VT1708, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC892, 
 	355, 0,
+	HDAUDIO_VENDOR_VIATECH, HDAUDIO_PRODUCT_VIATECH_VT1708, 
+	362, 0,
 	HDAUDIO_VENDOR_VIATECH, HDAUDIO_PRODUCT_VIATECH_VT1709, 
-	355, 0,
+	362, 0,
 	HDAUDIO_VENDOR_VIATECH, HDAUDIO_PRODUCT_VIATECH_VT170A, 
-	355, 0,
+	362, 0,
 	HDAUDIO_VENDOR_VIATECH, HDAUDIO_PRODUCT_VIATECH_VT170B, 
-	355, 0,
+	362, 0,
 	

CVS commit: [netbsd-9] src/sys/dev/hdaudio

2020-04-29 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Apr 29 13:50:38 UTC 2020

Modified Files:
src/sys/dev/hdaudio [netbsd-9]: hdaudiodevs

Log Message:
Pull up following revision(s) (requested by nia in ticket #872):

sys/dev/hdaudio/hdaudiodevs: revision 1.5

hdaudiodevs: Add Realtek ALC292


To generate a diff of this commit:
cvs rdiff -u -r1.2.26.2 -r1.2.26.3 src/sys/dev/hdaudio/hdaudiodevs

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/hdaudio/hdaudiodevs
diff -u src/sys/dev/hdaudio/hdaudiodevs:1.2.26.2 src/sys/dev/hdaudio/hdaudiodevs:1.2.26.3
--- src/sys/dev/hdaudio/hdaudiodevs:1.2.26.2	Wed Apr 29 13:42:21 2020
+++ src/sys/dev/hdaudio/hdaudiodevs	Wed Apr 29 13:50:38 2020
@@ -1,4 +1,4 @@
-$NetBSD: hdaudiodevs,v 1.2.26.2 2020/04/29 13:42:21 martin Exp $
+$NetBSD: hdaudiodevs,v 1.2.26.3 2020/04/29 13:50:38 martin Exp $
 
 /*
  * Copyright (c) 2010 Jared D. McNeill 
@@ -77,6 +77,7 @@ product	REALTEK		ALC270		0x0270	ALC270
 product	REALTEK		ALC272		0x0272	ALC272
 product	REALTEK		ALC275		0x0275	ALC275
 product	REALTEK		ALC280		0x0280	ALC280
+product	REALTEK		ALC292		0x0292	ALC292
 product	REALTEK		ALC293		0x0293	ALC293
 product	REALTEK		ALC660_VD	0x0660	ALC660-VD
 product	REALTEK		ALC662		0x0662	ALC662



CVS commit: [netbsd-9] src/sys/dev/hdaudio

2020-04-29 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Apr 29 13:43:42 UTC 2020

Modified Files:
src/sys/dev/hdaudio [netbsd-9]: hdaudiodevs.h hdaudiodevs_data.h

Log Message:
Regen for ticket #869


To generate a diff of this commit:
cvs rdiff -u -r1.2.26.1 -r1.2.26.2 src/sys/dev/hdaudio/hdaudiodevs.h \
src/sys/dev/hdaudio/hdaudiodevs_data.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/hdaudio/hdaudiodevs.h
diff -u src/sys/dev/hdaudio/hdaudiodevs.h:1.2.26.1 src/sys/dev/hdaudio/hdaudiodevs.h:1.2.26.2
--- src/sys/dev/hdaudio/hdaudiodevs.h:1.2.26.1	Mon Jan 27 07:10:17 2020
+++ src/sys/dev/hdaudio/hdaudiodevs.h	Wed Apr 29 13:43:42 2020
@@ -1,10 +1,10 @@
-/*	$NetBSD: hdaudiodevs.h,v 1.2.26.1 2020/01/27 07:10:17 martin Exp $	*/
+/*	$NetBSD: hdaudiodevs.h,v 1.2.26.2 2020/04/29 13:43:42 martin Exp $	*/
 
 /*
  * THIS FILE IS AUTOMATICALLY GENERATED.  DO NOT EDIT.
  *
  * generated from:
- *	NetBSD: hdaudiodevs,v 1.2.26.1 2020/01/27 07:09:31 martin Exp
+ *	NetBSD: hdaudiodevs,v 1.2.26.2 2020/04/29 13:42:21 martin Exp
  */
 
 /*
@@ -84,6 +84,7 @@
 #define	HDAUDIO_PRODUCT_REALTEK_ALC272	0x0272		/* ALC272 */
 #define	HDAUDIO_PRODUCT_REALTEK_ALC275	0x0275		/* ALC275 */
 #define	HDAUDIO_PRODUCT_REALTEK_ALC280	0x0280		/* ALC280 */
+#define	HDAUDIO_PRODUCT_REALTEK_ALC293	0x0293		/* ALC293 */
 #define	HDAUDIO_PRODUCT_REALTEK_ALC660_VD	0x0660		/* ALC660-VD */
 #define	HDAUDIO_PRODUCT_REALTEK_ALC662	0x0662		/* ALC662 */
 #define	HDAUDIO_PRODUCT_REALTEK_ALC663	0x0663		/* ALC663 */
Index: src/sys/dev/hdaudio/hdaudiodevs_data.h
diff -u src/sys/dev/hdaudio/hdaudiodevs_data.h:1.2.26.1 src/sys/dev/hdaudio/hdaudiodevs_data.h:1.2.26.2
--- src/sys/dev/hdaudio/hdaudiodevs_data.h:1.2.26.1	Mon Jan 27 07:10:17 2020
+++ src/sys/dev/hdaudio/hdaudiodevs_data.h	Wed Apr 29 13:43:42 2020
@@ -1,10 +1,10 @@
-/*	$NetBSD: hdaudiodevs_data.h,v 1.2.26.1 2020/01/27 07:10:17 martin Exp $	*/
+/*	$NetBSD: hdaudiodevs_data.h,v 1.2.26.2 2020/04/29 13:43:42 martin Exp $	*/
 
 /*
  * THIS FILE IS AUTOMATICALLY GENERATED.  DO NOT EDIT.
  *
  * generated from:
- *	NetBSD: hdaudiodevs,v 1.2.26.1 2020/01/27 07:09:31 martin Exp
+ *	NetBSD: hdaudiodevs,v 1.2.26.2 2020/04/29 13:42:21 martin Exp
  */
 
 /*
@@ -102,320 +102,322 @@ static const uint16_t hdaudio_products[]
 	230, 0,
 	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC280, 
 	237, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC660_VD, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC293, 
 	244, 0,
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC660_VD, 
+	251, 0,
 	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC662, 
-	254, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC663, 
 	261, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC670, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC663, 
 	268, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC861, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC670, 
 	275, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC861_VD, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC861, 
 	282, 0,
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC861_VD, 
+	289, 0,
 	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC880, 
-	292, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC882, 
 	299, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC883, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC882, 
 	306, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC885, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC883, 
 	313, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC887, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC885, 
 	320, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC888, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC887, 
 	327, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC889, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC888, 
 	334, 0,
-	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC892, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC889, 
 	341, 0,
-	HDAUDIO_VENDOR_VIATECH, HDAUDIO_PRODUCT_VIATECH_VT1708, 
+	HDAUDIO_VENDOR_REALTEK, HDAUDIO_PRODUCT_REALTEK_ALC892, 
 	348, 0,
+	HDAUDIO_VENDOR_VIATECH, HDAUDIO_PRODUCT_VIATECH_VT1708, 
+	355, 0,
 	HDAUDIO_VENDOR_VIATECH, HDAUDIO_PRODUCT_VIATECH_VT1709, 
-	348, 0,
+	355, 0,
 	HDAUDIO_VENDOR_VIATECH, HDAUDIO_PRODUCT_VIATECH_VT170A, 
-	348, 0,
+	355, 0,
 	HDAUDIO_VENDOR_VIATECH, HDAUDIO_PRODUCT_VIATECH_VT170B, 
-	348, 0,
+	355, 0,
 	HDAUDIO_VENDOR_VIATECH, HDAUDIO_PRODUCT_VIATECH_VT1709_10CH_0, 
-	355, 362, 0,
+	362, 369, 0,
 	HDAUDIO_VENDOR_VIATECH, 

CVS commit: [netbsd-9] src/sys/dev/hdaudio

2020-04-29 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Apr 29 13:42:21 UTC 2020

Modified Files:
src/sys/dev/hdaudio [netbsd-9]: hdaudiodevs

Log Message:
Pull up following revision(s) (requested by jmcneill in ticket #869):

sys/dev/hdaudio/hdaudiodevs: revision 1.4

Add Realtek ALC293


To generate a diff of this commit:
cvs rdiff -u -r1.2.26.1 -r1.2.26.2 src/sys/dev/hdaudio/hdaudiodevs

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/hdaudio/hdaudiodevs
diff -u src/sys/dev/hdaudio/hdaudiodevs:1.2.26.1 src/sys/dev/hdaudio/hdaudiodevs:1.2.26.2
--- src/sys/dev/hdaudio/hdaudiodevs:1.2.26.1	Mon Jan 27 07:09:31 2020
+++ src/sys/dev/hdaudio/hdaudiodevs	Wed Apr 29 13:42:21 2020
@@ -1,4 +1,4 @@
-$NetBSD: hdaudiodevs,v 1.2.26.1 2020/01/27 07:09:31 martin Exp $
+$NetBSD: hdaudiodevs,v 1.2.26.2 2020/04/29 13:42:21 martin Exp $
 
 /*
  * Copyright (c) 2010 Jared D. McNeill 
@@ -77,6 +77,7 @@ product	REALTEK		ALC270		0x0270	ALC270
 product	REALTEK		ALC272		0x0272	ALC272
 product	REALTEK		ALC275		0x0275	ALC275
 product	REALTEK		ALC280		0x0280	ALC280
+product	REALTEK		ALC293		0x0293	ALC293
 product	REALTEK		ALC660_VD	0x0660	ALC660-VD
 product	REALTEK		ALC662		0x0662	ALC662
 product	REALTEK		ALC663		0x0663	ALC663



CVS commit: [netbsd-9] src/sys/dev/hdaudio

2020-04-25 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sat Apr 25 10:40:45 UTC 2020

Modified Files:
src/sys/dev/hdaudio [netbsd-9]: hdafg.c

Log Message:
Pull up following revision(s) (requested by isaki in ticket #852):

sys/dev/hdaudio/hdafg.c: revision 1.22

Make round_blocksize satisfy all of
- restrictions that existed before merging isaki-audio2 branch.
- better support for 6 channels hardware.
- audio layer's requirement.

This may help PR kern/54474.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.18.2.1 src/sys/dev/hdaudio/hdafg.c

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/hdaudio/hdafg.c
diff -u src/sys/dev/hdaudio/hdafg.c:1.18 src/sys/dev/hdaudio/hdafg.c:1.18.2.1
--- src/sys/dev/hdaudio/hdafg.c:1.18	Sat Jun  8 08:02:38 2019
+++ src/sys/dev/hdaudio/hdafg.c	Sat Apr 25 10:40:45 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: hdafg.c,v 1.18 2019/06/08 08:02:38 isaki Exp $ */
+/* $NetBSD: hdafg.c,v 1.18.2.1 2020/04/25 10:40:45 martin Exp $ */
 
 /*
  * Copyright (c) 2009 Precedence Technologies Ltd 
@@ -60,7 +60,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: hdafg.c,v 1.18 2019/06/08 08:02:38 isaki Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hdafg.c,v 1.18.2.1 2020/04/25 10:40:45 martin Exp $");
 
 #include 
 #include 
@@ -3934,12 +3934,28 @@ hdafg_set_format(void *opaque, int setmo
 	return 0;
 }
 
+/* LCM for round_blocksize */
+static u_int gcd(u_int, u_int);
+static u_int lcm(u_int, u_int);
+
+static u_int gcd(u_int a, u_int b)
+{
+
+	return (b == 0) ? a : gcd(b, a % b);
+}
+static u_int lcm(u_int a, u_int b)
+{
+
+	return a * b / gcd(a, b);
+}
+
 static int
 hdafg_round_blocksize(void *opaque, int blksize, int mode,
 const audio_params_t *param)
 {
 	struct hdaudio_audiodev *ad = opaque;
 	struct hdaudio_stream *st;
+	u_int minblksize;
 	int bufsize;
 
 	st = (mode == AUMODE_PLAY) ? ad->ad_playback : ad->ad_capture;
@@ -3949,6 +3965,15 @@ hdafg_round_blocksize(void *opaque, int 
 		return 128;
 	}
 
+	if (blksize > 8192)
+		blksize = 8192;
+
+	/* Make sure there are enough BDL descriptors */
+	bufsize = st->st_data.dma_size;
+	if (bufsize > HDAUDIO_BDL_MAX * blksize) {
+		blksize = bufsize / HDAUDIO_BDL_MAX;
+	}
+
 	/*
 	 * HD audio's buffer constraint looks like following:
 	 * - The buffer MUST start on a 128bytes boundary.
@@ -3956,13 +3981,15 @@ hdafg_round_blocksize(void *opaque, int 
 	 * - The buffer size is preferred multiple of 128bytes for efficiency.
 	 *
 	 * https://www.intel.co.jp/content/www/jp/ja/standards/high-definition-audio-specification.html , p70.
+	 *
+	 * Also, the audio layer requires that the blocksize must be a
+	 * multiple of the number of channels.
 	 */
+	minblksize = lcm(128, param->channels);
+	blksize = rounddown(blksize, minblksize);
+	if (blksize < minblksize)
+		blksize = minblksize;
 
-	/* Make sure there are enough BDL descriptors */
-	bufsize = st->st_data.dma_size;
-	if (bufsize > HDAUDIO_BDL_MAX * blksize) {
-		blksize = bufsize / HDAUDIO_BDL_MAX;
-	}
 	return blksize;
 }
 



CVS commit: [netbsd-9] src/sys/dev/hdaudio

2020-01-26 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Jan 27 07:10:17 UTC 2020

Modified Files:
src/sys/dev/hdaudio [netbsd-9]: hdaudiodevs.h hdaudiodevs_data.h

Log Message:
regen (for ticket #658)


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.26.1 src/sys/dev/hdaudio/hdaudiodevs.h \
src/sys/dev/hdaudio/hdaudiodevs_data.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/hdaudio/hdaudiodevs.h
diff -u src/sys/dev/hdaudio/hdaudiodevs.h:1.2 src/sys/dev/hdaudio/hdaudiodevs.h:1.2.26.1
--- src/sys/dev/hdaudio/hdaudiodevs.h:1.2	Sat May 30 14:12:57 2015
+++ src/sys/dev/hdaudio/hdaudiodevs.h	Mon Jan 27 07:10:17 2020
@@ -1,10 +1,10 @@
-/*	$NetBSD: hdaudiodevs.h,v 1.2 2015/05/30 14:12:57 jmcneill Exp $	*/
+/*	$NetBSD: hdaudiodevs.h,v 1.2.26.1 2020/01/27 07:10:17 martin Exp $	*/
 
 /*
- * THIS FILE AUTOMATICALLY GENERATED.  DO NOT EDIT.
+ * THIS FILE IS AUTOMATICALLY GENERATED.  DO NOT EDIT.
  *
  * generated from:
- *	NetBSD: hdaudiodevs,v 1.2 2015/05/30 14:12:42 jmcneill Exp
+ *	NetBSD: hdaudiodevs,v 1.2.26.1 2020/01/27 07:09:31 martin Exp
  */
 
 /*
@@ -35,16 +35,21 @@
  * SUCH DAMAGE.
  */
 
-/* The following is duplicated from pci except SIGMATEL* and CMEDIA */
-#define	HDAUDIO_VENDOR_ATI	0x1002		/* ATI Technologies */
+/*
+ * Try to keep vendor and product names 15 characters or less. They are
+ * used by the AUDIO_GETDEV ioctl and copied into buffers that are
+ * constrained by MAX_AUDIO_DEV_LEN (sys/audioio.h).
+ */
+
+#define	HDAUDIO_VENDOR_ATI	0x1002		/* ATI */
 #define	HDAUDIO_VENDOR_NVIDIA	0x10de		/* NVIDIA */
-#define	HDAUDIO_VENDOR_REALTEK	0x10ec		/* Realtek Semiconductor */
-#define	HDAUDIO_VENDOR_VIATECH	0x1106		/* VIA TeCHnologies */
+#define	HDAUDIO_VENDOR_REALTEK	0x10ec		/* Realtek */
+#define	HDAUDIO_VENDOR_VIATECH	0x1106		/* VIA */
 #define	HDAUDIO_VENDOR_SIGMATEL2	0x111d		/* Sigmatel */
 #define	HDAUDIO_VENDOR_ANALOG	0x11d4		/* Analog Devices */
-#define	HDAUDIO_VENDOR_CONEXANT	0x14f1		/* Conexant Systems */
+#define	HDAUDIO_VENDOR_CONEXANT	0x14f1		/* Conexant */
 #define	HDAUDIO_VENDOR_VMWARE	0x15ad		/* VMware */
-#define	HDAUDIO_VENDOR_CMEDIA	0x434d		/* C-Media Electronics */
+#define	HDAUDIO_VENDOR_CMEDIA	0x434d		/* C-Media */
 #define	HDAUDIO_VENDOR_INTEL	0x8086		/* Intel */
 #define	HDAUDIO_VENDOR_SIGMATEL	0x8384		/* Sigmatel */
 
Index: src/sys/dev/hdaudio/hdaudiodevs_data.h
diff -u src/sys/dev/hdaudio/hdaudiodevs_data.h:1.2 src/sys/dev/hdaudio/hdaudiodevs_data.h:1.2.26.1
--- src/sys/dev/hdaudio/hdaudiodevs_data.h:1.2	Sat May 30 14:12:57 2015
+++ src/sys/dev/hdaudio/hdaudiodevs_data.h	Mon Jan 27 07:10:17 2020
@@ -1,10 +1,10 @@
-/*	$NetBSD: hdaudiodevs_data.h,v 1.2 2015/05/30 14:12:57 jmcneill Exp $	*/
+/*	$NetBSD: hdaudiodevs_data.h,v 1.2.26.1 2020/01/27 07:10:17 martin Exp $	*/
 
 /*
- * THIS FILE AUTOMATICALLY GENERATED.  DO NOT EDIT.
+ * THIS FILE IS AUTOMATICALLY GENERATED.  DO NOT EDIT.
  *
  * generated from:
- *	NetBSD: hdaudiodevs,v 1.2 2015/05/30 14:12:42 jmcneill Exp
+ *	NetBSD: hdaudiodevs,v 1.2.26.1 2020/01/27 07:09:31 martin Exp
  */
 
 /*
@@ -36,551 +36,546 @@
  */
 
 static const uint16_t hdaudio_vendors[] = {
-	HDAUDIO_VENDOR_ATI, 1, 5, 0,
-	HDAUDIO_VENDOR_NVIDIA, 18, 0,
-	HDAUDIO_VENDOR_REALTEK, 25, 33, 0,
-	HDAUDIO_VENDOR_VIATECH, 47, 51, 0,
-	HDAUDIO_VENDOR_SIGMATEL2, 64, 0,
-	HDAUDIO_VENDOR_ANALOG, 73, 80, 0,
-	HDAUDIO_VENDOR_CONEXANT, 88, 97, 0,
-	HDAUDIO_VENDOR_VMWARE, 105, 0,
-	HDAUDIO_VENDOR_CMEDIA, 112, 120, 0,
-	HDAUDIO_VENDOR_INTEL, 132, 0,
-	HDAUDIO_VENDOR_SIGMATEL, 64, 0,
+	HDAUDIO_VENDOR_ATI, 1, 0,
+	HDAUDIO_VENDOR_NVIDIA, 5, 0,
+	HDAUDIO_VENDOR_REALTEK, 12, 0,
+	HDAUDIO_VENDOR_VIATECH, 20, 0,
+	HDAUDIO_VENDOR_SIGMATEL2, 24, 0,
+	HDAUDIO_VENDOR_ANALOG, 33, 40, 0,
+	HDAUDIO_VENDOR_CONEXANT, 48, 0,
+	HDAUDIO_VENDOR_VMWARE, 57, 0,
+	HDAUDIO_VENDOR_CMEDIA, 64, 0,
+	HDAUDIO_VENDOR_INTEL, 72, 0,
+	HDAUDIO_VENDOR_SIGMATEL, 24, 0,
 };
 
 static const uint16_t hdaudio_products[] = {
 	HDAUDIO_VENDOR_ATI, HDAUDIO_PRODUCT_ATI_RS600_HDMI_1, 
-	138, 144, 0,
+	78, 84, 0,
 	HDAUDIO_VENDOR_ATI, HDAUDIO_PRODUCT_ATI_RS600_HDMI_2, 
-	138, 144, 0,
+	78, 84, 0,
 	HDAUDIO_VENDOR_ATI, HDAUDIO_PRODUCT_ATI_RS690_780_HDMI, 
-	149, 144, 0,
+	89, 84, 0,
 	HDAUDIO_VENDOR_ATI, HDAUDIO_PRODUCT_ATI_R6xx_HDMI, 
-	159, 144, 0,
+	99, 84, 0,
 	HDAUDIO_VENDOR_NVIDIA, HDAUDIO_PRODUCT_NVIDIA_MCP77_78_HDMI_2, 
-	164, 144, 0,
+	104, 84, 0,
 	HDAUDIO_VENDOR_NVIDIA, HDAUDIO_PRODUCT_NVIDIA_MCP77_78_HDMI_3, 
-	164, 144, 0,
+	104, 84, 0,
 	HDAUDIO_VENDOR_NVIDIA, HDAUDIO_PRODUCT_NVIDIA_MCP77_78_HDMI_5, 
-	164, 144, 0,
+	104, 84, 0,
 	HDAUDIO_VENDOR_NVIDIA, HDAUDIO_PRODUCT_NVIDIA_MCP77_78_HDMI_6, 
-	164, 144, 0,
+	104, 84, 0,
 	HDAUDIO_VENDOR_NVIDIA, 

CVS commit: [netbsd-9] src/sys/dev/hdaudio

2020-01-26 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Jan 27 07:09:31 UTC 2020

Modified Files:
src/sys/dev/hdaudio [netbsd-9]: hdaudiodevs

Log Message:
Pull up following revision(s) (requested by jmcneill in ticket #658):

sys/dev/hdaudio/hdaudiodevs: revision 1.3

Make sure that all vendor strings are shorter than 16 (MAX_AUDIO_DEV_LEN)
characters as the values are used in the AUDIO_GETDEV ioctl.
regen


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.26.1 src/sys/dev/hdaudio/hdaudiodevs

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/hdaudio/hdaudiodevs
diff -u src/sys/dev/hdaudio/hdaudiodevs:1.2 src/sys/dev/hdaudio/hdaudiodevs:1.2.26.1
--- src/sys/dev/hdaudio/hdaudiodevs:1.2	Sat May 30 14:12:42 2015
+++ src/sys/dev/hdaudio/hdaudiodevs	Mon Jan 27 07:09:31 2020
@@ -1,4 +1,4 @@
-$NetBSD: hdaudiodevs,v 1.2 2015/05/30 14:12:42 jmcneill Exp $
+$NetBSD: hdaudiodevs,v 1.2.26.1 2020/01/27 07:09:31 martin Exp $
 
 /*
  * Copyright (c) 2010 Jared D. McNeill 
@@ -28,16 +28,21 @@ $NetBSD: hdaudiodevs,v 1.2 2015/05/30 14
  * SUCH DAMAGE.
  */
 
-/* The following is duplicated from pci except SIGMATEL* and CMEDIA */
-vendor	ATI		0x1002	ATI Technologies
+/*
+ * Try to keep vendor and product names 15 characters or less. They are
+ * used by the AUDIO_GETDEV ioctl and copied into buffers that are
+ * constrained by MAX_AUDIO_DEV_LEN (sys/audioio.h).
+ */
+
+vendor	ATI		0x1002	ATI
 vendor	NVIDIA		0x10de	NVIDIA
-vendor	REALTEK		0x10ec	Realtek Semiconductor
-vendor	VIATECH		0x1106	VIA TeCHnologies
+vendor	REALTEK		0x10ec	Realtek
+vendor	VIATECH		0x1106	VIA
 vendor	SIGMATEL2	0x111d	Sigmatel
 vendor	ANALOG		0x11d4	Analog Devices
-vendor	CONEXANT	0x14f1	Conexant Systems
+vendor	CONEXANT	0x14f1	Conexant
 vendor	VMWARE		0x15ad	VMware
-vendor	CMEDIA		0x434d	C-Media Electronics
+vendor	CMEDIA		0x434d	C-Media
 vendor	INTEL		0x8086	Intel
 vendor	SIGMATEL	0x8384	Sigmatel