You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge tag 'sound-4.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai: "It seems that Santa overslept with a bunch of gifts; the majority of changes here are various device-specific ASoC fixes, most notably the revert of rcar IOMMU support and fsl_ssi AC97 fixes, but also lots of small fixes for codecs. Besides that, the usual HD-audio quirks and fixes are included, too" * tag 'sound-4.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (31 commits) ALSA: hda - Fix missing COEF init for ALC225/295/299 ALSA: hda: Drop useless WARN_ON() ALSA: hda - change the location for one mic on a Lenovo machine ALSA: hda - fix headset mic detection issue on a Dell machine ALSA: hda - Add MIC_NO_PRESENCE fixup for 2 HP machines ASoC: rsnd: fixup ADG register mask ASoC: rt5514-spi: only enable wakeup when fully initialized ASoC: nau8825: fix issue that pop noise when start capture ASoC: rt5663: Fix the wrong result of the first jack detection ASoC: rsnd: ssi: fix race condition in rsnd_ssi_pointer_update ASoC: Intel: Change kern log level to avoid unwanted messages ASoC: atmel-classd: select correct Kconfig symbol ASoC: wm_adsp: Fix validation of firmware and coeff lengths ASoC: Intel: Skylake: Do not check dev_type for dmic link type ASoC: rockchip: disable clock on error ASoC: tlv320aic31xx: Fix GPIO1 register definition ASoC: codecs: msm8916-wcd: Fix supported formats ASoC: fsl_asrc: Fix typo in a field define ASoC: rsnd: ssiu: clear SSI_MODE for non TDM Extended modes ASoC: da7218: Correct IRQ level in DT binding example ...
This commit is contained in:
@@ -73,7 +73,7 @@ Example:
|
||||
compatible = "dlg,da7218";
|
||||
reg = <0x1a>;
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
||||
wakeup-source;
|
||||
|
||||
VDD-supply = <®_audio>;
|
||||
|
||||
@@ -77,7 +77,7 @@ Example:
|
||||
reg = <0x1a>;
|
||||
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
VDD-supply = <®_audio>;
|
||||
VDDMIC-supply = <®_audio>;
|
||||
|
||||
@@ -325,7 +325,7 @@ static int hdac_component_master_match(struct device *dev, void *data)
|
||||
*/
|
||||
int snd_hdac_i915_register_notifier(const struct i915_audio_component_audio_ops *aops)
|
||||
{
|
||||
if (WARN_ON(!hdac_acomp))
|
||||
if (!hdac_acomp)
|
||||
return -ENODEV;
|
||||
|
||||
hdac_acomp->audio_ops = aops;
|
||||
|
||||
@@ -271,6 +271,8 @@ enum {
|
||||
CXT_FIXUP_HP_SPECTRE,
|
||||
CXT_FIXUP_HP_GATE_MIC,
|
||||
CXT_FIXUP_MUTE_LED_GPIO,
|
||||
CXT_FIXUP_HEADSET_MIC,
|
||||
CXT_FIXUP_HP_MIC_NO_PRESENCE,
|
||||
};
|
||||
|
||||
/* for hda_fixup_thinkpad_acpi() */
|
||||
@@ -350,6 +352,18 @@ static void cxt_fixup_headphone_mic(struct hda_codec *codec,
|
||||
}
|
||||
}
|
||||
|
||||
static void cxt_fixup_headset_mic(struct hda_codec *codec,
|
||||
const struct hda_fixup *fix, int action)
|
||||
{
|
||||
struct conexant_spec *spec = codec->spec;
|
||||
|
||||
switch (action) {
|
||||
case HDA_FIXUP_ACT_PRE_PROBE:
|
||||
spec->parse_flags |= HDA_PINCFG_HEADSET_MIC;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* OPLC XO 1.5 fixup */
|
||||
|
||||
/* OLPC XO-1.5 supports DC input mode (e.g. for use with analog sensors)
|
||||
@@ -880,6 +894,19 @@ static const struct hda_fixup cxt_fixups[] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = cxt_fixup_mute_led_gpio,
|
||||
},
|
||||
[CXT_FIXUP_HEADSET_MIC] = {
|
||||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = cxt_fixup_headset_mic,
|
||||
},
|
||||
[CXT_FIXUP_HP_MIC_NO_PRESENCE] = {
|
||||
.type = HDA_FIXUP_PINS,
|
||||
.v.pins = (const struct hda_pintbl[]) {
|
||||
{ 0x1a, 0x02a1113c },
|
||||
{ }
|
||||
},
|
||||
.chained = true,
|
||||
.chain_id = CXT_FIXUP_HEADSET_MIC,
|
||||
},
|
||||
};
|
||||
|
||||
static const struct snd_pci_quirk cxt5045_fixups[] = {
|
||||
@@ -934,6 +961,8 @@ static const struct snd_pci_quirk cxt5066_fixups[] = {
|
||||
SND_PCI_QUIRK(0x103c, 0x8115, "HP Z1 Gen3", CXT_FIXUP_HP_GATE_MIC),
|
||||
SND_PCI_QUIRK(0x103c, 0x814f, "HP ZBook 15u G3", CXT_FIXUP_MUTE_LED_GPIO),
|
||||
SND_PCI_QUIRK(0x103c, 0x822e, "HP ProBook 440 G4", CXT_FIXUP_MUTE_LED_GPIO),
|
||||
SND_PCI_QUIRK(0x103c, 0x8299, "HP 800 G3 SFF", CXT_FIXUP_HP_MIC_NO_PRESENCE),
|
||||
SND_PCI_QUIRK(0x103c, 0x829a, "HP 800 G3 DM", CXT_FIXUP_HP_MIC_NO_PRESENCE),
|
||||
SND_PCI_QUIRK(0x1043, 0x138d, "Asus", CXT_FIXUP_HEADPHONE_MIC_PIN),
|
||||
SND_PCI_QUIRK(0x152d, 0x0833, "OLPC XO-1.5", CXT_FIXUP_OLPC_XO),
|
||||
SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo T400", CXT_PINCFG_LENOVO_TP410),
|
||||
|
||||
@@ -324,8 +324,12 @@ static void alc_fill_eapd_coef(struct hda_codec *codec)
|
||||
case 0x10ec0292:
|
||||
alc_update_coef_idx(codec, 0x4, 1<<15, 0);
|
||||
break;
|
||||
case 0x10ec0215:
|
||||
case 0x10ec0225:
|
||||
case 0x10ec0295:
|
||||
case 0x10ec0299:
|
||||
alc_update_coef_idx(codec, 0x67, 0xf000, 0x3000);
|
||||
/* fallthrough */
|
||||
case 0x10ec0215:
|
||||
case 0x10ec0233:
|
||||
case 0x10ec0236:
|
||||
case 0x10ec0255:
|
||||
@@ -336,10 +340,8 @@ static void alc_fill_eapd_coef(struct hda_codec *codec)
|
||||
case 0x10ec0286:
|
||||
case 0x10ec0288:
|
||||
case 0x10ec0285:
|
||||
case 0x10ec0295:
|
||||
case 0x10ec0298:
|
||||
case 0x10ec0289:
|
||||
case 0x10ec0299:
|
||||
alc_update_coef_idx(codec, 0x10, 1<<9, 0);
|
||||
break;
|
||||
case 0x10ec0275:
|
||||
@@ -6328,6 +6330,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
|
||||
SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
|
||||
SND_PCI_QUIRK(0x17aa, 0x30e2, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
|
||||
SND_PCI_QUIRK(0x17aa, 0x310c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),
|
||||
SND_PCI_QUIRK(0x17aa, 0x313c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),
|
||||
SND_PCI_QUIRK(0x17aa, 0x3112, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
|
||||
SND_PCI_QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_FIXUP_DMIC_THINKPAD_ACPI),
|
||||
SND_PCI_QUIRK(0x17aa, 0x3977, "IdeaPad S210", ALC283_FIXUP_INT_MIC),
|
||||
@@ -6585,6 +6588,11 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
|
||||
SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
|
||||
{0x1b, 0x01011020},
|
||||
{0x21, 0x02211010}),
|
||||
SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
|
||||
{0x12, 0x90a60130},
|
||||
{0x14, 0x90170110},
|
||||
{0x1b, 0x01011020},
|
||||
{0x21, 0x0221101f}),
|
||||
SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
|
||||
{0x12, 0x90a60160},
|
||||
{0x14, 0x90170120},
|
||||
|
||||
@@ -1051,6 +1051,11 @@ static int acp_audio_probe(struct platform_device *pdev)
|
||||
struct resource *res;
|
||||
const u32 *pdata = pdev->dev.platform_data;
|
||||
|
||||
if (!pdata) {
|
||||
dev_err(&pdev->dev, "Missing platform data\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
audio_drv_data = devm_kzalloc(&pdev->dev, sizeof(struct audio_drv_data),
|
||||
GFP_KERNEL);
|
||||
if (audio_drv_data == NULL)
|
||||
@@ -1058,6 +1063,8 @@ static int acp_audio_probe(struct platform_device *pdev)
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
audio_drv_data->acp_mmio = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(audio_drv_data->acp_mmio))
|
||||
return PTR_ERR(audio_drv_data->acp_mmio);
|
||||
|
||||
/* The following members gets populated in device 'open'
|
||||
* function. Till then interrupts are disabled in 'acp_init'
|
||||
|
||||
@@ -64,7 +64,7 @@ config SND_AT91_SOC_SAM9X5_WM8731
|
||||
config SND_ATMEL_SOC_CLASSD
|
||||
tristate "Atmel ASoC driver for boards using CLASSD"
|
||||
depends on ARCH_AT91 || COMPILE_TEST
|
||||
select SND_ATMEL_SOC_DMA
|
||||
select SND_SOC_GENERIC_DMAENGINE_PCM
|
||||
select REGMAP_MMIO
|
||||
help
|
||||
Say Y if you want to add support for Atmel ASoC driver for boards using
|
||||
|
||||
@@ -2520,7 +2520,7 @@ static struct da7218_pdata *da7218_of_to_pdata(struct snd_soc_codec *codec)
|
||||
}
|
||||
|
||||
if (da7218->dev_id == DA7218_DEV_ID) {
|
||||
hpldet_np = of_find_node_by_name(np, "da7218_hpldet");
|
||||
hpldet_np = of_get_child_by_name(np, "da7218_hpldet");
|
||||
if (!hpldet_np)
|
||||
return pdata;
|
||||
|
||||
|
||||
@@ -267,7 +267,7 @@
|
||||
#define MSM8916_WCD_ANALOG_RATES (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |\
|
||||
SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_48000)
|
||||
#define MSM8916_WCD_ANALOG_FORMATS (SNDRV_PCM_FMTBIT_S16_LE |\
|
||||
SNDRV_PCM_FMTBIT_S24_LE)
|
||||
SNDRV_PCM_FMTBIT_S32_LE)
|
||||
|
||||
static int btn_mask = SND_JACK_BTN_0 | SND_JACK_BTN_1 |
|
||||
SND_JACK_BTN_2 | SND_JACK_BTN_3 | SND_JACK_BTN_4;
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
SNDRV_PCM_RATE_32000 | \
|
||||
SNDRV_PCM_RATE_48000)
|
||||
#define MSM8916_WCD_DIGITAL_FORMATS (SNDRV_PCM_FMTBIT_S16_LE |\
|
||||
SNDRV_PCM_FMTBIT_S24_LE)
|
||||
SNDRV_PCM_FMTBIT_S32_LE)
|
||||
|
||||
struct msm8916_wcd_digital_priv {
|
||||
struct clk *ahbclk, *mclk;
|
||||
@@ -645,7 +645,7 @@ static int msm8916_wcd_digital_hw_params(struct snd_pcm_substream *substream,
|
||||
RX_I2S_CTL_RX_I2S_MODE_MASK,
|
||||
RX_I2S_CTL_RX_I2S_MODE_16);
|
||||
break;
|
||||
case SNDRV_PCM_FORMAT_S24_LE:
|
||||
case SNDRV_PCM_FORMAT_S32_LE:
|
||||
snd_soc_update_bits(dai->codec, LPASS_CDC_CLK_TX_I2S_CTL,
|
||||
TX_I2S_CTL_TX_I2S_MODE_MASK,
|
||||
TX_I2S_CTL_TX_I2S_MODE_32);
|
||||
|
||||
@@ -905,6 +905,7 @@ static int nau8825_adc_event(struct snd_soc_dapm_widget *w,
|
||||
|
||||
switch (event) {
|
||||
case SND_SOC_DAPM_POST_PMU:
|
||||
msleep(125);
|
||||
regmap_update_bits(nau8825->regmap, NAU8825_REG_ENA_CTRL,
|
||||
NAU8825_ENABLE_ADC, NAU8825_ENABLE_ADC);
|
||||
break;
|
||||
|
||||
@@ -289,6 +289,8 @@ static int rt5514_spi_pcm_probe(struct snd_soc_platform *platform)
|
||||
dev_err(&rt5514_spi->dev,
|
||||
"%s Failed to reguest IRQ: %d\n", __func__,
|
||||
ret);
|
||||
else
|
||||
device_init_wakeup(rt5514_dsp->dev, true);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -456,8 +458,6 @@ static int rt5514_spi_probe(struct spi_device *spi)
|
||||
return ret;
|
||||
}
|
||||
|
||||
device_init_wakeup(&spi->dev, true);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -482,10 +482,13 @@ static int __maybe_unused rt5514_resume(struct device *dev)
|
||||
if (device_may_wakeup(dev))
|
||||
disable_irq_wake(irq);
|
||||
|
||||
if (rt5514_dsp->substream) {
|
||||
rt5514_spi_burst_read(RT5514_IRQ_CTRL, (u8 *)&buf, sizeof(buf));
|
||||
if (buf[0] & RT5514_IRQ_STATUS_BIT)
|
||||
rt5514_schedule_copy(rt5514_dsp);
|
||||
if (rt5514_dsp) {
|
||||
if (rt5514_dsp->substream) {
|
||||
rt5514_spi_burst_read(RT5514_IRQ_CTRL, (u8 *)&buf,
|
||||
sizeof(buf));
|
||||
if (buf[0] & RT5514_IRQ_STATUS_BIT)
|
||||
rt5514_schedule_copy(rt5514_dsp);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -496,7 +496,7 @@ static const struct snd_soc_dapm_widget rt5514_dapm_widgets[] = {
|
||||
SND_SOC_DAPM_PGA("DMIC1", SND_SOC_NOPM, 0, 0, NULL, 0),
|
||||
SND_SOC_DAPM_PGA("DMIC2", SND_SOC_NOPM, 0, 0, NULL, 0),
|
||||
|
||||
SND_SOC_DAPM_SUPPLY("DMIC CLK", SND_SOC_NOPM, 0, 0,
|
||||
SND_SOC_DAPM_SUPPLY_S("DMIC CLK", 1, SND_SOC_NOPM, 0, 0,
|
||||
rt5514_set_dmic_clk, SND_SOC_DAPM_PRE_PMU),
|
||||
|
||||
SND_SOC_DAPM_SUPPLY("ADC CLK", RT5514_CLK_CTRL1,
|
||||
|
||||
@@ -3823,6 +3823,8 @@ static int rt5645_i2c_probe(struct i2c_client *i2c,
|
||||
regmap_read(regmap, RT5645_VENDOR_ID, &val);
|
||||
rt5645->v_id = val & 0xff;
|
||||
|
||||
regmap_write(rt5645->regmap, RT5645_AD_DA_MIXER, 0x8080);
|
||||
|
||||
ret = regmap_register_patch(rt5645->regmap, init_list,
|
||||
ARRAY_SIZE(init_list));
|
||||
if (ret != 0)
|
||||
|
||||
@@ -1560,6 +1560,10 @@ static int rt5663_jack_detect(struct snd_soc_codec *codec, int jack_insert)
|
||||
RT5663_IRQ_POW_SAV_MASK, RT5663_IRQ_POW_SAV_EN);
|
||||
snd_soc_update_bits(codec, RT5663_IRQ_1,
|
||||
RT5663_EN_IRQ_JD1_MASK, RT5663_EN_IRQ_JD1_EN);
|
||||
snd_soc_update_bits(codec, RT5663_EM_JACK_TYPE_1,
|
||||
RT5663_EM_JD_MASK, RT5663_EM_JD_RST);
|
||||
snd_soc_update_bits(codec, RT5663_EM_JACK_TYPE_1,
|
||||
RT5663_EM_JD_MASK, RT5663_EM_JD_NOR);
|
||||
|
||||
while (true) {
|
||||
regmap_read(rt5663->regmap, RT5663_INT_ST_2, &val);
|
||||
|
||||
@@ -1029,6 +1029,10 @@
|
||||
#define RT5663_POL_EXT_JD_SHIFT 10
|
||||
#define RT5663_POL_EXT_JD_EN (0x1 << 10)
|
||||
#define RT5663_POL_EXT_JD_DIS (0x0 << 10)
|
||||
#define RT5663_EM_JD_MASK (0x1 << 7)
|
||||
#define RT5663_EM_JD_SHIFT 7
|
||||
#define RT5663_EM_JD_NOR (0x1 << 7)
|
||||
#define RT5663_EM_JD_RST (0x0 << 7)
|
||||
|
||||
/* DACREF LDO Control (0x0112)*/
|
||||
#define RT5663_PWR_LDO_DACREFL_MASK (0x1 << 9)
|
||||
|
||||
@@ -116,7 +116,7 @@ struct aic31xx_pdata {
|
||||
/* INT2 interrupt control */
|
||||
#define AIC31XX_INT2CTRL AIC31XX_REG(0, 49)
|
||||
/* GPIO1 control */
|
||||
#define AIC31XX_GPIO1 AIC31XX_REG(0, 50)
|
||||
#define AIC31XX_GPIO1 AIC31XX_REG(0, 51)
|
||||
|
||||
#define AIC31XX_DACPRB AIC31XX_REG(0, 60)
|
||||
/* ADC Instruction Set Register */
|
||||
|
||||
@@ -232,7 +232,7 @@ static struct twl4030_codec_data *twl4030_get_pdata(struct snd_soc_codec *codec)
|
||||
struct twl4030_codec_data *pdata = dev_get_platdata(codec->dev);
|
||||
struct device_node *twl4030_codec_node = NULL;
|
||||
|
||||
twl4030_codec_node = of_find_node_by_name(codec->dev->parent->of_node,
|
||||
twl4030_codec_node = of_get_child_by_name(codec->dev->parent->of_node,
|
||||
"codec");
|
||||
|
||||
if (!pdata && twl4030_codec_node) {
|
||||
@@ -241,9 +241,11 @@ static struct twl4030_codec_data *twl4030_get_pdata(struct snd_soc_codec *codec)
|
||||
GFP_KERNEL);
|
||||
if (!pdata) {
|
||||
dev_err(codec->dev, "Can not allocate memory\n");
|
||||
of_node_put(twl4030_codec_node);
|
||||
return NULL;
|
||||
}
|
||||
twl4030_setup_pdata_of(pdata, twl4030_codec_node);
|
||||
of_node_put(twl4030_codec_node);
|
||||
}
|
||||
|
||||
return pdata;
|
||||
|
||||
@@ -1733,7 +1733,7 @@ static int wm_adsp_load(struct wm_adsp *dsp)
|
||||
le64_to_cpu(footer->timestamp));
|
||||
|
||||
while (pos < firmware->size &&
|
||||
pos - firmware->size > sizeof(*region)) {
|
||||
sizeof(*region) < firmware->size - pos) {
|
||||
region = (void *)&(firmware->data[pos]);
|
||||
region_name = "Unknown";
|
||||
reg = 0;
|
||||
@@ -1782,8 +1782,8 @@ static int wm_adsp_load(struct wm_adsp *dsp)
|
||||
regions, le32_to_cpu(region->len), offset,
|
||||
region_name);
|
||||
|
||||
if ((pos + le32_to_cpu(region->len) + sizeof(*region)) >
|
||||
firmware->size) {
|
||||
if (le32_to_cpu(region->len) >
|
||||
firmware->size - pos - sizeof(*region)) {
|
||||
adsp_err(dsp,
|
||||
"%s.%d: %s region len %d bytes exceeds file length %zu\n",
|
||||
file, regions, region_name,
|
||||
@@ -2253,7 +2253,7 @@ static int wm_adsp_load_coeff(struct wm_adsp *dsp)
|
||||
|
||||
blocks = 0;
|
||||
while (pos < firmware->size &&
|
||||
pos - firmware->size > sizeof(*blk)) {
|
||||
sizeof(*blk) < firmware->size - pos) {
|
||||
blk = (void *)(&firmware->data[pos]);
|
||||
|
||||
type = le16_to_cpu(blk->type);
|
||||
@@ -2327,8 +2327,8 @@ static int wm_adsp_load_coeff(struct wm_adsp *dsp)
|
||||
}
|
||||
|
||||
if (reg) {
|
||||
if ((pos + le32_to_cpu(blk->len) + sizeof(*blk)) >
|
||||
firmware->size) {
|
||||
if (le32_to_cpu(blk->len) >
|
||||
firmware->size - pos - sizeof(*blk)) {
|
||||
adsp_err(dsp,
|
||||
"%s.%d: %s region len %d bytes exceeds file length %zu\n",
|
||||
file, blocks, region_name,
|
||||
|
||||
@@ -260,8 +260,8 @@
|
||||
#define ASRFSTi_OUTPUT_FIFO_SHIFT 12
|
||||
#define ASRFSTi_OUTPUT_FIFO_MASK (((1 << ASRFSTi_OUTPUT_FIFO_WIDTH) - 1) << ASRFSTi_OUTPUT_FIFO_SHIFT)
|
||||
#define ASRFSTi_IAEi_SHIFT 11
|
||||
#define ASRFSTi_IAEi_MASK (1 << ASRFSTi_OAFi_SHIFT)
|
||||
#define ASRFSTi_IAEi (1 << ASRFSTi_OAFi_SHIFT)
|
||||
#define ASRFSTi_IAEi_MASK (1 << ASRFSTi_IAEi_SHIFT)
|
||||
#define ASRFSTi_IAEi (1 << ASRFSTi_IAEi_SHIFT)
|
||||
#define ASRFSTi_INPUT_FIFO_WIDTH 7
|
||||
#define ASRFSTi_INPUT_FIFO_SHIFT 0
|
||||
#define ASRFSTi_INPUT_FIFO_MASK ((1 << ASRFSTi_INPUT_FIFO_WIDTH) - 1)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user