24 Jan, 2019

1 commit

  • Having the probe helper stuff (which pretty much everyone needs) in
    the drm_crtc_helper.h file (which atomic drivers should never need) is
    confusing. Split them out.

    To make sure I actually achieved the goal here I went through all
    drivers. And indeed, all atomic drivers are now free of
    drm_crtc_helper.h includes.

    v2: Make it compile. There was so much compile fail on arm drivers
    that I figured I'll better not include any of the acks on v1.

    v3: Massive rebase because i915 has lost a lot of drmP.h includes, but
    not all: Through drm_crtc_helper.h > drm_modeset_helper.h -> drmP.h
    there was still one, which this patch largely removes. Which means
    rolling out lots more includes all over.

    This will also conflict with ongoing drmP.h cleanup by others I
    expect.

    v3: Rebase on top of atomic bochs.

    v4: Review from Laurent for bridge/rcar/omap/shmob/core bits:
    - (re)move some of the added includes, use the better include files in
    other places (all suggested from Laurent adopted unchanged).
    - sort alphabetically

    v5: Actually try to sort them, and while at it, sort all the ones I
    touch.

    v6: Rebase onto i915 changes.

    v7: Rebase once more.

    Acked-by: Harry Wentland
    Acked-by: Sam Ravnborg
    Cc: Sam Ravnborg
    Cc: Jani Nikula
    Cc: Laurent Pinchart
    Acked-by: Rodrigo Vivi
    Acked-by: Benjamin Gaignard
    Acked-by: Jani Nikula
    Acked-by: Neil Armstrong
    Acked-by: Oleksandr Andrushchenko
    Acked-by: CK Hu
    Acked-by: Alex Deucher
    Acked-by: Sam Ravnborg
    Reviewed-by: Laurent Pinchart
    Acked-by: Liviu Dudau
    Signed-off-by: Daniel Vetter
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: virtualization@lists.linux-foundation.org
    Cc: etnaviv@lists.freedesktop.org
    Cc: linux-samsung-soc@vger.kernel.org
    Cc: intel-gfx@lists.freedesktop.org
    Cc: linux-mediatek@lists.infradead.org
    Cc: linux-amlogic@lists.infradead.org
    Cc: linux-arm-msm@vger.kernel.org
    Cc: freedreno@lists.freedesktop.org
    Cc: nouveau@lists.freedesktop.org
    Cc: spice-devel@lists.freedesktop.org
    Cc: amd-gfx@lists.freedesktop.org
    Cc: linux-renesas-soc@vger.kernel.org
    Cc: linux-rockchip@lists.infradead.org
    Cc: linux-stm32@st-md-mailman.stormreply.com
    Cc: linux-tegra@vger.kernel.org
    Cc: xen-devel@lists.xen.org
    Link: https://patchwork.freedesktop.org/patch/msgid/20190117210334.13234-1-daniel.vetter@ffwll.ch

    Daniel Vetter
     

12 Jan, 2019

1 commit

  • It's not a core function, and the matching atomic functions are also
    not in the core. Plus the suspend/resume helper is also already there.

    Needs a tiny bit of open-coding, but less midlayer beats that I think.

    v2: Rebase onto ast (which gained a new user).

    Cc: Sam Bobroff
    Reviewed-by: Alex Deucher
    Reviewed-by: Sean Paul
    Signed-off-by: Daniel Vetter
    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: Sean Paul
    Cc: David Airlie
    Cc: Ben Skeggs
    Cc: Alex Deucher
    Cc: "Christian König"
    Cc: "David (ChunMing) Zhou"
    Cc: Rex Zhu
    Cc: Andrey Grodzovsky
    Cc: Huang Rui
    Cc: Shaoyun Liu
    Cc: Monk Liu
    Cc: nouveau@lists.freedesktop.org
    Cc: amd-gfx@lists.freedesktop.org
    Link: https://patchwork.freedesktop.org/patch/msgid/20181217194303.14397-4-daniel.vetter@ffwll.ch

    Daniel Vetter
     

