diff mbox series

drm/edid: VSDB yCBCr420 Deep Color mode bit definitions

Message ID 1538776335-12569-1-git-send-email-clinton.a.taylor@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/edid: VSDB yCBCr420 Deep Color mode bit definitions | expand

Commit Message

Clint Taylor Oct. 5, 2018, 9:52 p.m. UTC
From: Clint Taylor <clinton.a.taylor@intel.com>

HDMI Forum VSDB YCBCR420 deep color capability bits are 2:0. Correct
definitions in the header for the mask to work correctly.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107893
Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
---
 drivers/gpu/drm/drm_edid.c | 2 +-
 include/drm/drm_edid.h     | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

Comments

Jani Nikula Oct. 15, 2018, 11:08 a.m. UTC | #1
On Fri, 05 Oct 2018, clinton.a.taylor@intel.com wrote:
> From: Clint Taylor <clinton.a.taylor@intel.com>
>
> HDMI Forum VSDB YCBCR420 deep color capability bits are 2:0. Correct
> definitions in the header for the mask to work correctly.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107893
> Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>

When posting fixes like this, please do git blame on the stuff you're
fixing, and add Fixes: tag and a bunch of Cc's. It'll help us propagate
the fix to stable kernels and get feedback from the authors and
reviewers. 'dim fixes' will help you with this:

$ dim fixes e6a9a2c3dc437
Fixes: e6a9a2c3dc43 ("drm/edid: parse ycbcr 420 deep color information")
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Jose Abreu <joabreu@synopsys.com>
Cc: Shashank Sharma <shashank.sharma@intel.com>
Cc: Gustavo Padovan <gustavo@padovan.org>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Sean Paul <sean@poorly.run>
Cc: David Airlie <airlied@linux.ie>
Cc: dri-devel@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v4.14+

Anyway this looks sane to me,

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

but I'm wondering if there was some deeper meaning to the original |= in
there.


BR,
Jani.


> ---
>  drivers/gpu/drm/drm_edid.c | 2 +-
>  include/drm/drm_edid.h     | 6 +++---
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 1e2b940..ff0bfc6 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -4282,7 +4282,7 @@ static void drm_parse_ycbcr420_deep_color_info(struct drm_connector *connector,
>  	struct drm_hdmi_info *hdmi = &connector->display_info.hdmi;
>  
>  	dc_mask = db[7] & DRM_EDID_YCBCR420_DC_MASK;
> -	hdmi->y420_dc_modes |= dc_mask;
> +	hdmi->y420_dc_modes = dc_mask;
>  }
>  
>  static void drm_parse_hdmi_forum_vsdb(struct drm_connector *connector,
> diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
> index b25d12e..e3c4048 100644
> --- a/include/drm/drm_edid.h
> +++ b/include/drm/drm_edid.h
> @@ -214,9 +214,9 @@ struct detailed_timing {
>  #define DRM_EDID_HDMI_DC_Y444             (1 << 3)
>  
>  /* YCBCR 420 deep color modes */
> -#define DRM_EDID_YCBCR420_DC_48		  (1 << 6)
> -#define DRM_EDID_YCBCR420_DC_36		  (1 << 5)
> -#define DRM_EDID_YCBCR420_DC_30		  (1 << 4)
> +#define DRM_EDID_YCBCR420_DC_48		  (1 << 2)
> +#define DRM_EDID_YCBCR420_DC_36		  (1 << 1)
> +#define DRM_EDID_YCBCR420_DC_30		  (1 << 0)
>  #define DRM_EDID_YCBCR420_DC_MASK (DRM_EDID_YCBCR420_DC_48 | \
>  				    DRM_EDID_YCBCR420_DC_36 | \
>  				    DRM_EDID_YCBCR420_DC_30)
Jani Nikula Oct. 15, 2018, 11:09 a.m. UTC | #2
On Mon, 15 Oct 2018, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> On Fri, 05 Oct 2018, clinton.a.taylor@intel.com wrote:
>> From: Clint Taylor <clinton.a.taylor@intel.com>
>>
>> HDMI Forum VSDB YCBCR420 deep color capability bits are 2:0. Correct
>> definitions in the header for the mask to work correctly.
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107893
>> Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
>
> When posting fixes like this, please do git blame on the stuff you're
> fixing, and add Fixes: tag and a bunch of Cc's. It'll help us propagate
> the fix to stable kernels and get feedback from the authors and
> reviewers. 'dim fixes' will help you with this:
>
> $ dim fixes e6a9a2c3dc437
> Fixes: e6a9a2c3dc43 ("drm/edid: parse ycbcr 420 deep color information")
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Jose Abreu <joabreu@synopsys.com>
> Cc: Shashank Sharma <shashank.sharma@intel.com>
> Cc: Gustavo Padovan <gustavo@padovan.org>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Sean Paul <sean@poorly.run>
> Cc: David Airlie <airlied@linux.ie>
> Cc: dri-devel@lists.freedesktop.org
> Cc: <stable@vger.kernel.org> # v4.14+
>
> Anyway this looks sane to me,
>
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>
> but I'm wondering if there was some deeper meaning to the original |= in
> there.

PS. It'll be useful to repost this Cc: intel-gfx just to get the CI as
we seem to be the only consumer of the stuff being fixed.

>
>
> BR,
> Jani.
>
>
>> ---
>>  drivers/gpu/drm/drm_edid.c | 2 +-
>>  include/drm/drm_edid.h     | 6 +++---
>>  2 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
>> index 1e2b940..ff0bfc6 100644
>> --- a/drivers/gpu/drm/drm_edid.c
>> +++ b/drivers/gpu/drm/drm_edid.c
>> @@ -4282,7 +4282,7 @@ static void drm_parse_ycbcr420_deep_color_info(struct drm_connector *connector,
>>  	struct drm_hdmi_info *hdmi = &connector->display_info.hdmi;
>>  
>>  	dc_mask = db[7] & DRM_EDID_YCBCR420_DC_MASK;
>> -	hdmi->y420_dc_modes |= dc_mask;
>> +	hdmi->y420_dc_modes = dc_mask;
>>  }
>>  
>>  static void drm_parse_hdmi_forum_vsdb(struct drm_connector *connector,
>> diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
>> index b25d12e..e3c4048 100644
>> --- a/include/drm/drm_edid.h
>> +++ b/include/drm/drm_edid.h
>> @@ -214,9 +214,9 @@ struct detailed_timing {
>>  #define DRM_EDID_HDMI_DC_Y444             (1 << 3)
>>  
>>  /* YCBCR 420 deep color modes */
>> -#define DRM_EDID_YCBCR420_DC_48		  (1 << 6)
>> -#define DRM_EDID_YCBCR420_DC_36		  (1 << 5)
>> -#define DRM_EDID_YCBCR420_DC_30		  (1 << 4)
>> +#define DRM_EDID_YCBCR420_DC_48		  (1 << 2)
>> +#define DRM_EDID_YCBCR420_DC_36		  (1 << 1)
>> +#define DRM_EDID_YCBCR420_DC_30		  (1 << 0)
>>  #define DRM_EDID_YCBCR420_DC_MASK (DRM_EDID_YCBCR420_DC_48 | \
>>  				    DRM_EDID_YCBCR420_DC_36 | \
>>  				    DRM_EDID_YCBCR420_DC_30)
Sharma, Shashank Oct. 15, 2018, 2:34 p.m. UTC | #3
Regards

Shashank


On 10/15/2018 4:39 PM, Jani Nikula wrote:
> On Mon, 15 Oct 2018, Jani Nikula <jani.nikula@linux.intel.com> wrote:
>> On Fri, 05 Oct 2018, clinton.a.taylor@intel.com wrote:
>>> From: Clint Taylor <clinton.a.taylor@intel.com>
>>>
>>> HDMI Forum VSDB YCBCR420 deep color capability bits are 2:0. Correct
>>> definitions in the header for the mask to work correctly.
>>>
>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107893
>>> Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
>> When posting fixes like this, please do git blame on the stuff you're
>> fixing, and add Fixes: tag and a bunch of Cc's. It'll help us propagate
>> the fix to stable kernels and get feedback from the authors and
>> reviewers. 'dim fixes' will help you with this:
>>
>> $ dim fixes e6a9a2c3dc437
>> Fixes: e6a9a2c3dc43 ("drm/edid: parse ycbcr 420 deep color information")
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Cc: Jose Abreu <joabreu@synopsys.com>
>> Cc: Shashank Sharma <shashank.sharma@intel.com>
>> Cc: Gustavo Padovan <gustavo@padovan.org>
>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> Cc: Sean Paul <sean@poorly.run>
>> Cc: David Airlie <airlied@linux.ie>
>> Cc: dri-devel@lists.freedesktop.org
>> Cc: <stable@vger.kernel.org> # v4.14+
>>
>> Anyway this looks sane to me,
>>
>> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>>
>> but I'm wondering if there was some deeper meaning to the original |= in
>> there.
Honestly, I was considering new blocks in HDMI 2.1 spec for dc, and 
parsing of those before this block, keeping |= required.
But we can always do other way around, or will take care of it when we 
add code for it.
Just cross checked with the spec too,

Reviewed-by: Shashank Sharma <shashank.sharma@intel.com>

- Shashank

> PS. It'll be useful to repost this Cc: intel-gfx just to get the CI as
> we seem to be the only consumer of the stuff being fixed.
>
>>
>> BR,
>> Jani.
>>
>>
>>> ---
>>>   drivers/gpu/drm/drm_edid.c | 2 +-
>>>   include/drm/drm_edid.h     | 6 +++---
>>>   2 files changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
>>> index 1e2b940..ff0bfc6 100644
>>> --- a/drivers/gpu/drm/drm_edid.c
>>> +++ b/drivers/gpu/drm/drm_edid.c
>>> @@ -4282,7 +4282,7 @@ static void drm_parse_ycbcr420_deep_color_info(struct drm_connector *connector,
>>>   	struct drm_hdmi_info *hdmi = &connector->display_info.hdmi;
>>>   
>>>   	dc_mask = db[7] & DRM_EDID_YCBCR420_DC_MASK;
>>> -	hdmi->y420_dc_modes |= dc_mask;
>>> +	hdmi->y420_dc_modes = dc_mask;
>>>   }
>>>   
>>>   static void drm_parse_hdmi_forum_vsdb(struct drm_connector *connector,
>>> diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
>>> index b25d12e..e3c4048 100644
>>> --- a/include/drm/drm_edid.h
>>> +++ b/include/drm/drm_edid.h
>>> @@ -214,9 +214,9 @@ struct detailed_timing {
>>>   #define DRM_EDID_HDMI_DC_Y444             (1 << 3)
>>>   
>>>   /* YCBCR 420 deep color modes */
>>> -#define DRM_EDID_YCBCR420_DC_48		  (1 << 6)
>>> -#define DRM_EDID_YCBCR420_DC_36		  (1 << 5)
>>> -#define DRM_EDID_YCBCR420_DC_30		  (1 << 4)
>>> +#define DRM_EDID_YCBCR420_DC_48		  (1 << 2)
>>> +#define DRM_EDID_YCBCR420_DC_36		  (1 << 1)
>>> +#define DRM_EDID_YCBCR420_DC_30		  (1 << 0)
>>>   #define DRM_EDID_YCBCR420_DC_MASK (DRM_EDID_YCBCR420_DC_48 | \
>>>   				    DRM_EDID_YCBCR420_DC_36 | \
>>>   				    DRM_EDID_YCBCR420_DC_30)
Jani Nikula Oct. 16, 2018, 1:53 p.m. UTC | #4
On Mon, 15 Oct 2018, "Sharma, Shashank" <shashank.sharma@intel.com> wrote:
> Regards
>
> Shashank
>
>
> On 10/15/2018 4:39 PM, Jani Nikula wrote:
>> On Mon, 15 Oct 2018, Jani Nikula <jani.nikula@linux.intel.com> wrote:
>>> On Fri, 05 Oct 2018, clinton.a.taylor@intel.com wrote:
>>>> From: Clint Taylor <clinton.a.taylor@intel.com>
>>>>
>>>> HDMI Forum VSDB YCBCR420 deep color capability bits are 2:0. Correct
>>>> definitions in the header for the mask to work correctly.
>>>>
>>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107893
>>>> Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
>>> When posting fixes like this, please do git blame on the stuff you're
>>> fixing, and add Fixes: tag and a bunch of Cc's. It'll help us propagate
>>> the fix to stable kernels and get feedback from the authors and
>>> reviewers. 'dim fixes' will help you with this:
>>>
>>> $ dim fixes e6a9a2c3dc437
>>> Fixes: e6a9a2c3dc43 ("drm/edid: parse ycbcr 420 deep color information")
>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>> Cc: Jose Abreu <joabreu@synopsys.com>
>>> Cc: Shashank Sharma <shashank.sharma@intel.com>
>>> Cc: Gustavo Padovan <gustavo@padovan.org>
>>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>>> Cc: Sean Paul <sean@poorly.run>
>>> Cc: David Airlie <airlied@linux.ie>
>>> Cc: dri-devel@lists.freedesktop.org
>>> Cc: <stable@vger.kernel.org> # v4.14+
>>>
>>> Anyway this looks sane to me,
>>>
>>> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
>>>
>>> but I'm wondering if there was some deeper meaning to the original |= in
>>> there.
> Honestly, I was considering new blocks in HDMI 2.1 spec for dc, and 
> parsing of those before this block, keeping |= required.
> But we can always do other way around, or will take care of it when we 
> add code for it.
> Just cross checked with the spec too,
>
> Reviewed-by: Shashank Sharma <shashank.sharma@intel.com>

Pushed to drm-misc-fixes, thanks for the patch and review!

BR,
Jani.



>
> - Shashank
>
>> PS. It'll be useful to repost this Cc: intel-gfx just to get the CI as
>> we seem to be the only consumer of the stuff being fixed.
>>
>>>
>>> BR,
>>> Jani.
>>>
>>>
>>>> ---
>>>>   drivers/gpu/drm/drm_edid.c | 2 +-
>>>>   include/drm/drm_edid.h     | 6 +++---
>>>>   2 files changed, 4 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
>>>> index 1e2b940..ff0bfc6 100644
>>>> --- a/drivers/gpu/drm/drm_edid.c
>>>> +++ b/drivers/gpu/drm/drm_edid.c
>>>> @@ -4282,7 +4282,7 @@ static void drm_parse_ycbcr420_deep_color_info(struct drm_connector *connector,
>>>>   	struct drm_hdmi_info *hdmi = &connector->display_info.hdmi;
>>>>   
>>>>   	dc_mask = db[7] & DRM_EDID_YCBCR420_DC_MASK;
>>>> -	hdmi->y420_dc_modes |= dc_mask;
>>>> +	hdmi->y420_dc_modes = dc_mask;
>>>>   }
>>>>   
>>>>   static void drm_parse_hdmi_forum_vsdb(struct drm_connector *connector,
>>>> diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
>>>> index b25d12e..e3c4048 100644
>>>> --- a/include/drm/drm_edid.h
>>>> +++ b/include/drm/drm_edid.h
>>>> @@ -214,9 +214,9 @@ struct detailed_timing {
>>>>   #define DRM_EDID_HDMI_DC_Y444             (1 << 3)
>>>>   
>>>>   /* YCBCR 420 deep color modes */
>>>> -#define DRM_EDID_YCBCR420_DC_48		  (1 << 6)
>>>> -#define DRM_EDID_YCBCR420_DC_36		  (1 << 5)
>>>> -#define DRM_EDID_YCBCR420_DC_30		  (1 << 4)
>>>> +#define DRM_EDID_YCBCR420_DC_48		  (1 << 2)
>>>> +#define DRM_EDID_YCBCR420_DC_36		  (1 << 1)
>>>> +#define DRM_EDID_YCBCR420_DC_30		  (1 << 0)
>>>>   #define DRM_EDID_YCBCR420_DC_MASK (DRM_EDID_YCBCR420_DC_48 | \
>>>>   				    DRM_EDID_YCBCR420_DC_36 | \
>>>>   				    DRM_EDID_YCBCR420_DC_30)
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 1e2b940..ff0bfc6 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -4282,7 +4282,7 @@  static void drm_parse_ycbcr420_deep_color_info(struct drm_connector *connector,
 	struct drm_hdmi_info *hdmi = &connector->display_info.hdmi;
 
 	dc_mask = db[7] & DRM_EDID_YCBCR420_DC_MASK;
-	hdmi->y420_dc_modes |= dc_mask;
+	hdmi->y420_dc_modes = dc_mask;
 }
 
 static void drm_parse_hdmi_forum_vsdb(struct drm_connector *connector,
diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h
index b25d12e..e3c4048 100644
--- a/include/drm/drm_edid.h
+++ b/include/drm/drm_edid.h
@@ -214,9 +214,9 @@  struct detailed_timing {
 #define DRM_EDID_HDMI_DC_Y444             (1 << 3)
 
 /* YCBCR 420 deep color modes */
-#define DRM_EDID_YCBCR420_DC_48		  (1 << 6)
-#define DRM_EDID_YCBCR420_DC_36		  (1 << 5)
-#define DRM_EDID_YCBCR420_DC_30		  (1 << 4)
+#define DRM_EDID_YCBCR420_DC_48		  (1 << 2)
+#define DRM_EDID_YCBCR420_DC_36		  (1 << 1)
+#define DRM_EDID_YCBCR420_DC_30		  (1 << 0)
 #define DRM_EDID_YCBCR420_DC_MASK (DRM_EDID_YCBCR420_DC_48 | \
 				    DRM_EDID_YCBCR420_DC_36 | \
 				    DRM_EDID_YCBCR420_DC_30)