Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8bee1fd4 authored by Mark Brown's avatar Mark Brown
Browse files

Merge branch 'fix/intel' of...

Merge branch 'fix/intel' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel

Conflicts:
	sound/soc/intel/sst-baytrail-dsp.c
parents dfe1951b cffd6665
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -138,6 +138,7 @@ static int sst_acpi_probe(struct platform_device *pdev)

	sst_pdata = &sst_acpi->sst_pdata;
	sst_pdata->id = desc->sst_id;
	sst_pdata->dma_dev = dev;
	sst_acpi->desc = desc;
	sst_acpi->mach = mach;

+1 −1
Original line number Diff line number Diff line
@@ -324,7 +324,7 @@ static int sst_byt_init(struct sst_dsp *sst, struct sst_pdata *pdata)
		return ret;
	}

	ret = dma_coerce_mask_and_coherent(dev, DMA_BIT_MASK(32));
	ret = dma_coerce_mask_and_coherent(sst->dma_dev, DMA_BIT_MASK(32));
	if (ret)
		return ret;

+8 −0
Original line number Diff line number Diff line
@@ -561,16 +561,20 @@ struct sst_byt_stream *sst_byt_stream_new(struct sst_byt *byt, int id,
	void *data)
{
	struct sst_byt_stream *stream;
	struct sst_dsp *sst = byt->dsp;
	unsigned long flags;

	stream = kzalloc(sizeof(*stream), GFP_KERNEL);
	if (stream == NULL)
		return NULL;

	spin_lock_irqsave(&sst->spinlock, flags);
	list_add(&stream->node, &byt->stream_list);
	stream->notify_position = notify_position;
	stream->pdata = data;
	stream->byt = byt;
	stream->str_id = id;
	spin_unlock_irqrestore(&sst->spinlock, flags);

	return stream;
}
@@ -649,6 +653,8 @@ int sst_byt_stream_free(struct sst_byt *byt, struct sst_byt_stream *stream)
{
	u64 header;
	int ret = 0;
	struct sst_dsp *sst = byt->dsp;
	unsigned long flags;

	if (!stream->commited)
		goto out;
@@ -663,8 +669,10 @@ int sst_byt_stream_free(struct sst_byt *byt, struct sst_byt_stream *stream)

	stream->commited = false;
out:
	spin_lock_irqsave(&sst->spinlock, flags);
	list_del(&stream->node);
	kfree(stream);
	spin_unlock_irqrestore(&sst->spinlock, flags);

	return ret;
}
+2 −1
Original line number Diff line number Diff line
@@ -136,7 +136,7 @@ struct sst_module_data {
	enum sst_data_type data_type;	/* type of module data */

	u32 size;		/* size in bytes */
	u32 offset;		/* offset in FW file */
	int32_t offset;		/* offset in FW file */
	u32 data_offset;	/* offset in ADSP memory space */
	void *data;		/* module data */
};
@@ -228,6 +228,7 @@ struct sst_dsp {
	spinlock_t spinlock;	/* IPC locking */
	struct mutex mutex;	/* DSP FW lock */
	struct device *dev;
	struct device *dma_dev;
	void *thread_context;
	int irq;
	u32 id;
+1 −0
Original line number Diff line number Diff line
@@ -337,6 +337,7 @@ struct sst_dsp *sst_dsp_new(struct device *dev,
	spin_lock_init(&sst->spinlock);
	mutex_init(&sst->mutex);
	sst->dev = dev;
	sst->dma_dev = pdata->dma_dev;
	sst->thread_context = sst_dev->thread_context;
	sst->sst_dev = sst_dev;
	sst->id = pdata->id;
Loading