mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-10 21:35:08 +00:00
drm/i915: Unlock panel even when LVDS is disabled
Otherwise we'll have backtraces in assert_panel_unlocked because the BIOS locks the register. In the reporter's case this regression was introduced in commit c31407a3672aaebb4acddf90944a114fa5c8af7b Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Oct 18 21:07:01 2012 +0100 drm/i915: Add no-lvds quirk for Supermicro X7SPA-H Reported-by: Alexey Orishko <alexey.orishko@gmail.com> Cc: Alexey Orishko <alexey.orishko@gmail.com> Cc: stable@vger.kernel.org Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Francois Tigeot <ftigeot@wolfpond.org> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Tested-by: Alexey Orishko <alexey.orishko@gmail.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
b68362278a
commit
b0616c5306
@ -899,6 +899,17 @@ void intel_lvds_init(struct drm_device *dev)
|
|||||||
int pipe;
|
int pipe;
|
||||||
u8 pin;
|
u8 pin;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Unlock registers and just leave them unlocked. Do this before
|
||||||
|
* checking quirk lists to avoid bogus WARNINGs.
|
||||||
|
*/
|
||||||
|
if (HAS_PCH_SPLIT(dev)) {
|
||||||
|
I915_WRITE(PCH_PP_CONTROL,
|
||||||
|
I915_READ(PCH_PP_CONTROL) | PANEL_UNLOCK_REGS);
|
||||||
|
} else {
|
||||||
|
I915_WRITE(PP_CONTROL,
|
||||||
|
I915_READ(PP_CONTROL) | PANEL_UNLOCK_REGS);
|
||||||
|
}
|
||||||
if (!intel_lvds_supported(dev))
|
if (!intel_lvds_supported(dev))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -1097,17 +1108,6 @@ out:
|
|||||||
lvds_encoder->a3_power = I915_READ(lvds_encoder->reg) &
|
lvds_encoder->a3_power = I915_READ(lvds_encoder->reg) &
|
||||||
LVDS_A3_POWER_MASK;
|
LVDS_A3_POWER_MASK;
|
||||||
|
|
||||||
/*
|
|
||||||
* Unlock registers and just
|
|
||||||
* leave them unlocked
|
|
||||||
*/
|
|
||||||
if (HAS_PCH_SPLIT(dev)) {
|
|
||||||
I915_WRITE(PCH_PP_CONTROL,
|
|
||||||
I915_READ(PCH_PP_CONTROL) | PANEL_UNLOCK_REGS);
|
|
||||||
} else {
|
|
||||||
I915_WRITE(PP_CONTROL,
|
|
||||||
I915_READ(PP_CONTROL) | PANEL_UNLOCK_REGS);
|
|
||||||
}
|
|
||||||
lvds_connector->lid_notifier.notifier_call = intel_lid_notify;
|
lvds_connector->lid_notifier.notifier_call = intel_lid_notify;
|
||||||
if (acpi_lid_notifier_register(&lvds_connector->lid_notifier)) {
|
if (acpi_lid_notifier_register(&lvds_connector->lid_notifier)) {
|
||||||
DRM_DEBUG_KMS("lid notifier registration failed\n");
|
DRM_DEBUG_KMS("lid notifier registration failed\n");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user