1. 09 7月, 2016 3 次提交
  2. 08 6月, 2016 1 次提交
  3. 07 6月, 2016 1 次提交
    • A
      [media] s5p-mfc: don't close instance after free OUTPUT buffers · 9bd5d869
      ayaka 提交于
      User-space applications can use the VIDIOC_REQBUFS ioctl to determine if a
      memory mapped, user pointer or DMABUF based I/O is supported by the driver.
      
      So a set of VIDIOC_REQBUFS ioctl calls will be made with count 0 and then
      the real VIDIOC_REQBUFS call with count == n. But for count 0, the driver
      not only frees the buffer but also closes the MFC instance and s5p_mfc_ctx
      state is set to MFCINST_FREE.
      
      The VIDIOC_REQBUFS handler for the output device checks if the s5p_mfc_ctx
      state is set to MFCINST_INIT (which happens on an VIDIOC_S_FMT) and fails
      otherwise. So after a VIDIOC_REQBUFS(n), future VIDIOC_REQBUFS(n) calls
      will fails unless a VIDIOC_S_FMT ioctl calls happens before the reqbufs.
      
      But applications may first set the format and then attempt to determine
      the I/O methods supported by the driver (for example Gstramer does it) so
      the state won't be set to MFCINST_INIT again and VIDIOC_REQBUFS will fail.
      
      To avoid this issue, only free the buffers on VIDIOC_REQBUFS(0) but don't
      close the MFC instance to allow future VIDIOC_REQBUFS(n) calls to succeed.
      
      [javier: Rewrote changelog to explain the problem more detailed]
      Signed-off-by: Nayaka <ayaka@soulik.info>
      Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com>
      Acked-by: NNicolas Dufresne <nicolas@collabora.com>
      Tested-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Acked-by: NSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      9bd5d869
  4. 23 12月, 2015 4 次提交
  5. 18 12月, 2015 1 次提交
    • H
      [media] vb2: drop v4l2_format argument from queue_setup · df9ecb0c
      Hans Verkuil 提交于
      The queue_setup callback has a void pointer that is just for V4L2
      and is the pointer to the v4l2_format struct that was passed to
      VIDIOC_CREATE_BUFS. The idea was that drivers would use the information
      from that struct to buffers suitable for the requested format.
      
      After the vb2 split series this pointer is now a void pointer,
      which is ugly, and the reality is that all existing drivers will
      effectively just look at the sizeimage field of v4l2_format.
      
      To make this more generic the queue_setup callback is changed:
      the void pointer is dropped, instead if the *num_planes argument
      is 0, then use the current format size, if it is non-zero, then
      it contains the number of requested planes and the sizes array
      contains the requested sizes. If either is unsupported, then return
      -EINVAL, otherwise use the requested size(s).
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      df9ecb0c
  6. 18 11月, 2015 1 次提交
  7. 21 10月, 2015 2 次提交
  8. 01 10月, 2015 2 次提交
  9. 02 2月, 2015 2 次提交
  10. 23 12月, 2014 1 次提交
  11. 02 12月, 2014 1 次提交
  12. 29 10月, 2014 2 次提交
  13. 26 9月, 2014 4 次提交
    • M
      [media] s5p-mfc: Fix several printk warnings · 03ce7816
      Mauro Carvalho Chehab 提交于
      drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:192:3: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘dma_addr_t’ [-Wformat=]
      drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:196:3: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘dma_addr_t’ [-Wformat=]
      drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:196:3: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘dma_addr_t’ [-Wformat=]
      drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:1757:3: warning: format ‘%zx’ expects argument of type ‘size_t’, but argument 6 has type ‘dma_addr_t’ [-Wformat=]
      drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:1879:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ [-Wformat=]
      drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      03ce7816
    • A
      [media] s5p-mfc: fix enum_fmt for s5p-mfc · 7e8fe13d
      ayaka 提交于
      As the s5p-mfc is a driver which use  multiplanar api, so the
      vidioc_enum_fmt_vid serial of ioctl should only for
      multiplanar, non-multiplanar shouldn't be implemented at all.
      Signed-off-by: Nayaka <ayaka@soulik.info>
      Signed-off-by: NKamil Debski <k.debski@samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      7e8fe13d
    • K
      [media] s5p-mfc: Fix sparse errors in the MFC driver · e2c3be2a
      Kamil Debski 提交于
      The following error: "error: incompatible types in conditional expression
      (different base types)" was reported multiple times for the s5p-mfc
      driver. This error was caused by two macro definitions - s5p_mfc_hw_call
      (in s5p_mfc_common.h) and WRITEL (in s5p_mfc_opr_v6.c).
      
      In the former case the macro assumed that all ops return a value, but some
      ops return void. The solution to this problem was the addition of a
      s5p_mfc_hw_call_void macro.
      
      In the latter case the macro used the ?: construction to check whether
      the address is non zero. This is not necessary after the driver left the
      development and debugging cycle, so the READL and WRITEL macros were
      removed.
      Signed-off-by: NKamil Debski <k.debski@samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      e2c3be2a
    • Z
      [media] s5p_mfc: correct the loop condition · 00684dab
      Zhaowei Yuan 提交于
      It should take ctx->dst_fmt->num_planes as
      the loop condition for CAPTURE.
      Signed-off-by: NZhaowei Yuan <zhaowei.yuan@samsung.com>
      Signed-off-by: NKamil Debski <k.debski@samsung.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      00684dab
  14. 27 8月, 2014 1 次提交
    • M
      [media] s5p_mfc: get rid of several warnings · 8492ec69
      Mauro Carvalho Chehab 提交于
      drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:826:5: warning: no previous prototype for 'vidioc_decoder_cmd' [-Wmissing-prototypes]
       int vidioc_decoder_cmd(struct file *file, void *priv,
           ^
      drivers/media/platform/s5p-mfc/s5p_mfc.c: In function 's5p_mfc_runtime_resume':
      drivers/media/platform/s5p-mfc/s5p_mfc.c:1314:6: warning: variable 'pre_power' set but not used [-Wunused-but-set-variable]
        int pre_power;
            ^
      drivers/media/platform/s5p-mfc/s5p_mfc_cmd_v5.c:163:25: warning: no previous prototype for 's5p_mfc_init_hw_cmds_v5' [-Wmissing-prototypes]
       struct s5p_mfc_hw_cmds *s5p_mfc_init_hw_cmds_v5(void)
                               ^
      drivers/media/platform/s5p-mfc/s5p_mfc_cmd_v6.c:156:25: warning: no previous prototype for 's5p_mfc_init_hw_cmds_v6' [-Wmissing-prototypes]
       struct s5p_mfc_hw_cmds *s5p_mfc_init_hw_cmds_v6(void)
                               ^
      drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c: In function 's5p_mfc_run_dec_frame':
      drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:1189:15: warning: variable 'index' set but not used [-Wunused-but-set-variable]
        unsigned int index;
                     ^
      drivers/media/platform/s5p-mfc/s5p_mfc_enc.c: In function 'cleanup_ref_queue':
      drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:742:27: warning: variable 'mb_c_addr' set but not used [-Wunused-but-set-variable]
        unsigned long mb_y_addr, mb_c_addr;
                                 ^
      drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:742:16: warning: variable 'mb_y_addr' set but not used [-Wunused-but-set-variable]
        unsigned long mb_y_addr, mb_c_addr;
                      ^
      drivers/media/platform/s5p-mfc/s5p_mfc_enc.c: At top level:
      drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:1684:5: warning: no previous prototype for 'vidioc_encoder_cmd' [-Wmissing-prototypes]
       int vidioc_encoder_cmd(struct file *file, void *priv,
           ^
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      8492ec69
  15. 22 7月, 2014 1 次提交
  16. 24 5月, 2014 7 次提交
  17. 23 4月, 2014 1 次提交
  18. 03 9月, 2013 1 次提交
  19. 18 8月, 2013 1 次提交
  20. 26 7月, 2013 1 次提交
  21. 04 6月, 2013 1 次提交
  22. 28 5月, 2013 1 次提交