Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 67026e03 authored by Thomas Meyer's avatar Thomas Meyer Committed by Eric Anholt
Browse files

drm/i915: slow acpi_lid_open() causes flickering - V2



acpi_lid_open() could take up to 10ms on my computer.  Some component is
calling the drm GETCONNECTOR ioctl many times in a row.  This results in
flickering (for example, when starting a video).  Fix it by assuming an
always connected lid status.

Signed-off-by: default avatarThomas Meyer <thomas@m3y3r.de>
Signed-off-by: default avatarEric Anholt <eric@anholt.net>
parent 33c5fd12
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -622,6 +622,13 @@ static const struct dmi_system_id bad_lid_status[] = {
			DMI_MATCH(DMI_PRODUCT_NAME, "Aspire one"),
		},
	},
	{
		.ident = "Aspire 1810T",
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
			DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 1810T"),
		},
	},
	{
		.ident = "PC-81005",
		.matches = {
@@ -643,7 +650,7 @@ static enum drm_connector_status intel_lvds_detect(struct drm_connector *connect
{
	enum drm_connector_status status = connector_status_connected;

	if (!acpi_lid_open() && !dmi_check_system(bad_lid_status))
	if (!dmi_check_system(bad_lid_status) && !acpi_lid_open())
		status = connector_status_disconnected;

	return status;