06 Oct, 2018

1 commit

  • With armada the last bigger driver that realistically needed these to
    convert from legacy kms to atomic is converted. These helpers have
    been broken more often than not the past 2 years, and as this little
    patch series shows, tricked a bunch of people into using the wrong
    helpers for their functions.

    Aside: I think a lot more drivers should be using the device-level
    drm_atomic_helper_shutdown/suspend/resume helpers and related
    functions. In almost all the cases they get things exactly right.

    Reviewed-by: Ville Syrjälä
    Signed-off-by: Daniel Vetter
    Link: https://patchwork.freedesktop.org/patch/msgid/20181004202446.22905-16-daniel.vetter@ffwll.ch

    Daniel Vetter
     

17 Feb, 2018

1 commit

  • Introduce a helper to determine if the current task is an output poll
    worker.

    This allows us to fix a long-standing deadlock in several DRM drivers
    wherein the ->runtime_suspend callback waits for the output poll worker
    to finish and the worker in turn calls a ->detect callback which waits
    for runtime suspend to finish. The ->detect callback is invoked from
    multiple call sites and waiting for runtime suspend to finish is the
    correct thing to do except if it's executing in the context of the
    worker.

    v2: Expand kerneldoc to specifically mention deadlock between
    output poll worker and autosuspend worker as use case. (Lyude)

    Cc: Dave Airlie
    Cc: Ben Skeggs
    Cc: Alex Deucher
    Reviewed-by: Lyude Paul
    Signed-off-by: Lukas Wunner
    Link: https://patchwork.freedesktop.org/patch/msgid/3549ce32e7f1467102e70d3e9cbf70c46bfe108e.1518593424.git.lukas@wunner.de

    Lukas Wunner
     

07 Apr, 2017

1 commit

  • mode_valid() called from drm_helper_probe_single_connector_modes()
    may need to look at connector->state because what a valid mode is may
    depend on connector properties being set. For example some HDMI modes
    might be rejected when a connector property forces the connector
    into DVI mode.

    Some implementations of detect() already lock all state,
    so we have to pass an acquire_ctx to them to prevent a deadlock.

    This means changing the function signature of detect() slightly,
    and passing the acquire_ctx for locking multiple crtc's.
    For the callbacks, it will always be non-zero. To allow callers
    not to worry about this, drm_helper_probe_detect_ctx is added
    which might handle -EDEADLK for you.

    Changes since v1:
    - Always set ctx parameter.
    Changes since v2:
    - Always take connection_mutex when probing.
    Changes since v3:
    - Remove the ctx from intel_dp_long_pulse, and add
    WARN_ON(!connection_mutex) (danvet)
    - Update docs to clarify the locking situation. (danvet)

    Signed-off-by: Maarten Lankhorst
    Cc: Boris Brezillon
    Reviewed-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/1491504920-4017-1-git-send-email-maarten.lankhorst@linux.intel.com

    Maarten Lankhorst
     

29 Mar, 2017

1 commit

  • Surprisingly a lot of legacy drivers roll their own, for
    runtime pm and because vmwgfx.

    Also make nouveau's set_config static while at it.

    Cc: Sinclair Yeh
    Cc: Thomas Hellstrom
    Cc: Ben Skeggs
    Cc: Patrik Jakobsson
    Cc: Alex Deucher
    Cc: Christian König
    Reviewed-by: Harry Wentland
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/20170322215058.8671-19-daniel.vetter@ffwll.ch

    Daniel Vetter
     

24 Mar, 2017

1 commit

  • It's the default storage class for functions, entirely redundant. And
    a lot of these headers are a bit inconsistent due to organically
    grown.

    Reviewed-by: Gabriel Krisman Bertazi
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/20170322083617.13361-2-daniel.vetter@ffwll.ch

    Daniel Vetter
     

27 Jan, 2017

1 commit

  • This reverts commit 54a07c7bb0da0343734c78212bbe9f3735394962,
    and reinstates the original.

    [airlied: this might be a bad plan for git].

    commit 3846fd9b86001bea171943cc3bb9222cb6da6b42
    Author: Daniel Vetter
    Date: Wed Jan 11 10:01:17 2017 +0100

    drm/probe-helpers: Drop locking from poll_enable

    It was only needed to protect the connector_list walking, see

    commit 8c4ccc4ab6f64e859d4ff8d7c02c2ed2e956e07f
    Author: Daniel Vetter
    Date: Thu Jul 9 23:44:26 2015 +0200

    drm/probe-helper: Grab mode_config.mutex in poll_init/enable

    Unfortunately the commit message of that patch fails to mention that
    the new locking check was for the connector_list.

    But that requirement disappeared in

    commit c36a3254f7857f1ad9badbe3578ccc92be541a8e
    Author: Daniel Vetter
    Date: Thu Dec 15 16:58:43 2016 +0100

    drm: Convert all helpers to drm_connector_list_iter

    and so we can drop this again.

    This fixes a locking inversion on nouveau, where the rpm code needs to
    re-enable. But in other places the rpm_get() calls are nested within
    the big modeset locks.

    While at it, also improve the kerneldoc for these two functions a
    notch.

    v2: Update the kerneldoc even more to explain that these functions
    can't be called concurrently, or bad things happen (Chris).

    Dave Airlie
     

16 Aug, 2016

1 commit

  • While reviewing docs I spotted that we have a few functions that
    really just don't fit into their containing helper library section.
    Extract them and shovel them all into a new library for random one-off
    aux stuff.

    v2: Remove wrongly added files for real.

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

    Daniel Vetter
     

07 Jun, 2016

1 commit

  • Add drm_crtc_enable_color_mgmt(), remove drm_helper_crtc_enable_color_mgmt()
    and update drm/i915-driver (the only user of the old function).

    The new function is more flexible. It allows driver to enable only the
    features it has without forcing to enable all three color management
    properties: degamma lut, csc matrix (ctm), and gamma lut.

    Suggested-by: Daniel Vetter
    Signed-off-by: Jyri Sarha
    Signed-off-by: Tomi Valkeinen

    Jyri Sarha
     

08 Mar, 2016

