27 Oct, 2016

1 commit

  • We don't want all planes to be added to the state whenever a
    plane with fixed zpos gets enabled/disabled. This is true
    especially for eg. cursor planes on i915, as we want cursor
    updates to go through w/o throttling. Same holds for drivers
    that don't support zpos at all (i915 actually falls into this
    category right now since we've not yet added zpos support).

    Allow drivers more freedom by letting them deal with zpos
    themselves instead of doing it in drm_atomic_helper_check_planes()
    unconditionally. Let's just inline the required calls into all
    the driver that currently depend on this.

    v2: Inline the stuff into the drivers instead of adding another
    helper, document things better (Daniel)

    Cc: Daniel Vetter
    Cc: Marek Szyprowski
    Cc: Benjamin Gaignard
    Cc: Vincent Abriou
    Cc: Laurent Pinchart
    Cc: Inki Dae
    Cc: Joonyoung Shim
    Cc: Seung-Woo Kim
    Cc: Kyungmin Park
    Cc: Lyude
    Cc: Maarten Lankhorst
    Cc: stable@vger.kernel.org
    Fixes: 44d1240d006c ("drm: add generic zpos property")
    Signed-off-by: Ville Syrjälä
    Reviewed-by: Sean Paul
    Acked-by: Benjamin Gaignard
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/1476111056-12734-1-git-send-email-ville.syrjala@linux.intel.com

    Ville Syrjälä
     

10 Oct, 2016

3 commits


05 Oct, 2016

3 commits

  • dma_buf may live a long time, longer than the last direct user of the
    driver. We already hold a reference to the owner module (that prevents
    the object code from disappearing), but there is no reference to the
    drm_dev - so the pointers to the driver backend themselves may vanish.

    v2: Resist temptation to fix the bug in armada_gem.c not setting the
    correct flags on the exported dma-buf (it should pass the flags through
    and not be arbitrarily setting O_RDWR).

    Use a common wrapper for exporting the dmabuf and acquiring the
    reference to the drm_device.

    Testcase: igt/vgem_basic/unload
    Suggested-by: Daniel Vetter
    Signed-off-by: Chris Wilson
    Cc: Petri Latvala
    Cc: Daniel Vetter
    Cc: stable@vger.kernel.org
    Tested-by: Petri Latvala
    Reviewed-by: Christian König
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/20161005122145.1507-2-chris@chris-wilson.co.uk

    Chris Wilson
     
  • dma_buf_export() adds a reference to the owning module to the dmabuf (to
    prevent the driver from being unloaded whilst a third party still refers
    to the dmabuf). However, drm_gem_prime_export() was passing its own
    THIS_MODULE (i.e. drm.ko) rather than the driver. Extract the right
    owner from the device->fops instead.

    v2: Use C99 initializers to zero out unset elements of
    dma_buf_export_info
    v3: Extract the right module from dev->fops.

    Testcase: igt/vgem_basic/unload
    Reported-by: Petri Latvala
    Signed-off-by: Chris Wilson
    Cc: Petri Latvala
    Cc: Christian König
    Cc: stable@vger.kernel.org
    Tested-by: Petri Latvala
    Reviewed-by: Petri Latvala
    Reviewed-by: Christian König
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/20161005122145.1507-1-chris@chris-wilson.co.uk

    Chris Wilson
     
  • Add .prepare_fb and .cleanup_fb plane hooks into the drm_simple_kms.
    These can be used by drivers to call ie. the drm_fb_cma_setup_fence()
    helper.

    Signed-off-by: Marek Vasut
    Cc: Noralf Trønnes
    Cc: Daniel Vetter
    Cc: David Airlie
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/20161002170124.6099-1-marex@denx.de

    Marek Vasut
     

04 Oct, 2016

