linux/drivers/acpi
Hans de Goede a5b2781dca ACPI: video: Add acpi_backlight=video quirk for Lenovo ThinkPad W530
The Lenovo ThinkPad W530 uses a nvidia k1000m GPU. When this gets used
together with one of the older nvidia binary driver series (the latest
series does not support it), then backlight control does not work.

This is caused by commit 3dbc80a3e4 ("ACPI: video: Make backlight
class device registration a separate step (v2)") combined with
commit 5aa9d943e9 ("ACPI: video: Don't enable fallback path for
creating ACPI backlight by default").

After these changes the acpi_video# backlight device is only registered
when requested by a GPU driver calling acpi_video_register_backlight()
which the nvidia binary driver does not do.

I realize that using the nvidia binary driver is not a supported use-case
and users can workaround this by adding acpi_backlight=video on the kernel
commandline, but the ThinkPad W530 is a popular model under Linux users,
so it seems worthwhile to add a quirk for this.

I will also email Nvidia asking them to make the driver call
acpi_video_register_backlight() when an internal LCD panel is detected.
So maybe the next maintenance release of the drivers will fix this...

Fixes: 5aa9d943e9 ("ACPI: video: Don't enable fallback path for creating ACPI backlight by default")
Cc: All applicable <stable@vger.kernel.org>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2023-04-05 20:23:02 +02:00
..
acpica arm64 updates for 6.3: 2023-02-21 15:27:48 -08:00
apei ACPI: APEI: EINJ: Limit error type to 32-bit width 2023-01-30 16:40:05 +01:00
arm64 ACPI: APMT: Fix kerneldoc and indentation 2022-11-15 13:09:44 +00:00
dptf ACPI: DPTF: Drop stale link from Kconfig help 2022-09-28 17:26:25 +02:00
nfit ACPI: NFIT: fix a potential deadlock during NFIT teardown 2023-01-25 12:55:33 -08:00
numa dax/hmem: Move hmem device registration to dax_hmem.ko 2023-02-10 17:33:34 -08:00
pmic ACPI: PMIC: Add comments with DSDT power opregion field names 2023-01-30 16:47:13 +01:00
x86 ACPI: x86: Add skip i2c clients quirk for Lenovo Yoga Book X90 2023-03-07 14:15:10 +01:00
ac.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
acpi_adxl.c
acpi_amba.c Merge branches 'acpi-ec', 'acpi-ac', 'acpi-fan', 'acpi-video' and 'acpi-amba' 2022-10-03 19:59:47 +02:00
acpi_apd.c ACPI: APD: Use the helper acpi_dev_get_memory_resources() 2022-09-10 18:22:24 +02:00
acpi_cmos_rtc.c ACPI: cmos_rtc: Using pr_fmt() and remove PREFIX 2021-06-07 15:36:45 +02:00
acpi_configfs.c ACPI: configfs: Make get_header() to return error pointer 2021-07-16 19:20:28 +02:00
acpi_dbg.c
acpi_extlog.c ACPI: extlog: Handle multiple records 2022-10-13 20:43:10 +02:00
acpi_ffh.c ACPI: Implement a generic FFH Opregion handler 2022-11-14 19:09:07 +01:00
acpi_fpdt.c ACPI: tables: FPDT: Don't call acpi_os_map_memory() on invalid phys address 2022-09-10 18:18:34 +02:00
acpi_ipmi.c ACPI: IPMI: replace usage of found with dedicated list iterator variable 2022-03-25 18:01:40 +01:00
acpi_lpat.c
acpi_lpit.c ACPI: Silence missing prototype warnings 2022-12-30 19:12:30 +01:00
acpi_lpss.c Merge branch 'acpi-uid' 2022-10-03 20:09:22 +02:00
acpi_memhotplug.c ACPI: memhotplug: use a single static memory group for a single memory device 2021-09-08 11:50:23 -07:00
acpi_pad.c Merge branches 'acpi-fan', 'acpi-pcc', 'acpi-misc' and 'pnp' 2022-12-12 15:24:15 +01:00
acpi_pcc.c ACPI: PCC: Setup PCC Opregion handler only if platform interrupt is available 2022-11-23 19:06:56 +01:00
acpi_platform.c Merge branches 'acpi-scan', 'acpi-bus' and 'acpi-platform' 2022-09-30 20:28:22 +02:00
acpi_pnp.c ACPI: PNP: Introduce list of known non-PNP devices 2023-01-17 12:52:11 +01:00
acpi_processor.c ACPI: processor: Replace deprecated CPU-hotplug functions 2021-08-04 20:25:54 +02:00
acpi_tad.c
acpi_video.c ACPI: video: Make acpi_backlight=video work independent from GPU driver 2023-04-05 20:23:02 +02:00
acpi_watchdog.c
battery.c ACPI: battery: Increase maximum string length 2023-01-30 16:43:25 +01:00
bgrt.c ACPI: BGRT: use static for BGRT_SHOW kobj_attribute defines 2022-04-22 16:55:33 +02:00
blacklist.c ACPI: blacklist: Unify the message printing 2021-06-07 15:36:45 +02:00
bus.c ACPI: bus: Rework system-level device notification handling 2023-03-27 19:56:03 +02:00
button.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
container.c ACPI: container: Use acpi_dev_for_each_child() 2022-06-20 20:33:05 +02:00
cppc_acpi.c ACPI updates for 6.3-rc1 2023-02-21 12:23:24 -08:00
custom_method.c ACPI: custom_method: fix a possible memory leak 2021-04-28 19:17:54 +02:00
debugfs.c
device_pm.c PCI/ACPI: Account for _S0W of the target bridge in acpi_pci_bridge_d3() 2023-01-13 15:56:10 -06:00
device_sysfs.c Driver core changes for 6.3-rc1 2023-02-24 12:58:55 -08:00
dock.c ACPI: Use acpi_fetch_acpi_dev() instead of acpi_bus_get_device() 2021-12-17 18:45:51 +01:00
ec_sys.c ACPI: EC: Mark the ec_sys write_support param as module_param_hw() 2021-12-01 20:19:30 +01:00
ec.c Merge branch 'acpi-ec' 2022-12-15 18:38:22 +01:00
event.c Merge branches 'acpi-ec', 'acpi-apei', 'acpi-soc' and 'acpi-misc' 2021-06-29 15:51:25 +02:00
evged.c
fan_attr.c ACPI: fan: Convert to use sysfs_emit_at() API 2022-12-06 12:44:14 +01:00
fan_core.c ACPI: fan: Bail out if extract package failed 2022-11-23 19:31:57 +01:00
fan.h ACPI: DPTF: Support Meteor Lake 2022-05-25 15:37:07 +02:00
glue.c ACPI: Fix selecting wrong ACPI fwnode for the iGPU on some Dell laptops 2023-01-10 20:23:48 +01:00
hed.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
internal.h driver core: make struct device_type.uevent() take a const * 2023-01-27 13:45:36 +01:00
ioapic.c ACPI: Silence missing prototype warnings 2022-12-30 19:12:30 +01:00
irq.c ACPI: irq: Fix some kernel-doc issues 2022-11-10 20:21:35 +01:00
Kconfig ACPI updates for 6.2-rc1 2022-12-12 13:38:17 -08:00
Makefile ACPI: Implement a generic FFH Opregion handler 2022-11-14 19:09:07 +01:00
nvs.c Merge branches 'acpi-ec', 'acpi-apei', 'acpi-soc' and 'acpi-misc' 2021-06-29 15:51:25 +02:00
osi.c ACPI: OSI: Remove Linux-HPI-Hybrid-Graphics _OSI string 2022-08-25 20:18:17 +02:00
osl.c ACPI: OSL: Remove the helper for deactivating memory region 2022-04-27 20:44:55 +02:00
pci_irq.c ACPI / PCI: fix LPIC IRQ model default PCI IRQ polarity 2022-11-26 12:57:18 +00:00
pci_link.c ACPI/PCI: Remove useless NULL pointer checks 2022-07-27 21:21:27 +02:00
pci_mcfg.c PCI: loongson: Add ACPI init support 2022-07-14 15:25:36 -05:00
pci_root.c PCI/CXL: Export native CXL error reporting control 2023-01-05 13:31:27 -08:00
pci_slot.c
pfr_telemetry.c mm: replace vma->vm_flags direct modifications with modifier calls 2023-02-09 16:51:39 -08:00
pfr_update.c iov_iter work; most of that is about getting rid of 2022-12-12 18:29:54 -08:00
platform_profile.c ACPI: platform-profile: call sysfs_notify() from platform_profile_store() 2021-08-16 18:32:02 +02:00
power.c ACPI: PM: Print full name path while adding power resource 2022-11-10 20:43:30 +01:00
pptt.c ACPI: PPTT: Fix to avoid sleep in the atomic context when PPTT is absent 2023-03-14 20:34:38 +01:00
prmt.c ACPI: PRM: Check whether EFI runtime is available 2023-01-18 19:58:15 +01:00
proc.c proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
processor_core.c
processor_driver.c ACPI: processor: Reorder acpi_processor_driver_init() 2023-03-22 15:20:38 +01:00
processor_idle.c ACPI updates for 6.3-rc1 2023-02-21 12:23:24 -08:00
processor_pdc.c ACPI: processor: Get rid of ACPICA message printing 2021-03-08 16:51:19 +01:00
processor_perflib.c ACPI: processor: perflib: Avoid updating frequency QoS unnecessarily 2022-12-30 19:10:02 +01:00
processor_thermal.c ACPI: processor: thermal: Update CPU cooling devices on cpufreq policy changes 2023-03-22 15:20:38 +01:00
processor_throttling.c ACPI: processor: throttling: remove variable count 2022-10-28 19:02:45 +02:00
property.c Merge branch 'acpi-dev' 2022-09-30 20:05:16 +02:00
reboot.c ACPI: reboot: Unify the message printing 2021-06-07 15:36:46 +02:00
resource.c ACPI: resource: Add Medion S17413 to IRQ override quirk 2023-03-24 17:07:56 +01:00
sbs.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
sbshc.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
sbshc.h
scan.c ACPI: Fix selecting wrong ACPI fwnode for the iGPU on some Dell laptops 2023-01-10 20:23:48 +01:00
sleep.c acpi: Fix suspend with Xen PV 2023-01-19 13:52:05 -08:00
sleep.h ACPI: s2idle: Add a new ->check() callback for platform_s2idle_ops 2022-09-09 17:37:40 +02:00
spcr.c ACPI: SPCR: Add support for NVIDIA 16550-compatible port subtype 2022-04-13 20:37:29 +02:00
sysfs.c ACPI: make kobj_type structures constant 2023-02-14 15:52:37 +01:00
tables.c ACPI: tables: Add support for NBFT 2022-12-30 18:39:09 +01:00
thermal.c Merge branches 'acpi-scan', 'acpi-bus', 'acpi-tables' and 'acpi-sysfs' 2022-12-12 14:55:44 +01:00
tiny-power-button.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
utils.c Merge branch 'acpi-uid' 2022-10-03 20:09:22 +02:00
video_detect.c ACPI: video: Add acpi_backlight=video quirk for Lenovo ThinkPad W530 2023-04-05 20:23:02 +02:00
viot.c iommu/dma: Make header private 2022-09-09 09:26:22 +02:00
wakeup.c