mbox series

[v5,00/13] Add HDR Metadata Parsing and handling in DRM layer

Message ID 1552276684-25358-1-git-send-email-uma.shankar@intel.com (mailing list archive)
Headers show
Series Add HDR Metadata Parsing and handling in DRM layer | expand

Message

Shankar, Uma March 11, 2019, 3:57 a.m. UTC
This patch series enables HDR support in drm. It basically defines
HDR metadata structures, property to pass content (after blending)
metadata from user space compositors to driver.

Dynamic Range and Mastering infoframe creation and sending.

ToDo:
1. We need to get the color framework in place for all planes
   which support HDR content in hardware. This is already in progres
   and patches are out for review in mailing list.
2. UserSpace/Compositors: Blending policies and metadata blob
   creation and passing to driver. Work is already in progress
   by Intel's middleware teams on wayland and we should be getting
   the initial version pretty soon for review.

Please review and share your feedbacks/suggestions.

Note: The intention for these patches is to get a design feedback on
the uapi changes, generic property design and infoframe handling.
This cannot get merged as of now without the userspace support in place.

A POC has already been developed by Ville based on wayland. Please refer
below link to see the component interactions and usage:
https://lists.freedesktop.org/archives/wayland-devel/2017-December/036403.html

v2: Updated Ville's POC changes to the patch series.Incorporated cleanups
and fixes from Ville. Rebase on latest drm-tip.

v3: Fixed a warning causing builds to break on CI. No major change.

v4: Addressed Shashank's review comments.

v5: Rebase on top of Ville's infoframe refactoring changes. Fixed non modeset
case for HDR metadata update. Dropped a redundant patch.

Note: Media driver and VAAPI changes for HDR are already out, with compositors
changes also expected to land soon. Some discussions have already started with
initial design on weston in community and is in active development along
with GL efforts.

Uma Shankar (10):
  drm: Add HDR source metadata property
  drm: Parse HDR metadata info from EDID
  drm: Parse Colorimetry data block from EDID
  drm/i915: Attach HDR metadata property to connector
  drm: Implement HDR output metadata set and get property handling
  drm: Enable HDR infoframe support
  drm/i915: Write HDR infoframe and send to panel
  drm/i915:Enabled Modeset when HDR Infoframe changes
  drm/i915: Set Infoframe for non modeset case for HDR
  video/hdmi: Add const variants for drm infoframe

Ville Syrjälä (3):
  drm/i915: [DO NOT MERGE] hack for glk board outputs
  drm/i915: Add HLG EOTF
  drm/i915: Enable infoframes on GLK+ for HDR

 drivers/gpu/drm/drm_atomic.c        |   2 +
 drivers/gpu/drm/drm_atomic_uapi.c   |  13 +++
 drivers/gpu/drm/drm_connector.c     |   6 ++
 drivers/gpu/drm/drm_edid.c          | 136 ++++++++++++++++++++++++++
 drivers/gpu/drm/i915/i915_reg.h     |   4 +
 drivers/gpu/drm/i915/intel_atomic.c |  15 ++-
 drivers/gpu/drm/i915/intel_bios.c   |   7 ++
 drivers/gpu/drm/i915/intel_ddi.c    |   9 ++
 drivers/gpu/drm/i915/intel_drv.h    |   1 +
 drivers/gpu/drm/i915/intel_hdmi.c   |  51 +++++++++-
 drivers/video/hdmi.c                | 188 ++++++++++++++++++++++++++++++++++++
 include/drm/drm_connector.h         |  13 +++
 include/drm/drm_edid.h              |   4 +
 include/drm/drm_mode_config.h       |   6 ++
 include/linux/hdmi.h                |  38 ++++++++
 include/uapi/drm/drm_mode.h         |  16 +++
 16 files changed, 506 insertions(+), 3 deletions(-)

Comments

