09 Feb, 2013

2 commits


06 Feb, 2013

11 commits

  • Mark current frame as error frame when ppi error interrupt
    report fifo error. Member next_frm in struct bcap_device can
    be optimized out.

    Signed-off-by: Scott Jiang
    Signed-off-by: Mauro Carvalho Chehab

    Scott Jiang
     
  • This patch removes the field description of fields that no
    longer exists, along side aligns the field description of
    fields.

    Signed-off-by: Lad, Prabhakar
    Acked-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Prabhakar Lad
     
  • The current code was implemented with some default configurations,
    this default configuration works on board and doesn't work on other.
    This patch accepts the configuration through platform data and configures
    the encoder depending on the data passed.

    Signed-off-by: Lad, Prabhakar
    Acked-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Lad, Prabhakar
     
  • Newer Exynos4 SoC are equipped with a local camera ISP that
    controls external raw image sensor directly. Such sensors
    can be connected through FIMC-LITEn (and MIPI-CSISn) IPs to
    the ISP, which then feeds image data to the FIMCn IP. Thus
    there can be two busses associated with an image source
    (sensor). Rename struct s5p_fimc_isp_info describing external
    image sensor (video decoder) to struct fimc_source_info to
    avoid confusion. bus_type is split into fimc_bus_type and
    sensor_bus_type. The bus type enumeration is extended to
    include both FIMC Writeback input types.
    The bus_type enumeration and the data structure name in the
    board files are modified according to the above changes.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Acked-by: Kukjin Kim
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • Add driver for S5C73M3 image sensor. The driver exposes the sensor as
    two subdevs: pure sensor and output interface. Two subdev architecture
    supports interleaved UYVY/JPEG image format with separate frame size
    for both sub-formats, there is a spearate pad for each sub-format.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Andrzej Hajda
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Andrzej Hajda
     
  • This patch adds V4L2 sub-device driver for OV9650/OV9652 image sensors.
    The driver exposes following V4L2 controls:
    - auto/manual exposure,
    - auto/manual white balance,
    - auto/manual gain,
    - brightness, saturation, sharpness,
    - horizontal/vertical flip,
    - color bar test pattern,
    - banding filter (power line frequency).
    Frame rate can be configured with g/s_frame_interval pad level ops.
    Supported resolution are only: SXGA, VGA, QVGA.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • This patch adds a v4l2 core helper function that can be used as
    the log_status handler for subdevs that only need to log state
    of the v4l2 controls owned by the subdev's control handler.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • Add a v4l2 core helper function that can be used as the subdev
    .subscribe_event handler. This allows to eliminate some boilerplate
    from drivers that are only handling the control events.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • Add a v4l2 core helper function that can be used as the subdev
    .unsubscribe_event handler. This allows to eliminate some
    boilerplate from drivers that are only handling the control events.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • This patch adds a helper function that allows to modify range,
    i.e. minimum, maximum, step and default value of a v4l2 control,
    after the control has been created and initialized. This is helpful
    in situations when range of a control depends on user configurable
    parameters, e.g. camera sensor absolute exposure time depending on
    an output image resolution and frame rate.
    v4l2_ctrl_modify_range() function allows to modify range of an
    INTEGER, BOOL, MENU, INTEGER_MENU and BITMASK type controls.
    Based on a patch from Hans Verkuil http://patchwork.linuxtv.org/patch/8654.

    Signed-off-by: Sylwester Nawrocki
    Acked-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • Add common header file defining standard image sizes, so we can
    avoid redefining those in each driver.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     

05 Jan, 2013

