On Sat, Mar 14, 2015 at 10:55:39PM -0700, Chandra Konduru wrote: > During readout_hw_state, whole pipe_config is built reading hw. > But rebuilding scaler state from hw requires, > - reading all planes and find its corresponding index in order to set > its bits in scaler_users > - reading cdclk and adjusted mode crtc clk in order to regenerate > min scaling ratios. > - some values directly from bspec > > To simplify things, for now using sw scaler state as readout state. > > Signed-off-by: Chandra Konduru <chandra.konduru@xxxxxxxxx> At least the crtc scaler might get used by the bios for boot-up with non-native resolution. I do think we need to properly track those parts (and also double-check the hw state in pipe config compare function like we do for the old pfit state). Maybe we need to always compute limits directly instead of storing the in the state structures? -Daniel > --- > drivers/gpu/drm/i915/intel_display.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 9c3c6b1..b1d7036 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -14292,7 +14292,10 @@ static void intel_modeset_readout_hw_state(struct drm_device *dev) > int i; > > for_each_intel_crtc(dev, crtc) { > + struct intel_crtc_scaler_state scaler_state; > + scaler_state = crtc->config->scaler_state; > memset(crtc->config, 0, sizeof(*crtc->config)); > + crtc->config->scaler_state = scaler_state; > > crtc->config->quirks |= PIPE_CONFIG_QUIRK_INHERITED_MODE; > > -- > 1.7.9.5 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx