From 0030d5f8d5757725a789ffdbc9662e0efedf924d Mon Sep 17 00:00:00 2001 From: Chandan Uddaraju Date: Mon, 28 Mar 2016 16:34:27 -0700 Subject: msm: mdss: update header file with DP audio APIs The current header file supports hdmi and audio interaction using the exposed APIs. Update the common structures and the APIs to support display port and hdmi interaction with audio codec driver. CRs-Fixed: 1009284 Change-Id: I3962fd0cbc278c403584e767611f11d841e14d4e Signed-off-by: Chandan Uddaraju --- include/linux/msm_ext_display.h | 103 ++++++++++++++++++++++++++++++++++++++++ include/linux/msm_hdmi.h | 93 ------------------------------------ 2 files changed, 103 insertions(+), 93 deletions(-) create mode 100644 include/linux/msm_ext_display.h delete mode 100644 include/linux/msm_hdmi.h (limited to 'include/linux') diff --git a/include/linux/msm_ext_display.h b/include/linux/msm_ext_display.h new file mode 100644 index 000000000000..eb90b49477cc --- /dev/null +++ b/include/linux/msm_ext_display.h @@ -0,0 +1,103 @@ +/* include/linux/msm_ext_display.h + * + * Copyright (c) 2014-2016 The Linux Foundation. All rights reserved. + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ +#ifndef _MSM_EXT_DISPLAY_H_ +#define _MSM_EXT_DISPLAY_H_ + +#include +#include + +/* + * External display cable notify handler structure. + * link A link for the linked list + * status Current status of HDMI/DP cable connection + * hpd_notify Callback function to provide cable status + */ +struct ext_disp_cable_notify { + struct list_head link; + int status; + void (*hpd_notify)(struct ext_disp_cable_notify *h); +}; + +struct msm_ext_disp_audio_edid_blk { + u8 *audio_data_blk; + unsigned int audio_data_blk_size; /* in bytes */ + u8 *spk_alloc_data_blk; + unsigned int spk_alloc_data_blk_size; /* in bytes */ +}; + +struct msm_ext_disp_audio_setup_params { + u32 sample_rate_hz; + u32 num_of_channels; + u32 channel_allocation; + u32 level_shift; + bool down_mix; + u32 sample_present; +}; + +struct msm_ext_disp_audio_codec_ops { + int (*audio_info_setup)(struct platform_device *pdev, + struct msm_ext_disp_audio_setup_params *params); + int (*get_audio_edid_blk)(struct platform_device *pdev, + struct msm_ext_disp_audio_edid_blk *blk); + int (*cable_status)(struct platform_device *pdev, u32 vote); +}; + +#ifdef CONFIG_FB_MSM_MDSS_DP_PANEL +int msm_dp_register_audio_codec(struct platform_device *pdev, + struct msm_ext_disp_audio_codec_ops *ops); + +#else +static inline int msm_dp_register_audio_codec(struct platform_device *pdev, + struct msm_ext_disp_audio_codec_ops *ops) { + return 0; +} +#endif /* CONFIG_FB_MSM_MDSS_DP_PANEL */ +#ifdef CONFIG_FB_MSM_MDSS_HDMI_PANEL +/* + * Register for HDMI cable connect or disconnect notification. + * @param handler callback handler for notification + * @return negative value as error otherwise current status of cable + */ +int register_hdmi_cable_notification( + struct ext_disp_cable_notify *handler); + +/* + * Un-register for HDMI cable connect or disconnect notification. + * @param handler callback handler for notification + * @return negative value as error + */ +int unregister_hdmi_cable_notification( + struct ext_disp_cable_notify *handler); + +int msm_hdmi_register_audio_codec(struct platform_device *pdev, + struct msm_ext_disp_audio_codec_ops *ops); + +#else +static inline int register_hdmi_cable_notification( + struct ext_disp_cable_notify *handler) { + return 0; +} + +static inline int unregister_hdmi_cable_notification( + struct ext_disp_cable_notify *handler) { + return 0; +} + +static inline int msm_hdmi_register_audio_codec(struct platform_device *pdev, + struct msm_ext_disp_audio_codec_ops *ops) { + return 0; +} +#endif /* CONFIG_FB_MSM_MDSS_HDMI_PANEL */ + +#endif /*_MSM_EXT_DISPLAY_H_*/ diff --git a/include/linux/msm_hdmi.h b/include/linux/msm_hdmi.h deleted file mode 100644 index 45b206b86765..000000000000 --- a/include/linux/msm_hdmi.h +++ /dev/null @@ -1,93 +0,0 @@ -/* include/linux/msm_hdmi.h - * - * Copyright (c) 2014-2015 The Linux Foundation. All rights reserved. - * - * This software is licensed under the terms of the GNU General Public - * License version 2, as published by the Free Software Foundation, and - * may be copied, distributed, and modified under those terms. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ -#ifndef _MSM_HDMI_H_ -#define _MSM_HDMI_H_ - -#include -#include - -/* - * HDMI cable notify handler sturcture. - * link A link for the linked list - * status Current status of HDMI cable connection - * hpd_notify Callback function to provide cable status - */ -struct hdmi_cable_notify { - struct list_head link; - int status; - void (*hpd_notify) (struct hdmi_cable_notify *h); -}; - -struct msm_hdmi_audio_edid_blk { - u8 *audio_data_blk; - unsigned int audio_data_blk_size; /* in bytes */ - u8 *spk_alloc_data_blk; - unsigned int spk_alloc_data_blk_size; /* in bytes */ -}; - -struct msm_hdmi_audio_setup_params { - u32 sample_rate_hz; - u32 num_of_channels; - u32 channel_allocation; - u32 level_shift; - bool down_mix; - u32 sample_present; -}; - -struct msm_hdmi_audio_codec_ops { - int (*audio_info_setup)(struct platform_device *pdev, - struct msm_hdmi_audio_setup_params *params); - int (*get_audio_edid_blk) (struct platform_device *pdev, - struct msm_hdmi_audio_edid_blk *blk); - int (*hdmi_cable_status) (struct platform_device *pdev, u32 vote); -}; - -#ifdef CONFIG_FB_MSM_MDSS_HDMI_PANEL -/* - * Register for HDMI cable connect or disconnect notification. - * @param handler callback handler for notification - * @return negative value as error otherwise current status of cable - */ -int register_hdmi_cable_notification( - struct hdmi_cable_notify *handler); - -/* - * Un-register for HDMI cable connect or disconnect notification. - * @param handler callback handler for notification - * @return negative value as error - */ -int unregister_hdmi_cable_notification( - struct hdmi_cable_notify *handler); - -int msm_hdmi_register_audio_codec(struct platform_device *pdev, - struct msm_hdmi_audio_codec_ops *ops); - -#else -static inline int register_hdmi_cable_notification( - struct hdmi_cable_notify *handler) { - return 0; -} - -static inline int unregister_hdmi_cable_notification( - struct hdmi_cable_notify *handler) { - return 0; -} - -static inline int msm_hdmi_register_audio_codec(struct platform_device *pdev, - struct msm_hdmi_audio_codec_ops *ops) { - return 0; -} -#endif /* CONFIG_FB_MSM_MDSS_HDMI_PANEL */ - -#endif /*_MSM_HDMI_H_*/ -- cgit v1.2.3