7 commits

  • So users know whether PSR should be enabled or not.

    Cc: Yakir Yang

    Reviewed-by: Sean Paul
    Signed-off-by: Tomeu Vizoso
    Signed-off-by: Archit Taneja
    Link: http://patchwork.freedesktop.org/patch/msgid/1474639600-30090-1-git-send-email-tomeu.vizoso@collabora.com

    Tomeu Vizoso
     
  • The define DRM_FB_HELPER_DEFAULT_OPS provides the drm_fb_helper default
    implementations for functions in struct fb_ops. A drm driver can use it
    like:

    static struct fb_ops drm_fbdev_cma_ops = {
    .owner = THIS_MODULE,
    DRM_FB_HELPER_DEFAULT_OPS,
    /* driver specific implementations */
    };

    Suggested-by: Daniel Vetter
    Signed-off-by: Stefan Christ
    Reviewed-by: Gustavo Padovan
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/1475182136-15191-2-git-send-email-contact@stefanchrist.eu

    Stefan Christ
     
  • It's not that obvious how a driver can all race the atomic commit with
    handling the completion event. And there's unfortunately a pile of
    drivers with rather bad event handling which misdirect people into the
    wrong direction.

    Try to remedy this by documenting everything better.

    v2: Type fixes Alex spotted.

    v3: More typos Alex spotted.

    Cc: Andrzej Hajda
    Cc: Alex Deucher
    Reviewed-by: Alex Deucher
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/1475229896-6047-1-git-send-email-daniel.vetter@ffwll.ch

    Daniel Vetter
     
  • Remove function name and special " *ERROR*" from argument list

    $ size drivers/gpu/drm/built-in.o* (x86-32 defconfig, most drm selected)
    text data bss dec hex filename
    5635366 182579 14328 5832273 58fe51 drivers/gpu/drm/built-in.o.new
    5779552 182579 14328 5976459 5b318b drivers/gpu/drm/built-in.o.old

    Using "%ps", __builtin_return_address(0) is the same as "%s", __func__
    except for static inlines, but it's more or less the same output.

    Miscellanea:

    o Convert args... to ##__VA_ARGS__
    o The equivalent DRM_DEV_ macros are rarely used and not
    worth conversion

    Reviewed-by: Chris Wilson
    Signed-off-by: Joe Perches
    Signed-off-by: Sean Paul
    Link: http://patchwork.freedesktop.org/patch/msgid/01f976d5ab93c985756fc1b2e83656fb0a2a28c8.1474856262.git.joe@perches.com

    Joe Perches
     
  • We have the drm_display_info for storing information about the sink, so
    let's move dvi_dual and max_tmds_clock in there.

    v2: Deal with superfluous code shuffling
    Document dvi_dual and max_tmds_clock too

    Cc: Alex Deucher
    Cc: "Christian König"
    Signed-off-by: Ville Syrjälä
    Reviewed-by: Christian König (v1)
    Reviewed-by: Alex Deucher
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/1475070703-6435-5-git-send-email-ville.syrjala@linux.intel.com

    Ville Syrjälä
     
  • We generally store clocks in kHz, so let's do that for the
    HDMI max TMDS clock value as well. Less surpising.

    v2: Deal with superfluous code shuffling

    Cc: Alex Deucher
    Cc: "Christian König"
    Signed-off-by: Ville Syrjälä
    Reviewed-by: Christian König (v1)
    Reviewed-by: Alex Deucher
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/1475070703-6435-4-git-send-email-ville.syrjala@linux.intel.com

    Ville Syrjälä
     
  • Currently we use a linear walk to lookup a handle and return a dma-buf,
    and vice versa. A long overdue TODO task is to convert that to a
    hashtable. Since the initial implementation of dma-buf/prime, we now
    have resizeable hashtables we can use (and now a future task is to RCU
    enable the lookup!). However, this patch opts to use an rbtree instead
    to provide O(lgN) lookups (and insertion, deletion). rbtrees were chosen
    over using the RCU backed resizable hashtable to firstly avoid the
    reallocations (rbtrees can be embedded entirely within the parent
    struct) and to favour simpler code with predictable worst case
    behaviour. In simple testing, the difference between using the constant
    lookup and insertion of the rhashtable and the rbtree was less than 10%
    of the wall time (igt/benchmarks/prime_lookup) - both are dramatic
    improvements over the existing linear lists.

    v2: Favour rbtree over rhashtable

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94631
    Signed-off-by: Chris Wilson
    Cc: Sean Paul
    Cc: David Herrmann
    Reviewed-by: David Herrmann
    Reviewed-by: Sean Paul
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/20160926204414.23222-1-chris@chris-wilson.co.uk

    Chris Wilson
     