Jani Nikula March 11, 2019, 1:54 p.m. UTC | #1
On Mon, 11 Mar 2019, Patchwork <patchwork@emeril.freedesktop.org> wrote:
> == Series Details ==
>
> Series: Add HDR Metadata Parsing and handling in DRM layer (rev5)
> URL   : https://patchwork.freedesktop.org/series/25091/
> State : warning
>
> == Summary ==
>
> $ dim checkpatch origin/drm-tip
> b2d03105049d drm: Add HDR source metadata property
> fe440823e535 drm: Parse HDR metadata info from EDID
> -:59: CHECK:BRACES: Blank lines aren't necessary after an open brace '{'
> #59: FILE: drivers/gpu/drm/drm_edid.c:3839:
> +{
> +
>
> -:65: CHECK:BRACES: Blank lines aren't necessary before a close brace '}'
> #65: FILE: drivers/gpu/drm/drm_edid.c:3845:
> +
> +}
>
> -:69: CHECK:BRACES: Blank lines aren't necessary after an open brace '{'
> #69: FILE: drivers/gpu/drm/drm_edid.c:3849:
> +{
> +
>
> -:77: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
> #77: FILE: drivers/gpu/drm/drm_edid.c:3857:
> +	uint16_t len;
>
> total: 0 errors, 0 warnings, 4 checks, 76 lines checked
> 5ef8cb0e93e9 drm: Parse Colorimetry data block from EDID
> -:51: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
> #51: FILE: drivers/gpu/drm/drm_edid.c:3842:
> +	uint16_t len;
>
> -:58: CHECK:LINE_SPACING: Please don't use multiple blank lines
> #58: FILE: drivers/gpu/drm/drm_edid.c:3849:
> +
> +
>
> total: 0 errors, 0 warnings, 2 checks, 53 lines checked
> aa78bb330fcc drm/i915: Attach HDR metadata property to connector
> -:24: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
> #24: FILE: drivers/gpu/drm/i915/intel_hdmi.c:2723:
> +	drm_object_attach_property(&connector->base,
> +		connector->dev->mode_config.hdr_output_metadata_property, 0);
>
> total: 0 errors, 0 warnings, 1 checks, 8 lines checked
> 98de918105db drm: Implement HDR output metadata set and get property handling
> -:52: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
> #52: FILE: drivers/gpu/drm/drm_atomic_uapi.c:741:
> +		ret = drm_atomic_replace_property_blob_from_id(dev,
> +				&state->hdr_output_metadata_blob_ptr,
>
> total: 0 errors, 0 warnings, 1 checks, 39 lines checked
> 149de61e2c39 drm: Enable HDR infoframe support
> -:65: CHECK:LINE_SPACING: Please don't use multiple blank lines
> #65: FILE: drivers/gpu/drm/drm_edid.c:4944:
> +
> +
>
> -:94: CHECK:LINE_SPACING: Please don't use multiple blank lines
> #94: FILE: drivers/gpu/drm/drm_edid.c:4973:
> +
> +
>
> -:232: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
> #232: FILE: drivers/video/hdmi.c:1392:
> +	hdmi_infoframe_log_header(level, dev,
> +			(struct hdmi_any_infoframe *)frame);
>
> -:245: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
> #245: FILE: drivers/video/hdmi.c:1405:
> +	hdmi_log("max_mastering_display_luminance: %d\n",
> +			frame->max_mastering_display_luminance);
>
> -:247: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
> #247: FILE: drivers/video/hdmi.c:1407:
> +	hdmi_log("min_mastering_display_luminance: %d\n",
> +			frame->min_mastering_display_luminance);
>
> -:304: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
> #304: FILE: include/linux/hdmi.h:196:
> +		uint16_t x, y;
>
> -:307: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
> #307: FILE: include/linux/hdmi.h:199:
> +		uint16_t x, y;
>
> -:309: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
> #309: FILE: include/linux/hdmi.h:201:
> +	uint16_t max_mastering_display_luminance;
>
> -:310: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
> #310: FILE: include/linux/hdmi.h:202:
> +	uint16_t min_mastering_display_luminance;
>
> -:311: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
> #311: FILE: include/linux/hdmi.h:203:
> +	uint16_t max_fall;
>
> -:312: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
> #312: FILE: include/linux/hdmi.h:204:
> +	uint16_t max_cll;
>
> -:313: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
> #313: FILE: include/linux/hdmi.h:205:
> +	uint16_t min_cll;
>
> total: 0 errors, 0 warnings, 12 checks, 279 lines checked
> c65e9f436e86 drm/i915: Write HDR infoframe and send to panel
> -:51: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
> #51: FILE: drivers/gpu/drm/i915/intel_hdmi.c:783:
> +intel_hdmi_compute_drm_infoframe(struct intel_encoder *encoder,
> +				  struct intel_crtc_state *crtc_state,
>
> total: 0 errors, 0 warnings, 1 checks, 64 lines checked
> dd6bc359799a drm/i915: [DO NOT MERGE] hack for glk board outputs
> 96858c0b173a drm/i915: Add HLG EOTF
> 2d2578db31c3 drm/i915: Enable infoframes on GLK+ for HDR
> -:49: WARNING:LONG_LINE: line over 100 characters
> #49: FILE: drivers/gpu/drm/i915/i915_reg.h:8155:
> +#define GLK_TVIDEO_DIP_DRM_DATA(trans, i)	_MMIO_TRANS2(trans, _GLK_VIDEO_DIP_DRM_DATA_A + (i) * 4)

I think all of the warnings except this one are valid.

BR,
Jani.

>
> total: 0 errors, 1 warnings, 0 checks, 76 lines checked
> b8f04b68ec8f drm/i915:Enabled Modeset when HDR Infoframe changes
> -:57: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
> #57: FILE: drivers/gpu/drm/i915/intel_hdmi.c:796:
> +	if (!conn_state->hdr_output_metadata_blob_ptr ||
> +		conn_state->hdr_output_metadata_blob_ptr->length == 0)
>
> total: 0 errors, 0 warnings, 1 checks, 37 lines checked
> 3d5cb1bb27ca drm/i915: Set Infoframe for non modeset case for HDR
> -:35: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
> #35: FILE: drivers/gpu/drm/i915/intel_ddi.c:3586:
> +		if ((INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) &&
> +			conn_state->hdr_metadata_changed)
>
> total: 0 errors, 0 warnings, 1 checks, 25 lines checked
> 2c84b2fe5c71 video/hdmi: Add const variants for drm infoframe
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Shankar, Uma March 11, 2019, 1:56 p.m. UTC | #2
>-----Original Message-----
>From: Jani Nikula [mailto:jani.nikula@linux.intel.com]
>Sent: Monday, March 11, 2019 7:25 PM
>To: Patchwork <patchwork@emeril.freedesktop.org>; Shankar, Uma
><uma.shankar@intel.com>
>Cc: intel-gfx@lists.freedesktop.org
>Subject: Re: [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Add HDR Metadata Parsing
>and handling in DRM layer (rev5)
>
>On Mon, 11 Mar 2019, Patchwork <patchwork@emeril.freedesktop.org> wrote:
>> == Series Details ==
>>
>> Series: Add HDR Metadata Parsing and handling in DRM layer (rev5)
>> URL   : https://patchwork.freedesktop.org/series/25091/
>> State : warning
>>
>> == Summary ==
>>
>> $ dim checkpatch origin/drm-tip
>> b2d03105049d drm: Add HDR source metadata property
>> fe440823e535 drm: Parse HDR metadata info from EDID
>> -:59: CHECK:BRACES: Blank lines aren't necessary after an open brace '{'
>> #59: FILE: drivers/gpu/drm/drm_edid.c:3839:
>> +{
>> +
>>
>> -:65: CHECK:BRACES: Blank lines aren't necessary before a close brace '}'
>> #65: FILE: drivers/gpu/drm/drm_edid.c:3845:
>> +
>> +}
>>
>> -:69: CHECK:BRACES: Blank lines aren't necessary after an open brace '{'
>> #69: FILE: drivers/gpu/drm/drm_edid.c:3849:
>> +{
>> +
>>
>> -:77: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>> #77: FILE: drivers/gpu/drm/drm_edid.c:3857:
>> +	uint16_t len;
>>
>> total: 0 errors, 0 warnings, 4 checks, 76 lines checked
>> 5ef8cb0e93e9 drm: Parse Colorimetry data block from EDID
>> -:51: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>> #51: FILE: drivers/gpu/drm/drm_edid.c:3842:
>> +	uint16_t len;
>>
>> -:58: CHECK:LINE_SPACING: Please don't use multiple blank lines
>> #58: FILE: drivers/gpu/drm/drm_edid.c:3849:
>> +
>> +
>>
>> total: 0 errors, 0 warnings, 2 checks, 53 lines checked aa78bb330fcc
>> drm/i915: Attach HDR metadata property to connector
>> -:24: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>> parenthesis
>> #24: FILE: drivers/gpu/drm/i915/intel_hdmi.c:2723:
>> +	drm_object_attach_property(&connector->base,
>> +		connector->dev->mode_config.hdr_output_metadata_property, 0);
>>
>> total: 0 errors, 0 warnings, 1 checks, 8 lines checked 98de918105db
>> drm: Implement HDR output metadata set and get property handling
>> -:52: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>> parenthesis
>> #52: FILE: drivers/gpu/drm/drm_atomic_uapi.c:741:
>> +		ret = drm_atomic_replace_property_blob_from_id(dev,
>> +				&state->hdr_output_metadata_blob_ptr,
>>
>> total: 0 errors, 0 warnings, 1 checks, 39 lines checked
>> 149de61e2c39 drm: Enable HDR infoframe support
>> -:65: CHECK:LINE_SPACING: Please don't use multiple blank lines
>> #65: FILE: drivers/gpu/drm/drm_edid.c:4944:
>> +
>> +
>>
>> -:94: CHECK:LINE_SPACING: Please don't use multiple blank lines
>> #94: FILE: drivers/gpu/drm/drm_edid.c:4973:
>> +
>> +
>>
>> -:232: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>> parenthesis
>> #232: FILE: drivers/video/hdmi.c:1392:
>> +	hdmi_infoframe_log_header(level, dev,
>> +			(struct hdmi_any_infoframe *)frame);
>>
>> -:245: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>> parenthesis
>> #245: FILE: drivers/video/hdmi.c:1405:
>> +	hdmi_log("max_mastering_display_luminance: %d\n",
>> +			frame->max_mastering_display_luminance);
>>
>> -:247: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>> parenthesis
>> #247: FILE: drivers/video/hdmi.c:1407:
>> +	hdmi_log("min_mastering_display_luminance: %d\n",
>> +			frame->min_mastering_display_luminance);
>>
>> -:304: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>> #304: FILE: include/linux/hdmi.h:196:
>> +		uint16_t x, y;
>>
>> -:307: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>> #307: FILE: include/linux/hdmi.h:199:
>> +		uint16_t x, y;
>>
>> -:309: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>> #309: FILE: include/linux/hdmi.h:201:
>> +	uint16_t max_mastering_display_luminance;
>>
>> -:310: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>> #310: FILE: include/linux/hdmi.h:202:
>> +	uint16_t min_mastering_display_luminance;
>>
>> -:311: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>> #311: FILE: include/linux/hdmi.h:203:
>> +	uint16_t max_fall;
>>
>> -:312: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>> #312: FILE: include/linux/hdmi.h:204:
>> +	uint16_t max_cll;
>>
>> -:313: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>> #313: FILE: include/linux/hdmi.h:205:
>> +	uint16_t min_cll;
>>
>> total: 0 errors, 0 warnings, 12 checks, 279 lines checked
>> c65e9f436e86 drm/i915: Write HDR infoframe and send to panel
>> -:51: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>> parenthesis
>> #51: FILE: drivers/gpu/drm/i915/intel_hdmi.c:783:
>> +intel_hdmi_compute_drm_infoframe(struct intel_encoder *encoder,
>> +				  struct intel_crtc_state *crtc_state,
>>
>> total: 0 errors, 0 warnings, 1 checks, 64 lines checked dd6bc359799a
>> drm/i915: [DO NOT MERGE] hack for glk board outputs 96858c0b173a
>> drm/i915: Add HLG EOTF
>> 2d2578db31c3 drm/i915: Enable infoframes on GLK+ for HDR
>> -:49: WARNING:LONG_LINE: line over 100 characters
>> #49: FILE: drivers/gpu/drm/i915/i915_reg.h:8155:
>> +#define GLK_TVIDEO_DIP_DRM_DATA(trans, i)	_MMIO_TRANS2(trans,
>_GLK_VIDEO_DIP_DRM_DATA_A + (i) * 4)
>
>I think all of the warnings except this one are valid.

Yes Jani,  The local patchwork (which comes default with scripts in kernel) didn't had the issues. So local
checkpatch scan looked clean.

Will fix these in next version.

Thanks & Regards,
Uma Shankar

>BR,
>Jani.
>
>>
>> total: 0 errors, 1 warnings, 0 checks, 76 lines checked b8f04b68ec8f
>> drm/i915:Enabled Modeset when HDR Infoframe changes
>> -:57: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>> parenthesis
>> #57: FILE: drivers/gpu/drm/i915/intel_hdmi.c:796:
>> +	if (!conn_state->hdr_output_metadata_blob_ptr ||
>> +		conn_state->hdr_output_metadata_blob_ptr->length == 0)
>>
>> total: 0 errors, 0 warnings, 1 checks, 37 lines checked 3d5cb1bb27ca
>> drm/i915: Set Infoframe for non modeset case for HDR
>> -:35: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>> parenthesis
>> #35: FILE: drivers/gpu/drm/i915/intel_ddi.c:3586:
>> +		if ((INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) &&
>> +			conn_state->hdr_metadata_changed)
>>
>> total: 0 errors, 0 warnings, 1 checks, 25 lines checked
>> 2c84b2fe5c71 video/hdmi: Add const variants for drm infoframe
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
>--
>Jani Nikula, Intel Open Source Graphics Center
Jani Nikula March 11, 2019, 2:12 p.m. UTC | #3
On Mon, 11 Mar 2019, "Shankar, Uma" <uma.shankar@intel.com> wrote:
>>-----Original Message-----
>>From: Jani Nikula [mailto:jani.nikula@linux.intel.com]
>>Sent: Monday, March 11, 2019 7:25 PM
>>To: Patchwork <patchwork@emeril.freedesktop.org>; Shankar, Uma
>><uma.shankar@intel.com>
>>Cc: intel-gfx@lists.freedesktop.org
>>Subject: Re: [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Add HDR Metadata Parsing
>>and handling in DRM layer (rev5)
>>
>>On Mon, 11 Mar 2019, Patchwork <patchwork@emeril.freedesktop.org> wrote:
>>> == Series Details ==
>>>
>>> Series: Add HDR Metadata Parsing and handling in DRM layer (rev5)
>>> URL   : https://patchwork.freedesktop.org/series/25091/
>>> State : warning
>>>
>>> == Summary ==
>>>
>>> $ dim checkpatch origin/drm-tip
>>> b2d03105049d drm: Add HDR source metadata property
>>> fe440823e535 drm: Parse HDR metadata info from EDID
>>> -:59: CHECK:BRACES: Blank lines aren't necessary after an open brace '{'
>>> #59: FILE: drivers/gpu/drm/drm_edid.c:3839:
>>> +{
>>> +
>>>
>>> -:65: CHECK:BRACES: Blank lines aren't necessary before a close brace '}'
>>> #65: FILE: drivers/gpu/drm/drm_edid.c:3845:
>>> +
>>> +}
>>>
>>> -:69: CHECK:BRACES: Blank lines aren't necessary after an open brace '{'
>>> #69: FILE: drivers/gpu/drm/drm_edid.c:3849:
>>> +{
>>> +
>>>
>>> -:77: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>> #77: FILE: drivers/gpu/drm/drm_edid.c:3857:
>>> +	uint16_t len;
>>>
>>> total: 0 errors, 0 warnings, 4 checks, 76 lines checked
>>> 5ef8cb0e93e9 drm: Parse Colorimetry data block from EDID
>>> -:51: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>> #51: FILE: drivers/gpu/drm/drm_edid.c:3842:
>>> +	uint16_t len;
>>>
>>> -:58: CHECK:LINE_SPACING: Please don't use multiple blank lines
>>> #58: FILE: drivers/gpu/drm/drm_edid.c:3849:
>>> +
>>> +
>>>
>>> total: 0 errors, 0 warnings, 2 checks, 53 lines checked aa78bb330fcc
>>> drm/i915: Attach HDR metadata property to connector
>>> -:24: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>> parenthesis
>>> #24: FILE: drivers/gpu/drm/i915/intel_hdmi.c:2723:
>>> +	drm_object_attach_property(&connector->base,
>>> +		connector->dev->mode_config.hdr_output_metadata_property, 0);
>>>
>>> total: 0 errors, 0 warnings, 1 checks, 8 lines checked 98de918105db
>>> drm: Implement HDR output metadata set and get property handling
>>> -:52: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>> parenthesis
>>> #52: FILE: drivers/gpu/drm/drm_atomic_uapi.c:741:
>>> +		ret = drm_atomic_replace_property_blob_from_id(dev,
>>> +				&state->hdr_output_metadata_blob_ptr,
>>>
>>> total: 0 errors, 0 warnings, 1 checks, 39 lines checked
>>> 149de61e2c39 drm: Enable HDR infoframe support
>>> -:65: CHECK:LINE_SPACING: Please don't use multiple blank lines
>>> #65: FILE: drivers/gpu/drm/drm_edid.c:4944:
>>> +
>>> +
>>>
>>> -:94: CHECK:LINE_SPACING: Please don't use multiple blank lines
>>> #94: FILE: drivers/gpu/drm/drm_edid.c:4973:
>>> +
>>> +
>>>
>>> -:232: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>> parenthesis
>>> #232: FILE: drivers/video/hdmi.c:1392:
>>> +	hdmi_infoframe_log_header(level, dev,
>>> +			(struct hdmi_any_infoframe *)frame);
>>>
>>> -:245: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>> parenthesis
>>> #245: FILE: drivers/video/hdmi.c:1405:
>>> +	hdmi_log("max_mastering_display_luminance: %d\n",
>>> +			frame->max_mastering_display_luminance);
>>>
>>> -:247: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>> parenthesis
>>> #247: FILE: drivers/video/hdmi.c:1407:
>>> +	hdmi_log("min_mastering_display_luminance: %d\n",
>>> +			frame->min_mastering_display_luminance);
>>>
>>> -:304: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>> #304: FILE: include/linux/hdmi.h:196:
>>> +		uint16_t x, y;
>>>
>>> -:307: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>> #307: FILE: include/linux/hdmi.h:199:
>>> +		uint16_t x, y;
>>>
>>> -:309: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>> #309: FILE: include/linux/hdmi.h:201:
>>> +	uint16_t max_mastering_display_luminance;
>>>
>>> -:310: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>> #310: FILE: include/linux/hdmi.h:202:
>>> +	uint16_t min_mastering_display_luminance;
>>>
>>> -:311: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>> #311: FILE: include/linux/hdmi.h:203:
>>> +	uint16_t max_fall;
>>>
>>> -:312: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>> #312: FILE: include/linux/hdmi.h:204:
>>> +	uint16_t max_cll;
>>>
>>> -:313: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>> #313: FILE: include/linux/hdmi.h:205:
>>> +	uint16_t min_cll;
>>>
>>> total: 0 errors, 0 warnings, 12 checks, 279 lines checked
>>> c65e9f436e86 drm/i915: Write HDR infoframe and send to panel
>>> -:51: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>> parenthesis
>>> #51: FILE: drivers/gpu/drm/i915/intel_hdmi.c:783:
>>> +intel_hdmi_compute_drm_infoframe(struct intel_encoder *encoder,
>>> +				  struct intel_crtc_state *crtc_state,
>>>
>>> total: 0 errors, 0 warnings, 1 checks, 64 lines checked dd6bc359799a
>>> drm/i915: [DO NOT MERGE] hack for glk board outputs 96858c0b173a
>>> drm/i915: Add HLG EOTF
>>> 2d2578db31c3 drm/i915: Enable infoframes on GLK+ for HDR
>>> -:49: WARNING:LONG_LINE: line over 100 characters
>>> #49: FILE: drivers/gpu/drm/i915/i915_reg.h:8155:
>>> +#define GLK_TVIDEO_DIP_DRM_DATA(trans, i)	_MMIO_TRANS2(trans,
>>_GLK_VIDEO_DIP_DRM_DATA_A + (i) * 4)
>>
>>I think all of the warnings except this one are valid.
>
> Yes Jani,  The local patchwork (which comes default with scripts in kernel) didn't had the issues. So local
> checkpatch scan looked clean.

You'll need to pass in the --strict option to checkpatch.pl for some of
the checks.

BR,
Jani.


>
> Will fix these in next version.
>
> Thanks & Regards,
> Uma Shankar
>
>>BR,
>>Jani.
>>
>>>
>>> total: 0 errors, 1 warnings, 0 checks, 76 lines checked b8f04b68ec8f
>>> drm/i915:Enabled Modeset when HDR Infoframe changes
>>> -:57: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>> parenthesis
>>> #57: FILE: drivers/gpu/drm/i915/intel_hdmi.c:796:
>>> +	if (!conn_state->hdr_output_metadata_blob_ptr ||
>>> +		conn_state->hdr_output_metadata_blob_ptr->length == 0)
>>>
>>> total: 0 errors, 0 warnings, 1 checks, 37 lines checked 3d5cb1bb27ca
>>> drm/i915: Set Infoframe for non modeset case for HDR
>>> -:35: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>> parenthesis
>>> #35: FILE: drivers/gpu/drm/i915/intel_ddi.c:3586:
>>> +		if ((INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) &&
>>> +			conn_state->hdr_metadata_changed)
>>>
>>> total: 0 errors, 0 warnings, 1 checks, 25 lines checked
>>> 2c84b2fe5c71 video/hdmi: Add const variants for drm infoframe
>>>
>>> _______________________________________________
>>> Intel-gfx mailing list
>>> Intel-gfx@lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>>
>>--
>>Jani Nikula, Intel Open Source Graphics Center
Shankar, Uma March 11, 2019, 3:11 p.m. UTC | #4
>-----Original Message-----
>From: Jani Nikula [mailto:jani.nikula@linux.intel.com]
>Sent: Monday, March 11, 2019 7:42 PM
>To: Shankar, Uma <uma.shankar@intel.com>; Patchwork
><patchwork@emeril.freedesktop.org>
>Cc: intel-gfx@lists.freedesktop.org
>Subject: RE: [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Add HDR Metadata Parsing
>and handling in DRM layer (rev5)
>
>On Mon, 11 Mar 2019, "Shankar, Uma" <uma.shankar@intel.com> wrote:
>>>-----Original Message-----
>>>From: Jani Nikula [mailto:jani.nikula@linux.intel.com]
>>>Sent: Monday, March 11, 2019 7:25 PM
>>>To: Patchwork <patchwork@emeril.freedesktop.org>; Shankar, Uma
>>><uma.shankar@intel.com>
>>>Cc: intel-gfx@lists.freedesktop.org
>>>Subject: Re: [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Add HDR
>>>Metadata Parsing and handling in DRM layer (rev5)
>>>
>>>On Mon, 11 Mar 2019, Patchwork <patchwork@emeril.freedesktop.org> wrote:
>>>> == Series Details ==
>>>>
>>>> Series: Add HDR Metadata Parsing and handling in DRM layer (rev5)
>>>> URL   : https://patchwork.freedesktop.org/series/25091/
>>>> State : warning
>>>>
>>>> == Summary ==
>>>>
>>>> $ dim checkpatch origin/drm-tip
>>>> b2d03105049d drm: Add HDR source metadata property
>>>> fe440823e535 drm: Parse HDR metadata info from EDID
>>>> -:59: CHECK:BRACES: Blank lines aren't necessary after an open brace '{'
>>>> #59: FILE: drivers/gpu/drm/drm_edid.c:3839:
>>>> +{
>>>> +
>>>>
>>>> -:65: CHECK:BRACES: Blank lines aren't necessary before a close brace '}'
>>>> #65: FILE: drivers/gpu/drm/drm_edid.c:3845:
>>>> +
>>>> +}
>>>>
>>>> -:69: CHECK:BRACES: Blank lines aren't necessary after an open brace '{'
>>>> #69: FILE: drivers/gpu/drm/drm_edid.c:3849:
>>>> +{
>>>> +
>>>>
>>>> -:77: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>>> #77: FILE: drivers/gpu/drm/drm_edid.c:3857:
>>>> +	uint16_t len;
>>>>
>>>> total: 0 errors, 0 warnings, 4 checks, 76 lines checked
>>>> 5ef8cb0e93e9 drm: Parse Colorimetry data block from EDID
>>>> -:51: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>>> #51: FILE: drivers/gpu/drm/drm_edid.c:3842:
>>>> +	uint16_t len;
>>>>
>>>> -:58: CHECK:LINE_SPACING: Please don't use multiple blank lines
>>>> #58: FILE: drivers/gpu/drm/drm_edid.c:3849:
>>>> +
>>>> +
>>>>
>>>> total: 0 errors, 0 warnings, 2 checks, 53 lines checked aa78bb330fcc
>>>> drm/i915: Attach HDR metadata property to connector
>>>> -:24: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>>> parenthesis
>>>> #24: FILE: drivers/gpu/drm/i915/intel_hdmi.c:2723:
>>>> +	drm_object_attach_property(&connector->base,
>>>> +		connector->dev->mode_config.hdr_output_metadata_property, 0);
>>>>
>>>> total: 0 errors, 0 warnings, 1 checks, 8 lines checked 98de918105db
>>>> drm: Implement HDR output metadata set and get property handling
>>>> -:52: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>>> parenthesis
>>>> #52: FILE: drivers/gpu/drm/drm_atomic_uapi.c:741:
>>>> +		ret = drm_atomic_replace_property_blob_from_id(dev,
>>>> +				&state->hdr_output_metadata_blob_ptr,
>>>>
>>>> total: 0 errors, 0 warnings, 1 checks, 39 lines checked
>>>> 149de61e2c39 drm: Enable HDR infoframe support
>>>> -:65: CHECK:LINE_SPACING: Please don't use multiple blank lines
>>>> #65: FILE: drivers/gpu/drm/drm_edid.c:4944:
>>>> +
>>>> +
>>>>
>>>> -:94: CHECK:LINE_SPACING: Please don't use multiple blank lines
>>>> #94: FILE: drivers/gpu/drm/drm_edid.c:4973:
>>>> +
>>>> +
>>>>
>>>> -:232: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>>> parenthesis
>>>> #232: FILE: drivers/video/hdmi.c:1392:
>>>> +	hdmi_infoframe_log_header(level, dev,
>>>> +			(struct hdmi_any_infoframe *)frame);
>>>>
>>>> -:245: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>>> parenthesis
>>>> #245: FILE: drivers/video/hdmi.c:1405:
>>>> +	hdmi_log("max_mastering_display_luminance: %d\n",
>>>> +			frame->max_mastering_display_luminance);
>>>>
>>>> -:247: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>>> parenthesis
>>>> #247: FILE: drivers/video/hdmi.c:1407:
>>>> +	hdmi_log("min_mastering_display_luminance: %d\n",
>>>> +			frame->min_mastering_display_luminance);
>>>>
>>>> -:304: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>>> #304: FILE: include/linux/hdmi.h:196:
>>>> +		uint16_t x, y;
>>>>
>>>> -:307: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>>> #307: FILE: include/linux/hdmi.h:199:
>>>> +		uint16_t x, y;
>>>>
>>>> -:309: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>>> #309: FILE: include/linux/hdmi.h:201:
>>>> +	uint16_t max_mastering_display_luminance;
>>>>
>>>> -:310: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>>> #310: FILE: include/linux/hdmi.h:202:
>>>> +	uint16_t min_mastering_display_luminance;
>>>>
>>>> -:311: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>>> #311: FILE: include/linux/hdmi.h:203:
>>>> +	uint16_t max_fall;
>>>>
>>>> -:312: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>>> #312: FILE: include/linux/hdmi.h:204:
>>>> +	uint16_t max_cll;
>>>>
>>>> -:313: CHECK:PREFER_KERNEL_TYPES: Prefer kernel type 'u16' over 'uint16_t'
>>>> #313: FILE: include/linux/hdmi.h:205:
>>>> +	uint16_t min_cll;
>>>>
>>>> total: 0 errors, 0 warnings, 12 checks, 279 lines checked
>>>> c65e9f436e86 drm/i915: Write HDR infoframe and send to panel
>>>> -:51: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>>> parenthesis
>>>> #51: FILE: drivers/gpu/drm/i915/intel_hdmi.c:783:
>>>> +intel_hdmi_compute_drm_infoframe(struct intel_encoder *encoder,
>>>> +				  struct intel_crtc_state *crtc_state,
>>>>
>>>> total: 0 errors, 0 warnings, 1 checks, 64 lines checked dd6bc359799a
>>>> drm/i915: [DO NOT MERGE] hack for glk board outputs 96858c0b173a
>>>> drm/i915: Add HLG EOTF
>>>> 2d2578db31c3 drm/i915: Enable infoframes on GLK+ for HDR
>>>> -:49: WARNING:LONG_LINE: line over 100 characters
>>>> #49: FILE: drivers/gpu/drm/i915/i915_reg.h:8155:
>>>> +#define GLK_TVIDEO_DIP_DRM_DATA(trans, i)	_MMIO_TRANS2(trans,
>>>_GLK_VIDEO_DIP_DRM_DATA_A + (i) * 4)
>>>
>>>I think all of the warnings except this one are valid.
>>
>> Yes Jani,  The local patchwork (which comes default with scripts in
>> kernel) didn't had the issues. So local checkpatch scan looked clean.
>
>You'll need to pass in the --strict option to checkpatch.pl for some of the checks.

Sure, this indeed is highlighting the errors. Thanks Jani, will always check with --strict in future.

Regards,
Uma Shankar

>BR,
>Jani.
>
>
>>
>> Will fix these in next version.
>>
>> Thanks & Regards,
>> Uma Shankar
>>
>>>BR,
>>>Jani.
>>>
>>>>
>>>> total: 0 errors, 1 warnings, 0 checks, 76 lines checked b8f04b68ec8f
>>>> drm/i915:Enabled Modeset when HDR Infoframe changes
>>>> -:57: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>>> parenthesis
>>>> #57: FILE: drivers/gpu/drm/i915/intel_hdmi.c:796:
>>>> +	if (!conn_state->hdr_output_metadata_blob_ptr ||
>>>> +		conn_state->hdr_output_metadata_blob_ptr->length == 0)
>>>>
>>>> total: 0 errors, 0 warnings, 1 checks, 37 lines checked 3d5cb1bb27ca
>>>> drm/i915: Set Infoframe for non modeset case for HDR
>>>> -:35: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open
>>>> parenthesis
>>>> #35: FILE: drivers/gpu/drm/i915/intel_ddi.c:3586:
>>>> +		if ((INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) &&
>>>> +			conn_state->hdr_metadata_changed)
>>>>
>>>> total: 0 errors, 0 warnings, 1 checks, 25 lines checked
>>>> 2c84b2fe5c71 video/hdmi: Add const variants for drm infoframe
>>>>
>>>> _______________________________________________
>>>> Intel-gfx mailing list
>>>> Intel-gfx@lists.freedesktop.org
>>>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>>>
>>>--
>>>Jani Nikula, Intel Open Source Graphics Center
>
>--
>Jani Nikula, Intel Open Source Graphics Center