4 commits

  • struct soc_camera_link currently contains fields, used both by sensor and
    bridge drivers. To make subdevice driver re-use simpler, split it into a
    host and a subdevice parts.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Mauro Carvalho Chehab

    Guennadi Liakhovetski
     
  • Currently soc-camera has a per-device node lock, used for video operations
    and a per-host lock for code paths, modifying host's pipeline. Manipulating
    the two locks increases complexity and doesn't bring any advantages. This
    patch removes the per-device lock and uses the per-host lock for all
    operations.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Mauro Carvalho Chehab

    Guennadi Liakhovetski
     
  • The recently introduced host_lock causes lockdep warnings, besides, list
    enumeration in scan_add_host() must be protected by holdint the list_lock.
    OTOH, holding .video_lock in soc_camera_open() isn't enough to protect
    the host during its building of the pipeline, because .video_lock is per
    soc-camera device. If, e.g. more than one sensor can be attached to a host
    and the user tries to open both device nodes simultaneously, host's .add()
    method can be called simultaneously for both sensors. Fix these problems
    by holding list_lock instead of .host_lock in scan_add_host() and taking
    it shortly at the beginning of soc_camera_open(), and using .host_lock to
    protect host's .add() and .remove() operations only.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Mauro Carvalho Chehab

    Guennadi Liakhovetski
     
  • Sometimes platform/bridge drivers need to be notified when a control from
    a sub-device changes value. In order to support this a notify callback was
    added.
    [dheitmueller@kernellabs.com: fix merge conflict in v4l2-ctrls.c]

    Signed-off-by: Hans Verkuil
    Signed-off-by: Devin Heitmueller
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     

26 Dec, 2012

1 commit


24 Dec, 2012

1 commit


22 Dec, 2012

2 commits

  • The vpbe driver can handle different platforms DM644X, DM36X and
    DM355. To differentiate between this platforms venc_type/vpbe_type
    was passed as part of platform data which was incorrect. The correct
    way to differentiate to handle this case is by passing different
    platform names.
    This patch creates platform_device_id[] array supporting different
    platforms and assigns id_table to the platform driver, and finally
    in the probe gets the actual device by using platform_get_device_id()
    and gets the appropriate driver data for that platform.
    Taking this approach will also make the DT transition easier.

    Signed-off-by: Lad, Prabhakar
    Signed-off-by: Manjunath Hadli
    Acked-by: Sekhar Nori
    Signed-off-by: Mauro Carvalho Chehab

    Lad, Prabhakar
     
  • Add vpss helper functions to be used in the main driver for setting
    hardware parameters.

    Add interface functions to set sync polarity, interrupt completion and
    pageframe size in vpss to be used by the main driver.

    Signed-off-by: Manjunath Hadli
    Signed-off-by: Lad, Prabhakar
    Signed-off-by: Mauro Carvalho Chehab

    Manjunath Hadli
     

21 Dec, 2012

1 commit

  • v4l2_get_timestamp() produces a monotonic timestamp but unlike
    ktime_get_ts(), it uses struct timeval instead of struct timespec, saving
    the drivers the conversion job when getting timestamps for v4l2_buffer's
    timestamp field.

    Signed-off-by: Sakari Ailus
    Acked-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Sakari Ailus
     

19 Dec, 2012

1 commit


28 Nov, 2012

2 commits

  • This patch adds V4L2 driver for Samsung S3C24XX/S3C64XX SoC series
    camera interface. The driver exposes a subdev device node for CAMIF
    pixel resolution and crop control and two video capture nodes - for
    the "codec" and "preview" data paths. It has been tested on Mini2440
    (s3c2440) and Mini6410 (s3c6410) board with gstreamer and mplayer.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Tomasz Figa
    Signed-off-by: Andrey Gusakov
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • * linus/master: (1428 commits)
    futex: avoid wake_futex() for a PI futex_q
    watchdog: using u64 in get_sample_period()
    writeback: put unused inodes to LRU after writeback completion
    mm: vmscan: check for fatal signals iff the process was throttled
    Revert "mm: remove __GFP_NO_KSWAPD"
    proc: check vma->vm_file before dereferencing
    UAPI: strip the _UAPI prefix from header guards during header installation
    include/linux/bug.h: fix sparse warning related to BUILD_BUG_ON_INVALID
    Linux 3.7-rc7
    powerpc/eeh: Do not invalidate PE properly
    ALSA: hda - Fix build without CONFIG_PM
    of/address: sparc: Declare of_iomap as an extern function for sparc again
    PM / QoS: fix wrong error-checking condition
    bnx2x: remove redundant warning log
    vxlan: fix command usage in its doc
    8139cp: revert "set ring address before enabling receiver"
    MPI: Fix compilation on MIPS with GCC 4.4 and newer
    MIPS: Fix crash that occurs when function tracing is enabled
    MIPS: Merge overlapping bootmem ranges
    jbd: Fix lock ordering bug in journal_unmap_buffer()
    ...

    Mauro Carvalho Chehab
     

26 Nov, 2012

5 commits

  • This patch adds extension to videobuf2-core. It allow to export an mmap buffer
    as a DMABUF file descriptor.

    Signed-off-by: Tomasz Stanislawski
    Signed-off-by: Kyungmin Park
    Acked-by: Laurent Pinchart
    Acked-by: Hans Verkuil
    Tested-by: Mauro Carvalho Chehab
    Signed-off-by: Mauro Carvalho Chehab

    Tomasz Stanislawski
     
  • This patch adds extension to V4L2 api. A new ioctl VIDIOC_EXPBUF is added. The
    ioctl is used to export an mmap buffer as a DMABUF file descriptor.

    Signed-off-by: Tomasz Stanislawski
    Signed-off-by: Kyungmin Park
    Acked-by: Hans Verkuil
    Tested-by: Mauro Carvalho Chehab
    Signed-off-by: Mauro Carvalho Chehab

    Tomasz Stanislawski
     
  • Let mmap method to use dma_mmap_coherent call. Moreover, this patch removes
    vb2_mmap_pfn_range from videobuf2 helpers as it was suggested by Laurent
    Pinchart. The function is no longer used in vb2 code.

    Signed-off-by: Marek Szyprowski
    Signed-off-by: Tomasz Stanislawski
    Acked-by: Laurent Pinchart
    Acked-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Marek Szyprowski
     
  • This patch adds support for prepare/finish callbacks in VB2 allocators. These
    callback are used for buffer flushing.

    Signed-off-by: Marek Szyprowski
    Acked-by: Laurent Pinchart
    Acked-by: Hans Verkuil
    Tested-by: Mauro Carvalho Chehab
    Signed-off-by: Mauro Carvalho Chehab

    Marek Szyprowski
     
  • This patch adds support for DMABUF memory type in videobuf2. It calls relevant
    APIs of dma_buf for v4l reqbuf / qbuf / dqbuf operations.
    For this version, the support is for videobuf2 as a user of the shared buffer;
    so the allocation of the buffer is done outside of V4L2. [A sample allocator of
    dma-buf shared buffer is given at [1]]
    [1]: Rob Clark's DRM:
    https://github.com/robclark/kernel-omap4/commits/drmplane-dmabuf
    [original work in the PoC for buffer sharing]

    Signed-off-by: Tomasz Stanislawski
    Signed-off-by: Sumit Semwal
    Signed-off-by: Sumit Semwal
    Acked-by: Laurent Pinchart
    Acked-by: Hans Verkuil
    Tested-by: Mauro Carvalho Chehab
    Signed-off-by: Mauro Carvalho Chehab

    Sumit Semwal
     

22 Nov, 2012

2 commits

  • Set "y_skip_top" to zero and revise comment as I do not see this line
    corruption on two different mt9v022 setups. The first read-out line
    is perfectly fine. Add mt9v022 platform data configuring y_skip_top
    for platforms that have issues with the first read-out line. Set
    y_skip_top to 1 for pcm990 board.

    Signed-off-by: Anatolij Gustschin
    Acked-by: Eric Miao
    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Mauro Carvalho Chehab

    Anatolij Gustschin
     
  • Changes the way the primary mode is handled:
    - Remove it from platform_data since it doesn't belong there.
    - Add a new mode enum for use with s_routing.
    - Collapse the two HDMI modes into one HDMI mode: when setting up the
    timings manually we do not need to select HDMI_COMP mode. That's only
    needed when selecting a preset.
    This patch prepares for the next step where we switch to using the presets
    where available.

    Signed-off-by: Mats Randgaard
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     

21 Nov, 2012

3 commits

  • This patch migrates VPBE display driver to videobuf2 framework.

    Signed-off-by: Lad, Prabhakar
    Signed-off-by: Manjunath Hadli
    Signed-off-by: Mauro Carvalho Chehab

    Lad, Prabhakar
     
  • Warnings were generated because of the following commit changed data type for
    address pointer
    195bbca ARM: 7500/1: io: avoid writeback addressing modes for __raw_ accessors
    add __iomem annotation to fix following warnings
    drivers/media/platform/davinci/vpbe_osd.c: In function ‘osd_read’:
    drivers/media/platform/davinci/vpbe_osd.c:49:2: warning: passing
    argument 1 of ‘__raw_readl’ makes pointer from integer without a cast [enabled by default]
    arch/arm/include/asm/io.h:104:19: note: expected ‘const volatile
    void *’ but argument is of type ‘long unsigned int’
    This patch stores the ioremap_nocache() returned address in a
    void __iomem * instead of a unsigned long and passes the same to
    readl/writel functions which fixes the above warnings.

    Signed-off-by: Lad, Prabhakar
    Signed-off-by: Manjunath Hadli
    Acked-by: Laurent Pinchart
    Signed-off-by: Mauro Carvalho Chehab

    Lad, Prabhakar
     
  • Update contact information to correspond my e-mail address changes.

    Signed-off-by: Sakari Ailus
    Signed-off-by: Mauro Carvalho Chehab

    Sakari Ailus
     

27 Oct, 2012

1 commit

  • The RC_TYPE_* defines are currently used both where a single protocol is
    expected and where a bitmap of protocols is expected.

    Functions like rc_keydown() and functions which add/remove entries to the
    keytable want a single protocol. Future userspace APIs would also
    benefit from numeric protocols (rather than bitmap ones). Keytables are
    smaller if they can use a small(ish) integer rather than a bitmap.

    Other functions or struct members (e.g. allowed_protos,
    enabled_protocols, etc) accept multiple protocols and need a bitmap.

    Using different types reduces the risk of programmer error. Using a
    protocol enum whereever possible also makes for a more future-proof
    user-space API as we don't need to worry about a sufficient number of
    bits being available (e.g. in structs used for ioctl() calls).

    The use of both a number and a corresponding bit is dalso one in e.g.
    the input subsystem as well (see all the references to set/clear bit when
    changing keytables for example).

    This patch separate the different usages in preparation for
    upcoming patches.

    Where a single protocol is expected, enum rc_type is used; where one or more
    protocol(s) are expected, something like u64 is used.

    The patch has been rewritten so that the format of the sysfs "protocols"
    file is no longer altered (at the loss of some detail). The file itself
    should probably be deprecated in the future though.

    Signed-off-by: David Härdeman
    Cc: Andy Walls
    Cc: Maxim Levitsky
    Cc: Antti Palosaari
    Cc: Mike Isely
    Signed-off-by: Mauro Carvalho Chehab

    David Härdeman
     

06 Oct, 2012

4 commits

  • This patch extends s5p-hdmi platform data by a GPIO identifier for
    Hot-Plug-Detection pin.

    Signed-off-by: Tomasz Stanislawski
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Tomasz Stanislawski
     
  • alignment, fixed_phy_vdd and phy_enable fields are now unused
    so removed them. The data alignment is now derived directly
    from media bus pixel code, phy_enable callback has been replaced
    with direct function call and fixed_phy_vdd was dropped in commit
    438df3ebe5f0ce408490a777a758d5905f0dd58f
    "[media] s5p-csis: Handle all available power supplies".

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • vpif_display relied on a 1-1 mapping of output and subdev. This is not
    necessarily the case. Separate the two. So there is a list of subdevs
    and a list of outputs. Each output refers to a subdev and has routing
    information. An output does not have to have a subdev.
    The initial output for each channel is set to the fist output.
    Currently missing is support for associating multiple subdevs with
    an output.

    Signed-off-by: Lad, Prabhakar
    Signed-off-by: Manjunath Hadli
    Acked-by: Hans Verkuil
    Acked-by: Sekhar Nori
    Signed-off-by: Mauro Carvalho Chehab

    Lad, Prabhakar
     
  • struct vpif_interface is channel specific, not subdev specific.
    Move it to the channel config.

    Signed-off-by: Hans Verkuil
    Acked-by: Sekhar Nori
    Acked-by: Lad, Prabhakar
    Tested-by: Lad, Prabhakar
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil