- Jun 04, 2021
-
-
Srinivas Kandagatla authored
Most new Qualcomm WCD codecs support MBHC(Multi Button Headset Control) via ADC. This patchset adds support to Common parts of this MBHC support so that WCD codecs need not duplicate them. To do that codec exposes set of register fields and callbacks to this common driver to control it. Signed-off-by:
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20210604115230.23259-3-srinivas.kandagatla@linaro.org Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- Jun 03, 2021
-
-
Yufen Yu authored
pm_runtime_get_sync will increment pm usage counter even it failed. Forgetting to putting operation will result in reference leak here. Fix it by replacing it with pm_runtime_resume_and_get to keep usage counter balanced. Reported-by:
Hulk Robot <hulkci@huawei.com> Signed-off-by:
Yufen Yu <yuyufen@huawei.com> Link: https://lore.kernel.org/r/20210524093521.612176-1-yuyufen@huawei.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Yang Yingliang authored
Using devm_snd_soc_register_card() can make the code shorter and cleaner. Signed-off-by:
Yang Yingliang <yangyingliang@huawei.com> Link: https://lore.kernel.org/r/20210602133359.310647-1-yangyingliang@huawei.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Colin Ian King authored
Most callers of_get_child_count() check that "nr" is non-zero so it causes a static checker warning when we don't do that here. This does not cause a problem or a crash, but having zero SSUIes does not make sense either so let's add a check. Addresses-Coverity: ("Unchecked return value") Fixes: c413983e ("ASoC: rsnd: adjust disabled module") Acked-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by:
Colin Ian King <colin.king@canonical.com> Link: https://lore.kernel.org/r/20210603110315.81146-1-colin.king@canonical.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Yang Yingliang authored
module_rpmsg_driver() makes the code simpler by eliminating boilerplate code. Signed-off-by:
Yang Yingliang <yangyingliang@huawei.com> Link: https://lore.kernel.org/r/20210602082610.3828408-1-yangyingliang@huawei.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Yang Yingliang authored
Using devm_snd_soc_register_card() can make the code shorter and cleaner. Signed-off-by:
Yang Yingliang <yangyingliang@huawei.com> Link: https://lore.kernel.org/r/20210602141619.323286-1-yangyingliang@huawei.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
status and __rsnd_mod_xxx were updated, but some related comments were not. And it has verbose comments. This patch cleanup/tidyup these. 1) adds missing "D" to status sample 2) remove verbose list for "H" 3) add "needs protect" to __rsnd_mod_call_xxx Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87o8cpi1zs.wl-kuninori.morimoto.gx@renesas.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
Current rsnd_adg_get_clkin/out() are void function, thus adg->clk/clkout[i] might be NULL. But, for_each_rsnd_clk/clkout() macros are assuming all clks are non NULL. Because of this mismatch, code can be complex and/or buggy. These functions return error by this patch, and make sure all clks are non NULL. Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87pmx5i20m.wl-kuninori.morimoto.gx@renesas.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
commit 965386c9 ("ASoC: rsnd: call unregister for null_hw when removed") tried unregister null_clk, but it has some issues. 1st issue is kernel will indicate below message when unregistering, because of its timing. unregistering should be happen after clk_disable(). clk_unregister: unregistering prepared clock: rsnd_adg_null 2nd issue is, it is using priv->null_clk, but it should be adg->null_clk. 3rd issue is it is using very complex clk registering method. more simple clk_register/unregister_fixed_rate() should be OK. This patch fixes these. Fixes: 965386c9 ("ASoC: rsnd: call unregister for null_hw when removed") Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87r1hli215.wl-kuninori.morimoto.gx@renesas.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
set priv->adg before rsnd_adg_get_clkin/out() to be more simple code. Nothing is changed, but is preparation for next "ASoC: rsnd: adg: use more simple method for null_clk" patch Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87sg21i21j.wl-kuninori.morimoto.gx@renesas.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
Fixes the following W=1 kernel build warning(s): sound/soc/sh/rcar/adg.c: In function 'dbg_msg': sound/soc/sh/rcar/adg.c:594:2: warning: function 'dbg_msg' might \ be a candidate for 'gnu_printf' format attribute\ [-Wsuggest-attribute=format] Fixes: 1f9c82b5 ("ASoC: rsnd: add debugfs support") Reported-by:
kernel test robot <lkp@intel.com> Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87tumhi21r.wl-kuninori.morimoto.gx@renesas.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- Jun 02, 2021
-
-
YueHaibing authored
Use DEVICE_ATTR_RO() helper instead of plain DEVICE_ATTR(), which makes the code a bit shorter and easier to read. Signed-off-by:
YueHaibing <yuehaibing@huawei.com> Reviewed-by:
Cezary Rojewski <cezary.rojewski@intel.com> Link: https://lore.kernel.org/r/20210524115506.35724-1-yuehaibing@huawei.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Vincent Knecht authored
Allow specifying Vddd regulator/supply to be enabled on I2C probing. Signed-off-by:
Vincent Knecht <vincent.knecht@mailoo.org> Reviewed-by:
Stephan Gerhold <stephan@gerhold.net> Link: https://lore.kernel.org/r/20210528105101.508254-4-vincent.knecht@mailoo.org Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Vincent Knecht authored
Add specific init function to poke needed registers & values for this IC Signed-off-by:
Vincent Knecht <vincent.knecht@mailoo.org> Reviewed-by:
Stephan Gerhold <stephan@gerhold.net> Link: https://lore.kernel.org/r/20210528105101.508254-2-vincent.knecht@mailoo.org Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Shaokun Zhang authored
Function 'sigmadsp_reset' is declared twice, so remove the repeated declaration. Cc: Mark Brown <broonie@kernel.org> Signed-off-by:
Shaokun Zhang <zhangshaokun@hisilicon.com> Link: https://lore.kernel.org/r/1622279690-3740-1-git-send-email-zhangshaokun@hisilicon.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- Jun 01, 2021
-
-
Kai Vehmanen authored
Add PCI DID for Intel AlderLake-M. Signed-off-by:
Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by:
Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by:
Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by:
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20210528184153.18251-1-kai.vehmanen@linux.intel.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Ranjani Sridharan authored
cl_dsp_init() dumps the ROM status if it fails after max attempts before powering off the DSP. Remove the duplicate log to print the ROM status and error in hda_dsp_cl_boot_firmware(). These values are invalid anyway as the DSP is already powered off. Co-developed-by:
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by:
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by:
Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by:
Bard Liao <bard.liao@intel.com> Signed-off-by:
Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20210528160551.10145-2-kai.vehmanen@linux.intel.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Ranjani Sridharan authored
Clean up the hda_dsp_dump() function to avoid duplicating the ROM status and error. Signed-off-by:
Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by:
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by:
Bard Liao <bard.liao@intel.com> Signed-off-by:
Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20210528160551.10145-1-kai.vehmanen@linux.intel.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
YueHaibing authored
Use DEVICE_ATTR_RW() helper instead of plain DEVICE_ATTR(), which makes the code a bit shorter and easier to read. Signed-off-by:
YueHaibing <yuehaibing@huawei.com> Acked-by:
Jarkko Nikula <jarkko.nikula@bitmer.com> Acked-by:
Peter Ujfalusi <peter.ujfalusi@gmail.com> Link: https://lore.kernel.org/r/20210528063033.19904-1-yuehaibing@huawei.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Rikard Falkeborn authored
The only usage of sof_probe_compressed_ops is to assign its address to the compress_ops field in the snd_soc_component_driver struct, which is a pointer to const. The assignment is done in sound/soc/sof/pcm.c. Make it const to allow the compiler to put it in read-only memory. Signed-off-by:
Rikard Falkeborn <rikard.falkeborn@gmail.com> Link: https://lore.kernel.org/r/20210526231013.46530-6-rikard.falkeborn@gmail.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Rikard Falkeborn authored
The snd_compress_ops structs are only stored in the compress_ops field of a snd_soc_component_driver struct, so make it const to allow the compiler to put it in read-only memory. Signed-off-by:
Rikard Falkeborn <rikard.falkeborn@gmail.com> Reviewed-by:
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20210526231013.46530-5-rikard.falkeborn@gmail.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Rikard Falkeborn authored
The snd_compress_ops structs are only stored in the compress_ops field of a snd_soc_component_driver struct, so make it const to allow the compiler to put it in read-only memory. Signed-off-by:
Rikard Falkeborn <rikard.falkeborn@gmail.com> Link: https://lore.kernel.org/r/20210526231013.46530-4-rikard.falkeborn@gmail.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Rikard Falkeborn authored
The snd_compress_ops structs are only stored in the compress_ops field of a snd_soc_component_driver struct, so make it const to allow the compiler to put it in read-only memory. Signed-off-by:
Rikard Falkeborn <rikard.falkeborn@gmail.com> Link: https://lore.kernel.org/r/20210526231013.46530-3-rikard.falkeborn@gmail.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Rikard Falkeborn authored
The snd_compress_ops structs are only stored in the compress_ops field of a snd_soc_component_driver struct, so make it const to allow the compiler to put it in read-only memory. Signed-off-by:
Rikard Falkeborn <rikard.falkeborn@gmail.com> Link: https://lore.kernel.org/r/20210526231013.46530-2-rikard.falkeborn@gmail.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
In general Renesas SoC's SSI/SRC are all enabled, but some SoC is not. H2 E2 SRC0 <= SRC1 SRC1 SRC2 SRC2 ... ... Renesas Sound driver is assuming that *all* modules are enabled, and thus it is using *data array* to access each modules. Because of it, we have been using "status = disabled" at DT, and using *full size* array but avoiding disabled module. ex) rcar_sound,src { src-0 { => status = "disabled"; }; src1: src-1 { ... }; ... But R-Car D3 have many disabled modules (It has SSI3/SSI4, SRC5/SRC6), and Renesas SoC maintainer don't want above style on DT. ex) rcar_sound,src { => src0: src-0 { status = "disabled"; }; => src1: src-1 { status = "disabled"; }; => src2: src-2 { status = "disabled"; }; => src3: src-3 { status = "disabled"; }; => src4: src-4 { status = "disabled"; }; src5: src-5 { ... }; src6: src-6 { ... }; }; rcar_sound,ssi { => ssi0: ssi-0 { status = "disabled"; }; => ssi1: ssi-1 { status = "disabled"; }; => ssi2: ssi-2 { status = "disabled"; }; ssi3: ssi-3 { ... }; ssi4: ssi-4 { ... }; }; To adjust it, it needs to care about related for_each_child_of_node() loop on rsnd driver, and it is used from... > grep -l for_each_child_of_node sound/soc/sh/rcar/* sound/soc/sh/rcar/core.c sound/soc/sh/rcar/ctu.c sound/soc/sh/rcar/dma.c sound/soc/sh/rcar/dvc.c sound/soc/sh/rcar/mix.c sound/soc/sh/rcar/src.c sound/soc/sh/rcar/ssi.c sound/soc/sh/rcar/ssiu.c This patch adjust to this situation. By this patch, we can avoid disabled modules on DT rcar_sound,src { src5: src-5 { ... }; src6: src-6 { ... }; }; rcar_sound,ssi { ssi3: ssi-3 { ... }; ssi4: ssi-4 { ... }; }; Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/875yyzk017.wl-kuninori.morimoto.gx@renesas.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
This patch tidyup rsnd_parse_connect_xxx() style. Nothing is changed, but is preparation for next "ASoC: rsnd: adjust disabled module" patch Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/877djfk01l.wl-kuninori.morimoto.gx@renesas.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
This patch adds "char *name" to rsnd_dma_request_channel(). It is not yet used so far, but is preparation for next "ASoC: rsnd: adjust disabled module" patch Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/878s3vk01q.wl-kuninori.morimoto.gx@renesas.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
This patch adds "char *name" to rsnd_parse_connect_common(). It is not yet used so far, but is preparation for next "ASoC: rsnd: adjust disabled module" patch Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87a6obk01v.wl-kuninori.morimoto.gx@renesas.com Signed-off-by:
Mark Brown <broonie@kernel.org>
-
- May 27, 2021
-
-
Zou Wei authored
./sound/soc/fsl/imx-rpmsg.c:140:3-8: No need to set .owner here. The core will do it. Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci Reported-by:
Hulk Robot <hulkci@huawei.com> Signed-off-by:
Zou Wei <zou_wei@huawei.com> Message-Id: <1622113652-56646-1-git-send-email-zou_wei@huawei.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
rsnd_ssiu_busif_err_irq_ctrl() has very similar duplicated code. This patch merge and tidyup the code. Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Message-Id: <87sg28lwxw.wl-kuninori.morimoto.gx@renesas.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
rsnd_ssiu_busif_err_status_clear() has very similar duplicated code. This patch merge and tidyup the code. Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Message-Id: <87tumolwy3.wl-kuninori.morimoto.gx@renesas.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
BUSIF is SSIU feature, but its related code is implemented at ssi.c today. This patch moves it to ssiu.c Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Message-Id: <87v974lwy9.wl-kuninori.morimoto.gx@renesas.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
Renesas Sound uses many modules (SSI/SSIU/SRC/CTU/MIX/DVC/DMA), and supports complex connections/path. Thus each modules needs to save its status to correctly control it. This status is updated when by .trigger, and .hw_params/.hw_free. Renesas Sound is protecting modules by using lock when .trigger, but it was not enough to protecting each modules "status" if it was used from many paths. 1) .hw_params/.hw_free update status 2) another doesn't update status, but overwrites by same value This patch do 1) protects .hw_params/.hw_free by lock 2) do nothing if no status update Without this patch, protected mod->status (= .trigger) might be overwrote by non protected mod->status (= .hw_params / .hw_free), and in such case, CTU/MIX/DVC/SSIU/SSI which are used from many paths might get damage. If above issue happens, Renesas Sound will be hung (= silence) and never be recoverd. I could reproduce this issue by continue playing very short sound with loop very long term (3-4 hours) through 2 inputs (= MIXer). For updating rsnd_status_update(), this patch removes rsnd_dai_call() debug message. Because we already have debugfs support, and is not good match to new code. Reported-by:
Linh Phung T. Y <linh.phung.jy@renesas.com> Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Message-Id: <87wnrklwyh.wl-kuninori.morimoto.gx@renesas.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
Current rsnd supports #define DEBUG, but it is not helpful if issue happen after 4-5 hours. This patch adds debugfs support for it. Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Message-Id: <87y2c0lwyn.wl-kuninori.morimoto.gx@renesas.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
Current rsnd is using dev_dbg() if irq error happen, but it makes debug very difficult if some strange things happen. This patch uses dev_info() for it, and rename the macro name. Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Message-Id: <87zgwglwyv.wl-kuninori.morimoto.gx@renesas.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
Current rsnd_dai_call() doesn't indicate error message, thus it is very difficult to know the issue when strange things happen. This patch indicates error for it. Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Message-Id: <871r9snbji.wl-kuninori.morimoto.gx@renesas.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
Current ssi.c checks BUSIF when TDM mode, but it should be checked everytime. This patch do it. Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Message-Id: <8735u8nbjr.wl-kuninori.morimoto.gx@renesas.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
SSIU is not needed if SSI was PIO mode. This patch ignores such case. Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Message-Id: <874keonbkg.wl-kuninori.morimoto.gx@renesas.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
runtime might be NULL. Let's ignore such case. Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Message-Id: <875yz4nbkt.wl-kuninori.morimoto.gx@renesas.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-
Kuninori Morimoto authored
commit d6956a7d ("ASoC: rsnd: add null CLOCKIN support") added null_clk, but it is using local static valuable. It will be leaked if rsnd driver was removed. This patch moves it to priv, and call unregister when removing. Fixes: d6956a7d ("ASoC: rsnd: add null CLOCKIN support") Link: https://lore.kernel.org/r/87tumsoe2p.wl-kuninori.morimoto.gx@renesas.com Reported-by:
Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by:
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Message-Id: <877djknbl5.wl-kuninori.morimoto.gx@renesas.com> Signed-off-by:
Mark Brown <broonie@kernel.org>
-