[drm-misc:drm-misc-next 1/1] drivers/gpu/drm/sun4i/sun4i_tv.c:356:17: error: implicit declaration of function 'drm_atomic_get_new_crtc_state'; did you mean 'drm_atomic_helper_swap_state'?

kernel test robot lkp at intel.com
Thu Sep 8 20:37:53 UTC 2022


tree:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
head:   5d832b6694e094b176627ed9918a1b21c56fb742
commit: ec491291dc94914cf962dcd399c3e9b43b00a770 [1/1] drm/sun4i: tv: Merge mode_set into atomic_enable
config: parisc-randconfig-r003-20220907 (https://download.01.org/0day-ci/archive/20220909/202209090435.Nc6iroRU-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git remote add drm-misc git://anongit.freedesktop.org/drm/drm-misc
        git fetch --no-tags drm-misc drm-misc-next
        git checkout ec491291dc94914cf962dcd399c3e9b43b00a770
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=parisc SHELL=/bin/bash drivers/gpu/drm/sun4i/

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

All error/warnings (new ones prefixed by >>):

   drivers/gpu/drm/sun4i/sun4i_tv.c: In function 'sun4i_tv_enable':
>> drivers/gpu/drm/sun4i/sun4i_tv.c:356:17: error: implicit declaration of function 'drm_atomic_get_new_crtc_state'; did you mean 'drm_atomic_helper_swap_state'? [-Werror=implicit-function-declaration]
     356 |                 drm_atomic_get_new_crtc_state(state, encoder->crtc);
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                 drm_atomic_helper_swap_state
>> drivers/gpu/drm/sun4i/sun4i_tv.c:356:17: warning: initialization of 'struct drm_crtc_state *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   cc1: some warnings being treated as errors


vim +356 drivers/gpu/drm/sun4i/sun4i_tv.c

   349	
   350	static void sun4i_tv_enable(struct drm_encoder *encoder,
   351				    struct drm_atomic_state *state)
   352	{
   353		struct sun4i_tv *tv = drm_encoder_to_sun4i_tv(encoder);
   354		struct sun4i_crtc *crtc = drm_crtc_to_sun4i_crtc(encoder->crtc);
   355		struct drm_crtc_state *crtc_state =
 > 356			drm_atomic_get_new_crtc_state(state, encoder->crtc);
   357		struct drm_display_mode *mode = &crtc_state->mode;
   358		const struct tv_mode *tv_mode = sun4i_tv_find_tv_by_mode(mode);
   359	
   360		DRM_DEBUG_DRIVER("Enabling the TV Output\n");
   361	
   362		/* Enable and map the DAC to the output */
   363		regmap_update_bits(tv->regs, SUN4I_TVE_EN_REG,
   364				   SUN4I_TVE_EN_DAC_MAP_MASK,
   365				   SUN4I_TVE_EN_DAC_MAP(0, 1) |
   366				   SUN4I_TVE_EN_DAC_MAP(1, 2) |
   367				   SUN4I_TVE_EN_DAC_MAP(2, 3) |
   368				   SUN4I_TVE_EN_DAC_MAP(3, 4));
   369	
   370		/* Set PAL settings */
   371		regmap_write(tv->regs, SUN4I_TVE_CFG0_REG,
   372			     tv_mode->mode |
   373			     (tv_mode->yc_en ? SUN4I_TVE_CFG0_YC_EN : 0) |
   374			     SUN4I_TVE_CFG0_COMP_EN |
   375			     SUN4I_TVE_CFG0_DAC_CONTROL_54M |
   376			     SUN4I_TVE_CFG0_CORE_DATAPATH_54M |
   377			     SUN4I_TVE_CFG0_CORE_CONTROL_54M);
   378	
   379		/* Configure the DAC for a composite output */
   380		regmap_write(tv->regs, SUN4I_TVE_DAC0_REG,
   381			     SUN4I_TVE_DAC0_DAC_EN(0) |
   382			     (tv_mode->dac3_en ? SUN4I_TVE_DAC0_DAC_EN(3) : 0) |
   383			     SUN4I_TVE_DAC0_INTERNAL_DAC_37_5_OHMS |
   384			     SUN4I_TVE_DAC0_CHROMA_0_75 |
   385			     SUN4I_TVE_DAC0_LUMA_0_4 |
   386			     SUN4I_TVE_DAC0_CLOCK_INVERT |
   387			     (tv_mode->dac_bit25_en ? BIT(25) : 0) |
   388			     BIT(30));
   389	
   390		/* Configure the sample delay between DAC0 and the other DAC */
   391		regmap_write(tv->regs, SUN4I_TVE_NOTCH_REG,
   392			     SUN4I_TVE_NOTCH_DAC0_TO_DAC_DLY(1, 0) |
   393			     SUN4I_TVE_NOTCH_DAC0_TO_DAC_DLY(2, 0));
   394	
   395		regmap_write(tv->regs, SUN4I_TVE_CHROMA_FREQ_REG,
   396			     tv_mode->chroma_freq);
   397	
   398		/* Set the front and back porch */
   399		regmap_write(tv->regs, SUN4I_TVE_PORCH_REG,
   400			     SUN4I_TVE_PORCH_BACK(tv_mode->back_porch) |
   401			     SUN4I_TVE_PORCH_FRONT(tv_mode->front_porch));
   402	
   403		/* Set the lines setup */
   404		regmap_write(tv->regs, SUN4I_TVE_LINE_REG,
   405			     SUN4I_TVE_LINE_FIRST(22) |
   406			     SUN4I_TVE_LINE_NUMBER(tv_mode->line_number));
   407	
   408		regmap_write(tv->regs, SUN4I_TVE_LEVEL_REG,
   409			     SUN4I_TVE_LEVEL_BLANK(tv_mode->video_levels->blank) |
   410			     SUN4I_TVE_LEVEL_BLACK(tv_mode->video_levels->black));
   411	
   412		regmap_write(tv->regs, SUN4I_TVE_DAC1_REG,
   413			     SUN4I_TVE_DAC1_AMPLITUDE(0, 0x18) |
   414			     SUN4I_TVE_DAC1_AMPLITUDE(1, 0x18) |
   415			     SUN4I_TVE_DAC1_AMPLITUDE(2, 0x18) |
   416			     SUN4I_TVE_DAC1_AMPLITUDE(3, 0x18));
   417	
   418		regmap_write(tv->regs, SUN4I_TVE_CB_CR_LVL_REG,
   419			     SUN4I_TVE_CB_CR_LVL_CB_BURST(tv_mode->burst_levels->cb) |
   420			     SUN4I_TVE_CB_CR_LVL_CR_BURST(tv_mode->burst_levels->cr));
   421	
   422		/* Set burst width for a composite output */
   423		regmap_write(tv->regs, SUN4I_TVE_BURST_WIDTH_REG,
   424			     SUN4I_TVE_BURST_WIDTH_HSYNC_WIDTH(126) |
   425			     SUN4I_TVE_BURST_WIDTH_BURST_WIDTH(68) |
   426			     SUN4I_TVE_BURST_WIDTH_BREEZEWAY(22));
   427	
   428		regmap_write(tv->regs, SUN4I_TVE_CB_CR_GAIN_REG,
   429			     SUN4I_TVE_CB_CR_GAIN_CB(tv_mode->color_gains->cb) |
   430			     SUN4I_TVE_CB_CR_GAIN_CR(tv_mode->color_gains->cr));
   431	
   432		regmap_write(tv->regs, SUN4I_TVE_SYNC_VBI_REG,
   433			     SUN4I_TVE_SYNC_VBI_SYNC(0x10) |
   434			     SUN4I_TVE_SYNC_VBI_VBLANK(tv_mode->vblank_level));
   435	
   436		regmap_write(tv->regs, SUN4I_TVE_ACTIVE_LINE_REG,
   437			     SUN4I_TVE_ACTIVE_LINE(1440));
   438	
   439		/* Set composite chroma gain to 50 % */
   440		regmap_write(tv->regs, SUN4I_TVE_CHROMA_REG,
   441			     SUN4I_TVE_CHROMA_COMP_GAIN_50);
   442	
   443		regmap_write(tv->regs, SUN4I_TVE_12C_REG,
   444			     SUN4I_TVE_12C_COMP_YUV_EN |
   445			     SUN4I_TVE_12C_NOTCH_WIDTH_WIDE);
   446	
   447		regmap_write(tv->regs, SUN4I_TVE_RESYNC_REG,
   448			     SUN4I_TVE_RESYNC_PIXEL(tv_mode->resync_params->pixel) |
   449			     SUN4I_TVE_RESYNC_LINE(tv_mode->resync_params->line) |
   450			     (tv_mode->resync_params->field ?
   451			      SUN4I_TVE_RESYNC_FIELD : 0));
   452	
   453		regmap_write(tv->regs, SUN4I_TVE_SLAVE_REG, 0);
   454	
   455		sunxi_engine_apply_color_correction(crtc->engine);
   456	
   457		regmap_update_bits(tv->regs, SUN4I_TVE_EN_REG,
   458				   SUN4I_TVE_EN_ENABLE,
   459				   SUN4I_TVE_EN_ENABLE);
   460	}
   461	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp


More information about the dri-devel mailing list