intel_extreme: use the panel fitter for generation 4 devices
LVDS panels must really be driven at their native resolution, otherwise they will simply not work. This means we should basically never touch the video timings on that side. We need to only set the source size in the pipe configuration, and let the panel fitter figure out the scaling. On my G45 laptop, this allows me to use non-native resolutions on the laptop display. This also means when booting with a VGA display connected, I do get a valid display on the internal panel (using the VGA resolution). VGA still gets "out of range", so we're still not setting up something there. If I switch to VGA display in the BIOS, I get a working picture there and garbage on the internal display, which is progress (before I would get a black screen on the internal display) Fixes #12723.
This commit is contained in:
@@ -993,7 +993,11 @@ struct intel_free_graphics_memory {
|
||||
#define PCH_PANEL_FITTER_H_SCALE 0x90
|
||||
|
||||
#define PANEL_FITTER_ENABLED (1 << 31)
|
||||
#define PANEL_FITTER_FILTER_MASK (3 << 23)
|
||||
#define PANEL_FITTER_PIPE_MASK (3 << 29)
|
||||
#define PANEL_FITTER_PIPE_A (0 << 29)
|
||||
#define PANEL_FITTER_PIPE_B (1 << 29)
|
||||
#define PANEL_FITTER_SCALING_MODE_MASK (7 << 26)
|
||||
#define PANEL_FITTER_FILTER_MASK (3 << 24)
|
||||
|
||||
struct overlay_scale {
|
||||
uint32 _reserved0 : 3;
|
||||
|
||||
Reference in New Issue
Block a user