All of lore.kernel.org
 help / color / mirror / Atom feed
From: tiffany lin <tiffany.lin@mediatek.com>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Hans Verkuil <hans.verkuil@cisco.com>,
	<daniel.thompson@linaro.org>, "Rob Herring" <robh+dt@kernel.org>,
	Mauro Carvalho Chehab <mchehab@osg.samsung.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Daniel Kurtz <djkurtz@chromium.org>,
	Pawel Osciak <posciak@chromium.org>,
	Eddie Huang <eddie.huang@mediatek.com>,
	Yingjoe Chen <yingjoe.chen@mediatek.com>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-media@vger.kernel.org>,
	<linux-mediatek@lists.infradead.org>, <PoChun.Lin@mediatek.com>,
	Andrew-CT Chen <andrew-ct.chen@mediatek.com>
Subject: Re: [PATCH v4 2/8] [media] VPU: mediatek: support Mediatek VPU
Date: Mon, 15 Feb 2016 19:20:14 +0800	[thread overview]
Message-ID: <1455535214.27088.2.camel@mtksdaap41> (raw)
In-Reply-To: <56C1A36D.6010908@xs4all.nl>

Hi Hans,

On Mon, 2016-02-15 at 11:07 +0100, Hans Verkuil wrote:
> Hi Tiffany,
> 
> A small review comment below:
> 
> On 02/04/2016 12:34 PM, Tiffany Lin wrote:
> > The VPU driver for hw video codec embedded in Mediatek's MT8173 SOCs.
> > It is able to handle video decoding/encoding of in a range of formats.
> > The driver provides with VPU firmware download, memory management and
> > the communication interface between CPU and VPU.
> > For VPU initialization, it will create virtual memory for CPU access and
> > IOMMU address for vcodec hw device access. When a decode/encode instance
> > opens a device node, vpu driver will download vpu firmware to the device.
> > A decode/encode instant will decode/encode a frame using VPU
> > interface to interrupt vpu to handle decoding/encoding jobs.
> > 
> > Signed-off-by: Andrew-CT Chen <andrew-ct.chen@mediatek.com>
> > Signed-off-by: Tiffany Lin <tiffany.lin@mediatek.com>
> > ---
> >  drivers/media/platform/Kconfig           |    9 +
> >  drivers/media/platform/Makefile          |    2 +
> >  drivers/media/platform/mtk-vpu/Makefile  |    1 +
> >  drivers/media/platform/mtk-vpu/mtk_vpu.c |  994 ++++++++++++++++++++++++++++++
> >  drivers/media/platform/mtk-vpu/mtk_vpu.h |  167 +++++
> >  5 files changed, 1173 insertions(+)
> >  create mode 100644 drivers/media/platform/mtk-vpu/Makefile
> >  create mode 100644 drivers/media/platform/mtk-vpu/mtk_vpu.c
> >  create mode 100644 drivers/media/platform/mtk-vpu/mtk_vpu.h
> > 
> 
> <snip>
> 
> > diff --git a/drivers/media/platform/mtk-vpu/mtk_vpu.c b/drivers/media/platform/mtk-vpu/mtk_vpu.c
> > new file mode 100644
> > index 0000000..f54fd89
> > --- /dev/null
> > +++ b/drivers/media/platform/mtk-vpu/mtk_vpu.c
> > @@ -0,0 +1,994 @@
> 
> <snip>
> 
> > +static ssize_t vpu_debug_read(struct file *file, char __user *user_buf,
> > +			      size_t count, loff_t *ppos)
> > +{
> > +	char buf[256];
> > +	unsigned int len;
> > +	unsigned int running, pc, vpu_to_host, host_to_vpu, wdt;
> > +	int ret;
> > +	struct device *dev = file->private_data;
> > +	struct mtk_vpu *vpu = dev_get_drvdata(dev);
> > +
> > +	ret = vpu_clock_enable(vpu);
> > +	if (ret) {
> > +		dev_err(vpu->dev, "[VPU] enable clock failed %d\n", ret);
> > +		return 0;
> > +	}
> > +
> > +	/* vpu register status */
> > +	running = vpu_running(vpu);
> > +	pc = vpu_cfg_readl(vpu, VPU_PC_REG);
> > +	wdt = vpu_cfg_readl(vpu, VPU_WDT_REG);
> > +	host_to_vpu = vpu_cfg_readl(vpu, HOST_TO_VPU);
> > +	vpu_to_host = vpu_cfg_readl(vpu, VPU_TO_HOST);
> > +	vpu_clock_disable(vpu);
> > +
> > +	if (running) {
> > +		len = sprintf(buf, "VPU is running\n\n"
> 
> Please use snprintf.
> 
Got it, we will fix this in next version.

> > +		"FW Version: %s\n"
> > +		"PC: 0x%x\n"
> > +		"WDT: 0x%x\n"
> > +		"Host to VPU: 0x%x\n"
> > +		"VPU to Host: 0x%x\n",
> > +		vpu->run.fw_ver, pc, wdt,
> > +		host_to_vpu, vpu_to_host);
> > +	} else {
> > +		len = sprintf(buf, "VPU not running\n");
> 
> Ditto.
> 
> sprintf always makes me feel uncomfortable :-)
> 
Sorry about that, we will check patch series and remove all sprintf in
next version.

> > +	}
> > +
> > +	return simple_read_from_buffer(user_buf, count, ppos, buf, len);
> > +}
> 
> Regards,
> 
> 	Hans
> 

