09 Jun, 2017

1 commit


23 Feb, 2017

2 commits


13 Oct, 2016

1 commit

  • Pull fbdev updates from Tomi Valkeinen:
    "Main changes:

    - amba-cldc: DT backlight support, Nomadik support, Versatile
    improvements, fixes

    - efifb: fix fbcon RGB565 palette

    - exynos: remove unused DSI driver"

    * tag 'fbdev-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (42 commits)
    video: smscufx: remove unused variable
    matroxfb: fix size of memcpy
    fbdev: ssd1307fb: fix a possible NULL dereference
    fbdev: ssd1307fb: constify the device_info pointer
    simplefb: Disable and release clocks and regulators in destroy callback
    video: fbdev: constify fb_fix_screeninfo and fb_var_screeninfo structures
    matroxfb: constify local structures
    video: fbdev: i810: add in missing white space in error message text
    video: fbdev: add missing \n at end of printk error message
    ARM: exynos_defconfig: Remove old non-working MIPI driver
    video: fbdev: exynos: Remove old non-working MIPI driver
    omapfb: fix return value check in dsi_bind()
    MAINTAINERS: update fbdev entries
    video: fbdev: offb: Call pci_enable_device() before using the PCI VGA device
    fbdev: vfb: simplify memory management
    fbdev: vfb: add option for video mode
    fbdev: vfb: add description to module parameters
    video: fbdev: intelfb: remove impossible condition
    fb: adv7393: off by one in probe function
    video: fbdev: pxafb: add missing of_node_put() in of_get_pxafb_mode_info()
    ...

    Linus Torvalds
     

27 Sep, 2016

1 commit

  • The old non-DRM Exynos MIPI driver does not support DeviceTree and
    requires board files. Our platforms do not provide such so the driver
    is not usable since a long time ago. All features provided by the
    driver (and associated s6e8ax0 panel driver) are already supported by
    newer DRM version so the old code can be removed.

    Cc: Inki Dae
    Cc: Donghwa Lee
    Cc: Kyungmin Park
    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Tomi Valkeinen

    Krzysztof Kozlowski
     

19 Sep, 2016

2 commits

  • This patch implements image conversion support using the IC tasks, with
    tiling to support scaling to and from images up to 4096x4096. Image
    rotation is also supported. Image conversion requests are added to
    a run queue under the IC tasks.

    The internal API is subsystem agnostic (no V4L2 dependency except
    for the use of V4L2 fourcc pixel formats).

    Callers prepare for image conversion by calling
    ipu_image_convert_prepare(), which initializes the parameters of
    the conversion. The caller passes in the ipu and IC task to use for
    the conversion, the input and output image formats, a rotation mode,
    and a completion callback and completion context pointer:

    struct ipu_image_converter_ctx *
    ipu_image_convert_prepare(struct ipu_soc *ipu, enum ipu_ic_task ic_task,
    struct ipu_image *in, struct ipu_image *out,
    enum ipu_rotate_mode rot_mode,
    ipu_image_converter_cb_t complete,
    void *complete_context);

    A new conversion context is created that is added to an IC task
    context queue. The caller is given the new conversion context,
    which can then be passed to the further APIs:

    int ipu_image_convert_queue(struct ipu_image_converter_run *run);

    This queues the given image conversion request run to a run queue,
    and starts the conversion immediately if the run queue is empty. Only
    the physaddr's of the input and output image buffers are needed,
    since the conversion context was created previously with
    ipu_image_convert_prepare(). When the conversion completes, the run
    pointer is returned to the completion callback.

    void ipu_image_convert_abort(struct ipu_image_converter_ctx *ctx);

    This will abort any active or pending conversions for this context.
    Any currently active or pending runs belonging to this context are
    returned via the completion callback with an error status.

    void ipu_image_convert_unprepare(struct ipu_image_converter_ctx *ctx);

    Unprepares the conversion context. Any active or pending runs will
    be aborted by calling ipu_image_convert_abort().

    Signed-off-by: Steve Longerbeam
    Signed-off-by: Philipp Zabel

    Steve Longerbeam
     
  • Add a macro that returns boolean true if the given ipu_rotate_mode
    requires the use of the Image Rotator.

    Signed-off-by: Steve Longerbeam
    Signed-off-by: Philipp Zabel

    Steve Longerbeam
     

29 Aug, 2016

2 commits

  • Adds functions to link and unlink source channels to sink
    channels in the FSU:

    int ipu_fsu_link(struct ipu_soc *ipu, int src_ch, int sink_ch);
    int ipu_fsu_unlink(struct ipu_soc *ipu, int src_ch, int sink_ch);

    The channels numbers are usually IDMAC channels, but they can also be
    channels that do not transfer data to or from memory. The following
    convenience functions can be used in place of ipu_fsu_link/unlink()
    when both source and sink channels are IDMAC channels:

    int ipu_idmac_link(struct ipuv3_channel *src, struct ipuv3_channel *sink);
    int ipu_idmac_unlink(struct ipuv3_channel *src, struct ipuv3_channel *sink);

    So far the following links are supported:

    IPUV3_CHANNEL_IC_PRP_ENC_MEM -> IPUV3_CHANNEL_MEM_ROT_ENC
    PUV3_CHANNEL_IC_PRP_VF_MEM -> IPUV3_CHANNEL_MEM_ROT_VF
    IPUV3_CHANNEL_IC_PP_MEM -> IPUV3_CHANNEL_MEM_ROT_PP
    IPUV3_CHANNEL_CSI_DIRECT -> IPUV3_CHANNEL_CSI_VDI_PREV

    More links can be added to the fsu_link_info[] array.

    Signed-off-by: Steve Longerbeam
    Signed-off-by: Philipp Zabel

    Steve Longerbeam
     
  • Adds the Video Deinterlacer (VDIC) unit.

    Signed-off-by: Steve Longerbeam
    Signed-off-by: Philipp Zabel

    Steve Longerbeam
     

08 Aug, 2016

5 commits


13 Jul, 2016

1 commit

  • For all video modes we support currently, we always get 2 slots for
    a plane by using the current existing dynamic DMFC FIFO allocation
    mechanism. So, let's change to use the static one to simplify the
    code. This also makes it easier to implement the atomic mode setting
    as we don't need to handle allocation failure cases then.

    Signed-off-by: Liu Ying
    Acked-by: Daniel Vetter
    Signed-off-by: Philipp Zabel

    Liu Ying
     

07 Jun, 2016

1 commit


06 Jun, 2016

1 commit


03 Jun, 2016

16 commits


25 May, 2016

1 commit

  • imx-drm probing fix

    Commit 950b410dd1ab ("gpu: ipu-v3: Fix imx-ipuv3-crtc module autoloading")
    broke probing of the imx-drm driver in the non-modular case because the
    unset dev->of_node during probing of imx-ipuv3-crtc would cause the
    component matching to fail. This patch patch instead matches against
    an of_node pointer stored in platform data, allowing dev->of_node to
    be left unset for the platform probed imx-ipuv3-crtc devices.

    * tag 'imx-drm-fixes-2016-05-24' of git://git.pengutronix.de/git/pza/linux:
    drm/imx: Match imx-ipuv3-crtc components using device node in platform data

    Dave Airlie
     

24 May, 2016

