mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 09:19:51 +00:00
drm/i915/display: Implement DRM infoframe read for LSPCON
Implement Read back of HDR metadata infoframes i.e Dynamic Range and Mastering Infoframe for LSPCON devices. v2: Added proper bitmask of enabled infoframes as per Ville's recommendation. v3: Dropped a redundant wrapper as per Ville's comment. v4: Dropped a redundant print, added Ville's RB. Signed-off-by: Uma Shankar <uma.shankar@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20201130204738.2443-14-uma.shankar@intel.com
This commit is contained in:
parent
34108a03e4
commit
b759415020
3 changed files with 11 additions and 5 deletions
|
@ -555,10 +555,9 @@ void hsw_write_infoframe(struct intel_encoder *encoder,
|
|||
intel_de_posting_read(dev_priv, ctl_reg);
|
||||
}
|
||||
|
||||
static void hsw_read_infoframe(struct intel_encoder *encoder,
|
||||
const struct intel_crtc_state *crtc_state,
|
||||
unsigned int type,
|
||||
void *frame, ssize_t len)
|
||||
void hsw_read_infoframe(struct intel_encoder *encoder,
|
||||
const struct intel_crtc_state *crtc_state,
|
||||
unsigned int type, void *frame, ssize_t len)
|
||||
{
|
||||
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
|
||||
enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
|
||||
|
|
|
@ -484,7 +484,10 @@ void lspcon_read_infoframe(struct intel_encoder *encoder,
|
|||
unsigned int type,
|
||||
void *frame, ssize_t len)
|
||||
{
|
||||
/* FIXME implement this */
|
||||
/* FIXME implement for AVI Infoframe as well */
|
||||
if (type == HDMI_PACKET_TYPE_GAMUT_METADATA)
|
||||
hsw_read_infoframe(encoder, crtc_state, type,
|
||||
frame, len);
|
||||
}
|
||||
|
||||
void lspcon_set_infoframes(struct intel_encoder *encoder,
|
||||
|
|
|
@ -39,5 +39,9 @@ void hsw_write_infoframe(struct intel_encoder *encoder,
|
|||
const struct intel_crtc_state *crtc_state,
|
||||
unsigned int type,
|
||||
const void *frame, ssize_t len);
|
||||
void hsw_read_infoframe(struct intel_encoder *encoder,
|
||||
const struct intel_crtc_state *crtc_state,
|
||||
unsigned int type,
|
||||
void *frame, ssize_t len);
|
||||
|
||||
#endif /* __INTEL_LSPCON_H__ */
|
||||
|
|
Loading…
Reference in a new issue