[alsa-devel] [PATCH v3 6/9] ALSA: hda/ca0132: add alt_select_in/out for R3Di + SBZ

Takashi Sakamoto o-takashi at sakamocchi.jp
Mon May 7 05:01:38 CEST 2018


Hi,

On May 6 2018 04:03, Connor McAdams wrote:
> Add functions ca0132_alt_select_out and ca0132_alt_select_in for
> switching outputs and inputs for r3di and sbz. Also, add enumerated
> controls for selecting output and input source.
> 
> Signed-off-by: Connor McAdams <conmanx360 at gmail.com>
> ---
>   sound/pci/hda/patch_ca0132.c | 597 +++++++++++++++++++++++++++++++++++++++++--
>   1 file changed, 572 insertions(+), 25 deletions(-)
> 
> diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
> index bb0feaa..36cc2a1 100644
> --- a/sound/pci/hda/patch_ca0132.c
> +++ b/sound/pci/hda/patch_ca0132.c
> @@ -480,6 +494,49 @@ static struct ct_voicefx_preset ca0132_voicefx_presets[] = {
>   	}
>   };
>   
> +/* DSP command sequences for ca0132_alt_select_out */
> +#define ALT_OUT_SET_MAX_COMMANDS 9 /* Max number of commands in sequence */
> +struct ca0132_alt_out_set {
> +	char *name; /*preset name*/
> +	unsigned char commands;
> +	unsigned int mids[ALT_OUT_SET_MAX_COMMANDS];
> +	unsigned int reqs[ALT_OUT_SET_MAX_COMMANDS];
> +	unsigned int vals[ALT_OUT_SET_MAX_COMMANDS];
> +};
> +
> +static struct ca0132_alt_out_set alt_out_presets[] = {
> +	{ .name = "Line Out",
> +	  .commands = 7,
> +	  .mids = { 0x96, 0x96, 0x96, 0x8F,
> +		    0x96, 0x96, 0x96 },
> +	  .reqs = { 0x19, 0x17, 0x18, 0x01,
> +		    0x1F, 0x15, 0x3A },
> +	  .vals = { 0x3F000000, 0x42A00000, 0x00000000,
> +		    0x00000000, 0x00000000, 0x00000000,
> +		    0x00000000 }
> +	},
> +	{ .name = "Headphone",
> +	  .commands = 7,
> +	  .mids = { 0x96, 0x96, 0x96, 0x8F,
> +		    0x96, 0x96, 0x96 },
> +	  .reqs = { 0x19, 0x17, 0x18, 0x01,
> +		    0x1F, 0x15, 0x3A },
> +	  .vals = { 0x3F000000, 0x42A00000, 0x00000000,
> +		    0x00000000, 0x00000000, 0x00000000,
> +		    0x00000000 }
> +	},
> +	{ .name = "Surround",
> +	  .commands = 8,
> +	  .mids = { 0x96, 0x8F, 0x96, 0x96,
> +		    0x96, 0x96, 0x96, 0x96 },
> +	  .reqs = { 0x18, 0x01, 0x1F, 0x15,
> +		    0x3A, 0x1A, 0x1B, 0x1C },
> +	  .vals = { 0x00000000, 0x00000000, 0x00000000,
> +		    0x00000000, 0x00000000, 0x00000000,
> +		    0x00000000, 0x00000000 }
> +	}
> +};
> +

It's better to add 'const' qualifier.


Regards

Takashi Sakamoto


More information about the Alsa-devel mailing list