21 Oct, 2015

5 commits

  • New IOCTL ops:
    vidioc_enum_fmt_sdr_out
    vidioc_g_fmt_sdr_out
    vidioc_s_fmt_sdr_out
    vidioc_try_fmt_sdr_out

    New vb2 buffertype:
    V4L2_BUF_TYPE_SDR_OUTPUT

    New v4l2 capability:
    V4L2_CAP_SDR_OUTPUT

    Signed-off-by: Antti Palosaari
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Antti Palosaari
     
  • Move v4l2-specific stuff from videobu2-core to videobuf2-v4l2
    without doing any functional changes.

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     
  • Prepare to divide videobuf2
    - Separate vb2 trace events from v4l2 trace event.
    - Make wrapper functions that will move to v4l2-side.
    - Make vb2_core_* functions that will remain in core-side.
    - Add a callback function table for buffer operation which makes vb2-core
    to be able to invoke a v4l2-side functions.
    - Rename internal functions as vb2_*.

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     
  • Simple changes that replace v4l2-specific data with vb2 data
    in videobuf2-core.

    enum v4l2_buf_type --> int
    enum v4l2_memory --> enum vb2_memory
    VIDEO_MAX_FRAME --> VB2_MAX_FRAME
    VIDEO_MAX_PLANES --> VB2_MAX_PLANES
    struct v4l2_fh *owner --> void *owner
    V4L2_TYPE_IS_MULTIPLANAR() --> is_multiplanar
    V4L2_TYPE_IS_OUTPUT() --> is_output

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     
  • Replace struct v4l2_format * with void * to make queue_setup()
    for common use.
    And then, modify all device drivers related with this change.

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    [hans.verkuil@cisco.com: fix missing const in fimc-lite.c]

    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     

06 Oct, 2015

3 commits


05 Oct, 2015

6 commits


02 Oct, 2015

3 commits

  • Fix those sparse warnings:
    drivers/media/media-entity.c:238:17: warning: Variable length array is used.
    drivers/media/media-entity.c:239:17: warning: Variable length array is used.

    That allows sparse and other code check tools to verify if the
    function is using more stack than allowed.

    It also solves a bad Kernel pratice of using var length arrays
    at the stack.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • There's no need to document to_foo() macros, and the macro is
    badly documented anyway. That removes this warning:
    include/media/videobuf2-v4l2.h:43: warning: No description found for parameter 'vb'

    While here, remove the parenthesis for container_of(). The
    countainer_of() already have parenthesis inside it.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • include/media/videobuf2-core.h:112: warning: No description found for parameter 'get_dmabuf'
    include/media/videobuf2-core.h:146: warning: No description found for parameter 'm'
    include/media/videobuf2-core.h:146: warning: Excess struct/union/enum/typedef member 'mem_offset' description in 'vb2_plane'

    There are still several warnings, but those are hard to fix,
    as they're actually a bug at DocBook. Those should be fixed on
    separate patches.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

01 Oct, 2015

