25 Nov, 2019

1 commit


12 Feb, 2019

39 commits

  • Added content_type property to drm_connector_state
    in order to properly handle external HDMI TV content-type setting.

    v2:
    * Moved helper function which attaches content type property
    to the drm core, as was suggested.
    Removed redundant connector state initialization.

    v3:
    * Removed caps in drm_content_type_enum_list.
    After some discussion it turned out that HDMI Spec 1.4
    was wrongly assuming that IT Content(itc) bit doesn't affect
    Content type states, however itc bit needs to be manupulated
    as well. In order to not expose additional property for itc,
    for sake of simplicity it was decided to bind those together
    in same "content type" property.

    v4:
    * Added it_content checking in intel_digital_connector_atomic_check.
    Fixed documentation for new content type enum.

    v5:
    * Moved patch revision's description to commit messages.

    v6:
    * Minor naming fix for the content type enumeration string.

    v7:
    * Fix parameter name for documentation and parameter alignment
    in order not to get warning. Added Content Type description to
    new HDMI connector properties section.

    v8:
    * Thrown away unneeded numbers from HDMI content-type property
    description. Switch to strings desription instead of plain
    definitions.

    v9:
    * Moved away hdmi specific content-type enum from
    drm_connector_state. Content type property should probably not
    be bound to any specific connector interface in
    drm_connector_state.
    Same probably should be done to hdmi_picture_aspect_ration enum
    which is also contained in drm_connector_state. Added special
    helper function to get derive hdmi specific relevant infoframe
    fields.

    v10:
    * Added usage description to HDMI properties kernel doc.

    v11:
    * Created centralized function for filling HDMI AVI infoframe, based
    on correspondent DRM property value.

    Acked-by: Hans Verkuil
    Acked-by: Daniel Vetter
    Signed-off-by: Stanislav Lisovskiy
    Link: https://patchwork.freedesktop.org/patch/msgid/20180515135928.31092-2-stanislav.lisovskiy@intel.com
    [vsyrjala: clean up checkpatch multiple blank lines warnings]
    Signed-off-by: Ville Syrjälä

    Stanislav Lisovskiy
     
  • This patch adds a new optional connector property to allow userspace to enable
    protection over the content it is displaying. This will typically be implemented
    by the driver using HDCP.

    The property is a tri-state with the following values:
    - OFF: Self explanatory, no content protection
    - DESIRED: Userspace requests that the driver enable protection
    - ENABLED: Once the driver has authenticated the link, it sets this value

    The driver is responsible for downgrading ENABLED to DESIRED if the link becomes
    unprotected. The driver should also maintain the desiredness of protection
    across hotplug/dpms/suspend.

    If this looks familiar, I posted [1] this 3 years ago. We have been using this
    in ChromeOS across exynos, mediatek, and rockchip over that time.

    Changes in v2:
    - Pimp kerneldoc for content_protection_property (Daniel)
    - Drop sysfs attribute
    Changes in v3:
    - None
    Changes in v4:
    - Changed kerneldoc to recommend userspace polling (Daniel)
    - Changed kerneldoc to briefly describe how to attach the property (Daniel)
    Changes in v5:
    - checkpatch whitespace noise
    - Change DRM_MODE_CONTENT_PROTECTION_OFF to DRM_MODE_CONTENT_PROTECTION_UNDESIRED
    Changes in v6:
    - None

    Reviewed-by: Daniel Vetter
    Signed-off-by: Sean Paul

    [1] https://lists.freedesktop.org/archives/dri-devel/2014-December/073336.html
    Link: https://patchwork.freedesktop.org/patch/msgid/20180108195545.218615-4-seanpaul@chromium.org

    Sean Paul
     
  • Android has RGBA format output but V4L2 framework do not have this format
    .In order to support this in our mem2mem driver, we need to extend V4L2
    format.

    Signed-off-by: Guoniu.Zhou

    Guoniu.Zhou
     
  • This is based on Xtensa Audio framework
    userspace implemention API.

    Reviewed-by: Cosmin-Gabriel Samoila
    Signed-off-by: Shengjiu Wang

    Daniel Baluta
     
  • This is based on RF-2016.4-linux package received from Cadence
    and introduce the API for loading shared libraries into memory.

    Based on this we create xf_load_lib/xf_load_unlib functions
    which are used to tell DSP framework that codec libraries
    are mapped in memory and it can start using them.

    Reviewed-by: Cosmin-Gabriel Samoila
    Signed-off-by: Shengjiu Wang

    Daniel Baluta
     
  • Implement different sync method, replace previous signal with ioctl
    Related functions were added

    (cherry-pick from : adc4bc267e5c3a33ca802de83e2693638a7be8e8)

    Signed-off-by: Zhou Peng

    Zhou Peng
     
  • Add structure dma_buf_phys to store physical address.
    Add DMA_BUF_IOCTL_PHYS to export physical address.

    Change-Id: Ib2f24b33462d603f2cbeef975689aaf82447d088
    Signed-off-by: ivan.liu

    ivan.liu
     
  • Add hantro 845 h1 encoder driver source

    Signed-off-by: Zhou Peng

    Zhou Peng
     
  • In order to avoid the name problem going forward with
    integration with Qcom, Qcom has their own dsp and hifi
    is competitor, so the hifi name should not be used in
    our code.

    So use the name of dsp instead of hifi to fix this
    problem.

    Signed-off-by: Weiguang Kong

    Weiguang Kong
     
  • The architecture of dsp framework has been changed, the role of
    dsp driver is transferring messages between dsp framework and user space
    application, so change dsp driver to support this function.

    Signed-off-by: Weiguang Kong

    Weiguang Kong
     
  • According to ANSI-CTA-861-G specification:
    * EOTF is 8 bit, not 16;
    * metadata type is 8 bit, not 16;
    * There's no "Minimum Content Light Level"

    This patch will change the HDR metadata structures to reflect that. Also, this
    will fix problems seen on some TVs that were rejecting HDR metadata because
    it's size was too big (more than 26 bytes).

    Signed-off-by: Laurentiu Palcu
    CC: Sandor Yu

    Laurentiu Palcu
     
  • This is 10-bit per channel YUV420 semi-planar.

    Signed-off-by: Laurentiu Palcu

    Laurentiu Palcu
     
  • This patch adds a blob property to get HDR metadata
    information from userspace. This will be send as part
    of AVI Infoframe to panel.

    Signed-off-by: Uma Shankar

    Uma Shankar
     
  • Add a new fb modifier for Vivante compressed and tiled
    pixle layout which can be decompressed by DEC400D module
    in DCSS.

    Signed-off-by: Fancy Fang

    Fancy Fang
     
  • These formats will be used by VPU and DCSS.

    Signed-off-by: Laurentiu Palcu

    Bing Song
     
  • Add struct drm_imx_dpu_frame_info.

    Signed-off-by: Meng Mingming

    Meng Mingming
     
  • In order to avoid license problem of Cadence header files, these
    license files has been wrappered into a library and new interface
    has been abstracted to replace the interface of Cadence header
    files.

    So update the mxc_hifi4.h file to provide new interface for
    user space to use.

    Signed-off-by: Weiguang Kong

    Weiguang Kong
     
  • Amphion VPU has a tiled layout using 8x128 pixel vertical strips,
    where each strip contains 1x16 groups of 8x8 pixels in a row-major layout.

    Signed-off-by: Song Bing
    Signed-off-by: Liu Ying

    Liu Ying
     
  • Adds TEE_IOCTL_PARAM_ATTR_META with can be used to indicate meta
    parameters when communicating with user space. These meta parameters can
    be used by supplicant support multiple parallel requests at a time.

    Reviewed-by: Etienne Carriere
    Signed-off-by: Jens Wiklander

    Modified from: From: https://github.com/linaro-swg/linux.git
    Conflicts:
    drivers/tee/tee_core.c
    (cherry picked from commit 66d81fcf145fdc55322c0a11764c76a43d90ecad)

    Jens Wiklander
     
  • This change allows userland to create a tee_shm object that refers
    to a dmabuf reference.

    Userland provides a dmabuf file descriptor as buffer reference.
    The created tee_shm object exported as a brand new dmabuf reference
    used to provide a clean fd to userland. Userland shall closed this new
    fd to release the tee_shm object resources. The initial dmabuf resources
    are tracked independently through original dmabuf file descriptor.

    Once the buffer is registered and until it is released, TEE driver
    keeps a refcount on the registered dmabuf structure.

    This change only support dmabuf references that relates to physically
    contiguous memory buffers.

    New tee_shm flag to identify tee_shm objects built from a registered
    dmabuf: TEE_SHM_EXT_DMA_BUF. Such tee_shm structures are flagged both
    TEE_SHM_DMA_BUF and TEE_SHM_EXT_DMA_BUF.

    Signed-off-by: Etienne Carriere
    Reviewed-by: Jens Wiklander
    From: https://github.com/linaro-swg/linux.git
    (cherry picked from commit 41e21e5c405530590dc2dd10b2a8dbe64589840f)

    Etienne Carriere
     
  • drm_mode_create_lease

    Creates a lease for a list of drm mode objects, returning an
    fd for the new drm_master and a 64-bit identifier for the lessee

    drm_mode_list_lesees

    List the identifiers of the lessees for a master file

    drm_mode_get_lease

    List the leased objects for a master file

    drm_mode_revoke_lease

    Erase the set of objects managed by a lease.

    This should suffice to at least create and query leases.

    Changes for v2 as suggested by Daniel Vetter :

    * query ioctls only query the master associated with
    the provided file.

    * 'mask_lease' value has been removed

    * change ioctl has been removed.

    Changes for v3 suggested in part by Dave Airlie

    * Add revoke ioctl.

    Changes for v4 suggested by Dave Airlie

    * Expand on the comment about the magic use of &drm_lease_idr_object
    * Pad lease ioctl structures to align on 64-bit boundaries

    Changes for v5 suggested by Dave Airlie

    * Check for non-negative object_id in create_lease to avoid debug
    output from the kernel.

    Changes for v6 provided by Dave Airlie

    * For non-universal planes add primary/cursor planes to lease

    If we aren't exposing universal planes to this userspace client,
    and it requests a lease on a crtc, we should implicitly export the
    primary and cursor planes for the crtc.

    If the lessee doesn't request universal planes, it will just see
    the crtc, but if it does request them it will then see the plane
    objects as well.

    This also moves the object look ups earlier as a side effect, so
    we'd exit the ioctl quicker for non-existant objects.

    * Restrict leases to crtc/connector/planes.

    This only allows leasing for objects we wish to allow.

    Changes for v7 provided by Dave Airlie

    * Check pad args are 0
    * Check create flags and object count are valid.
    * Check return from fd allocation
    * Refactor lease idr setup and add some simple validation
    * Use idr_mutex uniformly (Keith)

    Signed-off-by: Keith Packard
    Signed-off-by: Dave Airlie
    (cherry picked from commit 62884cd386b876638720ef88374b31a84ca7ee5f)

    Keith Packard
     
  • add reset command declaration into mxc_hifi4.h file,
    this command is used to reset hifi4 codec when seeking

    Signed-off-by: Weiguang Kong
    Reviewed-by: Daniel Baluta

    Weiguang Kong
     
  • update the mxc_hifi4.h header file to support multi-codec
    decoding or encoding together for hifi4 dsp.

    Signed-off-by: Weiguang Kong
    Reviewed-by: Mihai Serban

    Weiguang Kong
     
  • In pxp lib, the unit of stride parameter is pixel and stride
    is not equal with width parameter of out buffer in some cases.

    In order to use latest pxp lib in old version rootfs, PXP_DEVICE_LEGACY
    macro is used to distinguish pxp drvier version. Because the
    new pxp driver define a new variable and pxp lib can know this
    through PXP_DEVICE_LEGACY, and determine if use it.

    Signed-off-by: Guoniu.Zhou
    Reviewed-by: Fancy Fang
    (cherry picked from commit 91da74e81cfdd2774b39a7574edf93de3f2a3f25)

    Guoniu.Zhou
     
  • Implement Blt engine as DRM renderer.
    Add dpu ioctl to support imx-drm render feature.

    Signed-off-by: Adrian Negreanu
    Signed-off-by: Marius Vlad
    Signed-off-by: Meng Mingming

    Meng Mingming
     
  • Remove error reported by Linux coding style script
    Remove unnecessary macro: MULTI_CORE,CLK_CFG,VSI
    Remove unnecessary variables: base_port,elements,irq_x,mmp_timer_xxx

    Signed-off-by: Zhou Peng-B04994

    Zhou Peng-B04994
     
  • As the fsl_hifi4.c uses the function from uboot/cmd/elf.c,
    so need to add the copyright of elf.c, and change licence to
    Dual BSD/GPL.
    And mxc_hifi4.h is used by user space, so change license to BSD.

    Signed-off-by: Shengjiu Wang
    Reviewed-by: Frank Li

    Shengjiu Wang
     
  • Add compat ioctl for 32 bit application
    This is re-commit: only reserve hantro driver change
    remove mxc_ion change

    Signed-off-by: Zhou Peng-B04994

    Zhou Peng-B04994
     
  • Add pxp v3 crop feature support.
    Update the pxp_dma.h file.

    Signed-off-by: Guoniu.Zhou

    Guoniu.Zhou
     
  • 1. add cases to receive error value from hifi4 firmware and
    return this error to hifi4 driver's caller.
    2. add cases to receive input over indicator variable from
    hifi4 dirver's caller and pass this value to hifi4 firmware

    Signed-off-by: Weiguang Kong

    Weiguang Kong
     
  • add a new structure element(cycles) to save the
    consumed cycles that returned from dsp framework

    Signed-off-by: Weiguang Kong

    Weiguang Kong
     
  • Move hantrodec.h to uapi directory

    Signed-off-by: Zhou Peng-B04994

    Zhou Peng-B04994
     
  • This patch adds 30bit RGB101010 LVDS pixel formats support for
    the SPWG and JEIDA LVDS mapping standards. Each pixel is transferred
    on 5 lanes with 7bit respectively.

    Signed-off-by: Liu Ying

    Liu Ying
     
  • This patch adds 30bit RGB666 with low padding support.

    Signed-off-by: Liu Ying

    Liu Ying
     
  • This patch adds 30bit RGB888 with low padding support.

    Signed-off-by: Liu Ying

    Liu Ying
     
  • add hifi header file, which is used by user space.

    Signed-off-by: Shengjiu Wang

    Shengjiu Wang
     
  • The latest pxp_dma.h file change PXP_PIX_FMT_RGB32 to PXP_PIX_FMT_XRGB32 format,
    but the userspace still use PXP_PIX_FMT_RGB32, so add back it and keep the same
    with PXP_PIX_FMT_XRGB32 format.

    Signed-off-by: Guoniu.Zhou

    Guoniu.Zhou
     
  • The V3 version PXP has added below new 2D features:
    1. Input fetch/store blocks to accept different formats input/output.
    2. Add Rotation1 block to do rotation before alpha blending.
    3. Add Composite1 block to accept source from input fetch.
    4. AS and PS have increased supported pixel formats.

    Signed-off-by: Fancy Fang
    Signed-off-by: Guoniu.Zhou
    (cherry picked from commit 4daef24b19890ca65135c48fc24018f64761444f)

    Guoniu.Zhou
     
  • Add several new pixel formats definition which are supported
    by PXP V3 ip.

    Signed-off-by: Fancy Fang
    (cherry picked from commit 5195602ac0225902bd416647fb9cd0636fa11e89)

    Fancy Fang