diff mbox

drm/edid: Check for empty block prior to checksumming

Message ID f194ba9d-22fe-47e4-81ce-50b32b88ff61@HUB2.rwth-ad.de (mailing list archive)
State New, archived
Headers show

Commit Message

Stefan Brüns Nov. 16, 2014, 2:04 a.m. UTC
drm_edid_block_valid will dump the whole EDID block. Shorten the log
output to a single line stating the block is empty.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
---
 drivers/gpu/drm/drm_edid.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

Comments

Jani Nikula Nov. 17, 2014, 9:32 a.m. UTC | #1
On Sun, 16 Nov 2014, Stefan Brüns <stefan.bruens@rwth-aachen.de> wrote:
> drm_edid_block_valid will dump the whole EDID block. Shorten the log
> output to a single line stating the block is empty.

I'd think it would be better to teach drm_edid_block_valid to better
handle empty blocks.

BR,
Jani.

>
> Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
> ---
>  drivers/gpu/drm/drm_edid.c | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 3bf9991..0755d01 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -1198,12 +1198,17 @@ drm_do_get_edid(struct drm_connector *connector, struct i2c_adapter *adapter)
>  	for (i = 0; i < 4; i++) {
>  		if (drm_do_probe_ddc_edid(adapter, block, 0, EDID_LENGTH))
>  			goto out;
> -		if (drm_edid_block_valid(block, 0, print_bad_edid))
> -			break;
>  		if (i == 0 && drm_edid_is_zero(block, EDID_LENGTH)) {
>  			connector->null_edid_counter++;
> -			goto carp;
> +			if (print_bad_edid) {
> +				dev_warn(connector->dev->dev, "%s: EDID block 0 empty.\n",
> +					 connector->name);
> +			}
> +			connector->bad_edid_counter++;
> +			goto out;
>  		}
> +		if (drm_edid_block_valid(block, 0, print_bad_edid))
> +			break;
>  	}
>  	if (i == 4)
>  		goto carp;
> -- 
> 1.8.4.5
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 3bf9991..0755d01 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -1198,12 +1198,17 @@  drm_do_get_edid(struct drm_connector *connector, struct i2c_adapter *adapter)
 	for (i = 0; i < 4; i++) {
 		if (drm_do_probe_ddc_edid(adapter, block, 0, EDID_LENGTH))
 			goto out;
-		if (drm_edid_block_valid(block, 0, print_bad_edid))
-			break;
 		if (i == 0 && drm_edid_is_zero(block, EDID_LENGTH)) {
 			connector->null_edid_counter++;
-			goto carp;
+			if (print_bad_edid) {
+				dev_warn(connector->dev->dev, "%s: EDID block 0 empty.\n",
+					 connector->name);
+			}
+			connector->bad_edid_counter++;
+			goto out;
 		}
+		if (drm_edid_block_valid(block, 0, print_bad_edid))
+			break;
 	}
 	if (i == 4)
 		goto carp;