mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 12:35:52 +02:00
Merge branch 'asoc-5.4' into asoc-linus
This commit is contained in:
commit
b830cd3253
|
|
@ -3270,6 +3270,9 @@ static void rt5645_jack_detect_work(struct work_struct *work)
|
|||
snd_soc_jack_report(rt5645->mic_jack,
|
||||
report, SND_JACK_MICROPHONE);
|
||||
return;
|
||||
case 4:
|
||||
val = snd_soc_component_read32(rt5645->component, RT5645_A_JD_CTRL1) & 0x0020;
|
||||
break;
|
||||
default: /* read rt5645 jd1_1 status */
|
||||
val = snd_soc_component_read32(rt5645->component, RT5645_INT_IRQ_ST) & 0x1000;
|
||||
break;
|
||||
|
|
@ -3603,7 +3606,7 @@ static const struct rt5645_platform_data intel_braswell_platform_data = {
|
|||
static const struct rt5645_platform_data buddy_platform_data = {
|
||||
.dmic1_data_pin = RT5645_DMIC_DATA_GPIO5,
|
||||
.dmic2_data_pin = RT5645_DMIC_DATA_IN2P,
|
||||
.jd_mode = 3,
|
||||
.jd_mode = 4,
|
||||
.level_trigger_irq = true,
|
||||
};
|
||||
|
||||
|
|
@ -3999,6 +4002,7 @@ static int rt5645_i2c_probe(struct i2c_client *i2c,
|
|||
RT5645_JD1_MODE_1);
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
regmap_update_bits(rt5645->regmap, RT5645_A_JD_CTRL1,
|
||||
RT5645_JD1_MODE_MASK,
|
||||
RT5645_JD1_MODE_2);
|
||||
|
|
|
|||
|
|
@ -1002,6 +1002,7 @@ static int rt5682_set_jack_detect(struct snd_soc_component *component,
|
|||
RT5682_JD1_EN_MASK, RT5682_JD1_DIS);
|
||||
regmap_update_bits(rt5682->regmap, RT5682_RC_CLK_CTRL,
|
||||
RT5682_POW_JDH | RT5682_POW_JDL, 0);
|
||||
cancel_delayed_work_sync(&rt5682->jack_detect_work);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -1450,28 +1451,6 @@ static const struct snd_kcontrol_new hpor_switch =
|
|||
SOC_DAPM_SINGLE_AUTODISABLE("Switch", RT5682_HP_CTRL_1,
|
||||
RT5682_R_MUTE_SFT, 1, 1);
|
||||
|
||||
static int rt5682_charge_pump_event(struct snd_soc_dapm_widget *w,
|
||||
struct snd_kcontrol *kcontrol, int event)
|
||||
{
|
||||
struct snd_soc_component *component =
|
||||
snd_soc_dapm_to_component(w->dapm);
|
||||
|
||||
switch (event) {
|
||||
case SND_SOC_DAPM_PRE_PMU:
|
||||
snd_soc_component_update_bits(component,
|
||||
RT5682_HP_CHARGE_PUMP_1, RT5682_PM_HP_MASK, RT5682_PM_HP_HV);
|
||||
break;
|
||||
case SND_SOC_DAPM_POST_PMD:
|
||||
snd_soc_component_update_bits(component,
|
||||
RT5682_HP_CHARGE_PUMP_1, RT5682_PM_HP_MASK, RT5682_PM_HP_LV);
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rt5682_hp_event(struct snd_soc_dapm_widget *w,
|
||||
struct snd_kcontrol *kcontrol, int event)
|
||||
{
|
||||
|
|
@ -1755,8 +1734,7 @@ static const struct snd_soc_dapm_widget rt5682_dapm_widgets[] = {
|
|||
SND_SOC_DAPM_SUPPLY("HP Amp R", RT5682_PWR_ANLG_1,
|
||||
RT5682_PWR_HA_R_BIT, 0, NULL, 0),
|
||||
SND_SOC_DAPM_SUPPLY_S("Charge Pump", 1, RT5682_DEPOP_1,
|
||||
RT5682_PUMP_EN_SFT, 0, rt5682_charge_pump_event,
|
||||
SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD),
|
||||
RT5682_PUMP_EN_SFT, 0, NULL, 0),
|
||||
SND_SOC_DAPM_SUPPLY_S("Capless", 2, RT5682_DEPOP_1,
|
||||
RT5682_CAPLESS_EN_SFT, 0, NULL, 0),
|
||||
|
||||
|
|
@ -2654,6 +2632,8 @@ static int rt5682_i2c_probe(struct i2c_client *i2c,
|
|||
RT5682_HPA_CP_BIAS_CTRL_MASK, RT5682_HPA_CP_BIAS_3UA);
|
||||
regmap_update_bits(rt5682->regmap, RT5682_CHARGE_PUMP_1,
|
||||
RT5682_CP_CLK_HP_MASK, RT5682_CP_CLK_HP_300KHZ);
|
||||
regmap_update_bits(rt5682->regmap, RT5682_HP_CHARGE_PUMP_1,
|
||||
RT5682_PM_HP_MASK, RT5682_PM_HP_HV);
|
||||
|
||||
INIT_DELAYED_WORK(&rt5682->jack_detect_work,
|
||||
rt5682_jack_detect_handler);
|
||||
|
|
|
|||
|
|
@ -1917,6 +1917,7 @@ static int wm8904_set_bias_level(struct snd_soc_component *component,
|
|||
snd_soc_component_update_bits(component, WM8904_BIAS_CONTROL_0,
|
||||
WM8904_BIAS_ENA, 0);
|
||||
|
||||
snd_soc_component_write(component, WM8904_SW_RESET_AND_ID, 0);
|
||||
regcache_cache_only(wm8904->regmap, true);
|
||||
regcache_mark_dirty(wm8904->regmap);
|
||||
|
||||
|
|
|
|||
|
|
@ -82,10 +82,9 @@ void snd_soc_jack_report(struct snd_soc_jack *jack, int status, int mask)
|
|||
unsigned int sync = 0;
|
||||
int enable;
|
||||
|
||||
trace_snd_soc_jack_report(jack, mask, status);
|
||||
|
||||
if (!jack)
|
||||
return;
|
||||
trace_snd_soc_jack_report(jack, mask, status);
|
||||
|
||||
dapm = &jack->card->dapm;
|
||||
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ static const struct sof_dev_desc cnl_desc = {
|
|||
|
||||
#if IS_ENABLED(CONFIG_SND_SOC_SOF_COFFEELAKE)
|
||||
static const struct sof_dev_desc cfl_desc = {
|
||||
.machines = snd_soc_acpi_intel_cnl_machines,
|
||||
.machines = snd_soc_acpi_intel_cfl_machines,
|
||||
.resindex_lpe_base = 0,
|
||||
.resindex_pcicfg_base = -1,
|
||||
.resindex_imr_base = -1,
|
||||
|
|
@ -122,7 +122,7 @@ static const struct sof_dev_desc cfl_desc = {
|
|||
.chip_info = &cnl_chip_info,
|
||||
.default_fw_path = "intel/sof",
|
||||
.default_tplg_path = "intel/sof-tplg",
|
||||
.nocodec_fw_filename = "sof-cnl.ri",
|
||||
.nocodec_fw_filename = "sof-cfl.ri",
|
||||
.nocodec_tplg_filename = "sof-cnl-nocodec.tplg",
|
||||
.ops = &sof_cnl_ops,
|
||||
.arch_ops = &sof_xtensa_arch_ops
|
||||
|
|
@ -133,7 +133,7 @@ static const struct sof_dev_desc cfl_desc = {
|
|||
IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_H)
|
||||
|
||||
static const struct sof_dev_desc cml_desc = {
|
||||
.machines = snd_soc_acpi_intel_cnl_machines,
|
||||
.machines = snd_soc_acpi_intel_cml_machines,
|
||||
.resindex_lpe_base = 0,
|
||||
.resindex_pcicfg_base = -1,
|
||||
.resindex_imr_base = -1,
|
||||
|
|
@ -142,7 +142,7 @@ static const struct sof_dev_desc cml_desc = {
|
|||
.chip_info = &cnl_chip_info,
|
||||
.default_fw_path = "intel/sof",
|
||||
.default_tplg_path = "intel/sof-tplg",
|
||||
.nocodec_fw_filename = "sof-cnl.ri",
|
||||
.nocodec_fw_filename = "sof-cml.ri",
|
||||
.nocodec_tplg_filename = "sof-cnl-nocodec.tplg",
|
||||
.ops = &sof_cnl_ops,
|
||||
.arch_ops = &sof_xtensa_arch_ops
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user