1. 14 9月, 2012 1 次提交
  2. 14 8月, 2012 1 次提交
  3. 31 7月, 2012 1 次提交
  4. 06 7月, 2012 2 次提交
  5. 20 5月, 2012 1 次提交
  6. 14 5月, 2012 1 次提交
    • S
      [media] v4l2: use __u32 rather than enums in ioctl() structs · 6016af82
      Sakari Ailus 提交于
      V4L2 uses the enum type in IOCTL arguments in IOCTLs that were defined until
      the use of enum was considered less than ideal. Recently Rémi Denis-Courmont
      brought up the issue by proposing a patch to convert the enums to unsigned:
      
      <URL:http://www.spinics.net/lists/linux-media/msg46167.html>
      
      This sparked a long discussion where another solution to the issue was
      proposed: two sets of IOCTL structures, one with __u32 and the other with
      enums, and conversion code between the two:
      
      <URL:http://www.spinics.net/lists/linux-media/msg47168.html>
      
      Both approaches implement a complete solution that resolves the problem. The
      first one is simple but requires assuming enums and __u32 are the same in
      size (so we won't break the ABI) while the second one is more complex and
      less clean but does not require making that assumption.
      
      The issue boils down to whether enums are fundamentally different from __u32
      or not, and can the former be substituted by the latter. During the
      discussion it was concluded that the __u32 has the same size as enums on all
      archs Linux is supported: it has not been shown that replacing those enums
      in IOCTL arguments would break neither source or binary compatibility. If no
      such reason is found, just replacing the enums with __u32s is the way to go.
      
      This is what this patch does. This patch is slightly different from Remi's
      first RFC (link above): it uses __u32 instead of unsigned and also changes
      the arguments of VIDIOC_G_PRIORITY and VIDIOC_S_PRIORITY.
      Signed-off-by: NRémi Denis-Courmont <remi@remlab.net>
      Signed-off-by: NSakari Ailus <sakari.ailus@iki.fi>
      Acked-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      6016af82
  7. 20 3月, 2012 1 次提交
  8. 14 2月, 2012 1 次提交
  9. 11 1月, 2012 1 次提交
  10. 04 11月, 2011 2 次提交
  11. 28 7月, 2011 1 次提交
  12. 22 3月, 2011 2 次提交
  13. 05 1月, 2011 1 次提交
  14. 29 12月, 2010 2 次提交
  15. 18 11月, 2010 1 次提交
  16. 16 10月, 2010 1 次提交
    • L
      v4l1: fix 32-bit compat microcode loading translation · 3e645d6b
      Linus Torvalds 提交于
      The compat code for the VIDIOCSMICROCODE ioctl is totally buggered.
      It's only used by the VIDEO_STRADIS driver, and that one is scheduled to
      staging and eventually removed unless somebody steps up to maintain it
      (at which point it should use request_firmware() rather than some magic
      ioctl).  So we'll get rid of it eventually.
      
      But in the meantime, the compatibility ioctl code is broken, and this
      tries to get it to at least limp along (even if Mauro suggested just
      deleting it entirely, which may be the right thing to do - I don't think
      the compatibility translation code has ever worked unless you were very
      lucky).
      Reported-by: NKees Cook <kees.cook@canonical.com>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: stable@kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3e645d6b
  17. 14 8月, 2010 1 次提交
  18. 19 7月, 2010 1 次提交
  19. 19 5月, 2010 1 次提交
  20. 27 2月, 2010 2 次提交
    • A
      V4L/DVB: Fix VIDIOC_QBUF compat ioctl32 · 22c859fa
      Arnaud Patard 提交于
      When using VIDIOC_QBUF with memory type set to V4L2_MEMORY_MMAP, the
      v4l2_buffer buffer gets unmodified on drivers like uvc (well, only
      bytesused field is modified). Then some apps like gstreamer are reusing
      the same buffer later to call munmap (eg passing the buffer "length"
      field as 2nd parameter of munmap).
      
      It's working fine on full 32bits but on 32bits systems with 64bit
      kernel, the get_v4l2_buffer32() doesn't copy length/m.offset values and
      then copy garbage to userspace in put_v4l2_buffer32().
      
      This has for consequence things like that in the libv4l2 logs:
      
      libv4l2: v4l2 unknown munmap 0x2e2b0000, -2145144908
      libv4l2: v4l2 unknown munmap 0x2e530000, -2145144908
      
      The buffer are not unmap'ed and then if the application close and open
      again the device, it won't work and logs will show something like:
      
      libv4l2: error setting pixformat: Device or resource busy
      
      The easy solution is to read length and m.offset in get_v4l2_buffer32().
      Signed-off-by: NArnaud Patard <apatard@mandriva.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      22c859fa
    • R
      V4L/DVB: use correct size in put_v4l2_window32() · f2e6c6ad
      Roel Kluin 提交于
      Although these sizes may be the same it is better to calculate the size of
      the source, than the destiny.
      Signed-off-by: NRoel Kluin <roel.kluin@gmail.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      f2e6c6ad
  21. 16 12月, 2009 1 次提交
    • M
      V4L/DVB (13571): v4l: Adding Digital Video Timings APIs · b6456c0c
      Muralidharan Karicheri 提交于
      This adds the above APIs to the v4l2 core. This is based on version v1.2
      of the RFC titled "V4L - Support for video timings at the input/output interface"
      Following new ioctls are added:-
      
              - VIDIOC_ENUM_DV_PRESETS
              - VIDIOC_S_DV_PRESET
              - VIDIOC_G_DV_PRESET
              - VIDIOC_QUERY_DV_PRESET
              - VIDIOC_S_DV_TIMINGS
              - VIDIOC_G_DV_TIMINGS
      
      Please refer to the RFC for the details. This code was tested using vpfe
      capture driver on TI's DM365. Following is the test configuration used :-
      
      Blu-Ray HD DVD source -> TVP7002 -> DM365 (VPFE) ->DDR
      
      A draft version of the TVP7002 driver (currently being reviewed in the mailing
      list) was used that supports V4L2_DV_1080I60 & V4L2_DV_720P60 presets.
      
      A loopback video capture application was used for testing these APIs. This calls
      following IOCTLS :-
      
       -  verify the new v4l2_input capabilities flag added
       -  Enumerate available presets using VIDIOC_ENUM_DV_PRESETS
       -  Set one of the supported preset using VIDIOC_S_DV_PRESET
       -  Get current preset using VIDIOC_G_DV_PRESET
       -  Detect current preset using VIDIOC_QUERY_DV_PRESET
       -  Using stub functions in tvp7002, verify VIDIOC_S_DV_TIMINGS
          and VIDIOC_G_DV_TIMINGS ioctls are received at the sub device.
       -  Tested on 64bit platform by Hans Verkuil
      Signed-off-by: NMuralidharan Karicheri <m-karicheri2@ti.com>
      Signed-off-by: NHans Verkuil <hverkuil@xs4all.nl>
      Reviewed-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      b6456c0c
  22. 12 9月, 2009 2 次提交
  23. 30 3月, 2009 1 次提交
  24. 03 1月, 2009 5 次提交
  25. 30 12月, 2008 4 次提交
  26. 17 12月, 2008 1 次提交
  27. 11 11月, 2008 1 次提交