Skip to content

Commit bbe7c7a

Browse files
authored
Merge pull request #26 from lgirdwood/topic/sof-dev-sparse
Topic/sof dev sparse
2 parents 8ab299b + 7de8df0 commit bbe7c7a

File tree

11 files changed

+106
-100
lines changed

11 files changed

+106
-100
lines changed

sound/soc/sof/core.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ struct snd_sof_pcm *snd_sof_find_spcm_dai(struct snd_sof_dev *sdev,
3434
struct snd_sof_pcm *spcm = NULL;
3535

3636
list_for_each_entry(spcm, &sdev->pcm_list, list) {
37-
if (spcm->pcm.dai_id == rtd->dai_link->id)
37+
if (le32_to_cpu(spcm->pcm.dai_id) == rtd->dai_link->id)
3838
return spcm;
3939
}
4040

@@ -87,7 +87,7 @@ struct snd_sof_pcm *snd_sof_find_spcm_pcm_id(struct snd_sof_dev *sdev,
8787
struct snd_sof_pcm *spcm = NULL;
8888

8989
list_for_each_entry(spcm, &sdev->pcm_list, list) {
90-
if (spcm->pcm.pcm_id == pcm_id)
90+
if (le32_to_cpu(spcm->pcm.pcm_id) == pcm_id)
9191
return spcm;
9292
}
9393

sound/soc/sof/debug.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ static int sof_dfsentry_open(struct inode *inode, struct file *file)
3232
static ssize_t sof_dfsentry_read(struct file *file, char __user *buffer,
3333
size_t count, loff_t *ppos)
3434
{
35-
struct snd_sof_dfsentry *dfse = file->private_data;
35+
struct snd_sof_dfsentry_io *dfse = file->private_data;
3636
struct snd_sof_dev *sdev = dfse->sdev;
3737
int size;
3838
u32 *buf;
@@ -78,7 +78,7 @@ int snd_sof_debugfs_create_item(struct snd_sof_dev *sdev,
7878
void __iomem *base, size_t size,
7979
const char *name)
8080
{
81-
struct snd_sof_dfsentry *dfse;
81+
struct snd_sof_dfsentry_io *dfse;
8282

8383
if (!sdev)
8484
return -EINVAL;
@@ -118,7 +118,8 @@ int snd_sof_dbg_init(struct snd_sof_dev *sdev)
118118
for (i = 0; i < ops->debug_map_count; i++) {
119119
map = &ops->debug_map[i];
120120

121-
err = snd_sof_debugfs_create_item(sdev, sdev->bar[map->bar] +
121+
err = snd_sof_debugfs_create_item(sdev,
122+
sdev->bar[map->bar] +
122123
map->offset, map->size,
123124
map->name);
124125
if (err < 0)

sound/soc/sof/intel/bdw.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,12 @@ static void bdw_block_write(struct snd_sof_dev *sdev, u32 offset, void *src,
8787
n = size % 4;
8888

8989
/* __iowrite32_copy use 32bit size values so divide by 4 */
90-
__iowrite32_copy((void *)dest, src, m);
90+
__iowrite32_copy(dest, src, m);
9191

9292
if (n) {
9393
for (i = 0; i < n; i++)
9494
tmp |= (u32)*(src_byte + m * 4 + i) << (i * 8);
95-
__iowrite32_copy((void *)(dest + m * 4), &tmp, 1);
95+
__iowrite32_copy(dest + m * 4, &tmp, 1);
9696
}
9797
}
9898

sound/soc/sof/intel/byt.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,12 +140,12 @@ static void byt_block_write(struct snd_sof_dev *sdev, u32 offset, void *src,
140140
n = size % 4;
141141

142142
/* __iowrite32_copy use 32bit size values so divide by 4 */
143-
__iowrite32_copy((void *)dest, src, m);
143+
__iowrite32_copy(dest, src, m);
144144

145145
if (n) {
146146
for (i = 0; i < n; i++)
147147
tmp |= (u32)*(src_byte + m * 4 + i) << (i * 8);
148-
__iowrite32_copy((void *)(dest + m * 4), &tmp, 1);
148+
__iowrite32_copy(dest + m * 4, &tmp, 1);
149149
}
150150
}
151151

sound/soc/sof/intel/hda.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,12 @@ void hda_dsp_block_write(struct snd_sof_dev *sdev, u32 offset, void *src,
7777
n = size % 4;
7878

7979
/* __iowrite32_copy use 32bit size values so divide by 4 */
80-
__iowrite32_copy((void *)dest, src, m);
80+
__iowrite32_copy(dest, src, m);
8181

8282
if (n) {
8383
for (i = 0; i < n; i++)
8484
tmp |= (u32)*(src_byte + m * 4 + i) << (i * 8);
85-
__iowrite32_copy((void *)(dest + m * 4), &tmp, 1);
85+
__iowrite32_copy(dest + m * 4, &tmp, 1);
8686
}
8787
}
8888

sound/soc/sof/intel/hsw.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,12 +88,12 @@ static void hsw_block_write(struct snd_sof_dev *sdev, u32 offset, void *src,
8888
n = size % 4;
8989

9090
/* __iowrite32_copy use 32bit size values so divide by 4 */
91-
__iowrite32_copy((void *)dest, src, m);
91+
__iowrite32_copy(dest, src, m);
9292

9393
if (n) {
9494
for (i = 0; i < n; i++)
9595
tmp |= (u32)*(src_byte + m * 4 + i) << (i * 8);
96-
__iowrite32_copy((void *)(dest + m * 4), &tmp, 1);
96+
__iowrite32_copy(dest + m * 4, &tmp, 1);
9797
}
9898
}
9999

sound/soc/sof/ipc.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -192,8 +192,8 @@ static void ipc_tx_next_msg(struct work_struct *work)
192192
}
193193

194194
/* find original TX message from DSP reply */
195-
struct snd_sof_ipc_msg *sof_ipc_reply_find_msg(struct snd_sof_ipc *ipc,
196-
u32 header)
195+
static struct snd_sof_ipc_msg *sof_ipc_reply_find_msg(struct snd_sof_ipc *ipc,
196+
u32 header)
197197
{
198198
struct snd_sof_dev *sdev = ipc->sdev;
199199
struct snd_sof_ipc_msg *msg;
@@ -213,11 +213,10 @@ struct snd_sof_ipc_msg *sof_ipc_reply_find_msg(struct snd_sof_ipc *ipc,
213213
header);
214214
return NULL;
215215
}
216-
EXPORT_SYMBOL(sof_ipc_reply_find_msg);
217216

218217
/* mark IPC message as complete - locks held by caller */
219-
void sof_ipc_tx_msg_reply_complete(struct snd_sof_ipc *ipc,
220-
struct snd_sof_ipc_msg *msg)
218+
static void sof_ipc_tx_msg_reply_complete(struct snd_sof_ipc *ipc,
219+
struct snd_sof_ipc_msg *msg)
221220
{
222221
msg->complete = true;
223222
wake_up(&msg->waitq);

sound/soc/sof/pcm.c

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -291,10 +291,10 @@ static int sof_pcm_open(struct snd_pcm_substream *substream)
291291
/* set any runtime constraints based on topology */
292292
snd_pcm_hw_constraint_step(substream->runtime, 0,
293293
SNDRV_PCM_HW_PARAM_BUFFER_SIZE,
294-
caps->period_size_min);
294+
le32_to_cpu(caps->period_size_min));
295295
snd_pcm_hw_constraint_step(substream->runtime, 0,
296296
SNDRV_PCM_HW_PARAM_PERIOD_SIZE,
297-
caps->period_size_min);
297+
le32_to_cpu(caps->period_size_min));
298298

299299
/* set runtime config */
300300
runtime->hw.info = SNDRV_PCM_INFO_MMAP |
@@ -303,12 +303,12 @@ static int sof_pcm_open(struct snd_pcm_substream *substream)
303303
SNDRV_PCM_INFO_PAUSE |
304304
SNDRV_PCM_INFO_RESUME |
305305
SNDRV_PCM_INFO_NO_PERIOD_WAKEUP;
306-
runtime->hw.formats = caps->formats;
307-
runtime->hw.period_bytes_min = caps->period_size_min;
308-
runtime->hw.period_bytes_max = caps->period_size_max;
309-
runtime->hw.periods_min = caps->periods_min;
310-
runtime->hw.periods_max = caps->periods_max;
311-
runtime->hw.buffer_bytes_max = caps->buffer_size_max;
306+
runtime->hw.formats = le64_to_cpu(caps->formats);
307+
runtime->hw.period_bytes_min = le32_to_cpu(caps->period_size_min);
308+
runtime->hw.period_bytes_max = le32_to_cpu(caps->period_size_max);
309+
runtime->hw.periods_min = le32_to_cpu(caps->periods_min);
310+
runtime->hw.periods_max = le32_to_cpu(caps->periods_max);
311+
runtime->hw.buffer_bytes_max = le32_to_cpu(caps->buffer_size_max);
312312

313313
dev_dbg(sdev->dev, "period min %zd max %zd bytes\n",
314314
runtime->hw.period_bytes_min,
@@ -398,8 +398,8 @@ static int sof_pcm_new(struct snd_soc_pcm_runtime *rtd)
398398

399399
ret = snd_pcm_lib_preallocate_pages(pcm->streams[stream].substream,
400400
SNDRV_DMA_TYPE_DEV_SG, sdev->parent,
401-
caps->buffer_size_min,
402-
caps->buffer_size_max);
401+
le32_to_cpu(caps->buffer_size_min),
402+
le32_to_cpu(caps->buffer_size_max));
403403
if (ret) {
404404
dev_err(sdev->dev, "error: can't alloc DMA buffer size 0x%x/0x%x for %s %d\n",
405405
caps->buffer_size_min, caps->buffer_size_max,
@@ -431,8 +431,8 @@ static int sof_pcm_new(struct snd_soc_pcm_runtime *rtd)
431431

432432
ret = snd_pcm_lib_preallocate_pages(pcm->streams[stream].substream,
433433
SNDRV_DMA_TYPE_DEV_SG, sdev->parent,
434-
caps->buffer_size_min,
435-
caps->buffer_size_max);
434+
le32_to_cpu(caps->buffer_size_min),
435+
le32_to_cpu(caps->buffer_size_max));
436436
if (ret) {
437437
dev_err(sdev->dev, "error: can't alloc DMA buffer size 0x%x/0x%x for %s %d\n",
438438
caps->buffer_size_min, caps->buffer_size_max,
@@ -506,7 +506,7 @@ static int sof_pcm_dai_link_fixup(struct snd_soc_pcm_runtime *rtd,
506506
channels->max = 2;
507507

508508
snd_mask_none(fmt);
509-
snd_mask_set(fmt, SNDRV_PCM_FORMAT_S16_LE);
509+
snd_mask_set(fmt, (__force int)SNDRV_PCM_FORMAT_S16_LE);
510510

511511
return 0;
512512
}
@@ -516,13 +516,13 @@ static int sof_pcm_dai_link_fixup(struct snd_soc_pcm_runtime *rtd,
516516

517517
switch (dai->comp_dai.config.frame_fmt) {
518518
case SOF_IPC_FRAME_S16_LE:
519-
snd_mask_set(fmt, SNDRV_PCM_FORMAT_S16_LE);
519+
snd_mask_set(fmt, (__force int)SNDRV_PCM_FORMAT_S16_LE);
520520
break;
521521
case SOF_IPC_FRAME_S24_4LE:
522-
snd_mask_set(fmt, SNDRV_PCM_FORMAT_S24_LE);
522+
snd_mask_set(fmt, (__force int)SNDRV_PCM_FORMAT_S24_LE);
523523
break;
524524
case SOF_IPC_FRAME_S32_LE:
525-
snd_mask_set(fmt, SNDRV_PCM_FORMAT_S32_LE);
525+
snd_mask_set(fmt, (__force int)SNDRV_PCM_FORMAT_S32_LE);
526526
break;
527527
default:
528528
dev_err(sdev->dev, "No available DAI format!\n");

sound/soc/sof/sof-priv.h

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,9 @@ struct snd_sof_dsp_ops {
107107

108108
/* mailbox */
109109
void (*mailbox_read)(struct snd_sof_dev *sof_dev, u32 offset,
110-
void __iomem *addr, size_t bytes);
110+
void *addr, size_t bytes);
111111
void (*mailbox_write)(struct snd_sof_dev *sof_dev, u32 offset,
112-
void __iomem *addr, size_t bytes);
112+
void *addr, size_t bytes);
113113

114114
/* ipc */
115115
int (*send_msg)(struct snd_sof_dev *sof_dev,
@@ -171,7 +171,14 @@ struct sof_ops_table {
171171
};
172172

173173
/* FS entry for debug files that can expose DSP memories, registers */
174-
struct snd_sof_dfsentry {
174+
struct snd_sof_dfsentry_io {
175+
struct dentry *dfsentry;
176+
size_t size;
177+
void __iomem *buf;
178+
struct snd_sof_dev *sdev;
179+
};
180+
181+
struct snd_sof_dfsentry_buf {
175182
struct dentry *dfsentry;
176183
size_t size;
177184
void *buf;
@@ -401,6 +408,7 @@ struct snd_sof_pcm *snd_sof_find_spcm_comp(struct snd_sof_dev *sdev,
401408
int *direction);
402409
struct snd_sof_pcm *snd_sof_find_spcm_pcm_id(struct snd_sof_dev *sdev,
403410
unsigned int pcm_id);
411+
void sof_ipc_drop_all(struct snd_sof_ipc *ipc);
404412

405413
/*
406414
* Stream IPC

0 commit comments

Comments
 (0)