Move audio-related functions to dp_audio.c, following up the cleanup
done by the rest of the submodules. Inline functions with simple
register access patterns.

Signed-off-by: Dmitry Baryshkov <dmitry.barysh...@linaro.org>
---
 drivers/gpu/drm/msm/dp/dp_audio.c   |  72 +++++++++++++++++++++----
 drivers/gpu/drm/msm/dp/dp_catalog.c | 105 ------------------------------------
 drivers/gpu/drm/msm/dp/dp_catalog.h |   6 ---
 3 files changed, 63 insertions(+), 120 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_audio.c 
b/drivers/gpu/drm/msm/dp/dp_audio.c
index 
24b62faa875437e184895c6d03df19884ebb1fd6..4eec0af178cbb190b4e9262dbe9a6e788a57c054
 100644
--- a/drivers/gpu/drm/msm/dp/dp_audio.c
+++ b/drivers/gpu/drm/msm/dp/dp_audio.c
@@ -119,9 +119,41 @@ static void msm_dp_audio_isrc_sdp(struct 
msm_dp_audio_private *audio)
        msm_dp_write_link(catalog, MMSS_DP_AUDIO_ISRC_1, header[1]);
 }
 
+static void msm_dp_audio_config_sdp(struct msm_dp_audio_private *audio)
+{
+       struct msm_dp_catalog *msm_dp_catalog = audio->catalog;
+       u32 sdp_cfg, sdp_cfg2;
+
+       sdp_cfg = msm_dp_read_link(msm_dp_catalog, MMSS_DP_SDP_CFG);
+       /* AUDIO_TIMESTAMP_SDP_EN */
+       sdp_cfg |= BIT(1);
+       /* AUDIO_STREAM_SDP_EN */
+       sdp_cfg |= BIT(2);
+       /* AUDIO_COPY_MANAGEMENT_SDP_EN */
+       sdp_cfg |= BIT(5);
+       /* AUDIO_ISRC_SDP_EN  */
+       sdp_cfg |= BIT(6);
+       /* AUDIO_INFOFRAME_SDP_EN  */
+       sdp_cfg |= BIT(20);
+
+       drm_dbg_dp(audio->drm_dev, "sdp_cfg = 0x%x\n", sdp_cfg);
+
+       msm_dp_write_link(msm_dp_catalog, MMSS_DP_SDP_CFG, sdp_cfg);
+
+       sdp_cfg2 = msm_dp_read_link(msm_dp_catalog, MMSS_DP_SDP_CFG2);
+       /* IFRM_REGSRC -> Do not use reg values */
+       sdp_cfg2 &= ~BIT(0);
+       /* AUDIO_STREAM_HB3_REGSRC-> Do not use reg values */
+       sdp_cfg2 &= ~BIT(1);
+
+       drm_dbg_dp(audio->drm_dev, "sdp_cfg2 = 0x%x\n", sdp_cfg2);
+
+       msm_dp_write_link(msm_dp_catalog, MMSS_DP_SDP_CFG2, sdp_cfg2);
+}
+
 static void msm_dp_audio_setup_sdp(struct msm_dp_audio_private *audio)
 {
-       msm_dp_catalog_audio_config_sdp(audio->catalog);
+       msm_dp_audio_config_sdp(audio);
 
        msm_dp_audio_stream_sdp(audio);
        msm_dp_audio_timestamp_sdp(audio);
@@ -132,8 +164,7 @@ static void msm_dp_audio_setup_sdp(struct 
msm_dp_audio_private *audio)
 
 static void msm_dp_audio_setup_acr(struct msm_dp_audio_private *audio)
 {
-       u32 select = 0;
-       struct msm_dp_catalog *catalog = audio->catalog;
+       u32 select, acr_ctrl;
 
        switch (audio->msm_dp_audio.bw_code) {
        case DP_LINK_BW_1_62:
@@ -154,13 +185,17 @@ static void msm_dp_audio_setup_acr(struct 
msm_dp_audio_private *audio)
                break;
        }
 
-       msm_dp_catalog_audio_config_acr(catalog, select);
+       acr_ctrl = select << 4 | BIT(31) | BIT(8) | BIT(14);
+
+       drm_dbg_dp(audio->drm_dev, "select: %#x, acr_ctrl: %#x\n",
+                  select, acr_ctrl);
+
+       msm_dp_write_link(audio->catalog, MMSS_DP_AUDIO_ACR_CTRL, acr_ctrl);
 }
 
 static void msm_dp_audio_safe_to_exit_level(struct msm_dp_audio_private *audio)
 {
-       struct msm_dp_catalog *catalog = audio->catalog;
-       u32 safe_to_exit_level = 0;
+       u32 safe_to_exit_level, mainlink_levels;
 
        switch (audio->msm_dp_audio.lane_count) {
        case 1:
@@ -180,14 +215,33 @@ static void msm_dp_audio_safe_to_exit_level(struct 
msm_dp_audio_private *audio)
                break;
        }
 
-       msm_dp_catalog_audio_sfe_level(catalog, safe_to_exit_level);
+       mainlink_levels = msm_dp_read_link(audio->catalog, 
REG_DP_MAINLINK_LEVELS);
+       mainlink_levels &= 0xFE0;
+       mainlink_levels |= safe_to_exit_level;
+
+       drm_dbg_dp(audio->drm_dev,
+                  "mainlink_level = 0x%x, safe_to_exit_level = 0x%x\n",
+                  mainlink_levels, safe_to_exit_level);
+
+       msm_dp_write_link(audio->catalog, REG_DP_MAINLINK_LEVELS, 
mainlink_levels);
 }
 
 static void msm_dp_audio_enable(struct msm_dp_audio_private *audio, bool 
enable)
 {
-       struct msm_dp_catalog *catalog = audio->catalog;
+       u32 audio_ctrl;
+
+       audio_ctrl = msm_dp_read_link(audio->catalog, MMSS_DP_AUDIO_CFG);
+
+       if (enable)
+               audio_ctrl |= BIT(0);
+       else
+               audio_ctrl &= ~BIT(0);
+
+       drm_dbg_dp(audio->drm_dev, "dp_audio_cfg = 0x%x\n", audio_ctrl);
 
-       msm_dp_catalog_audio_enable(catalog, enable);
+       msm_dp_write_link(audio->catalog, MMSS_DP_AUDIO_CFG, audio_ctrl);
+       /* make sure audio engine is disabled */
+       wmb();
 }
 
 static struct msm_dp_audio_private *msm_dp_audio_get_data(struct 
platform_device *pdev)
diff --git a/drivers/gpu/drm/msm/dp/dp_catalog.c 
b/drivers/gpu/drm/msm/dp/dp_catalog.c
index 
5071c86fd219cb1c933b32104a396982c5cc8ace..60ba6e0a204f536fd050591e891add17d286fb2d
 100644
--- a/drivers/gpu/drm/msm/dp/dp_catalog.c
+++ b/drivers/gpu/drm/msm/dp/dp_catalog.c
@@ -298,108 +298,3 @@ struct msm_dp_catalog *msm_dp_catalog_get(struct device 
*dev)
 
        return &catalog->msm_dp_catalog;
 }
