From: Tzung-Bi Shih <tzungbi@google.com>
To: "allen-kh.cheng" <allen-kh.cheng@mediatek.com>
Cc: devicetree@vger.kernel.org,
Linux-ALSA <alsa-devel@alsa-project.org>,
Kai Vehmanen <kai.vehmanen@linux.intel.com>,
cujomalainey@google.com, linux-kernel@vger.kernel.org,
Mark Brown <broonie@kernel.org>,
Jassi Brar <jassisinghbrar@gmail.com>,
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Project_Global_Chrome_Upstream_Group@mediatek.com,
Rob Herring <robh+dt@kernel.org>,
linux-mediatek@lists.infradead.org,
Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
Takashi Iwai <tiwai@suse.com>,
Daniel Baluta <daniel.baluta@nxp.com>,
linux-arm-kernel@lists.infradead.org,
sound-open-firmware@alsa-project.org
Subject: Re: [PATCH v3 3/3] firmware: mediatek: add adsp ipc protocol interface
Date: Wed, 24 Nov 2021 18:25:30 +0800 [thread overview]
Message-ID: <YZ4TGvtwO5ySCEkT@google.com> (raw)
In-Reply-To: <20211124084514.28002-4-allen-kh.cheng@mediatek.com>
On Wed, Nov 24, 2021 at 04:45:14PM +0800, allen-kh.cheng wrote:
> drivers/firmware/Kconfig | 1 +
> drivers/firmware/Makefile | 1 +
> drivers/firmware/mediatek/Kconfig | 10 ++
> drivers/firmware/mediatek/Makefile | 2 +
> drivers/firmware/mediatek/mtk-adsp-ipc.c | 130 ++++++++++++++++++
> .../linux/firmware/mediatek/mtk-adsp-ipc.h | 72 ++++++++++
> 6 files changed, 216 insertions(+)
> create mode 100644 drivers/firmware/mediatek/Kconfig
> create mode 100644 drivers/firmware/mediatek/Makefile
> create mode 100644 drivers/firmware/mediatek/mtk-adsp-ipc.c
> create mode 100644 include/linux/firmware/mediatek/mtk-adsp-ipc.h
The patch should move before the 2nd patch in the series as the 2nd patch uses mtk-adsp-ipc.h.
> diff --git a/drivers/firmware/mediatek/mtk-adsp-ipc.c b/drivers/firmware/mediatek/mtk-adsp-ipc.c
[...]
> +int adsp_ipc_send(struct mtk_adsp_ipc *ipc, unsigned int idx, uint32_t op)
> +{
> + struct mtk_adsp_chan *dsp_chan = &ipc->chans[idx];
> + struct adsp_mbox_ch_info *ch_info = dsp_chan->ch->con_priv;
> + int ret;
> +
> + if (idx >= MTK_ADSP_MBOX_NUM)
> + return -EINVAL;
If idx >= MTK_ADSP_MBOX_NUM, the invalid memory access has occurred at beginning of the function.
> +static int mtk_adsp_ipc_probe(struct platform_device *pdev)
> +{
[...]
> + device_set_of_node_from_dev(&pdev->dev, pdev->dev.parent);
Why does it need to call device_set_of_node_from_dev()?
> + for (i = 0; i < MTK_ADSP_MBOX_NUM; i++) {
> + chan_name = kasprintf(GFP_KERNEL, "mbox%d", i);
> + if (!chan_name)
> + return -ENOMEM;
> +
> + dsp_chan = &dsp_ipc->chans[i];
> + cl = &dsp_chan->cl;
> + cl->dev = dev->parent;
> + cl->tx_block = false;
> + cl->knows_txdone = false;
> + cl->tx_prepare = NULL;
> + cl->rx_callback = adsp_ipc_recv;
> +
> + dsp_chan->ipc = dsp_ipc;
> + dsp_chan->idx = i;
> + dsp_chan->ch = mbox_request_channel_byname(cl, chan_name);
> + if (IS_ERR(dsp_chan->ch)) {
> + ret = PTR_ERR(dsp_chan->ch);
> + if (ret != -EPROBE_DEFER)
> + dev_err(dev, "Failed to request mbox chan %d ret %d\n",
> + i, ret);
If ret == -EPROBE_DEFER, wouldn't it need to return -EPROBE_DEFER? It doesn't retry later if -EPROBE_DEFER.
WARNING: multiple messages have this Message-ID (diff)
From: Tzung-Bi Shih <tzungbi@google.com>
To: "allen-kh.cheng" <allen-kh.cheng@mediatek.com>
Cc: Jassi Brar <jassisinghbrar@gmail.com>,
Rob Herring <robh+dt@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
Linux-ALSA <alsa-devel@alsa-project.org>,
cujomalainey@google.com,
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
Kai Vehmanen <kai.vehmanen@linux.intel.com>,
Daniel Baluta <daniel.baluta@nxp.com>,
Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>,
Takashi Iwai <tiwai@suse.com>,
Project_Global_Chrome_Upstream_Group@mediatek.com,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org,
sound-open-firmware@alsa-project.org
Subject: Re: [PATCH v3 3/3] firmware: mediatek: add adsp ipc protocol interface
Date: Wed, 24 Nov 2021 18:25:30 +0800 [thread overview]
Message-ID: <YZ4TGvtwO5ySCEkT@google.com> (raw)
In-Reply-To: <20211124084514.28002-4-allen-kh.cheng@mediatek.com>
On Wed, Nov 24, 2021 at 04:45:14PM +0800, allen-kh.cheng wrote:
> drivers/firmware/Kconfig | 1 +
> drivers/firmware/Makefile | 1 +
> drivers/firmware/mediatek/Kconfig | 10 ++
> drivers/firmware/mediatek/Makefile | 2 +
> drivers/firmware/mediatek/mtk-adsp-ipc.c | 130 ++++++++++++++++++
> .../linux/firmware/mediatek/mtk-adsp-ipc.h | 72 ++++++++++
> 6 files changed, 216 insertions(+)
> create mode 100644 drivers/firmware/mediatek/Kconfig
> create mode 100644 drivers/firmware/mediatek/Makefile
> create mode 100644 drivers/firmware/mediatek/mtk-adsp-ipc.c
> create mode 100644 include/linux/firmware/mediatek/mtk-adsp-ipc.h
The patch should move before the 2nd patch in the series as the 2nd patch uses mtk-adsp-ipc.h.
> diff --git a/drivers/firmware/mediatek/mtk-adsp-ipc.c b/drivers/firmware/mediatek/mtk-adsp-ipc.c
[...]
> +int adsp_ipc_send(struct mtk_adsp_ipc *ipc, unsigned int idx, uint32_t op)
> +{
> + struct mtk_adsp_chan *dsp_chan = &ipc->chans[idx];
> + struct adsp_mbox_ch_info *ch_info = dsp_chan->ch->con_priv;
> + int ret;
> +
> + if (idx >= MTK_ADSP_MBOX_NUM)
> + return -EINVAL;
If idx >= MTK_ADSP_MBOX_NUM, the invalid memory access has occurred at beginning of the function.
> +static int mtk_adsp_ipc_probe(struct platform_device *pdev)
> +{
[...]
> + device_set_of_node_from_dev(&pdev->dev, pdev->dev.parent);
Why does it need to call device_set_of_node_from_dev()?
> + for (i = 0; i < MTK_ADSP_MBOX_NUM; i++) {
> + chan_name = kasprintf(GFP_KERNEL, "mbox%d", i);
> + if (!chan_name)
> + return -ENOMEM;
> +
> + dsp_chan = &dsp_ipc->chans[i];
> + cl = &dsp_chan->cl;
> + cl->dev = dev->parent;
> + cl->tx_block = false;
> + cl->knows_txdone = false;
> + cl->tx_prepare = NULL;
> + cl->rx_callback = adsp_ipc_recv;
> +
> + dsp_chan->ipc = dsp_ipc;
> + dsp_chan->idx = i;
> + dsp_chan->ch = mbox_request_channel_byname(cl, chan_name);
> + if (IS_ERR(dsp_chan->ch)) {
> + ret = PTR_ERR(dsp_chan->ch);
> + if (ret != -EPROBE_DEFER)
> + dev_err(dev, "Failed to request mbox chan %d ret %d\n",
> + i, ret);
If ret == -EPROBE_DEFER, wouldn't it need to return -EPROBE_DEFER? It doesn't retry later if -EPROBE_DEFER.
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
WARNING: multiple messages have this Message-ID (diff)
From: Tzung-Bi Shih <tzungbi@google.com>
To: "allen-kh.cheng" <allen-kh.cheng@mediatek.com>
Cc: Jassi Brar <jassisinghbrar@gmail.com>,
Rob Herring <robh+dt@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
Linux-ALSA <alsa-devel@alsa-project.org>,
cujomalainey@google.com,
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
Kai Vehmanen <kai.vehmanen@linux.intel.com>,
Daniel Baluta <daniel.baluta@nxp.com>,
Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>,
Takashi Iwai <tiwai@suse.com>,
Project_Global_Chrome_Upstream_Group@mediatek.com,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org,
sound-open-firmware@alsa-project.org
Subject: Re: [PATCH v3 3/3] firmware: mediatek: add adsp ipc protocol interface
Date: Wed, 24 Nov 2021 18:25:30 +0800 [thread overview]
Message-ID: <YZ4TGvtwO5ySCEkT@google.com> (raw)
In-Reply-To: <20211124084514.28002-4-allen-kh.cheng@mediatek.com>
On Wed, Nov 24, 2021 at 04:45:14PM +0800, allen-kh.cheng wrote:
> drivers/firmware/Kconfig | 1 +
> drivers/firmware/Makefile | 1 +
> drivers/firmware/mediatek/Kconfig | 10 ++
> drivers/firmware/mediatek/Makefile | 2 +
> drivers/firmware/mediatek/mtk-adsp-ipc.c | 130 ++++++++++++++++++
> .../linux/firmware/mediatek/mtk-adsp-ipc.h | 72 ++++++++++
> 6 files changed, 216 insertions(+)
> create mode 100644 drivers/firmware/mediatek/Kconfig
> create mode 100644 drivers/firmware/mediatek/Makefile
> create mode 100644 drivers/firmware/mediatek/mtk-adsp-ipc.c
> create mode 100644 include/linux/firmware/mediatek/mtk-adsp-ipc.h
The patch should move before the 2nd patch in the series as the 2nd patch uses mtk-adsp-ipc.h.
> diff --git a/drivers/firmware/mediatek/mtk-adsp-ipc.c b/drivers/firmware/mediatek/mtk-adsp-ipc.c
[...]
> +int adsp_ipc_send(struct mtk_adsp_ipc *ipc, unsigned int idx, uint32_t op)
> +{
> + struct mtk_adsp_chan *dsp_chan = &ipc->chans[idx];
> + struct adsp_mbox_ch_info *ch_info = dsp_chan->ch->con_priv;
> + int ret;
> +
> + if (idx >= MTK_ADSP_MBOX_NUM)
> + return -EINVAL;
If idx >= MTK_ADSP_MBOX_NUM, the invalid memory access has occurred at beginning of the function.
> +static int mtk_adsp_ipc_probe(struct platform_device *pdev)
> +{
[...]
> + device_set_of_node_from_dev(&pdev->dev, pdev->dev.parent);
Why does it need to call device_set_of_node_from_dev()?
> + for (i = 0; i < MTK_ADSP_MBOX_NUM; i++) {
> + chan_name = kasprintf(GFP_KERNEL, "mbox%d", i);
> + if (!chan_name)
> + return -ENOMEM;
> +
> + dsp_chan = &dsp_ipc->chans[i];
> + cl = &dsp_chan->cl;
> + cl->dev = dev->parent;
> + cl->tx_block = false;
> + cl->knows_txdone = false;
> + cl->tx_prepare = NULL;
> + cl->rx_callback = adsp_ipc_recv;
> +
> + dsp_chan->ipc = dsp_ipc;
> + dsp_chan->idx = i;
> + dsp_chan->ch = mbox_request_channel_byname(cl, chan_name);
> + if (IS_ERR(dsp_chan->ch)) {
> + ret = PTR_ERR(dsp_chan->ch);
> + if (ret != -EPROBE_DEFER)
> + dev_err(dev, "Failed to request mbox chan %d ret %d\n",
> + i, ret);
If ret == -EPROBE_DEFER, wouldn't it need to return -EPROBE_DEFER? It doesn't retry later if -EPROBE_DEFER.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Tzung-Bi Shih <tzungbi@google.com>
To: "allen-kh.cheng" <allen-kh.cheng@mediatek.com>
Cc: Jassi Brar <jassisinghbrar@gmail.com>,
Rob Herring <robh+dt@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
Linux-ALSA <alsa-devel@alsa-project.org>,
cujomalainey@google.com,
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
Kai Vehmanen <kai.vehmanen@linux.intel.com>,
Daniel Baluta <daniel.baluta@nxp.com>,
Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>,
Takashi Iwai <tiwai@suse.com>,
Project_Global_Chrome_Upstream_Group@mediatek.com,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org,
sound-open-firmware@alsa-project.org
Subject: Re: [PATCH v3 3/3] firmware: mediatek: add adsp ipc protocol interface
Date: Wed, 24 Nov 2021 18:25:30 +0800 [thread overview]
Message-ID: <YZ4TGvtwO5ySCEkT@google.com> (raw)
In-Reply-To: <20211124084514.28002-4-allen-kh.cheng@mediatek.com>
On Wed, Nov 24, 2021 at 04:45:14PM +0800, allen-kh.cheng wrote:
> drivers/firmware/Kconfig | 1 +
> drivers/firmware/Makefile | 1 +
> drivers/firmware/mediatek/Kconfig | 10 ++
> drivers/firmware/mediatek/Makefile | 2 +
> drivers/firmware/mediatek/mtk-adsp-ipc.c | 130 ++++++++++++++++++
> .../linux/firmware/mediatek/mtk-adsp-ipc.h | 72 ++++++++++
> 6 files changed, 216 insertions(+)
> create mode 100644 drivers/firmware/mediatek/Kconfig
> create mode 100644 drivers/firmware/mediatek/Makefile
> create mode 100644 drivers/firmware/mediatek/mtk-adsp-ipc.c
> create mode 100644 include/linux/firmware/mediatek/mtk-adsp-ipc.h
The patch should move before the 2nd patch in the series as the 2nd patch uses mtk-adsp-ipc.h.
> diff --git a/drivers/firmware/mediatek/mtk-adsp-ipc.c b/drivers/firmware/mediatek/mtk-adsp-ipc.c
[...]
> +int adsp_ipc_send(struct mtk_adsp_ipc *ipc, unsigned int idx, uint32_t op)
> +{
> + struct mtk_adsp_chan *dsp_chan = &ipc->chans[idx];
> + struct adsp_mbox_ch_info *ch_info = dsp_chan->ch->con_priv;
> + int ret;
> +
> + if (idx >= MTK_ADSP_MBOX_NUM)
> + return -EINVAL;
If idx >= MTK_ADSP_MBOX_NUM, the invalid memory access has occurred at beginning of the function.
> +static int mtk_adsp_ipc_probe(struct platform_device *pdev)
> +{
[...]
> + device_set_of_node_from_dev(&pdev->dev, pdev->dev.parent);
Why does it need to call device_set_of_node_from_dev()?
> + for (i = 0; i < MTK_ADSP_MBOX_NUM; i++) {
> + chan_name = kasprintf(GFP_KERNEL, "mbox%d", i);
> + if (!chan_name)
> + return -ENOMEM;
> +
> + dsp_chan = &dsp_ipc->chans[i];
> + cl = &dsp_chan->cl;
> + cl->dev = dev->parent;
> + cl->tx_block = false;
> + cl->knows_txdone = false;
> + cl->tx_prepare = NULL;
> + cl->rx_callback = adsp_ipc_recv;
> +
> + dsp_chan->ipc = dsp_ipc;
> + dsp_chan->idx = i;
> + dsp_chan->ch = mbox_request_channel_byname(cl, chan_name);
> + if (IS_ERR(dsp_chan->ch)) {
> + ret = PTR_ERR(dsp_chan->ch);
> + if (ret != -EPROBE_DEFER)
> + dev_err(dev, "Failed to request mbox chan %d ret %d\n",
> + i, ret);
If ret == -EPROBE_DEFER, wouldn't it need to return -EPROBE_DEFER? It doesn't retry later if -EPROBE_DEFER.
next prev parent reply other threads:[~2021-11-24 10:27 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-24 8:45 [PATCH v3 0/3] This patches provide ADSP IPC support for MT8195 allen-kh.cheng
2021-11-24 8:45 ` allen-kh.cheng
2021-11-24 8:45 ` allen-kh.cheng
2021-11-24 8:45 ` [PATCH v3 1/3] dt-bindings: mediatek: add adsp-mbox document allen-kh.cheng
2021-11-24 8:45 ` allen-kh.cheng
2021-11-24 8:45 ` allen-kh.cheng
2021-11-24 8:45 ` [PATCH v3 2/3] mailbox: mediatek: add support for adsp mailbox controller allen-kh.cheng
2021-11-24 8:45 ` allen-kh.cheng
2021-11-24 8:45 ` allen-kh.cheng
2021-11-24 10:25 ` Tzung-Bi Shih
2021-11-24 10:25 ` Tzung-Bi Shih
2021-11-24 10:25 ` Tzung-Bi Shih
2021-11-24 10:25 ` Tzung-Bi Shih
2021-11-25 1:51 ` allen-kh.cheng
2021-11-25 1:51 ` allen-kh.cheng
2021-11-25 1:51 ` allen-kh.cheng
2021-11-25 6:23 ` Tzung-Bi Shih
2021-11-25 6:23 ` Tzung-Bi Shih
2021-11-25 6:23 ` Tzung-Bi Shih
2021-11-25 6:23 ` Tzung-Bi Shih
2021-11-25 8:24 ` allen-kh.cheng
2021-11-25 8:24 ` allen-kh.cheng
2021-11-25 8:24 ` allen-kh.cheng
2021-11-24 8:45 ` [PATCH v3 3/3] firmware: mediatek: add adsp ipc protocol interface allen-kh.cheng
2021-11-24 8:45 ` allen-kh.cheng
2021-11-24 8:45 ` allen-kh.cheng
2021-11-24 10:25 ` Tzung-Bi Shih [this message]
2021-11-24 10:25 ` Tzung-Bi Shih
2021-11-24 10:25 ` Tzung-Bi Shih
2021-11-24 10:25 ` Tzung-Bi Shih
2021-11-25 1:47 ` allen-kh.cheng
2021-11-25 1:47 ` allen-kh.cheng
2021-11-25 1:47 ` allen-kh.cheng
2021-11-25 6:26 ` Tzung-Bi Shih
2021-11-25 6:26 ` Tzung-Bi Shih
2021-11-25 6:26 ` Tzung-Bi Shih
2021-11-25 6:26 ` Tzung-Bi Shih
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YZ4TGvtwO5ySCEkT@google.com \
--to=tzungbi@google.com \
--cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
--cc=allen-kh.cheng@mediatek.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=cujomalainey@google.com \
--cc=daniel.baluta@nxp.com \
--cc=devicetree@vger.kernel.org \
--cc=jassisinghbrar@gmail.com \
--cc=kai.vehmanen@linux.intel.com \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=ranjani.sridharan@linux.intel.com \
--cc=robh+dt@kernel.org \
--cc=sound-open-firmware@alsa-project.org \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.