06 Sep, 2013

1 commit

  • Pull networking changes from David Miller:
    "Noteworthy changes this time around:

    1) Multicast rejoin support for team driver, from Jiri Pirko.

    2) Centralize and simplify TCP RTT measurement handling in order to
    reduce the impact of bad RTO seeding from SYN/ACKs. Also, when
    both timestamps and local RTT measurements are available prefer
    the later because there are broken middleware devices which
    scramble the timestamp.

    From Yuchung Cheng.

    3) Add TCP_NOTSENT_LOWAT socket option to limit the amount of kernel
    memory consumed to queue up unsend user data. From Eric Dumazet.

    4) Add a "physical port ID" abstraction for network devices, from
    Jiri Pirko.

    5) Add a "suppress" operation to influence fib_rules lookups, from
    Stefan Tomanek.

    6) Add a networking development FAQ, from Paul Gortmaker.

    7) Extend the information provided by tcp_probe and add ipv6 support,
    from Daniel Borkmann.

    8) Use RCU locking more extensively in openvswitch data paths, from
    Pravin B Shelar.

    9) Add SCTP support to openvswitch, from Joe Stringer.

    10) Add EF10 chip support to SFC driver, from Ben Hutchings.

    11) Add new SYNPROXY netfilter target, from Patrick McHardy.

    12) Compute a rate approximation for sending in TCP sockets, and use
    this to more intelligently coalesce TSO frames. Furthermore, add
    a new packet scheduler which takes advantage of this estimate when
    available. From Eric Dumazet.

    13) Allow AF_PACKET fanouts with random selection, from Daniel
    Borkmann.

    14) Add ipv6 support to vxlan driver, from Cong Wang"

    Resolved conflicts as per discussion.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1218 commits)
    openvswitch: Fix alignment of struct sw_flow_key.
    netfilter: Fix build errors with xt_socket.c
    tcp: Add missing braces to do_tcp_setsockopt
    caif: Add missing braces to multiline if in cfctrl_linkup_request
    bnx2x: Add missing braces in bnx2x:bnx2x_link_initialize
    vxlan: Fix kernel panic on device delete.
    net: mvneta: implement ->ndo_do_ioctl() to support PHY ioctls
    net: mvneta: properly disable HW PHY polling and ensure adjust_link() works
    icplus: Use netif_running to determine device state
    ethernet/arc/arc_emac: Fix huge delays in large file copies
    tuntap: orphan frags before trying to set tx timestamp
    tuntap: purge socket error queue on detach
    qlcnic: use standard NAPI weights
    ipv6:introduce function to find route for redirect
    bnx2x: VF RSS support - VF side
    bnx2x: VF RSS support - PF side
    vxlan: Notify drivers for listening UDP port changes
    net: usbnet: update addr_assign_type if appropriate
    driver/net: enic: update enic maintainers and driver
    driver/net: enic: Exposing symbols for Cisco's low latency driver
    ...

    Linus Torvalds
     

03 Sep, 2013

1 commit

  • This patch fixes following error:
    include/media/v4l2-ctrls.h:193:15: error: field ‘_lock’ has incomplete type
    include/media/v4l2-ctrls.h: In function ‘v4l2_ctrl_lock’:
    include/media/v4l2-ctrls.h:570:2: error: implicit declaration of
    function ‘mutex_lock’ [-Werror=implicit-function-declaration]
    include/media/v4l2-ctrls.h: In function ‘v4l2_ctrl_unlock’:
    include/media/v4l2-ctrls.h:579:2: error: implicit declaration of
    function ‘mutex_unlock’ [-Werror=implicit-function-declaration]

    Signed-off-by: Andrzej Hajda
    Signed-off-by: Kyungmin Park
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab
    Cc: stable@vger.kernel.org

    Andrzej Hajda
     

26 Aug, 2013

2 commits


24 Aug, 2013

6 commits


22 Aug, 2013

2 commits


18 Aug, 2013

8 commits


17 Aug, 2013

1 commit


03 Aug, 2013

1 commit


01 Aug, 2013

