Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/msm: make HDCP support optional

It is already optional at runtime. But this at least simplifies
backports to kernels without QCOM_SCM.

Signed-off-by: Rob Clark <robdclark@gmail.com>

Rob Clark feb46f02 0552f765

+20 -1
+7
drivers/gpu/drm/msm/Kconfig
··· 23 23 that can be parsed by envytools demsm tool. If enabled, register 24 24 logging can be switched on via msm.reglog=y module param. 25 25 26 + config DRM_MSM_HDMI_HDCP 27 + bool "Enable HDMI HDCP support in MSM DRM driver" 28 + depends on DRM_MSM && QCOM_SCM 29 + default y 30 + help 31 + Choose this option to enable HDCP state machine 32 + 26 33 config DRM_MSM_DSI 27 34 bool "Enable DSI support in MSM DRM driver" 28 35 depends on DRM_MSM
+2 -1
drivers/gpu/drm/msm/Makefile
··· 10 10 hdmi/hdmi_audio.o \ 11 11 hdmi/hdmi_bridge.o \ 12 12 hdmi/hdmi_connector.o \ 13 - hdmi/hdmi_hdcp.o \ 14 13 hdmi/hdmi_i2c.o \ 15 14 hdmi/hdmi_phy.o \ 16 15 hdmi/hdmi_phy_8960.o \ ··· 54 55 msm-$(CONFIG_COMMON_CLK) += mdp/mdp4/mdp4_lvds_pll.o 55 56 msm-$(CONFIG_COMMON_CLK) += hdmi/hdmi_pll_8960.o 56 57 msm-$(CONFIG_COMMON_CLK) += hdmi/hdmi_phy_8996.o 58 + 59 + msm-$(CONFIG_DRM_MSM_HDMI_HDCP) += hdmi/hdmi_hdcp.o 57 60 58 61 msm-$(CONFIG_DRM_MSM_DSI) += dsi/dsi.o \ 59 62 mdp/mdp4/mdp4_dsi_encoder.o \
+11
drivers/gpu/drm/msm/hdmi/hdmi.h
··· 243 243 /* 244 244 * hdcp 245 245 */ 246 + #ifdef CONFIG_DRM_MSM_HDMI_HDCP 246 247 struct hdmi_hdcp_ctrl *msm_hdmi_hdcp_init(struct hdmi *hdmi); 247 248 void msm_hdmi_hdcp_destroy(struct hdmi *hdmi); 248 249 void msm_hdmi_hdcp_on(struct hdmi_hdcp_ctrl *hdcp_ctrl); 249 250 void msm_hdmi_hdcp_off(struct hdmi_hdcp_ctrl *hdcp_ctrl); 250 251 void msm_hdmi_hdcp_irq(struct hdmi_hdcp_ctrl *hdcp_ctrl); 252 + #else 253 + static inline struct hdmi_hdcp_ctrl *msm_hdmi_hdcp_init(struct hdmi *hdmi) 254 + { 255 + return ERR_PTR(-ENXIO); 256 + } 257 + static inline void msm_hdmi_hdcp_destroy(struct hdmi *hdmi) {} 258 + static inline void msm_hdmi_hdcp_on(struct hdmi_hdcp_ctrl *hdcp_ctrl) {} 259 + static inline void msm_hdmi_hdcp_off(struct hdmi_hdcp_ctrl *hdcp_ctrl) {} 260 + static inline void msm_hdmi_hdcp_irq(struct hdmi_hdcp_ctrl *hdcp_ctrl) {} 261 + #endif 251 262 252 263 #endif /* __HDMI_CONNECTOR_H__ */