WARNING: multiple messages have this Message-ID (diff)
From: tiffany lin <tiffany.lin@mediatek.com>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Hans Verkuil <hans.verkuil@cisco.com>,
	daniel.thompson@linaro.org, Rob Herring <robh+dt@kernel.org>,
	Mauro Carvalho Chehab <mchehab@osg.samsung.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Daniel Kurtz <djkurtz@chromium.org>,
	Pawel Osciak <posciak@chromium.org>,
	Eddie Huang <eddie.huang@mediatek.com>,
	Yingjoe Chen <yingjoe.chen@mediatek.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-media@vger.kernel.org, linux-mediatek@lists.infradead.org,
	PoChun.Lin@mediatek.com,
	Andrew-CT Chen <andrew-ct.chen@mediatek.com>
Subject: Re: [PATCH v4 2/8] [media] VPU: mediatek: support Mediatek VPU
Date: Mon, 15 Feb 2016 19:20:14 +0800	[thread overview]
Message-ID: <1455535214.27088.2.camel@mtksdaap41> (raw)
In-Reply-To: <56C1A36D.6010908@xs4all.nl>

Hi Hans,

On Mon, 2016-02-15 at 11:07 +0100, Hans Verkuil wrote:
> Hi Tiffany,
> 
> A small review comment below:
> 
> On 02/04/2016 12:34 PM, Tiffany Lin wrote:
> > The VPU driver for hw video codec embedded in Mediatek's MT8173 SOCs.
> > It is able to handle video decoding/encoding of in a range of formats.
> > The driver provides with VPU firmware download, memory management and
> > the communication interface between CPU and VPU.
> > For VPU initialization, it will create virtual memory for CPU access and
> > IOMMU address for vcodec hw device access. When a decode/encode instance
> > opens a device node, vpu driver will download vpu firmware to the device.
> > A decode/encode instant will decode/encode a frame using VPU
> > interface to interrupt vpu to handle decoding/encoding jobs.
> > 
> > Signed-off-by: Andrew-CT Chen <andrew-ct.chen@mediatek.com>
> > Signed-off-by: Tiffany Lin <tiffany.lin@mediatek.com>
> > ---
> >  drivers/media/platform/Kconfig           |    9 +
> >  drivers/media/platform/Makefile          |    2 +
> >  drivers/media/platform/mtk-vpu/Makefile  |    1 +
> >  drivers/media/platform/mtk-vpu/mtk_vpu.c |  994 ++++++++++++++++++++++++++++++
> >  drivers/media/platform/mtk-vpu/mtk_vpu.h |  167 +++++
> >  5 files changed, 1173 insertions(+)
> >  create mode 100644 drivers/media/platform/mtk-vpu/Makefile
> >  create mode 100644 drivers/media/platform/mtk-vpu/mtk_vpu.c
> >  create mode 100644 drivers/media/platform/mtk-vpu/mtk_vpu.h
> > 
> 
> <snip>
> 
> > diff --git a/drivers/media/platform/mtk-vpu/mtk_vpu.c b/drivers/media/platform/mtk-vpu/mtk_vpu.c
> > new file mode 100644
> > index 0000000..f54fd89
> > --- /dev/null
> > +++ b/drivers/media/platform/mtk-vpu/mtk_vpu.c
> > @@ -0,0 +1,994 @@
> 
> <snip>
> 
> > +static ssize_t vpu_debug_read(struct file *file, char __user *user_buf,
> > +			      size_t count, loff_t *ppos)
> > +{
> > +	char buf[256];
> > +	unsigned int len;
> > +	unsigned int running, pc, vpu_to_host, host_to_vpu, wdt;
> > +	int ret;
> > +	struct device *dev = file->private_data;
> > +	struct mtk_vpu *vpu = dev_get_drvdata(dev);
> > +
> > +	ret = vpu_clock_enable(vpu);
> > +	if (ret) {
> > +		dev_err(vpu->dev, "[VPU] enable clock failed %d\n", ret);
> > +		return 0;
> > +	}
> > +
> > +	/* vpu register status */
> > +	running = vpu_running(vpu);
> > +	pc = vpu_cfg_readl(vpu, VPU_PC_REG);
> > +	wdt = vpu_cfg_readl(vpu, VPU_WDT_REG);
> > +	host_to_vpu = vpu_cfg_readl(vpu, HOST_TO_VPU);
> > +	vpu_to_host = vpu_cfg_readl(vpu, VPU_TO_HOST);
> > +	vpu_clock_disable(vpu);
> > +
> > +	if (running) {
> > +		len = sprintf(buf, "VPU is running\n\n"
> 
> Please use snprintf.
> 
Got it, we will fix this in next version.

> > +		"FW Version: %s\n"
> > +		"PC: 0x%x\n"
> > +		"WDT: 0x%x\n"
> > +		"Host to VPU: 0x%x\n"
> > +		"VPU to Host: 0x%x\n",
> > +		vpu->run.fw_ver, pc, wdt,
> > +		host_to_vpu, vpu_to_host);
> > +	} else {
> > +		len = sprintf(buf, "VPU not running\n");
> 
> Ditto.
> 
> sprintf always makes me feel uncomfortable :-)
> 
Sorry about that, we will check patch series and remove all sprintf in
next version.

> > +	}
> > +
> > +	return simple_read_from_buffer(user_buf, count, ppos, buf, len);
> > +}
> 
> Regards,
> 
> 	Hans
> 

