openwrt/target/linux/layerscape/patches-5.4/801-audio-0048-MLK-17580-ASoC-fsl-sai-Use-DSD-helper.patch
Adrian Schmutzler cf7c101135 layerscape: remove useless pairs of kernel patches
The layerscape kernel patches appears to be just some uncleaned local
development tree, where patches are sometimes directly followed by
their revert. While this does not seem a problem in the first place,
it becomes incredibly unpleasant when the upstream kernel changes in
the relevant areas and requires rebase.

This removes all these patch-revert pairs and refreshs the rest.

It removes about 44000 lines of entirely useless code.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-08-20 14:19:39 +02:00

97 lines
2.8 KiB
Diff

From 0a71cfbd55ba50414bfcb4ecccf656a580930790 Mon Sep 17 00:00:00 2001
From: Viorel Suman <viorel.suman@nxp.com>
Date: Thu, 8 Mar 2018 14:43:34 +0200
Subject: [PATCH] MLK-17580: ASoC: fsl: sai: Use DSD helper
Replace DSD related code with calls to DSD helper functions.
Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com
---
sound/soc/fsl/fsl_sai.c | 34 +++++++++++-----------------------
sound/soc/fsl/fsl_sai.h | 2 +-
2 files changed, 12 insertions(+), 24 deletions(-)
--- a/sound/soc/fsl/fsl_sai.c
+++ b/sound/soc/fsl/fsl_sai.c
@@ -22,6 +22,7 @@
#include <linux/mfd/syscon/imx6q-iomuxc-gpr.h>
#include <linux/pm_runtime.h>
+#include "fsl_dsd.h"
#include "fsl_sai.h"
#include "imx-pcm.h"
@@ -523,31 +524,21 @@ static int fsl_sai_hw_params(struct snd_
int ret;
int i;
int trce_mask = 0;
- snd_pcm_format_t format = params_format(params);
if (sai->slots)
slots = sai->slots;
pins = DIV_ROUND_UP(channels, slots);
+ sai->is_dsd = fsl_is_dsd(params);
+ sai->pins_state = fsl_get_pins_state(sai->pinctrl, params);
- if (format == SNDRV_PCM_FORMAT_DSD_U8 ||
- format == SNDRV_PCM_FORMAT_DSD_U16_LE ||
- format == SNDRV_PCM_FORMAT_DSD_U16_BE ||
- format == SNDRV_PCM_FORMAT_DSD_U32_LE ||
- format == SNDRV_PCM_FORMAT_DSD_U32_BE) {
- sai->is_dsd = true;
-
- if (!IS_ERR_OR_NULL(sai->pins_dsd)) {
- ret = pinctrl_select_state(sai->pinctrl, sai->pins_dsd);
- if (ret) {
- dev_err(cpu_dai->dev,
- "failed to set proper pins state: %d\n", ret);
- return ret;
- }
+ if (!IS_ERR_OR_NULL(sai->pins_state)) {
+ ret = pinctrl_select_state(sai->pinctrl, sai->pins_state);
+ if (ret) {
+ dev_err(cpu_dai->dev,
+ "failed to set proper pins state: %d\n", ret);
+ return ret;
}
- } else {
- pinctrl_pm_select_default_state(cpu_dai->dev);
- sai->is_dsd = false;
}
if (sai->is_dsd)
@@ -929,8 +920,8 @@ static int fsl_sai_dai_resume(struct snd
struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai);
int ret;
- if (sai->is_dsd && !IS_ERR_OR_NULL(sai->pins_dsd)) {
- ret = pinctrl_select_state(sai->pinctrl, sai->pins_dsd);
+ if (!IS_ERR_OR_NULL(sai->pins_state)) {
+ ret = pinctrl_select_state(sai->pinctrl, sai->pins_state);
if (ret) {
dev_err(cpu_dai->dev,
"failed to set proper pins state: %d\n", ret);
@@ -1354,9 +1345,6 @@ static int fsl_sai_probe(struct platform
sai->pinctrl = devm_pinctrl_get(&pdev->dev);
- if (!IS_ERR_OR_NULL(sai->pinctrl))
- sai->pins_dsd = pinctrl_lookup_state(sai->pinctrl, "dsd");
-
platform_set_drvdata(pdev, sai);
pm_runtime_enable(&pdev->dev);
--- a/sound/soc/fsl/fsl_sai.h
+++ b/sound/soc/fsl/fsl_sai.h
@@ -211,7 +211,7 @@ struct fsl_sai {
const struct fsl_sai_soc_data *soc;
struct pm_qos_request pm_qos_req;
struct pinctrl *pinctrl;
- struct pinctrl_state *pins_dsd;
+ struct pinctrl_state *pins_state;
};
#define TX 1