30 Sep, 2016

1 commit

  • drm/panel: Changes for v4.9-rc1

    Adds support for one more panel to the simple-panel driver, fixes up a
    couple of delays and flags for existing panels and finally adds a new
    driver for the DSI panel found on Nexus 7 devices.

    * tag 'drm/panel/for-4.9-rc1' of git://anongit.freedesktop.org/tegra/linux:
    drm/panel: Add JDI LT070ME05000 WUXGA DSI Panel
    dt-bindings: Add JDI LT070ME05000 panel bindings
    drm/panel: simple: Fix bus_format for the Olimex LCD-OLinuXino-4.3TS
    drm/panel: simple-panel: Add delay timings for Starry KR122EA0SRA
    drm/panel: simple: Fix bus flags for Ortustech com43h4m85ulc
    drm/panel: simple: Add Innolux G101ICE-L01 panel
    drm/panel: simple: Add delay timing for Sharp LQ123P1JX31
    drm/dsi: Implement DCS set/get display brightness
    drm/dsi: Order DCS helpers by command code

    Dave Airlie
     

28 Sep, 2016

1 commit

  • - more core cleanup patches to prep drm_file to be used for
    kernel-internal contexts (David Herrmann)
    - more split-up+docs for drm_crtc.c
    - lots of small fixes and polish all over

    * tag 'topic/drm-misc-2016-09-25' of git://anongit.freedesktop.org/drm-intel: (37 commits)
    drm: bridge: analogix/dp: mark symbols static where possible
    drm/bochs: mark bochs_connector_get_modes() static
    drm/bridge: analogix_dp: Improve panel on time
    drm/bridge: analogix_dp: Don't read EDID if panel present
    drm/bridge: analogix_dp: Remove duplicated code
    Revert "drm/i2c: tda998x: don't register the connector"
    drm: Fix plane type uabi breakage
    dma-buf/sync_file: free fences array in num_fences is 1
    drm/i2c: tda998x: don't register the connector
    drm: Don't swallow error codes in drm_dev_alloc()
    drm: Distinguish no name from ENOMEM in set_unique()
    drm: Remove dirty property from docs
    drm/doc: Document color space handling
    drm: Extract drm_color_mgmt.[hc]
    drm/doc: Polish plane composition property docs
    drm: Conslidate blending properties in drm_blend.[hc]
    drm/doc: Polish for drm_plane.[hc]
    drm: Extract drm_plane.[hc]
    drm/tilcdc: Add atomic and crtc headers to crtc.c
    drm: Fix typo in encoder docs
    ...

    Dave Airlie
     

23 Sep, 2016

1 commit

  • Turns out assuming that only stuff in uabi is uabi is a bit naive, and
    we have a bunch of properties for which the enum values are placed in
    random headers. A proper fix would be to split out uapi include
    headers, but meanwhile sprinkle at least some warning over them.

    Fixes: 532b36712ddf ("drm/doc: Polish for drm_plane.[hc]")
    Cc: Archit Taneja
    Cc: Sean Paul
    Reviewed-by: Jani Nikula
    Signed-off-by: Daniel Vetter
    Signed-off-by: Sean Paul
    Link: http://patchwork.freedesktop.org/patch/msgid/1474612525-9488-1-git-send-email-daniel.vetter@ffwll.ch

    Daniel Vetter
     

22 Sep, 2016

5 commits

  • Again move it from the unmaintainable csv into DOC free-form overview
    sections.

    v2: Types Lionel&Sean spotted.

    Cc: Lionel Landwerlin
    Reviewed-by: Sean Paul
    Reviewed-by: Lionel Landwerlin
    Signed-off-by: Daniel Vetter
    Signed-off-by: Sean Paul
    Link: http://patchwork.freedesktop.org/patch/msgid/1474448370-32227-6-git-send-email-daniel.vetter@ffwll.ch

    Daniel Vetter
     
  • For both the new degamm/lut/gamma atomic combo, and the old legacy
    gamma tables.

    Acked-by: Lionel Landwerlin
    Cc: Lionel Landwerlin
    Signed-off-by: Daniel Vetter
    Signed-off-by: Sean Paul
    Link: http://patchwork.freedesktop.org/patch/msgid/1474448370-32227-5-git-send-email-daniel.vetter@ffwll.ch

    Daniel Vetter
     
  • Imo zpos, rotatation, blending eq (once we have it) and all that
    should be in drm_blend.c, since those are all about how exactly the
    pixels are rendered onto the CRTC's visible area. Also noticed that
    one exported function accidentally ended up in drm_crtc_internal.h,
    move it to the right place too.

    Reviewed-by: Sean Paul
    Signed-off-by: Daniel Vetter
    Signed-off-by: Sean Paul
    Link: http://patchwork.freedesktop.org/patch/msgid/1474448370-32227-3-git-send-email-daniel.vetter@ffwll.ch

    Daniel Vetter
     
  • Big thing is untangling and carefully documenting the different uapi
    types of planes. I also sprinkled a few more cross references around
    to make this easier to discover.

    As usual, remove the kerneldoc for internal functions which are not
    exported. Aside: We should probably go OCD on all the ioctl handlers
    and consistenly give them an _ioctl postfix.

    Acked-by: Archit Taneja
    Signed-off-by: Daniel Vetter
    Signed-off-by: Sean Paul
    Link: http://patchwork.freedesktop.org/patch/msgid/1474448370-32227-2-git-send-email-daniel.vetter@ffwll.ch

    Daniel Vetter
     
  • Just pure code movement, cleanup and polish will happen in later
    patches.

    v2: Don't forget all the ioctl! To extract those cleanly I decided to
    put check_src_coords into drm_framebuffer.c (and give it a
    drm_framebuffer_ prefix), since that just checks framebuffer
    constraints.

    v3: rebase over PAGE_FLIP_TARGET.

    Reviewed-by: Sean Paul
    Signed-off-by: Daniel Vetter

    [seanpaul]
    This patch as posted on the list was rebased on:

    commit 6f00975c619064a18c23fd3aced325ae165a73b9
    Author: Daniel Vetter
    Date: Sat Aug 20 12:22:11 2016 +0200

    drm: Reject page_flip for !DRIVER_MODESET

    so as a result of moving the page_flip ioctl, this fix has
    been rolled into this patch.

    Signed-off-by: Sean Paul

    Daniel Vetter
     

20 Sep, 2016

