[drm:i915-vtable-cleanup 12/12] drivers/gpu/drm/i915/display/intel_audio.c:685:13: error: 'ilk_audio_codec_disable' defined but not used

kernel test robot lkp at intel.com
Wed Sep 8 13:32:11 UTC 2021


tree:   git://people.freedesktop.org/~airlied/linux.git i915-vtable-cleanup
head:   b0d0061aeef594fc572295c0e3c02ba91596cbf6
commit: b0d0061aeef594fc572295c0e3c02ba91596cbf6 [12/12] drm/i915/display: constify the audio functions
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        git remote add drm git://people.freedesktop.org/~airlied/linux.git
        git fetch --no-tags drm i915-vtable-cleanup
        git checkout b0d0061aeef594fc572295c0e3c02ba91596cbf6
        # save the attached .config to linux build tree
        make W=1 ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>

All errors (new ones prefixed by >>):

   drivers/gpu/drm/i915/display/intel_audio.c: In function 'intel_audio_codec_enable':
   drivers/gpu/drm/i915/display/intel_audio.c:852:24: error: 'dev_priv->audio_funcs' is a pointer; did you mean to use '->'?
     852 |   dev_priv->audio_funcs.audio_codec_enable(encoder,
         |                        ^
         |                        ->
   drivers/gpu/drm/i915/display/intel_audio.c: In function 'intel_audio_codec_disable':
   drivers/gpu/drm/i915/display/intel_audio.c:897:24: error: 'dev_priv->audio_funcs' is a pointer; did you mean to use '->'?
     897 |   dev_priv->audio_funcs.audio_codec_disable(encoder,
         |                        ^
         |                        ->
   drivers/gpu/drm/i915/display/intel_audio.c: At top level:
   drivers/gpu/drm/i915/display/intel_audio.c:919:46: error: expected '}' before ';' token
     919 |  .audio_codec_enable = g4x_audio_codec_enable;
         |                                              ^
   drivers/gpu/drm/i915/display/intel_audio.c:918:68: note: to match this '{'
     918 | static const struct drm_i915_display_audio_funcs g4x_audio_funcs = {
         |                                                                    ^
   drivers/gpu/drm/i915/display/intel_audio.c:924:46: error: expected '}' before ';' token
     924 |  .audio_codec_enable = ilk_audio_codec_enable;
         |                                              ^
   drivers/gpu/drm/i915/display/intel_audio.c:923:68: note: to match this '{'
     923 | static const struct drm_i915_display_audio_funcs ilk_audio_funcs = {
         |                                                                    ^
   drivers/gpu/drm/i915/display/intel_audio.c:929:46: error: expected '}' before ';' token
     929 |  .audio_codec_enable = hsw_audio_codec_enable;
         |                                              ^
   drivers/gpu/drm/i915/display/intel_audio.c:928:68: note: to match this '{'
     928 | static const struct drm_i915_display_audio_funcs hsw_audio_funcs = {
         |                                                                    ^
>> drivers/gpu/drm/i915/display/intel_audio.c:685:13: error: 'ilk_audio_codec_disable' defined but not used [-Werror=unused-function]
     685 | static void ilk_audio_codec_disable(struct intel_encoder *encoder,
         |             ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/i915/display/intel_audio.c:486:13: error: 'hsw_audio_codec_disable' defined but not used [-Werror=unused-function]
     486 | static void hsw_audio_codec_disable(struct intel_encoder *encoder,
         |             ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/i915/display/intel_audio.c:323:13: error: 'g4x_audio_codec_disable' defined but not used [-Werror=unused-function]
     323 | static void g4x_audio_codec_disable(struct intel_encoder *encoder,
         |             ^~~~~~~~~~~~~~~~~~~~~~~
   cc1: all warnings being treated as errors


vim +/ilk_audio_codec_disable +685 drivers/gpu/drm/i915/display/intel_audio.c

12e87f23c6278ed drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2016-10-10  485  
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30 @486  static void hsw_audio_codec_disable(struct intel_encoder *encoder,
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  487  				    const struct intel_crtc_state *old_crtc_state,
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  488  				    const struct drm_connector_state *old_conn_state)
69bfe1a9b4dffca drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  489  {
fac5e23e3c385fd drivers/gpu/drm/i915/intel_audio.c         Chris Wilson      2016-07-04  490  	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
3904fb78a80da64 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2019-04-30  491  	enum transcoder cpu_transcoder = old_crtc_state->cpu_transcoder;
c25004964c5a8a0 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2018-06-12  492  	u32 tmp;
69bfe1a9b4dffca drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  493  
6385514932d5fc9 drivers/gpu/drm/i915/display/intel_audio.c Wambui Karuga     2020-01-21  494  	drm_dbg_kms(&dev_priv->drm, "Disable audio codec on transcoder %s\n",
3904fb78a80da64 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2019-04-30  495  		    transcoder_name(cpu_transcoder));
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  496  
4a21ef7d1d2b19f drivers/gpu/drm/i915/intel_audio.c         Libin Yang        2015-09-02  497  	mutex_lock(&dev_priv->av_mutex);
4a21ef7d1d2b19f drivers/gpu/drm/i915/intel_audio.c         Libin Yang        2015-09-02  498  
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  499  	/* Disable timestamps */
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  500  	tmp = intel_de_read(dev_priv, HSW_AUD_CFG(cpu_transcoder));
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  501  	tmp &= ~AUD_CONFIG_N_VALUE_INDEX;
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  502  	tmp |= AUD_CONFIG_N_PROG_ENABLE;
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  503  	tmp &= ~AUD_CONFIG_UPPER_N_MASK;
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  504  	tmp &= ~AUD_CONFIG_LOWER_N_MASK;
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  505  	if (intel_crtc_has_dp_encoder(old_crtc_state))
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  506  		tmp |= AUD_CONFIG_N_VALUE_INDEX;
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  507  	intel_de_write(dev_priv, HSW_AUD_CFG(cpu_transcoder), tmp);
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  508  
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  509  	/* Invalidate ELD */
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  510  	tmp = intel_de_read(dev_priv, HSW_AUD_PIN_ELD_CP_VLD);
3904fb78a80da64 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2019-04-30  511  	tmp &= ~AUDIO_ELD_VALID(cpu_transcoder);
3904fb78a80da64 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2019-04-30  512  	tmp &= ~AUDIO_OUTPUT_ENABLE(cpu_transcoder);
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  513  	intel_de_write(dev_priv, HSW_AUD_PIN_ELD_CP_VLD, tmp);
4a21ef7d1d2b19f drivers/gpu/drm/i915/intel_audio.c         Libin Yang        2015-09-02  514  
4a21ef7d1d2b19f drivers/gpu/drm/i915/intel_audio.c         Libin Yang        2015-09-02  515  	mutex_unlock(&dev_priv->av_mutex);
69bfe1a9b4dffca drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  516  }
69bfe1a9b4dffca drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  517  
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  518  static unsigned int calc_hblank_early_prog(struct intel_encoder *encoder,
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  519  					   const struct intel_crtc_state *crtc_state)
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  520  {
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  521  	struct drm_i915_private *i915 = to_i915(encoder->base.dev);
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  522  	unsigned int link_clks_available, link_clks_required;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  523  	unsigned int tu_data, tu_line, link_clks_active;
d19b29be653691a drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  524  	unsigned int h_active, h_total, hblank_delta, pixel_clk;
d19b29be653691a drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  525  	unsigned int fec_coeff, cdclk, vdsc_bpp;
41ee86d6ee82060 drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  526  	unsigned int link_clk, lanes;
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  527  	unsigned int hblank_rise;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  528  
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  529  	h_active = crtc_state->hw.adjusted_mode.crtc_hdisplay;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  530  	h_total = crtc_state->hw.adjusted_mode.crtc_htotal;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  531  	pixel_clk = crtc_state->hw.adjusted_mode.crtc_clock;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  532  	vdsc_bpp = crtc_state->dsc.compressed_bpp;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  533  	cdclk = i915->cdclk.hw.cdclk;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  534  	/* fec= 0.972261, using rounding multiplier of 1000000 */
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  535  	fec_coeff = 972261;
41ee86d6ee82060 drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  536  	link_clk = crtc_state->port_clock;
41ee86d6ee82060 drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  537  	lanes = crtc_state->lane_count;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  538  
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  539  	drm_dbg_kms(&i915->drm, "h_active = %u link_clk = %u :"
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  540  		    "lanes = %u vdsc_bpp = %u cdclk = %u\n",
41ee86d6ee82060 drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  541  		    h_active, link_clk, lanes, vdsc_bpp, cdclk);
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  542  
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  543  	if (WARN_ON(!link_clk || !pixel_clk || !lanes || !vdsc_bpp || !cdclk))
11ebc2321b8ef88 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-04-20  544  		return 0;
11ebc2321b8ef88 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-04-20  545  
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  546  	link_clks_available = (h_total - h_active) * link_clk / pixel_clk - 28;
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  547  	link_clks_required = DIV_ROUND_UP(192000 * h_total, 1000 * pixel_clk) * (48 / lanes + 2);
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  548  
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  549  	if (link_clks_available > link_clks_required)
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  550  		hblank_delta = 32;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  551  	else
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  552  		hblank_delta = DIV64_U64_ROUND_UP(mul_u32_u32(5 * (link_clk + cdclk), pixel_clk),
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  553  						  mul_u32_u32(link_clk, cdclk));
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  554  
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  555  	tu_data = div64_u64(mul_u32_u32(pixel_clk * vdsc_bpp * 8, 1000000),
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  556  			    mul_u32_u32(link_clk * lanes, fec_coeff));
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  557  	tu_line = div64_u64(h_active * mul_u32_u32(link_clk, fec_coeff),
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  558  			    mul_u32_u32(64 * pixel_clk, 1000000));
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  559  	link_clks_active  = (tu_line - 1) * 64 + tu_data;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  560  
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  561  	hblank_rise = (link_clks_active + 6 * DIV_ROUND_UP(link_clks_active, 250) + 4) * pixel_clk / link_clk;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  562  
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  563  	return h_active - hblank_rise + hblank_delta;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  564  }
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  565  
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  566  static unsigned int calc_samples_room(const struct intel_crtc_state *crtc_state)
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  567  {
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  568  	unsigned int h_active, h_total, pixel_clk;
41ee86d6ee82060 drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  569  	unsigned int link_clk, lanes;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  570  
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  571  	h_active = crtc_state->hw.adjusted_mode.hdisplay;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  572  	h_total = crtc_state->hw.adjusted_mode.htotal;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  573  	pixel_clk = crtc_state->hw.adjusted_mode.clock;
41ee86d6ee82060 drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  574  	link_clk = crtc_state->port_clock;
41ee86d6ee82060 drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  575  	lanes = crtc_state->lane_count;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  576  
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  577  	return ((h_total - h_active) * link_clk - 12 * pixel_clk) /
2dd43144e824aff drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2020-04-29  578  		(pixel_clk * (48 / lanes + 2));
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  579  }
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  580  
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  581  static void enable_audio_dsc_wa(struct intel_encoder *encoder,
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  582  				const struct intel_crtc_state *crtc_state)
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  583  {
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  584  	struct drm_i915_private *i915 = to_i915(encoder->base.dev);
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  585  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  586  	enum pipe pipe = crtc->pipe;
11ebc2321b8ef88 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-04-20  587  	unsigned int hblank_early_prog, samples_room;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  588  	unsigned int val;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  589  
005e95377249cb6 drivers/gpu/drm/i915/display/intel_audio.c Matt Roper        2021-03-19  590  	if (DISPLAY_VER(i915) < 11)
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  591  		return;
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  592  
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  593  	val = intel_de_read(i915, AUD_CONFIG_BE);
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  594  
93e7e61eb448318 drivers/gpu/drm/i915/display/intel_audio.c Lucas De Marchi   2021-04-12  595  	if (DISPLAY_VER(i915) == 11)
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  596  		val |= HBLANK_EARLY_ENABLE_ICL(pipe);
005e95377249cb6 drivers/gpu/drm/i915/display/intel_audio.c Matt Roper        2021-03-19  597  	else if (DISPLAY_VER(i915) >= 12)
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  598  		val |= HBLANK_EARLY_ENABLE_TGL(pipe);
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  599  
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  600  	if (crtc_state->dsc.compression_enable &&
31824c03faac432 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2021-05-04  601  	    crtc_state->hw.adjusted_mode.hdisplay >= 3840 &&
31824c03faac432 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2021-05-04  602  	    crtc_state->hw.adjusted_mode.vdisplay >= 2160) {
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  603  		/* Get hblank early enable value required */
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  604  		val &= ~HBLANK_START_COUNT_MASK(pipe);
f4c50deecaed632 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2021-05-04  605  		hblank_early_prog = calc_hblank_early_prog(encoder, crtc_state);
f4c50deecaed632 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2021-05-04  606  		if (hblank_early_prog < 32)
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  607  			val |= HBLANK_START_COUNT(pipe, HBLANK_START_COUNT_32);
f4c50deecaed632 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2021-05-04  608  		else if (hblank_early_prog < 64)
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  609  			val |= HBLANK_START_COUNT(pipe, HBLANK_START_COUNT_64);
f4c50deecaed632 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2021-05-04  610  		else if (hblank_early_prog < 96)
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  611  			val |= HBLANK_START_COUNT(pipe, HBLANK_START_COUNT_96);
f4c50deecaed632 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2021-05-04  612  		else
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  613  			val |= HBLANK_START_COUNT(pipe, HBLANK_START_COUNT_128);
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  614  
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  615  		/* Get samples room value required */
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  616  		val &= ~NUMBER_SAMPLES_PER_LINE_MASK(pipe);
f4c50deecaed632 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2021-05-04  617  		samples_room = calc_samples_room(crtc_state);
f4c50deecaed632 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2021-05-04  618  		if (samples_room < 3)
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  619  			val |= NUMBER_SAMPLES_PER_LINE(pipe, samples_room);
f4c50deecaed632 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2021-05-04  620  		else /* Program 0 i.e "All Samples available in buffer" */
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  621  			val |= NUMBER_SAMPLES_PER_LINE(pipe, 0x0);
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  622  	}
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  623  
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  624  	intel_de_write(i915, AUD_CONFIG_BE, val);
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  625  }
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  626  
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  627  #undef ROUNDING_FACTOR
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  628  
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  629  static void hsw_audio_codec_enable(struct intel_encoder *encoder,
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  630  				   const struct intel_crtc_state *crtc_state,
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  631  				   const struct drm_connector_state *conn_state)
7c10a2b5876e014 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  632  {
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  633  	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  634  	struct drm_connector *connector = conn_state->connector;
3904fb78a80da64 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2019-04-30  635  	enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
c25004964c5a8a0 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2018-06-12  636  	const u8 *eld = connector->eld;
c25004964c5a8a0 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2018-06-12  637  	u32 tmp;
f9f682ae3530f92 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  638  	int len, i;
7c10a2b5876e014 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  639  
6385514932d5fc9 drivers/gpu/drm/i915/display/intel_audio.c Wambui Karuga     2020-01-21  640  	drm_dbg_kms(&dev_priv->drm,
6385514932d5fc9 drivers/gpu/drm/i915/display/intel_audio.c Wambui Karuga     2020-01-21  641  		    "Enable audio codec on transcoder %s, %u bytes ELD\n",
3904fb78a80da64 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2019-04-30  642  		     transcoder_name(cpu_transcoder), drm_eld_size(eld));
7c10a2b5876e014 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  643  
4a21ef7d1d2b19f drivers/gpu/drm/i915/intel_audio.c         Libin Yang        2015-09-02  644  	mutex_lock(&dev_priv->av_mutex);
4a21ef7d1d2b19f drivers/gpu/drm/i915/intel_audio.c         Libin Yang        2015-09-02  645  
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  646  	/* Enable Audio WA for 4k DSC usecases */
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  647  	if (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_DP))
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  648  		enable_audio_dsc_wa(encoder, crtc_state);
48b8b04c791d1e3 drivers/gpu/drm/i915/display/intel_audio.c Uma Shankar       2020-04-16  649  
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  650  	/* Enable audio presence detect, invalidate ELD */
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  651  	tmp = intel_de_read(dev_priv, HSW_AUD_PIN_ELD_CP_VLD);
3904fb78a80da64 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2019-04-30  652  	tmp |= AUDIO_OUTPUT_ENABLE(cpu_transcoder);
3904fb78a80da64 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2019-04-30  653  	tmp &= ~AUDIO_ELD_VALID(cpu_transcoder);
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  654  	intel_de_write(dev_priv, HSW_AUD_PIN_ELD_CP_VLD, tmp);
7c10a2b5876e014 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  655  
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  656  	/*
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  657  	 * FIXME: We're supposed to wait for vblank here, but we have vblanks
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  658  	 * disabled during the mode set. The proper fix would be to push the
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  659  	 * rest of the setup into a vblank work item, queued here, but the
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  660  	 * infrastructure is not there yet.
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  661  	 */
7c10a2b5876e014 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  662  
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  663  	/* Reset ELD write address */
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  664  	tmp = intel_de_read(dev_priv, HSW_AUD_DIP_ELD_CTRL(cpu_transcoder));
c46f111f5171b63 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  665  	tmp &= ~IBX_ELD_ADDRESS_MASK;
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  666  	intel_de_write(dev_priv, HSW_AUD_DIP_ELD_CTRL(cpu_transcoder), tmp);
7c10a2b5876e014 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  667  
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  668  	/* Up to 84 bytes of hw ELD buffer */
938fd8aaf5d5489 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-28  669  	len = min(drm_eld_size(eld), 84);
938fd8aaf5d5489 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-28  670  	for (i = 0; i < len / 4; i++)
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  671  		intel_de_write(dev_priv, HSW_AUD_EDID_DATA(cpu_transcoder),
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  672  			       *((const u32 *)eld + i));
69bfe1a9b4dffca drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  673  
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  674  	/* ELD valid */
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  675  	tmp = intel_de_read(dev_priv, HSW_AUD_PIN_ELD_CP_VLD);
3904fb78a80da64 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2019-04-30  676  	tmp |= AUDIO_ELD_VALID(cpu_transcoder);
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  677  	intel_de_write(dev_priv, HSW_AUD_PIN_ELD_CP_VLD, tmp);
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  678  
5fad84a7530f8e7 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-11-04  679  	/* Enable timestamps */
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  680  	hsw_audio_config_update(encoder, crtc_state);
4a21ef7d1d2b19f drivers/gpu/drm/i915/intel_audio.c         Libin Yang        2015-09-02  681  
4a21ef7d1d2b19f drivers/gpu/drm/i915/intel_audio.c         Libin Yang        2015-09-02  682  	mutex_unlock(&dev_priv->av_mutex);
7c10a2b5876e014 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  683  }
7c10a2b5876e014 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  684  
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30 @685  static void ilk_audio_codec_disable(struct intel_encoder *encoder,
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  686  				    const struct intel_crtc_state *old_crtc_state,
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  687  				    const struct drm_connector_state *old_conn_state)
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  688  {
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  689  	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
2225f3c6f1d793c drivers/gpu/drm/i915/display/intel_audio.c Maarten Lankhorst 2019-10-31  690  	struct intel_crtc *crtc = to_intel_crtc(old_crtc_state->uapi.crtc);
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  691  	enum pipe pipe = crtc->pipe;
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  692  	enum port port = encoder->port;
c25004964c5a8a0 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2018-06-12  693  	u32 tmp, eldv;
f0f59a00a1c9be1 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2015-11-18  694  	i915_reg_t aud_config, aud_cntrl_st2;
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  695  
6385514932d5fc9 drivers/gpu/drm/i915/display/intel_audio.c Wambui Karuga     2020-01-21  696  	drm_dbg_kms(&dev_priv->drm,
6385514932d5fc9 drivers/gpu/drm/i915/display/intel_audio.c Wambui Karuga     2020-01-21  697  		    "Disable audio codec on [ENCODER:%d:%s], pipe %c\n",
66a990dd0c49b53 drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2019-08-30  698  		     encoder->base.base.id, encoder->base.name,
66a990dd0c49b53 drivers/gpu/drm/i915/display/intel_audio.c Ville Syrjälä     2019-08-30  699  		     pipe_name(pipe));
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  700  
9a3b466bb8f60ad drivers/gpu/drm/i915/display/intel_audio.c Pankaj Bharadiya  2020-01-28  701  	if (drm_WARN_ON(&dev_priv->drm, port == PORT_A))
d3902c3eba3666f drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2015-05-04  702  		return;
d3902c3eba3666f drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2015-05-04  703  
2d1fe0734087f0d drivers/gpu/drm/i915/intel_audio.c         Joonas Lahtinen   2016-04-07  704  	if (HAS_PCH_IBX(dev_priv)) {
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  705  		aud_config = IBX_AUD_CFG(pipe);
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  706  		aud_cntrl_st2 = IBX_AUD_CNTL_ST2;
666a45379e2c29b drivers/gpu/drm/i915/intel_audio.c         Wayne Boyer       2015-12-09  707  	} else if (IS_VALLEYVIEW(dev_priv) || IS_CHERRYVIEW(dev_priv)) {
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  708  		aud_config = VLV_AUD_CFG(pipe);
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  709  		aud_cntrl_st2 = VLV_AUD_CNTL_ST2;
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  710  	} else {
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  711  		aud_config = CPT_AUD_CFG(pipe);
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  712  		aud_cntrl_st2 = CPT_AUD_CNTRL_ST2;
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  713  	}
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  714  
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  715  	/* Disable timestamps */
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  716  	tmp = intel_de_read(dev_priv, aud_config);
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  717  	tmp &= ~AUD_CONFIG_N_VALUE_INDEX;
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  718  	tmp |= AUD_CONFIG_N_PROG_ENABLE;
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  719  	tmp &= ~AUD_CONFIG_UPPER_N_MASK;
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  720  	tmp &= ~AUD_CONFIG_LOWER_N_MASK;
8ec47de21bfab96 drivers/gpu/drm/i915/intel_audio.c         Ville Syrjälä     2017-10-30  721  	if (intel_crtc_has_dp_encoder(old_crtc_state))
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  722  		tmp |= AUD_CONFIG_N_VALUE_INDEX;
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  723  	intel_de_write(dev_priv, aud_config, tmp);
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  724  
82910ac6d575d4c drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  725  	eldv = IBX_ELD_VALID(port);
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  726  
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  727  	/* Invalidate ELD */
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  728  	tmp = intel_de_read(dev_priv, aud_cntrl_st2);
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  729  	tmp &= ~eldv;
49e659bcae79ff8 drivers/gpu/drm/i915/display/intel_audio.c Jani Nikula       2020-01-24  730  	intel_de_write(dev_priv, aud_cntrl_st2, tmp);
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  731  }
495a5bb81d34694 drivers/gpu/drm/i915/intel_audio.c         Jani Nikula       2014-10-27  732  

:::::: The code at line 685 was first introduced by commit
:::::: 8ec47de21bfab96790c4202ae8cdb5092ad7ec33 drm/i915: Pass around crtc and connector states for audio

:::::: TO: Ville Syrjälä <ville.syrjala at linux.intel.com>
:::::: CC: Ville Syrjälä <ville.syrjala at linux.intel.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 65157 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20210908/9b191042/attachment-0001.gz>


More information about the dri-devel mailing list