public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH 00/12] drm/i915: pipe_config, adjusted_mode vs. requested_mode, etc.
@ 2013-09-02 18:13 ville.syrjala
  2013-09-02 18:13 ` [PATCH 01/12] drm/i915: Grab the pixel clock from adjusted_mode not requested_mode ville.syrjala
                   ` (11 more replies)
  0 siblings, 12 replies; 31+ messages in thread
From: ville.syrjala @ 2013-09-02 18:13 UTC (permalink / raw)
  To: intel-gfx

Currently parts of our code are really confused about which mode
structure they should be looking at.

A lot of the code never got converted to look at the pipe config modes,
and for example the watermark code still managed to look at the wrong mode
(crtc->mode, not even crtc->hwmode which would have been a bit better).

So let's convert everything over to pipe config, and let's pretend the
modes in drm_crtc don't even exist.

Also in the pipe config conversion some bits of code were made to look at
the requested_mode. If we have a fixed mode panel, requested_mode may contain
all kinds of garbage and the only two things in it we should be looking at
are hdisplay and vdisplay. Everything else should be interested in the
adjusted_mode only.

(S)DVO is a minor exception here as is wants to program the output timings
with the requested_mode. I've left that stuff alone for now since it's
essentially correct as is.

In the end I decided that digging out hdisplay/vdisplay from requested_mode
is just confusing. Instead I added explicit pipe source width/height members
to pipe config. I was also considering adding primary plane size to make it
clear which one we actually want in different places. But I opted not to do
that. It should get sorted out when we move to drm_planes. After this there
is no real need to poke around requested_mode anymore, so we could even consider
removing it, or rather rename it to indicate that it's only relevant for
(S)DVO.

I also found some bugs in LVDS adjusted_mode vs. fixed_mode handling. It was
causing the pipe config sanity checks to fail on my 855. So I ended up
fixing that stuff as well.

One extra idea that occured to me, is that we never actually update
adjusted_mode->clock with the real clock value after we've found the PLL settings.
I think that's something we should be doing since the PLL might not be
able to give an exact match, and we use the clock to compute watermarks and
check various hardware limits. But that's a patch for another day.

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2013-09-03 13:45 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-02 18:13 [PATCH 00/12] drm/i915: pipe_config, adjusted_mode vs. requested_mode, etc ville.syrjala
2013-09-02 18:13 ` [PATCH 01/12] drm/i915: Grab the pixel clock from adjusted_mode not requested_mode ville.syrjala
2013-09-02 18:38   ` Daniel Vetter
2013-09-03 10:01     ` Ville Syrjälä
2013-09-03 11:23       ` Daniel Vetter
2013-09-03 12:08         ` Ville Syrjälä
2013-09-03 13:45           ` Daniel Vetter
2013-09-03 10:31     ` [PATCH] drm/i915: Kill IRONLAKE_FDI_FREQ check ville.syrjala
2013-09-03 11:24       ` Daniel Vetter
2013-09-02 18:13 ` [PATCH 02/12] drm/i915: Use adjusted_mode->clock in lpt_program_iclkip ville.syrjala
2013-09-02 18:13 ` [PATCH 03/12] drm/i915: Use adjusted_mode in HDMI 12bpc clock check ville.syrjala
2013-09-02 18:39   ` Daniel Vetter
2013-09-02 19:05     ` Ville Syrjälä
2013-09-03  7:50       ` Daniel Vetter
2013-09-03  9:33         ` [PATCH] drm/i915: Document the use of requested_mode, adjusted_mode, and pipe_src_{w, h} ville.syrjala
2013-09-02 18:13 ` [PATCH 04/12] drm/i915: Use adjusted_mode in intel_update_fbc() ville.syrjala
2013-09-02 18:13 ` [PATCH 05/12] drm/i915: Use adjusted_mode appropriately when computing watermarks ville.syrjala
2013-09-02 18:13 ` [PATCH 06/12] drm/i915: Check the clock from adjusted mode in intel_crtc_active() ville.syrjala
2013-09-02 18:13 ` [PATCH 07/12] drm/i915: Use adjusted_mode when checking conditions for PSR ville.syrjala
2013-09-02 18:13 ` [PATCH 08/12] drm/i915: Make intel_crtc_active() available outside intel_pm.c ville.syrjala
2013-09-02 18:42   ` Daniel Vetter
2013-09-02 19:46     ` [PATCH v2] " ville.syrjala
2013-09-02 18:13 ` [PATCH 09/12] drm/i915: Use pipe config in sprite code ville.syrjala
2013-09-02 18:13 ` [PATCH 10/12] drm/i915: Use adjusted_mode in DSI PLL calculations ville.syrjala
2013-09-02 18:13 ` [PATCH 11/12] drm/i915: Add explicit pipe src size to pipe config ville.syrjala
2013-09-02 18:46   ` Daniel Vetter
2013-09-02 19:11     ` Ville Syrjälä
2013-09-03  7:52       ` Daniel Vetter
2013-09-03  9:32         ` Ville Syrjälä
2013-09-02 18:13 ` [PATCH 12/12] drm/i915: Fix pipe config warnings when dealing with LVDS fixed mode ville.syrjala
2013-09-02 18:44   ` Daniel Vetter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox