@@ -70,12 +70,12 @@ static void meson_encoder_hdmi_set_vclk(struct meson_encoder_hdmi *encoder_hdmi,
7070{
7171 struct meson_drm * priv = encoder_hdmi -> priv ;
7272 int vic = drm_match_cea_mode (mode );
73- unsigned int phy_freq ;
74- unsigned int vclk_freq ;
75- unsigned int venc_freq ;
76- unsigned int hdmi_freq ;
73+ unsigned long long phy_freq ;
74+ unsigned long long vclk_freq ;
75+ unsigned long long venc_freq ;
76+ unsigned long long hdmi_freq ;
7777
78- vclk_freq = mode -> clock ;
78+ vclk_freq = mode -> clock * 1000 ;
7979
8080 /* For 420, pixel clock is half unlike venc clock */
8181 if (encoder_hdmi -> output_bus_fmt == MEDIA_BUS_FMT_UYYVYY8_0_5X24 )
@@ -107,7 +107,8 @@ static void meson_encoder_hdmi_set_vclk(struct meson_encoder_hdmi *encoder_hdmi,
107107 if (mode -> flags & DRM_MODE_FLAG_DBLCLK )
108108 venc_freq /= 2 ;
109109
110- dev_dbg (priv -> dev , "vclk:%d phy=%d venc=%d hdmi=%d enci=%d\n" ,
110+ dev_dbg (priv -> dev ,
111+ "vclk:%lluHz phy=%lluHz venc=%lluHz hdmi=%lluHz enci=%d\n" ,
111112 phy_freq , vclk_freq , venc_freq , hdmi_freq ,
112113 priv -> venc .hdmi_use_enci );
113114
@@ -122,10 +123,11 @@ static enum drm_mode_status meson_encoder_hdmi_mode_valid(struct drm_bridge *bri
122123 struct meson_encoder_hdmi * encoder_hdmi = bridge_to_meson_encoder_hdmi (bridge );
123124 struct meson_drm * priv = encoder_hdmi -> priv ;
124125 bool is_hdmi2_sink = display_info -> hdmi .scdc .supported ;
125- unsigned int phy_freq ;
126- unsigned int vclk_freq ;
127- unsigned int venc_freq ;
128- unsigned int hdmi_freq ;
126+ unsigned long long clock = mode -> clock * 1000 ;
127+ unsigned long long phy_freq ;
128+ unsigned long long vclk_freq ;
129+ unsigned long long venc_freq ;
130+ unsigned long long hdmi_freq ;
129131 int vic = drm_match_cea_mode (mode );
130132 enum drm_mode_status status ;
131133
@@ -144,12 +146,12 @@ static enum drm_mode_status meson_encoder_hdmi_mode_valid(struct drm_bridge *bri
144146 if (status != MODE_OK )
145147 return status ;
146148
147- return meson_vclk_dmt_supported_freq (priv , mode -> clock );
149+ return meson_vclk_dmt_supported_freq (priv , clock );
148150 /* Check against supported VIC modes */
149151 } else if (!meson_venc_hdmi_supported_vic (vic ))
150152 return MODE_BAD ;
151153
152- vclk_freq = mode -> clock ;
154+ vclk_freq = clock ;
153155
154156 /* For 420, pixel clock is half unlike venc clock */
155157 if (drm_mode_is_420_only (display_info , mode ) ||
@@ -179,7 +181,8 @@ static enum drm_mode_status meson_encoder_hdmi_mode_valid(struct drm_bridge *bri
179181 if (mode -> flags & DRM_MODE_FLAG_DBLCLK )
180182 venc_freq /= 2 ;
181183
182- dev_dbg (priv -> dev , "%s: vclk:%d phy=%d venc=%d hdmi=%d\n" ,
184+ dev_dbg (priv -> dev ,
185+ "%s: vclk:%lluHz phy=%lluHz venc=%lluHz hdmi=%lluHz\n" ,
183186 __func__ , phy_freq , vclk_freq , venc_freq , hdmi_freq );
184187
185188 return meson_vclk_vic_supported_freq (priv , phy_freq , vclk_freq );
0 commit comments