Hi,

I can certainly rewrite coef_idx to use coefef_idx (I think that's a
good idea), but for the comments, I know as little as you do about these
verbs.

Kailang, is it possible for you to add more comments to your patch so it
can be applied upstream?

Thanks,
  David

On 11/07/2013 02:22 PM, Takashi Iwai wrote:
> At Thu,  7 Nov 2013 14:08:41 +0100,
> David Henningsson wrote:
>>
>> From: Kailang Yang <kail...@realtek.com>
>>
>> The new codec ALC255 needs its own set of verbs to enable
>> multifunction jacks.
>>
>> (Context and whitespace adjustments by David Henningsson)
>>
>> BugLink: https://bugs.launchpad.net/bugs/1248949
>> Tested-by: Doro Wu <doro...@canonical.com>
>> Signed-off-by: David Henningsson <david.hennings...@canonical.com>
>> ---
>>  sound/pci/hda/patch_realtek.c |   91 
>> +++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 91 insertions(+)
>>
>> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
>> index daf7205..ceadd65 100644
>> --- a/sound/pci/hda/patch_realtek.c
>> +++ b/sound/pci/hda/patch_realtek.c
>> @@ -588,6 +588,18 @@ static int alc_read_coef_idx(struct hda_codec *codec,
>>      return val;
>>  }
>>  
>> +static int alc_read_coefex_idx(struct hda_codec *codec,
>> +                                    hda_nid_t nid,
>> +                                    unsigned int coef_idx)
>> +{
>> +    unsigned int val;
>> +    snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_COEF_INDEX,
>> +                        coef_idx);
>> +    val = snd_hda_codec_read(codec, nid, 0,
>> +                             AC_VERB_GET_PROC_COEF, 0);
>> +    return val;
>> +}
> 
> Rewrite alc_read_coef_idx() using this new function, too, e.g.
> 
> #define alc_write_coef_idx(codec, idx, val) \
>       alc_read_coefex_idx(codec, 0x20, idx, val)
> 
>>  static void alc_write_coef_idx(struct hda_codec *codec, unsigned int 
>> coef_idx,
>>                                                      unsigned int coef_val)
>>  {
>> @@ -597,6 +609,15 @@ static void alc_write_coef_idx(struct hda_codec *codec, 
>> unsigned int coef_idx,
>>                          coef_val);
>>  }
>>  
>> +static void alc_write_coefex_idx(struct hda_codec *codec, hda_nid_t nid,
>> +                             unsigned int coef_idx, unsigned int coef_val)
>> +{
>> +    snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_COEF_INDEX,
>> +                        coef_idx);
>> +    snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PROC_COEF,
>> +                        coef_val);
>> +}
> 
> Ditto.
> 
>> +
>>  /* a special bypass for COEF 0; read the cached value at the second time */
>>  static unsigned int alc_get_coef0(struct hda_codec *codec)
>>  {
>> @@ -3109,6 +3130,14 @@ static void alc_headset_mode_unplugged(struct 
>> hda_codec *codec)
>>      int val;
>>  
>>      switch (codec->vendor_id) {
>> +    case 0x10ec0255:
>> +            alc_write_coef_idx(codec, 0x1b, 0x0c0b);
>> +            alc_write_coef_idx(codec, 0x45, 0xd089);
>> +            val = alc_read_coefex_idx(codec, 0x57, 0x05);
>> +            alc_write_coefex_idx(codec, 0x57, 0x05, val & ~(1<<14));
>> +            alc_write_coef_idx(codec, 0x06, 0x6104);
>> +            alc_write_coefex_idx(codec, 0x57, 0x03, 0x8aa6);
> 
> Try to comment what these actually do.  Not necessarily too detailed,
> but we need to have some ideas.
> 
> I regret to have merged the former Realtek headset patches that have
> lots of such verbs without certain comments.
> 
> 
> thanks,
> 
> Takashi
> 


-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic


** Tags added: blocks-hwcert-enablement

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1248949

Title:
  Headset jack support for ALC255

Status in HWE Next Project:
  New
Status in “linux” package in Ubuntu:
  In Progress

Bug description:
  This bug is for tracking purposes, please do not triage.

To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/1248949/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to