4 commits

  • Fix this warning:
    include/media/v4l2-dv-timings.h:29: warning: cannot understand function prototype: 'const struct v4l2_dv_timings v4l2_dv_timings_presets[]; '

    Unfortunately, currently, it seems that doc-nano doesn't support
    documenting extern static vars.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Remove v4l2 stuff - v4l2_buf, v4l2_plane - from struct vb2_buffer.

    Add new member variables - bytesused, length, offset, userptr, fd,
    data_offset - to struct vb2_plane in order to cover all information
    of v4l2_plane.
    struct vb2_plane {

    unsigned int bytesused;
    unsigned int length;
    union {
    unsigned int offset;
    unsigned long userptr;
    int fd;
    } m;
    unsigned int data_offset;
    }

    Replace v4l2_buf with new member variables - index, type, memory - which
    are common fields for buffer management.
    struct vb2_buffer {

    unsigned int index;
    unsigned int type;
    unsigned int memory;
    unsigned int num_planes;
    struct vb2_plane planes[VIDEO_MAX_PLANES];

    };

    v4l2 specific fields - flags, field, timestamp, timecode,
    sequence - are moved to vb2_v4l2_buffer in videobuf2-v4l2.c
    struct vb2_v4l2_buffer {
    struct vb2_buffer vb2_buf;

    __u32 flags;
    __u32 field;
    struct timeval timestamp;
    struct v4l2_timecode timecode;
    __u32 sequence;
    };

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     
  • Make videobuf2-v4l2 as a wrapper of videobuf2-core for v4l2-use.
    And replace videobuf2-core.h with videobuf2-v4l2.h.
    This renaming change should be accompanied by the modifications
    of all device drivers that include videobuf2-core.h.
    It can be done with just running this shell script.

    replace()
    {
    str1=$1
    str2=$2
    dir=$3
    for file in $(find $dir -name *.h -o -name *.c -o -name Makefile)
    do
    echo $file
    sed "s/$str1/$str2/g" $file > $file.out
    mv $file.out $file
    done
    }

    replace "videobuf2-core" "videobuf2-v4l2" "include/media/"
    replace "videobuf2-core" "videobuf2-v4l2" "drivers/media/"
    replace "videobuf2-core" "videobuf2-v4l2" "drivers/usb/gadget/"
    replace "videobuf2-core" "videobuf2-v4l2" "drivers/staging/media/"

    Signed-off-by: Junghak Sung
    Signed-off-by: Geunyoung Kim
    Acked-by: Seung-Woo Kim
    Acked-by: Inki Dae
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Junghak Sung
     
  • Fix the following 'make htmldocs' warnings:

    .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'frame_height'
    .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'hfreq'
    .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'vsync'
    .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'active_width'
    .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'polarities'
    .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'interlaced'
    .//include/media/v4l2-dv-timings.h:147: warning: No description found for parameter 'fmt'
    .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'frame_height'
    .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'hfreq'
    .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'vsync'
    .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'polarities'
    .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'interlaced'
    .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'aspect'
    .//include/media/v4l2-dv-timings.h:171: warning: No description found for parameter 'fmt'
    .//include/media/v4l2-dv-timings.h:184: warning: No description found for parameter 'hor_landscape'
    .//include/media/v4l2-dv-timings.h:184: warning: No description found for parameter 'vert_portrait'

    Signed-off-by: Geliang Tang
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Geliang Tang
     

26 Sep, 2015

2 commits

  • All in-tree users have migrated to DT, remove support for platform data.

    Signed-off-by: Laurent Pinchart
    [josh.wu@atmel.com: squash the commit to remove the unused variable: dev]
    Signed-off-by: Josh Wu
    Signed-off-by: Guennadi Liakhovetski

    Signed-off-by: Mauro Carvalho Chehab

    Laurent Pinchart
     
  • In the function configure_geometry(), we will setup the ISI CFG2
    according to the sensor output format.

    It make no sense to just read back the CFG2 register and just set part
    of it.

    So just set up this register directly makes things simpler.
    Currently only support YUV format from camera sensor.

    Signed-off-by: Josh Wu
    Reviewed-by: Laurent Pinchart
    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Mauro Carvalho Chehab

    Josh Wu
     

12 Sep, 2015

1 commit

  • Pull media updates from Mauro Carvalho Chehab:
    "A series of patches that move part of the code used to allocate memory
    from the media subsystem to the mm subsystem"

    [ The mm parts have been acked by VM people, and the series was
    apparently in -mm for a while - Linus ]

    * tag 'media/v4.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
    [media] drm/exynos: Convert g2d_userptr_get_dma_addr() to use get_vaddr_frames()
    [media] media: vb2: Remove unused functions
    [media] media: vb2: Convert vb2_dc_get_userptr() to use frame vector
    [media] media: vb2: Convert vb2_vmalloc_get_userptr() to use frame vector
    [media] media: vb2: Convert vb2_dma_sg_get_userptr() to use frame vector
    [media] vb2: Provide helpers for mapping virtual addresses
    [media] media: omap_vout: Convert omap_vout_uservirt_to_phys() to use get_vaddr_pfns()
    [media] mm: Provide new get_vaddr_frames() helper
    [media] vb2: Push mmap_sem down to memops

    Linus Torvalds
     

