24,6 → 24,7 |
* Eric Anholt <eric@anholt.net> |
*/ |
|
#include <linux/dmi.h> |
#include <linux/i2c.h> |
#include <linux/slab.h> |
#include <drm/drmP.h> |
803,6 → 804,32 |
.destroy = intel_encoder_destroy, |
}; |
|
static int intel_no_crt_dmi_callback(const struct dmi_system_id *id) |
{ |
DRM_INFO("Skipping CRT initialization for %s\n", id->ident); |
return 1; |
} |
|
static const struct dmi_system_id intel_no_crt[] = { |
{ |
.callback = intel_no_crt_dmi_callback, |
.ident = "ACER ZGB", |
.matches = { |
DMI_MATCH(DMI_SYS_VENDOR, "ACER"), |
DMI_MATCH(DMI_PRODUCT_NAME, "ZGB"), |
}, |
}, |
{ |
.callback = intel_no_crt_dmi_callback, |
.ident = "DELL XPS 8700", |
.matches = { |
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), |
DMI_MATCH(DMI_PRODUCT_NAME, "XPS 8700"), |
}, |
}, |
{ } |
}; |
|
void intel_crt_init(struct drm_device *dev) |
{ |
struct drm_connector *connector; |
810,6 → 837,10 |
struct intel_connector *intel_connector; |
struct drm_i915_private *dev_priv = dev->dev_private; |
|
/* Skip machines without VGA that falsely report hotplug events */ |
if (dmi_check_system(intel_no_crt)) |
return; |
|
crt = kzalloc(sizeof(struct intel_crt), GFP_KERNEL); |
if (!crt) |
return; |