Re: Smart 5.1 function not working on VIA VT1708S with *three* jacks on mainboard

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello, I have patched the vt1708s_auto_fill_dac_nids function instead. I
have left values 0x11 and 0x12 for surround and cen/lfe, althrough it
might be 0x11 and 0x24 for vt1708S as originally specified in
vt1708s_auto_fill_dac_nids switch statement. The whole function looks
like this:

  static int vt1708S_auto_fill_dac_nids(struct via_spec *spec,
  				     const struct auto_pin_cfg *cfg)
  {
  	int i;
  	hda_nid_t nid;

  	spec->multiout.num_dacs = cfg->line_outs;

  	spec->multiout.dac_nids = spec->private_dac_nids;

  	for (i = 0; i < 4; i++) {
  		nid = cfg->line_out_pins[i];
  		if (nid) {
  			/* config dac list */
  			switch (i) {
  			case AUTO_SEQ_FRONT:
  				spec->multiout.dac_nids[i] = 0x10;
  				break;
  			case AUTO_SEQ_CENLFE:
  				spec->multiout.dac_nids[i] = 0x24;
  				break;
  			case AUTO_SEQ_SURROUND:
  				printk(KERN_INFO "***PATCH CREATING SURROUND DAC_NID");
  				spec->multiout.dac_nids[i] = 0x11;
  				break;
  			case AUTO_SEQ_SIDE:
  				spec->multiout.dac_nids[i] = 0x25;
  				break;
  			}
  		}
  	}
  	
  	if (cfg->line_outs == 1)
  	{
  		printk(KERN_INFO "***PATCH 08/07/10");
  		spec->multiout.num_dacs = 3;
  		spec->multiout.dac_nids[AUTO_SEQ_SURROUND] = 0x11;
  		spec->multiout.dac_nids[AUTO_SEQ_CENLFE] = 0x12;
	}

  	return 0;
  }

  The patch is in effect since the following is visible in dmesg after the
  driver is loaded:

  ***PATCH 08/07/10
  ***PATCH CREATING Surround CONTROL
  ***PATCH HDA max_channels = 6
  ***PATCH playback stream channels_max = 6
  Smart 5.1 Patch installed NEW
  ***PATCH Setting 64 mode [out=64] for pin index 0 nid 26
  ***PATCH Setting 64 mode [out=64] for pin index 1 nid 30
  ***PATCH Setting 64 mode [out=64] for pin index 2 nid 27

  printk(KERN_INFO "***PATCH CREATING SURROUND DAC_NID"); This line does
  not print since cfg->line_out_pins[AUTO_SEQ_SURROUND] is not filled at
  that time, but we fix it in the new if block.

  Surround still does not work (still the same, the rear speakers are
  soundless).

  On Thu, 08 Jul 2010 08:33:34 +0200, Clemens Ladisch <clemens@xxxxxxxxxx>
  wrote:

>> _auto_fill_dac_nids
>


-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux