Hi Dave,
The big ticket item here is the new i915 modeset infrastructure. Shockingly it didn't not blow up all over the place (i.e. I've managed to fix the ugly issues before merging). 1-2 smaller corner cases broke, but we have patches. Also, there's tons of patches on top of this that clean out cruft and fix a few bugs that couldn't be fixed with the crtc helper based stuff. So more stuff to come ;-)
Also a few other things: - Tiny fix in the fb helper to go through the official dpms interface instead of calling the crtc helper code. - forcewake code frobbery from Ben, code should be more in-line with what Windows does now. - fixes for the render ring flush on hsw (Paulo) - gpu frequency tracepoint - vlv forcewake changes to better align it with our understanding of the forcewake magic. - a few smaller cleanups
Cheers, Daniel
The following changes since commit d7c3b937bdf45f0b844400b7bf6fd3ed50bac604:
drm/i915: Remove __GFP_NO_KSWAPD (2012-08-27 17:11:38 +0200)
are available in the git repository at:
git://people.freedesktop.org/~danvet/drm-intel tags/drm-intel-next-2012-09-09
for you to fetch changes up to e04190e0ecb236c51af181c18c545ea076fb9cca:
drm/fb helper: don't call drm_helper_connector_dpms directly (2012-09-08 00:51:15 +0200)
----------------------------------------------------------------
Ben Widawsky (5): drm/i915: Extract forcewake ack timeout drm/i915: use cpu_relax() in wait_for_atomic drm/i915: Change forcewake timeout to 2ms drm/i915: Never read FORCEWAKE drm/i915: Enable some sysfs stuff without CONFIG_PM
Chris Wilson (1): drm/i915: Convert remaining debugfs iterators over rings to for_each_ring()
Daniel Vetter (66): drm/ips: move drps/ips/ilk related variables into dev_priv->ips drm/i915: add a tracepoint for gpu frequency changes drm/i915: align vlv forcewake with common lore drm/i915: differ error message between forcwake timeouts drm/i915: add crtc->enable/disable vfuncs insted of dpms drm/i915: rip out crtc prepare/commit indirection drm/i915: add direct encoder disable/enable infrastructure drm/i915/hdmi: convert to encoder->disable/enable drm/i915/tv: convert to encoder enable/disable drm/i915/lvds: convert to encoder disable/enable drm/i915/dp: convert to encoder disable/enable drm/i915/crt: convert to encoder disable/enable drm/i915/sdvo: convert to encoder disable/enable drm/i915/dvo: convert to encoder disable/enable drm/i915: convert dpms functions of dvo/sdvo/crt drm/i915: rip out encoder->disable/enable checks drm/i915: clean up encoder_prepare/commit drm/i915: copy&paste drm_crtc_helper_set_config drm/i915: call set_base directly drm/i915: inline intel_best_encoder drm/i915: copy&paste drm_crtc_helper_set_mode drm/i915: simplify intel_crtc_prepare_encoders drm/i915: rip out encoder->prepare/commit drm/i915: call crtc functions directly drm/i915: WARN when trying to enabled an unused crtc drm/i915: Add interfaces to read out encoder/connector hw state drm/i915/dp: implement get_hw_state drm/i915/hdmi: implement get_hw_state drm/i915/tv: implement get_hw_state drm/i915/lvds: implement get_hw_state drm/i915/crt: implement get_hw_state drm/i915/sdvo: implement get_hw_state drm/i915/dvo: implement get_hw_state drm/i915: read out the modeset hw state at load and resume time drm/i915: check connector hw/sw state drm/i915: rip out intel_crtc->dpms_mode drm/i915: rip out intel_dp->dpms_mode drm/i915: ensure the force pipe A quirk is actually followed drm/i915: introduce struct intel_set_config drm/i915: extract modeset config save/restore code drm/i915: extract intel_set_config_compute_mode_changes drm/i915: extract intel_set_config_update_output_state drm/i915: implement crtc helper semantics relied upon by the fb helper drm/i915: don't update the fb base if there is no fb drm/i915: convert pointless error checks in set_config to BUGs drm/i915: don't save all the encoder/crtc state in set_config drm/i915: stage modeset output changes drm/i915: push crtc->fb update into pipe_set_base drm/i915: remove crtc disabling special case drm/i915: move output commit and crtc disabling into set_mode drm/i915: extract adjusted mode computation drm/i915: use staged outuput config in tv->mode_fixup drm/i915: use staged outuput config in lvds->mode_fixup drm/i915: compute masks of crtcs affected in set_mode drm/i915: implement new set_mode code flow drm/i915: push commit_output_state past crtc disabling drm/i915: s/intel_encoder_disable/intel_encoder_noop drm/i915: WARN if the pipe won't turn off drm/i915: switch the load detect code to the staged modeset config drm/i915: push commit_output_state past the crtc/encoder preparing drm/i915: disable all crtcs at suspend time drm/i915: no longer call drm_helper_resume_force_mode drm/i915: add tons of modeset state checks drm/i915: improve modeset state checking after dpms calls Merge the modeset-rework, basic conversion into drm-intel-next drm/fb helper: don't call drm_helper_connector_dpms directly
Jani Nikula (2): drm/i915: only enable sdvo hotplug irq if needed drm/i915: fix sdvo hotplug support check and activation
Paulo Zanoni (3): drm/i915: add gen7_render_ring_flush drm/i915: add workarounds directly to gen6_render_ring_flush drm/i915: add workarounds to gen7_render_ring_flush
Hi Daniel,
This tree gives me recursive dependency problems, which ends up removing a big (& important) part of my .config:
[bpowers@fina linux]$ git reset --hard drm-intel-next-2012-09-09 HEAD is now at e04190e drm/fb helper: don't call drm_helper_connector_dpms directly [bpowers@fina linux]$ git status # On branch master # Your branch and 'origin/master' have diverged, # and have 207 and 323 different commits each, respectively. # nothing to commit (working directory clean) [bpowers@fina linux]$ make oldconfig scripts/kconfig/conf --oldconfig Kconfig drivers/gpu/drm/udl/Kconfig:1:error: recursive dependency detected! drivers/gpu/drm/udl/Kconfig:1: symbol DRM_UDL depends on USB_ARCH_HAS_HCD drivers/usb/Kconfig:76: symbol USB_ARCH_HAS_HCD depends on USB_SUPPORT drivers/usb/Kconfig:58: symbol USB_SUPPORT is selected by DRM_USB drivers/gpu/drm/Kconfig:22: symbol DRM_USB is selected by DRM_UDL # # configuration written to .config #
I've attached my config & the diff between what is attached and the result of make oldconfig. Let me know if there is any other info that would help, or if I'm just doing something boneheaded. Thanks!
yours, Bobby
On Thu, Sep 13, 2012 at 10:18 AM, Daniel Vetter daniel@ffwll.ch wrote:
Hi Dave,
The big ticket item here is the new i915 modeset infrastructure. Shockingly it didn't not blow up all over the place (i.e. I've managed to fix the ugly issues before merging). 1-2 smaller corner cases broke, but we have patches. Also, there's tons of patches on top of this that clean out cruft and fix a few bugs that couldn't be fixed with the crtc helper based stuff. So more stuff to come ;-)
Also a few other things:
- Tiny fix in the fb helper to go through the official dpms interface instead of calling the crtc helper code.
- forcewake code frobbery from Ben, code should be more in-line with what Windows does now.
- fixes for the render ring flush on hsw (Paulo)
- gpu frequency tracepoint
- vlv forcewake changes to better align it with our understanding of the forcewake magic.
- a few smaller cleanups
Cheers, Daniel
The following changes since commit d7c3b937bdf45f0b844400b7bf6fd3ed50bac604:
drm/i915: Remove __GFP_NO_KSWAPD (2012-08-27 17:11:38 +0200)
are available in the git repository at:
git://people.freedesktop.org/~danvet/drm-intel tags/drm-intel-next-2012-09-09
for you to fetch changes up to e04190e0ecb236c51af181c18c545ea076fb9cca:
drm/fb helper: don't call drm_helper_connector_dpms directly (2012-09-08 00:51:15 +0200)
Ben Widawsky (5): drm/i915: Extract forcewake ack timeout drm/i915: use cpu_relax() in wait_for_atomic drm/i915: Change forcewake timeout to 2ms drm/i915: Never read FORCEWAKE drm/i915: Enable some sysfs stuff without CONFIG_PM
Chris Wilson (1): drm/i915: Convert remaining debugfs iterators over rings to for_each_ring()
Daniel Vetter (66): drm/ips: move drps/ips/ilk related variables into dev_priv->ips drm/i915: add a tracepoint for gpu frequency changes drm/i915: align vlv forcewake with common lore drm/i915: differ error message between forcwake timeouts drm/i915: add crtc->enable/disable vfuncs insted of dpms drm/i915: rip out crtc prepare/commit indirection drm/i915: add direct encoder disable/enable infrastructure drm/i915/hdmi: convert to encoder->disable/enable drm/i915/tv: convert to encoder enable/disable drm/i915/lvds: convert to encoder disable/enable drm/i915/dp: convert to encoder disable/enable drm/i915/crt: convert to encoder disable/enable drm/i915/sdvo: convert to encoder disable/enable drm/i915/dvo: convert to encoder disable/enable drm/i915: convert dpms functions of dvo/sdvo/crt drm/i915: rip out encoder->disable/enable checks drm/i915: clean up encoder_prepare/commit drm/i915: copy&paste drm_crtc_helper_set_config drm/i915: call set_base directly drm/i915: inline intel_best_encoder drm/i915: copy&paste drm_crtc_helper_set_mode drm/i915: simplify intel_crtc_prepare_encoders drm/i915: rip out encoder->prepare/commit drm/i915: call crtc functions directly drm/i915: WARN when trying to enabled an unused crtc drm/i915: Add interfaces to read out encoder/connector hw state drm/i915/dp: implement get_hw_state drm/i915/hdmi: implement get_hw_state drm/i915/tv: implement get_hw_state drm/i915/lvds: implement get_hw_state drm/i915/crt: implement get_hw_state drm/i915/sdvo: implement get_hw_state drm/i915/dvo: implement get_hw_state drm/i915: read out the modeset hw state at load and resume time drm/i915: check connector hw/sw state drm/i915: rip out intel_crtc->dpms_mode drm/i915: rip out intel_dp->dpms_mode drm/i915: ensure the force pipe A quirk is actually followed drm/i915: introduce struct intel_set_config drm/i915: extract modeset config save/restore code drm/i915: extract intel_set_config_compute_mode_changes drm/i915: extract intel_set_config_update_output_state drm/i915: implement crtc helper semantics relied upon by the fb helper drm/i915: don't update the fb base if there is no fb drm/i915: convert pointless error checks in set_config to BUGs drm/i915: don't save all the encoder/crtc state in set_config drm/i915: stage modeset output changes drm/i915: push crtc->fb update into pipe_set_base drm/i915: remove crtc disabling special case drm/i915: move output commit and crtc disabling into set_mode drm/i915: extract adjusted mode computation drm/i915: use staged outuput config in tv->mode_fixup drm/i915: use staged outuput config in lvds->mode_fixup drm/i915: compute masks of crtcs affected in set_mode drm/i915: implement new set_mode code flow drm/i915: push commit_output_state past crtc disabling drm/i915: s/intel_encoder_disable/intel_encoder_noop drm/i915: WARN if the pipe won't turn off drm/i915: switch the load detect code to the staged modeset config drm/i915: push commit_output_state past the crtc/encoder preparing drm/i915: disable all crtcs at suspend time drm/i915: no longer call drm_helper_resume_force_mode drm/i915: add tons of modeset state checks drm/i915: improve modeset state checking after dpms calls Merge the modeset-rework, basic conversion into drm-intel-next drm/fb helper: don't call drm_helper_connector_dpms directly
Jani Nikula (2): drm/i915: only enable sdvo hotplug irq if needed drm/i915: fix sdvo hotplug support check and activation
Paulo Zanoni (3): drm/i915: add gen7_render_ring_flush drm/i915: add workarounds directly to gen6_render_ring_flush drm/i915: add workarounds to gen7_render_ring_flush
-- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
On Fri, Sep 14, 2012 at 09:55:58AM -0400, Bobby Powers wrote:
This tree gives me recursive dependency problems, which ends up removing a big (& important) part of my .config:
[bpowers@fina linux]$ git reset --hard drm-intel-next-2012-09-09 HEAD is now at e04190e drm/fb helper: don't call drm_helper_connector_dpms directly [bpowers@fina linux]$ git status # On branch master # Your branch and 'origin/master' have diverged, # and have 207 and 323 different commits each, respectively. # nothing to commit (working directory clean) [bpowers@fina linux]$ make oldconfig scripts/kconfig/conf --oldconfig Kconfig drivers/gpu/drm/udl/Kconfig:1:error: recursive dependency detected! drivers/gpu/drm/udl/Kconfig:1: symbol DRM_UDL depends on USB_ARCH_HAS_HCD drivers/usb/Kconfig:76: symbol USB_ARCH_HAS_HCD depends on USB_SUPPORT drivers/usb/Kconfig:58: symbol USB_SUPPORT is selected by DRM_USB drivers/gpu/drm/Kconfig:22: symbol DRM_USB is selected by DRM_UDL # # configuration written to .config #
That's an issue with Dave Airlie's udl code I'd say - the drm-intel-next tree here simply includes a few drm-next patches already. Dave? -Daniel
I've attached my config & the diff between what is attached and the result of make oldconfig. Let me know if there is any other info that would help, or if I'm just doing something boneheaded. Thanks!
yours, Bobby
On Thu, Sep 13, 2012 at 10:18 AM, Daniel Vetter daniel@ffwll.ch wrote:
Hi Dave,
The big ticket item here is the new i915 modeset infrastructure. Shockingly it didn't not blow up all over the place (i.e. I've managed to fix the ugly issues before merging). 1-2 smaller corner cases broke, but we have patches. Also, there's tons of patches on top of this that clean out cruft and fix a few bugs that couldn't be fixed with the crtc helper based stuff. So more stuff to come ;-)
Also a few other things:
- Tiny fix in the fb helper to go through the official dpms interface instead of calling the crtc helper code.
- forcewake code frobbery from Ben, code should be more in-line with what Windows does now.
- fixes for the render ring flush on hsw (Paulo)
- gpu frequency tracepoint
- vlv forcewake changes to better align it with our understanding of the forcewake magic.
- a few smaller cleanups
Cheers, Daniel
The following changes since commit d7c3b937bdf45f0b844400b7bf6fd3ed50bac604:
drm/i915: Remove __GFP_NO_KSWAPD (2012-08-27 17:11:38 +0200)
are available in the git repository at:
git://people.freedesktop.org/~danvet/drm-intel tags/drm-intel-next-2012-09-09
for you to fetch changes up to e04190e0ecb236c51af181c18c545ea076fb9cca:
drm/fb helper: don't call drm_helper_connector_dpms directly (2012-09-08 00:51:15 +0200)
Ben Widawsky (5): drm/i915: Extract forcewake ack timeout drm/i915: use cpu_relax() in wait_for_atomic drm/i915: Change forcewake timeout to 2ms drm/i915: Never read FORCEWAKE drm/i915: Enable some sysfs stuff without CONFIG_PM
Chris Wilson (1): drm/i915: Convert remaining debugfs iterators over rings to for_each_ring()
Daniel Vetter (66): drm/ips: move drps/ips/ilk related variables into dev_priv->ips drm/i915: add a tracepoint for gpu frequency changes drm/i915: align vlv forcewake with common lore drm/i915: differ error message between forcwake timeouts drm/i915: add crtc->enable/disable vfuncs insted of dpms drm/i915: rip out crtc prepare/commit indirection drm/i915: add direct encoder disable/enable infrastructure drm/i915/hdmi: convert to encoder->disable/enable drm/i915/tv: convert to encoder enable/disable drm/i915/lvds: convert to encoder disable/enable drm/i915/dp: convert to encoder disable/enable drm/i915/crt: convert to encoder disable/enable drm/i915/sdvo: convert to encoder disable/enable drm/i915/dvo: convert to encoder disable/enable drm/i915: convert dpms functions of dvo/sdvo/crt drm/i915: rip out encoder->disable/enable checks drm/i915: clean up encoder_prepare/commit drm/i915: copy&paste drm_crtc_helper_set_config drm/i915: call set_base directly drm/i915: inline intel_best_encoder drm/i915: copy&paste drm_crtc_helper_set_mode drm/i915: simplify intel_crtc_prepare_encoders drm/i915: rip out encoder->prepare/commit drm/i915: call crtc functions directly drm/i915: WARN when trying to enabled an unused crtc drm/i915: Add interfaces to read out encoder/connector hw state drm/i915/dp: implement get_hw_state drm/i915/hdmi: implement get_hw_state drm/i915/tv: implement get_hw_state drm/i915/lvds: implement get_hw_state drm/i915/crt: implement get_hw_state drm/i915/sdvo: implement get_hw_state drm/i915/dvo: implement get_hw_state drm/i915: read out the modeset hw state at load and resume time drm/i915: check connector hw/sw state drm/i915: rip out intel_crtc->dpms_mode drm/i915: rip out intel_dp->dpms_mode drm/i915: ensure the force pipe A quirk is actually followed drm/i915: introduce struct intel_set_config drm/i915: extract modeset config save/restore code drm/i915: extract intel_set_config_compute_mode_changes drm/i915: extract intel_set_config_update_output_state drm/i915: implement crtc helper semantics relied upon by the fb helper drm/i915: don't update the fb base if there is no fb drm/i915: convert pointless error checks in set_config to BUGs drm/i915: don't save all the encoder/crtc state in set_config drm/i915: stage modeset output changes drm/i915: push crtc->fb update into pipe_set_base drm/i915: remove crtc disabling special case drm/i915: move output commit and crtc disabling into set_mode drm/i915: extract adjusted mode computation drm/i915: use staged outuput config in tv->mode_fixup drm/i915: use staged outuput config in lvds->mode_fixup drm/i915: compute masks of crtcs affected in set_mode drm/i915: implement new set_mode code flow drm/i915: push commit_output_state past crtc disabling drm/i915: s/intel_encoder_disable/intel_encoder_noop drm/i915: WARN if the pipe won't turn off drm/i915: switch the load detect code to the staged modeset config drm/i915: push commit_output_state past the crtc/encoder preparing drm/i915: disable all crtcs at suspend time drm/i915: no longer call drm_helper_resume_force_mode drm/i915: add tons of modeset state checks drm/i915: improve modeset state checking after dpms calls Merge the modeset-rework, basic conversion into drm-intel-next drm/fb helper: don't call drm_helper_connector_dpms directly
Jani Nikula (2): drm/i915: only enable sdvo hotplug irq if needed drm/i915: fix sdvo hotplug support check and activation
Paulo Zanoni (3): drm/i915: add gen7_render_ring_flush drm/i915: add workarounds directly to gen6_render_ring_flush drm/i915: add workarounds to gen7_render_ring_flush
-- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Hi
2012/9/14 Daniel Vetter daniel@ffwll.ch:
On Fri, Sep 14, 2012 at 09:55:58AM -0400, Bobby Powers wrote:
This tree gives me recursive dependency problems, which ends up removing a big (& important) part of my .config:
[bpowers@fina linux]$ git reset --hard drm-intel-next-2012-09-09 HEAD is now at e04190e drm/fb helper: don't call drm_helper_connector_dpms directly [bpowers@fina linux]$ git status # On branch master # Your branch and 'origin/master' have diverged, # and have 207 and 323 different commits each, respectively. # nothing to commit (working directory clean) [bpowers@fina linux]$ make oldconfig scripts/kconfig/conf --oldconfig Kconfig drivers/gpu/drm/udl/Kconfig:1:error: recursive dependency detected! drivers/gpu/drm/udl/Kconfig:1: symbol DRM_UDL depends on USB_ARCH_HAS_HCD drivers/usb/Kconfig:76: symbol USB_ARCH_HAS_HCD depends on USB_SUPPORT drivers/usb/Kconfig:58: symbol USB_SUPPORT is selected by DRM_USB drivers/gpu/drm/Kconfig:22: symbol DRM_USB is selected by DRM_UDL # # configuration written to .config #
You want this: http://cgit.freedesktop.org/~airlied/linux/commit/?h=drm-next&id=95ca19c...
That's an issue with Dave Airlie's udl code I'd say - the drm-intel-next tree here simply includes a few drm-next patches already. Dave? -Daniel
I've attached my config & the diff between what is attached and the result of make oldconfig. Let me know if there is any other info that would help, or if I'm just doing something boneheaded. Thanks!
yours, Bobby
On Thu, Sep 13, 2012 at 10:18 AM, Daniel Vetter daniel@ffwll.ch wrote:
Hi Dave,
The big ticket item here is the new i915 modeset infrastructure. Shockingly it didn't not blow up all over the place (i.e. I've managed to fix the ugly issues before merging). 1-2 smaller corner cases broke, but we have patches. Also, there's tons of patches on top of this that clean out cruft and fix a few bugs that couldn't be fixed with the crtc helper based stuff. So more stuff to come ;-)
Also a few other things:
- Tiny fix in the fb helper to go through the official dpms interface instead of calling the crtc helper code.
- forcewake code frobbery from Ben, code should be more in-line with what Windows does now.
- fixes for the render ring flush on hsw (Paulo)
- gpu frequency tracepoint
- vlv forcewake changes to better align it with our understanding of the forcewake magic.
- a few smaller cleanups
Cheers, Daniel
The following changes since commit d7c3b937bdf45f0b844400b7bf6fd3ed50bac604:
drm/i915: Remove __GFP_NO_KSWAPD (2012-08-27 17:11:38 +0200)
are available in the git repository at:
git://people.freedesktop.org/~danvet/drm-intel tags/drm-intel-next-2012-09-09
for you to fetch changes up to e04190e0ecb236c51af181c18c545ea076fb9cca:
drm/fb helper: don't call drm_helper_connector_dpms directly (2012-09-08 00:51:15 +0200)
Ben Widawsky (5): drm/i915: Extract forcewake ack timeout drm/i915: use cpu_relax() in wait_for_atomic drm/i915: Change forcewake timeout to 2ms drm/i915: Never read FORCEWAKE drm/i915: Enable some sysfs stuff without CONFIG_PM
Chris Wilson (1): drm/i915: Convert remaining debugfs iterators over rings to for_each_ring()
Daniel Vetter (66): drm/ips: move drps/ips/ilk related variables into dev_priv->ips drm/i915: add a tracepoint for gpu frequency changes drm/i915: align vlv forcewake with common lore drm/i915: differ error message between forcwake timeouts drm/i915: add crtc->enable/disable vfuncs insted of dpms drm/i915: rip out crtc prepare/commit indirection drm/i915: add direct encoder disable/enable infrastructure drm/i915/hdmi: convert to encoder->disable/enable drm/i915/tv: convert to encoder enable/disable drm/i915/lvds: convert to encoder disable/enable drm/i915/dp: convert to encoder disable/enable drm/i915/crt: convert to encoder disable/enable drm/i915/sdvo: convert to encoder disable/enable drm/i915/dvo: convert to encoder disable/enable drm/i915: convert dpms functions of dvo/sdvo/crt drm/i915: rip out encoder->disable/enable checks drm/i915: clean up encoder_prepare/commit drm/i915: copy&paste drm_crtc_helper_set_config drm/i915: call set_base directly drm/i915: inline intel_best_encoder drm/i915: copy&paste drm_crtc_helper_set_mode drm/i915: simplify intel_crtc_prepare_encoders drm/i915: rip out encoder->prepare/commit drm/i915: call crtc functions directly drm/i915: WARN when trying to enabled an unused crtc drm/i915: Add interfaces to read out encoder/connector hw state drm/i915/dp: implement get_hw_state drm/i915/hdmi: implement get_hw_state drm/i915/tv: implement get_hw_state drm/i915/lvds: implement get_hw_state drm/i915/crt: implement get_hw_state drm/i915/sdvo: implement get_hw_state drm/i915/dvo: implement get_hw_state drm/i915: read out the modeset hw state at load and resume time drm/i915: check connector hw/sw state drm/i915: rip out intel_crtc->dpms_mode drm/i915: rip out intel_dp->dpms_mode drm/i915: ensure the force pipe A quirk is actually followed drm/i915: introduce struct intel_set_config drm/i915: extract modeset config save/restore code drm/i915: extract intel_set_config_compute_mode_changes drm/i915: extract intel_set_config_update_output_state drm/i915: implement crtc helper semantics relied upon by the fb helper drm/i915: don't update the fb base if there is no fb drm/i915: convert pointless error checks in set_config to BUGs drm/i915: don't save all the encoder/crtc state in set_config drm/i915: stage modeset output changes drm/i915: push crtc->fb update into pipe_set_base drm/i915: remove crtc disabling special case drm/i915: move output commit and crtc disabling into set_mode drm/i915: extract adjusted mode computation drm/i915: use staged outuput config in tv->mode_fixup drm/i915: use staged outuput config in lvds->mode_fixup drm/i915: compute masks of crtcs affected in set_mode drm/i915: implement new set_mode code flow drm/i915: push commit_output_state past crtc disabling drm/i915: s/intel_encoder_disable/intel_encoder_noop drm/i915: WARN if the pipe won't turn off drm/i915: switch the load detect code to the staged modeset config drm/i915: push commit_output_state past the crtc/encoder preparing drm/i915: disable all crtcs at suspend time drm/i915: no longer call drm_helper_resume_force_mode drm/i915: add tons of modeset state checks drm/i915: improve modeset state checking after dpms calls Merge the modeset-rework, basic conversion into drm-intel-next drm/fb helper: don't call drm_helper_connector_dpms directly
Jani Nikula (2): drm/i915: only enable sdvo hotplug irq if needed drm/i915: fix sdvo hotplug support check and activation
Paulo Zanoni (3): drm/i915: add gen7_render_ring_flush drm/i915: add workarounds directly to gen6_render_ring_flush drm/i915: add workarounds to gen7_render_ring_flush
-- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx
-- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
On Thu, Sep 13, 2012 at 04:18:41PM +0200, Daniel Vetter wrote:
Hi Dave,
The big ticket item here is the new i915 modeset infrastructure. Shockingly it didn't not blow up all over the place (i.e. I've managed to fix the ugly issues before merging). 1-2 smaller corner cases broke, but we have patches. Also, there's tons of patches on top of this that clean out cruft and fix a few bugs that couldn't be fixed with the crtc helper based stuff. So more stuff to come ;-)
Also a few other things:
- Tiny fix in the fb helper to go through the official dpms interface instead of calling the crtc helper code.
- forcewake code frobbery from Ben, code should be more in-line with what Windows does now.
- fixes for the render ring flush on hsw (Paulo)
- gpu frequency tracepoint
- vlv forcewake changes to better align it with our understanding of the forcewake magic.
- a few smaller cleanups
Updated pull request with the 2 bugfixers cherry-picked from my -next queue on top. Since I'll be travelling around for the next two weeks, rebasing things around will take a bit longer.
Cheers, Daniel The following changes since commit 85f9e50d815a70780699752c4f2dc1198c2c0b61:
drm/i915: move i915_get_extra_insdone out of CONFIG_DEBUG_FS block (2012-09-03 18:06:37 +1000)
are available in the git repository at:
git://people.freedesktop.org/~danvet/drm-intel for-airlied
for you to fetch changes up to 3b7a89fce3e3dc96b549d6d829387b4439044d0d:
drm/i915: fix OOPS in lid_notify (2012-09-18 00:59:37 +0200)
---------------------------------------------------------------- Ben Widawsky (5): drm/i915: Extract forcewake ack timeout drm/i915: use cpu_relax() in wait_for_atomic drm/i915: Change forcewake timeout to 2ms drm/i915: Never read FORCEWAKE drm/i915: Enable some sysfs stuff without CONFIG_PM
Chris Wilson (1): drm/i915: Convert remaining debugfs iterators over rings to for_each_ring()
Daniel Vetter (68): drm/ips: move drps/ips/ilk related variables into dev_priv->ips drm/i915: add a tracepoint for gpu frequency changes drm/i915: align vlv forcewake with common lore drm/i915: differ error message between forcwake timeouts drm/i915: add crtc->enable/disable vfuncs insted of dpms drm/i915: rip out crtc prepare/commit indirection drm/i915: add direct encoder disable/enable infrastructure drm/i915/hdmi: convert to encoder->disable/enable drm/i915/tv: convert to encoder enable/disable drm/i915/lvds: convert to encoder disable/enable drm/i915/dp: convert to encoder disable/enable drm/i915/crt: convert to encoder disable/enable drm/i915/sdvo: convert to encoder disable/enable drm/i915/dvo: convert to encoder disable/enable drm/i915: convert dpms functions of dvo/sdvo/crt drm/i915: rip out encoder->disable/enable checks drm/i915: clean up encoder_prepare/commit drm/i915: copy&paste drm_crtc_helper_set_config drm/i915: call set_base directly drm/i915: inline intel_best_encoder drm/i915: copy&paste drm_crtc_helper_set_mode drm/i915: simplify intel_crtc_prepare_encoders drm/i915: rip out encoder->prepare/commit drm/i915: call crtc functions directly drm/i915: WARN when trying to enabled an unused crtc drm/i915: Add interfaces to read out encoder/connector hw state drm/i915/dp: implement get_hw_state drm/i915/hdmi: implement get_hw_state drm/i915/tv: implement get_hw_state drm/i915/lvds: implement get_hw_state drm/i915/crt: implement get_hw_state drm/i915/sdvo: implement get_hw_state drm/i915/dvo: implement get_hw_state drm/i915: read out the modeset hw state at load and resume time drm/i915: check connector hw/sw state drm/i915: rip out intel_crtc->dpms_mode drm/i915: rip out intel_dp->dpms_mode drm/i915: ensure the force pipe A quirk is actually followed drm/i915: introduce struct intel_set_config drm/i915: extract modeset config save/restore code drm/i915: extract intel_set_config_compute_mode_changes drm/i915: extract intel_set_config_update_output_state drm/i915: implement crtc helper semantics relied upon by the fb helper drm/i915: don't update the fb base if there is no fb drm/i915: convert pointless error checks in set_config to BUGs drm/i915: don't save all the encoder/crtc state in set_config drm/i915: stage modeset output changes drm/i915: push crtc->fb update into pipe_set_base drm/i915: remove crtc disabling special case drm/i915: move output commit and crtc disabling into set_mode drm/i915: extract adjusted mode computation drm/i915: use staged outuput config in tv->mode_fixup drm/i915: use staged outuput config in lvds->mode_fixup drm/i915: compute masks of crtcs affected in set_mode drm/i915: implement new set_mode code flow drm/i915: push commit_output_state past crtc disabling drm/i915: s/intel_encoder_disable/intel_encoder_noop drm/i915: WARN if the pipe won't turn off drm/i915: switch the load detect code to the staged modeset config drm/i915: push commit_output_state past the crtc/encoder preparing drm/i915: disable all crtcs at suspend time drm/i915: no longer call drm_helper_resume_force_mode drm/i915: add tons of modeset state checks drm/i915: improve modeset state checking after dpms calls Merge the modeset-rework, basic conversion into drm-intel-next drm/fb helper: don't call drm_helper_connector_dpms directly drm/i915: correctly update crtc->x/y in set_base drm/i915: fix OOPS in lid_notify
Jani Nikula (2): drm/i915: only enable sdvo hotplug irq if needed drm/i915: fix sdvo hotplug support check and activation
Paulo Zanoni (3): drm/i915: add gen7_render_ring_flush drm/i915: add workarounds directly to gen6_render_ring_flush drm/i915: add workarounds to gen7_render_ring_flush
drivers/gpu/drm/drm_fb_helper.c | 2 +- drivers/gpu/drm/i915/dvo.h | 6 + drivers/gpu/drm/i915/dvo_ch7017.c | 13 + drivers/gpu/drm/i915/dvo_ch7xxx.c | 13 + drivers/gpu/drm/i915/dvo_ivch.c | 15 + drivers/gpu/drm/i915/dvo_ns2501.c | 15 + drivers/gpu/drm/i915/dvo_sil164.c | 16 + drivers/gpu/drm/i915/dvo_tfp410.c | 14 + drivers/gpu/drm/i915/i915_debugfs.c | 54 +- drivers/gpu/drm/i915/i915_drv.c | 9 +- drivers/gpu/drm/i915/i915_drv.h | 36 +- drivers/gpu/drm/i915/i915_irq.c | 20 +- drivers/gpu/drm/i915/i915_reg.h | 2 + drivers/gpu/drm/i915/i915_sysfs.c | 15 +- drivers/gpu/drm/i915/i915_trace.h | 15 + drivers/gpu/drm/i915/intel_crt.c | 136 ++- drivers/gpu/drm/i915/intel_ddi.c | 59 +- drivers/gpu/drm/i915/intel_display.c | 1535 ++++++++++++++++++++++++++----- drivers/gpu/drm/i915/intel_dp.c | 144 ++- drivers/gpu/drm/i915/intel_drv.h | 67 +- drivers/gpu/drm/i915/intel_dvo.c | 94 +- drivers/gpu/drm/i915/intel_hdmi.c | 151 ++- drivers/gpu/drm/i915/intel_lvds.c | 97 +- drivers/gpu/drm/i915/intel_pm.c | 138 +-- drivers/gpu/drm/i915/intel_ringbuffer.c | 82 +- drivers/gpu/drm/i915/intel_sdvo.c | 206 +++-- drivers/gpu/drm/i915/intel_tv.c | 61 +- 27 files changed, 2315 insertions(+), 700 deletions(-)
On Thu, Sep 13, 2012 at 7:18 AM, Daniel Vetter daniel@ffwll.ch wrote:
Hi Dave,
The big ticket item here is the new i915 modeset infrastructure. Shockingly it didn't not blow up all over the place (i.e. I've managed to fix the ugly issues before merging). 1-2 smaller corner cases broke, but we have patches. Also, there's tons of patches on top of this that clean out cruft and fix a few bugs that couldn't be fixed with the crtc helper based stuff. So more stuff to come ;-)
Also a few other things:
- Tiny fix in the fb helper to go through the official dpms interface instead of calling the crtc helper code.
- forcewake code frobbery from Ben, code should be more in-line with what Windows does now.
- fixes for the render ring flush on hsw (Paulo)
- gpu frequency tracepoint
- vlv forcewake changes to better align it with our understanding of the forcewake magic.
- a few smaller cleanups
Cheers, Daniel
The following changes since commit d7c3b937bdf45f0b844400b7bf6fd3ed50bac604:
drm/i915: Remove __GFP_NO_KSWAPD (2012-08-27 17:11:38 +0200)
are available in the git repository at:
git://people.freedesktop.org/~danvet/drm-intel tags/drm-intel-next-2012-09-09
for you to fetch changes up to e04190e0ecb236c51af181c18c545ea076fb9cca:
drm/fb helper: don't call drm_helper_connector_dpms directly (2012-09-08 00:51:15 +0200)
Ben Widawsky (5): drm/i915: Extract forcewake ack timeout drm/i915: use cpu_relax() in wait_for_atomic drm/i915: Change forcewake timeout to 2ms drm/i915: Never read FORCEWAKE drm/i915: Enable some sysfs stuff without CONFIG_PM
Chris Wilson (1): drm/i915: Convert remaining debugfs iterators over rings to for_each_ring()
Daniel Vetter (66): drm/ips: move drps/ips/ilk related variables into dev_priv->ips drm/i915: add a tracepoint for gpu frequency changes drm/i915: align vlv forcewake with common lore drm/i915: differ error message between forcwake timeouts drm/i915: add crtc->enable/disable vfuncs insted of dpms drm/i915: rip out crtc prepare/commit indirection drm/i915: add direct encoder disable/enable infrastructure drm/i915/hdmi: convert to encoder->disable/enable drm/i915/tv: convert to encoder enable/disable drm/i915/lvds: convert to encoder disable/enable drm/i915/dp: convert to encoder disable/enable drm/i915/crt: convert to encoder disable/enable drm/i915/sdvo: convert to encoder disable/enable drm/i915/dvo: convert to encoder disable/enable drm/i915: convert dpms functions of dvo/sdvo/crt drm/i915: rip out encoder->disable/enable checks drm/i915: clean up encoder_prepare/commit drm/i915: copy&paste drm_crtc_helper_set_config drm/i915: call set_base directly drm/i915: inline intel_best_encoder drm/i915: copy&paste drm_crtc_helper_set_mode drm/i915: simplify intel_crtc_prepare_encoders drm/i915: rip out encoder->prepare/commit drm/i915: call crtc functions directly drm/i915: WARN when trying to enabled an unused crtc drm/i915: Add interfaces to read out encoder/connector hw state drm/i915/dp: implement get_hw_state drm/i915/hdmi: implement get_hw_state drm/i915/tv: implement get_hw_state drm/i915/lvds: implement get_hw_state drm/i915/crt: implement get_hw_state drm/i915/sdvo: implement get_hw_state drm/i915/dvo: implement get_hw_state drm/i915: read out the modeset hw state at load and resume time
Hi Daniel,
This commit regresses modeset on the samsung series 5 chromebook (it is basically a pineview machine with an lvds panel). I don't seem to be able to set any mode on it any longer.
Any idea?
Stéphane
drm/i915: check connector hw/sw state drm/i915: rip out intel_crtc->dpms_mode drm/i915: rip out intel_dp->dpms_mode drm/i915: ensure the force pipe A quirk is actually followed drm/i915: introduce struct intel_set_config drm/i915: extract modeset config save/restore code drm/i915: extract intel_set_config_compute_mode_changes drm/i915: extract intel_set_config_update_output_state drm/i915: implement crtc helper semantics relied upon by the fb helper drm/i915: don't update the fb base if there is no fb drm/i915: convert pointless error checks in set_config to BUGs drm/i915: don't save all the encoder/crtc state in set_config drm/i915: stage modeset output changes drm/i915: push crtc->fb update into pipe_set_base drm/i915: remove crtc disabling special case drm/i915: move output commit and crtc disabling into set_mode drm/i915: extract adjusted mode computation drm/i915: use staged outuput config in tv->mode_fixup drm/i915: use staged outuput config in lvds->mode_fixup drm/i915: compute masks of crtcs affected in set_mode drm/i915: implement new set_mode code flow drm/i915: push commit_output_state past crtc disabling drm/i915: s/intel_encoder_disable/intel_encoder_noop drm/i915: WARN if the pipe won't turn off drm/i915: switch the load detect code to the staged modeset config drm/i915: push commit_output_state past the crtc/encoder preparing drm/i915: disable all crtcs at suspend time drm/i915: no longer call drm_helper_resume_force_mode drm/i915: add tons of modeset state checks drm/i915: improve modeset state checking after dpms calls Merge the modeset-rework, basic conversion into drm-intel-next drm/fb helper: don't call drm_helper_connector_dpms directly
Jani Nikula (2): drm/i915: only enable sdvo hotplug irq if needed drm/i915: fix sdvo hotplug support check and activation
Paulo Zanoni (3): drm/i915: add gen7_render_ring_flush drm/i915: add workarounds directly to gen6_render_ring_flush drm/i915: add workarounds to gen7_render_ring_flush
-- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
On Fri, Mar 15, 2013 at 3:11 AM, Stéphane Marchesin stephane.marchesin@gmail.com wrote:
drm/i915: read out the modeset hw state at load and resume time
This commit regresses modeset on the samsung series 5 chromebook (it is basically a pineview machine with an lvds panel). I don't seem to be able to set any mode on it any longer.
Does that mean the kernel refuses to set the mode, or that you get a black screen?
For starters I guess we need: - drm.debug=0xe dmesg from just before that commit - same for latest 3.9-rc kernels, presuming it's not broken there
Latest upstream has a minor chance to work better I think since we've improved the pfit handling in the setup and teardown sequence a bit.
Generally lvds has been hit&miss on way too many machines unfortunately with things randomly breaking and getting fixed again (e.g. one of Chris' machines works again with the new code ...). And the commit above doesn't really change much in the code itself but it does change the order (and timing) of the different enable/disable codepaths.
Thanks, Daniel
-lkml
On Sun, Mar 17, 2013 at 12:46 PM, Daniel Vetter daniel@ffwll.ch wrote:
On Fri, Mar 15, 2013 at 3:11 AM, Stéphane Marchesin stephane.marchesin@gmail.com wrote:
drm/i915: read out the modeset hw state at load and resume time
This commit regresses modeset on the samsung series 5 chromebook (it is basically a pineview machine with an lvds panel). I don't seem to be able to set any mode on it any longer.
Does that mean the kernel refuses to set the mode, or that you get a black screen?
I get a black screen.
For starters I guess we need:
- drm.debug=0xe dmesg from just before that commit
- same for latest 3.9-rc kernels, presuming it's not broken there
Latest upstream has a minor chance to work better I think since we've improved the pfit handling in the setup and teardown sequence a bit.
Generally lvds has been hit&miss on way too many machines unfortunately with things randomly breaking and getting fixed again (e.g. one of Chris' machines works again with the new code ...). And the commit above doesn't really change much in the code itself but it does change the order (and timing) of the different enable/disable codepaths.
So I did look at the thing a bit, and it triggers the workaround if (INTEL_INFO(dev)->gen < 4 && !intel_check_plane_mapping(crtc)) { which seems to be part of the problem (but not the whole problem as removing that gets me a corrupted display, looks like the second pipe stays enabled then).
Stéphane
On Mon, Mar 18, 2013 at 8:35 PM, Stéphane Marchesin stephane.marchesin@gmail.com wrote:
For starters I guess we need:
- drm.debug=0xe dmesg from just before that commit
- same for latest 3.9-rc kernels, presuming it's not broken there
Latest upstream has a minor chance to work better I think since we've improved the pfit handling in the setup and teardown sequence a bit.
Generally lvds has been hit&miss on way too many machines unfortunately with things randomly breaking and getting fixed again (e.g. one of Chris' machines works again with the new code ...). And the commit above doesn't really change much in the code itself but it does change the order (and timing) of the different enable/disable codepaths.
So I did look at the thing a bit, and it triggers the workaround if (INTEL_INFO(dev)->gen < 4 && !intel_check_plane_mapping(crtc)) { which seems to be part of the problem (but not the whole problem as removing that gets me a corrupted display, looks like the second pipe stays enabled then).
Well, that particular piece of lore took a few trials to get right. Can you please attach a drm.debug=0xe dmesg of the entire boot on latest kernels?
Thanks, Daniel
On Mon, Mar 18, 2013 at 9:59 PM, Daniel Vetter daniel@ffwll.ch wrote:
On Mon, Mar 18, 2013 at 8:35 PM, Stéphane Marchesin stephane.marchesin@gmail.com wrote:
For starters I guess we need:
- drm.debug=0xe dmesg from just before that commit
- same for latest 3.9-rc kernels, presuming it's not broken there
Latest upstream has a minor chance to work better I think since we've improved the pfit handling in the setup and teardown sequence a bit.
Generally lvds has been hit&miss on way too many machines unfortunately with things randomly breaking and getting fixed again (e.g. one of Chris' machines works again with the new code ...). And the commit above doesn't really change much in the code itself but it does change the order (and timing) of the different enable/disable codepaths.
So I did look at the thing a bit, and it triggers the workaround if (INTEL_INFO(dev)->gen < 4 && !intel_check_plane_mapping(crtc)) { which seems to be part of the problem (but not the whole problem as removing that gets me a corrupted display, looks like the second pipe stays enabled then).
Well, that particular piece of lore took a few trials to get right. Can you please attach a drm.debug=0xe dmesg of the entire boot on latest kernels?
Also, anything in particular standing out in intel_reg_dump output on working/broken kernels? -Daniel
dri-devel@lists.freedesktop.org