2 commits

  • The use case is simple, if any rc device has allowed protocols =
    RC_TYPE_LIRC and map_name = RC_MAP_LIRC set, the driver open will be never
    called. The reason for this is, all of the key maps except lirc have some
    KEYS in there map, so during rc_register_device process these keys are
    matched against the input drivers and open is performed, so for the case
    of RC_MAP_EMPTY, a vt/keyboard is matched and the driver open is
    performed.
    In case of lirc, there is no match and result is that there is no open
    performed, however the lirc-dev will go ahead and create a /dev/lirc0
    node. Now when lircd/mode2 opens this device, no data is available
    because the driver was never opened.
    Other case pointed by Sean Young, As rc device gets opened via the
    input interface. If the input device is never opened (e.g. embedded with
    no console) then the rc open is never called and lirc will not work
    either. So that's another case.
    lirc_dev seems to have no link with actual rc device w.r.t open/close.
    This patch adds rc_dev pointer to lirc_driver structure for cases like
    this, so that it can do the open/close of the real driver in accordance
    to lircd/mode2 open/close.
    Without this patch its impossible to open a rc device which has
    RC_TYPE_LIRC ad RC_MAP_LIRC set.

    Signed-off-by: Srinivas Kandagatla
    Signed-off-by: Mauro Carvalho Chehab

    Srinivas Kandagatla
     
  • This patch adds user count to rc_dev structure, the reason to add this
    new member is to allow other code like lirc to open rc device directly.
    In the existing code, rc device is only opened by input subsystem which
    works ok if we have any input drivers to match. But in case like lirc
    where there will be no input driver, rc device will be never opened.
    Having this user count variable will be usefull to allow rc device to be
    opened from code other than rc-main.
    This patch also adds rc_open and rc_close functions for other drivers
    like lirc to open and close rc devices. This functions safely increment
    and decrement the user count. Other driver wanting to open rc device
    should call rc_open and rc_close, rather than directly modifying the
    rc_dev structure.

    Signed-off-by: Srinivas Kandagatla
    Signed-off-by: Mauro Carvalho Chehab

    Srinivas Kandagatla
     

31 Jul, 2013

4 commits

  • By integrating the v4l2-async API internals a bit more with
    the core overall the v4l2-async code becomes a bit simpler
    and easier to follow.
    Acked-and-tested-by: Lad, Prabhakar

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Acked-by: Laurent Pinchart
    Acked-by: Hans Verkuil
    Acked-by: Guennadi Liakhovetski
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • This is a purely cosmetic change. Since the 'subdev' member
    points to an array of subdevs make it more explicit by
    renaming to the plural form.
    Acked-and-tested-by: Lad, Prabhakar

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Acked-by: Laurent Pinchart
    Acked-by: Hans Verkuil
    Acked-by: Guennadi Liakhovetski
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • Add support for matching by device_node pointer. This allows
    the notifier user to simply pass a list of device_node pointers
    corresponding to sub-devices.

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Acked-by: Lad, Prabhakar
    Acked-by: Laurent Pinchart
    Acked-by: Hans Verkuil
    Acked-by: Guennadi Liakhovetski
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     
  • enum v4l2_async_bus_type also selects a method subdevs are matched
    in the notification handlers, rename it to v4l2_async_match_type
    so V4L2_ASYNC_MATCH_OF entry can be further added for matching by
    device tree node pointer.
    Acked-and-tested-by: Lad, Prabhakar

    Signed-off-by: Sylwester Nawrocki
    Signed-off-by: Kyungmin Park
    Acked-by: Laurent Pinchart
    Acked-by: Hans Verkuil
    Acked-by: Guennadi Liakhovetski
    Signed-off-by: Mauro Carvalho Chehab

    Sylwester Nawrocki
     

27 Jul, 2013

3 commits

  • This patch makes the platform data members as array wherever
    possible, so as this makes easier while collecting the data
    in DT case and read the entire array at once.
    This patch also makes appropriate changes to board-da850-evm.c

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

    Lad, Prabhakar
     
  • Add support for asynchronous subdevice probing, using the v4l2-async API.
    The legacy synchronous mode is still supported too, which allows to
    gradually update drivers and platforms.

    Signed-off-by: Lad, Prabhakar
    Cc: Guennadi Liakhovetski
    Cc: Hans Verkuil
    Cc: Laurent Pinchart
    Cc: Sakari Ailus
    Cc: Mauro Carvalho Chehab
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Lad, Prabhakar
     
  • Add support for asynchronous subdevice probing, using the v4l2-async API.
    The legacy synchronous mode is still supported too, which allows to
    gradually update drivers and platforms.

    Signed-off-by: Prabhakar Lad
    Cc: Guennadi Liakhovetski
    Cc: Hans Verkuil
    Cc: Laurent Pinchart
    Cc: Sakari Ailus
    Cc: Mauro Carvalho Chehab
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Lad, Prabhakar
     

26 Jul, 2013

2 commits

  • This patch fixes following error:
    include/media/v4l2-ctrls.h:193:15: error: field ‘_lock’ has incomplete type
    include/media/v4l2-ctrls.h: In function ‘v4l2_ctrl_lock’:
    include/media/v4l2-ctrls.h:570:2: error: implicit declaration of
    function ‘mutex_lock’ [-Werror=implicit-function-declaration]
    include/media/v4l2-ctrls.h: In function ‘v4l2_ctrl_unlock’:
    include/media/v4l2-ctrls.h:579:2: error: implicit declaration of
    function ‘mutex_unlock’ [-Werror=implicit-function-declaration]

    Signed-off-by: Andrzej Hajda
    Signed-off-by: Kyungmin Park
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Andrzej Hajda
     
  • On mem2mem decoders with a hardware bitstream ringbuffer, to drain the
    buffer at the end of the stream, remaining frames might need to be decoded
    from the bitstream buffer without additional input buffers being provided.
    To achieve this, allow a queue to be marked as buffered by the driver, and
    allow scheduling of device_runs when buffered ready queues are empty.
    This also allows a driver to copy input buffers into their bitstream
    ringbuffer and immediately mark them as done to be dequeued.
    The motivation for this patch is hardware assisted h.264 reordering support
    in the coda driver. For high profile streams, the coda can hold back
    out-of-order frames, causing a few mem2mem device runs in the beginning, that
    don't produce any decompressed buffer at the v4l2 capture side. At the same
    time, the last few frames can be decoded from the bitstream with mem2mem device
    runs that don't need a new input buffer at the v4l2 output side. The decoder
    command ioctl can be used to put the decoder into the ringbuffer draining
    end-of-stream mode.

    Signed-off-by: Philipp Zabel
    Acked-by: Sylwester Nawrocki
    Signed-off-by: Kamil Debski
    Signed-off-by: Mauro Carvalho Chehab

    Philipp Zabel
     

29 Jun, 2013

2 commits

  • Ensure the colorspace is properly adjusted by the driver for YUV
    and Bayer image formats. The subdev try_fmt helper is simplified.

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

    Sylwester Nawrocki
     
  • In scan_async_group() if the size parameter is negative, the sasd pointer
    will be used uninitialised:
    drivers/media/platform/soc_camera/soc_camera.c: In function "soc_camera_host_register":
    drivers/media/platform/soc_camera/soc_camera.c:1514:55: warning: "sasd" may
    be used uninitialized in this function [-Wmaybe-uninitialized]
    sasd->asd.match.i2c.adapter_id, sasd->asd.match.i2c.address);
    ^
    drivers/media/platform/soc_camera/soc_camera.c:1464:34: note: "sasd" was
    declared here
    struct soc_camera_async_subdev *sasd;
    Fix this by making "size" and the array, from which it is assigned unsigned.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Guennadi Liakhovetski
     

22 Jun, 2013

5 commits

  • Use the v4l2-async API to support asynchronous subdevice probing,
    including the CSI2 subdevice. Synchronous probing is still supported too.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Hans Verkuil
    Acked-by: Laurent Pinchart
    Signed-off-by: Mauro Carvalho Chehab

    Guennadi Liakhovetski
     
  • Add support for asynchronous subdevice probing, using the v4l2-async API.
    The legacy synchronous mode is still supported too, which allows to
    gradually update drivers and platforms. The selected approach adds a
    notifier for each struct soc_camera_device instance, i.e. for each video
    device node, even when there are multiple such instances registered with a
    single soc-camera host simultaneously.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Hans Verkuil
    Acked-by: Laurent Pinchart
    Signed-off-by: Mauro Carvalho Chehab

    Guennadi Liakhovetski
     
  • Instead of centrally enabling and disabling subdevice master clocks in
    soc-camera core, let subdevice drivers do that themselves, using the
    V4L2 clock API and soc-camera convenience wrappers.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Hans Verkuil
    Acked-by: Laurent Pinchart
    Signed-off-by: Mauro Carvalho Chehab

    Guennadi Liakhovetski
     
  • Currently bridge device drivers register devices for all subdevices
    synchronously, typically, during their probing. E.g. if an I2C CMOS sensor
    is attached to a video bridge device, the bridge driver will create an I2C
    device and wait for the respective I2C driver to probe. This makes linking
    of devices straight forward, but this approach cannot be used with
    intrinsically asynchronous and unordered device registration systems like
    the Flattened Device Tree. To support such systems this patch adds an
    asynchronous subdevice registration framework to V4L2. To use it respective
    (e.g. I2C) subdevice drivers must register themselves with the framework.
    A bridge driver on the other hand must register notification callbacks,
    that will be called upon various related events.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Hans Verkuil
    Acked-by: Laurent Pinchart
    Tested-by: Lad, Prabhakar
    Signed-off-by: Mauro Carvalho Chehab

    Guennadi Liakhovetski
     
  • It is often useful to have simple means to get from a subdevice to the
    underlying physical device. This patch adds such a pointer to struct
    v4l2_subdev and sets it accordingly in the I2C and SPI cases.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Hans Verkuil
    Acked-by: Laurent Pinchart
    Tested-by: Lad, Prabhakar
    Signed-off-by: Mauro Carvalho Chehab

    Guennadi Liakhovetski