tree:
https://github.com/stffrdhrn/linux.git starfive-bad-dcache-flush
head: a5c948a9cc2b8944f00056c067fb7bde19b34843
commit: eb1c3c7d70ee34a4f65bf77035c8c557caf559ac [20/39] drivers/media and video: update
fb driver(flush cache) and cam sensor drivers
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-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/stffrdhrn/linux/commit/eb1c3c7d70ee34a4f65bf77035c8c55...
git remote add stffrdhrn
https://github.com/stffrdhrn/linux.git
git fetch --no-tags stffrdhrn starfive-bad-dcache-flush
git checkout eb1c3c7d70ee34a4f65bf77035c8c557caf559ac
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/video/fbdev/starfive/starfive_fb.c: In function 'sf_fb_setcolreg':
> drivers/video/fbdev/starfive/starfive_fb.c:424:6: warning:
variable 'ret' set but not used [-Wunused-but-set-variable]
424 | int
ret = 1;
| ^~~
--
> drivers/video/fbdev/starfive/starfive_lcdc.c:45:6: warning: no
previous prototype for 'lcdc_mode_cfg' [-Wmissing-prototypes]
45 |
void lcdc_mode_cfg(struct sf_fb_data *sf_dev, uint32_t workMode, int dotEdge, int
syncEdge, int r2yBypass,
| ^~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_lcdc.c:64:6: warning: no
previous prototype for 'lcdc_timing_cfg' [-Wmissing-prototypes]
64 |
void lcdc_timing_cfg(struct sf_fb_data *sf_dev, int vunit)
| ^~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_lcdc.c:87:6: warning: no
previous prototype for 'lcdc_desize_cfg' [-Wmissing-prototypes]
87 |
void lcdc_desize_cfg(struct sf_fb_data *sf_dev)
| ^~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_lcdc.c:97:6: warning: no
previous prototype for 'lcdc_rgb_dclk_cfg' [-Wmissing-prototypes]
97 |
void lcdc_rgb_dclk_cfg(struct sf_fb_data *sf_dev, int dot_clk_sel)
| ^~~~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_lcdc.c:111:6: warning: no
previous prototype for 'lcdc_win_cfgA' [-Wmissing-prototypes]
111 |
void lcdc_win_cfgA(struct sf_fb_data *sf_dev, int winNum, int layEn, int clorTab,
| ^~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_lcdc.c:151:6: warning: no
previous prototype for 'lcdc_win_cfgB' [-Wmissing-prototypes]
151 |
void lcdc_win_cfgB(struct sf_fb_data *sf_dev, int winNum, int xpos, int ypos, int
argbOrd)
| ^~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_lcdc.c:176:6: warning: no
previous prototype for 'lcdc_win_cfgC' [-Wmissing-prototypes]
176 |
void lcdc_win_cfgC(struct sf_fb_data *sf_dev, int winNum, int colorKey)
| ^~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_lcdc.c:184:6: warning: no
previous prototype for 'lcdc_win_srcSize' [-Wmissing-prototypes]
184 |
void lcdc_win_srcSize(struct sf_fb_data *sf_dev, int winNum)
| ^~~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_lcdc.c:205:6: warning: no
previous prototype for 'lcdc_alphaVal_cfg' [-Wmissing-prototypes]
205 |
void lcdc_alphaVal_cfg(struct sf_fb_data *sf_dev, int val1, int val2, int val3, int val4,
int sel)
| ^~~~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_lcdc.c:217:6: warning: no
previous prototype for 'lcdc_panel_cfg' [-Wmissing-prototypes]
217 |
void lcdc_panel_cfg(struct sf_fb_data *sf_dev, int buswid, int depth, int txcycle, int
pixpcycle,
| ^~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_lcdc.c:232:6: warning: no
previous prototype for 'lcdc_win02Addr_cfg' [-Wmissing-prototypes]
232
| void lcdc_win02Addr_cfg(struct sf_fb_data *sf_dev, int addr0, int addr1)
| ^~~~~~~~~~~~~~~~~~
drivers/video/fbdev/starfive/starfive_lcdc.c: In function 'lcdc_isr_handler':
> drivers/video/fbdev/starfive/starfive_lcdc.c:303:6: warning:
variable 'intr_status' set but not used [-Wunused-but-set-variable]
303
| u32 intr_status = 0;
| ^~~~~~~~~~~
In file included from drivers/video/fbdev/starfive/starfive_lcdc.c:22:
At top level:
drivers/video/fbdev/starfive/starfive_comm_regs.h:74:12: warning:
'sf_fb_cfgread32' defined but not used [-Wunused-function]
74 | static u32 sf_fb_cfgread32(struct sf_fb_data *sf_dev, u32 reg)
| ^~~~~~~~~~~~~~~
--
> drivers/video/fbdev/starfive/starfive_vpp.c:77:6: warning: no
previous prototype for 'pp_output_cfg' [-Wmissing-prototypes]
77 |
void pp_output_cfg(struct sf_fb_data *sf_dev, int ppNum, int outSel, int progInter, int
desformat, int ptMode)
| ^~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_vpp.c:89:6: warning: no
previous prototype for 'pp_srcfmt_cfg' [-Wmissing-prototypes]
89 |
void pp_srcfmt_cfg(struct sf_fb_data *sf_dev, int ppNum, int srcformat, int yuv420Inter,
int yuv422_mode,
| ^~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_vpp.c:103:6: warning: no
previous prototype for 'pp_r2yscal_bypass' [-Wmissing-prototypes]
103 |
void pp_r2yscal_bypass(struct sf_fb_data *sf_dev, int ppNum, int r2yByp, int scalByp, int
y2rByp)
| ^~~~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_vpp.c:111:6: warning: no
previous prototype for 'pp_argb_alpha' [-Wmissing-prototypes]
111 |
void pp_argb_alpha(struct sf_fb_data *sf_dev, int ppNum, int alpha)
| ^~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_vpp.c:119:6: warning: no
previous prototype for 'pp_r2y_coeff' [-Wmissing-prototypes]
119 | void
pp_r2y_coeff(struct sf_fb_data *sf_dev, int ppNum, int coefNum, int rcoef, int gcoef, int
bcoef, int off)
| ^~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_vpp.c:131:6: warning: no
previous prototype for 'pp_output_fmt_cfg' [-Wmissing-prototypes]
131 |
void pp_output_fmt_cfg(struct sf_fb_data *sf_dev, int ppNum, int yuv420Inter, int
yuv422_mode)
| ^~~~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_vpp.c:140:6: warning: no
previous prototype for 'pp_lockTrans_cfg' [-Wmissing-prototypes]
140 |
void pp_lockTrans_cfg(struct sf_fb_data *sf_dev, int ppNum, int lockTrans)
| ^~~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_vpp.c:147:6: warning: no
previous prototype for 'pp_int_interval_cfg' [-Wmissing-prototypes]
147
| void pp_int_interval_cfg(struct sf_fb_data *sf_dev, int ppNum, int interval)
| ^~~~~~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_vpp.c:154:6: warning: no
previous prototype for 'pp_srcSize_cfg' [-Wmissing-prototypes]
154 |
void pp_srcSize_cfg(struct sf_fb_data *sf_dev, int ppNum, int hsize, int vsize)
| ^~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_vpp.c:162:6: warning: no
previous prototype for 'pp_drop_cfg' [-Wmissing-prototypes]
162 | void
pp_drop_cfg(struct sf_fb_data *sf_dev, int ppNum, int hdrop, int vdrop)
| ^~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_vpp.c:170:6: warning: no
previous prototype for 'pp_desSize_cfg' [-Wmissing-prototypes]
170 |
void pp_desSize_cfg(struct sf_fb_data *sf_dev, int ppNum, int hsize, int vsize)
| ^~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_vpp.c:177:6: warning: no
previous prototype for 'pp_desAddr_cfg' [-Wmissing-prototypes]
177 |
void pp_desAddr_cfg(struct sf_fb_data *sf_dev, int ppNum, int yaddr, int uaddr, int
vaddr)
| ^~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_vpp.c:185:6: warning: no
previous prototype for 'pp_desOffset_cfg' [-Wmissing-prototypes]
185 |
void pp_desOffset_cfg(struct sf_fb_data *sf_dev, int ppNum, int yoff, int uoff, int voff)
| ^~~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_vpp.c:363:6: warning: no
previous prototype for 'pp_format_set' [-Wmissing-prototypes]
363 |
void pp_format_set(struct sf_fb_data *sf_dev, int ppNum, struct pp_video_mode *src, struct
pp_video_mode *dst)
| ^~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_vpp.c:408:6: warning: no
previous prototype for 'pp_size_set' [-Wmissing-prototypes]
408 | void
pp_size_set(struct sf_fb_data *sf_dev, int ppNum, struct pp_video_mode *src, struct
pp_video_mode *dst)
| ^~~~~~~~~~~
--
> drivers/video/fbdev/starfive/starfive_mipi_tx.c:341:6: warning:
no previous prototype for 'reset_dphy' [-Wmissing-prototypes]
341 |
void reset_dphy(struct sf_fb_data *sf_dev, int resetb)
| ^~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_mipi_tx.c:362:6: warning:
no previous prototype for 'polling_dphy_lock' [-Wmissing-prototypes]
362 | void polling_dphy_lock(struct sf_fb_data *sf_dev)
| ^~~~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_mipi_tx.c:388:6: warning:
no previous prototype for 'release_txbyte_rst' [-Wmissing-prototypes]
388 | void release_txbyte_rst(struct sf_fb_data *sf_dev)
| ^~~~~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_mipi_tx.c:404:6: warning:
no previous prototype for 'vid_size_cfg_update' [-Wmissing-prototypes]
404 | void vid_size_cfg_update(struct sf_fb_data *sf_dev)
| ^~~~~~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_mipi_tx.c:437:6: warning:
no previous prototype for 'vid_blktime_cfg_update' [-Wmissing-prototypes]
437 | void vid_blktime_cfg_update(struct sf_fb_data *sf_dev)
| ^~~~~~~~~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_mipi_tx.c:486:6: warning:
no previous prototype for 'dsi_main_cfg' [-Wmissing-prototypes]
486 |
void dsi_main_cfg(struct sf_fb_data *sf_dev)
| ^~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_mipi_tx.c:545:5: warning:
no previous prototype for 'dsitx_dcs_write' [-Wmissing-prototypes]
545
| int dsitx_dcs_write(struct sf_fb_data *sf_dev, int n, ...)
| ^~~~~~~~~~~~~~~
> drivers/video/fbdev/starfive/starfive_mipi_tx.c:626:6: warning:
no previous prototype for 'dpi_cfg' [-Wmissing-prototypes]
626 | void
dpi_cfg(struct sf_fb_data *sf_dev, int int_en) {
| ^~~~~~~
drivers/video/fbdev/starfive/starfive_mipi_tx.c: In function
'dsitx_dcs_write':
drivers/video/fbdev/starfive/starfive_mipi_tx.c:564:5: warning: second parameter of
'va_start' not last named argument [-Wvarargs]
564 | va_start(ap, cmd_size);
| ^~~~~~~~
--
> drivers/video/fbdev/starfive/tda998x.c:1058:5: warning: no
previous prototype for 'tda998x_audio_mute_stream' [-Wmissing-prototypes]
1058 | int tda998x_audio_mute_stream(struct device *dev, void *data, bool enable,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
vim +/ret +424 drivers/video/fbdev/starfive/starfive_fb.c
ff76d633fd1fcc jack.zhu 2021-01-11 418
ff76d633fd1fcc jack.zhu 2021-01-11 419 static int sf_fb_setcolreg(u_int regno, u_int
red, u_int green,
ff76d633fd1fcc jack.zhu 2021-01-11 420 u_int blue, u_int trans, struct fb_info
*info)
ff76d633fd1fcc jack.zhu 2021-01-11 421 {
ff76d633fd1fcc jack.zhu 2021-01-11 422 struct sf_fb_data *sf_dev = container_of(info,
struct sf_fb_data, fb);
ff76d633fd1fcc jack.zhu 2021-01-11 423 unsigned int val;
ff76d633fd1fcc jack.zhu 2021-01-11 @424 int ret = 1;
ff76d633fd1fcc jack.zhu 2021-01-11 425
ff76d633fd1fcc jack.zhu 2021-01-11 426 FB_PRT("%s,%d\n",__func__, __LINE__);
ff76d633fd1fcc jack.zhu 2021-01-11 427 /*
ff76d633fd1fcc jack.zhu 2021-01-11 428 * If inverse mode was selected, invert all the
colours
ff76d633fd1fcc jack.zhu 2021-01-11 429 * rather than the register number. The
register number
ff76d633fd1fcc jack.zhu 2021-01-11 430 * is what you poke into the framebuffer to
produce the
ff76d633fd1fcc jack.zhu 2021-01-11 431 * colour you requested.
ff76d633fd1fcc jack.zhu 2021-01-11 432 */
ff76d633fd1fcc jack.zhu 2021-01-11 433 if (sf_dev->cmap_inverse) {
ff76d633fd1fcc jack.zhu 2021-01-11 434 red = 0xffff - red;
ff76d633fd1fcc jack.zhu 2021-01-11 435 green = 0xffff - green;
ff76d633fd1fcc jack.zhu 2021-01-11 436 blue = 0xffff - blue;
ff76d633fd1fcc jack.zhu 2021-01-11 437 }
ff76d633fd1fcc jack.zhu 2021-01-11 438
ff76d633fd1fcc jack.zhu 2021-01-11 439 /*
ff76d633fd1fcc jack.zhu 2021-01-11 440 * If greyscale is true, then we convert the RGB
value
ff76d633fd1fcc jack.zhu 2021-01-11 441 * to greyscale no matter what visual we are
using.
ff76d633fd1fcc jack.zhu 2021-01-11 442 */
ff76d633fd1fcc jack.zhu 2021-01-11 443 if (sf_dev->fb.var.grayscale)
ff76d633fd1fcc jack.zhu 2021-01-11 444 red = green = blue = (19595 * red + 38470 *
green +
ff76d633fd1fcc jack.zhu 2021-01-11 445 7471 * blue) >> 16;
ff76d633fd1fcc jack.zhu 2021-01-11 446
ff76d633fd1fcc jack.zhu 2021-01-11 447 switch (sf_dev->fb.fix.visual) {
ff76d633fd1fcc jack.zhu 2021-01-11 448 case FB_VISUAL_TRUECOLOR:
ff76d633fd1fcc jack.zhu 2021-01-11 449 /*
ff76d633fd1fcc jack.zhu 2021-01-11 450 * 16-bit True Colour. We encode the RGB value
ff76d633fd1fcc jack.zhu 2021-01-11 451 * according to the RGB bitfield information.
ff76d633fd1fcc jack.zhu 2021-01-11 452 */
ff76d633fd1fcc jack.zhu 2021-01-11 453 if (regno < 16) {
ff76d633fd1fcc jack.zhu 2021-01-11 454 u32 *pal = sf_dev->fb.pseudo_palette;
ff76d633fd1fcc jack.zhu 2021-01-11 455
ff76d633fd1fcc jack.zhu 2021-01-11 456 val = sf_chan_to_field(red,
&sf_dev->fb.var.red);
ff76d633fd1fcc jack.zhu 2021-01-11 457 val |= sf_chan_to_field(green,
&sf_dev->fb.var.green);
ff76d633fd1fcc jack.zhu 2021-01-11 458 val |= sf_chan_to_field(blue,
&sf_dev->fb.var.blue);
ff76d633fd1fcc jack.zhu 2021-01-11 459
ff76d633fd1fcc jack.zhu 2021-01-11 460 pal[regno] = val;
ff76d633fd1fcc jack.zhu 2021-01-11 461 ret = 0;
ff76d633fd1fcc jack.zhu 2021-01-11 462 }
ff76d633fd1fcc jack.zhu 2021-01-11 463 break;
ff76d633fd1fcc jack.zhu 2021-01-11 464
ff76d633fd1fcc jack.zhu 2021-01-11 465 case FB_VISUAL_STATIC_PSEUDOCOLOR:
ff76d633fd1fcc jack.zhu 2021-01-11 466 case FB_VISUAL_PSEUDOCOLOR:
ff76d633fd1fcc jack.zhu 2021-01-11 467 /* haven't support this function. */
ff76d633fd1fcc jack.zhu 2021-01-11 468 break;
ff76d633fd1fcc jack.zhu 2021-01-11 469 }
ff76d633fd1fcc jack.zhu 2021-01-11 470
ff76d633fd1fcc jack.zhu 2021-01-11 471 return 0;
ff76d633fd1fcc jack.zhu 2021-01-11 472 }
ff76d633fd1fcc jack.zhu 2021-01-11 473
:::::: The code at line 424 was first introduced by commit
:::::: ff76d633fd1fcc65037af860aa54b91cac544d2d drivers/video/fbdev and
drivers/media/platform: starfive drivers added
:::::: TO: jack.zhu <jack.zhu(a)starfivetech.com>
:::::: CC: Emil Renner Berthing <kernel(a)esmil.dk>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org