06 Sep, 2015

1 commit

  • Pull media updates from Mauro Carvalho Chehab:
    - new DVB frontend drivers: ascot2e, cxd2841er, horus3a, lnbh25
    - new HDMI capture driver: tc358743
    - new driver for NetUP DVB new boards (netup_unidvb)
    - IR support for DVBSky cards (smipcie-ir)
    - Coda driver has gain macroblock tiling support
    - Renesas R-Car gains JPEG codec driver
    - new DVB platform driver for STi boards: c8sectpfe
    - added documentation for the media core kABI to device-drivers DocBook
    - lots of driver fixups, cleanups and improvements

    * tag 'media/v4.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (297 commits)
    [media] c8sectpfe: Remove select on undefined LIBELF_32
    [media] i2c: fix platform_no_drv_owner.cocci warnings
    [media] cx231xx: Use wake_up_interruptible() instead of wake_up_interruptible_nr()
    [media] tc358743: only queue subdev notifications if devnode is set
    [media] tc358743: add missing Kconfig dependency/select
    [media] c8sectpfe: Use %pad to print 'dma_addr_t'
    [media] DocBook media: Fix typo "the the" in xml files
    [media] tc358743: make reset gpio optional
    [media] tc358743: set direction of reset gpio using devm_gpiod_get
    [media] dvbdev: document most of the functions/data structs
    [media] dvb_frontend.h: document the struct dvb_frontend
    [media] dvb-frontend.h: document struct dtv_frontend_properties
    [media] dvb-frontend.h: document struct dvb_frontend_ops
    [media] dvb: Use DVBFE_ALGO_HW where applicable
    [media] dvb_frontend.h: document struct analog_demod_ops
    [media] dvb_frontend.h: Document struct dvb_tuner_ops
    [media] Docbook: Document struct analog_parameters
    [media] dvb_frontend.h: get rid of dvbfe_modcod
    [media] add documentation for struct dvb_tuner_info
    [media] dvb_frontend: document dvb_frontend_tune_settings
    ...

    Linus Torvalds
     

02 Sep, 2015

1 commit

  • Pull trivial tree updates from Jiri Kosina:
    "The usual stuff from trivial tree for 4.3 (kerneldoc updates, printk()
    fixes, Documentation and MAINTAINERS updates)"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (28 commits)
    MAINTAINERS: update my e-mail address
    mod_devicetable: add space before */
    scsi: a100u2w: trivial typo in printk
    i2c: Fix typo in i2c-bfin-twi.c
    treewide: fix typos in comment blocks
    Doc: fix trivial typo in SubmittingPatches
    proportions: Spelling s/consitent/consistent/
    dm: Spelling s/consitent/consistent/
    aic7xxx: Fix typo in error message
    pcmcia: Fix typo in locking documentation
    scsi/arcmsr: Fix typos in error log
    drm/nouveau/gr: Fix typo in nv10.c
    [SCSI] Fix printk typos in drivers/scsi
    staging: comedi: Grammar s/Enable support a/Enable support for a/
    Btrfs: Spelling s/consitent/consistent/
    README: GTK+ is a acronym
    ASoC: omap: Fix typo in config option description
    mm: tlb.c: Fix error message
    ntfs: super.c: Fix error log
    fix typo in Documentation/SubmittingPatches
    ...

    Linus Torvalds
     

22 Aug, 2015

