Re: [PATCH 03/19] common: edid: check for digital display earlier

2021-03-03 Thread Andre Przywara
On Tue, 23 Feb 2021 21:46:15 +0100
Jernej Skrabec  wrote:

Hi,

> When searching for detailed timing in EDID, check for digital display
> earlier. There is no point parsing other parameters if this flag is not
> present.

Indeed we would exit anyway, so we should avoid unneeded work.
 
> Signed-off-by: Jernej Skrabec 

Reviewed-by: Andre Przywara 

Cheers,
Andre

> ---
>  common/edid.c | 9 +
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/common/edid.c b/common/edid.c
> index 553ab8fd01a1..1cb7177742e8 100644
> --- a/common/edid.c
> +++ b/common/edid.c
> @@ -185,6 +185,11 @@ int edid_get_timing_validate(u8 *buf, int buf_size,
>   return -EINVAL;
>   }
>  
> + if (!EDID1_INFO_VIDEO_INPUT_DIGITAL(*edid)) {
> + debug("%s: Not a digital display\n", __func__);
> + return -ENOSYS;
> + }
> +
>   if (!EDID1_INFO_FEATURE_PREFERRED_TIMING_MODE(*edid)) {
>   debug("%s: No preferred timing\n", __func__);
>   return -ENOENT;
> @@ -211,10 +216,6 @@ int edid_get_timing_validate(u8 *buf, int buf_size,
>   if (!timing_done)
>   return -EINVAL;
>  
> - if (!EDID1_INFO_VIDEO_INPUT_DIGITAL(*edid)) {
> - debug("%s: Not a digital display\n", __func__);
> - return -ENOSYS;
> - }
>   if (edid->version != 1 || edid->revision < 4) {
>   debug("%s: EDID version %d.%d does not have required info\n",
> __func__, edid->version, edid->revision);



[PATCH 03/19] common: edid: check for digital display earlier

2021-02-23 Thread Jernej Skrabec
When searching for detailed timing in EDID, check for digital display
earlier. There is no point parsing other parameters if this flag is not
present.

Signed-off-by: Jernej Skrabec 
---
 common/edid.c | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/common/edid.c b/common/edid.c
index 553ab8fd01a1..1cb7177742e8 100644
--- a/common/edid.c
+++ b/common/edid.c
@@ -185,6 +185,11 @@ int edid_get_timing_validate(u8 *buf, int buf_size,
return -EINVAL;
}
 
+   if (!EDID1_INFO_VIDEO_INPUT_DIGITAL(*edid)) {
+   debug("%s: Not a digital display\n", __func__);
+   return -ENOSYS;
+   }
+
if (!EDID1_INFO_FEATURE_PREFERRED_TIMING_MODE(*edid)) {
debug("%s: No preferred timing\n", __func__);
return -ENOENT;
@@ -211,10 +216,6 @@ int edid_get_timing_validate(u8 *buf, int buf_size,
if (!timing_done)
return -EINVAL;
 
-   if (!EDID1_INFO_VIDEO_INPUT_DIGITAL(*edid)) {
-   debug("%s: Not a digital display\n", __func__);
-   return -ENOSYS;
-   }
if (edid->version != 1 || edid->revision < 4) {
debug("%s: EDID version %d.%d does not have required info\n",
  __func__, edid->version, edid->revision);
-- 
2.30.1