1 commit

  • Pull drm updates from Dave Airlie:
    "Here's the main drm pull request for 4.7, it's been a busy one, and
    I've been a bit more distracted in real life this merge window. Lots
    more ARM drivers, not sure if it'll ever end. I think I've at least
    one more coming the next merge window.

    But changes are all over the place, support for AMD Polaris GPUs is in
    here, some missing GM108 support for nouveau (found in some Lenovos),
    a bunch of MST and skylake fixes.

    I've also noticed a few fixes from Arnd in my inbox, that I'll try and
    get in asap, but I didn't think they should hold this up.

    New drivers:
    - Hisilicon kirin display driver
    - Mediatek MT8173 display driver
    - ARC PGU - bitstreamer on Synopsys ARC SDP boards
    - Allwinner A13 initial RGB output driver
    - Analogix driver for DisplayPort IP found in exynos and rockchip

    DRM Core:
    - UAPI headers fixes and C++ safety
    - DRM connector reference counting
    - DisplayID mode parsing for Dell 5K monitors
    - Removal of struct_mutex from drivers
    - Connector registration cleanups
    - MST robustness fixes
    - MAINTAINERS updates
    - Lockless GEM object freeing
    - Generic fbdev deferred IO support

    panel:
    - Support for a bunch of new panels

    i915:
    - VBT refactoring
    - PLL computation cleanups
    - DSI support for BXT
    - Color manager support
    - More atomic patches
    - GEM improvements
    - GuC fw loading fixes
    - DP detection fixes
    - SKL GPU hang fixes
    - Lots of BXT fixes

    radeon/amdgpu:
    - Initial Polaris support
    - GPUVM/Scheduler/Clock/Power improvements
    - ASYNC pageflip support
    - New mesa feature support

    nouveau:
    - GM108 support
    - Power sensor support improvements
    - GR init + ucode fixes.
    - Use GPU provided topology information

    vmwgfx:
    - Add host messaging support

    gma500:
    - Some cleanups and fixes

    atmel:
    - Bridge support
    - Async atomic commit support

    fsl-dcu:
    - Timing controller for LCD support
    - Pixel clock polarity support

    rcar-du:
    - Misc fixes

    exynos:
    - Pipeline clock support
    - Exynoss4533 SoC support
    - HW trigger mode support
    - export HDMI_PHY clock
    - DECON5433 fixes
    - Use generic prime functions
    - use DMA mapping APIs

    rockchip:
    - Lots of little fixes

    vc4:
    - Render node support
    - Gamma ramp support
    - DPI output support

    msm:
    - Mostly cleanups and fixes
    - Conversion to generic struct fence

    etnaviv:
    - Fix for prime buffer handling
    - Allow hangcheck to be coalesced with other wakeups

    tegra:
    - Gamme table size fix"

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (1050 commits)
    drm/edid: add displayid detailed 1 timings to the modelist. (v1.1)
    drm/edid: move displayid validation to it's own function.
    drm/displayid: Iterate over all DisplayID blocks
    drm/edid: move displayid tiled block parsing into separate function.
    drm: Nuke ->vblank_disable_allowed
    drm/vmwgfx: Report vmwgfx version to vmware.log
    drm/vmwgfx: Add VMWare host messaging capability
    drm/vmwgfx: Kill some lockdep warnings
    drm/nouveau/gr/gf100-: fix race condition in fecs/gpccs ucode
    drm/nouveau/core: recognise GM108 chipsets
    drm/nouveau/gr/gm107-: fix touching non-existent ppcs in attrib cb setup
    drm/nouveau/gr/gk104-: share implementation of ppc exception init
    drm/nouveau/gr/gk104-: move rop_active_fbps init to nonctx
    drm/nouveau/bios/pll: check BIT table version before trying to parse it
    drm/nouveau/bios/pll: prevent oops when limits table can't be parsed
    drm/nouveau/volt/gk104: round up in gk104_volt_set
    drm/nouveau/fb/gm200: setup mmu debug buffer registers at init()
    drm/nouveau/fb/gk20a,gm20b: setup mmu debug buffer registers at init()
    drm/nouveau/fb/gf100-: allocate mmu debug buffers
    drm/nouveau/fb: allow chipset-specific actions for oneinit()
    ...

    Linus Torvalds
     

23 May, 2016

1 commit

  • The component master driver imx-drm-core matches component devices using
    their of_node. Since commit 950b410dd1ab ("gpu: ipu-v3: Fix imx-ipuv3-crtc
    module autoloading"), the imx-ipuv3-crtc dev->of_node is not set during
    probing. Before that, of_node was set and caused an of: modalias to be
    used instead of the platform: modalias, which broke module autoloading.

    On the other hand, if dev->of_node is not set yet when the imx-ipuv3-crtc
    probe function calls component_add, component matching in imx-drm-core
    fails. While dev->of_node will be set once the next component tries to
    bring up the component master, imx-drm-core component binding will never
    succeed if one of the crtc devices is probed last.

    Add of_node to the component platform data and match against the
    pdata->of_node instead of dev->of_node in imx-drm-core to work around
    this problem.

    Cc: # 4.4.x
    Fixes: 950b410dd1ab ("gpu: ipu-v3: Fix imx-ipuv3-crtc module autoloading")
    Signed-off-by: Philipp Zabel
    Tested-by: Fabio Estevam
    Tested-by: Lothar Waßmann
    Tested-by: Heiko Schocher
    Tested-by: Chris Ruehl

    Philipp Zabel
     

20 May, 2016

2 commits


18 May, 2016

1 commit


10 May, 2016

1 commit