1. 11 8月, 2015 1 次提交
    • M
      [media] V4L2: platform: Add Renesas R-Car JPEG codec driver · 2c42cdba
      Mikhail Ulyanov 提交于
      Here's the driver for the Renesas R-Car JPEG processing unit.
      
      The driver is implemented within the V4L2 framework as a memory-to-memory
      device.  It presents two video nodes to userspace, one for the encoding part,
      and one for the decoding part.
      
      It was found that the only working mode for encoding is no markers output, so we
      generate markers with software. In the current version of driver we also use
      software JPEG header parsing because with hardware parsing performance is lower
      than desired.
      
      >From a userspace point of view the process is typical (S_FMT, REQBUF,
      optionally QUERYBUF, QBUF, STREAMON, DQBUF) for both the source and destination
      queues. STREAMON can return -EINVAL in case of mismatch of output and capture
      queues format. Also during decoding driver can return buffers if queued
      buffer with JPEG image contains image with inappropriate subsampling (e.g.
      4:2:0 in JPEG and 4:2:2 in capture).  If JPEG image and queue format dimensions
      differ driver will return buffer on QBUF with VB2_BUF_STATE_ERROR flag.
      
      During encoding the available formats are: V4L2_PIX_FMT_NV12M,
      V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16, V4L2_PIX_FMT_NV16M for source and
      V4L2_PIX_FMT_JPEG for destination.
      
      During decoding the available formats are: V4L2_PIX_FMT_JPEG for source and
      V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_NV16M, V4L2_PIX_FMT_NV12, V4L2_PIX_FMT_NV16
      for destination.
      
      Performance of current version:
      1280x800 NV12 image encoding/decoding
      	decoding ~122 FPS
      	encoding ~191 FPS
      Signed-off-by: NMikhail Ulyanov <mikhail.ulyanov@cogentembedded.com>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      2c42cdba
  2. 22 6月, 2015 1 次提交
    • M
      [media] bdisp: prevent compiling on random arch · 1c8a866d
      Mauro Carvalho Chehab 提交于
      This driver requires support for DMA attrs function, and not
      just DMA. Change the options accordingly to remove those errors:
      
      /devel/v4l/to_next/drivers/media/platform/sti/bdisp/bdisp-hw.c: In function ‘bdisp_hw_free_nodes’:
      /devel/v4l/to_next/drivers/media/platform/sti/bdisp/bdisp-hw.c:132:3: error: implicit declaration of function ‘dma_free_attrs’ [-Werror=implicit-function-declaration]
         dma_free_attrs(ctx->bdisp_dev->dev,
         ^
      /devel/v4l/to_next/drivers/media/platform/sti/bdisp/bdisp-hw.c: In function ‘bdisp_hw_alloc_nodes’:
      /devel/v4l/to_next/drivers/media/platform/sti/bdisp/bdisp-hw.c:157:9: error: implicit declaration of function ‘dma_alloc_attrs’ [-Werror=implicit-function-declaration]
        base = dma_alloc_attrs(dev, node_size * MAX_NB_NODE, &paddr,
               ^
      /devel/v4l/to_next/drivers/media/platform/sti/bdisp/bdisp-hw.c:157:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
        base = dma_alloc_attrs(dev, node_size * MAX_NB_NODE, &paddr,
             ^
      /devel/v4l/to_next/drivers/media/platform/sti/bdisp/bdisp-hw.c: In function ‘bdisp_hw_alloc_filters’:
      /devel/v4l/to_next/drivers/media/platform/sti/bdisp/bdisp-hw.c:219:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
        base = dma_alloc_attrs(dev, size, &paddr, GFP_KERNEL | GFP_DMA, &attrs);
      
      Also, get rid of bogus, unused and duplicated symbol declaration
      for the config option done at bdisp/Kconfig.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      1c8a866d
  3. 10 6月, 2015 1 次提交
  4. 02 6月, 2015 1 次提交
    • G
      break kconfig dependency loop · 06b718c0
      Gerd Hoffmann 提交于
      After adding virtio-gpu I get this funky kconfig dependency loop.
      
      scripts/kconfig/conf --oldconfig Kconfig
      drivers/video/fbdev/Kconfig:5:error: recursive dependency detected!
      drivers/video/fbdev/Kconfig:5:  symbol FB is selected by DRM_KMS_FB_HELPER
      drivers/gpu/drm/Kconfig:34:     symbol DRM_KMS_FB_HELPER is selected by DRM_VIRTIO_GPU
      drivers/gpu/drm/virtio/Kconfig:1:       symbol DRM_VIRTIO_GPU depends on VIRTIO
      drivers/virtio/Kconfig:1:       symbol VIRTIO is selected by REMOTEPROC
      drivers/remoteproc/Kconfig:4:   symbol REMOTEPROC is selected by OMAP_REMOTEPROC
      drivers/remoteproc/Kconfig:12:  symbol OMAP_REMOTEPROC depends on OMAP_IOMMU
      drivers/iommu/Kconfig:141:      symbol OMAP_IOMMU is selected by VIDEO_OMAP3
      drivers/media/platform/Kconfig:96:      symbol VIDEO_OMAP3 depends on VIDEO_V4L2
      drivers/media/v4l2-core/Kconfig:6:      symbol VIDEO_V4L2 depends on I2C
      drivers/i2c/Kconfig:7:  symbol I2C is selected by FB_DDC
      drivers/video/fbdev/Kconfig:59: symbol FB_DDC is selected by FB_CYBER2000_DDC
      drivers/video/fbdev/Kconfig:374:        symbol FB_CYBER2000_DDC depends on FB_CYBER2000
      drivers/video/fbdev/Kconfig:362:        symbol FB_CYBER2000 depends on FB
      
      Making VIDEO_OMAP3 depend on OMAP_IOMMU instead of selecting it breaks the
      loop, which looks like the best way to handle it to me.  Updated OMAP_IOMMU
      help text accordingly.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Acked-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      06b718c0
  5. 03 4月, 2015 2 次提交
  6. 03 3月, 2015 1 次提交
    • G
      [media] timberdale: VIDEO_TIMBERDALE should depend on HAS_DMA · 50d8e46f
      Geert Uytterhoeven 提交于
      If NO_DMA=y:
      
          warning: (VIDEO_OMAP2_VOUT && VIDEO_VIU && VIDEO_TIMBERDALE) selects VIDEOBUF_DMA_CONTIG which has unmet direct dependencies (MEDIA_SUPPORT && HAS_DMA)
      
          drivers/built-in.o: In function `__videobuf_dc_free':
          videobuf-dma-contig.c:(.text+0x6f4d32): undefined reference to `dma_free_coherent'
          drivers/built-in.o: In function `__videobuf_dc_alloc':
          videobuf-dma-contig.c:(.text+0x6f4fe6): undefined reference to `dma_alloc_coherent'
          drivers/built-in.o: In function `__videobuf_mmap_mapper':
          videobuf-dma-contig.c:(.text+0x6f518e): undefined reference to `dma_free_coherent'
      
      Commit 24482922 ("[media] timberdale: do not select TIMB_DMA")
      dropped the dependency of VIDEO_TIMBERDALE on DMADEVICES, and thus the
      implicit dependency on HAS_DMA.  VIDEO_TIMBERDALE selects
      VIDEOBUF_DMA_CONTIG, which bypasses its dependency on HAS_DMA.  Make
      VIDEO_TIMBERDALE depend on HAS_DMA to fix this.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      50d8e46f
  7. 02 2月, 2015 3 次提交
  8. 27 1月, 2015 1 次提交
  9. 23 12月, 2014 2 次提交
  10. 17 12月, 2014 1 次提交
  11. 13 12月, 2014 1 次提交
  12. 28 10月, 2014 1 次提交
  13. 24 10月, 2014 1 次提交
  14. 03 9月, 2014 3 次提交
  15. 27 8月, 2014 4 次提交
  16. 31 7月, 2014 1 次提交
  17. 22 7月, 2014 2 次提交
  18. 25 5月, 2014 1 次提交
  19. 16 4月, 2014 1 次提交
    • J
      platform: Fix timberdale dependencies · 2dda47d1
      Jean Delvare 提交于
      VIDEO_TIMBERDALE selects TIMB_DMA which itself depends on
      MFD_TIMBERDALE, so VIDEO_TIMBERDALE should either select or depend on
      MFD_TIMBERDALE as well. I chose to make it depend on it because I
      think it makes more sense and it is consistent with what other options
      are doing.
      
      Adding a "|| HAS_IOMEM" to the TIMB_DMA dependencies silenced the
      kconfig warning about unmet direct dependencies but it was wrong:
      without MFD_TIMBERDALE, TIMB_DMA is useless as the driver has no
      device to bind to.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Cc: Vinod Koul <vinod.koul@intel.com>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Mauro Carvalho Chehab <m.chehab@samsung.com>
      Signed-off-by: NVinod Koul <vinod.koul@intel.com>
      2dda47d1
  20. 11 3月, 2014 1 次提交
    • G
      [media] v4l: VIDEO_SH_VOU should depend on HAS_DMA · 111eeaa7
      Geert Uytterhoeven 提交于
      If NO_DMA=y:
      
          warning: (VIDEO_DM6446_CCDC && VIDEO_DM355_CCDC && VIDEO_DM365_ISIF && VIDEO_OMAP2_VOUT && VIDEO_SH_VOU && VIDEO_VIU && VIDEO_TIMBERDALE && VIDEO_MX1 && VIDEO_OMAP1) selects VIDEOBUF_DMA_CONTIG which has unmet direct dependencies (MEDIA_SUPPORT && HAS_DMA)
      
          drivers/built-in.o: In function `videobuf_vm_close':
          videobuf-dma-contig.c:(.text+0x407aa0): undefined reference to `videobuf_queue_cancel'
          drivers/built-in.o: In function `__videobuf_dc_alloc':
          videobuf-dma-contig.c:(.text+0x407ba2): undefined reference to `dma_alloc_coherent'
          drivers/built-in.o: In function `__videobuf_mmap_mapper':
          videobuf-dma-contig.c:(.text+0x407d44): undefined reference to `dma_free_coherent'
          drivers/built-in.o: In function `free_buffer':
          sh_vou.c:(.text+0x41f73a): undefined reference to `videobuf_waiton'
          drivers/built-in.o: In function `sh_vou_poll':
          sh_vou.c:(.text+0x41f884): undefined reference to `videobuf_poll_stream'
          drivers/built-in.o: In function `sh_vou_buf_prepare':
          sh_vou.c:(.text+0x41fdf6): undefined reference to `videobuf_iolock'
          drivers/built-in.o: In function `sh_vou_reqbufs':
          sh_vou.c:(.text+0x4203b0): undefined reference to `videobuf_reqbufs'
          drivers/built-in.o: In function `sh_vou_querybuf':
          sh_vou.c:(.text+0x42040a): undefined reference to `videobuf_querybuf'
          drivers/built-in.o: In function `sh_vou_qbuf':
          sh_vou.c:(.text+0x42045e): undefined reference to `videobuf_qbuf'
          drivers/built-in.o: In function `sh_vou_dqbuf':
          sh_vou.c:(.text+0x4204c2): undefined reference to `videobuf_dqbuf'
          drivers/built-in.o: In function `sh_vou_streamon':
          sh_vou.c:(.text+0x420572): undefined reference to `videobuf_streamon'
          drivers/built-in.o: In function `sh_vou_streamoff':
          sh_vou.c:(.text+0x4205d2): undefined reference to `videobuf_streamoff'
          drivers/built-in.o: In function `sh_vou_mmap':
          sh_vou.c:(.text+0x420c46): undefined reference to `videobuf_mmap_mapper'
      
      VIDEO_SH_VOU selects VIDEOBUF_DMA_CONTIG, which bypasses its dependency on
      HAS_DMA.  Make VIDEO_SH_VOU depend on HAS_DMA to fix this.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      111eeaa7
  21. 20 12月, 2013 1 次提交
    • H
      [media] omap24xx/tcm825x: move to staging for future removal · a03636cb
      Hans Verkuil 提交于
      The omap24xx driver and the tcm825x sensor driver are the only two
      remaining drivers to still use the old deprecated v4l2-int-device API.
      
      Nobody maintains these drivers anymore. But unfortunately the v4l2-int-device
      API is used by out-of-tree drivers (MXC platform). This is a very bad situation
      since as long as this deprecated API stays in the kernel there is no reason for
      those out-of-tree drivers to convert.
      
      This patch moves v4l2-int-device and the two drivers that depend on it to
      staging in preparation for their removal.
      
      If someone would be interested in getting these drivers to work, then start with
      this since it's not very far from the state where they used to work:
      
      <URL:http://vihersipuli.retiisi.org.uk/cgi-bin/gitweb.cgi?p=~sailus/linux-omap/.git;a=summary>
      
      The branch is n800-cam. Porting to up-to-date APIs can then be done. David
      might have done some work in that area, so check with him first.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Cc: Sakari Ailus <sakari.ailus@iki.fi>
      Cc: David Cohen <dacohen@gmail.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      a03636cb
  22. 10 12月, 2013 1 次提交
  23. 29 10月, 2013 2 次提交
    • F
      [media] platform: Kconfig: Select SRAM for VIDEO_CODA · e9436344
      Fabio Estevam 提交于
      Running the coda driver without CONFIG_SRAM selected leads to the following
      probe error:
      coda 63ff4000.vpu: iram pool not available
      coda: probe of 63ff4000.vpu failed with error -12
      In order to avoid it, select CONFIG_SRAM inside VIDEO_CODA.
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NKamil Debski <k.debski@samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      e9436344
    • A
      [media] v4l: ti-vpe: Add VPE mem to mem driver · 45719127
      Archit Taneja 提交于
      VPE is a block which consists of a single memory to memory path which
      can perform chrominance up/down sampling, de-interlacing, scaling, and
      color space conversion of raster or tiled YUV420 coplanar, YUV422
      coplanar or YUV422 interleaved video formats.
      
      We create a mem2mem driver based primarily on the mem2mem-testdev
      example. The de-interlacer, scaler and color space converter are all
      bypassed for now to keep the driver simple. Chroma up/down sampler
      blocks are implemented, so conversion beteen different YUV formats is
      possible.
      
      Each mem2mem context allocates a buffer for VPE MMR values which it will
      use when it gets access to the VPE HW via the mem2mem queue, it also
      allocates a VPDMA descriptor list to which configuration and data
      descriptors are added.
      
      Based on the information received via v4l2 ioctls for the source and
      destination queues, the driver configures the values for the MMRs, and
      stores them in the buffer. There are also some VPDMA parameters like
      frame start and line mode which needs to be configured, these are
      configured by direct register writes via the VPDMA helper functions.
      
      The driver's device_run() mem2mem op will add each descriptor based on
      how the source and destination queues are set up for the given ctx, once
      the list is prepared, it's submitted to VPDMA, these descriptors when
      parsed by VPDMA will upload MMR registers, start DMA of video buffers on
      the various input and output clients/ports.
      
      When the list is parsed completely(and the DMAs on all the output ports
      done), an interrupt is generated which we use to notify that the source
      and destination buffers are done. The rest of the driver is quite
      similar to other mem2mem drivers, we use the multiplane v4l2 ioctls as
      the HW support coplanar formats.
      Signed-off-by: NArchit Taneja <archit@ti.com>
      Acked-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NKamil Debski <k.debski@samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      45719127
  24. 06 10月, 2013 1 次提交
  25. 04 10月, 2013 1 次提交
    • G
      [media] media/v4l2: VIDEO_RENESAS_VSP1 should depend on HAS_DMA · 66bf8fa2
      Geert Uytterhoeven 提交于
      If NO_DMA=y:
      warning: (... && VIDEO_RENESAS_VSP1 && ...) selects VIDEOBUF2_DMA_CONTIG which has unmet direct dependencies (MEDIA_SUPPORT && HAS_DMA)
      drivers/media/v4l2-core/videobuf2-dma-contig.c: In function ‘vb2_dc_mmap’:
      drivers/media/v4l2-core/videobuf2-dma-contig.c:202: error: implicit declaration of function ‘dma_mmap_coherent’
      drivers/media/v4l2-core/videobuf2-dma-contig.c: In function ‘vb2_dc_get_base_sgt’:
      drivers/media/v4l2-core/videobuf2-dma-contig.c:385: error: implicit declaration of function ‘dma_get_sgtable’
      make[7]: *** [drivers/media/v4l2-core/videobuf2-dma-contig.o] Error 1
      VIDEO_RENESAS_VSP1 (which doesn't have a platform dependency) selects
      VIDEOBUF2_DMA_CONTIG, but the latter depends on HAS_DMA.
      Make VIDEO_RENESAS_VSP1 depend on HAS_DMA to fix this.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      66bf8fa2
  26. 13 9月, 2013 1 次提交
  27. 23 8月, 2013 1 次提交
    • G
      [media] media/v4l2: VIDEO_SH_VEU should depend on HAS_DMA · 976f375d
      Geert Uytterhoeven 提交于
      If NO_DMA=y:
      drivers/media/v4l2-core/videobuf2-dma-contig.c: In function ‘vb2_dc_mmap’:
      drivers/media/v4l2-core/videobuf2-dma-contig.c:204: error: implicit declaration of function ‘dma_mmap_coherent’
      drivers/media/v4l2-core/videobuf2-dma-contig.c: In function ‘vb2_dc_get_base_sgt’:
      drivers/media/v4l2-core/videobuf2-dma-contig.c:387: error: implicit declaration of function ‘dma_get_sgtable’
      Commit da508f57 ("[media] media/v4l2:
      VIDEOBUF2_DMA_CONTIG should depend on HAS_DMA") added a dependency on
      HAS_DMA to VIDEO_SH_VEU, as it selects VIDEOBUF2_DMA_CONTIG.
      However, this got lost in the merge conflict resolution in commit
      df90e225 ("Merge branch 'devel-for-v3.10'
      into v4l_for_linus").
      Re-add the dependency to fix this.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      976f375d
  28. 18 8月, 2013 1 次提交
  29. 29 6月, 2013 1 次提交