[Intel-gfx] [PATCH 4/7] drm/i915/display: Set HDR Infoframe for HDR capable LSPCON devices

Jani Nikula jani.nikula at linux.intel.com
Tue Apr 7 12:37:51 UTC 2020


On Tue, 07 Apr 2020, Jani Nikula <jani.nikula at linux.intel.com> wrote:
> On Fri, 27 Mar 2020, Vipin Anand <vipin.anand at intel.com> wrote:
>> From: Uma Shankar <uma.shankar at intel.com>
>>
>> Send Dynamic Range and Mastering Infoframe (DRM for HDR metadata)
>> as SDP packet to LSPCON following the DP spec. LSPCON receives the
>> same and sends it to HDMI sink.
>>
>> v2: Suppressed some warnings. No functional change.
>>
>> Signed-off-by: Uma Shankar <uma.shankar at intel.com>
>> ---
>>  drivers/gpu/drm/drm_atomic_state_helper.c   | 1 +
>>  drivers/gpu/drm/drm_atomic_uapi.c           | 1 +
>>  drivers/gpu/drm/i915/display/intel_lspcon.h | 1 +
>>  include/drm/drm_connector.h                 | 1 +
>>  4 files changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c b/drivers/gpu/drm/drm_atomic_state_helper.c
>> index 7cf3cf936547..7cf98c06f424 100644
>> --- a/drivers/gpu/drm/drm_atomic_state_helper.c
>> +++ b/drivers/gpu/drm/drm_atomic_state_helper.c
>> @@ -468,6 +468,7 @@ __drm_atomic_helper_connector_duplicate_state(struct drm_connector *connector,
>>  
>>  	if (state->hdr_output_metadata)
>>  		drm_property_blob_get(state->hdr_output_metadata);
>> +	state->hdr_metadata_changed = false;
>>  
>>  	/* Don't copy over a writeback job, they are used only once */
>>  	state->writeback_job = NULL;
>> diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c
>> index a1e5e262bae2..4c520e0b9872 100644
>> --- a/drivers/gpu/drm/drm_atomic_uapi.c
>> +++ b/drivers/gpu/drm/drm_atomic_uapi.c
>> @@ -734,6 +734,7 @@ static int drm_atomic_connector_set_property(struct drm_connector *connector,
>>  				val,
>>  				sizeof(struct hdr_output_metadata), -1,
>>  				&replaced);
>> +		state->hdr_metadata_changed |= replaced;
>>  		return ret;
>>  	} else if (property == config->aspect_ratio_property) {
>>  		state->picture_aspect_ratio = val;
>> diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.h b/drivers/gpu/drm/i915/display/intel_lspcon.h
>> index b2051f236223..bc34124f532e 100644
>> --- a/drivers/gpu/drm/i915/display/intel_lspcon.h
>> +++ b/drivers/gpu/drm/i915/display/intel_lspcon.h
>> @@ -38,4 +38,5 @@ void lspcon_drm_write_infoframe(struct intel_encoder *encoder,
>>  				const struct intel_crtc_state *crtc_state,
>>  				unsigned int type,
>>  				const void *frame, ssize_t len);
>> +
>
> Superfluous change.
>
> Patch needs to be posted to dri-devel.

Alternatively, the details need to be in intel specific states.

>
> BR,
> Jani.
>
>>  #endif /* __INTEL_LSPCON_H__ */
>> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
>> index 221910948b37..28df268aa1a7 100644
>> --- a/include/drm/drm_connector.h
>> +++ b/include/drm/drm_connector.h
>> @@ -661,6 +661,7 @@ struct drm_connector_state {
>>  	 * DRM blob property for HDR output metadata
>>  	 */
>>  	struct drm_property_blob *hdr_output_metadata;
>> +	u8 hdr_metadata_changed : 1;
>>  };
>>  
>>  /**

-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the Intel-gfx mailing list