search for: do_acpi_ddc

Displaying 4 results from an estimated 4 matches for "do_acpi_ddc".

2020 Aug 08
2
[PATCH 1/4] drm: retrieve EDID via ACPI _DDC method
...) { No, that's not safe because the ACPI namespace may change concurrently, e.g. because a DSDT patch is applied by the user via sysfs. Use acpi_walk_namespace() with a depth of 1 instead. > + for (i = 0; i < num_dod_entries; i++) { > + if (adr == dod_entries[i]) { > + ret = do_acpi_ddc(child->handle); > + > + if (ret != NULL) > + goto done; I guess ideally we'd want to correlate the display objects with drm_connectors or at least constrain the search to Display Type "Internal/Integrated Digital Flat Panel" instead of picking the first EDID found....
2020 Jul 27
0
[PATCH 1/4] drm: retrieve EDID via ACPI _DDC method
...(ret == NULL) + goto done; + + for (i = 0; i < dod->package.count; i++) { + if (dod->package.elements[i].type != ACPI_TYPE_INTEGER) + continue; + ret[*count] = dod->package.elements[i].integer.value; + (*count)++; + } + +done: + kfree(buf.pointer); + return ret; +} + +static void *do_acpi_ddc(acpi_handle handle) +{ + int i; + void *ret = NULL; + + /* + * The _DDC spec defines an integer argument for specifying the size of + * the EDID to be retrieved. A value of 1 requests a 128-byte EDID, and + * a value of 2 requests a 256-byte EDID. Attempt the larger read first. + */ + for (i =...
2020 Jul 27
6
[PATCH 0/4] drm: add support for retrieving EDID via ACPI _DDC
Some notebook systems provide the EDID for the internal panel via the _DDC method in ACPI, instead of or in addition to providing the EDID via DDC on LVDS/eDP. Add a DRM helper to search for an ACP _DDC method under the ACPI namespace for each VGA/3D controller, and return the first EDID successfully retrieved via _DDC. Update the i915, nouveau, and radeon DRM-KMS drivers to fall back to
2020 Aug 12
0
[PATCH 1/4] drm: retrieve EDID via ACPI _DDC method
...ding out a series v2. On 8/8/20 5:11 PM, Lukas Wunner wrote: > On Mon, Jul 27, 2020 at 03:53:54PM -0500, Daniel Dadap wrote: >> + for (i = 0; i < num_dod_entries; i++) { >> + if (adr == dod_entries[i]) { >> + ret = do_acpi_ddc(child->handle); >> + >> + if (ret != NULL) >> + goto done; > I guess ideally we'd want to correlate the display objects with > drm_connectors or at least constrain the search to Display Type > "In...