This file is indexed.

/usr/share/alsa/cards/CMI8338-SWIEC.conf is in libasound2 1.0.25-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#
# Configuration for the CMI8338/8738 chip (w/o multi-channel support)
# using software IEC958 subframe conversion
#

<confdir:pcm/front.conf>

CMI8338-SWIEC.pcm.front.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type hw
	card $CARD
}	

# default with dmix/dsnoop
CMI8338-SWIEC.pcm.default {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type asym
	playback.pcm {
		type plug
		slave.pcm {
			@func concat
			strings [ "dmix:" $CARD ]
		}
	}
	capture.pcm {
		type plug
		slave.pcm {
			@func concat
			strings [ "dsnoop:" $CARD ]
		}
	}
}

<confdir:pcm/rear.conf>

# 2nd DAC
# FIXME: we need a volume attenuator for rear channel.
CMI8338-SWIEC.pcm.rear.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type hw
	card $CARD
	device 1
}

<confdir:pcm/surround40.conf>

# for the old CM8738 with 2nd DAC for rear
CMI8338-SWIEC.pcm.surround40.0 {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type multi
	master 1
	slaves [
		{
			pcm {
				@func concat
				strings [
					"cards.CMI8338-SWIEC.pcm.front.0:CARD=" $CARD
				]
			}
			channels 2
		}
		{
			pcm {
				@func concat
				strings [
					"cards.CMI8338-SWIEC.pcm.rear.0:CARD=" $CARD
				]
			}
			channels 2
		}
	]
	bindings [
		{ slave 0 channel 0 }
		{ slave 0 channel 1 }
		{ slave 1 channel 0 }
		{ slave 1 channel 1 }
	]
}

<confdir:pcm/iec958.conf>

CMI8338-SWIEC.pcm.iec958.0 {
	@args [ CARD AES0 AES1 AES2 AES3 ]
	@args.CARD {
		type string
	}
	@args.AES0 {
		type integer
	}
	@args.AES1 {
		type integer
	}
	@args.AES2 {
		type integer
	}
	@args.AES3 {
		type integer
	}
	type asym
	playback.pcm {
		type iec958
		slave.pcm {
			type hw
			card $CARD
			device 2
		}
		status [ $AES0 $AES1 $AES2 $AES3 ]
		preamble.z 3
		preamble.y 5
		preamble.x 9
	}
	capture.pcm {
		type hw
		card $CARD
		device 2
	}
}