2 commits

  • - refactor the sseu code (Imre)
    - refine guc dmesg output (Dave Gordon)
    - more vgpu work
    - more skl wm fixes (Lyude)
    - refactor dpll code in prep for upfront link training (Jim Bride et al)
    - consolidate all platform feature checks into intel_device_info (Carlos Santa)
    - refactor elsp/execlist submission as prep for re-submission after hang
    recovery and eventually scheduling (Chris Wilson)
    - allow synchronous gpu reset handling, to remove tricky/impossible/fragile
    error recovery code (Chris Wilson)
    - prep work for nonblocking (execlist) submission, using fences to track
    depencies and drive elsp submission (Chris Wilson)
    - partial error recover/resubmission of non-guilty batches after hangs (Chris Wilson)
    - full dma-buf implicit fencing support (Chris Wilson)
    - dp link training fixes (Jim, Dhinkaran, Navare, ...)
    - obey dp branch device pixel rate/bpc/clock limits (Mika Kahola), needed for
    many vga dongles
    - bunch of small cleanups and polish all over, as usual

    [airlied: printing macros collided]

    * tag 'drm-intel-next-2016-09-19' of git://anongit.freedesktop.org/drm-intel: (163 commits)
    drm/i915: Update DRIVER_DATE to 20160919
    drm: Fix DisplayPort branch device ID kernel-doc
    drm/i915: use NULL for NULL pointers
    drm/i915: do not use 'false' as a NULL pointer
    drm/i915: make intel_dp_compute_bpp static
    drm: Add DP branch device info on debugfs
    drm/i915: Update bits per component for display info
    drm/i915: Check pixel rate for DP to VGA dongle
    drm/i915: Read DP branch device SW revision
    drm/i915: Read DP branch device HW revision
    drm/i915: Cleanup DisplayPort AUX channel initialization
    drm: Read DP branch device id
    drm: Helper to read max bits per component
    drm: Helper to read max clock rate
    drm: Drop VGA from bpc definitions
    drm: Add missing DP downstream port types
    drm/i915: Add ddb size field to device info structure
    drm/i915/guc: general tidying up (submission)
    drm/i915/guc: general tidying up (loader)
    drm/i915: clarify PMINTRMSK/pm_intr_keep usage
    ...

    Dave Airlie
     
  • More radeon and amdgpu changes for 4.9. Highlights:
    - Initial SI support for amdgpu (controlled by a Kconfig option)
    - misc ttm cleanups
    - runtimepm fixes
    - S3/S4 fixes
    - power improvements
    - lots of code cleanups and optimizations

    * 'drm-next-4.9' of git://people.freedesktop.org/~agd5f/linux: (151 commits)
    drm/ttm: remove cpu_address member from ttm_tt
    drm/radeon/radeon_device: remove unused function
    drm/amdgpu: clean function declarations in amdgpu_ttm.c up
    drm/amdgpu: use the new ring ib and dma frame size callbacks (v2)
    drm/amdgpu/vce3: add ring callbacks for ib and dma frame size
    drm/amdgpu/vce2: add ring callbacks for ib and dma frame size
    drm/amdgpu/vce: add common ring callbacks for ib and dma frame size
    drm/amdgpu/uvd6: add ring callbacks for ib and dma frame size
    drm/amdgpu/uvd5: add ring callbacks for ib and dma frame size
    drm/amdgpu/uvd4.2: add ring callbacks for ib and dma frame size
    drm/amdgpu/sdma3: add ring callbacks for ib and dma frame size
    drm/amdgpu/sdma2.4: add ring callbacks for ib and dma frame size
    drm/amdgpu/cik_sdma: add ring callbacks for ib and dma frame size
    drm/amdgpu/si_dma: add ring callbacks for ib and dma frame size
    drm/amdgpu/gfx8: add ring callbacks for ib and dma frame size
    drm/amdgpu/gfx7: add ring callbacks for ib and dma frame size
    drm/amdgpu/gfx6: add ring callbacks for ib and dma frame size
    drm/amdgpu/ring: add an interface to get dma frame and ib size
    drm/amdgpu/sdma3: drop unused functions
    drm/amdgpu/gfx6: drop gds_switch callback
    ...

    Dave Airlie
     

19 Sep, 2016