WARNING: multiple messages have this Message-ID (diff)
From: tiffany.lin@mediatek.com (tiffany lin)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 2/8] [media] VPU: mediatek: support Mediatek VPU
Date: Mon, 15 Feb 2016 19:20:14 +0800	[thread overview]
Message-ID: <1455535214.27088.2.camel@mtksdaap41> (raw)
In-Reply-To: <56C1A36D.6010908@xs4all.nl>

Hi Hans,

On Mon, 2016-02-15 at 11:07 +0100, Hans Verkuil wrote:
> Hi Tiffany,
> 
> A small review comment below:
> 
> On 02/04/2016 12:34 PM, Tiffany Lin wrote:
> > The VPU driver for hw video codec embedded in Mediatek's MT8173 SOCs.
> > It is able to handle video decoding/encoding of in a range of formats.
> > The driver provides with VPU firmware download, memory management and
> > the communication interface between CPU and VPU.
> > For VPU initialization, it will create virtual memory for CPU access and
> > IOMMU address for vcodec hw device access. When a decode/encode instance
> > opens a device node, vpu driver will download vpu firmware to the device.
> > A decode/encode instant will decode/encode a frame using VPU
> > interface to interrupt vpu to handle decoding/encoding jobs.
> > 
> > Signed-off-by: Andrew-CT Chen <andrew-ct.chen@mediatek.com>
> > Signed-off-by: Tiffany Lin <tiffany.lin@mediatek.com>
> > ---
> >  drivers/media/platform/Kconfig           |    9 +
> >  drivers/media/platform/Makefile          |    2 +
> >  drivers/media/platform/mtk-vpu/Makefile  |    1 +
> >  drivers/media/platform/mtk-vpu/mtk_vpu.c |  994 ++++++++++++++++++++++++++++++
> >  drivers/media/platform/mtk-vpu/mtk_vpu.h |  167 +++++
> >  5 files changed, 1173 insertions(+)
> >  create mode 100644 drivers/media/platform/mtk-vpu/Makefile
> >  create mode 100644 drivers/media/platform/mtk-vpu/mtk_vpu.c
> >  create mode 100644 drivers/media/platform/mtk-vpu/mtk_vpu.h
> > 
> 
> <snip>
> 
> > diff --git a/drivers/media/platform/mtk-vpu/mtk_vpu.c b/drivers/media/platform/mtk-vpu/mtk_vpu.c
> > new file mode 100644
> > index 0000000..f54fd89
> > --- /dev/null
> > +++ b/drivers/media/platform/mtk-vpu/mtk_vpu.c
> > @@ -0,0 +1,994 @@
> 
> <snip>
> 
> > +static ssize_t vpu_debug_read(struct file *file, char __user *user_buf,
> > +			      size_t count, loff_t *ppos)
> > +{
> > +	char buf[256];
> > +	unsigned int len;
> > +	unsigned int running, pc, vpu_to_host, host_to_vpu, wdt;
> > +	int ret;
> > +	struct device *dev = file->private_data;
> > +	struct mtk_vpu *vpu = dev_get_drvdata(dev);
> > +
> > +	ret = vpu_clock_enable(vpu);
> > +	if (ret) {
> > +		dev_err(vpu->dev, "[VPU] enable clock failed %d\n", ret);
> > +		return 0;
> > +	}
> > +
> > +	/* vpu register status */
> > +	running = vpu_running(vpu);
> > +	pc = vpu_cfg_readl(vpu, VPU_PC_REG);
> > +	wdt = vpu_cfg_readl(vpu, VPU_WDT_REG);
> > +	host_to_vpu = vpu_cfg_readl(vpu, HOST_TO_VPU);
> > +	vpu_to_host = vpu_cfg_readl(vpu, VPU_TO_HOST);
> > +	vpu_clock_disable(vpu);
> > +
> > +	if (running) {
> > +		len = sprintf(buf, "VPU is running\n\n"
> 
> Please use snprintf.
> 
Got it, we will fix this in next version.

> > +		"FW Version: %s\n"
> > +		"PC: 0x%x\n"
> > +		"WDT: 0x%x\n"
> > +		"Host to VPU: 0x%x\n"
> > +		"VPU to Host: 0x%x\n",
> > +		vpu->run.fw_ver, pc, wdt,
> > +		host_to_vpu, vpu_to_host);
> > +	} else {
> > +		len = sprintf(buf, "VPU not running\n");
> 
> Ditto.
> 
> sprintf always makes me feel uncomfortable :-)
> 
Sorry about that, we will check patch series and remove all sprintf in
next version.

> > +	}
> > +
> > +	return simple_read_from_buffer(user_buf, count, ppos, buf, len);
> > +}
> 
> Regards,
> 
> 	Hans
> 

  reply	other threads:[~2016-02-15 11:20 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-04 11:34 [PATCH v4 0/8] Add MT8173 Video Encoder Driver and VPU Driver Tiffany Lin
2016-02-04 11:34 ` Tiffany Lin
2016-02-04 11:34 ` Tiffany Lin
2016-02-04 11:34 ` [PATCH v4 1/8] dt-bindings: Add a binding for Mediatek Video Processor Tiffany Lin
2016-02-04 11:34   ` Tiffany Lin
2016-02-04 11:34   ` Tiffany Lin
2016-02-04 11:34   ` [PATCH v4 2/8] [media] VPU: mediatek: support Mediatek VPU Tiffany Lin
2016-02-04 11:34     ` Tiffany Lin
2016-02-04 11:34     ` Tiffany Lin
2016-02-04 11:34     ` [PATCH v4 3/8] arm64: dts: mediatek: Add node for Mediatek Video Processor Unit Tiffany Lin
2016-02-04 11:34       ` Tiffany Lin
2016-02-04 11:34       ` Tiffany Lin
2016-02-04 11:34       ` [PATCH v4 4/8] dt-bindings: Add a binding for Mediatek Video Encoder Tiffany Lin
2016-02-04 11:34         ` Tiffany Lin
2016-02-04 11:34         ` Tiffany Lin
2016-02-04 11:35         ` [PATCH v4 5/8] [Media] vcodec: mediatek: Add Mediatek V4L2 Video Encoder Driver Tiffany Lin
2016-02-04 11:35           ` Tiffany Lin
2016-02-04 11:35           ` [PATCH v4 6/8] [media] vcodec: mediatek: Add Mediatek VP8 " Tiffany Lin
2016-02-04 11:35             ` Tiffany Lin
2016-02-04 11:35             ` Tiffany Lin
2016-02-04 11:35             ` [PATCH v4 7/8] [media] vcodec: mediatek: Add Mediatek H264 " Tiffany Lin
2016-02-04 11:35               ` Tiffany Lin
2016-02-04 11:35               ` Tiffany Lin
2016-02-04 11:35               ` [PATCH v4 8/8] arm64: dts: mediatek: Add Video Encoder for MT8173 Tiffany Lin
2016-02-04 11:35                 ` Tiffany Lin
2016-02-04 11:35                 ` Tiffany Lin
2016-02-15 11:33               ` [PATCH v4 7/8] [media] vcodec: mediatek: Add Mediatek H264 Video Encoder Driver Hans Verkuil
2016-02-15 11:33                 ` Hans Verkuil
2016-02-16 11:57                 ` pochun lin
2016-02-16 11:57                   ` pochun lin
2016-02-16 11:57                   ` pochun lin
2016-02-15 11:21           ` [PATCH v4 5/8] [Media] vcodec: mediatek: Add Mediatek V4L2 " Hans Verkuil
2016-02-16  6:37             ` tiffany lin
2016-02-16  6:37               ` tiffany lin
2016-02-16  7:44               ` Hans Verkuil
2016-02-16  7:44                 ` Hans Verkuil
2016-02-16  7:44                 ` Hans Verkuil
2016-02-16 13:20                 ` tiffany lin
2016-02-16 13:20                   ` tiffany lin
2016-02-16 13:20                   ` tiffany lin
2016-02-16 13:48                   ` Hans Verkuil
2016-02-16 13:48                     ` Hans Verkuil
2016-02-17  8:01                     ` tiffany lin
2016-02-17  8:01                       ` tiffany lin
2016-02-17  8:01                       ` tiffany lin
2016-02-17  8:31                       ` Hans Verkuil
2016-02-17  8:31                         ` Hans Verkuil
2016-02-17  9:23                         ` tiffany lin
2016-02-17  9:23                           ` tiffany lin
2016-02-17  9:23                           ` tiffany lin
2016-02-20  9:11                 ` tiffany lin
2016-02-20  9:11                   ` tiffany lin
2016-02-20  9:11                   ` tiffany lin
2016-02-20  9:18                   ` Hans Verkuil
2016-02-20  9:18                     ` Hans Verkuil
2016-02-20  9:18                     ` Hans Verkuil
2016-02-22 15:19                     ` tiffany lin
2016-02-22 15:19                       ` tiffany lin
2016-02-22 15:19                       ` tiffany lin
2016-02-17  7:47               ` Hans Verkuil
2016-02-17  7:47                 ` Hans Verkuil
2016-02-17  8:33                 ` tiffany lin
2016-02-17  8:33                   ` tiffany lin
2016-02-17  8:33                   ` tiffany lin
2016-02-23  5:46           ` Wu-Cheng Li (李務誠)
2016-02-24  8:26             ` tiffany lin
2016-02-24  8:26               ` tiffany lin
2016-02-08 18:56         ` [PATCH v4 4/8] dt-bindings: Add a binding for Mediatek Video Encoder Rob Herring
2016-02-08 18:56           ` Rob Herring
2016-02-08 18:56           ` Rob Herring
2016-02-09 11:29         ` Daniel Kurtz
2016-02-09 11:29           ` Daniel Kurtz
2016-02-09 11:29           ` Daniel Kurtz
2016-02-15 10:42           ` Daniel Kurtz
2016-02-15 10:42             ` Daniel Kurtz
2016-02-15 10:42             ` Daniel Kurtz
2016-02-16  2:09             ` tiffany lin
2016-02-16  2:09               ` tiffany lin
2016-02-16  2:09               ` tiffany lin
2016-02-16  2:09               ` tiffany lin
2016-02-15 10:07     ` [PATCH v4 2/8] [media] VPU: mediatek: support Mediatek VPU Hans Verkuil
2016-02-15 10:07       ` Hans Verkuil
2016-02-15 11:20       ` tiffany lin [this message]
2016-02-15 11:20         ` tiffany lin
2016-02-15 11:20         ` tiffany lin
2016-02-15 10:13     ` Hans Verkuil
2016-02-15 10:13       ` Hans Verkuil
2016-02-15 11:27       ` tiffany lin
2016-02-15 11:27         ` tiffany lin
2016-02-15 11:27         ` tiffany lin
2016-02-15 13:59     ` Wu-Cheng Li (李務誠)
2016-02-15 13:59       ` Wu-Cheng Li (李務誠)
2016-02-16  9:36       ` andrew-ct chen
2016-02-16  9:36         ` andrew-ct chen
2016-02-16  9:36         ` andrew-ct chen
2016-02-08 18:54   ` [PATCH v4 1/8] dt-bindings: Add a binding for Mediatek Video Processor Rob Herring
2016-02-08 18:54     ` Rob Herring
2016-02-15 12:04 ` [PATCH v4 0/8] Add MT8173 Video Encoder Driver and VPU Driver Hans Verkuil
2016-02-15 12:04   ` Hans Verkuil
2016-02-16  6:46   ` tiffany lin
2016-02-16  6:46     ` tiffany lin
2016-02-16  6:46     ` tiffany lin

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=1455535214.27088.2.camel@mtksdaap41 \
    --to=tiffany.lin@mediatek.com \
    --cc=PoChun.Lin@mediatek.com \
    --cc=andrew-ct.chen@mediatek.com \
    --cc=daniel.thompson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=djkurtz@chromium.org \
    --cc=eddie.huang@mediatek.com \
    --cc=hans.verkuil@cisco.com \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=mchehab@osg.samsung.com \
    --cc=posciak@chromium.org \
    --cc=robh+dt@kernel.org \
    --cc=yingjoe.chen@mediatek.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.