All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Andy Yan <andy.yan@rock-chips.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	Heiko Stuebner <heiko@sntech.de>
Subject: [linux-next:master 7259/7930] drivers/gpu/drm/rockchip/rockchip_vop2_reg.c:833:7: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations
Date: Wed, 5 Mar 2025 17:26:57 +0800	[thread overview]
Message-ID: <202503051744.a44mn4cM-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   20d5c66e1810e6e8805ec0d01373afb2dba9f51a
commit: 328e6885996ca2c6eb8b07d3c9bb1439fdcb088f [7259/7930] drm/rockchip: vop2: Add platform specific callback
config: hexagon-allyesconfig (https://download.01.org/0day-ci/archive/20250305/202503051744.a44mn4cM-lkp@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250305/202503051744.a44mn4cM-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202503051744.a44mn4cM-lkp@intel.com/

Note: the linux-next/master HEAD 20d5c66e1810e6e8805ec0d01373afb2dba9f51a builds fine.
      It may have been fixed somewhere.

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/rockchip/rockchip_vop2_reg.c:833:7: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     833 |                            FIELD_PREP(RK3568_SYS_DSP_INFACE_EN_RGB_MUX, vp->id);
         |                            ^
   drivers/gpu/drm/rockchip/rockchip_vop2_reg.c:1052:15: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    1052 |         vp_clk_div = FIELD_PREP(RK3588_VP_CLK_CTRL__DCLK_CORE_DIV, dclk_core_div);
         |                      ^
   drivers/gpu/drm/rockchip/rockchip_vop2_reg.c:1424:15: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    1424 |                 port_sel |= FIELD_PREP(RK3568_OVL_PORT_SET__PORT0_MUX,
         |                             ^
   drivers/gpu/drm/rockchip/rockchip_vop2_reg.c:1543:12: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    1543 |                         cdly |= FIELD_PREP(RK3568_CLUSTER_DLY_NUM__CLUSTER0_0, dly);
         |                                 ^
   drivers/gpu/drm/rockchip/rockchip_vop2_reg.c:1609:7: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    1609 |                     FIELD_PREP(RK3568_VP_BG_MIX_CTRL__BG_DLY, bg_dly));
         |                     ^
   5 errors generated.


vim +/FIELD_PREP +833 drivers/gpu/drm/rockchip/rockchip_vop2_reg.c

   819	
   820	static unsigned long rk3568_set_intf_mux(struct vop2_video_port *vp, int id, u32 polflags)
   821	{
   822		struct vop2 *vop2 = vp->vop2;
   823		struct drm_crtc *crtc = &vp->crtc;
   824		u32 die, dip;
   825	
   826		die = vop2_readl(vop2, RK3568_DSP_IF_EN);
   827		dip = vop2_readl(vop2, RK3568_DSP_IF_POL);
   828	
   829		switch (id) {
   830		case ROCKCHIP_VOP2_EP_RGB0:
   831			die &= ~RK3568_SYS_DSP_INFACE_EN_RGB_MUX;
   832			die |= RK3568_SYS_DSP_INFACE_EN_RGB |
 > 833				   FIELD_PREP(RK3568_SYS_DSP_INFACE_EN_RGB_MUX, vp->id);
   834			dip &= ~RK3568_DSP_IF_POL__RGB_LVDS_PIN_POL;
   835			dip |= FIELD_PREP(RK3568_DSP_IF_POL__RGB_LVDS_PIN_POL, polflags);
   836			if (polflags & POLFLAG_DCLK_INV)
   837				regmap_write(vop2->sys_grf, RK3568_GRF_VO_CON1, BIT(3 + 16) | BIT(3));
   838			else
   839				regmap_write(vop2->sys_grf, RK3568_GRF_VO_CON1, BIT(3 + 16));
   840			break;
   841		case ROCKCHIP_VOP2_EP_HDMI0:
   842			die &= ~RK3568_SYS_DSP_INFACE_EN_HDMI_MUX;
   843			die |= RK3568_SYS_DSP_INFACE_EN_HDMI |
   844				   FIELD_PREP(RK3568_SYS_DSP_INFACE_EN_HDMI_MUX, vp->id);
   845			dip &= ~RK3568_DSP_IF_POL__HDMI_PIN_POL;
   846			dip |= FIELD_PREP(RK3568_DSP_IF_POL__HDMI_PIN_POL, polflags);
   847			break;
   848		case ROCKCHIP_VOP2_EP_EDP0:
   849			die &= ~RK3568_SYS_DSP_INFACE_EN_EDP_MUX;
   850			die |= RK3568_SYS_DSP_INFACE_EN_EDP |
   851				   FIELD_PREP(RK3568_SYS_DSP_INFACE_EN_EDP_MUX, vp->id);
   852			dip &= ~RK3568_DSP_IF_POL__EDP_PIN_POL;
   853			dip |= FIELD_PREP(RK3568_DSP_IF_POL__EDP_PIN_POL, polflags);
   854			break;
   855		case ROCKCHIP_VOP2_EP_MIPI0:
   856			die &= ~RK3568_SYS_DSP_INFACE_EN_MIPI0_MUX;
   857			die |= RK3568_SYS_DSP_INFACE_EN_MIPI0 |
   858				   FIELD_PREP(RK3568_SYS_DSP_INFACE_EN_MIPI0_MUX, vp->id);
   859			dip &= ~RK3568_DSP_IF_POL__MIPI_PIN_POL;
   860			dip |= FIELD_PREP(RK3568_DSP_IF_POL__MIPI_PIN_POL, polflags);
   861			break;
   862		case ROCKCHIP_VOP2_EP_MIPI1:
   863			die &= ~RK3568_SYS_DSP_INFACE_EN_MIPI1_MUX;
   864			die |= RK3568_SYS_DSP_INFACE_EN_MIPI1 |
   865				   FIELD_PREP(RK3568_SYS_DSP_INFACE_EN_MIPI1_MUX, vp->id);
   866			dip &= ~RK3568_DSP_IF_POL__MIPI_PIN_POL;
   867			dip |= FIELD_PREP(RK3568_DSP_IF_POL__MIPI_PIN_POL, polflags);
   868			break;
   869		case ROCKCHIP_VOP2_EP_LVDS0:
   870			die &= ~RK3568_SYS_DSP_INFACE_EN_LVDS0_MUX;
   871			die |= RK3568_SYS_DSP_INFACE_EN_LVDS0 |
   872				   FIELD_PREP(RK3568_SYS_DSP_INFACE_EN_LVDS0_MUX, vp->id);
   873			dip &= ~RK3568_DSP_IF_POL__RGB_LVDS_PIN_POL;
   874			dip |= FIELD_PREP(RK3568_DSP_IF_POL__RGB_LVDS_PIN_POL, polflags);
   875			break;
   876		case ROCKCHIP_VOP2_EP_LVDS1:
   877			die &= ~RK3568_SYS_DSP_INFACE_EN_LVDS1_MUX;
   878			die |= RK3568_SYS_DSP_INFACE_EN_LVDS1 |
   879				   FIELD_PREP(RK3568_SYS_DSP_INFACE_EN_LVDS1_MUX, vp->id);
   880			dip &= ~RK3568_DSP_IF_POL__RGB_LVDS_PIN_POL;
   881			dip |= FIELD_PREP(RK3568_DSP_IF_POL__RGB_LVDS_PIN_POL, polflags);
   882			break;
   883		default:
   884			drm_err(vop2->drm, "Invalid interface id %d on vp%d\n", id, vp->id);
   885			return 0;
   886		}
   887	
   888		dip |= RK3568_DSP_IF_POL__CFG_DONE_IMD;
   889	
   890		vop2_writel(vop2, RK3568_DSP_IF_EN, die);
   891		vop2_writel(vop2, RK3568_DSP_IF_POL, dip);
   892	
   893		return crtc->state->adjusted_mode.crtc_clock  * 1000LL;
   894	}
   895	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

             reply	other threads:[~2025-03-05  9:27 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-05  9:26 kernel test robot [this message]
2025-03-05 10:09 ` [linux-next:master 7259/7930] drivers/gpu/drm/rockchip/rockchip_vop2_reg.c:833:7: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations Heiko Stübner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202503051744.a44mn4cM-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=andy.yan@rock-chips.com \
    --cc=heiko@sntech.de \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.