intel driver: internal panels need HWtarget for link and fitter

This commit is contained in:
Rudolf Cornelissen 2021-06-14 23:02:04 +00:00
parent 16ea5aac34
commit 7b6ac3b38f

View File

@ -500,14 +500,6 @@ LVDSPort::SetDisplayMode(display_mode* target, uint32 colorMode)
}
}
// Setup PanelFitter and Train FDI if it exists
PanelFitter* fitter = fPipe->PFT();
if (fitter != NULL)
fitter->Enable(*target);
FDILink* link = fPipe->FDI();
if (link != NULL)
link->Train(target);
// For LVDS panels, we may need to set the timings according to the panel
// native video mode, and let the panel fitter do the scaling. But the
// place where the scaling happens varies accross generations of devices.
@ -546,6 +538,14 @@ LVDSPort::SetDisplayMode(display_mode* target, uint32 colorMode)
hardwareTarget = *target;
}
// Setup PanelFitter and Train FDI if it exists
PanelFitter* fitter = fPipe->PFT();
if (fitter != NULL)
fitter->Enable(hardwareTarget);
FDILink* link = fPipe->FDI();
if (link != NULL)
link->Train(&hardwareTarget);
pll_divisors divisors;
compute_pll_divisors(&hardwareTarget, &divisors, true);