30 Jul, 2018

4 commits

  • For hangs, dump copy out the contents of the buffer objects attached to the
    guilty submission and print them in the crash dump report.

    Signed-off-by: Jordan Crouse
    Signed-off-by: Rob Clark

    Jordan Crouse
     
  • HLSQ, SP and TP registers are only accessible from a special
    aperture and to make matters worse the aperture is blocked from
    the CPU on targets that can support secure rendering. Luckily the
    GPU hardware has its own purpose built register dumper that can
    access the registers from the aperture. Add a5xx specific code
    to program the crashdumper and retrieve the wayward registers
    and dump them for the crash state.

    Also, remove a block of registers the regular CPU accessible
    list that aren't useful for debug which helps reduce the size
    of the crash state file by a goodly amount.

    Signed-off-by: Jordan Crouse
    Signed-off-by: Rob Clark

    Jordan Crouse
     
  • Add the contents of each ringbuffer to the GPU state and dump the
    data in the crash file encoded with ascii85. To save space only
    the used portions of the ringbuffer are dumped.

    Signed-off-by: Jordan Crouse
    Signed-off-by: Rob Clark

    Jordan Crouse
     
  • Convert the format of the 'show' debugfs file and the crash
    dump to a format resembling YAML. This should be easier to
    parse and be more flexible for future changes and expansions.

    v2: Use a standard .rst for the msm crashdump documentation

    Signed-off-by: Jordan Crouse
    Signed-off-by: Rob Clark

    Jordan Crouse
     

20 Jul, 2018

1 commit

  • drm-misc-next for 4.19:

    Core Changes:
    - add support for DisplayPort CEC-Tunneling-over-AUX (Hans Verkuil)
    - more doc updates (Daniel Vetter)
    - fourcc: Add is_yuv field to drm_format_info (Ayan Kumar Halder)
    - dma-buf: correctly place BUG_ON (Michel Dänzer)

    Driver Changes:
    - more vkms support(Rodrigo Siqueira)
    - many fixes and small improments to all drivers

    Signed-off-by: Dave Airlie
    Link: https://patchwork.freedesktop.org/patch/msgid/20180718200826.GA20165@juma

    Dave Airlie
     

19 Jul, 2018

1 commit

  • drm-misc-next for 4.19:

    Cross-subsystem Changes:
    - many dt-bindings Doc changes

    Core Changes:
    - Encoder clean ups (Ville Syrjälä)
    - Connector Writeback improvements(Boris Brezillon)
    - Fake vblank support (Boris Brezillon)
    - API for in-kernel clients (Noralf Trønnes)
    - improvements to the path of finding panels(Boris Brezillon)

    Driver Changes:
    - initial support for the virtual display driver - vkms(Haneen Mohammed and Rodrigo Siqueira)
    - panel: add Rocktech RK070ER9427 LCD support (Jagan Teki)
    - panel: add support for the EDT ETM0700G0EDH6 and EDT ETM0700G0BDH6(Jan Tuerk)
    - panel: add DLC DLC0700YZG-1 (Philipp Zabel)
    - panel: add support for BOE HV070WSA-100 (Andrzej Hajda)
    - panel: add newhaven, nhd-4.3-480272ef-atxl LCD (Tomi Valkeinen)
    - panel: add support for Innolux G070Y2-L01 (Christoph Fritz)
    - panel: add support for DataImage SCF0700C48GGU18 (Michal Vokáč)
    - panel: add support for Sharp LQ035Q7DB03 (Vladimir Zapolskiy)
    - panel: p079zca: Refactor panel driver to support multiple panels (Lin Huang)
    - sun4i: Add R40 display engine compatible(Jernej Skrabec)

    Signed-off-by: Dave Airlie
    Link: https://patchwork.freedesktop.org/patch/msgid/20180712011137.GA26620@juma

    Dave Airlie
     

14 Jul, 2018

4 commits

  • Fixes a dead link I spotted in the struct drm_crtc docs. Comments
    themselves are in a surprisingly good state.

    v2: Fix subject typo (Sean).

    Reviewed-by: Sean Paul
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20180709084016.23750-14-daniel.vetter@ffwll.ch

    Daniel Vetter
     
  • Instead of spreading them all over the place.

    Cc: Noralf Trønnes
    Acked-by: Noralf Trønnes
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20180709084016.23750-13-daniel.vetter@ffwll.ch

    Daniel Vetter
     
  • And use that opportunity to polish the kernel doc all around:
    - Beef up some of the documentation.
    - Intro text for drm_plane and better links
    - Fix all the hyperlinks!

    v2: Fix linebreaks.

    Reviewed-by: Sean Paul
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20180709084016.23750-10-daniel.vetter@ffwll.ch

    Daniel Vetter
     
  • Again to align with the usual prefix of just drm_connector_. Again
    done with sed + manual fixup for indent issues.

    Reviewed-by: Sean Paul
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20180709084016.23750-7-daniel.vetter@ffwll.ch

    Daniel Vetter
     

13 Jul, 2018

1 commit


10 Jul, 2018

2 commits

  • This the beginning of an API for in-kernel clients.
    First out is a way to get a framebuffer backed by a dumb buffer.

    Only GEM drivers are supported.
    The original idea of using an exported dma-buf was dropped because it
    also creates an anonomous file descriptor which doesn't work when the
    buffer is created from a kernel thread. The easy way out is to use
    drm_driver.gem_prime_vmap to get the virtual address, which requires a
    GEM object. This excludes the vmwgfx driver which is the only non-GEM
    driver apart from the legacy ones. A solution for vmwgfx will have to be
    worked out later if it wants to support the client API which it probably
    will when we have a bootsplash client.

    Suggested-by: Daniel Vetter
    Signed-off-by: Noralf Trønnes
    Reviewed-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20180703160354.59955-2-noralf@tronnes.org

    Noralf Trønnes
     
  • More features for 4.19:
    - Use core pcie functionality rather than duplicating our own for pcie
    gens and lanes
    - Scheduler function naming cleanups
    - More documentation
    - Reworked DC/Powerplay interfaces to improve power savings
    - Initial stutter mode support for RV (power feature)
    - Vega12 powerplay updates
    - GFXOFF fixes
    - Misc fixes

    Signed-off-by: Dave Airlie
    Link: https://patchwork.freedesktop.org/patch/msgid/20180705221447.2807-1-alexander.deucher@amd.com

    Dave Airlie
     

06 Jul, 2018

3 commits


03 Jul, 2018

1 commit

  • Apparently didn't get carefully checked.

    Fixes: 50525c332b55 ("drm: content-type property for HDMI connector")
    Cc: Hans Verkuil
    Cc: Daniel Vetter
    Cc: Stanislav Lisovskiy
    Cc: Ville Syrjälä
    Reviewed-by: Stanislav Lisovskiy
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20180702091023.695-1-daniel.vetter@ffwll.ch

    Daniel Vetter
     

22 Jun, 2018

1 commit

  • First feature request for 4.19. Highlights:
    - Add initial amdgpu documentation
    - Add initial GPU scheduler documention
    - GPU scheduler fixes for dying processes
    - Add support for the JPEG engine on VCN
    - Switch CI to use powerplay by default
    - EDC support for CZ
    - More powerplay cleanups
    - Misc DC fixes

    Signed-off-by: Dave Airlie

    Link: https://patchwork.freedesktop.org/patch/msgid/20180621161138.3008-1-alexander.deucher@amd.com

    Dave Airlie
     

20 Jun, 2018

