[superna9999:odroid-go-ultra-dsi 12/17] drivers/gpu/drm/meson/meson_venc.c:1595:24: error: implicit declaration of function 'FIELD_PREP'

From: kernel test robot
Date: Tue Oct 25 2022 - 21:41:37 EST


tree: https://github.com/superna9999/linux odroid-go-ultra-dsi
head: 5ed5cd56bd5cf734df083c37df4ee94d14f1ff18
commit: 04b93c844cc7c5b37dd040aee096bb3af2ef8fbe [12/17] drm/meson: venc: add ENCL encoder setup for MIPI-DSI output
config: arm-buildonly-randconfig-r005-20221023 (attached as .config)
compiler: arm-linux-gnueabi-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
# https://github.com/superna9999/linux/commit/04b93c844cc7c5b37dd040aee096bb3af2ef8fbe
git remote add superna9999 https://github.com/superna9999/linux
git fetch --no-tags superna9999 odroid-go-ultra-dsi
git checkout 04b93c844cc7c5b37dd040aee096bb3af2ef8fbe
# 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=arm SHELL=/bin/bash drivers/gpu/drm/meson/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from include/linux/swab.h:5,
from include/uapi/linux/byteorder/big_endian.h:14,
from include/linux/byteorder/big_endian.h:5,
from arch/arm/include/uapi/asm/byteorder.h:20,
from include/asm-generic/bitops/le.h:6,
from arch/arm/include/asm/bitops.h:269,
from include/linux/bitops.h:68,
from include/linux/kernel.h:22,
from include/linux/iopoll.h:9,
from drivers/gpu/drm/meson/meson_venc.c:9:
drivers/gpu/drm/meson/meson_venc.c: In function 'meson_encl_set_gamma_table':
>> drivers/gpu/drm/meson/meson_venc.c:1595:24: error: implicit declaration of function 'FIELD_PREP' [-Werror=implicit-function-declaration]
1595 | FIELD_PREP(L_GAMMA_ADDR_PORT_ADDR, 0),
| ^~~~~~~~~~
include/uapi/linux/swab.h:115:54: note: in definition of macro '__swab32'
115 | #define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
| ^
include/linux/byteorder/generic.h:88:21: note: in expansion of macro '__cpu_to_le32'
88 | #define cpu_to_le32 __cpu_to_le32
| ^~~~~~~~~~~~~
drivers/gpu/drm/meson/meson_venc.c:1594:9: note: in expansion of macro 'writel_relaxed'
1594 | writel_relaxed(L_GAMMA_ADDR_PORT_AUTO_INC | rgb_mask |
| ^~~~~~~~~~~~~~
cc1: some warnings being treated as errors


vim +/FIELD_PREP +1595 drivers/gpu/drm/meson/meson_venc.c

1579
1580 static void meson_encl_set_gamma_table(struct meson_drm *priv, u16 *data,
1581 u32 rgb_mask)
1582 {
1583 int i, ret;
1584 u32 reg;
1585
1586 writel_bits_relaxed(L_GAMMA_CNTL_PORT_EN, 0,
1587 priv->io_base + _REG(L_GAMMA_CNTL_PORT));
1588
1589 ret = readl_relaxed_poll_timeout(priv->io_base + _REG(L_GAMMA_CNTL_PORT),
1590 reg, reg & L_GAMMA_CNTL_PORT_ADR_RDY, 10, 10000);
1591 if (ret)
1592 pr_warn("%s: GAMMA ADR_RDY timeout\n", __func__);
1593
1594 writel_relaxed(L_GAMMA_ADDR_PORT_AUTO_INC | rgb_mask |
> 1595 FIELD_PREP(L_GAMMA_ADDR_PORT_ADDR, 0),
1596 priv->io_base + _REG(L_GAMMA_ADDR_PORT));
1597
1598 for (i = 0; i < 256; i++) {
1599 ret = readl_relaxed_poll_timeout(priv->io_base + _REG(L_GAMMA_CNTL_PORT),
1600 reg, reg & L_GAMMA_CNTL_PORT_WR_RDY,
1601 10, 10000);
1602 if (ret)
1603 pr_warn_once("%s: GAMMA WR_RDY timeout\n", __func__);
1604
1605 writel_relaxed(data[i], priv->io_base + _REG(L_GAMMA_DATA_PORT));
1606 }
1607
1608 ret = readl_relaxed_poll_timeout(priv->io_base + _REG(L_GAMMA_CNTL_PORT),
1609 reg, reg & L_GAMMA_CNTL_PORT_ADR_RDY, 10, 10000);
1610 if (ret)
1611 pr_warn("%s: GAMMA ADR_RDY timeout\n", __func__);
1612
1613 writel_relaxed(L_GAMMA_ADDR_PORT_AUTO_INC | rgb_mask |
1614 FIELD_PREP(L_GAMMA_ADDR_PORT_ADDR, 0x23),
1615 priv->io_base + _REG(L_GAMMA_ADDR_PORT));
1616 }
1617

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

Attachment: .config.gz
Description: application/gzip