Message ID | 20200327052357.22269-5-vipin.anand@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Enable HDR on Gen9 devices with lspcon hdr capability | expand |
On Fri, 27 Mar 2020, Vipin Anand <vipin.anand@intel.com> wrote: > From: Uma Shankar <uma.shankar@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@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. 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; > }; > > /**
On Tue, 07 Apr 2020, Jani Nikula <jani.nikula@linux.intel.com> wrote: > On Fri, 27 Mar 2020, Vipin Anand <vipin.anand@intel.com> wrote: >> From: Uma Shankar <uma.shankar@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@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; >> }; >> >> /**
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); + #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; }; /**