8 commits

  • drm/drm_fb_helper.c:2306:12: warning: symbol 'drm_fb_helper_modinit' was not declared. Should it be static?

    While at it, move the lefover static inline to the right place.

    Cc: Daniel Vetter
    Cc: Sean Paul
    Signed-off-by: Ville Syrjälä
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/1474292035-15695-4-git-send-email-ville.syrjala@linux.intel.com

    Ville Syrjälä
     
  • Some were still left in drm_crtc.h. Also include drm_edid.h in the
    rst files.

    Reviewed-by: Sean Paul
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/20160831160913.12991-4-daniel.vetter@ffwll.ch

    Daniel Vetter
     
  • We don't want to burry the bridge structures kerneldoc in drm_crtc.h.

    Cc: Archit Taneja
    Reviewed-by: Archit Taneja
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/20160831160913.12991-3-daniel.vetter@ffwll.ch

    Daniel Vetter
     
  • Now that there's less stuff in there I noticed that I overlooked them.
    Sprinkle some docs over them while at it.

    Reviewed-by: Sean Paul
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/20160831160913.12991-2-daniel.vetter@ffwll.ch

    Daniel Vetter
     
  • The drm_core.h header contains a set of constants meant to be used
    throughout DRM. However, as it turns out, they're each used just once and
    don't bring any benefit. They're also grossly mis-named and lack
    name-spacing. This patch inlines them, or moves them into drm_internal.h
    as appropriate:

    - CORE_AUTHOR and CORE_DESC are inlined into corresponding MODULE_*()
    macros. It's just confusing having to follow 2 pointers when trying to
    find the definition of these fields. Grep'ping for MODULE_AUTHOR()
    should reveal the full information, if there's no strong reason not to.

    - CORE_NAME, CORE_DATE, CORE_MAJOR, CORE_MINOR, and CORE_PATCHLEVEL are
    inlined into the sysfs 'version' attribute. They're stripped
    everywhere else (which is just some printk() statements). CORE_NAME
    just doesn't make *any* sense, as we hard-code it in many places,
    anyway. The other constants are outdated and just serve
    binary-compatibility purposes. Hence, inline them in 'version' sysfs
    attribute (we might even try dropping it..).

    - DRM_IF_MAJOR and DRM_IF_MINOR are moved into drm_internal.h as they're
    only used by the global ioctl handlers. Furthermore, versioning
    interfaces breaks backports and as such is deprecated, anyway. We just
    keep them for historic reasons. I doubt anyone will ever modify them
    again.

    Signed-off-by: David Herrmann
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/20160901124837.680-6-dh.herrmann@gmail.com

    David Herrmann
     
  • Rather than using "struct file*", use "struct drm_file*" as tag VM tag for
    BOs. This will pave the way for "struct drm_file*" without any "struct
    file*" back-pointer.

    Signed-off-by: David Herrmann
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/20160901124837.680-3-dh.herrmann@gmail.com

    David Herrmann
     
  • Each DRM file-context caches the EUID of the process that opened the file.
    It is used exclusively for debugging purposes in /proc/dri/ and friends.

    Note, however, that we can already fetch the EUID from
    priv->pid->task->creds. The pointer-chasing will not hurt us, since it is
    only about debugging, anyway.

    Since we already are in an rcu-read-side, we can use __task_cred() rather
    than task_cred_xxx().

    Signed-off-by: David Herrmann
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/20160901124837.680-2-dh.herrmann@gmail.com

    David Herrmann
     
  • Just random misc stuff that Sean/Sumit&Archit picked up while I relaxed.
    Well except for one commit:

    * tag 'topic/drm-misc-2016-09-19' of git://anongit.freedesktop.org/drm-intel:
    drm: Only use compat ioctl for addfb2 on X86/IA64
    drm/qxl: squash lines for simple wrapper functions
    drm/bridge: analogix_dp: squash lines for simple wrapper functions
    drm/radeon: squash lines for simple wrapper functions
    drm/amdgpu: squash lines for simple wrapper functions
    dma-buf/sync-file: Avoid enable fence signaling if poll(.timeout=0)
    drm/fence: allow fence waiting to be interrupted by userspace
    drm: Move property validation to a helper, v2.
    drm/bridge: adv7511: add support for the 2nd chip

    Dave Airlie
     

17 Sep, 2016

1 commit

  • Patch 3d50d4dcb0 exposed the CPU address of DMA-allocated pages as
    returned by dma_alloc_coherent because Nouveau on Tegra needed it.

    This is not required anymore - as there were no other users for it,
    remove it and save some memory for everyone.

    Reviewed-by: Christian König
    Signed-off-by: Alexandre Courbot
    Signed-off-by: Alex Deucher

    Alexandre Courbot
     

15 Sep, 2016

7 commits

  • Read DisplayPort branch device info from through debugfs
    interface.

    v2: use drm_dp_helper routines to collect data
    v3: cleanup to match the drm_dp_helper.c patches introduced
    earlier in this series
    v4: move DP branch device info to function 'intel_dp_branch_device_info()'
    v5: initial step to move debugging info from intel_dp. to drm_dp_helper.c (Daniel)
    v6: read hw and sw revision without using specific drm_dp_helper routines
    v7: indentation fixes (Jim Bride)

    Signed-off-by: Mika Kahola
    Reviewed-by: Jim Bride
    Signed-off-by: Jani Nikula
    Link: http://patchwork.freedesktop.org/patch/msgid/1473419458-17080-12-git-send-email-mika.kahola@intel.com

    Mika Kahola
     
  • SW revision is mandatory field for DisplayPort branch
    devices. This is defined in DPCD register fields 0x50A
    and 0x50B.

    v2: move drm_dp_ds_revision structure to be part of
    drm_dp_link structure (Daniel)
    v3: remove dependency to drm_dp_helper but instead parse
    DPCD and print SW revision info to dmesg (Ville)
    v4: commit message fix (Jim Bride)

    Signed-off-by: Mika Kahola
    Reviewed-by: Jim Bride
    Signed-off-by: Jani Nikula
    Link: http://patchwork.freedesktop.org/patch/msgid/1473419458-17080-9-git-send-email-mika.kahola@intel.com

    Mika Kahola
     
  • HW revision is mandatory field for DisplayPort branch
    devices. This is defined in DPCD register field 0x509.

    v2: move drm_dp_ds_revision structure to be part of
    drm_dp_link structure (Daniel)
    v3: remove dependency to drm_dp_helper but instead parse
    DPCD and print HW revision info to dmesg (Ville)

    Reviewed-by: Jim Bride
    Signed-off-by: Mika Kahola
    Signed-off-by: Jani Nikula
    Link: http://patchwork.freedesktop.org/patch/msgid/1473419458-17080-8-git-send-email-mika.kahola@intel.com

    Mika Kahola
     
  • Read DisplayPort branch device id string.

    Reviewed-by: Jim Bride
    Signed-off-by: Mika Kahola
    Acked-by: Dave Airlie
    Signed-off-by: Jani Nikula
    Link: http://patchwork.freedesktop.org/patch/msgid/1473419458-17080-6-git-send-email-mika.kahola@intel.com

    Mika Kahola
     
  • Helper routine to read out maximum supported bits per
    component for DisplayPort legay converters.

    v2: Return early if detailed port cap info is not available.
    Replace if-else ladder with switch-case (Ville)

    Reviewed-by: Jim Bride
    Signed-off-by: Mika Kahola
    Acked-by: Dave Airlie
    Signed-off-by: Jani Nikula
    Link: http://patchwork.freedesktop.org/patch/msgid/1473419458-17080-5-git-send-email-mika.kahola@intel.com

    Mika Kahola
     
  • Helper routine to read out maximum supported pixel rate
    for DisplayPort legay VGA converter or TMDS clock rate
    for other digital legacy converters. The helper returns
    clock rate in kHz.

    v2: Return early if detailed port cap info is not available.
    Replace if-else ladder with switch-case (Ville)

    Reviewed-by: Jim Bride
    Signed-off-by: Mika Kahola
    Acked-by: Dave Airlie
    Signed-off-by: Jani Nikula
    Link: http://patchwork.freedesktop.org/patch/msgid/1473419458-17080-4-git-send-email-mika.kahola@intel.com

    Mika Kahola
     
  • Drop "VGA" from bits per component definitions as these
    are also used by other standards such as DVI, HDMI,
    DP++.

    Reviewed-by: Jim Bride
    Signed-off-by: Mika Kahola
    Acked-by: Dave Airlie
    Signed-off-by: Jani Nikula
    Link: http://patchwork.freedesktop.org/patch/msgid/1473419458-17080-3-git-send-email-mika.kahola@intel.com

    Mika Kahola