-
-void msm_dp_catalog_audio_config_acr(struct msm_dp_catalog *msm_dp_catalog, 
u32 select)
-{
-       struct msm_dp_catalog_private *catalog;
-       u32 acr_ctrl;
-
-       if (!msm_dp_catalog)
-               return;
-
-       catalog = container_of(msm_dp_catalog,
-               struct msm_dp_catalog_private, msm_dp_catalog);
-
-       acr_ctrl = select << 4 | BIT(31) | BIT(8) | BIT(14);
-
-       drm_dbg_dp(catalog->drm_dev, "select: %#x, acr_ctrl: %#x\n",
-                                       select, acr_ctrl);
-
-       msm_dp_write_link(msm_dp_catalog, MMSS_DP_AUDIO_ACR_CTRL, acr_ctrl);
-}
-
-void msm_dp_catalog_audio_enable(struct msm_dp_catalog *msm_dp_catalog, bool 
enable)
-{
-       struct msm_dp_catalog_private *catalog;
-       u32 audio_ctrl;
-
-       if (!msm_dp_catalog)
-               return;
-
-       catalog = container_of(msm_dp_catalog,
-               struct msm_dp_catalog_private, msm_dp_catalog);
-
-       audio_ctrl = msm_dp_read_link(msm_dp_catalog, MMSS_DP_AUDIO_CFG);
-
-       if (enable)
-               audio_ctrl |= BIT(0);
-       else
-               audio_ctrl &= ~BIT(0);
-
-       drm_dbg_dp(catalog->drm_dev, "dp_audio_cfg = 0x%x\n", audio_ctrl);
-
-       msm_dp_write_link(msm_dp_catalog, MMSS_DP_AUDIO_CFG, audio_ctrl);
-       /* make sure audio engine is disabled */
-       wmb();
-}
-
-void msm_dp_catalog_audio_config_sdp(struct msm_dp_catalog *msm_dp_catalog)
-{
-       struct msm_dp_catalog_private *catalog;
-       u32 sdp_cfg = 0;
-       u32 sdp_cfg2 = 0;
-
-       if (!msm_dp_catalog)
-               return;
-
-       catalog = container_of(msm_dp_catalog,
-               struct msm_dp_catalog_private, msm_dp_catalog);
-
-       sdp_cfg = msm_dp_read_link(msm_dp_catalog, MMSS_DP_SDP_CFG);
-       /* AUDIO_TIMESTAMP_SDP_EN */
-       sdp_cfg |= BIT(1);
-       /* AUDIO_STREAM_SDP_EN */
-       sdp_cfg |= BIT(2);
-       /* AUDIO_COPY_MANAGEMENT_SDP_EN */
-       sdp_cfg |= BIT(5);
-       /* AUDIO_ISRC_SDP_EN  */
-       sdp_cfg |= BIT(6);
-       /* AUDIO_INFOFRAME_SDP_EN  */
-       sdp_cfg |= BIT(20);
-
-       drm_dbg_dp(catalog->drm_dev, "sdp_cfg = 0x%x\n", sdp_cfg);
-
-       msm_dp_write_link(msm_dp_catalog, MMSS_DP_SDP_CFG, sdp_cfg);
-
-       sdp_cfg2 = msm_dp_read_link(msm_dp_catalog, MMSS_DP_SDP_CFG2);
-       /* IFRM_REGSRC -> Do not use reg values */
-       sdp_cfg2 &= ~BIT(0);
-       /* AUDIO_STREAM_HB3_REGSRC-> Do not use reg values */
-       sdp_cfg2 &= ~BIT(1);
-
-       drm_dbg_dp(catalog->drm_dev, "sdp_cfg2 = 0x%x\n", sdp_cfg2);
-
-       msm_dp_write_link(msm_dp_catalog, MMSS_DP_SDP_CFG2, sdp_cfg2);
-}
-
-void msm_dp_catalog_audio_sfe_level(struct msm_dp_catalog *msm_dp_catalog, u32 
safe_to_exit_level)
-{
-       struct msm_dp_catalog_private *catalog;
-       u32 mainlink_levels;
-
-       if (!msm_dp_catalog)
-               return;
-
-       catalog = container_of(msm_dp_catalog,
-               struct msm_dp_catalog_private, msm_dp_catalog);
-
-       mainlink_levels = msm_dp_read_link(msm_dp_catalog, 
REG_DP_MAINLINK_LEVELS);
-       mainlink_levels &= 0xFE0;
-       mainlink_levels |= safe_to_exit_level;
-
-       drm_dbg_dp(catalog->drm_dev,
-                       "mainlink_level = 0x%x, safe_to_exit_level = 0x%x\n",
-                        mainlink_levels, safe_to_exit_level);
-
-       msm_dp_write_link(msm_dp_catalog, REG_DP_MAINLINK_LEVELS, 
mainlink_levels);
-}
diff --git a/drivers/gpu/drm/msm/dp/dp_catalog.h 
b/drivers/gpu/drm/msm/dp/dp_catalog.h
index 
24f1cf4ed5150c4e0e80880588641a01bb6a1596..e2fdccc332f874458709593c68a1d1a46b6cc406
 100644
--- a/drivers/gpu/drm/msm/dp/dp_catalog.h
+++ b/drivers/gpu/drm/msm/dp/dp_catalog.h
@@ -134,10 +134,4 @@ u32 msm_dp_catalog_ctrl_read_psr_interrupt_status(struct 
msm_dp_catalog *msm_dp_
 
 struct msm_dp_catalog *msm_dp_catalog_get(struct device *dev);
 
-/* DP Audio APIs */
-void msm_dp_catalog_audio_config_acr(struct msm_dp_catalog *catalog, u32 
select);
-void msm_dp_catalog_audio_enable(struct msm_dp_catalog *catalog, bool enable);
-void msm_dp_catalog_audio_config_sdp(struct msm_dp_catalog *catalog);
-void msm_dp_catalog_audio_sfe_level(struct msm_dp_catalog *catalog, u32 
safe_to_exit_level);
-
 #endif /* _DP_CATALOG_H_ */

-- 
2.39.5

Reply via email to