14 commits

  • Fix the format of the comments and add to DocBook.

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • The comment metadata was wrong:

    Warning(.//include/media/videobuf2-memops.h:25): cannot understand function prototype: 'struct vb2_vmarea_handler '
    Warning(.//include/media/videobuf2-memops.h): no structured comments found

    Fix and add to DocBook.

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • Most of the stuff at videobuf2-core are ok for adding it to
    DocBook.

    Two notes here:
    1) As videobuf2-core will be soon be changed, better to
    not spend too much efforts right now, as things will
    change soon;

    2) struct vb2_queue has a number of private elements that are
    documented. As Kernel nano documentation format handles
    "private:" arguments, we need to put them on a separate
    comment block or to remove. Keeping the comments is
    obviously better ;)

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • There are already markups for documentation at v4l-dv-timings.h,
    however, they're not properly formatted.

    Convert them to the right format and add this file to
    the device-drivers DocBook.

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • The comments there are good enough for DocBook, however they're
    using a wrong format. Fix and add to device-drivers.xml.

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • Warning(.//include/media/v4l2-ctrls.h:217): No description found for parameter 'p_new'
    Warning(.//include/media/v4l2-ctrls.h:217): No description found for parameter 'p_cur'
    Warning(.//include/media/v4l2-ctrls.h:217): Excess struct/union/enum/typedef member 'val64' description in 'v4l2_ctrl'
    Warning(.//include/media/v4l2-ctrls.h:314): No description found for parameter 'qmenu_int'

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • This is an obsolete function that has several missing
    arguments:
    Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'id'
    Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'name'
    Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'type'
    Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'min'
    Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'max'
    Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'step'
    Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'def'
    Warning(.//include/media/v4l2-ctrls.h:340): No description found for parameter 'flags'

    However, this is an obsolete function that should be
    removed soon. And are not meant to be used anymore. So,
    instead of documenting those stuff, let's just make
    DocBook to not handle it, by replacing "/**" by "/*".

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • The comments there are using a wrong format. Due to that,
    DocBook were unable to parse it.

    Fix the tags format, and add it to device-drivers.xml.

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • Warning(.//include/media/v4l2-subdev.h:203): No description found for parameter 'ioctl'
    Warning(.//include/media/v4l2-subdev.h:203): No description found for parameter 'compat_ioctl32'
    Warning(.//include/media/v4l2-subdev.h:203): No description found for parameter 'subscribe_event'
    Warning(.//include/media/v4l2-subdev.h:203): No description found for parameter 'unsubscribe_event'
    Warning(.//include/media/v4l2-subdev.h:273): No description found for parameter 's_stream'
    Warning(.//include/media/v4l2-subdev.h:407): No description found for parameter 's_stream'
    Warning(.//include/media/v4l2-subdev.h:623): No description found for parameter 'link_validate'
    Warning(.//include/media/v4l2-subdev.h:623): No description found for parameter 'set_frame_desc'

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • Fixes the following warnings:

    Warning(.//include/media/v4l2-subdev.h:445): No description found for parameter 'g_sliced_vbi_cap'
    Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'enum_mbus_code'
    Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'enum_frame_size'
    Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'enum_frame_interval'
    Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'get_fmt'
    Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'set_fmt'
    Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'get_selection'
    Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'set_selection'
    Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'get_edid'
    Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'set_edid'
    Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'dv_timings_cap'
    Warning(.//include/media/v4l2-subdev.h:589): No description found for parameter 'enum_dv_timings'

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_std'
    Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_std'
    Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'querystd'
    Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'cropcap'
    Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_crop'
    Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_crop'
    Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_parm'
    Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_parm'
    Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_frame_interval'
    Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_frame_interval'
    Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 's_dv_timings'
    Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'g_dv_timings'
    Warning(.//include/media/v4l2-subdev.h:381): No description found for parameter 'query_dv_timings'

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • The comments for struct v4l2_subdev_video_ops are out of the
    order as the parameter would appear at struct. This is not
    a problem for DocBook, but humans find harder to mentally
    reorder ;)

    So, put them at the right order. That makes easier to check
    what's missing, and to put the comments in the right place.

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 's_radio'
    Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 's_frequency'
    Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 'enum_freq_bands'
    Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 'g_tuner'
    Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 'g_modulator'
    Warning(.//include/media/v4l2-subdev.h:224): No description found for parameter 's_modulator'

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     
  • Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'queryctrl'
    Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'g_ctrl'
    Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 's_ctrl'
    Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'g_ext_ctrls'
    Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 's_ext_ctrls'
    Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'try_ext_ctrls'
    Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'querymenu'
    Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 'g_register'
    Warning(.//include/media/v4l2-subdev.h:183): No description found for parameter 's_register'

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab