diff options
Diffstat (limited to 'drivers/gpu/drm/drm_edid.c')
| -rw-r--r-- | drivers/gpu/drm/drm_edid.c | 12 | 
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index f97e7c42ac8..18f41d7061f 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -27,6 +27,7 @@   * DEALINGS IN THE SOFTWARE.   */  #include <linux/kernel.h> +#include <linux/slab.h>  #include <linux/i2c.h>  #include <linux/i2c-algo-bit.h>  #include "drmP.h" @@ -84,6 +85,8 @@ static struct edid_quirk {  	/* Envision Peripherals, Inc. EN-7100e */  	{ "EPI", 59264, EDID_QUIRK_135_CLOCK_TOO_HIGH }, +	/* Envision EN2028 */ +	{ "EPI", 8232, EDID_QUIRK_PREFER_LARGE_60 },  	/* Funai Electronics PM36B */  	{ "FCM", 13600, EDID_QUIRK_PREFER_LARGE_75 | @@ -707,15 +710,6 @@ static struct drm_display_mode *drm_mode_detailed(struct drm_device *dev,  	mode->vsync_end = mode->vsync_start + vsync_pulse_width;  	mode->vtotal = mode->vdisplay + vblank; -	/* perform the basic check for the detailed timing */ -	if (mode->hsync_end > mode->htotal || -		mode->vsync_end > mode->vtotal) { -		drm_mode_destroy(dev, mode); -		DRM_DEBUG_KMS("Incorrect detailed timing. " -				"Sync is beyond the blank.\n"); -		return NULL; -	} -  	/* Some EDIDs have bogus h/vtotal values */  	if (mode->hsync_end > mode->htotal)  		mode->htotal = mode->hsync_end + 1;  |