04 Aug, 2016

1 commit

  • The dma-mapping core and the implementations do not change the DMA
    attributes passed by pointer. Thus the pointer can point to const data.
    However the attributes do not have to be a bitfield. Instead unsigned
    long will do fine:

    1. This is just simpler. Both in terms of reading the code and setting
    attributes. Instead of initializing local attributes on the stack
    and passing pointer to it to dma_set_attr(), just set the bits.

    2. It brings safeness and checking for const correctness because the
    attributes are passed by value.

    Semantic patches for this change (at least most of them):

    virtual patch
    virtual context

    @r@
    identifier f, attrs;

    @@
    f(...,
    - struct dma_attrs *attrs
    + unsigned long attrs
    , ...)
    {
    ...
    }

    @@
    identifier r.f;
    @@
    f(...,
    - NULL
    + 0
    )

    and

    // Options: --all-includes
    virtual patch
    virtual context

    @r@
    identifier f, attrs;
    type t;

    @@
    t f(..., struct dma_attrs *attrs);

    @@
    identifier r.f;
    @@
    f(...,
    - NULL
    + 0
    )

    Link: http://lkml.kernel.org/r/1468399300-5399-2-git-send-email-k.kozlowski@samsung.com
    Signed-off-by: Krzysztof Kozlowski
    Acked-by: Vineet Gupta
    Acked-by: Robin Murphy
    Acked-by: Hans-Christian Noren Egtvedt
    Acked-by: Mark Salter [c6x]
    Acked-by: Jesper Nilsson [cris]
    Acked-by: Daniel Vetter [drm]
    Reviewed-by: Bart Van Assche
    Acked-by: Joerg Roedel [iommu]
    Acked-by: Fabien Dessenne [bdisp]
    Reviewed-by: Marek Szyprowski [vb2-core]
    Acked-by: David Vrabel [xen]
    Acked-by: Konrad Rzeszutek Wilk [xen swiotlb]
    Acked-by: Joerg Roedel [iommu]
    Acked-by: Richard Kuo [hexagon]
    Acked-by: Geert Uytterhoeven [m68k]
    Acked-by: Gerald Schaefer [s390]
    Acked-by: Bjorn Andersson
    Acked-by: Hans-Christian Noren Egtvedt [avr32]
    Acked-by: Vineet Gupta [arc]
    Acked-by: Robin Murphy [arm64 and dma-iommu]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Kozlowski
     

23 Jul, 2016

15 commits


20 Jul, 2016

1 commit

  • The size of the transmit queue was unlimited, which meant that
    in non-blocking mode you could flood the CEC adapter with messages
    to be transmitted.

    Limit this to 18 messages.

    Also print the number of pending transmits and the timeout value
    in the status debugfs file.

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

    Hans Verkuil
     

18 Jul, 2016

4 commits

  • There were lots of issues at the media controller side,
    after the conversion:

    - Some documentation at the header files weren't using the
    kernel-doc start block;

    - Now, the C files with the exported symbols also need to be
    added. So, all headers need to be included twice: one to
    get the structs/enums/.. and another one for the functions;

    - Notes should use the ReST tag, as kernel-doc doesn't
    recognizes it anymore;

    - Identation needs to be fixed, as ReST uses it to identify
    when a format "tag" ends.

    - Fix the cross-references at the media controller description.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • The conversion from DocBook lead into some conversion issues,
    basically due to the lack of proper support at kernel-doc.

    So, address them:

    - Now, the C files with the exported symbols also need to be
    added. So, all headers need to be included twice: one to
    get the structs/enums/.. and another one for the functions;

    - Notes should use the ReST tag, as kernel-doc doesn't
    recognizes it anymore;

    - Identation needs to be fixed, as ReST uses it to identify
    when a format "tag" ends.

    - kernel-doc doesn't escape things like *pointer, so we
    need to manually add a escape char before it.

    - On some cases, kernel-doc conversion requires violating
    the 80-cols, as otherwise it won't properly parse the
    source code.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • The kernel-doc script is now broken if it doesn't find all
    exported symbols documented.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Move the contents of the media section at
    DocBooks/DocBook/device-drivers.tmpl to a new ReST book.

    For now, the contents is kept as-is. Next patches will fix
    the warnings and add cross-references that were removed due to
    the conversion.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

15 Jul, 2016

1 commit


14 Jul, 2016

