1d5ac70f0Sopenharmony_ci#
2d5ac70f0Sopenharmony_ci# dsnoop
3d5ac70f0Sopenharmony_ci#
4d5ac70f0Sopenharmony_ci
5d5ac70f0Sopenharmony_cipcm.!dsnoop {
6d5ac70f0Sopenharmony_ci	@args [ CARD DEV SUBDEV FORMAT RATE ]
7d5ac70f0Sopenharmony_ci	@args.CARD {
8d5ac70f0Sopenharmony_ci		type string
9d5ac70f0Sopenharmony_ci		default {
10d5ac70f0Sopenharmony_ci			@func refer
11d5ac70f0Sopenharmony_ci			name defaults.pcm.dsnoop.card
12d5ac70f0Sopenharmony_ci		}
13d5ac70f0Sopenharmony_ci	}
14d5ac70f0Sopenharmony_ci	@args.DEV {
15d5ac70f0Sopenharmony_ci		type integer
16d5ac70f0Sopenharmony_ci		default {
17d5ac70f0Sopenharmony_ci			@func refer
18d5ac70f0Sopenharmony_ci			name defaults.pcm.dsnoop.device
19d5ac70f0Sopenharmony_ci		}
20d5ac70f0Sopenharmony_ci	}
21d5ac70f0Sopenharmony_ci	@args.SUBDEV {
22d5ac70f0Sopenharmony_ci		type integer
23d5ac70f0Sopenharmony_ci		default 0
24d5ac70f0Sopenharmony_ci	}
25d5ac70f0Sopenharmony_ci	@args.FORMAT {
26d5ac70f0Sopenharmony_ci		type string
27d5ac70f0Sopenharmony_ci		default {
28d5ac70f0Sopenharmony_ci			@func refer
29d5ac70f0Sopenharmony_ci			name defaults.pcm.dmix.format
30d5ac70f0Sopenharmony_ci		}
31d5ac70f0Sopenharmony_ci	}
32d5ac70f0Sopenharmony_ci	@args.RATE {
33d5ac70f0Sopenharmony_ci		type integer
34d5ac70f0Sopenharmony_ci		default {
35d5ac70f0Sopenharmony_ci			@func refer
36d5ac70f0Sopenharmony_ci			name defaults.pcm.dmix.rate
37d5ac70f0Sopenharmony_ci		}
38d5ac70f0Sopenharmony_ci	}
39d5ac70f0Sopenharmony_ci	type dsnoop
40d5ac70f0Sopenharmony_ci	ipc_key {
41d5ac70f0Sopenharmony_ci		@func refer
42d5ac70f0Sopenharmony_ci		name defaults.pcm.ipc_key
43d5ac70f0Sopenharmony_ci	}	
44d5ac70f0Sopenharmony_ci	ipc_gid {
45d5ac70f0Sopenharmony_ci		@func refer
46d5ac70f0Sopenharmony_ci		name defaults.pcm.ipc_gid
47d5ac70f0Sopenharmony_ci	}
48d5ac70f0Sopenharmony_ci	ipc_perm {
49d5ac70f0Sopenharmony_ci		@func refer
50d5ac70f0Sopenharmony_ci		name defaults.pcm.ipc_perm
51d5ac70f0Sopenharmony_ci	}
52d5ac70f0Sopenharmony_ci	tstamp_type {
53d5ac70f0Sopenharmony_ci		@func refer
54d5ac70f0Sopenharmony_ci		name defaults.pcm.tstamp_type
55d5ac70f0Sopenharmony_ci	}
56d5ac70f0Sopenharmony_ci	slave {
57d5ac70f0Sopenharmony_ci		pcm {
58d5ac70f0Sopenharmony_ci			type hw
59d5ac70f0Sopenharmony_ci			card $CARD
60d5ac70f0Sopenharmony_ci			device $DEV
61d5ac70f0Sopenharmony_ci			subdevice $SUBDEV
62d5ac70f0Sopenharmony_ci		}
63d5ac70f0Sopenharmony_ci		format $FORMAT
64d5ac70f0Sopenharmony_ci		rate $RATE
65d5ac70f0Sopenharmony_ci		period_size {
66d5ac70f0Sopenharmony_ci			@func refer
67d5ac70f0Sopenharmony_ci			name {
68d5ac70f0Sopenharmony_ci				@func concat
69d5ac70f0Sopenharmony_ci				strings [
70d5ac70f0Sopenharmony_ci					"cards."
71d5ac70f0Sopenharmony_ci					{
72d5ac70f0Sopenharmony_ci						@func card_id
73d5ac70f0Sopenharmony_ci						card $CARD
74d5ac70f0Sopenharmony_ci					}
75d5ac70f0Sopenharmony_ci					".pcm.dsnoop.period_size"
76d5ac70f0Sopenharmony_ci				]
77d5ac70f0Sopenharmony_ci			}
78d5ac70f0Sopenharmony_ci			default 1024
79d5ac70f0Sopenharmony_ci		}		
80d5ac70f0Sopenharmony_ci		period_time {
81d5ac70f0Sopenharmony_ci			@func refer
82d5ac70f0Sopenharmony_ci			name {
83d5ac70f0Sopenharmony_ci				@func concat
84d5ac70f0Sopenharmony_ci				strings [
85d5ac70f0Sopenharmony_ci					"cards."
86d5ac70f0Sopenharmony_ci					{
87d5ac70f0Sopenharmony_ci						@func card_id
88d5ac70f0Sopenharmony_ci						card $CARD
89d5ac70f0Sopenharmony_ci					}
90d5ac70f0Sopenharmony_ci					".pcm.dsnoop.period_time"
91d5ac70f0Sopenharmony_ci				]
92d5ac70f0Sopenharmony_ci			}
93d5ac70f0Sopenharmony_ci			default -1
94d5ac70f0Sopenharmony_ci		}		
95d5ac70f0Sopenharmony_ci		periods {
96d5ac70f0Sopenharmony_ci			@func refer
97d5ac70f0Sopenharmony_ci			name {
98d5ac70f0Sopenharmony_ci				@func concat
99d5ac70f0Sopenharmony_ci				strings [
100d5ac70f0Sopenharmony_ci					"cards."
101d5ac70f0Sopenharmony_ci					{
102d5ac70f0Sopenharmony_ci						@func card_id
103d5ac70f0Sopenharmony_ci						card $CARD
104d5ac70f0Sopenharmony_ci					}
105d5ac70f0Sopenharmony_ci					".pcm.dsnoop.periods"
106d5ac70f0Sopenharmony_ci				]
107d5ac70f0Sopenharmony_ci			}
108d5ac70f0Sopenharmony_ci			default 16
109d5ac70f0Sopenharmony_ci		}
110d5ac70f0Sopenharmony_ci	}
111d5ac70f0Sopenharmony_ci	hint {
112d5ac70f0Sopenharmony_ci		show {
113d5ac70f0Sopenharmony_ci			@func refer
114d5ac70f0Sopenharmony_ci			name defaults.namehint.extended
115d5ac70f0Sopenharmony_ci		}
116d5ac70f0Sopenharmony_ci		description "Direct sample snooping device"
117d5ac70f0Sopenharmony_ci		device_input $DEV
118d5ac70f0Sopenharmony_ci	}
119d5ac70f0Sopenharmony_ci}
120