linux/drivers/gpu/drm/i915
Daniel Vetter 47fab7370b drm/i915: add ->display.modeset_global_resources callback
After all relevant pipes are disabled and after we've updated all the
state with the staged state, but before we call the per-crtc
->mode_set functions there's a very natural point to set up any
shared/global resources like
- shared plls (obviously only the setup, the enabling needs to be
  separately handling with a separate refcount)
- global watermark state like the DSPARB on gmch platforms
- workaround bits that depend upon the exact global output
  configuration
- enabling the right set of refclocks
- enabling/disabling manual power wells.

Now for a lot of these things we can't move them into this function
yet, most often because we only compute the required information in
the per-crtc ->mode_set callback. Which is too late. But due to a
bunch of reasons (check-only atomic modeset, fastboot&hw state checks,
...) we need to separate the computation of that state from the actual
hw frobbery anyway. So we can move things into this new callback step-
by-step.

Others can't be moved here (or implemented at all) because our code
lacks the smarts to properly update them. E.g. the DSPARB can only be
updated when all pipes are disabled, so if we decide to change it's
value, we need to disable _all_ pipes. The infrastructure for that is
already in place (with the various pipe masks that driver the modeset
logic). But again we need to move a few things out of ->mode_set
first before we can even implement the correct decision making.

In any case, we need to start somewhere, so let's start with the
callback: Some small follow-up patches will make immediate good use of
it.

Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-11-11 23:50:59 +01:00
..
Makefile drm/i915: Support for ns2501-DVO 2012-07-25 18:23:48 +02:00
dvo.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
dvo_ch7xxx.c drm/i915/dvo-ch7xxx: fix get_hw_state 2012-10-12 10:59:11 +02:00
dvo_ch7017.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ivch.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_ns2501.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_sil164.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
dvo_tfp410.c drm/i915/dvo: implement get_hw_state 2012-09-06 07:58:52 +02:00
i915_debugfs.c Linux 3.7-rc2 2012-10-22 14:34:51 +02:00
i915_dma.c Linux 3.7-rc2 2012-10-22 14:34:51 +02:00
i915_drv.c Linux 3.7-rc2 2012-10-22 14:34:51 +02:00
i915_drv.h drm/i915: add ->display.modeset_global_resources callback 2012-11-11 23:50:59 +01:00
i915_gem.c Linux 3.7-rc2 2012-10-22 14:34:51 +02:00
i915_gem_context.c Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2012-10-07 21:13:54 +10:00
i915_gem_debug.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_gem_dmabuf.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
i915_gem_evict.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
i915_gem_execbuffer.c Linux 3.7-rc2 2012-10-22 14:34:51 +02:00
i915_gem_gtt.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
i915_gem_stolen.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_gem_tiling.c Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2012-10-07 21:13:54 +10:00
i915_ioc32.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
i915_irq.c drm/i915: convert pipe timing definitions to transcoder 2012-10-26 10:24:49 +02:00
i915_reg.h drm/i915: convert pipe timing definitions to transcoder 2012-10-26 10:24:49 +02:00
i915_suspend.c Linux 3.7-rc2 2012-10-22 14:34:51 +02:00
i915_sysfs.c drm/i915: Fix !CONFIG_PM sysfs for real this time 2012-09-20 14:23:11 +02:00
i915_trace.h drm/i915: Allow DRM_ROOT_ONLY|DRM_MASTER to submit privileged batchbuffers 2012-10-17 21:06:59 +02:00
i915_trace_points.c drm/i915: [sparse] trivial sparse fixes 2012-04-18 10:34:49 +02:00
intel_acpi.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_bios.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_bios.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_crt.c drm/i915: Do not free the passed EDID in intel_connector_update_modes() 2012-10-22 19:33:46 +02:00
intel_ddi.c drm/i915: enable DDI eDP 2012-10-26 10:24:52 +02:00
intel_display.c drm/i915: add ->display.modeset_global_resources callback 2012-11-11 23:50:59 +01:00
intel_dp.c drm/i915: shut up spurious message in intel_dp_get_hw_state 2012-11-11 23:50:56 +01:00
intel_drv.h drm/i915/lvds: move fitting mode from intel_lvds_connector to intel_panel 2012-10-26 20:50:57 +02:00
intel_dvo.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
intel_fb.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_hdmi.c Linux 3.7-rc2 2012-10-22 14:34:51 +02:00
intel_i2c.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
intel_lvds.c drm/i915/lvds: move fitting mode from intel_lvds_connector to intel_panel 2012-10-26 20:50:57 +02:00
intel_modes.c drm/i915: Do not free the passed EDID in intel_connector_update_modes() 2012-10-22 19:33:46 +02:00
intel_opregion.c Linux 3.7-rc2 2012-10-22 14:34:51 +02:00
intel_overlay.c Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes 2012-10-16 10:11:59 +10:00
intel_panel.c drm/i915: Move the fixed mode to intel_panel 2012-10-22 19:01:49 +02:00
intel_pm.c Linux 3.7-rc2 2012-10-22 14:34:51 +02:00
intel_ringbuffer.c Linux 3.7-rc2 2012-10-22 14:34:51 +02:00
intel_ringbuffer.h drm/i915: Allow DRM_ROOT_ONLY|DRM_MASTER to submit privileged batchbuffers 2012-10-17 21:06:59 +02:00
intel_sdvo.c drm/i915/sdvo: restore i2c adapter config on intel_sdvo_init() failures 2012-10-26 10:26:43 +02:00
intel_sdvo_regs.h drm/i915: properly handle interlaced bit for sdvo dtd conversion 2012-05-24 17:53:52 +02:00
intel_sprite.c drm/i915: VLV does not have a sprite scaler 2012-10-26 18:30:26 +02:00
intel_tv.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00