diff options
author | Dave Airlie <airlied@gmail.com> | 2012-09-19 19:57:58 +1000 |
---|---|---|
committer | Dave Airlie <airlied@gmail.com> | 2012-09-19 19:57:58 +1000 |
commit | f2032d413a2d47089f2b3f8fdd0e344a04de8195 (patch) | |
tree | 3a37a701eead5d1105a5a9b0cdab9808f378665d /drivers/gpu/drm/drm_edid_load.c | |
parent | 09e7dcf081b1100d1cdff57fa9eb25c3a834c9d6 (diff) | |
parent | 51c1327876f35d61c8bdd81fc96e1b501c9380ee (diff) |
Merge branch 'drm-lcdc' of git://linuxtv.org/pinchartl/fbdev into drm-next
Laurent writes:
The SH Mobile DRM driver is now (in my opinion) ready for mainline. It
requires GEM and KMS/FB helpers that have been reviewed on the list and
tested. Sascha is waiting for them to reach your tree to send a pull request
for another new driver.
* 'drm-lcdc' of git://linuxtv.org/pinchartl/fbdev:
drm: Renesas SH Mobile DRM driver
drm: Add NV24 and NV42 pixel formats
DRM: Add DRM KMS/FB CMA helper
DRM: Add DRM GEM CMA helper
drm/edid: limit printk when facing bad edid
Diffstat (limited to 'drivers/gpu/drm/drm_edid_load.c')
-rw-r--r-- | drivers/gpu/drm/drm_edid_load.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/drm_edid_load.c b/drivers/gpu/drm/drm_edid_load.c index 186832e1874..ea9cdab3d43 100644 --- a/drivers/gpu/drm/drm_edid_load.c +++ b/drivers/gpu/drm/drm_edid_load.c @@ -123,6 +123,7 @@ static u8 *edid_load(struct drm_connector *connector, char *name, int fwsize, expected; int builtin = 0, err = 0; int i, valid_extensions = 0; + bool print_bad_edid = !connector->bad_edid_counter || (drm_debug & DRM_UT_KMS); pdev = platform_device_register_simple(connector_name, -1, NULL, 0); if (IS_ERR(pdev)) { @@ -173,7 +174,8 @@ static u8 *edid_load(struct drm_connector *connector, char *name, } memcpy(edid, fwdata, fwsize); - if (!drm_edid_block_valid(edid, 0)) { + if (!drm_edid_block_valid(edid, 0, print_bad_edid)) { + connector->bad_edid_counter++; DRM_ERROR("Base block of EDID firmware \"%s\" is invalid ", name); kfree(edid); @@ -185,7 +187,7 @@ static u8 *edid_load(struct drm_connector *connector, char *name, if (i != valid_extensions + 1) memcpy(edid + (valid_extensions + 1) * EDID_LENGTH, edid + i * EDID_LENGTH, EDID_LENGTH); - if (drm_edid_block_valid(edid + i * EDID_LENGTH, i)) + if (drm_edid_block_valid(edid + i * EDID_LENGTH, i, print_bad_edid)) valid_extensions++; } |