All of lore.kernel.org
 help / color / mirror / Atom feed
* [superna9999:amlogic/v5.9/ge2d 22/24] drivers/media/platform/meson/ge2d/ge2d.c:179:8: error: implicit declaration of function 'FIELD_PREP'
@ 2020-09-25 18:28 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-09-25 18:28 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 6581 bytes --]

tree:   https://github.com/superna9999/linux amlogic/v5.9/ge2d
head:   e1173c5b857ad8991a2a46bbe306a81e0e7a1ff2
commit: 304eb67a61ca0045448d5c2e890b5439f608cde6 [22/24] media: meson: add Amlogic GE2D 2D Accelerator driver
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.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/304eb67a61ca0045448d5c2e890b5439f608cde6
        git remote add superna9999 https://github.com/superna9999/linux
        git fetch --no-tags superna9999 amlogic/v5.9/ge2d
        git checkout 304eb67a61ca0045448d5c2e890b5439f608cde6
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh 

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

All errors (new ones prefixed by >>):

   drivers/media/platform/meson/ge2d/ge2d.c: In function 'ge2d_hw_start':
>> drivers/media/platform/meson/ge2d/ge2d.c:179:8: error: implicit declaration of function 'FIELD_PREP' [-Werror=implicit-function-declaration]
     179 |        FIELD_PREP(GE2D_INTERRUPT_CTRL, 2) |
         |        ^~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/FIELD_PREP +179 drivers/media/platform/meson/ge2d/ge2d.c

   149	
   150	static void ge2d_hw_start(struct meson_ge2d *ge2d)
   151	{
   152		struct ge2d_ctx *ctx = ge2d->curr;
   153		u32 reg;
   154	
   155		/* Reset */
   156		regmap_update_bits(ge2d->map, GE2D_GEN_CTRL1,
   157				   GE2D_SOFT_RST, GE2D_SOFT_RST);
   158		regmap_update_bits(ge2d->map, GE2D_GEN_CTRL1,
   159				   GE2D_SOFT_RST, 0);
   160	
   161		udelay(100);
   162	
   163		/* Implement CANVAS for non-AXG */
   164		regmap_write(ge2d->map, GE2D_SRC1_BADDR_CTRL,
   165			     (vb2_dma_contig_plane_dma_addr(&ctx->in.buf->vb2_buf, 0) + 7) >> 3);
   166		regmap_write(ge2d->map, GE2D_SRC1_STRIDE_CTRL,
   167			     (ctx->in.pix_fmt.bytesperline + 7) >> 3);
   168		regmap_write(ge2d->map, GE2D_SRC2_BADDR_CTRL,
   169			     (vb2_dma_contig_plane_dma_addr(&ctx->out.buf->vb2_buf, 0) + 7) >> 3);
   170		regmap_write(ge2d->map, GE2D_SRC2_STRIDE_CTRL,
   171			     (ctx->out.pix_fmt.bytesperline + 7) >> 3);
   172		regmap_write(ge2d->map, GE2D_DST1_BADDR_CTRL,
   173			     (vb2_dma_contig_plane_dma_addr(&ctx->out.buf->vb2_buf, 0) + 7) >> 3);
   174		regmap_write(ge2d->map, GE2D_DST1_STRIDE_CTRL,
   175			     (ctx->out.pix_fmt.bytesperline + 7) >> 3);
   176	
   177		regmap_write(ge2d->map, GE2D_GEN_CTRL0, 0);
   178		regmap_write(ge2d->map, GE2D_GEN_CTRL1,
 > 179			     FIELD_PREP(GE2D_INTERRUPT_CTRL, 2) |
   180			     FIELD_PREP(GE2D_SRC2_BURST_SIZE_CTRL, 3) |
   181			     FIELD_PREP(GE2D_SRC1_BURST_SIZE_CTRL, 0x3f));
   182		regmap_write(ge2d->map, GE2D_GEN_CTRL2,
   183			     FIELD_PREP(GE2D_DST1_COLOR_MAP, ctx->out.fmt->hw_map) |
   184			     FIELD_PREP(GE2D_DST1_FORMAT, ctx->out.fmt->hw_fmt) |
   185			     FIELD_PREP(GE2D_SRC2_COLOR_MAP, ctx->out.fmt->hw_map) |
   186			     FIELD_PREP(GE2D_SRC2_FORMAT, ctx->out.fmt->hw_fmt) |
   187			     FIELD_PREP(GE2D_SRC1_COLOR_MAP, ctx->in.fmt->hw_map) |
   188			     FIELD_PREP(GE2D_SRC1_FORMAT, ctx->in.fmt->hw_fmt));
   189		regmap_write(ge2d->map, GE2D_GEN_CTRL3,
   190			     GE2D_DST1_ENABLE);
   191	
   192		regmap_write(ge2d->map, GE2D_SRC1_CLIPX_START_END,
   193			     FIELD_PREP(GE2D_START, ctx->in.crop.top) |
   194			     FIELD_PREP(GE2D_END, ctx->in.crop.top + ctx->in.crop.height));
   195		regmap_write(ge2d->map, GE2D_SRC1_CLIPY_START_END,
   196			     FIELD_PREP(GE2D_START, ctx->in.crop.left) |
   197			     FIELD_PREP(GE2D_END, ctx->in.crop.left + ctx->in.crop.width));
   198		regmap_write(ge2d->map, GE2D_SRC2_CLIPX_START_END,
   199			     FIELD_PREP(GE2D_START, ctx->out.crop.top) |
   200			     FIELD_PREP(GE2D_END, ctx->out.crop.top + ctx->out.crop.height));
   201		regmap_write(ge2d->map, GE2D_SRC2_CLIPY_START_END,
   202			     FIELD_PREP(GE2D_START, ctx->out.crop.left) |
   203			     FIELD_PREP(GE2D_END, ctx->out.crop.left + ctx->out.crop.width));
   204		regmap_write(ge2d->map, GE2D_DST_CLIPX_START_END,
   205			     FIELD_PREP(GE2D_START, ctx->out.crop.top) |
   206			     FIELD_PREP(GE2D_END, ctx->out.crop.top + ctx->out.crop.height));
   207		regmap_write(ge2d->map, GE2D_DST_CLIPY_START_END,
   208			     FIELD_PREP(GE2D_START, ctx->out.crop.left) |
   209			     FIELD_PREP(GE2D_END, ctx->out.crop.left + ctx->out.crop.width));
   210	
   211		regmap_write(ge2d->map, GE2D_SRC1_X_START_END,
   212			     FIELD_PREP(GE2D_END, ctx->in.pix_fmt.height));
   213		regmap_write(ge2d->map, GE2D_SRC1_Y_START_END,
   214			     FIELD_PREP(GE2D_END, ctx->in.pix_fmt.width));
   215		regmap_write(ge2d->map, GE2D_SRC2_X_START_END,
   216			     FIELD_PREP(GE2D_END, ctx->out.pix_fmt.height));
   217		regmap_write(ge2d->map, GE2D_SRC2_Y_START_END,
   218			     FIELD_PREP(GE2D_END, ctx->out.pix_fmt.width));
   219		regmap_write(ge2d->map, GE2D_DST_X_START_END,
   220			     FIELD_PREP(GE2D_END, ctx->out.pix_fmt.height));
   221		regmap_write(ge2d->map, GE2D_DST_Y_START_END,
   222			     FIELD_PREP(GE2D_END, ctx->out.pix_fmt.width));
   223	
   224		/* Color, no blend, use source color */
   225		reg = GE2D_ALU_DO_COLOR_OPERATION_LOGIC(LOGIC_OPERATION_COPY,
   226							COLOR_FACTOR_SRC_COLOR);
   227	
   228		if (ctx->in.fmt->alpha && ctx->out.fmt->alpha)
   229			/* Take source alpha */
   230			reg |= GE2D_ALU_DO_ALPHA_OPERATION_LOGIC(LOGIC_OPERATION_COPY,
   231								 COLOR_FACTOR_SRC_ALPHA);
   232		else if (!ctx->out.fmt->alpha)
   233			/* Set alpha to 0 */
   234			reg |= GE2D_ALU_DO_ALPHA_OPERATION_LOGIC(LOGIC_OPERATION_SET,
   235								 COLOR_FACTOR_ZERO);
   236		else
   237			/* Keep original alpha */
   238			reg |= GE2D_ALU_DO_ALPHA_OPERATION_LOGIC(LOGIC_OPERATION_COPY,
   239								 COLOR_FACTOR_DST_ALPHA);
   240	
   241		regmap_write(ge2d->map, GE2D_ALU_OP_CTRL, reg);
   242	
   243		/* Start */
   244		regmap_write(ge2d->map, GE2D_CMD_CTRL,
   245			     (ctx->hflip ? GE2D_SRC1_Y_REV : 0) |
   246			     (ctx->vflip ? GE2D_SRC1_X_REV : 0) |
   247			     GE2D_CBUS_CMD_WR);
   248	}
   249	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 52710 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-09-25 18:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-25 18:28 [superna9999:amlogic/v5.9/ge2d 22/24] drivers/media/platform/meson/ge2d/ge2d.c:179:8: error: implicit declaration of function 'FIELD_PREP' kernel test robot

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.