Skip to contentSkip to conversation

: the patch set to weaken the dependency between ACPI video driver and i915 driver

PATCH Applied yakui_zhao 5 participants 11 messages Apr 14, 2009 – Apr 30, 2009

Subsystems (3)
lore
Share & tools
lore

yakui_zhao

author
#0 lore raw

cover : the patch set to weaken the dependency between ACPI video driver and i915 driver

Hi, All
the following is the patch set that can weaken the dependency between ACPI video and i915
driver.
Patch 1/2: Check whether the acpi video is deferrable only when KMS is enabled When the KMS is enabled in kernel configuration, OS will check whether the acpi video
driver is deferrable. Otherwise it will continue the current flowchart.

Patch 2/2: weaken the tight dependency between the ACPI video driver and i915 driver Now there exists the tight dependency between the ACPI video driver and i915 driver.
If the I915 driver is compiled as built-in module and the acpi video is compiled as module, it will fail in the kernel compilation.
At the same time the acpi video driver must be loaded in order to load
the I915 driver. It is very hack.

This patch is to weaken the dependency between the ACPI video driver and
i915 driver. But it still can do what we expected.
a. the i915/acpi_video_register is defined in the video_detect.When the video is selected,
it will be complied as built-in functions. If the video is not selected, it is defined as inline function.
b. i915_video_register is called by i915 driver. And i915 video flag is set. c. acpi_video_register/unregister is called by acpi video driver. The acpi video bus driver
is hooked and the ACPI video flag is set.
d. When the both flag bits are set, the acpi video bus driver will be registered.

Welcome the comments.

Best regards
Yakui

#1 lore raw
Quoted 6 lines · yakui_zhao

Patch 2/2: weaken the tight dependency between the ACPI video driver and i915 driver Now there exists the tight dependency between the ACPI video driver and i915 driver.
If the I915 driver is compiled as built-in module and the acpi video is compiled as module, it will fail in the kernel compilation.
At the same time the acpi video driver must be loaded in order to load
the I915 driver. It is very hack.

No, it's *correct*. In a modesetting world, i915 requires ACPI.

Signature · 1 line
Matthew Garrett | [email protected]
author
#2 lore raw
Quoted 10 lines · Matthew Garrett
Quoted 6 lines · yakui_zhao

Patch 2/2: weaken the tight dependency between the ACPI video driver and i915 driver Now there exists the tight dependency between the ACPI video driver and i915 driver.
If the I915 driver is compiled as built-in module and the acpi video is compiled as module, it will fail in the kernel compilation.
At the same time the acpi video driver must be loaded in order to load
the I915 driver. It is very hack.

No, it's *correct*. In a modesetting world, i915 requires ACPI.

Why is the ACPI required by i915 when KMS is used?
It seems that we still can use the KMS with ACPI disabled.
In such case it is unnecessary to load the acpi video driver.

In fact what I have done is to weaken the tight dependency. When the i915 driver is compiled as built-in and the acpi video is compiled as module, the kernel compilation will be OK.
Before the acpi video driver is loaded, the system is still OK
except that there is no backlight control.

Is this reasonable?

Thanks.

Quoted 1 line
#3 lore raw
Quoted 4 lines · yakui_zhao
Quoted 1 line

No, it's *correct*. In a modesetting world, i915 requires ACPI.

Why is the ACPI required by i915 when KMS is used?
It seems that we still can use the KMS with ACPI disabled.
In such case it is unnecessary to load the acpi video driver.

You can, but things will break.

Quoted 5 lines

In fact what I have done is to weaken the tight dependency. When the i915 driver is compiled as built-in and the acpi video is compiled as module, the kernel compilation will be OK.
Before the acpi video driver is loaded, the system is still OK
except that there is no backlight control.

I know that that's what you've done. I just don't think it's useful. Weakening the dependency means that you're driving the hardware outside of its design parameters, and I really don't see any reason to do that.

Signature · 1 line
Matthew Garrett | [email protected]
#4 lore raw

Will you please explain more clearly why ACPI video driver is required when KMS is used?

-----Original Message-----
From: Matthew Garrett [mailto:[email protected]]
Sent: 2009年4月15日 12:54
To: Zhao, Yakui
Cc: [email protected]; [email protected]
Subject: Re: [PATCH 0/2]: the patch set to weaken the dependency between ACPI video driver and i915 driver

Quoted 4 lines · yakui_zhao
Quoted 1 line

No, it's *correct*. In a modesetting world, i915 requires ACPI.

Why is the ACPI required by i915 when KMS is used?
It seems that we still can use the KMS with ACPI disabled.
In such case it is unnecessary to load the acpi video driver.

