[media] v4l: vsp1: Fix tri-planar format support through DRM API
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Thu, 18 Aug 2016 13:16:17 +0000 (10:16 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 9 Sep 2016 14:32:19 +0000 (11:32 -0300)
The vsp1 driver supports tri-planar formats, but the DRM API only passes
two memory addresses. Add a third one.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/platform/vsp1/vsp1_drm.c
include/media/vsp1.h

index fe9665e57b3b05efe52ee98aacdac48677213a55..06972f612263c39ae4bedfa59a7fafb7adcda2d2 100644 (file)
@@ -276,12 +276,12 @@ int vsp1_du_atomic_update(struct device *dev, unsigned int rpf_index,
        }
 
        dev_dbg(vsp1->dev,
-               "%s: RPF%u: (%u,%u)/%ux%u -> (%u,%u)/%ux%u (%08x), pitch %u dma { %pad, %pad } zpos %u\n",
+               "%s: RPF%u: (%u,%u)/%ux%u -> (%u,%u)/%ux%u (%08x), pitch %u dma { %pad, %pad, %pad } zpos %u\n",
                __func__, rpf_index,
                cfg->src.left, cfg->src.top, cfg->src.width, cfg->src.height,
                cfg->dst.left, cfg->dst.top, cfg->dst.width, cfg->dst.height,
                cfg->pixelformat, cfg->pitch, &cfg->mem[0], &cfg->mem[1],
-               cfg->zpos);
+               &cfg->mem[2], cfg->zpos);
 
        /* Store the format, stride, memory buffer address, crop and compose
         * rectangles and Z-order position and for the input.
@@ -301,7 +301,7 @@ int vsp1_du_atomic_update(struct device *dev, unsigned int rpf_index,
 
        rpf->mem.addr[0] = cfg->mem[0];
        rpf->mem.addr[1] = cfg->mem[1];
-       rpf->mem.addr[2] = 0;
+       rpf->mem.addr[2] = cfg->mem[2];
 
        vsp1->drm->inputs[rpf_index].crop = cfg->src;
        vsp1->drm->inputs[rpf_index].compose = cfg->dst;
index 9322d9775fb7e1a0dc4958bc56d6801397d8cab4..458b400373d44daf6d2fee8b2a971eb0e326d2c6 100644 (file)
@@ -26,7 +26,7 @@ int vsp1_du_setup_lif(struct device *dev, unsigned int width,
 struct vsp1_du_atomic_config {
        u32 pixelformat;
        unsigned int pitch;
-       dma_addr_t mem[2];
+       dma_addr_t mem[3];
        struct v4l2_rect src;
        struct v4l2_rect dst;
        unsigned int alpha;