1 commit

  • * topic/vsp1: (36 commits)
    [media] v4l: vsp1: wpf: Add flipping support
    [media] v4l: vsp1: rwpf: Support runtime modification of controls
    [media] v4l: vsp1: Simplify alpha propagation
    [media] v4l: vsp1: clu: Support runtime modification of controls
    [media] v4l: vsp1: lut: Support runtime modification of controls
    [media] v4l: vsp1: Support runtime modification of controls
    [media] v4l: vsp1: Add Cubic Look Up Table (CLU) support
    [media] v4l: vsp1: lut: Expose configuration through a control
    [media] v4l: vsp1: lut: Initialize the mutex
    [media] v4l: vsp1: dl: Don't free fragments with interrupts disabled
    [media] v4l: vsp1: Set entities functions
    [media] v4l: vsp1: Don't create LIF entity when the userspace API is enabled
    [media] v4l: vsp1: Don't register media device when userspace API is disabled
    [media] v4l: vsp1: Base link creation on availability of entities
    [media] media: Add video statistics computation functions
    [media] media: Add video processing entity functions
    [media] v4l: vsp1: sru: Fix intensity control ID
    [media] v4l: vsp1: Stop the pipeline upon the first STREAMOFF
    [media] v4l: vsp1: Constify operation structures
    [media] v4l: vsp1: pipe: Fix typo in comment
    ...

    Mauro Carvalho Chehab
     

13 Jul, 2016

1 commit


12 Jul, 2016

1 commit


09 Jul, 2016

7 commits

  • Converts the dtt200u DVB USB driver over to the rc-core
    infrastructure for its handling of IR remotes. This device can receive
    generic NEC / NEC Extended signals and the switch to the newer core
    enables the easy use of tools such as ir-keytable to modify the active
    key map.

    Signed-off-by: Jonathan McDowell
    Signed-off-by: Mauro Carvalho Chehab

    Jonathan McDowell
     
  • * topic/cec:
    [media] DocBook/media: add CEC documentation
    [media] s5p_cec: get rid of an unused var
    [media] move s5p-cec to staging
    [media] vivid: add CEC emulation
    [media] cec: s5p-cec: Add s5p-cec driver
    [media] cec: adv7511: add cec support
    [media] cec: adv7842: add cec support
    [media] cec: adv7604: add cec support
    [media] cec: add compat32 ioctl support
    [media] cec/TODO: add TODO file so we know why this is still in staging
    [media] cec: add HDMI CEC framework (api)
    [media] cec: add HDMI CEC framework (adapter)
    [media] cec: add HDMI CEC framework (core)
    [media] cec-funcs.h: static inlines to pack/unpack CEC messages
    [media] cec.h: add cec header
    [media] cec-edid: add module for EDID CEC helper functions
    [media] cec.txt: add CEC framework documentation
    [media] rc: Add HDMI CEC protocol handling
    Input: add HDMI CEC specific keycodes
    Input: add BUS_CEC type

    Mauro Carvalho Chehab
     
  • * topic/cec:
    [media] DocBook/media: add CEC documentation
    [media] s5p_cec: get rid of an unused var
    [media] move s5p-cec to staging
    [media] vivid: add CEC emulation
    [media] cec: s5p-cec: Add s5p-cec driver
    [media] cec: adv7511: add cec support
    [media] cec: adv7842: add cec support
    [media] cec: adv7604: add cec support
    [media] cec: add compat32 ioctl support
    [media] cec/TODO: add TODO file so we know why this is still in staging
    [media] cec: add HDMI CEC framework (api)
    [media] cec: add HDMI CEC framework (adapter)
    [media] cec: add HDMI CEC framework (core)
    [media] cec-funcs.h: static inlines to pack/unpack CEC messages
    [media] cec.h: add cec header
    [media] cec-edid: add module for EDID CEC helper functions
    [media] cec.txt: add CEC framework documentation
    [media] rc: Add HDMI CEC protocol handling

    Mauro Carvalho Chehab
     
  • Make this a proper typed array. Drop the old allocate context code since
    that is no longer used.

    Note that the memops functions now get a struct device pointer instead of
    the struct device ** that was there initially (actually a void pointer to
    a struct containing only a struct device pointer).

    This code is now a lot cleaner.

    Signed-off-by: Hans Verkuil
    Reviewed-by: Laurent Pinchart
    Cc: Sakari Ailus
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • Stop using alloc_ctx and just fill in the device pointer.

    Signed-off-by: Hans Verkuil
    Acked-by: Lad, Prabhakar
    Cc: Scott Jiang
    Acked-by: Philipp Zabel
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • The allocation context is nothing more than a per-plane device pointer
    to use when allocating buffers. So just provide a dev pointer in vb2_queue
    for that purpose and drivers can skip allocating/releasing/filling in
    the allocation context unless they require different per-plane device
    pointers as used by some Samsung SoCs.

    Signed-off-by: Hans Verkuil
    Reviewed-by: Laurent Pinchart
    Cc: Sakari Ailus
    Cc: Florian Echtler
    Cc: Federico Vaga
    Cc: "Lad, Prabhakar"
    Cc: Scott Jiang
    Acked-by: Philipp Zabel
    Cc: Fabien Dessenne
    Acked-by: Benoit Parrot
    Cc: Mikhail Ulyanov
    Cc: Guennadi Liakhovetski
    Cc: Jonathan Corbet
    Cc: Ludovic Desroches
    Cc: Sergei Shtylyov
    Cc: Kyungmin Park
    Cc: Sylwester Nawrocki
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • Make the dma attributes struct part of vb2_queue. This greatly simplifies
    the remainder of the patch series since the dma_contig alloc context is
    now (as before) just a struct device pointer.

    Signed-off-by: Hans Verkuil
    Reviewed-by: Laurent Pinchart
    Cc: Sakari Ailus
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     

