Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1439018 > unrolled thread

[PATCH 00/16] IPUv3 prep for i.MX5/6 v4l2 staging drivers

Started bySteve Longerbeam <slongerbeam@gmail.com>
First post2016-07-08 01:10 +0200
Last post2016-07-08 19:40 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 00/16] IPUv3 prep for i.MX5/6 v4l2 staging drivers Steve Longerbeam <slongerbeam@gmail.com> - 2016-07-08 01:10 +0200
    [PATCH 15/16] gpu: ipu-ic: allow multiple handles to ic Steve Longerbeam <slongerbeam@gmail.com> - 2016-07-08 01:20 +0200
    [PATCH 16/16] gpu: ipu-v3: rename CSI client device Steve Longerbeam <slongerbeam@gmail.com> - 2016-07-08 01:30 +0200
    Re: [PATCH 00/16] IPUv3 prep for i.MX5/6 v4l2 staging drivers Philipp Zabel <p.zabel@pengutronix.de> - 2016-07-08 19:40 +0200

#1439018 — [PATCH 00/16] IPUv3 prep for i.MX5/6 v4l2 staging drivers

FromSteve Longerbeam <slongerbeam@gmail.com>
Date2016-07-08 01:10 +0200
Subject[PATCH 00/16] IPUv3 prep for i.MX5/6 v4l2 staging drivers
Message-ID<rSqAF-51z-3@gated-at.bofh.it>
These updates to IPUv3 are needed for media staging drivers
for i.MX5/6 video capture and mem2mem.

Steve Longerbeam (15):
  gpu: ipu-v3: Add Video Deinterlacer unit
  gpu: ipu-cpmem: Add ipu_cpmem_set_uv_offset()
  gpu: ipu-cpmem: Add ipu_cpmem_get_burstsize()
  gpu: ipu-v3: Add ipu_get_num()
  gpu: ipu-v3: Add IDMA channel linking support
  gpu: ipu-v3: Add ipu_set_vdi_src_mux()
  gpu: ipu-v3: Add VDI input IDMAC channels
  gpu: ipu-v3: Add ipu_csi_set_src()
  gpu: ipu-v3: Add ipu_ic_set_src()
  gpu: ipu-v3: set correct full sensor frame for PAL/NTSC
  gpu: ipu-v3: Fix CSI data format for 16-bit media bus formats
  gpu: ipu-v3: Fix IRT usage
  gpu: ipu-ic: Add complete image conversion support with tiling
  gpu: ipu-ic: allow multiple handles to ic
  gpu: ipu-v3: rename CSI client device

Suresh Dhandapani (1):
  gpu: ipu-v3: Fix CSI0 blur in NTSC format

 drivers/gpu/ipu-v3/Makefile     |    2 +-
 drivers/gpu/ipu-v3/ipu-common.c |  155 +++-
 drivers/gpu/ipu-v3/ipu-cpmem.c  |   13 +
 drivers/gpu/ipu-v3/ipu-csi.c    |   36 +-
 drivers/gpu/ipu-v3/ipu-ic.c     | 1769 ++++++++++++++++++++++++++++++++++++++-
 drivers/gpu/ipu-v3/ipu-prv.h    |    7 +
 drivers/gpu/ipu-v3/ipu-vdi.c    |  266 ++++++
 include/video/imx-ipu-v3.h      |   96 ++-
 8 files changed, 2283 insertions(+), 61 deletions(-)
 create mode 100644 drivers/gpu/ipu-v3/ipu-vdi.c

-- 
1.9.1

[toc] | [next] | [standalone]


#1439022 — [PATCH 15/16] gpu: ipu-ic: allow multiple handles to ic

FromSteve Longerbeam <slongerbeam@gmail.com>
Date2016-07-08 01:20 +0200
Subject[PATCH 15/16] gpu: ipu-ic: allow multiple handles to ic
Message-ID<rSqKm-54R-9@gated-at.bofh.it>
In reply to#1439018
The image converter kernel API supports conversion contexts and
job queues, so we should allow more than one handle to the IC, so
that multiple users can add jobs to the queue.

