1. 28 Dec, 2017 1 commit
    • Satendra Singh Thakur's avatar
      media: videobuf2: Add new uAPI for DVB streaming I/O · 57868acc
      Satendra Singh Thakur authored
      Adds a new uAPI for DVB to use streaming I/O which is implemented
      based on videobuf2, using those new ioctls:
      
      - DMX_REQBUFS:  Request kernel to allocate buffers which count and size
      	        are dedicated by user.
      - DMX_QUERYBUF: Get the buffer information like a memory offset which
      		will mmap() and be shared with user-space.
      - DMX_EXPBUF:   Just for testing whether buffer-exporting success or not.
      - DMX_QBUF:     Pass the buffer to kernel-space.
      - DMX_DQBUF:    Get back the buffer which may contain TS data.
      
      Originally developed by: Junghak Sung <jh1009.sung@samsung.com>, as
      seen at:
      	https://patchwork.linuxtv.org/patch/31613/
      	https://patchwork.kernel.org/patch/7334301/
      
      The original patch was written before merging VB2-core functionalities
      upstream. When such series was added, several adjustments were made,
      fixing some issues with	V4L2, causing the original patch to be
      non-trivially rebased.
      
      After rebased, a few bugs in the patch were fixed. The patch was
      also enhanced it and polling functionality got added.
      
      The main changes over the original patch are:
      
      dvb_vb2_fill_buffer():
      	- Set the size of the outgoing buffer after while loop using
      	  vb2_set_plane_payload;
      
      	- Added NULL check for source buffer as per normal convention
      	  of demux driver, this is called twice, first time with valid
      	  buffer second time with NULL pointer, if its not handled,
      	  it will result in  crash
      
      	- Restricted spinlock for only list_* operations
      
      dvb_vb2_init():
      	- Restricted q->io_modes to only VB2_MMAP as its the only
      	  supported mode
      
      dvb_vb2_release():
      	- Replaced the && in if condiion with &, because otherwise
      	  it was always getting satisfied.
      
      dvb_vb2_stream_off():
      	- Added list_del code for enqueud buffers upon stream off
      
      dvb_vb2_poll():
      	- Added this new function in order to support polling
      
      dvb_demux_poll() and dvb_dvr_poll()
      	- dvb_vb2_poll() is now called from these functions
      
      - Ported this patch and latest videobuf2 to lower kernel versions and
        tested auto scan.
      Co-developed-by: default avatarJunghak Sung <jh1009.sung@samsung.com>
      
      [mchehab@s-opensource.com: checkpatch fixes]
      Signed-off-by: default avatarJunghak Sung <jh1009.sung@samsung.com>
      Signed-off-by: default avatarGeunyoung Kim <nenggun.kim@samsung.com>
      Acked-by: default avatarSeung-Woo Kim <sw0312.kim@samsung.com>
      Acked-by: default avatarInki Dae <inki.dae@samsung.com>
      Signed-off-by: default avatarSatendra Singh Thakur <satendra.t@samsung.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      57868acc
  2. 22 Dec, 2017 1 commit
    • Mauro Carvalho Chehab's avatar
      Merge branch 'docs-next' of git://git.lwn.net/linux into patchwork · 9eb124fe
      Mauro Carvalho Chehab authored
      * 'docs-next' of git://git.lwn.net/linux: (888 commits)
        w1_netlink.h: add support for nested structs
        scripts: kernel-doc: apply filtering rules to warnings
        scripts: kernel-doc: improve nested logic to handle multiple identifiers
        scripts: kernel-doc: handle nested struct function arguments
        scripts: kernel-doc: print the declaration name on warnings
        scripts: kernel-doc: get rid of $nested parameter
        scripts: kernel-doc: parse next structs/unions
        scripts: kernel-doc: replace tabs by spaces
        scripts: kernel-doc: change default to ReST format
        scripts: kernel-doc: improve argument handling
        scripts: kernel-doc: get rid of unused output formats
        docs: get rid of kernel-doc-nano-HOWTO.txt
        docs: kernel-doc.rst: add documentation about man pages
        docs: kernel-doc.rst: improve typedef documentation
        docs: kernel-doc.rst: improve structs chapter
        docs: kernel-doc.rst: improve function documentation section
        docs: kernel-doc.rst: improve private members description
        docs: kernel-doc.rst: better describe kernel-doc arguments
        docs: fix process/submit-checklist.rst Sphinx warning
        docs: ftrace-uses.rst fix varios code-block directives
        ...
      9eb124fe
  3. 21 Dec, 2017 31 commits
  4. 19 Dec, 2017 7 commits