You can, but things will break.

Quoted 5 lines

In fact what I have done is to weaken the tight dependency. When the i915 driver is compiled as built-in and the acpi video is compiled as module, the kernel compilation will be OK.
Before the acpi video driver is loaded, the system is still OK
except that there is no backlight control.

I know that that's what you've done. I just don't think it's useful. Weakening the dependency means that you're driving the hardware outside of its design parameters, and I really don't see any reason to do that.

Signature · 1 line
Matthew Garrett | [email protected]
#5 lore raw
Quoted 1 line · Yakui

Will you please explain more clearly why ACPI video driver is required when KMS is used?

Sorry, I should have been clearer. ACPI is required if the hardware supports opregion. Now that I've thought about it more, I think the patch I've just sent should remove the need to change the #ifdefs in the video driver.

Signature · 1 line
Matthew Garrett | [email protected]
author
#6 lore raw
Quoted 5 lines · Matthew Garrett

Sorry, I should have been clearer. ACPI is required if the hardware supports opregion. Now that I've thought about it more, I think the patch I've just sent should remove the need to change the #ifdefs in the
video driver

Agree. If another patch from you is applied, it is unnecessary to
change the #ifdef in the acpi video driver.
Please go ahead. Thanks.

Another issue is about the ACPI opregion. For the boxes that supports ACPI opregion the brightness still can't be controlled even when the acpi video driver is loaded correctly. Only after the i915 driver is loaded, the ACPI backlight I/F can work well. In such case whether the ACPI video driver can work well depends on the i915 driver.
But whether the i915 driver can work well doesn't depend on the acpi
video driver. Right?

At the same time a lot of people complain fail in the kernel compilation if the i915 is compiled as builtin module and acpi video is compiled as module.

So we had better make some changes so that there is no failure about kernel compilation.

thanks.

#7 lore raw
In reply to Matthew Garrett
Quoted 10 lines · Matthew Garrett
Quoted 6 lines · yakui_zhao

Patch 2/2: weaken the tight dependency between the ACPI video driver and i915 driver Now there exists the tight dependency between the ACPI video driver and i915 driver.
If the I915 driver is compiled as built-in module and the acpi video is compiled as module, it will fail in the kernel compilation.
At the same time the acpi video driver must be loaded in order to load
the I915 driver. It is very hack.

No, it's *correct*. In a modesetting world, i915 requires ACPI.

then I think the i915 driver should select ACPI video driver.

thanks,
rui

#8 lore raw
In reply to yakui_zhao

How about we just replace these with the following?

drivers/gpu/drm/Kconfig +1 -0
index 3a22eb9..cf7e7c2 100644
@@ -71,6 +71,7 @@ config DRM_I915
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
 	select FB
+	select ACPI_VIDEO if ACPI
 	tristate "i915 driver"
 	help
 	  Choose this option if you have a system that has Intel 830M, 845G,
Signature · 1 line
Matthew Garrett | [email protected]
reviewer Applied
#9 lore raw

applied

thanks,
Len Brown, Intel Open Source Technology Center

Quoted 22 lines · Matthew Garrett

How about we just replace these with the following?

drivers/gpu/drm/Kconfig +1 -0
index 3a22eb9..cf7e7c2 100644
@@ -71,6 +71,7 @@ config DRM_I915
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
 	select FB
+	select ACPI_VIDEO if ACPI
 	tristate "i915 driver"
 	help
 	  Choose this option if you have a system that has Intel 830M, 845G,
Signature · 6 lines
-- 
Matthew Garrett | [email protected]
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#10 lore raw

(cc dri-devel)

Quoted 9 lines · On Thu, 23 Apr 2009 15:56:24 -0400 (EDT) Len Brown <[email protected]> wrote:

applied

thanks,
Len Brown, Intel Open Source Technology Center

Quoted 2 lines · Matthew Garrett

How about we just replace these with the following?

Quoted 12 lines

drivers/gpu/drm/Kconfig config DRM_I915 · line 77

Quoted 12 lines
drivers/gpu/drm/Kconfig +1 -0
index 3a22eb9..cf7e7c2 100644
@@ -71,6 +71,7 @@ config DRM_I915
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
 	select FB
+	select ACPI_VIDEO if ACPI
 	tristate "i915 driver"
 	help
 	  Choose this option if you have a system that has Intel 830M, 845G,

You applied this a week ago, but it isn't in mainline or linux-next. We La described it as fixing a regression and David John said

: Can you forward this patch to Linus? This regression breaks quite a : few configs where ACPI Video is compiled as a module and i915 is built : in. This should have been in stable, but I guess it's too late now.

So... wazzup?