28 Jun, 2016

4 commits

  • Add CEC support to the adv7511 driver.

    Signed-off-by: Hans Verkuil
    [k.debski@samsung.com: Merged changes from CEC Updates commit by Hans Verkuil]
    Signed-off-by: Kamil Debski
    Signed-off-by: Hans Verkuil

    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • The added HDMI CEC framework provides a generic kernel interface for
    HDMI CEC devices.

    Note that the CEC framework is added to staging/media and that the
    cec.h and cec-funcs.h headers are not exported yet. While the kABI
    is mature, I would prefer to allow the uABI some more time before
    it is mainlined in case it needs more tweaks.

    This adds the cec-core.c, media/cec.h and cec-priv.h sources.

    Signed-off-by: Hans Verkuil
    [k.debski@samsung.com: Merged CEC Updates commit by Hans Verkuil]
    [k.debski@samsung.com: Merged Update author commit by Hans Verkuil]
    [k.debski@samsung.com: code cleanup and fixes]
    [k.debski@samsung.com: add missing CEC commands to match spec]
    [k.debski@samsung.com: add RC framework support]
    [k.debski@samsung.com: move and edit documentation]
    [k.debski@samsung.com: add vendor id reporting]
    [k.debski@samsung.com: reorder of API structs and add reserved fields]
    [k.debski@samsung.com: fix handling of events and fix 32/64bit timespec problem]
    [k.debski@samsung.com: add sequence number handling]
    [k.debski@samsung.com: add passthrough mode]
    [k.debski@samsung.com: fix CEC defines, add missing CEC 2.0 commands]
    Signed-off-by: Kamil Debski

    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     
  • The cec-edid module contains helper functions to find and manipulate
    the CEC physical address inside an EDID. Even if the CEC support itself
    is disabled, drivers will still need these functions. Which is the
    reason this is module is separate from the upcoming CEC framework.

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

    Hans Verkuil
     
  • The comments for the unlocked v4l2_ctrl_s_ctrl* functions were wrong (copy
    and pasted from the locked variants). Fix this, since it is confusing.

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

    Hans Verkuil
     

22 Jun, 2016

1 commit


21 Jun, 2016

1 commit


17 Jun, 2016

2 commits

  • The vsp1_du_atomic_update_ext() function takes 7 RPF configuration
    parameters, and more will likely be added later. This makes the code
    difficult to read and error-prone as multiple parameters have the same
    type.

    Make the API safer and easier to extend in the future by grouping all
    parameters in a structure. Use macro magic to ease the transition to the
    new function by allowing the old and new functions to be called using
    the same name. The macros and static inline wrapper will be removed as
    soon as the caller is updated.

    Signed-off-by: Laurent Pinchart
    Signed-off-by: Mauro Carvalho Chehab

    Laurent Pinchart
     
  • The FCP is a companion module of video processing modules in the
    Renesas R-Car Gen3 SoCs. It provides data compression and decompression,
    data caching, and conversion of AXI transactions in order to reduce the
    memory bandwidth.

    The driver is not meant to be used standalone but provides an API to the
    video processing modules to control the FCP.

    Signed-off-by: Laurent Pinchart
    Signed-off-by: Mauro Carvalho Chehab

    Laurent Pinchart