1. 13 Oct, 2017 3 commits
    • Dave Airlie's avatar
      Merge branch 'etnaviv/next' of https://git.pengutronix.de/git/lst/linux into drm-next · 787e1b74
      Dave Airlie authored
      Most notable addition this time is the support for the GPU performance
      counters by Christian. This has been in the making for some time and it
      has matured a lot. Since this is adding UAPI, the corresponding WIP
      userspace can be found at [1] mesa/libdrm repos. I expect that
      Christian sends out the final userspace patches for this once you have
      pulled the kernel bits.
      
      Philipp optimized the probe path, so etnaviv gets out of the way for
      systems that want to boot real quick.
      
      I've done mostly cleanups, disentangling etnaviv from the IOMMU API,
      with some MMUv1 optimizations on the way.
      
      * 'etnaviv/next' of https://git.pengutronix.de/git/lst/linux: (36 commits)
        drm/etnaviv: remove unnecessary clock stabilization delay
        drm/etnaviv: reduce reset delay
        drm/etnaviv: remove unused function etnaviv_gem_new
        drm/etnaviv: remove stale comment
        drm/etnaviv: submit supports performance monitor requests
        drm/etnaviv: enable debug registers on demand
        drm/etnaviv: need to disable clock gating when doing profiling
        drm/etnaviv: add MC perf domain
        drm/etnaviv: add TX perf domain
        drm/etnaviv: add RA perf domain
        drm/etnaviv: add SE perf domain
        drm/etnaviv: add PA perf domain
        drm/etnaviv: add SH perf domain
        drm/etnaviv: add PE perf domain
        drm/etnaviv: add HI perf domain
        drm/etnaviv: use 'sync points' for performance monitor requests
        drm/etnaviv: clear alloced event
        drm/etnaviv: add 'sync point' support
        drm/etnaviv: add performance monitor request processing
        drm/etnaviv: copy pmrs from userspace
        ...
      787e1b74
    • Dave Airlie's avatar
      Merge tag 'omapdrm-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux into drm-next · 972805c1
      Dave Airlie authored
      omapdrm changes for 4.15
      
      * OMAP4 HDMI CEC support
      
      * tag 'omapdrm-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
        omapdrm: omapdss_hdmi_ops: add lost_hotplug op
        omapdrm: hdmi4: hook up the HDMI CEC support
        omapdrm: hdmi4_cec: add OMAP4 HDMI CEC support
        omapdrm: hdmi4: refcount hdmi_power_on/off_core
        omapdrm: hdmi4: move hdmi4_core_powerdown_disable to hdmi_power_on_core()
        omapdrm: hdmi4: prepare irq handling for HDMI CEC support
        omapdrm: hdmi4: make low-level functions available
        omapdrm: hdmi.h: extend hdmi_core_data with CEC fields
        omapdrm: encoder-tpd12s015: keep ls_oe_gpio high
      972805c1
    • Dave Airlie's avatar
      Merge tag 'drm-misc-next-2017-10-12' of git://anongit.freedesktop.org/drm/drm-misc into drm-next · d0f6d401
      Dave Airlie authored
      More 4.15 drm-misc stuff:
      
      Cross-subsystem Changes:
      - bridge cleanup refactor (Benjamin Gaignard)
      
      Core Changes:
      - less surprising atomic iterators (Maarten), fixes an oops introduced
        in drm-next
      - better gem/fb helper docs (Noralf)
      - fix dma-buf rcu races (Christian König)
      
      Driver Changes:
      - adv7511: CEC support (Hans Verkuil)
      - sun4i update from Chen-Yu to improve hdmi and A31 support
      - sii8620: add remote control support (Maceiej Purski)
      
      New drivers:
      - SiI9234 bridge driver (Maciej Purski)
      - 7" rpi touch panel (Eric Anholt)
      
      Note that this contains a topic pull from regmap, needed by the sun4i
      changes. Mark Brown sent that out for pulling into drm-misc.
      
      * tag 'drm-misc-next-2017-10-12' of git://anongit.freedesktop.org/drm/drm-misc: (29 commits)
        drm/dp: WARN about invalid/unknown link rates and bw codes
        drm/msm/mdp5: remove less than 0 comparison for unsigned value
        drm/bridge/sii8620: add remote control support
        drm/sun4i: hdmi: Add support for A31's HDMI controller
        drm/sun4i: hdmi: Add A31 specific DDC register definitions
        drm/sun4i: hdmi: Add support for controller hardware variants
        dt-bindings: display: sun4i: Add binding for A31 HDMI controller
        drm/sun4i: hdmi: Allow using second PLL as TMDS clk parent
        drm/sun4i: hdmi: create a regmap for later use
        drm/sun4i: hdmi: Disable clks in bind function error path and unbind function
        drm/sun4i: tcon: Add support for demuxing TCON output on A31
        drm/sun4i: tcon: Add variant callback for TCON output muxing
        drm/bridge/synopsys: dsi :remove is_panel_bridge
        drm/vc4: remove bridge from driver internal structure
        drm/stm: ltdc: remove bridge from driver internal structure
        drm/drm_of: add drm_of_panel_bridge_remove function
        drm/bridge: make drm_panel_bridge_remove more robust
        dma-fence: fix dma_fence_get_rcu_safe v2
        dma-buf: make reservation_object_copy_fences rcu save
        drm/atomic: Unref duplicated drm_atomic_state in drm_atomic_helper_resume()
        ...
      d0f6d401
  2. 12 Oct, 2017 13 commits
    • Arnd Bergmann's avatar
      drm: vblank: remove drm_timestamp_monotonic parameter · 25e1a798
      Arnd Bergmann authored
      There is a risk of overflowing vblank timestamps in 2038 or 2106 if
      someone sets the drm_timestamp_monotonic module parameter to zero.
      
      I found no indication of anyone ever setting the parameter, or
      complaining about the default being wrong, after it was introduced
      as a way to handle backwards-compatibility with linux prior to
      c61eef72 ("drm: add support for monotonic vblank timestamps"),
      so it's probably safer to just remove the parameter completely
      and only allowing the default behavior.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarDaniel Stone <daniels@collabora.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      25e1a798
    • Arnd Bergmann's avatar
      drm: vblank: use ktime_t instead of timeval · 67680d3c
      Arnd Bergmann authored
      The drm vblank handling uses 'timeval' to store timestamps in either
      monotonic or wall-clock time base. In either case, it reads the current
      time as a ktime_t in get_drm_timestamp() and converts it from there.
      
      This is a bit suspicious, as users of 'timeval' often suffer from
      the time_t overflow in y2038. I have gone through this code and
      found that it is unlikely to cause problems here:
      
      - The user space ABI does not use time_t or timeval, but uses
        'u32' and 'long' as the types. This means at least that rebuilding
        user programs against a new libc with 64-bit time_t does not
        change the ABI.
      
      - As of commit c61eef72 ("drm: add support for monotonic vblank
        timestamps") in linux-3.8, the monotonic timestamp is the default
        and can only get reverted to wall-clock through a module-parameter.
      
      - With the default monotonic timestamps, there is no problem at all.
      
      - The drm_wait_vblank_ioctl() interface is alway safe on 64-bit
        architectures, on 32-bit it might overflow the 'long' timestamps
        in 2038 with wall-clock timestamps.
      
      - The event handling uses 'u32' seconds, which overflow in 2106
        on both 32-bit and 64-bit machines, when wall-clock timestamps
        are used.
      
      - The effect of overflowing either of the two is only temporary
        (during the overflow, and is likely to keep working again
        afterwards. It is likely the same problem as observing a
        'settimeofday()' call, which was the reason for moving to the
        monotonic timestamps in the first place.
      
      Overall, this seems good enough, so my patch removes the use of
      'timeval' from the vblank handling altogether and uses ktime_t
      consistently, except for the part where we copy the data to user
      space structures in the existing format.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reviewed-by: default avatarSean Paul <seanpaul@chromium.org>
      Reviewed-by: default avatarKeith Packard <keithp@keithp.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      67680d3c
    • Hans Verkuil's avatar
      omapdrm: omapdss_hdmi_ops: add lost_hotplug op · 019114ef
      Hans Verkuil authored
      The CEC framework needs to know when the hotplug detect signal
      disappears, since that means the CEC physical address has to be
      invalidated (i.e. set to f.f.f.f).
      
      Add a lost_hotplug op that is called when the HPD signal goes away.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      019114ef
    • Hans Verkuil's avatar
      omapdrm: hdmi4: hook up the HDMI CEC support · 1897e1a3
      Hans Verkuil authored
      Hook up the HDMI CEC support in the hdmi4 driver.
      
      It add the CEC irq handler, the CEC (un)init calls and tells the CEC
      implementation when the physical address changes.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      1897e1a3
    • Hans Verkuil's avatar
      omapdrm: hdmi4_cec: add OMAP4 HDMI CEC support · 8d7f934d
      Hans Verkuil authored
      Add the source and header for the OMAP4 HDMI CEC support.
      
      This code is not yet hooked up, that will happen in the next patch.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      8d7f934d
    • Hans Verkuil's avatar
      omapdrm: hdmi4: refcount hdmi_power_on/off_core · a141a296
      Hans Verkuil authored
      The hdmi_power_on/off_core functions can be called multiple times:
      when the HPD changes and when the HDMI CEC support needs to power
      the HDMI core.
      
      So use a counter to know when to really power on or off the HDMI core.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      a141a296
    • Hans Verkuil's avatar
      omapdrm: hdmi4: move hdmi4_core_powerdown_disable to hdmi_power_on_core() · 1d54ecf2
      Hans Verkuil authored
      Call hdmi4_core_powerdown_disable() in hdmi_power_on_core() to
      power up the HDMI core (needed for CEC). The same call can now be dropped
      in hdmi4_configure().
      Signed-off-by: default avatarHans Verkuil <hansverk@cisco.com>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      1d54ecf2
    • Hans Verkuil's avatar
      omapdrm: hdmi4: prepare irq handling for HDMI CEC support · f3096a4a
      Hans Verkuil authored
      Pass struct omap_hdmi to the irq handler since it will need access
      to hdmi.core.
      
      Do not clear the IRQ_HDMI_CORE bit: that will be controlled by the
      HDMI CEC code.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      f3096a4a
    • Hans Verkuil's avatar
      omapdrm: hdmi4: make low-level functions available · 5bebbbfe
      Hans Verkuil authored
      Three low-level functions in hdmi4.c and hdmi4_core.c are
      made available for use by the OMAP4 CEC support.
      
      Renamed the prefix to hdmi4 since these are OMAP4 specific.
      
      These function deal with the HDMI core and are needed to
      power it up for use with CEC, even when the HPD is low.
      
      Background: even if the HPD is low it should still be possible
      to use CEC. Some displays will set the HPD low when they go into standby or
      when they switch to another input, but CEC is still available and able
      to wake up/change input for such a display.
      
      This is explicitly allowed by the CEC standard.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      5bebbbfe
    • Hans Verkuil's avatar
      omapdrm: hdmi.h: extend hdmi_core_data with CEC fields · eb2f17b4
      Hans Verkuil authored
      Extend the hdmi_core_data struct with the additional fields needed
      for CEC.
      
      Also fix a simple typo in a comment.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      eb2f17b4
    • Hans Verkuil's avatar
      omapdrm: encoder-tpd12s015: keep ls_oe_gpio high · 3b86b9ec
      Hans Verkuil authored
      For OMAP4 CEC support the CEC pin should always be on. So keep
      ls_oe_gpio high all the time in order to support CEC.
      
      Background: even if the HPD is low it should still be possible
      to use CEC. Some displays will set the HPD low when they go into standby or
      when they switch to another input, but CEC is still available and able
      to wake up/change input for such a display.
      
      This is explicitly allowed by the CEC standard.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      3b86b9ec
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2017-09-29' of git://anongit.freedesktop.org/drm/drm-intel into drm-next · c5c7bc71
      Dave Airlie authored
      2nd batch of v4.15 features:
      
      - lib/scatterlist updates, use for userptr allocations (Tvrtko)
      - Fixed point wrapper cleanup (Mahesh)
      - Gen9+ transition watermarks, watermark optimization and fixes (Mahesh)
      - Display IPC (Isochronous Priority Control) support (Mahesh)
      - GEM workaround fixes (Oscar)
      - GVT: PCI config sanitize series (Changbin)
      - GVT: Workload submission error handling series (Fred)
      - PSR fixes and refactoring (Rodrigo)
      - HWSP based optimizations (Chris)
      - Private PAT management (Zhi)
      - IRQ handling fixes and refactoring (Ville)
      - Module parameter refactoring and variable name clash fix (Michal)
      - Execlist refactoring, incomplete request unwinding on reset (Chris)
      - GuC scheduling improvements (Michal)
      - OA updates (Lionel)
      - Coffeelake out of alpha support (Rodrigo)
      - seqno fixes (Chris)
      - Execlist refactoring (Mika)
      - DP and DP MST cleanups (Dhinakaran)
      - Cannonlake slice/sublice config (Ben)
      - Numerous fixes all around (Everyone)
      
      * tag 'drm-intel-next-2017-09-29' of git://anongit.freedesktop.org/drm/drm-intel: (168 commits)
        drm/i915: Update DRIVER_DATE to 20170929
        drm/i915: Use memset64() to prefill the GTT page
        drm/i915: Also discard second CRC on gen8+ platforms.
        drm/i915/psr: Set frames before SU entry for psr2
        drm/dp: Add defines for latency in sink
        drm/i915: Allow optimized platform checks
        drm/i915: Avoid using dev_priv->info.gen directly.
        i915: Use %pS printk format for direct addresses
        drm/i915/execlists: Notify context-out for lost requests
        drm/i915/cnl: Add support slice/subslice/eu configs
        drm/i915: Compact device info access by a small re-ordering
        drm/i915: Add IS_PLATFORM macro
        drm/i915/selftests: Try to recover from a wedged GPU during reset tests
        drm/i915/huc: Reorganize HuC authentication
        drm/i915: Fix default values of some modparams
        drm/i915: Extend I915_PARAMS_FOR_EACH with default member value
        drm/i915: Make I915_PARAMS_FOR_EACH macro more flexible
        drm/i915: Enable scanline read based on frame timestamps
        drm/i915/execlists: Microoptimise execlists_cancel_port_request()
        drm/i915: Don't rmw PIPESTAT enable bits
        ...
      c5c7bc71
    • Keith Packard's avatar
      drm: Pass struct drm_file * to __drm_mode_object_find [v2] · 418da172
      Keith Packard authored
      This will allow __drm_mode_object_file to be extended to perform
      access control checks based on the file in use.
      
      v2: Also fix up vboxvideo driver in staging
      
      [airlied: merging early as this is an API change]
      Suggested-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      418da172
  3. 11 Oct, 2017 13 commits
  4. 10 Oct, 2017 11 commits