DRM/i915: Add QUIRK_INVERT_BRIGHTNESS for NCR machines.
NCR machines with LVDS panels using Intel chipsets need to have the QUIRK_INVERT_BRIGHTNESS bit set. Unfortunately NCR doesn't set a meaningful subvendor/subdevice ID, therefore we add a DMI dependent quirk list. Signed-off-by: Egbert Eich <eich@suse.de> [danvet: fixup whitespace fail.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
6478d414fe
commit
5f85f176c2
|
@ -7892,6 +7892,34 @@ struct intel_quirk {
|
|||
void (*hook)(struct drm_device *dev);
|
||||
};
|
||||
|
||||
/* For systems that don't have a meaningful PCI subdevice/subvendor ID */
|
||||
struct intel_dmi_quirk {
|
||||
void (*hook)(struct drm_device *dev);
|
||||
const struct dmi_system_id (*dmi_id_list)[];
|
||||
};
|
||||
|
||||
static int intel_dmi_reverse_brightness(const struct dmi_system_id *id)
|
||||
{
|
||||
DRM_INFO("Backlight polarity reversed on %s\n", id->ident);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static const struct intel_dmi_quirk intel_dmi_quirks[] = {
|
||||
{
|
||||
.dmi_id_list = &(const struct dmi_system_id[]) {
|
||||
{
|
||||
.callback = intel_dmi_reverse_brightness,
|
||||
.ident = "NCR Corporation",
|
||||
.matches = {DMI_MATCH(DMI_SYS_VENDOR, "NCR Corporation"),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, ""),
|
||||
},
|
||||
},
|
||||
{ } /* terminating entry */
|
||||
},
|
||||
.hook = quirk_invert_brightness,
|
||||
},
|
||||
};
|
||||
|
||||
static struct intel_quirk intel_quirks[] = {
|
||||
/* HP Mini needs pipe A force quirk (LP: #322104) */
|
||||
{ 0x27ae, 0x103c, 0x361a, quirk_pipea_force },
|
||||
|
@ -7931,6 +7959,10 @@ static void intel_init_quirks(struct drm_device *dev)
|
|||
q->subsystem_device == PCI_ANY_ID))
|
||||
q->hook(dev);
|
||||
}
|
||||
for (i = 0; i < ARRAY_SIZE(intel_dmi_quirks); i++) {
|
||||
if (dmi_check_system(*intel_dmi_quirks[i].dmi_id_list) != 0)
|
||||
intel_dmi_quirks[i].hook(dev);
|
||||
}
|
||||
}
|
||||
|
||||
/* Disable the VGA plane that we never use */
|
||||
|
|
Loading…
Reference in New Issue