1 commit

  • Patch based on a previous series by Shashank Sharma.

    This introduces optional properties to enable color correction at the
    pipe level. It relies on 3 transformations applied to every pixels
    displayed. First a lookup into a degamma table, then a multiplication
    of the rgb components by a 3x3 matrix and finally another lookup into
    a gamma table.

    The following properties can be added to a pipe :
    - DEGAMMA_LUT : blob containing degamma LUT
    - DEGAMMA_LUT_SIZE : number of elements in DEGAMMA_LUT
    - CTM : transformation matrix applied after the degamma LUT
    - GAMMA_LUT : blob containing gamma LUT
    - GAMMA_LUT_SIZE : number of elements in GAMMA_LUT

    DEGAMMA_LUT_SIZE and GAMMA_LUT_SIZE are read only properties, set by
    the driver to tell userspace applications what sizes should be the
    lookup tables in DEGAMMA_LUT and GAMMA_LUT.

    A helper is also provided so legacy gamma correction is redirected
    through these new properties.

    v2: Register LUT size properties as range

    v3: Fix round in drm_color_lut_get_value() helper
    More docs on how degamma/gamma properties are used

    v4: Update contributors

    v5: Rename CTM_MATRIX property to CTM (Doh!)
    Add legacy gamma_set atomic helper
    Describe CTM/LUT acronyms in the kernel doc

    v6: Fix missing blob unref in drm_atomic_helper_crtc_reset

    Signed-off-by: Shashank Sharma
    Signed-off-by: Kumar, Kiran S
    Signed-off-by: Kausal Malladi
    Signed-off-by: Lionel Landwerlin
    Reviewed-by: Matt Roper
    Acked-by: Rob Bradford
    [danvet: CrOS maintainers are also happy with the userspacde side:
    https://codereview.chromium.org/1182063002/ ]
    Reviewed-by: Daniel Stone
    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/1456506302-640-4-git-send-email-lionel.g.landwerlin@intel.com

    Lionel Landwerlin
     

11 Dec, 2015

1 commit

  • Now that the mode type bit merge logic is fixed to only merge
    between new probed modes, hopefully we can eliminat the special
    case for qxl and virtio. That is make the merge the mode type
    bits from all matching new probed modes, just like every other
    driver.

    qxl and virtio got excluded from the merging in
    commit 3fbd6439e463 ("drm: copy mode type in drm_mode_connector_list_update()")
    commit abce1ec9b08a ("Revert "drm: copy mode type in drm_mode_connector_list_update()"")
    commit b87577b7c768 ("drm: try harder to avoid regression when merging mode bits")

    Cc: Marc-André Lureau
    Cc: Dave Airlie
    Cc: Daniel Vetter
    Cc: Adam Jackson
    Signed-off-by: Ville Syrjälä
    [danvet: Resolve conflicts with doc updates.]
    Signed-off-by: Daniel Vetter

    Ville Syrjälä
     

08 Dec, 2015

2 commits

  • Currently we have 4 helper libraries (probe, crtc, plane & atomic)
    that all use the same helper vtables. And that's by necessity since we
    don't want to litter the core structs with one ops pointer per helper
    library. Also often the reuse the same hooks (like atomic does, to
    facilite conversion from existing drivers using crtc and plane
    helpers).

    Given all that it doesn't make sense to put the docs for these next to
    specific helpers. Instead extract them into a new header file and
    section in the docbook, and add references to them everywhere.

    Unfortunately kernel-doc complains when an include directive doesn't
    find anything (and it does by dumping crap into the output file). We
    have to remove the now empty includes to avoid that, instead of leaving
    them in for future proofing.

    v2: More OCD in ordering functions.

    v3: Spelling plus collate copyright headers properly.

    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/1449218769-16577-4-git-send-email-daniel.vetter@ffwll.ch
    Reviewed-by: Thierry Reding

    Daniel Vetter
     
  • This is only used for kgdb (and previously panic) handlers in
    the fbdev emulation, so belongs there.

    Note that this means we'll leave behind a forward declaration, but
    once all the helper vtables are consolidated (in the next patch) that
    will make more sense.

    v2: fixup radone/amdgpu.

    Signed-off-by: Daniel Vetter
    Link: http://patchwork.freedesktop.org/patch/msgid/1449218769-16577-3-git-send-email-daniel.vetter@ffwll.ch
    Reviewed-by: Thierry Reding (v2)

    Daniel Vetter
     

24 Nov, 2015

1 commit


30 Sep, 2015

1 commit

  • drm_kms_helper_poll_enable() was converted to lock the mode_config
    mutex in commit 8c4ccc4ab6f64e859d4ff8d7c02c2ed2e956e07f
    ("drm/probe-helper: Grab mode_config.mutex in poll_init/enable").

    This disregarded the cases where this function is called from a context
    where this mutex is already locked.

    Add a non-locking version as well.

    Changes since v1:
    - use function name suffix '_locked' for the function that
    is to be called from a locked context.

    Signed-off-by: Egbert Eich
    Reviewed-by: Daniel Vetter
    Signed-off-by: Jani Nikula

    Egbert Eich
     

17 Aug, 2015

1 commit


04 Aug, 2015

1 commit

  • With legacy helpers all the routing was already set up when calling
    best_encoder and so could be inspected. But with atomic it's staged,
    hence we need a new atomic compliant callback for drivers which need
    to inspect the requested state and can't just decided the best encoder
    statically.

    This is needed to fix up i915 dp mst where we need to pick the right
    encoder depending upon the requested CRTC for the connector.

    v2: Don't forget to amend the kerneldoc

    Cc: Chris Wilson
    Cc: Linus Torvalds
    Cc: Theodore Ts'o
    Acked-by: Thierry Reding
    Reviewed-by: Ander Conselvan de Oliveira
    Signed-off-by: Daniel Vetter

    Daniel Vetter
     

27 Jul, 2015

2 commits

  • This is required to properly handle failing dpms calls.
    When making a wait in i915 interruptible, I've noticed
    that the dpms sequence could fail with -ERESTARTSYS because
    it was waiting interruptibly for flips. So from now on
    allow drivers to fail in their connector dpms callback.

    Encoder and crtc dpms callbacks are unaffected.

    Changes since v1:
    - Update kerneldoc for the drm helper functions.

    Signed-off-by: Maarten Lankhorst
    [danvet: Resolve conflicts due to different merge order.]
    Signed-off-by: Daniel Vetter

    Maarten Lankhorst
     
  • In intel it's useful to keep track of some state changes with old
    crtc state vs new state, for example to disable initial planes or
    when a modeset's prevented during fastboot.

    Cc: dri-devel@lists.freedesktop.org
    Signed-off-by: Maarten Lankhorst
    Reviewed-by: Ander Conselvan de Oliveira
    [danvet: squash in fixup for exynos provided by Maarten.]
    Signed-off-by: Daniel Vetter

    Maarten Lankhorst
     

13 Apr, 2015

1 commit


24 Feb, 2015

1 commit

  • With runtime PM the hw might still be off while doing the ->mode_set
    callbacks - runtime PM get/put should only happen in the
    enable/disable hooks to properly support DPMS. Which essentially makes
    these callbacks useless for drivers support runtime PM, so make them
    optional. Again motivated by discussions with Laurent.

    Cc: Laurent Pinchart
    Acked-by: Laurent Pinchart
    Signed-off-by: Daniel Vetter

    Daniel Vetter
     

28 Jan, 2015

1 commit

  • * tag 'topic/atomic-core-2015-01-27' of git://anongit.freedesktop.org/drm-intel:
    drm/atomic: Fix potential use of state after free
    drm/atomic-helper: debug output for modesets
    drm/atomic-helpers: Saner encoder/crtc callbacks
    drm/atomic-helpers: Recover full cursor plane behaviour
    drm/atomic-helper: add connector->dpms() implementation
    drm/atomic: Add drm_crtc_state->active
    drm: Add standardized boolean props
    drm/plane-helper: Fix transitional helper kerneldocs
    drm/plane-helper: Skip prepare_fb/cleanup_fb when newfb==oldfb

    Conflicts:
    include/drm/drm_crtc_helper.h

    Dave Airlie
     

27 Jan, 2015

2 commits

  • This callback can be used instead of the legacy ->mode_fixup() and is
    passed the CRTC and connector states. It can thus use these states to
    validate the modeset and cache values in the state to be used during
    the actual modeset.

    Reviewed-by: Daniel Vetter
    Signed-off-by: Thierry Reding

    Thierry Reding
     
  • For historical reasons going all the way back to how the Xrandr code
    was implemented the semantics of the callbacks used to enable/disable
    crtcs and encoders are ... interesting.

    But with atomic helpers all that complexity has been binned, with only
    a well-defined on/off action left. Unfortunately the names stuck.

    Let's fix that by adding enable/disable hooks every, make them the
    preferred variant for atomic and update documentations.

    Later on we add debug warnings when drivers have deprecated hooks. But
    while everything is in-flight with lots of drivers converting to
    atomic that's a bit too much - better wait for things to settle a bit
    first.

    v2: Fix kerneldoc, reported by Wu Fengguang.

    Reviewed-by: Thierry Reding
    Signed-off-by: Daniel Vetter

    Daniel Vetter
     

18 Dec, 2014

2 commits

  • There is already a section that describes the helpers implemented by
    this module. Add the kerneldoc-generated structure descriptions to this
    section.

    While at it, add missing kerneldoc for the structures to avoid warnings
    when generating the documentation.

    Signed-off-by: Thierry Reding
    Reviewed-by: Alex Deucher
    Signed-off-by: Daniel Vetter

    Thierry Reding
     
  • The file refers to a bunch of structure declared in drm_crtc.h, so
    include it to make sure the drm_crtc_helper.h header can be included
    standalone.

    Signed-off-by: Thierry Reding
    Signed-off-by: Daniel Vetter

    Thierry Reding
     

06 Nov, 2014

2 commits

  • These two functions allow drivers to reuse their atomic plane helpers
    functions for the primary plane to implement the interfaces required
    by the crtc helpers for the legacy ->set_config callback.

    This is purely transitional and won't be used once the driver is fully
    converted. But it allows partial conversions to the atomic plane
    helpers which are functional.

    v2:
    - Use ->atomic_duplicate_state if available.
    - Don't forget to run crtc_funcs->atomic_check.

    v3: Shift source coordinates correctly for 16.16 fixed point.

    v4: Don't forget to call ->atomic_destroy_state if available.

    v5: Fixup kerneldoc.

    v6: Reuse the plane_commit function from the transitional plane
    helpers to avoid too much duplication.

    v7:
    - Remove some stale comment.
    - Correctly handle the lack of plane->state object, necessary for
    transitional use.

    v8: Fixup an embarrassing h/vdisplay mixup.

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

    Daniel Vetter
     
  • This is the first cut of atomic helper code. As-is it's only useful to
    implement a pure atomic interface for plane updates.

    Later patches will integrate this with the crtc helpers so that full
    atomic updates are possible. We also need a pile of helpers to aid
    drivers in transitioning from the legacy world to the shiny new atomic
    age. Finally we need helpers to implement legacy ioctls on top of the
    atomic interface.

    The design of the overall helpersdriver interaction is fairly
    simple, but has an unfortunate large interface:

    - We have ->atomic_check callbacks for crtcs and planes. The idea is
    that connectors don't need any checking, and if they do they can
    adjust the relevant crtc driver-private state. So no connector hooks
    should be needed. Also the crtc helpers integration will do the
    ->best_encoder checks, so no need for that.

    - Framebuffer pinning needs to be done before we can commit to the hw
    state. This is especially important for async updates where we must
    pin all buffers before returning to userspace, so that really only
    hw failures can happen in the asynchronous worker.

    Hence we add ->prepare_fb and ->cleanup_fb hooks for this resources
    management.

    - The actual atomic plane commit can't fail (except hw woes), so has
    void return type. It has three stages:
    1. Prepare all affected crtcs with crtc->atomic_begin. Drivers can
    use this to unset the GO bit or similar latches to prevent plane
    updates.
    2. Update plane state by looping over all changed planes and calling
    plane->atomic_update. Presuming the hardware is sane and has GO
    bits drivers can simply bash the state into the hardware in this
    function. Other drivers might use this to precompute hw state for
    the final step.
    3. Finally latch the update for the next vblank with
    crtc->atomic_flush. Note that this function doesn't need to wait
    for the vblank to happen even for the synchronous case.

    v2: Clear drm__state->state to NULL when swapping in state.

    v3: Add TODO that we don't short-circuit plane updates for now. Likely
    no one will care.

    v4: Squash in a bit of polish that somehow landed in the wrong (later)
    patche.

    v5: Integrate atomic functions into the drm docbook and fixup the
    kerneldoc.

    v6: Fixup fixup patch squashing fumble.

    v7: Don't touch the legacy plane state plane->fb and plane->crtc. This
    is only used by the legacy ioctl code in the drm core, and that code
    already takes care of updating the pointers in all relevant cases.
    This is in stark contrast to connector->encoder->crtc links on the
    modeset side, which we still need to set since the core doesn't touch
    them.

    Also some more kerneldoc polish.

    v8: Drop outdated comment.

    v9: Handle the state->state pointer correctly: Only clearing the
    ->state pointer when assigning the state to the kms object isn't good
    enough. We also need to re-link the swapped out state into the
    drm_atomic_state structure.

    v10: Shuffle the misplaced docbook template hunk around that Sean spotted.

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

    Daniel Vetter
     

16 May, 2014

1 commit

  • Update pull request with drm core patches. Mostly some polish for the
    primary plane stuff and a pile of patches all over from Thierry. Has
    survived a few days in drm-intel-nightly without causing ill.

    I've frobbed my scripts a bit to also tag my topic branches so that you
    have something stable to pull - I've accidentally pushed a bunch more
    patches onto this branch before you've taken the old pull request.

    * tag 'topic/core-stuff-2014-05-05' of git://anongit.freedesktop.org/drm-intel:
    drm: Make drm_crtc_helper_disable() return void
    drm: Fix indentation of closing brace
    drm/dp: Fix typo in comment
    drm: Fixup flip-work kerneldoc
    drm/fb: Fix typos
    drm/edid: Cleanup kerneldoc
    drm/edid: Drop revision argument for drm_mode_std()
    drm: Try to acquire modeset lock on panic or sysrq
    drm: remove unused argument from drm_open_helper
    drm: Handle ->disable_plane failures correctly
    drm: Simplify fb refcounting rules around ->update_plane
    drm/crtc-helper: gc usless connector loop in disable_unused_functions
    drm/plane_helper: don't disable plane in destroy function
    drm/plane-helper: Fix primary plane scaling check
    drm: make mode_valid callback optional
    drm/edid: Fill PAR in AVI infoframe based on CEA mode list

    Dave Airlie
     

01 May, 2014

1 commit

  • For QXL hw we really want the bits to be replaced as we change
    the preferred mode on the fly, and the same goes for virgl when
    I get to it, however the original fix for this seems to have caused
    a wierd regression on Intel G33 that in a stunning display of failure
    at opposition to his normal self, Daniel failed to diagnose.

    So we are left doing this, ugly ugly ugly ugly, Daniel you fixed
    that G33 yet?, ugly, ugly.

    Tested-by: Marc-André Lureau
    Signed-off-by: Dave Airlie

    Dave Airlie
     

22 Apr, 2014

1 commit

  • Many drm connectors do not need mode validation.
    The patch makes this callback optional and removes dumb implementations.

    v2: Rebase:
    - imx move to a shared (but still dummy) ->mode_valid implementation.
    - probe helpers have been extracted to drm_probe_helper.c

    Signed-off-by: Andrzej Hajda (v1)
    Signed-off-by: Daniel Vetter

    Andrzej Hajda
     

18 Apr, 2014

1 commit

  • This is leftover stuff from my previous doc round which I kinda wanted
    to do but didn't yet due to rebase hell.

    The modeset helpers and the probing helpers a independent and e.g.
    i915 uses the probing stuff but has its own modeset infrastructure. It
    hence makes to split this up. While at it add a DOC: comment for the
    probing libraray.

    It would be rather neat to pull some of the DocBook documenting these
    two helpers into in-line DOC: comments. But unfortunately kerneldoc
    doesn't support markdown or something similar to make nice-looking
    documentation, so the current state is better.

    Signed-off-by: Daniel Vetter
    Signed-off-by: Dave Airlie

    Daniel Vetter
     

13 Mar, 2014

2 commits


21 Jan, 2014

1 commit


23 Oct, 2013

1 commit


20 Nov, 2012

1 commit


12 Nov, 2012

1 commit

  • Userspace seems to like this, see

    commit cb0953d734348e8862d6d7edc666cfb3bf6d8fae
    Author: Adam Jackson
    Date: Fri Jul 16 14:46:29 2010 -0400

    drm/i915: Initialize LVDS and eDP outputs before anything else

    This makes them sort to the front in X, which makes them likely to be
    the primary outputs if you haven't specified a preference in your DE,
    which is likely to be what you want.

    Signed-off-by: Adam Jackson
    Signed-off-by: Eric Anholt

    Sorting the connector list after the fact is much easier than trying
    to be clever with the init sequence.

    Acked-by: Dave Airlie
    Reviewed-by: Adam Jackson
    Acked-by: Chris Wilson
    Signed-off-by: Daniel Vetter

    Daniel Vetter
     

20 Jul, 2012

1 commit