X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=drivers%2Fgpu%2Fdrm%2Fvc4%2Fvc4_hdmi.h;h=2c599dbed6815c10267be16c676776becdf3a2e3;hb=37092df65a4e853d24a6b916b46c6f2ef27fa2e6;hp=ecebccad4569adcf6429a5fbd0b75b9dd3aae3d7;hpb=912e47c9ce65853994543ef14ada1534791d5ac8;p=platform%2Fkernel%2Flinux-rpi.git diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.h b/drivers/gpu/drm/vc4/vc4_hdmi.h index ecebcca..2c599db 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.h +++ b/drivers/gpu/drm/vc4/vc4_hdmi.h @@ -12,6 +12,10 @@ struct vc4_hdmi; struct vc4_hdmi_register; struct vc4_hdmi_connector_state; +#ifdef CONFIG_EXTCON +struct extcon_dev; +#endif + enum vc4_hdmi_phy_channel { PHY_LANE_0 = 0, PHY_LANE_1, @@ -111,6 +115,7 @@ struct vc4_hdmi_audio { }; enum vc4_hdmi_output_format { + VC4_HDMI_OUTPUT_AUTO, VC4_HDMI_OUTPUT_RGB, VC4_HDMI_OUTPUT_YUV422, VC4_HDMI_OUTPUT_YUV444, @@ -130,6 +135,7 @@ struct vc4_hdmi { struct delayed_work scrambling_work; struct drm_property *broadcast_rgb_property; + struct drm_property *output_format_property; struct i2c_adapter *ddc; void __iomem *hdmicore_regs; @@ -214,6 +220,11 @@ struct vc4_hdmi { * for use outside of KMS hooks. Protected by @mutex. */ enum vc4_hdmi_output_format output_format; + /** + * @requested_output_format: Copy of @vc4_connector_state.requested_output_format + * for use outside of KMS hooks. Protected by @mutex. + */ + enum vc4_hdmi_output_format requested_output_format; /** * @broadcast_rgb: Copy of @vc4_connector_state.broadcast_rgb @@ -228,6 +239,11 @@ struct vc4_hdmi { struct debugfs_regset32 phy_regset; struct debugfs_regset32 ram_regset; struct debugfs_regset32 rm_regset; + +#ifdef CONFIG_EXTCON + enum drm_connector_status status; + struct extcon_dev *edev; +#endif }; static inline struct vc4_hdmi * @@ -248,6 +264,7 @@ struct vc4_hdmi_connector_state { unsigned long long pixel_rate; unsigned int output_bpc; enum vc4_hdmi_output_format output_format; + enum vc4_hdmi_output_format requested_output_format; int broadcast_rgb; };