[Intel-gfx] [PATCH 5/8] drm/i915: Don't access to crtc->new_config from intel_mode_max_pixclk()
Ander Conselvan de Oliveira
conselvan2 at gmail.com
Thu Dec 18 07:06:28 PST 2014
On 16-12-2014 11:34, Daniel Vetter wrote:
> On Mon, Dec 15, 2014 at 09:24:23PM +0200, Ville Syrjälä wrote:
>> On Thu, Dec 11, 2014 at 02:38:08PM +0200, Ander Conselvan de Oliveira wrote:
>>> So that we can get rid of the new_config pointer later.
>>>
>>> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.com>
>>> ---
>>> drivers/gpu/drm/i915/intel_display.c | 30 ++++++++++++++++++++++--------
>>> 1 file changed, 22 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
>>> index da5af23..a9f3034 100644
>>> --- a/drivers/gpu/drm/i915/intel_display.c
>>> +++ b/drivers/gpu/drm/i915/intel_display.c
>>> @@ -4897,27 +4897,39 @@ static int valleyview_calc_cdclk(struct drm_i915_private *dev_priv,
>>> }
>>>
>>> /* compute the max pixel clock for new configuration */
>>> -static int intel_mode_max_pixclk(struct drm_i915_private *dev_priv)
>>> +static int intel_mode_max_pixclk(struct drm_i915_private *dev_priv,
>>> + struct intel_crtc *mode_set_crtc,
>>> + struct intel_crtc_state *crtc_new_state)
>>> {
>>> struct drm_device *dev = dev_priv->dev;
>>> struct intel_crtc *intel_crtc;
>>> int max_pixclk = 0;
>>> + int pixclk;
>>>
>>> for_each_intel_crtc(dev, intel_crtc) {
>>> - if (intel_crtc->new_enabled)
>>> - max_pixclk = max(max_pixclk,
>>> - intel_crtc->new_config->base.adjusted_mode.crtc_clock);
>>> + if (!intel_crtc->new_enabled)
>>> + continue;
>>> +
>>> + if (intel_crtc == mode_set_crtc)
>>> + pixclk = crtc_new_state->base.adjusted_mode.crtc_clock;
>>> + else
>>> + pixclk = intel_crtc->config->base.adjusted_mode.crtc_clock;
>>> +
>>> + max_pixclk = max(max_pixclk, pixclk);
>>
>> I think we're now going backwards. We want atomic modesets, so we
>> need to be able to compute this stuff when modesetting multiple pipes.
>> That was precisely why I added new_config.
>
> We've already started going backwards in this area with the latest round
> of fastboot patches from Jesse. I've discussed this a bit with him and the
> plan is that we'll do it that way and Ander gets shafted^W signed up to
> sort out the mess.
>
> But yeah if there's a shortcut to avoid some of that detour it would be
> good.
I should improve the commit message. I agree this patch is a step
backwards, but the idea is to move stuff out of the way so we can move
forwards again. The ultimate goal is to pass a drm_atomic_state struct,
and derive the pipe_config from that.
Ander
More information about the Intel-gfx
mailing list