mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-31 04:01:48 -04:00
Merge remote-tracking branch 'sm8350/lineage-20' into lineage-23.0
* sm8350/lineage-20: tcp: Fix compiler error due to type confusion fixup! net: usb: rtl8150: Fix frame padding Linux 5.4.302 Input: pegasus-notetaker - fix potential out-of-bounds access Input: remove third argument of usb_maxpacket() usb: deprecate the third argument of usb_maxpacket() ata: libata-scsi: Fix system suspend for a security locked drive fs/proc: fix uaf in proc_readdir_de() pmdomain: imx: Fix reference count leak in imx_gpc_remove pmdomain: arm: scmi: Fix genpd leak on provider registration failure net: netpoll: fix incorrect refcount handling causing incorrect cleanup net: qede: Initialize qede_ll_ops with designated initializer uio_hv_generic: Set event for all channels on the device net: ethernet: ti: netcp: Standardize knav_dma_open_channel to return NULL on error ALSA: usb-audio: fix uac2 clock source at terminal parser mm/page_alloc: fix hash table order logging in alloc_large_system_hash() kconfig/nconf: Initialize the default locale at startup kconfig/mconf: Initialize the default locale at startup vsock: Ignore signal/timeout on connect() if already established s390/ctcm: Fix double-kfree ... Conflicts: drivers/usb/gadget/configfs.c Change-Id: I23044bb8ce42b6bd65eb30d909c4dba15ae3f915
This commit is contained in:
commit
ad91405468
400 changed files with 2724 additions and 1715 deletions
|
|
@ -32,7 +32,7 @@
|
|||
* allows 5 times as large as IEC 61883-6 defines.
|
||||
* @CIP_HEADER_WITHOUT_EOH: Only for in-stream. CIP Header doesn't include
|
||||
* valid EOH.
|
||||
* @CIP_NO_HEADERS: a lack of headers in packets
|
||||
* @CIP_NO_HEADER: a lack of headers in packets
|
||||
* @CIP_UNALIGHED_DBC: Only for in-stream. The value of dbc is not alighed to
|
||||
* the value of current SYT_INTERVAL; e.g. initial value is not zero.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -316,7 +316,7 @@ polling_successful:
|
|||
/* low-level dsp access */
|
||||
int lx_dsp_get_version(struct lx6464es *chip, u32 *rdsp_version)
|
||||
{
|
||||
u16 ret;
|
||||
int ret;
|
||||
|
||||
mutex_lock(&chip->msg_lock);
|
||||
|
||||
|
|
@ -330,10 +330,10 @@ int lx_dsp_get_version(struct lx6464es *chip, u32 *rdsp_version)
|
|||
|
||||
int lx_dsp_get_clock_frequency(struct lx6464es *chip, u32 *rfreq)
|
||||
{
|
||||
u16 ret = 0;
|
||||
u32 freq_raw = 0;
|
||||
u32 freq = 0;
|
||||
u32 frequency = 0;
|
||||
int ret;
|
||||
|
||||
mutex_lock(&chip->msg_lock);
|
||||
|
||||
|
|
|
|||
|
|
@ -594,17 +594,17 @@ static int cs4271_component_probe(struct snd_soc_component *component)
|
|||
|
||||
ret = regcache_sync(cs4271->regmap);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
goto err_disable_regulator;
|
||||
|
||||
ret = regmap_update_bits(cs4271->regmap, CS4271_MODE2,
|
||||
CS4271_MODE2_PDN | CS4271_MODE2_CPEN,
|
||||
CS4271_MODE2_PDN | CS4271_MODE2_CPEN);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
goto err_disable_regulator;
|
||||
ret = regmap_update_bits(cs4271->regmap, CS4271_MODE2,
|
||||
CS4271_MODE2_PDN, 0);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
goto err_disable_regulator;
|
||||
/* Power-up sequence requires 85 uS */
|
||||
udelay(85);
|
||||
|
||||
|
|
@ -614,6 +614,10 @@ static int cs4271_component_probe(struct snd_soc_component *component)
|
|||
CS4271_MODE2_MUTECAEQUB);
|
||||
|
||||
return 0;
|
||||
|
||||
err_disable_regulator:
|
||||
regulator_bulk_disable(ARRAY_SIZE(cs4271->supplies), cs4271->supplies);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void cs4271_component_remove(struct snd_soc_component *component)
|
||||
|
|
|
|||
|
|
@ -1231,9 +1231,11 @@ static const struct snd_soc_dapm_widget max98091_dapm_widgets[] = {
|
|||
SND_SOC_DAPM_INPUT("DMIC4"),
|
||||
|
||||
SND_SOC_DAPM_SUPPLY("DMIC3_ENA", M98090_REG_DIGITAL_MIC_ENABLE,
|
||||
M98090_DIGMIC3_SHIFT, 0, NULL, 0),
|
||||
M98090_DIGMIC3_SHIFT, 0, max98090_shdn_event,
|
||||
SND_SOC_DAPM_POST_PMU),
|
||||
SND_SOC_DAPM_SUPPLY("DMIC4_ENA", M98090_REG_DIGITAL_MIC_ENABLE,
|
||||
M98090_DIGMIC4_SHIFT, 0, NULL, 0),
|
||||
M98090_DIGMIC4_SHIFT, 0, max98090_shdn_event,
|
||||
SND_SOC_DAPM_POST_PMU),
|
||||
};
|
||||
|
||||
static const struct snd_soc_dapm_route max98090_dapm_routes[] = {
|
||||
|
|
|
|||
|
|
@ -46,7 +46,8 @@ enum {
|
|||
BYT_CHT_ES8316_INTMIC_IN2_MAP,
|
||||
};
|
||||
|
||||
#define BYT_CHT_ES8316_MAP(quirk) ((quirk) & GENMASK(3, 0))
|
||||
#define BYT_CHT_ES8316_MAP_MASK GENMASK(3, 0)
|
||||
#define BYT_CHT_ES8316_MAP(quirk) ((quirk) & BYT_CHT_ES8316_MAP_MASK)
|
||||
#define BYT_CHT_ES8316_SSP0 BIT(16)
|
||||
#define BYT_CHT_ES8316_MONO_SPEAKER BIT(17)
|
||||
#define BYT_CHT_ES8316_JD_INVERTED BIT(18)
|
||||
|
|
@ -59,10 +60,23 @@ MODULE_PARM_DESC(quirk, "Board-specific quirk override");
|
|||
|
||||
static void log_quirks(struct device *dev)
|
||||
{
|
||||
if (BYT_CHT_ES8316_MAP(quirk) == BYT_CHT_ES8316_INTMIC_IN1_MAP)
|
||||
int map;
|
||||
|
||||
map = BYT_CHT_ES8316_MAP(quirk);
|
||||
switch (map) {
|
||||
case BYT_CHT_ES8316_INTMIC_IN1_MAP:
|
||||
dev_info(dev, "quirk IN1_MAP enabled");
|
||||
if (BYT_CHT_ES8316_MAP(quirk) == BYT_CHT_ES8316_INTMIC_IN2_MAP)
|
||||
break;
|
||||
case BYT_CHT_ES8316_INTMIC_IN2_MAP:
|
||||
dev_info(dev, "quirk IN2_MAP enabled");
|
||||
break;
|
||||
default:
|
||||
dev_warn_once(dev, "quirk sets invalid input map: 0x%x, default to INTMIC_IN1_MAP\n", map);
|
||||
quirk &= ~BYT_CHT_ES8316_MAP_MASK;
|
||||
quirk |= BYT_CHT_ES8316_INTMIC_IN1_MAP;
|
||||
break;
|
||||
}
|
||||
|
||||
if (quirk & BYT_CHT_ES8316_SSP0)
|
||||
dev_info(dev, "quirk SSP0 enabled");
|
||||
if (quirk & BYT_CHT_ES8316_MONO_SPEAKER)
|
||||
|
|
|
|||
|
|
@ -60,7 +60,8 @@ enum {
|
|||
BYT_RT5640_OVCD_SF_1P5 = (RT5640_OVCD_SF_1P5 << 13),
|
||||
};
|
||||
|
||||
#define BYT_RT5640_MAP(quirk) ((quirk) & GENMASK(3, 0))
|
||||
#define BYT_RT5640_MAP_MASK GENMASK(3, 0)
|
||||
#define BYT_RT5640_MAP(quirk) ((quirk) & BYT_RT5640_MAP_MASK)
|
||||
#define BYT_RT5640_JDSRC(quirk) (((quirk) & GENMASK(7, 4)) >> 4)
|
||||
#define BYT_RT5640_OVCD_TH(quirk) (((quirk) & GENMASK(12, 8)) >> 8)
|
||||
#define BYT_RT5640_OVCD_SF(quirk) (((quirk) & GENMASK(14, 13)) >> 13)
|
||||
|
|
@ -118,7 +119,9 @@ static void log_quirks(struct device *dev)
|
|||
dev_info(dev, "quirk IN3_MAP enabled\n");
|
||||
break;
|
||||
default:
|
||||
dev_err(dev, "quirk map 0x%x is not supported, microphone input will not work\n", map);
|
||||
dev_warn_once(dev, "quirk sets invalid input map: 0x%x, default to DMIC1_MAP\n", map);
|
||||
byt_rt5640_quirk &= ~BYT_RT5640_MAP_MASK;
|
||||
byt_rt5640_quirk |= BYT_RT5640_DMIC1_MAP;
|
||||
break;
|
||||
}
|
||||
if (BYT_RT5640_JDSRC(byt_rt5640_quirk)) {
|
||||
|
|
|
|||
|
|
@ -58,7 +58,8 @@ enum {
|
|||
BYT_RT5651_OVCD_SF_1P5 = (RT5651_OVCD_SF_1P5 << 13),
|
||||
};
|
||||
|
||||
#define BYT_RT5651_MAP(quirk) ((quirk) & GENMASK(3, 0))
|
||||
#define BYT_RT5651_MAP_MASK GENMASK(3, 0)
|
||||
#define BYT_RT5651_MAP(quirk) ((quirk) & BYT_RT5651_MAP_MASK)
|
||||
#define BYT_RT5651_JDSRC(quirk) (((quirk) & GENMASK(7, 4)) >> 4)
|
||||
#define BYT_RT5651_OVCD_TH(quirk) (((quirk) & GENMASK(12, 8)) >> 8)
|
||||
#define BYT_RT5651_OVCD_SF(quirk) (((quirk) & GENMASK(14, 13)) >> 13)
|
||||
|
|
@ -99,14 +100,29 @@ MODULE_PARM_DESC(quirk, "Board-specific quirk override");
|
|||
|
||||
static void log_quirks(struct device *dev)
|
||||
{
|
||||
if (BYT_RT5651_MAP(byt_rt5651_quirk) == BYT_RT5651_DMIC_MAP)
|
||||
int map;
|
||||
|
||||
map = BYT_RT5651_MAP(byt_rt5651_quirk);
|
||||
switch (map) {
|
||||
case BYT_RT5651_DMIC_MAP:
|
||||
dev_info(dev, "quirk DMIC_MAP enabled");
|
||||
if (BYT_RT5651_MAP(byt_rt5651_quirk) == BYT_RT5651_IN1_MAP)
|
||||
break;
|
||||
case BYT_RT5651_IN1_MAP:
|
||||
dev_info(dev, "quirk IN1_MAP enabled");
|
||||
if (BYT_RT5651_MAP(byt_rt5651_quirk) == BYT_RT5651_IN2_MAP)
|
||||
break;
|
||||
case BYT_RT5651_IN2_MAP:
|
||||
dev_info(dev, "quirk IN2_MAP enabled");
|
||||
if (BYT_RT5651_MAP(byt_rt5651_quirk) == BYT_RT5651_IN1_IN2_MAP)
|
||||
break;
|
||||
case BYT_RT5651_IN1_IN2_MAP:
|
||||
dev_info(dev, "quirk IN1_IN2_MAP enabled");
|
||||
break;
|
||||
default:
|
||||
dev_warn_once(dev, "quirk sets invalid input map: 0x%x, default to DMIC_MAP\n", map);
|
||||
byt_rt5651_quirk &= ~BYT_RT5651_MAP_MASK;
|
||||
byt_rt5651_quirk |= BYT_RT5651_DMIC_MAP;
|
||||
break;
|
||||
}
|
||||
|
||||
if (BYT_RT5651_JDSRC(byt_rt5651_quirk)) {
|
||||
dev_info(dev, "quirk realtek,jack-detect-source %ld\n",
|
||||
BYT_RT5651_JDSRC(byt_rt5651_quirk));
|
||||
|
|
|
|||
|
|
@ -299,9 +299,9 @@ static void q6asm_audio_client_free_buf(struct audio_client *ac,
|
|||
|
||||
spin_lock_irqsave(&ac->lock, flags);
|
||||
port->num_periods = 0;
|
||||
spin_unlock_irqrestore(&ac->lock, flags);
|
||||
kfree(port->buf);
|
||||
port->buf = NULL;
|
||||
spin_unlock_irqrestore(&ac->lock, flags);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -914,7 +914,7 @@ static int parse_term_uac2_clock_source(struct mixer_build *state,
|
|||
{
|
||||
struct uac_clock_source_descriptor *d = p1;
|
||||
|
||||
term->type = UAC3_CLOCK_SOURCE << 16; /* virtual type */
|
||||
term->type = UAC2_CLOCK_SOURCE << 16; /* virtual type */
|
||||
term->id = id;
|
||||
term->name = d->iClockSource;
|
||||
return 0;
|
||||
|
|
@ -1181,6 +1181,13 @@ static void volume_control_quirks(struct usb_mixer_elem_info *cval,
|
|||
cval->res = 1;
|
||||
}
|
||||
break;
|
||||
case USB_ID(0x3302, 0x12db): /* MOONDROP Quark2 */
|
||||
if (!strcmp(kctl->id.name, "PCM Playback Volume")) {
|
||||
usb_audio_info(chip,
|
||||
"set volume quirk for MOONDROP Quark2\n");
|
||||
cval->min = -14208; /* Mute under it */
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2960,6 +2967,8 @@ static int snd_usb_mixer_controls_badd(struct usb_mixer_interface *mixer,
|
|||
int i;
|
||||
|
||||
assoc = usb_ifnum_to_if(dev, ctrlif)->intf_assoc;
|
||||
if (!assoc)
|
||||
return -EINVAL;
|
||||
|
||||
/* Detect BADD capture/playback channels from AS EP descriptors */
|
||||
for (i = 0; i < assoc->bInterfaceCount; i++) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue