31 Dec, 2019

1 commit

  • [ Upstream commit 268de6530aa18fe5773062367fd119f0045f6e88 ]

    Spec says[1] Allocated_PBN is 16 bits

    [1]- DisplayPort 1.2 Spec, Section 2.11.9.8, Table 2-98

    Fixes: ad7f8a1f9ced ("drm/helper: add Displayport multi-stream helper (v0.6)")
    Cc: Lyude Paul
    Cc: Todd Previte
    Cc: Dave Airlie
    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: Sean Paul
    Cc: David Airlie
    Cc: Daniel Vetter
    Cc: dri-devel@lists.freedesktop.org
    Reviewed-by: Lyude Paul
    Signed-off-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/20190829165223.129662-1-sean@poorly.run
    Signed-off-by: Sasha Levin

    Sean Paul
     

07 Nov, 2019

2 commits

  • Add missing docbook comments to madvise fields in struct
    drm_gem_shmem_object which fixes these warnings:

    include/drm/drm_gem_shmem_helper.h:87: warning: Function parameter or member 'madv' not described in 'drm_gem_shmem_object'
    include/drm/drm_gem_shmem_helper.h:87: warning: Function parameter or member 'madv_list' not described in 'drm_gem_shmem_object'

    Fixes: 17acb9f35ed7 ("drm/shmem: Add madvise state and purge helpers")
    Reported-by: Sean Paul
    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: David Airlie
    Cc: Daniel Vetter
    Signed-off-by: Rob Herring
    Reviewed-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/20191101153754.22803-1-robh@kernel.org

    Rob Herring
     
  • drm_self_refresh_helper_update_avg_times() was incorrectly accessing the
    new incoming state after drm_atomic_helper_commit_hw_done(). But this
    state might have already been superceeded by an !nonblock atomic update
    resulting in dereferencing an already free'd crtc_state.

    TODO I *think* this will more or less do the right thing.. althought I'm
    not 100% sure if, for example, we enter psr in a nonblock commit, and
    then leave psr in a !nonblock commit that overtakes the completion of
    the nonblock commit. Not sure if this sort of scenario can happen in
    practice. But not crashing is better than crashing, so I guess we
    should either take this patch or rever the self-refresh helpers until
    Sean can figure out a better solution.

    Fixes: d4da4e33341c ("drm: Measure Self Refresh Entry/Exit times to avoid thrashing")
    Cc: Sean Paul
    Signed-off-by: Rob Clark
    [seanpaul fixed up some checkpatch warns]
    Signed-off-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/20191104173737.142558-1-robdclark@gmail.com

    Rob Clark
     

19 Sep, 2019

3 commits

  • Currently the self refresh idle timer is a const set by the crtc. This
    is fine if the self refresh entry/exit times are well-known for all
    panels used on that crtc. However panels and workloads can vary quite a
    bit, and a timeout which works well for one doesn't work well for
    another.

    In the extreme, if the timeout is too short we could get in a situation
    where the self refresh exits are taking so long we queue up a self refresh
    entry before the exit commit is even finished.

    This patch changes the idle timeout to a moving average of the entry
    times + a moving average of exit times + the crtc constant.

    This patch was tested on rockchip, with a kevin CrOS panel the idle
    delay averages out to about ~235ms (35 entry + 100 exit + 100 const). On
    the same board, the bob panel idle delay lands around ~340ms (90 entry
    + 150 exit + 100 const).

    WRT the dedicated mutex in self_refresh_data, it would be nice if we
    could rely on drm_crtc.mutex to protect the average times, but there are
    a few reasons why a separate lock is a better choice:
    - We can't rely on drm_crtc.mutex being held if we're doing a nonblocking
    commit
    - We can't grab drm_crtc.mutex since drm_modeset_lock() doesn't tell us
    whether the lock was already held in the acquire context (it eats
    -EALREADY), so we can't tell if we should drop it or not
    - We don't need such a heavy-handed lock for what we're trying to do,
    commit ordering doesn't matter, so a point-of-use lock will be less
    contentious

    Reviewed-by: Daniel Vetter
    Signed-off-by: Sean Paul
    Link to v1: https://patchwork.freedesktop.org/patch/msgid/20190917200443.64481-2-sean@poorly.run
    Link: https://patchwork.freedesktop.org/patch/msgid/20190918200734.149876-2-sean@poorly.run

    Changes in v2:
    - Migrate locking explanation from comment to commit msg (Daniel)
    - Turf constant entry delay and multiply the avg times by 2 (Daniel)

    Sean Paul
     
  • Artifacts of previous revisions.

    Reviewed-by: Daniel Vetter
    Signed-off-by: Sean Paul
    Link to v1: https://patchwork.freedesktop.org/patch/msgid/20190917200443.64481-1-sean@poorly.run
    Link: https://patchwork.freedesktop.org/patch/msgid/20190918200734.149876-1-sean@poorly.run

    Changes in v2:
    - None

    Sean Paul
     
  • It's the only flag anyone actually cares about. Plus if we're unlucky,
    the atomic ioctl might need a different flag for async flips. So
    better to abstract this away from the uapi a bit.

    Reviewed-by: Maarten Lankhorst
    Reviewed-by: Nicholas Kazlauskas
    Cc: Maarten Lankhorst
    Cc: Michel Dänzer
    Cc: Alex Deucher
    Cc: Adam Jackson
    Cc: Sean Paul
    Cc: David Airlie
    Signed-off-by: Daniel Vetter
    Cc: Maxime Ripard
    Cc: Daniel Vetter
    Cc: Nicholas Kazlauskas
    Cc: Leo Li
    Cc: Harry Wentland
    Cc: David Francis
    Cc: Mario Kleiner
    Cc: Bhawanpreet Lakha
    Cc: Ben Skeggs
    Cc: "Christian König"
    Cc: Ilia Mirkin
    Cc: Sam Ravnborg
    Cc: Chris Wilson
    Link: https://patchwork.freedesktop.org/patch/msgid/20190903190642.32588-3-daniel.vetter@ffwll.ch

    Daniel Vetter
     

28 Aug, 2019

1 commit

  • Lockdep reports a circular locking dependency with pages_lock taken in
    the shrinker callback. The deadlock can't actually happen with current
    users at least as a BO will never be purgeable when pages_lock is held.
    To be safe, let's use mutex_trylock() instead and bail if a BO is locked
    already.

    WARNING: possible circular locking dependency detected
    5.3.0-rc1+ #100 Tainted: G L
    ------------------------------------------------------
    kswapd0/171 is trying to acquire lock:
    000000009b9823fd (&shmem->pages_lock){+.+.}, at: drm_gem_shmem_purge+0x20/0x40

    but task is already holding lock:
    00000000f82369b6 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x40

    which lock already depends on the new lock.

    the existing dependency chain (in reverse order) is:

    -> #1 (fs_reclaim){+.+.}:
    fs_reclaim_acquire.part.18+0x34/0x40
    fs_reclaim_acquire+0x20/0x28
    __kmalloc_node+0x6c/0x4c0
    kvmalloc_node+0x38/0xa8
    drm_gem_get_pages+0x80/0x1d0
    drm_gem_shmem_get_pages+0x58/0xa0
    drm_gem_shmem_get_pages_sgt+0x48/0xd0
    panfrost_mmu_map+0x38/0xf8 [panfrost]
    panfrost_gem_open+0xc0/0xe8 [panfrost]
    drm_gem_handle_create_tail+0xe8/0x198
    drm_gem_handle_create+0x3c/0x50
    panfrost_gem_create_with_handle+0x70/0xa0 [panfrost]
    panfrost_ioctl_create_bo+0x48/0x80 [panfrost]
    drm_ioctl_kernel+0xb8/0x110
    drm_ioctl+0x244/0x3f0
    do_vfs_ioctl+0xbc/0x910
    ksys_ioctl+0x78/0xa8
    __arm64_sys_ioctl+0x1c/0x28
    el0_svc_common.constprop.0+0x90/0x168
    el0_svc_handler+0x28/0x78
    el0_svc+0x8/0xc

    -> #0 (&shmem->pages_lock){+.+.}:
    __lock_acquire+0xa2c/0x1d70
    lock_acquire+0xdc/0x228
    __mutex_lock+0x8c/0x800
    mutex_lock_nested+0x1c/0x28
    drm_gem_shmem_purge+0x20/0x40
    panfrost_gem_shrinker_scan+0xc0/0x180 [panfrost]
    do_shrink_slab+0x208/0x500
    shrink_slab+0x10c/0x2c0
    shrink_node+0x28c/0x4d8
    balance_pgdat+0x2c8/0x570
    kswapd+0x22c/0x638
    kthread+0x128/0x130
    ret_from_fork+0x10/0x18

    other info that might help us debug this:

    Possible unsafe locking scenario:

    CPU0 CPU1
    ---- ----
    lock(fs_reclaim);
    lock(&shmem->pages_lock);
    lock(fs_reclaim);
    lock(&shmem->pages_lock);

    *** DEADLOCK ***

    3 locks held by kswapd0/171:
    #0: 00000000f82369b6 (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x0/0x40
    #1: 00000000ceb37808 (shrinker_rwsem){++++}, at: shrink_slab+0xbc/0x2c0
    #2: 00000000f31efa81 (&pfdev->shrinker_lock){+.+.}, at: panfrost_gem_shrinker_scan+0x34/0x180 [panfrost]

    Fixes: 17acb9f35ed7 ("drm/shmem: Add madvise state and purge helpers")
    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: Sean Paul
    Cc: David Airlie
    Cc: Daniel Vetter
    Signed-off-by: Rob Herring
    Reviewed-by: Steven Price
    Acked-by: Alyssa Rosenzweig
    Link: https://patchwork.freedesktop.org/patch/msgid/20190823021216.5862-6-robh@kernel.org

    Rob Herring
     

27 Aug, 2019

1 commit


22 Aug, 2019

1 commit

  • We need the rename of reservation_object to dma_resv.

    The solution on this merge came from linux-next:
    From: Stephen Rothwell
    Date: Wed, 14 Aug 2019 12:48:39 +1000
    Subject: [PATCH] drm: fix up fallout from "dma-buf: rename reservation_object to dma_resv"

    Signed-off-by: Stephen Rothwell
    ---
    drivers/gpu/drm/i915/gt/intel_engine_pool.c | 8 ++++----
    3 files changed, 7 insertions(+), 7 deletions(-)

    diff --git a/drivers/gpu/drm/i915/gt/intel_engine_pool.c b/drivers/gpu/drm/i915/gt/intel_engine_pool.c
    index 03d90b49584a..4cd54c569911 100644
    --- a/drivers/gpu/drm/i915/gt/intel_engine_pool.c
    +++ b/drivers/gpu/drm/i915/gt/intel_engine_pool.c
    @@ -43,12 +43,12 @@ static int pool_active(struct i915_active *ref)
    {
    struct intel_engine_pool_node *node =
    container_of(ref, typeof(*node), active);
    - struct reservation_object *resv = node->obj->base.resv;
    + struct dma_resv *resv = node->obj->base.resv;
    int err;

    - if (reservation_object_trylock(resv)) {
    - reservation_object_add_excl_fence(resv, NULL);
    - reservation_object_unlock(resv);
    + if (dma_resv_trylock(resv)) {
    + dma_resv_add_excl_fence(resv, NULL);
    + dma_resv_unlock(resv);
    }

    err = i915_gem_object_pin_pages(node->obj);

    which is a simplified version from a previous one which had:
    Reviewed-by: Christian König

    Signed-off-by: Rodrigo Vivi

    Rodrigo Vivi
     

21 Aug, 2019

1 commit

  • drm-misc-next for 5.4:

    UAPI Changes:

    Cross-subsystem Changes:

    Core Changes:
    - dma-buf: add reservation_object_fences helper, relax
    reservation_object_add_shared_fence, remove
    reservation_object seq number (and then
    restored)
    - dma-fence: Shrinkage of the dma_fence structure,
    Merge dma_fence_signal and dma_fence_signal_locked,
    Store the timestamp in struct dma_fence in a union with
    cb_list

    Driver Changes:
    - More dt-bindings YAML conversions
    - More removal of drmP.h includes
    - dw-hdmi: Support get_eld and various i2s improvements
    - gm12u320: Few fixes
    - meson: Global cleanup
    - panfrost: Few refactors, Support for GPU heap allocations
    - sun4i: Support for DDC enable GPIO
    - New panels: TI nspire, NEC NL8048HL11, LG Philips LB035Q02,
    Sharp LS037V7DW01, Sony ACX565AKM, Toppoly TD028TTEC1
    Toppoly TD043MTEA1

    Signed-off-by: Dave Airlie
    [airlied: fixup dma_resv rename fallout]

    From: Maxime Ripard
    Link: https://patchwork.freedesktop.org/patch/msgid/20190819141923.7l2adietcr2pioct@flea

    Dave Airlie
     

16 Aug, 2019

1 commit

  • The BSpec has added three new IDS for CML.
    Update the IDs in accordance to the Spec.

    Cc: Lucas De Marchi
    Cc: José Roberto de Souza
    Signed-off-by: Anusha Srivatsa
    Reviewed-by: Anshuman Gupta
    Link: https://patchwork.freedesktop.org/patch/msgid/20190812222737.29356-1-anusha.srivatsa@intel.com

    Anusha Srivatsa
     

14 Aug, 2019

1 commit

  • Part of the channel count setup done in dw-hdmi ahb should
    actually be done whatever the interface providing the data.

    Let's move it to dw-hdmi driver instead.

    Reviewed-by: Jonas Karlman
    Signed-off-by: Jerome Brunet
    Reviewed-by: Neil Armstrong
    Signed-off-by: Neil Armstrong
    Link: https://patchwork.freedesktop.org/patch/msgid/20190812120726.1528-3-jbrunet@baylibre.com

    Jerome Brunet
     

13 Aug, 2019

2 commits


12 Aug, 2019

2 commits

  • Fixes the following warnings:
    ../drivers/gpu/drm/drm_connector.c:989: WARNING: Unexpected indentation.
    ../drivers/gpu/drm/drm_connector.c:993: WARNING: Unexpected indentation.
    ../include/drm/drm_connector.h:544: WARNING: Inline interpreted text or phrase reference start-string without end-string.
    ../include/drm/drm_connector.h:544: WARNING: Inline interpreted text or phrase reference start-string without end-string.

    Changes in v2:
    - Use () instead of & for functions (Sam)

    Fixes: 1b27fbdde1df ("drm: Add drm_atomic_get_(old|new)_connector_for_encoder() helpers")
    Fixes: bb5a45d40d50 ("drm/hdcp: update content protection property with uevent")
    Cc: Ramalingam C
    Cc: Daniel Vetter
    Cc: Pekka Paalanen
    Cc: Sam Ravnborg
    Cc: Laurent Pinchart
    Cc: Jani Nikula
    Cc: Sean Paul
    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: Sean Paul
    Cc: David Airlie
    Cc: dri-devel@lists.freedesktop.org
    Reviewed-by: Sam Ravnborg
    Signed-off-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/20190812140112.6702-1-sean@poorly.run

    Sean Paul
     
  • drm-next-5.4-2019-08-09:

    Same as drm-next-5.4-2019-08-06, but with the
    readq/writeq stuff fixed and 5.3-rc3 backmerged.

    amdgpu:
    - Add navi14 support
    - Add navi12 support
    - Add Arcturus support
    - Enable mclk DPM for Navi
    - Misc DC display fixes
    - Add perfmon support for DF
    - Add scatter/gather display support for Raven
    - Improve SMU handling for GPU reset
    - RAS support for GFX
    - Drop last of drmP.h
    - Add support for wiping memory on buffer release
    - Allow cursor async updates for fb swaps
    - Misc fixes and cleanups

    amdkfd:
    - Add navi14 support
    - Add navi12 support
    - Add Arcturus support
    - CWSR trap handlers updates for gfx9, 10
    - Drop last of drmP.h
    - Update MAINTAINERS

    radeon:
    - Misc fixes and cleanups
    - Make kexec more reliable by tearing down the GPU

    ttm:
    - Add release_notify callback

    uapi:
    - Add wipe memory on release flag for buffer creation

    Signed-off-by: Dave Airlie
    [airlied: resolved conflicts with ttm resv moving]
    From: Alex Deucher
    Link: https://patchwork.freedesktop.org/patch/msgid/20190809184807.3381-1-alexander.deucher@amd.com

    Dave Airlie
     

10 Aug, 2019

4 commits

  • There are no errors that can be reported by this function,
    so drop the return code.
    Fix the only bridge driver that checked the return result.

    Signed-off-by: Sam Ravnborg
    Reviewed-by: Laurent Pinchart
    Reviewed-by: Emil Velikov
    Cc: Thierry Reding
    Cc: Sam Ravnborg
    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: Sean Paul
    Cc: David Airlie
    Cc: Daniel Vetter
    Cc: Laurent Pinchart
    Cc: Andrzej Hajda
    Cc: Gwan-gyeong Mun
    Cc: Thomas Gleixner
    Cc: Linus Walleij
    Link: https://patchwork.freedesktop.org/patch/msgid/20190804201637.1240-14-sam@ravnborg.org

    Sam Ravnborg
     
  • Inline comments provide better space for additional comments.
    Comments was slightly edited to follow the normal style,
    but no change to actual content.
    Used the opportuniy to change the order in drm_panel_funcs
    to follow the order they will be used by a panel.

    Signed-off-by: Sam Ravnborg
    Reviewed-by: Laurent Pinchart
    Reviewed-by: Emil Velikov
    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: Sean Paul
    Cc: Thierry Reding
    Cc: Sam Ravnborg
    Cc: David Airlie
    Cc: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20190804201637.1240-13-sam@ravnborg.org

    Sam Ravnborg
     
  • Move inline functions from include/drm/drm_panel.h to drm_panel.c.
    This is in preparation for follow-up patches that will add extra
    logic to the functions.
    As they are no longer static inline, EXPORT them.

    v2:
    - align order of functions in drm_panel.h and drm_panel.c (Laurent)

    Signed-off-by: Sam Ravnborg
    Reviewed-by: Laurent Pinchart
    Reviewed-by: Emil Velikov
    Cc: Thierry Reding
    Cc: Sam Ravnborg
    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: Sean Paul
    Cc: David Airlie
    Cc: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20190804201637.1240-12-sam@ravnborg.org

    Sam Ravnborg
     
  • Linux 5.3-rc3

    Signed-off-by: Alex Deucher

    Alex Deucher
     

09 Aug, 2019

2 commits

  • drm-misc-next for 5.4:

    UAPI Changes:
    - HDCP: Add a Content protection type property

    Cross-subsystem Changes:

    Core Changes:
    - Continue to rework the include dependencies
    - fb: Remove the unused drm_gem_fbdev_fb_create function
    - drm-dp-helper: Make the link rate calculation more tolerant to
    non-explicitly defined, yet supported, rates
    - fb-helper: Map DRM client buffer only when required, and instanciate a
    shadow buffer when the device has a dirty function or says so
    - connector: Add a helper to link the DDC adapter used by that connector to
    the userspace
    - vblank: Switch from DRM_WAIT_ON to wait_event_interruptible_timeout
    - dma-buf: Fix a stack corruption
    - ttm: Embed a drm_gem_object struct to make ttm_buffer_object a
    superclass of GEM, and convert drivers to use it.
    - hdcp: Improvements to report the content protection type to the
    userspace

    Driver Changes:
    - Remove drm_gem_prime_import/export from being defined in the drivers
    - Drop DRM_AUTH usage from drivers
    - Continue to drop drmP.h
    - Convert drivers to the connector ddc helper

    - ingenic: Add support for more panel-related cases
    - komeda: Support for dual-link
    - lima: Reduce logging
    - mpag200: Fix the cursor support
    - panfrost: Export GPU features register to userspace through an ioctl
    - pl111: Remove the CLD pads wiring support from the DT
    - rockchip: Rework to use DRM PSR helpers, fix a bug in the VOP_WIN_GET
    macro
    - sun4i: Improve support for color encoding and range
    - tinydrm: Rework SPI support, improve MIPI-DBI support, move to drm/tiny
    - vkms: Rework of the CRC tracking

    - bridges:
    - sii902x: Add support for audio graph card
    - tc358767: Rework AUX data handling code
    - ti-sn65dsi86: Add Debugfs and proper DSI mode flags support

    - panels
    - Support for GiantPlus GPM940B0, Sharp LQ070Y3DG3B, Ortustech
    COM37H3M, Novatek NT39016, Sharp LS020B1DD01D, Raydium RM67191,
    Boe Himax8279d, Sharp LD-D5116Z01B
    - Conversion of the device tree bindings to the YAML description
    - jh057n00900: Rework the enable / disable path

    - fbdev:
    - ssd1307fb: Support more devices based on that controller

    Signed-off-by: Dave Airlie

    From: Maxime Ripard
    Link: https://patchwork.freedesktop.org/patch/msgid/20190808121423.xzpedzkpyecvsiy4@flea

    Dave Airlie
     
  • Add support to the shmem GEM helpers for tracking madvise state and
    purging pages. This is based on the msm implementation.

    The BO provides a list_head, but the list management is handled outside
    of the shmem helpers as there are different locking requirements.

    Cc: Tomeu Vizoso
    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: Sean Paul
    Cc: David Airlie
    Cc: Daniel Vetter
    Cc: Eric Anholt
    Acked-by: Acked-by: Alyssa Rosenzweig
    Signed-off-by: Rob Herring
    Link: https://patchwork.freedesktop.org/patch/msgid/20190805143358.21245-1-robh@kernel.org

    Rob Herring
     

07 Aug, 2019

3 commits

  • This reverts commit 220df83a5394fbf7c1486ba7848794b7b351d598.

    Turns out drm_gem_dumb_map_offset really only worked for the dumb buffer
    case, so revert the name change.

    Signed-off-by: Rob Herring
    Signed-off-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/20190807145253.2037-2-sean@poorly.run

    Rob Herring
     
  • This reverts commit 415d2e9e07574d3de63b8df77dc686e0ebf64865.

    Mandatory review was missing from this patch.

    Acked-by: Maxime Ripard
    Signed-off-by: Sean Paul
    Link: https://patchwork.freedesktop.org/patch/msgid/20190807142101.251400-2-sean@poorly.run

    Sean Paul
     
  • CRC generation can be impacted by commits coming from userspace, and
    enabling CRC generation may itself trigger a commit. Add notes about
    this to the kerneldoc.

    Changes since v1:
    - Clarified that anything that would disable CRCs counts as a full
    modeset, and so userspace needs to reconfigure after full modesets

    Changes since v2:
    - Add these notes
    - Rebase onto drm-misc-next (trivial conflict in comment)

    Signed-off-by: Brian Starkey
    Signed-off-by: Ayan Kumar Halder
    Reviewed-by: Daniel Vetter

    Link:- https://patchwork.freedesktop.org/patch/321974/

    Brian Starkey
     

06 Aug, 2019

10 commits

  • drm function is defined and exported to update a connector's
    content protection property state and to generate a uevent along
    with it.

    Pekka have completed the Weston DRM-backend review in
    https://gitlab.freedesktop.org/wayland/weston/merge_requests/48
    and the UAPI for HDCP 2.2 looks good.

    The userspace is accepted in Weston.

    v2:
    Update only when state is different from old one.
    v3:
    KDoc is added [Daniel]
    v4:
    KDoc is extended bit more [pekka]
    v5:
    Uevent usage is documented at kdoc of "Content Protection" also
    [pekka]

    Signed-off-by: Ramalingam C
    Reviewed-by: Daniel Vetter
    Acked-by: Pekka Paalanen
    Acked-by: Jani Nikula
    Link: https://patchwork.freedesktop.org/patch/320963/?series=57232&rev=14

    Ramalingam C
     
  • DRM API for generating uevent for a status changes of connector's
    property.

    This uevent will have following details related to the status change:

    HOTPLUG=1, CONNECTOR= and PROPERTY=

    Pekka have completed the Weston DRM-backend review in
    https://gitlab.freedesktop.org/wayland/weston/merge_requests/48
    and the UAPI for HDCP 2.2 looks good.

    The userspace is accepted in Weston.

    v2:
    Minor fixes at KDoc comments [Daniel]
    v3:
    Check the property is really attached with connector [Daniel]
    v4:
    Typos and string length suggestions are addressed [Sean]

    Signed-off-by: Ramalingam C
    Reviewed-by: Daniel Vetter
    Reviewed-by: Sean Paul
    Acked-by: Pekka Paalanen
    Acked-by: Jani Nikula
    Link: https://patchwork.freedesktop.org/patch/320961/?series=57232&rev=14

    Ramalingam C
     
  • This patch adds a DRM ENUM property to the selected connectors.
    This property is used for mentioning the protected content's type
    from userspace to kernel HDCP authentication.

    Type of the stream is decided by the protected content providers.
    Type 0 content can be rendered on any HDCP protected display wires.
    But Type 1 content can be rendered only on HDCP2.2 protected paths.

    So when a userspace sets this property to Type 1 and starts the HDCP
    enable, kernel will honour it only if HDCP2.2 authentication is through
    for type 1. Else HDCP enable will be failed.

    Pekka have completed the Weston DRM-backend review in
    https://gitlab.freedesktop.org/wayland/weston/merge_requests/48
    and the UAPI for HDCP 2.2 looks good.

    The userspace is accepted in Weston.

    v2:
    cp_content_type is replaced with content_protection_type [daniel]
    check at atomic_set_property is removed [Maarten]
    v3:
    %s/content_protection_type/hdcp_content_type [Pekka]
    v4:
    property is created for the first requested connector and then reused.
    [Danvet]
    v5:
    kernel doc nits addressed [Daniel]
    Rebased as part of patch reordering.
    v6:
    Kernel docs are modified [pekka]
    v7:
    More details in Kernel docs. [pekka]
    v8:
    Few more clarification into kernel doc of content type [pekka]
    v9:
    Small fixes in coding style.
    v10:
    Moving DRM_MODE_HDCP_CONTENT_TYPEx definition to drm_hdcp.h [pekka]

    Signed-off-by: Ramalingam C
    Reviewed-by: Daniel Vetter
    Acked-by: Pekka Paalanen
    Acked-by: Jani Nikula
    Link: https://patchwork.freedesktop.org/patch/320957/?series=57232&rev=14

    Ramalingam C
     
  • All users moved to ttm_buffer_object->base.resv

    Signed-off-by: Gerd Hoffmann
    Reviewed-by: Christian König
    Link: http://patchwork.freedesktop.org/patch/msgid/20190805140119.7337-18-kraxel@redhat.com

    Gerd Hoffmann
     
  • Signed-off-by: Gerd Hoffmann
    Reviewed-by: Christian König
    Link: http://patchwork.freedesktop.org/patch/msgid/20190805140119.7337-11-kraxel@redhat.com

    Gerd Hoffmann
     
  • Drop vma_node from ttm_buffer_object, use the gem struct
    (base.vma_node) instead.

    Signed-off-by: Gerd Hoffmann
    Reviewed-by: Christian König
    Link: http://patchwork.freedesktop.org/patch/msgid/20190805140119.7337-9-kraxel@redhat.com

    Gerd Hoffmann
     
  • Drop ttm_resv from ttm_buffer_object, use the gem reservation object
    (base._resv) instead.

    Signed-off-by: Gerd Hoffmann
    Reviewed-by: Christian König
    Link: http://patchwork.freedesktop.org/patch/msgid/20190805140119.7337-8-kraxel@redhat.com

    Gerd Hoffmann
     
  • Drop drm_gem_object from drm_gem_vram_object, use the
    ttm_buffer_object.base instead.

    Signed-off-by: Gerd Hoffmann
    Reviewed-by: Christian König
    Acked-by: Thomas Zimmermann
    Link: http://patchwork.freedesktop.org/patch/msgid/20190805140119.7337-3-kraxel@redhat.com

    Gerd Hoffmann
     
  • Add drm_gem_object struct to ttm_buffer_object, so ttm objects are a gdm
    object superclass. Add a function to check whenever a given bo actually
    uses the embedded drm_gem_object.

    Signed-off-by: Gerd Hoffmann
    Reviewed-by: Christian König
    Link: http://patchwork.freedesktop.org/patch/msgid/20190805140119.7337-2-kraxel@redhat.com

    Gerd Hoffmann
     
  • - More changes on simplifying locking mechanisms (Chris)
    - Selftests fixes and improvements (Chris)
    - More work around engine tracking for better handling (Chris, Tvrtko)
    - HDCP debug and info improvements (Ram, Ashuman)
    - Add DSI properties (Vandita)
    - Rework on sdvo support for better debuggability before fixing bugs (Ville)
    - Display PLLs fixes and improvements, specially targeting Ice Lake (Imre, Matt, Ville)
    - Perf fixes and improvements (Lionel)
    - Enumerate scratch buffers (Lionel)
    - Add infra to hold off preemption on a request (Lionel)
    - Ice Lake color space fixes (Uma)
    - Type-C fixes and improvements (Lucas)
    - Fix and improvements around workarounds (Chris, John, Tvrtko)
    - GuC related fixes and improvements (Chris, Daniele, Michal, Tvrtko)
    - Fix on VLV/CHV display power domain (Ville)
    - Improvements around Watermark (Ville)
    - Favor intel_ types on intel_atomic functions (Ville)
    - Don’t pass stack garbage to pcode (Ville)
    - Improve display tracepoints (Steven)
    - Don’t overestimate 4:2:0 link symbol clock (Ville)
    - Add support for 4th pipe and transcoder (Lucas)
    - Introduce initial support for Tiger Lake platform (Daniele, Lucas, Mahesh, Jose, Imre, Mika, Vandita, Rodrigo, Michel)
    - PPGTT allocation simplification (Chris)
    - Standardize function names and suffixes to make clean, symmetric and let checkpatch happy (Janusz)
    - Skip SINK_COUNT read on CH7511 (Ville)
    - Fix on kernel documentation (Chris, Michal)
    - Add modular FIA (Anusha, Lucas)
    - Fix EHL display (Matt, Vivek)
    - Enable hotplug retry (Imre, Jose)
    - Disable preemption under GVT (Chris)
    - OA; Reconfigure context on the fly (Chris)
    - Fixes and improvements around engine reset. (Chris)
    - Small clean up on display pipe fault mask (Ville)
    - Make sure cdclk is high enough for DP audio on VLV/CHV (Ville)
    - Drop some wmb() and improve pwrite flush (Chris)
    - Fix critical PSR regression (DK)
    - Remove unused variables (YueHaibing)
    - Use dev_get_drvdata for simplification (Chunhong)
    - Use upstream version of header tests (Jani)

    drm-intel-next-2019-07-08:
    - Signal fence completion from i915_request_wait (Chris)
    - Fixes and improvements around rings pin/unpin (Chris)
    - Display uncore prep patches (Daniele)
    - Execlists preemption improvements (Chris)
    - Selftests fixes and improvements (Chris)
    - More Elkhartlake enabling work (Vandita, Jose, Matt, Vivek)
    - Defer address space cleanup to an RCU worker (Chris)
    - Implicit dev_priv removal and GT compartmentalization and other related follow-ups (Tvrtko, Chris)
    - Prevent dereference of engine before NULL check in error capture (Chris)
    - GuC related fixes (Daniele, Robert)
    - Many changes on active tracking, timelines and locking mechanisms (Chris)
    - Disable SAMPLER_STATE prefetching on Gen11 (HW W/a) (Kenneth)
    - I915_perf fixes (Lionel)
    - Add Ice Lake PCI ID (Mika)
    - eDP backlight fix (Lee)
    - Fix various gen2 tracepoints (Ville)
    - Some irq vfunc clean-up and improvements (Ville)
    - Move OA files to separated folder (Michal)
    - Display self contained headers clean-up (Jani)
    - Preparation for 4th pile (Lucas)
    - Move atomic commit, watermark and other places to use more intel_crtc_state (Maarten)
    - Many Ice Lake Type C and Thunderbolt fixes (Imre)
    - Fix some Ice Lake hw w/a whitelist regs (Lionel)
    - Fix memleak in runtime wakeref tracking (Mika)
    - Remove unused Private PPAT manager (Michal)
    - Don't check PPGTT presence on PPGTT-only platforms (Michal)
    - Fix ICL DSI suspend/resume (Chris)
    - Fix ICL Bandwidth issues (Ville)
    - Add N & CTS values for 10/12 bit deep color (Aditya)
    - Moving more GT related stuff under gt folder (Chris)
    - Forcewake related fixes (Chris)
    - Show support for accurate sw PMU busyness tracking (Chris)
    - Handle gtt double alloc failures (Chris)
    - Upgrade to new GuC version (Michal)
    - Improve w/a debug dumps and pull engine w/a initialization into a common (Chris)
    - Look for instdone on all engines at hangcheck (Tvrtko)
    - Engine lookup simplification (Chris)
    - Many plane color formats fixes and improvements (Ville)
    - Fix some compilation issues (YueHaibing)
    - GTT page directory clean up and improvements (Mika)

    Signed-off-by: Dave Airlie

    From: Rodrigo Vivi
    Link: https://patchwork.freedesktop.org/patch/msgid/20190801201314.GA23635@intel.com

    Dave Airlie
     

05 Aug, 2019

1 commit


02 Aug, 2019

2 commits


01 Aug, 2019

2 commits

  • Generic framebuffer emulation uses a shadow buffer for framebuffers with
    dirty() function. If drivers want to use the shadow FB without such a
    function, they can now set prefer_shadow or prefer_shadow_fbdev in their
    mode_config structures. The former flag is exported to userspace, the
    latter flag is fbdev-only.

    v3:
    * only schedule dirty worker if fbdev uses shadow fb
    * test shadow fb settings with boolean operators
    * use bool for struct drm_mode_config.prefer_shadow_fbdev
    * fix documentation comments

    Signed-off-by: Thomas Zimmermann
    Reviewed-by: Noralf Trønnes
    Tested-by: Noralf Trønnes
    Link: https://patchwork.freedesktop.org/patch/315834/
    Signed-off-by: Gerd Hoffmann

    Thomas Zimmermann
     
  • DRM clients, such as the fbdev emulation, have their buffer objects
    mapped by default. Mapping a buffer implicitly prevents its relocation.
    Hence, the buffer may permanently consume video memory while it's
    allocated. This is a problem for drivers of low-memory devices, such as
    ast, mgag200 or older framebuffer hardware, which will then not have
    enough memory to display other content (e.g., X11).

    This patch introduces drm_client_buffer_vmap() and _vunmap(). Internal
    DRM clients can use these functions to unmap and remap buffer objects
    as needed.

    There's no reference counting for vmap operations. Callers are expected
    to either keep buffers mapped (as it is now), or call vmap and vunmap
    in pairs around code that accesses the mapped memory.

    v2:
    * remove several duplicated NULL-pointer checks
    v3:
    * style and typo fixes

    Signed-off-by: Thomas Zimmermann
    Reviewed-by: Noralf Trønnes
    Link: https://patchwork.freedesktop.org/patch/315831/
    Signed-off-by: Gerd Hoffmann

    Thomas Zimmermann