View | Details | Raw Unified | Return to bug 210359 | Differences between
and this patch

Collapse All | Expand All

(-)a/sound/pci/hda/hda_generic.c (-4 / +8 lines)
Lines 1364-1379 static int try_assign_dacs(struct hda_codec *codec, int num_outs, Link Here
1364
		struct nid_path *path;
1364
		struct nid_path *path;
1365
		hda_nid_t pin = pins[i];
1365
		hda_nid_t pin = pins[i];
1366
1366
1367
		path = snd_hda_get_path_from_idx(codec, path_idx[i]);
1367
		if (!spec->obey_preferred_dacs) {
1368
		if (path) {
1368
			path = snd_hda_get_path_from_idx(codec, path_idx[i]);
1369
			badness += assign_out_path_ctls(codec, path);
1369
			if (path) {
1370
			continue;
1370
				badness += assign_out_path_ctls(codec, path);
1371
				continue;
1372
			}
1371
		}
1373
		}
1372
1374
1373
		dacs[i] = get_preferred_dac(codec, pin);
1375
		dacs[i] = get_preferred_dac(codec, pin);
1374
		if (dacs[i]) {
1376
		if (dacs[i]) {
1375
			if (is_dac_already_used(codec, dacs[i]))
1377
			if (is_dac_already_used(codec, dacs[i]))
1376
				badness += bad->shared_primary;
1378
				badness += bad->shared_primary;
1379
		} else if (spec->obey_preferred_dacs) {
1380
			badness += BAD_NO_PRIMARY_DAC;
1377
		}
1381
		}
1378
1382
1379
		if (!dacs[i])
1383
		if (!dacs[i])
(-)a/sound/pci/hda/hda_generic.h (-1 / +1 lines)
Lines 237-242 struct hda_gen_spec { Link Here
237
	unsigned int power_down_unused:1; /* power down unused widgets */
237
	unsigned int power_down_unused:1; /* power down unused widgets */
238
	unsigned int dac_min_mute:1; /* minimal = mute for DACs */
238
	unsigned int dac_min_mute:1; /* minimal = mute for DACs */
239
	unsigned int suppress_vmaster:1; /* don't create vmaster kctls */
239
	unsigned int suppress_vmaster:1; /* don't create vmaster kctls */
240
	unsigned int obey_preferred_dacs:1; /* obey preferred_dacs assignment */
240
241
241
	/* other internal flags */
242
	/* other internal flags */
242
	unsigned int no_analog:1; /* digital I/O only */
243
	unsigned int no_analog:1; /* digital I/O only */
243
- 

Return to bug 210359