mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 12:26:41 +07:00
Merge remote-tracking branches 'asoc/fix/ak4613', 'asoc/fix/arizona', 'asoc/fix/cx20442', 'asoc/fix/davinci', 'asoc/fix/fsl-ssi' and 'asoc/fix/hdmi' into asoc-linus
This commit is contained in:
commit
af5fb67877
@ -483,9 +483,10 @@ config SND_SOC_DMIC
|
||||
tristate
|
||||
|
||||
config SND_SOC_HDMI_CODEC
|
||||
tristate
|
||||
select SND_PCM_ELD
|
||||
select SND_PCM_IEC958
|
||||
tristate
|
||||
select SND_PCM_ELD
|
||||
select SND_PCM_IEC958
|
||||
select HDMI
|
||||
|
||||
config SND_SOC_ES8328
|
||||
tristate "Everest Semi ES8328 CODEC"
|
||||
|
@ -146,6 +146,7 @@ static const struct regmap_config ak4613_regmap_cfg = {
|
||||
.max_register = 0x16,
|
||||
.reg_defaults = ak4613_reg,
|
||||
.num_reg_defaults = ARRAY_SIZE(ak4613_reg),
|
||||
.cache_type = REGCACHE_RBTREE,
|
||||
};
|
||||
|
||||
static const struct of_device_id ak4613_of_match[] = {
|
||||
@ -530,7 +531,6 @@ static int ak4613_i2c_remove(struct i2c_client *client)
|
||||
static struct i2c_driver ak4613_i2c_driver = {
|
||||
.driver = {
|
||||
.name = "ak4613-codec",
|
||||
.owner = THIS_MODULE,
|
||||
.of_match_table = ak4613_of_match,
|
||||
},
|
||||
.probe = ak4613_i2c_probe,
|
||||
|
@ -226,6 +226,7 @@ static int v253_open(struct tty_struct *tty)
|
||||
if (!tty->disc_data)
|
||||
return -ENODEV;
|
||||
|
||||
tty->receive_room = 16;
|
||||
if (tty->ops->write(tty, v253_init, len) != len) {
|
||||
ret = -EIO;
|
||||
goto err;
|
||||
|
@ -1872,7 +1872,7 @@ static struct snd_soc_dai_driver wm5102_dai[] = {
|
||||
.capture = {
|
||||
.stream_name = "Audio Trace CPU",
|
||||
.channels_min = 1,
|
||||
.channels_max = 6,
|
||||
.channels_max = 4,
|
||||
.rates = WM5102_RATES,
|
||||
.formats = WM5102_FORMATS,
|
||||
},
|
||||
|
@ -1723,6 +1723,7 @@ static const struct snd_soc_dapm_route wm5110_dapm_routes[] = {
|
||||
{ "OUT2L", NULL, "SYSCLK" },
|
||||
{ "OUT2R", NULL, "SYSCLK" },
|
||||
{ "OUT3L", NULL, "SYSCLK" },
|
||||
{ "OUT3R", NULL, "SYSCLK" },
|
||||
{ "OUT4L", NULL, "SYSCLK" },
|
||||
{ "OUT4R", NULL, "SYSCLK" },
|
||||
{ "OUT5L", NULL, "SYSCLK" },
|
||||
|
@ -1513,8 +1513,9 @@ static struct davinci_mcasp_pdata am33xx_mcasp_pdata = {
|
||||
};
|
||||
|
||||
static struct davinci_mcasp_pdata dra7_mcasp_pdata = {
|
||||
.tx_dma_offset = 0x200,
|
||||
.rx_dma_offset = 0x284,
|
||||
/* The CFG port offset will be calculated if it is needed */
|
||||
.tx_dma_offset = 0,
|
||||
.rx_dma_offset = 0,
|
||||
.version = MCASP_VERSION_4,
|
||||
};
|
||||
|
||||
@ -1734,6 +1735,52 @@ static int davinci_mcasp_get_dma_type(struct davinci_mcasp *mcasp)
|
||||
return PCM_EDMA;
|
||||
}
|
||||
|
||||
static u32 davinci_mcasp_txdma_offset(struct davinci_mcasp_pdata *pdata)
|
||||
{
|
||||
int i;
|
||||
u32 offset = 0;
|
||||
|
||||
if (pdata->version != MCASP_VERSION_4)
|
||||
return pdata->tx_dma_offset;
|
||||
|
||||
for (i = 0; i < pdata->num_serializer; i++) {
|
||||
if (pdata->serial_dir[i] == TX_MODE) {
|
||||
if (!offset) {
|
||||
offset = DAVINCI_MCASP_TXBUF_REG(i);
|
||||
} else {
|
||||
pr_err("%s: Only one serializer allowed!\n",
|
||||
__func__);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
static u32 davinci_mcasp_rxdma_offset(struct davinci_mcasp_pdata *pdata)
|
||||
{
|
||||
int i;
|
||||
u32 offset = 0;
|
||||
|
||||
if (pdata->version != MCASP_VERSION_4)
|
||||
return pdata->rx_dma_offset;
|
||||
|
||||
for (i = 0; i < pdata->num_serializer; i++) {
|
||||
if (pdata->serial_dir[i] == RX_MODE) {
|
||||
if (!offset) {
|
||||
offset = DAVINCI_MCASP_RXBUF_REG(i);
|
||||
} else {
|
||||
pr_err("%s: Only one serializer allowed!\n",
|
||||
__func__);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
static int davinci_mcasp_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct snd_dmaengine_dai_dma_data *dma_data;
|
||||
@ -1862,7 +1909,7 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
|
||||
if (dat)
|
||||
dma_data->addr = dat->start;
|
||||
else
|
||||
dma_data->addr = mem->start + pdata->tx_dma_offset;
|
||||
dma_data->addr = mem->start + davinci_mcasp_txdma_offset(pdata);
|
||||
|
||||
dma = &mcasp->dma_request[SNDRV_PCM_STREAM_PLAYBACK];
|
||||
res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
|
||||
@ -1883,7 +1930,8 @@ static int davinci_mcasp_probe(struct platform_device *pdev)
|
||||
if (dat)
|
||||
dma_data->addr = dat->start;
|
||||
else
|
||||
dma_data->addr = mem->start + pdata->rx_dma_offset;
|
||||
dma_data->addr =
|
||||
mem->start + davinci_mcasp_rxdma_offset(pdata);
|
||||
|
||||
dma = &mcasp->dma_request[SNDRV_PCM_STREAM_CAPTURE];
|
||||
res = platform_get_resource(pdev, IORESOURCE_DMA, 1);
|
||||
|
@ -85,9 +85,9 @@
|
||||
(n << 2))
|
||||
|
||||
/* Transmit Buffer for Serializer n */
|
||||
#define DAVINCI_MCASP_TXBUF_REG 0x200
|
||||
#define DAVINCI_MCASP_TXBUF_REG(n) (0x200 + (n << 2))
|
||||
/* Receive Buffer for Serializer n */
|
||||
#define DAVINCI_MCASP_RXBUF_REG 0x280
|
||||
#define DAVINCI_MCASP_RXBUF_REG(n) (0x280 + (n << 2))
|
||||
|
||||
/* McASP FIFO Registers */
|
||||
#define DAVINCI_MCASP_V2_AFIFO_BASE (0x1010)
|
||||
|
@ -952,16 +952,16 @@ static int _fsl_ssi_set_dai_fmt(struct device *dev,
|
||||
ssi_private->i2s_mode = CCSR_SSI_SCR_NET;
|
||||
switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
|
||||
case SND_SOC_DAIFMT_I2S:
|
||||
regmap_update_bits(regs, CCSR_SSI_STCCR,
|
||||
CCSR_SSI_SxCCR_DC_MASK,
|
||||
CCSR_SSI_SxCCR_DC(2));
|
||||
regmap_update_bits(regs, CCSR_SSI_SRCCR,
|
||||
CCSR_SSI_SxCCR_DC_MASK,
|
||||
CCSR_SSI_SxCCR_DC(2));
|
||||
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
|
||||
case SND_SOC_DAIFMT_CBM_CFS:
|
||||
case SND_SOC_DAIFMT_CBS_CFS:
|
||||
ssi_private->i2s_mode |= CCSR_SSI_SCR_I2S_MODE_MASTER;
|
||||
regmap_update_bits(regs, CCSR_SSI_STCCR,
|
||||
CCSR_SSI_SxCCR_DC_MASK,
|
||||
CCSR_SSI_SxCCR_DC(2));
|
||||
regmap_update_bits(regs, CCSR_SSI_SRCCR,
|
||||
CCSR_SSI_SxCCR_DC_MASK,
|
||||
CCSR_SSI_SxCCR_DC(2));
|
||||
break;
|
||||
case SND_SOC_DAIFMT_CBM_CFM:
|
||||
ssi_private->i2s_mode |= CCSR_SSI_SCR_I2S_MODE_SLAVE;
|
||||
|
Loading…
Reference in New Issue
Block a user