Note however that users that control the IC manually (that do not
use the image converter APIs but setup the IC task by hand via calls
to ipu_ic_task_enable(), ipu_ic_enable(), etc.) must still be careful not
to share the IC handle with other threads. At this point, the only user
that still controls the IC manually is the i.mx capture driver. In that
case the capture driver only allows one open context to get a handle
to the IC at a time, so we should be ok there.

Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
---
 drivers/gpu/ipu-v3/ipu-ic.c | 25 +------------------------
 1 file changed, 1 insertion(+), 24 deletions(-)

diff --git a/drivers/gpu/ipu-v3/ipu-ic.c b/drivers/gpu/ipu-v3/ipu-ic.c
index f6a1125..51e34a1 100644
--- a/drivers/gpu/ipu-v3/ipu-ic.c
+++ b/drivers/gpu/ipu-v3/ipu-ic.c
@@ -342,7 +342,6 @@ struct ipu_ic {
 	enum ipu_color_space out_cs;
 	bool graphics;
 	bool rotation;
-	bool in_use;
 
 	struct image_converter cvt;
 
@@ -2380,38 +2379,16 @@ EXPORT_SYMBOL_GPL(ipu_ic_disable);
 struct ipu_ic *ipu_ic_get(struct ipu_soc *ipu, enum ipu_ic_task task)
 {
 	struct ipu_ic_priv *priv = ipu->ic_priv;
-	unsigned long flags;
-	struct ipu_ic *ic, *ret;
 
 	if (task >= IC_NUM_TASKS)
 		return ERR_PTR(-EINVAL);
 
-	ic = &priv->task[task];
-
-	spin_lock_irqsave(&priv->lock, flags);
-
-	if (ic->in_use) {
-		ret = ERR_PTR(-EBUSY);
-		goto unlock;
-	}
-
-	ic->in_use = true;
-	ret = ic;
-
-unlock:
-	spin_unlock_irqrestore(&priv->lock, flags);
-	return ret;
+	return &priv->task[task];
 }
 EXPORT_SYMBOL_GPL(ipu_ic_get);
 
 void ipu_ic_put(struct ipu_ic *ic)
 {
-	struct ipu_ic_priv *priv = ic->priv;
-	unsigned long flags;
-
-	spin_lock_irqsave(&priv->lock, flags);
-	ic->in_use = false;
-	spin_unlock_irqrestore(&priv->lock, flags);
 }
 EXPORT_SYMBOL_GPL(ipu_ic_put);
 
-- 
1.9.1

[toc] | [prev] | [next] | [standalone]


#1439026 — [PATCH 16/16] gpu: ipu-v3: rename CSI client device

FromSteve Longerbeam <slongerbeam@gmail.com>
Date2016-07-08 01:30 +0200
Subject[PATCH 16/16] gpu: ipu-v3: rename CSI client device
Message-ID<rSqU2-59D-3@gated-at.bofh.it>
In reply to#1439018
Rename the CSI client device in the client_reg[] table to
"imx-ipuv3-csi".

Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
---
 drivers/gpu/ipu-v3/ipu-common.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-common.c
index 374100e..bd6771b 100644
--- a/drivers/gpu/ipu-v3/ipu-common.c
+++ b/drivers/gpu/ipu-v3/ipu-common.c
@@ -1153,14 +1153,14 @@ static struct ipu_platform_reg client_reg[] = {
 			.dma[0] = IPUV3_CHANNEL_CSI0,
 			.dma[1] = -EINVAL,
 		},
-		.name = "imx-ipuv3-camera",
+		.name = "imx-ipuv3-csi",
 	}, {
 		.pdata = {
 			.csi = 1,
 			.dma[0] = IPUV3_CHANNEL_CSI1,
 			.dma[1] = -EINVAL,
 		},
-		.name = "imx-ipuv3-camera",
+		.name = "imx-ipuv3-csi",
 	}, {
 		.pdata = {
 			.di = 0,
-- 
1.9.1

[toc] | [prev] | [next] | [standalone]


#1439718

FromPhilipp Zabel <p.zabel@pengutronix.de>
Date2016-07-08 19:40 +0200
Message-ID<rSHUT-7Ss-39@gated-at.bofh.it>
In reply to#1439018
Hi Steve,

Am Donnerstag, den 07.07.2016, 16:03 -0700 schrieb Steve Longerbeam:
> These updates to IPUv3 are needed for media staging drivers
> for i.MX5/6 video capture and mem2mem.

Thank you for the update, I'll have a proper look at this next week.

regards
Philipp

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web