diff mbox

[v3] media: soc_camera: rcar_vin: Add ARGB8888 caputre format support

Message ID 1452707964-4379-1-git-send-email-ykaneko0929@gmail.com (mailing list archive)
State Superseded
Delegated to: Geert Uytterhoeven
Headers show

Commit Message

Yoshihiro Kaneko Jan. 13, 2016, 5:59 p.m. UTC
From: Koji Matsuoka <koji.matsuoka.xm@renesas.com>

This patch adds ARGB8888 capture format support for R-Car Gen3.

Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
---

This patch is based on the for-4.6-1 branch of Guennadi's v4l-dvb tree.

v3 [Yoshihiro Kaneko]
* rebased to for-4.6-1 branch of Guennadi's tree.

v2 [Yoshihiro Kaneko]
* As suggested by Sergei Shtylyov
  - fix the coding style of the braces.

 drivers/media/platform/soc_camera/rcar_vin.c | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

Comments

kernel test robot Jan. 13, 2016, 6:18 p.m. UTC | #1
Hi Koji,

[auto build test ERROR on linuxtv-media/master]
[also build test ERROR on v4.4 next-20160113]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url:    https://github.com/0day-ci/linux/commits/Yoshihiro-Kaneko/media-soc_camera-rcar_vin-Add-ARGB8888-caputre-format-support/20160114-020157
base:   git://linuxtv.org/media_tree.git master
config: xtensa-allyesconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=xtensa 

All errors (new ones prefixed by >>):

   drivers/media/platform/soc_camera/rcar_vin.c: In function 'rcar_vin_setup':
>> drivers/media/platform/soc_camera/rcar_vin.c:657:21: error: 'RCAR_GEN3' undeclared (first use in this function)
      if (priv->chip == RCAR_GEN3) {
                        ^
   drivers/media/platform/soc_camera/rcar_vin.c:657:21: note: each undeclared identifier is reported only once for each function it appears in

vim +/RCAR_GEN3 +657 drivers/media/platform/soc_camera/rcar_vin.c

   651			if (priv->chip == RCAR_GEN2 || priv->chip == RCAR_H1 ||
   652			    priv->chip == RCAR_E1) {
   653				dmr = VNDMR_EXRGB;
   654				break;
   655			}
   656		case V4L2_PIX_FMT_ARGB32:
 > 657			if (priv->chip == RCAR_GEN3) {
   658				dmr = VNDMR_EXRGB | VNDMR_DTMD_ARGB;
   659			} else {
   660				dev_err(icd->parent, "Not support format\n");

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
Sergei Shtylyov Jan. 13, 2016, 6:27 p.m. UTC | #2
Hello.

On 01/13/2016 08:59 PM, Yoshihiro Kaneko wrote:

> From: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
>
> This patch adds ARGB8888 capture format support for R-Car Gen3.
>
> Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
> ---
>
> This patch is based on the for-4.6-1 branch of Guennadi's v4l-dvb tree.
>
> v3 [Yoshihiro Kaneko]
> * rebased to for-4.6-1 branch of Guennadi's tree.
>
> v2 [Yoshihiro Kaneko]
> * As suggested by Sergei Shtylyov
>    - fix the coding style of the braces.
>
>   drivers/media/platform/soc_camera/rcar_vin.c | 21 +++++++++++++++++++--
>   1 file changed, 19 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/soc_camera/rcar_vin.c b/drivers/media/platform/soc_camera/rcar_vin.c
> index dc75a80..466c63a 100644
> --- a/drivers/media/platform/soc_camera/rcar_vin.c
> +++ b/drivers/media/platform/soc_camera/rcar_vin.c
[...]
> @@ -654,6 +654,14 @@ static int rcar_vin_setup(struct rcar_vin_priv *priv)
>   			dmr = VNDMR_EXRGB;
>   			break;
>   		}
> +	case V4L2_PIX_FMT_ARGB32:
> +		if (priv->chip == RCAR_GEN3) {
> +			dmr = VNDMR_EXRGB | VNDMR_DTMD_ARGB;
> +		} else {
> +			dev_err(icd->parent, "Not support format\n");

    "Unsupported format" please.

[...]

MBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/media/platform/soc_camera/rcar_vin.c b/drivers/media/platform/soc_camera/rcar_vin.c
index dc75a80..466c63a 100644
--- a/drivers/media/platform/soc_camera/rcar_vin.c
+++ b/drivers/media/platform/soc_camera/rcar_vin.c
@@ -124,7 +124,7 @@ 
 #define VNDMR_EXRGB		(1 << 8)
 #define VNDMR_BPSM		(1 << 4)
 #define VNDMR_DTMD_YCSEP	(1 << 1)
-#define VNDMR_DTMD_ARGB1555	(1 << 0)
+#define VNDMR_DTMD_ARGB		(1 << 0)
 
 /* Video n Data Mode Register 2 bits */
 #define VNDMR2_VPS		(1 << 30)
@@ -643,7 +643,7 @@  static int rcar_vin_setup(struct rcar_vin_priv *priv)
 		output_is_yuv = true;
 		break;
 	case V4L2_PIX_FMT_RGB555X:
-		dmr = VNDMR_DTMD_ARGB1555;
+		dmr = VNDMR_DTMD_ARGB;
 		break;
 	case V4L2_PIX_FMT_RGB565:
 		dmr = 0;
@@ -654,6 +654,14 @@  static int rcar_vin_setup(struct rcar_vin_priv *priv)
 			dmr = VNDMR_EXRGB;
 			break;
 		}
+	case V4L2_PIX_FMT_ARGB32:
+		if (priv->chip == RCAR_GEN3) {
+			dmr = VNDMR_EXRGB | VNDMR_DTMD_ARGB;
+		} else {
+			dev_err(icd->parent, "Not support format\n");
+			return -EINVAL;
+		}
+		break;
 	default:
 		dev_warn(icd->parent, "Invalid fourcc format (0x%x)\n",
 			 icd->current_fmt->host_fmt->fourcc);
@@ -1304,6 +1312,14 @@  static const struct soc_mbus_pixelfmt rcar_vin_formats[] = {
 		.order			= SOC_MBUS_ORDER_LE,
 		.layout			= SOC_MBUS_LAYOUT_PACKED,
 	},
+	{
+		.fourcc			= V4L2_PIX_FMT_ARGB32,
+		.name			= "ARGB8888",
+		.bits_per_sample	= 32,
+		.packing		= SOC_MBUS_PACKING_NONE,
+		.order			= SOC_MBUS_ORDER_LE,
+		.layout			= SOC_MBUS_LAYOUT_PACKED,
+	},
 };
 
 static int rcar_vin_get_formats(struct soc_camera_device *icd, unsigned int idx,
@@ -1611,6 +1627,7 @@  static int rcar_vin_set_fmt(struct soc_camera_device *icd,
 	case V4L2_PIX_FMT_RGB32:
 		can_scale = priv->chip != RCAR_E1;
 		break;
+	case V4L2_PIX_FMT_ARGB32:
 	case V4L2_PIX_FMT_UYVY:
 	case V4L2_PIX_FMT_YUYV:
 	case V4L2_PIX_FMT_RGB565: