1. 16 6月, 2017 3 次提交
    • D
      Merge tag 'drm-misc-next-2017-06-15' of git://anongit.freedesktop.org/git/drm-misc into drm-next · bfda9aa1
      Dave Airlie 提交于
      Cross-subsystem Changes:
      - dt-bindings: add vendor prefix for NLT Technologies, Ltd. (Lucas)
      - dt-bindings: Add support for samsung s6e3hf2 panel (Hoegeun)
      
      Core Changes:
      - Add drm_panel_bridge to avoid connector boilerplate in drivers (Eric)
      - Trival fixes for dupe forward decl and reduce scope of variable (Dawid)
      
      Driver Changes:
      - dw-hdmi: Use mode_valid hook on bridge instead of connector (Jose)
      - vc4,atmel-hlcdc: Use drm_panel_bridge where appropriate (Eric)
      - panel: Add Innolux P079ZCA panel driver (Chris)
      - panel-simple: Add NL12880B20-05, NL192108AC18-02D, P320HVN03 panels (Lucas)
      - panel-samsung-s6e3ha2: Add s6e3hf2 panel support (Hoegeun)
      - zte,vc4,pl111,panel,mxsfb: Miscellaneous fixes
      
      Cc: Jose Abreu <Jose.Abreu@synopsys.com>
      Cc: Eric Anholt <eric@anholt.net>
      Cc: Chris Zhong <zyw@rock-chips.com>
      Cc: Lucas Stach <l.stach@pengutronix.de>
      Cc: Hoegeun Kwon <hoegeun.kwon@samsung.com>
      Cc: Dawid Kurek <dawikur@gmail.com>
      
      * tag 'drm-misc-next-2017-06-15' of git://anongit.freedesktop.org/git/drm-misc: (26 commits)
        drm: Reduce scope of 'state' variable
        drm: mxsfb_crtc: Reset the eLCDIF controller
        drm: Remove duplicate forward declaration
        drm/panel: s6e3ha2: Add support for s6e3hf2 panel on TM2e board
        dt-bindings: Add support for samsung s6e3hf2 panel
        drm/panel: add backlight dependency for sitronix-st7789v
        drm/panel: S6E3HA2 needs backlight code
        drm/panel: simple: add support for AUO P320HVN03
        drm/panel: simple: add support for NLT NL192108AC18-02D
        dt-bindings: add vendor prefix for NLT Technologies, Ltd.
        drm/panel: simple: add support for NEC NL12880B20-05
        drm/panel: add Innolux P079ZCA panel driver
        dt-bindings: Add INNOLUX P079ZCA panel bindings
        drm/vc4: Fix resource leak in 'vc4_get_hang_state_ioctl()' in error handling path
        drm/vc4/vc4_bo.c: always set bo->resv
        drm: Add const to name field declaration in struct drm_prop_enum_list
        drm/pl111: Fix offset calculation for the primary plane.
        drm/atmel-hlcdc: Fix panel registration
        drm/bridge: Build the panel wrapper in drm_kms_helper
        drm/atmel-hlcdc: Replace the panel usage with drm_panel_bridge.
        ...
      bfda9aa1
    • D
      drm: Reduce scope of 'state' variable · ac7c7483
      Dawid Kurek 提交于
      Smaller scope reduces visibility of variable and makes usage of
      uninitialized variable less possible.
      
      Changes in v2:
      	- separate declaration and initialization
      Changes in v3:
      	- add missing signed-off-by tag
      Signed-off-by: NDawid Kurek <dawikur@gmail.com>
      Signed-off-by: NSean Paul <seanpaul@chromium.org>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170615174556.GA8872@gmail.com
      ac7c7483
    • F
      drm: mxsfb_crtc: Reset the eLCDIF controller · ae9d0421
      Fabio Estevam 提交于
      According to the eLCDIF initialization steps listed in the MX6SX
      Reference Manual the eLCDIF block reset is mandatory.
      
      Without performing the eLCDIF reset the display shows garbage content
      when the kernel boots.
      
      In earlier tests this issue has not been observed because the bootloader
      was previously showing a splash screen and the bootloader display driver
      does properly implement the eLCDIF reset.
      
      Add the eLCDIF reset to the driver, so that it can operate correctly
      independently of the bootloader.
      
      Tested on a imx6sx-sdb board.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NFabio Estevam <fabio.estevam@nxp.com>
      Reviewed-by: NMarek Vasut <marex@denx.de>
      Signed-off-by: NSean Paul <seanpaul@chromium.org>
      Link: http://patchwork.freedesktop.org/patch/msgid/1494007301-14535-1-git-send-email-fabio.estevam@nxp.com
      ae9d0421
  2. 15 6月, 2017 11 次提交
  3. 14 6月, 2017 2 次提交
    • D
      drm/syncobj: add sync_file interaction. (v1.2) · 3ee45a3b
      Dave Airlie 提交于
      This interface allows importing the fence from a sync_file into
      an existing drm sync object, or exporting the fence attached to
      an existing drm sync object into a new sync file object.
      
      This should only be used to interact with sync files where necessary.
      
      v1.1: fence put fixes (Chris), drop fence from ioctl names (Chris)
      fixup for new fence replace API.
      Reviewed-by: NSean Paul <seanpaul@chromium.org>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      3ee45a3b
    • D
      drm: introduce sync objects (v4) · e9083420
      Dave Airlie 提交于
      Sync objects are new toplevel drm object, that contain a
      pointer to a fence. This fence can be updated via command
      submission ioctls via drivers.
      
      There is also a generic wait obj API modelled on the vulkan
      wait API (with code modelled on some amdgpu code).
      
      These objects can be converted to an opaque fd that can be
      passes between processes.
      
      v2: rename reference/unreference to put/get (Chris)
      fix leaked reference (David Zhou)
      drop mutex in favour of cmpxchg (Chris)
      v3: cleanups from danvet, rebase on drm_fops rename
      check fd_flags is 0 in ioctls.
      v4: export find/free, change replace fence to take a
      syncobj. In order to support lookup first, replace
      later semantics which seem in the end to be cleaner.
      Reviewed-by: NSean Paul <seanpaul@chromium.org>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      e9083420
  4. 13 6月, 2017 2 次提交
    • C
      drm/vc4: Fix resource leak in 'vc4_get_hang_state_ioctl()' in error handling path · d0b1d259
      Christophe JAILLET 提交于
      If one 'drm_gem_handle_create()' fails, we leak somes handles and some
      memory.
      
      In order to fix it:
        - move the 'free(bo_state)' at the end of the function so that it is also
          called in the eror handling path. This has the side effect to also try
          to free it if the first 'kcalloc' fails. This is harmless.
        - add a new label, err_delete_handle, in order to delete already
          allocated handles in error handling path
        - remove the now useless 'err' label
      
      The way the code is now written will also delete the handles if the
      'copy_to_user()' call fails.
      Signed-off-by: NChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Reviewed-by: NEric Anholt <eric@anholt.net>
      Link: http://patchwork.freedesktop.org/patch/msgid/20170512123803.1886-1-christophe.jaillet@wanadoo.fr
      d0b1d259
    • H
      drm/vc4/vc4_bo.c: always set bo->resv · 24bb206f
      Hans Verkuil 提交于
      The bo->resv pointer could be NULL, leading to kernel oopses
      like the one below.
      
      This patch ensures that bo->resv is always set in vc4_create_object
      ensuring that it is never NULL.
      
      Thanks to Eric Anholt for pointing to the correct solution.
      
      [   19.738487] Unable to handle kernel NULL pointer dereference at virtual address 00000000
      [   19.746805] pgd = ffff8000275fc000
      [   19.750319] [00000000] *pgd=0000000000000000
      [   19.754715] Internal error: Oops: 96000004 [#1] PREEMPT SMP
      [   19.760369] Modules linked in: smsc95xx usbnet vc4 drm_kms_helper drm pwm_bcm2835 i2c_bcm2835 bcm2835_rng rng_core bcm2835_dma virt_dma
      [   19.772767] CPU: 0 PID: 1297 Comm: Xorg Not tainted 4.12.0-rc1-rpi3 #58
      [   19.779476] Hardware name: Raspberry Pi 3 Model B (DT)
      [   19.784688] task: ffff800028268000 task.stack: ffff800026c08000
      [   19.790705] PC is at ww_mutex_lock_interruptible+0x14/0xc0
      [   19.796329] LR is at vc4_submit_cl_ioctl+0x4fc/0x998 [vc4]
      ...
      [   20.240855] [<ffff0000088975f4>] ww_mutex_lock_interruptible+0x14/0xc0
      [   20.247528] [<ffff0000009b3ea4>] vc4_submit_cl_ioctl+0x4fc/0x998 [vc4]
      [   20.254372] [<ffff0000008f75f8>] drm_ioctl+0x180/0x438 [drm]
      [   20.260120] [<ffff00000821383c>] do_vfs_ioctl+0xa4/0x7d0
      [   20.265510] [<ffff000008213fe4>] SyS_ioctl+0x7c/0x98
      [   20.270550] [<ffff000008082f30>] el0_svc_naked+0x24/0x28
      [   20.275941] Code: d2800002 d5384103 910003fd f9800011 (c85ffc04)
      [   20.282527] ---[ end trace 1f6bd640ff32ae12 ]---
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Reviewed-by: NEric Anholt <eric@anholt.net>
      Link: http://patchwork.freedesktop.org/patch/msgid/14e68768-6c92-2d74-92fd-196dbc50d8f7@xs4all.nl
      24bb206f
  5. 09 6月, 2017 1 次提交
  6. 08 6月, 2017 1 次提交
  7. 07 6月, 2017 2 次提交
  8. 06 6月, 2017 2 次提交
    • D
      Merge tag 'exynos-drm-next-for-v4.13' of... · c9f0726f
      Dave Airlie 提交于
      Merge tag 'exynos-drm-next-for-v4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next
      
      Summary:
      - Rework vblank handling
        . This patch series adds frame counter callback and removes
          unnecessary pipe relevnt fields and simplifies event handling.
      - clean up and fix up sw-trigger relevant code
        . This patch series moves TE relevant code from Panel and HDMI
          to DECON driver to fix a race between interrupt handlers and
          DECON disable, and to fix timeout issue at wait-for-vblank.
        . It removes unnecessary flags and check code specific to Exynos driver.
      
      * tag 'exynos-drm-next-for-v4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (27 commits)
        drm/exynos/decon5433: remove useless check
        drm/exynos/decon5433: kill BIT_SUSPENDED flag
        drm/exynos/decon5433: kill BIT_WIN_UPDATED flag
        drm/exynos/decon5433: kill BIT_CLKS_ENABLED flag
        drm/exynos/decon5433: kill BIT_IRQS_ENABLED flag
        drm/exynos/decon5433: move TE handling to DECON
        dt-bindings: exynos5433-decon: add TE interrupt binding
        dt-bindings: exynos5433-decon: fix interrupts bindings
        drm/exynos/decon5433: always do sw-trigger when vblanks enabled
        drm/exynos: mixer: document YCbCr magic numbers
        drm/exynos: mixer: simplify mixer_cfg_rgb_fmt()
        drm/exynos/dsi: fix bridge_node DT parsing
        drm/exynos/hdmi: fix pipeline disable order
        drm/exynos/decon5433: simplify shadow protect code
        drm/exynos/decon5433: kill BIT_IRQS_ENABLED
        drm/exynos/decon5433: kill DECON_UPDATE workaround
        drm/exynos: kill mode_set_nofb callback
        drm/exynos: kill pipe field from drivers contexts
        drm/exynos: set plane possible_crtcs in exynos_plane_init
        drm/exynos: kill exynos_drm_private::pipe
        ...
      c9f0726f
    • D
      Merge tag 'drm-misc-next-2017-06-02' of git://anongit.freedesktop.org/git/drm-misc into drm-next · 55f5b0bf
      Dave Airlie 提交于
      Core Changes:
      - Stop proliferation of drm_vblank_cleanup by adding to the docs and deleting
        boilerplate (Daniel)
      - Roll out and use mode_valid hooks across crtc/encoder/bridge (Jose)
      - Add drm_vblank.[hc] to isolate vblank code from optional irq helpers (Daniel)
      
      Driver Changes:
      - Replace drm_for_each_connector with drm_for_each_connector_iter (Gustavo)
      - A couple misc driver fixes
      
      Cc: Gustavo Padovan <gustavo.padovan@collabora.com>
      Cc: Jose Abreu <Jose.Abreu@synopsys.com>
      Cc: Daniel Vetter <daniel.vetter@intel.com>
      
      * tag 'drm-misc-next-2017-06-02' of git://anongit.freedesktop.org/git/drm-misc: (34 commits)
        drm/vc4: Mark the device as active when enabling runtime PM.
        drm: remove writeq/readq function definitions
        drm/atmel-hlcdc: Use crtc->mode_valid() callback
        drm/exynos: Drop drm_vblank_cleanup
        drm/hdlcd|mali: Drop drm_vblank_cleanup
        drm/doc: Polish irq helper documentation
        drm: Extract drm_vblank.[hc]
        drm/vc4: Fix comment in vc4_drv.h
        drm/pl111: fix warnings without CONFIG_ARM_AMBA
        drm/atomic: Consitfy mode parameter to drm_atomic_set_mode_for_crtc()
        drm/arcgpu: Drop drm_vblank_cleanup
        drm/atmel: Drop drm_vblank_cleanup
        drm/imx: Drop drm_vblank_cleanup
        drm/meson: Drop drm_vblank_cleanup
        drm/stm: Drop drm_vblank_cleanup
        drm/sun4i: Drop drm_vblank_cleanup
        drm: better document how to send out the crtc disable event
        drm: Use vsnprintf extension %ph
        drm/doc: move printf helpers out of drmP.h
        drm/pl111: select DRM_PANEL
        ...
      55f5b0bf
  9. 05 6月, 2017 7 次提交
  10. 03 6月, 2017 2 次提交
  11. 02 6月, 2017 7 次提交