[PATCH resend 1/4] nouveau: Don't check acpi_video_backlight_support() before registering backlight
Rafael J. Wysocki
rjw at rjwysocki.net
Wed May 21 16:30:12 PDT 2014
On Wednesday, May 21, 2014 03:39:53 PM Hans de Goede wrote:
> acpi_video_backlight_support() is supposed to be called by other (vendor
> specific) firmware backlight controls, not by native / raw backlight controls
> like nv_backlight.
>
> Userspace will normally prefer firmware interfaces over raw interfaces, so
> if acpi_video backlight support is present it will use that even if
> nv_backlight is registered as well.
>
> Except when video.use_native_backlight is present on the kernel cmdline
> (or enabled through a dmi based quirk). As the name indicates the goal here
> is to make only the raw interface available to userspace so that it will use
> that (it only does this when it sees a win8 compliant bios).
>
> This is done by:
> 1) Not registering any acpi_video# backlight devices; and
> 2) Making acpi_video_backlight_support() return true so that other firmware
> drivers, ie acer_wmi, thinkpad_acpi, dell_laptop, etc. Don't register their
> own vender specific interfaces.
>
> Currently nouveau breaks this setup, as when acpi_video_backlight_support()
> returns true, it does not register itself, resulting in no backlight control
> at all.
>
> This is esp. going to be a problem with 3.16 which will default to
> video.use_native_backlight=1, and thus nouveau based laptops with a win8 bios
> will get no backlight control at all.
>
> This also likely explains why the previous attempt to make
> video.use_native_backlight=1 the default was not a success, as without this
> patch having a default of video.use_native_backlight=1 will cause regressions.
>
> Note this effectively reverts commit 5bead799
>
> Also see: https://bugzilla.redhat.com/show_bug.cgi?id=1093171
>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
It would be good to have an ACK from the nouveau people for this one.
> ---
> drivers/gpu/drm/nouveau/nouveau_backlight.c | 9 ---------
> 1 file changed, 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c
> index 630f6e8..2c1e4aa 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_backlight.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c
> @@ -31,7 +31,6 @@
> */
>
> #include <linux/backlight.h>
> -#include <linux/acpi.h>
>
> #include "nouveau_drm.h"
> #include "nouveau_reg.h"
> @@ -222,14 +221,6 @@ nouveau_backlight_init(struct drm_device *dev)
> struct nouveau_device *device = nv_device(drm->device);
> struct drm_connector *connector;
>
> -#ifdef CONFIG_ACPI
> - if (acpi_video_backlight_support()) {
> - NV_INFO(drm, "ACPI backlight interface available, "
> - "not registering our own\n");
> - return 0;
> - }
> -#endif
> -
> list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
> if (connector->connector_type != DRM_MODE_CONNECTOR_LVDS &&
> connector->connector_type != DRM_MODE_CONNECTOR_eDP)
>
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
More information about the dri-devel
mailing list