[PATCH] ASoC: pcm512x: test regmap register accesses

From: Peter Ujfalusi
Date: Tue Sep 21 2021 - 00:12:06 EST


read i2c_1 in different stages.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx>
---
sound/soc/codecs/pcm512x.c | 28 ++++++++++++++++++++++++++--
1 file changed, 26 insertions(+), 2 deletions(-)

diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c
index 4dc844f3c1fc..d0382e9ac329 100644
--- a/sound/soc/codecs/pcm512x.c
+++ b/sound/soc/codecs/pcm512x.c
@@ -1166,6 +1166,7 @@ static int pcm512x_hw_params(struct snd_pcm_substream *substream,
{
struct snd_soc_component *component = dai->component;
struct pcm512x_priv *pcm512x = snd_soc_component_get_drvdata(component);
+ unsigned int val;
int alen;
int gpio;
int ret;
@@ -1193,6 +1194,18 @@ static int pcm512x_hw_params(struct snd_pcm_substream *substream,
return -EINVAL;
}

+ ret = regmap_read(pcm512x->regmap, PCM512x_I2S_1, &val);
+ if (ret) {
+ dev_err(component->dev, "%s: failed to read I2S_1: %d\n", __func_, ret);
+ ret = regmap_read(pcm512x->regmap, PCM512x_PLL_EN, &val);
+ if (ret)
+ dev_err(component->dev, "%s: failed to read PLL_EN: %d\n", __func__, ret);
+ else
+ dev_err(component->dev, "%s: PLL_EN: %#x\n", __func__, val);
+ } else {
+ dev_err(component->dev, "%s: I2S_1: %#x\n", __func__, val);
+ }
+
ret = regmap_update_bits(pcm512x->regmap, PCM512x_I2S_1,
PCM512x_ALEN, alen);
if (ret != 0) {
@@ -1335,6 +1348,7 @@ static int pcm512x_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
{
struct snd_soc_component *component = dai->component;
struct pcm512x_priv *pcm512x = snd_soc_component_get_drvdata(component);
+ unsigned int val;
int afmt;
int offset = 0;
int clock_output;
@@ -1396,18 +1410,28 @@ static int pcm512x_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
return -EINVAL;
}

+ ret = regmap_read(pcm512x->regmap, PCM512x_I2S_1, &val);
+ if (ret) {
+ dev_err(component->dev, "%s: failed to read I2S_1: %d\n", __func_, ret);
+ ret = regmap_read(pcm512x->regmap, PCM512x_PLL_EN, &val);
+ if (ret)
+ dev_err(component->dev, "%s: failed to read PLL_EN: %d\n", __func__, ret);
+ else
+ dev_err(component->dev, "%s: PLL_EN: %#x\n", __func__, val);
+ } else {
+ dev_err(component->dev, "%s: I2S_1: %#x\n", __func__, val);
+ }
+
ret = regmap_update_bits(pcm512x->regmap, PCM512x_I2S_1,
PCM512x_AFMT, afmt);
if (ret != 0) {
dev_err(component->dev, "Failed to set data format: %d\n", ret);
- return ret;
}

ret = regmap_update_bits(pcm512x->regmap, PCM512x_I2S_2,
0xFF, offset);
if (ret != 0) {
dev_err(component->dev, "Failed to set data offset: %d\n", ret);
- return ret;
}

pcm512x->fmt = fmt;
--
2.33.0



--
Péter
--------------SUNNjoDhFfy8bEztyDsSrxya
Content-Type: text/x-patch; charset=UTF-8;
name="0001-ASoC-pcm512x-test-regmap-register-accesses.patch"
Content-Disposition: attachment;
filename="0001-ASoC-pcm512x-test-regmap-register-accesses.patch"
Content-Transfer-Encoding: base64

RnJvbSBlMDEzYTAzMjg2YjZhNzQ0OTE0YzUwMjM5ZDMxMjNiNzcyMzA2OGRmIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBVamZhbHVzaSA8cGV0ZXIudWpmYWx1c2lA
Z21haWwuY29tPgpEYXRlOiBUdWUsIDIxIFNlcCAyMDIxIDA3OjEyOjA2ICswMzAwClN1Ympl
Y3Q6IFtQQVRDSF0gQVNvQzogcGNtNTEyeDogdGVzdCByZWdtYXAgcmVnaXN0ZXIgYWNjZXNz
ZXMKCnJlYWQgaTJjXzEgaW4gZGlmZmVyZW50IHN0YWdlcy4KClNpZ25lZC1vZmYtYnk6IFBl
dGVyIFVqZmFsdXNpIDxwZXRlci51amZhbHVzaUBnbWFpbC5jb20+Ci0tLQogc291bmQvc29j
L2NvZGVjcy9wY201MTJ4LmMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAx
IGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYg
LS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3BjbTUxMnguYyBiL3NvdW5kL3NvYy9jb2RlY3Mv
cGNtNTEyeC5jCmluZGV4IDRkYzg0NGYzYzFmYy4uZDAzODJlOWFjMzI5IDEwMDY0NAotLS0g
YS9zb3VuZC9zb2MvY29kZWNzL3BjbTUxMnguYworKysgYi9zb3VuZC9zb2MvY29kZWNzL3Bj
bTUxMnguYwpAQCAtMTE2Niw2ICsxMTY2LDcgQEAgc3RhdGljIGludCBwY201MTJ4X2h3X3Bh
cmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKIHsKIAlzdHJ1Y3Qg
c25kX3NvY19jb21wb25lbnQgKmNvbXBvbmVudCA9IGRhaS0+Y29tcG9uZW50OwogCXN0cnVj
dCBwY201MTJ4X3ByaXYgKnBjbTUxMnggPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0
YShjb21wb25lbnQpOworCXVuc2lnbmVkIGludCB2YWw7CiAJaW50IGFsZW47CiAJaW50IGdw
aW87CiAJaW50IHJldDsKQEAgLTExOTMsNiArMTE5NCwxOCBAQCBzdGF0aWMgaW50IHBjbTUx
MnhfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAogCQly
ZXR1cm4gLUVJTlZBTDsKIAl9CiAKKwlyZXQgPSByZWdtYXBfcmVhZChwY201MTJ4LT5yZWdt
YXAsIFBDTTUxMnhfSTJTXzEsICZ2YWwpOworCWlmIChyZXQpIHsKKwkJZGV2X2Vycihjb21w
b25lbnQtPmRldiwgIiVzOiBmYWlsZWQgdG8gcmVhZCBJMlNfMTogJWRcbiIsIF9fZnVuY18s
IHJldCk7CisJCXJldCA9IHJlZ21hcF9yZWFkKHBjbTUxMngtPnJlZ21hcCwgUENNNTEyeF9Q
TExfRU4sICZ2YWwpOworCQlpZiAocmV0KQorCQkJZGV2X2Vycihjb21wb25lbnQtPmRldiwg
IiVzOiBmYWlsZWQgdG8gcmVhZCBQTExfRU46ICVkXG4iLCBfX2Z1bmNfXywgcmV0KTsKKwkJ
ZWxzZQorCQkJZGV2X2Vycihjb21wb25lbnQtPmRldiwgIiVzOiBQTExfRU46ICUjeFxuIiwg
X19mdW5jX18sIHZhbCk7CisJfSBlbHNlIHsKKwkJZGV2X2Vycihjb21wb25lbnQtPmRldiwg
IiVzOiBJMlNfMTogJSN4XG4iLCBfX2Z1bmNfXywgdmFsKTsKKwl9CisKIAlyZXQgPSByZWdt
YXBfdXBkYXRlX2JpdHMocGNtNTEyeC0+cmVnbWFwLCBQQ001MTJ4X0kyU18xLAogCQkJCSBQ
Q001MTJ4X0FMRU4sIGFsZW4pOwogCWlmIChyZXQgIT0gMCkgewpAQCAtMTMzNSw2ICsxMzQ4
LDcgQEAgc3RhdGljIGludCBwY201MTJ4X3NldF9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpk
YWksIHVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpj
b21wb25lbnQgPSBkYWktPmNvbXBvbmVudDsKIAlzdHJ1Y3QgcGNtNTEyeF9wcml2ICpwY201
MTJ4ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY29tcG9uZW50KTsKKwl1bnNp
Z25lZCBpbnQgdmFsOwogCWludCBhZm10OwogCWludCBvZmZzZXQgPSAwOwogCWludCBjbG9j
a19vdXRwdXQ7CkBAIC0xMzk2LDE4ICsxNDEwLDI4IEBAIHN0YXRpYyBpbnQgcGNtNTEyeF9z
ZXRfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCB1bnNpZ25lZCBpbnQgZm10KQogCQly
ZXR1cm4gLUVJTlZBTDsKIAl9CiAKKwlyZXQgPSByZWdtYXBfcmVhZChwY201MTJ4LT5yZWdt
YXAsIFBDTTUxMnhfSTJTXzEsICZ2YWwpOworCWlmIChyZXQpIHsKKwkJZGV2X2Vycihjb21w
b25lbnQtPmRldiwgIiVzOiBmYWlsZWQgdG8gcmVhZCBJMlNfMTogJWRcbiIsIF9fZnVuY18s
IHJldCk7CisJCXJldCA9IHJlZ21hcF9yZWFkKHBjbTUxMngtPnJlZ21hcCwgUENNNTEyeF9Q
TExfRU4sICZ2YWwpOworCQlpZiAocmV0KQorCQkJZGV2X2Vycihjb21wb25lbnQtPmRldiwg
IiVzOiBmYWlsZWQgdG8gcmVhZCBQTExfRU46ICVkXG4iLCBfX2Z1bmNfXywgcmV0KTsKKwkJ
ZWxzZQorCQkJZGV2X2Vycihjb21wb25lbnQtPmRldiwgIiVzOiBQTExfRU46ICUjeFxuIiwg
X19mdW5jX18sIHZhbCk7CisJfSBlbHNlIHsKKwkJZGV2X2Vycihjb21wb25lbnQtPmRldiwg
IiVzOiBJMlNfMTogJSN4XG4iLCBfX2Z1bmNfXywgdmFsKTsKKwl9CisKIAlyZXQgPSByZWdt
YXBfdXBkYXRlX2JpdHMocGNtNTEyeC0+cmVnbWFwLCBQQ001MTJ4X0kyU18xLAogCQkJCSBQ
Q001MTJ4X0FGTVQsIGFmbXQpOwogCWlmIChyZXQgIT0gMCkgewogCQlkZXZfZXJyKGNvbXBv
bmVudC0+ZGV2LCAiRmFpbGVkIHRvIHNldCBkYXRhIGZvcm1hdDogJWRcbiIsIHJldCk7Ci0J
CXJldHVybiByZXQ7CiAJfQogCiAJcmV0ID0gcmVnbWFwX3VwZGF0ZV9iaXRzKHBjbTUxMngt
PnJlZ21hcCwgUENNNTEyeF9JMlNfMiwKIAkJCQkgMHhGRiwgb2Zmc2V0KTsKIAlpZiAocmV0
ICE9IDApIHsKIAkJZGV2X2Vycihjb21wb25lbnQtPmRldiwgIkZhaWxlZCB0byBzZXQgZGF0
YSBvZmZzZXQ6ICVkXG4iLCByZXQpOwotCQlyZXR1cm4gcmV0OwogCX0KIAogCXBjbTUxMngt
PmZtdCA9IGZtdDsKLS0gCjIuMzMuMAoK
--------------SUNNjoDhFfy8bEztyDsSrxya--