forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-11 1f93a7dfd1f8d5ff7a5c53246c7534fe2332d6f4
kernel/sound/soc/intel/atom/sst/sst_loader.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * sst_dsp.c - Intel SST Driver for audio engine
34 *
....@@ -7,15 +8,6 @@
78 * Dharageswari R <dharageswari.r@intel.com>
89 * KP Jeeja <jeeja.kp@intel.com>
910 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10
- *
11
- * This program is free software; you can redistribute it and/or modify
12
- * it under the terms of the GNU General Public License as published by
13
- * the Free Software Foundation; version 2 of the License.
14
- *
15
- * This program is distributed in the hope that it will be useful, but
16
- * WITHOUT ANY WARRANTY; without even the implied warranty of
17
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18
- * General Public License for more details.
1911 *
2012 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2113 *
....@@ -37,7 +29,6 @@
3729 #include <asm/platform_sst_audio.h>
3830 #include "../sst-mfld-platform.h"
3931 #include "sst.h"
40
-#include "../../common/sst-dsp.h"
4132
4233 void memcpy32_toio(void __iomem *dst, const void *src, int count)
4334 {
....@@ -57,6 +48,7 @@
5748
5849 /**
5950 * intel_sst_reset_dsp_mrfld - Resetting SST DSP
51
+ * @sst_drv_ctx: intel_sst_drv context pointer
6052 *
6153 * This resets DSP in case of MRFLD platfroms
6254 */
....@@ -85,6 +77,7 @@
8577
8678 /**
8779 * sst_start_merrifield - Start the SST DSP processor
80
+ * @sst_drv_ctx: intel_sst_drv context pointer
8881 *
8982 * This starts the DSP in MERRIFIELD platfroms
9083 */
....@@ -269,7 +262,7 @@
269262 struct sst_memcpy_list *listnode;
270263
271264 list_for_each_entry(listnode, memcpy_list, memcpylist) {
272
- if (listnode->is_io == true)
265
+ if (listnode->is_io)
273266 memcpy32_toio((void __iomem *)listnode->dstn,
274267 listnode->src, listnode->size);
275268 else
....@@ -282,12 +275,10 @@
282275 struct sst_memcpy_list *listnode, *tmplistnode;
283276
284277 /* Free the list */
285
- if (!list_empty(&sst_drv_ctx->memcpy_list)) {
286
- list_for_each_entry_safe(listnode, tmplistnode,
287
- &sst_drv_ctx->memcpy_list, memcpylist) {
288
- list_del(&listnode->memcpylist);
289
- kfree(listnode);
290
- }
278
+ list_for_each_entry_safe(listnode, tmplistnode,
279
+ &sst_drv_ctx->memcpy_list, memcpylist) {
280
+ list_del(&listnode->memcpylist);
281
+ kfree(listnode);
291282 }
292283 }
293284
....@@ -395,6 +386,8 @@
395386
396387 /**
397388 * sst_load_fw - function to load FW into DSP
389
+ * @sst_drv_ctx: intel_sst_drv context pointer
390
+ *
398391 * Transfers the FW to DSP using dma/memcpy
399392 */
400393 int sst_load_fw(struct intel_sst_drv *sst_drv_ctx)
....@@ -404,8 +397,7 @@
404397
405398 dev_dbg(sst_drv_ctx->dev, "sst_load_fw\n");
406399
407
- if (sst_drv_ctx->sst_state != SST_RESET ||
408
- sst_drv_ctx->sst_state == SST_SHUTDOWN)
400
+ if (sst_drv_ctx->sst_state != SST_RESET)
409401 return -EAGAIN;
410402
411403 if (!sst_drv_ctx->fw_in_mem) {
....@@ -420,7 +412,7 @@
420412 return -ENOMEM;
421413
422414 /* Prevent C-states beyond C6 */
423
- pm_qos_update_request(sst_drv_ctx->qos, 0);
415
+ cpu_latency_qos_update_request(sst_drv_ctx->qos, 0);
424416
425417 sst_drv_ctx->sst_state = SST_FW_LOADING;
426418
....@@ -450,7 +442,7 @@
450442
451443 restore:
452444 /* Re-enable Deeper C-states beyond C6 */
453
- pm_qos_update_request(sst_drv_ctx->qos, PM_QOS_DEFAULT_VALUE);
445
+ cpu_latency_qos_update_request(sst_drv_ctx->qos, PM_QOS_DEFAULT_VALUE);
454446 sst_free_block(sst_drv_ctx, block);
455447 dev_dbg(sst_drv_ctx->dev, "fw load successful!!!\n");
456448