1 commit

  • Writeback connectors represent writeback engines which can write the
    CRTC output to a memory framebuffer. Add a writeback connector type and
    related support functions.

    Drivers should initialize a writeback connector with
    drm_writeback_connector_init() which takes care of setting up all the
    writeback-specific details on top of the normal functionality of
    drm_connector_init().

    Writeback connectors have a WRITEBACK_FB_ID property, used to set the
    output framebuffer, and a WRITEBACK_PIXEL_FORMATS blob used to expose the
    supported writeback formats to userspace.

    When a framebuffer is attached to a writeback connector with the
    WRITEBACK_FB_ID property, it is used only once (for the commit in which
    it was included), and userspace can never read back the value of
    WRITEBACK_FB_ID. WRITEBACK_FB_ID can only be set if the connector is
    attached to a CRTC.

    Changes since v1:
    - Added drm_writeback.c + documentation
    - Added helper to initialize writeback connector in one go
    - Added core checks
    - Squashed into a single commit
    - Dropped the client cap
    - Writeback framebuffers are no longer persistent

    Changes since v2:
    Daniel Vetter:
    - Subclass drm_connector to drm_writeback_connector
    - Relax check to allow CRTC to be set without an FB
    - Add some writeback_ prefixes
    - Drop PIXEL_FORMATS_SIZE property, as it was unnecessary
    Gustavo Padovan:
    - Add drm_writeback_job to handle writeback signalling centrally

    Changes since v3:
    - Rebased
    - Rename PIXEL_FORMATS -> WRITEBACK_PIXEL_FORMATS

    Chances since v4:
    - Embed a drm_encoder inside the drm_writeback_connector to
    reduce the amount of boilerplate code required from the drivers
    that are using it.

    Changes since v5:
    - Added Rob Clark's atomic_commit() vfunc to connector helper
    funcs, so that writeback jobs are committed from atomic helpers
    - Updated create_writeback_properties() signature to return an
    error code rather than a boolean false for failure.
    - Free writeback job with the connector state rather than when
    doing the cleanup_work()

    Changes since v7:
    - fix extraneous use of out_fence that is only introduced in a
    subsequent patch.

    Changes since v8:
    - whitespace changes pull from subsequent patch

    Changes since v9:
    - Revert the v6 changes that free the writeback job in the connector
    state cleanup and return to doing it in the cleanup_work() function

    Signed-off-by: Brian Starkey
    [rebased and fixed conflicts]
    Signed-off-by: Mihail Atanassov
    [rebased and added atomic_commit() vfunc for writeback jobs]
    Signed-off-by: Rob Clark
    Signed-off-by: Liviu Dudau
    Reviewed-by: Eric Anholt
    Link: https://patchwork.freedesktop.org/patch/229037/

    Brian Starkey
     

16 Jun, 2018

11 commits


17 May, 2018

1 commit

  • 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
     

12 May, 2018

1 commit


04 May, 2018

2 commits

  • First drm/i915 feature batch heading for v4.18:

    - drm-next backmerge to fix build (Rodrigo)
    - GPU documentation improvements (Kevin)
    - GuC and HuC refactoring, host/GuC communication, logging, fixes, and more
    (mostly Michal and Michał, also Jackie, Michel and Piotr)
    - PSR and PSR2 enabling and fixes (DK, José, Rodrigo and Chris)
    - Selftest updates (Chris, Daniele)
    - DPLL management refactoring (Lucas)
    - DP MST fixes (Lyude and DK)
    - Watermark refactoring and changes to support NV12 (Mahesh)
    - NV12 prep work (Chandra)
    - Icelake Combo PHY enablers (Manasi)
    - Perf OA refactoring and ICL enabling (Lionel)
    - ICL enabling (Oscar, Paulo, Nabendu, Mika, Kelvin, Michel)
    - Workarounds refactoring (Oscar)
    - HDCP fixes and improvements (Ramalingam, Radhakrishna)
    - Power management fixes (Imre)
    - Various display fixes (Maarten, Ville, Vidya, Jani, Gaurav)
    - debugfs for FIFO underrun clearing (Maarten)
    - Execlist improvements (Chris)
    - Reset improvements (Chris)
    - Plenty of things here and there I overlooked and/or didn't understand... (Everyone)

    Signed-off-by: Dave Airlie
    Link: https://patchwork.freedesktop.org/patch/msgid/87lgd2cze8.fsf@intel.com

    Dave Airlie
     
  • This driver will be used to support Mesa on the Broadcom 7268 and 7278
    platforms.

    V3D 3.3 introduces an MMU, which means we no longer need CMA or vc4's
    complicated CL/shader validation scheme. This massively changes the
    GEM behavior, so I've forked off to a new driver.

    v2: Mark SUBMIT_CL as needing DRM_AUTH. coccinelle fixes from kbuild
    test robot. Drop personal git link from MAINTAINERS. Don't
    double-map dma-buf imported BOs. Add kerneldoc about needing MMU
    eviction. Drop prime vmap/unmap stubs. Delay mmap offset setup
    to mmap time. Use drm_dev_init instead of _alloc. Use
    ktime_get() for wait_bo timeouts. Drop drm_can_sleep() usage,
    since we don't modeset. Switch page tables back to WC (debug
    change to coherent had slipped in). Switch
    drm_gem_object_unreference_unlocked() to
    drm_gem_object_put_unlocked(). Simplify overflow mem handling by
    not sharing overflow mem between jobs.
    v3: no changes
    v4: align submit_cl to 64 bits (review by airlied), check zero flags in
    other ioctls.

    Signed-off-by: Eric Anholt
    Acked-by: Daniel Vetter (v4)
    Acked-by: Dave Airlie (v3, requested submit_cl change)
    Link: https://patchwork.freedesktop.org/patch/msgid/20180430181058.30181-3-eric@anholt.net

    Eric Anholt
     

26 Apr, 2018

1 commit

  • Bunch of ideas from Eric and me on what we could do to make gem gpu
    rendering drivers a notch simpler to type.

    v2: Fix typo (Eric).

    Cc: Eric Anholt
    Reviewed-by: Eric Anholt
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20180425111742.5872-1-daniel.vetter@ffwll.ch

    Daniel Vetter
     

18 Apr, 2018

1 commit

  • It turns out this was only needed to paper over a bug in the CMA
    helpers, which was addressed in

    commit 998fb1a0f478b83492220ff79583bf9ad538bdd8
    Author: Liviu Dudau
    Date: Fri Nov 10 13:33:10 2017 +0000

    drm: gem_cma_helper.c: Allow importing of contiguous scatterlists with nents > 1

    Without this the following pipeline didn't work:

    domU:
    1. xen-front allocates a non-contig buffer
    2. creates grants out of it

    dom0:
    3. converts the grants into a dma-buf. Since they're non-contig, the
    scatter-list is huge.
    4. imports it into rcar-du, which requires dma-contig memory for
    scanout.

    -> On this given platform there's an IOMMU, so in theory this should
    work. But in practice this failed, because of the huge number of sg
    entries, even though the IOMMU driver mapped it all into a dma-contig
    range.

    With a guest-contig buffer allocated in step 1, this problem doesn't
    exist. But there's technically no reason to require guest-contig
    memory for xen buffer sharing using grants.

    Given all that, the xen-front cma support is not needed and should be
    removed.

    Signed-off-by: Oleksandr Andrushchenko
    Suggested-by: Daniel Vetter
    Acked-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20180417074012.21311-1-andr2000@gmail.com

    Oleksandr Andrushchenko
     

17 Apr, 2018

1 commit

  • Now that we moved the rcar-du DRM driver has been switched to the generic
    alpha property, remove the former property documentation from the
    deprecated CSV file.

    Acked-by: Maarten Lankhorst
    Acked-by: Sean Paul
    Reviewed-by: Laurent Pinchart
    Signed-off-by: Maxime Ripard
    Link: https://patchwork.freedesktop.org/patch/msgid/04be5e2256aa8d33d9521a68a10f0b73a24f8040.1523432341.git-series.maxime.ripard@bootlin.com

    Maxime Ripard
     

12 Apr, 2018

1 commit

  • This has grown to be a sizable amount of code, so move it to
    its own file before we try to refactor anything. For the moment,
    we are leaving behind the WA BB code and the WAs that get applied
    (incorrectly) in init_clock_gating, but we will deal with it later.

    v2: Use intel_ prefix for code that deals with the hardware (Chris)
    v3: Rebased
    v4:
    - Rebased
    - New license header
    v5:
    - Rebased
    - Added some organisational notes to the file (Chris)
    v6: Include DOC section in the documentation build (Jani)

    Signed-off-by: Oscar Mateo
    Cc: Mika Kuoppala
    Cc: Jani Nikula
    Reviewed-by: Chris Wilson
    [ickle: appease checkpatch, mostly]
    Signed-off-by: Chris Wilson
    Link: https://patchwork.freedesktop.org/patch/msgid/1523376767-18480-1-git-send-email-oscar.mateo@intel.com

    Oscar Mateo
     

06 Apr, 2018

2 commits

  • Add the documentation of "DOC: User command execution" of
    i915_gem_execbuffer.c into a new section in i915.rst.

    Signed-off-by: Kevin Rogovin
    Reviewed-by: Joonas Lahtinen
    [Joonas: correcting the patch title]
    Signed-off-by: Joonas Lahtinen
    Link: https://patchwork.freedesktop.org/patch/msgid/1523001957-6427-3-git-send-email-kevin.rogovin@intel.com

    Kevin Rogovin
     
  • Add a narration to i915.rst about Intel GEN GPU's: engines,
    driver context and relocation. Also do minor reorder to improve
    narration.

    v5:
    More type fixes.
    Flow bullet list so lines are not too long.

    Signed-off-by: Kevin Rogovin
    Reviewed-by: Joonas Lahtinen
    Reviewed-by: Mika Kuoppala
    [Joonas: correcting the patch title]
    Signed-off-by: Joonas Lahtinen
    Link: https://patchwork.freedesktop.org/patch/msgid/1523001957-6427-2-git-send-email-kevin.rogovin@intel.com

    Kevin Rogovin