[xlnx:xlnx_rebase_v5.10 1699/1758] drivers/media/platform/xilinx/xilinx-hdmirxss.c:500:9: error: implicit declaration of function 'FIELD_PREP'
kernel test robot
lkp at intel.com
Sat Jul 31 16:55:49 PDT 2021
tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.10
head: cc84db65c53872c3beece8f401232232609b47de
commit: 40aebff85555640414e3dce09117f8e23a206220 [1699/1758] v4l: xilinx: hdmirx: Add HDMI 2.1 Rx subsystem driver
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gcc (GCC) 10.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/Xilinx/linux-xlnx/commit/40aebff85555640414e3dce09117f8e23a206220
git remote add xlnx https://github.com/Xilinx/linux-xlnx
git fetch --no-tags xlnx xlnx_rebase_v5.10
git checkout 40aebff85555640414e3dce09117f8e23a206220
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
All errors (new ones prefixed by >>):
drivers/media/platform/xilinx/xilinx-hdmirxss.c: In function 'xhdmirx_vtd_settimebase':
>> drivers/media/platform/xilinx/xilinx-hdmirxss.c:500:9: error: implicit declaration of function 'FIELD_PREP' [-Werror=implicit-function-declaration]
500 | val |= FIELD_PREP(HDMIRX_VTD_CTRL_TIMERBASE_MASK, count);
| ^~~~~~~~~~
drivers/media/platform/xilinx/xilinx-hdmirxss.c: In function 'xhdmirx1_gettmdsclkratio':
>> drivers/media/platform/xilinx/xilinx-hdmirxss.c:651:8: error: implicit declaration of function 'FIELD_GET'; did you mean 'FOLL_GET'? [-Werror=implicit-function-declaration]
651 | val = FIELD_GET(HDMIRX_PIO_IN_SCDC_TMDS_CLOCK_RATIO_MASK, val);
| ^~~~~~~~~
| FOLL_GET
cc1: some warnings being treated as errors
vim +/FIELD_PREP +500 drivers/media/platform/xilinx/xilinx-hdmirxss.c
488
489 /**
490 * xhdmirx_vtd_settimebase - Set the Video Timing Detector
491 *
492 * @xhdmi: pointer to driver state
493 * @count: count value to set the timer to.
494 */
495 static inline void xhdmirx_vtd_settimebase(struct xhdmirx_state *xhdmi, u32 count)
496 {
497 u32 val = xhdmi_read(xhdmi, HDMIRX_VTD_CTRL_OFFSET);
498
499 val &= ~HDMIRX_VTD_CTRL_TIMERBASE_MASK;
> 500 val |= FIELD_PREP(HDMIRX_VTD_CTRL_TIMERBASE_MASK, count);
501 xhdmi_write(xhdmi, HDMIRX_VTD_CTRL_OFFSET, val);
502 }
503
504 static inline void xhdmirx_scrambler_enable(struct xhdmirx_state *xhdmi)
505 {
506 xhdmi_write(xhdmi, HDMIRX_PIO_OUT_SET_OFFSET,
507 HDMIRX_PIO_OUT_SCRM_MASK);
508 xhdmi->stream.isscrambled = true;
509 }
510
511 static inline void xhdmirx_scrambler_disable(struct xhdmirx_state *xhdmi)
512 {
513 xhdmi_write(xhdmi, HDMIRX_PIO_OUT_CLR_OFFSET,
514 HDMIRX_PIO_OUT_SCRM_MASK);
515 xhdmi->stream.isscrambled = false;
516 }
517
518 static inline void xhdmirx_ddcscdc_clear(struct xhdmirx_state *xhdmi)
519 {
520 xhdmi_write(xhdmi, HDMIRX_DDC_CTRL_SET_OFFSET,
521 HDMIRX_DDC_CTRL_SCDC_CLR_MASK);
522 /* add a usleep(50) here */
523 xhdmi_write(xhdmi, HDMIRX_DDC_CTRL_CLR_OFFSET,
524 HDMIRX_DDC_CTRL_SCDC_CLR_MASK);
525 }
526
527 /**
528 * xhdmirx_disable_allintr - Disable all the interrupt sources
529 *
530 * @xhdmi: pointer to driver state
531 */
532 static void xhdmirx_disable_allintr(struct xhdmirx_state *xhdmi)
533 {
534 xhdmirx_piointr_disable(xhdmi);
535 xhdmirx_vtdintr_disable(xhdmi);
536 xhdmirx_ddcintr_disable(xhdmi);
537 xhdmirx_tmr1intr_disable(xhdmi);
538 xhdmirx_tmr2intr_disable(xhdmi);
539 xhdmirx_tmr3intr_disable(xhdmi);
540 xhdmirx_tmr4intr_disable(xhdmi);
541 xhdmirx_auxintr_disable(xhdmi);
542 xhdmirx_audintr_disable(xhdmi);
543 xhdmirx_frlintr_disable(xhdmi);
544 xhdmirx_lnkstaintr_disable(xhdmi);
545 }
546
547 /**
548 * xhdmirx_enable_allintr - Enable all the interrupt sources
549 *
550 * @xhdmi: pointer to driver state
551 */
552 static void xhdmirx_enable_allintr(struct xhdmirx_state *xhdmi)
553 {
554 xhdmirx_piointr_enable(xhdmi);
555 xhdmirx_vtdintr_enable(xhdmi);
556 xhdmirx_ddcintr_enable(xhdmi);
557 xhdmirx_tmr1intr_enable(xhdmi);
558 xhdmirx_tmr2intr_enable(xhdmi);
559 xhdmirx_tmr3intr_enable(xhdmi);
560 xhdmirx_tmr4intr_enable(xhdmi);
561 xhdmirx_auxintr_enable(xhdmi);
562 xhdmirx_frlintr_enable(xhdmi);
563 xhdmirx_lnkstaintr_enable(xhdmi);
564 }
565
566 /**
567 * xhdmirx1_bridgeyuv420 - Enable/disable YUV 420 in bridge
568 *
569 * @xhdmi: pointer to driver state
570 * @flag: Flag to set or clear the bit
571 */
572 static void xhdmirx1_bridgeyuv420(struct xhdmirx_state *xhdmi, bool flag)
573 {
574 if (flag)
575 xhdmi_write(xhdmi, HDMIRX_PIO_OUT_SET_OFFSET,
576 HDMIRX_PIO_OUT_BRIDGE_YUV420_MASK);
577 else
578 xhdmi_write(xhdmi, HDMIRX_PIO_OUT_CLR_OFFSET,
579 HDMIRX_PIO_OUT_BRIDGE_YUV420_MASK);
580 }
581
582 /**
583 * xhdmirx1_bridgepixeldrop - Enable/Disable pixel drop in bridge
584 *
585 * @xhdmi: pointer to driver state
586 * @flag: Flag to set or clear
587 */
588 static void xhdmirx1_bridgepixeldrop(struct xhdmirx_state *xhdmi, bool flag)
589 {
590 if (flag)
591 xhdmi_write(xhdmi, HDMIRX_PIO_OUT_SET_OFFSET,
592 HDMIRX_PIO_OUT_BRIDGE_PIXEL_MASK);
593 else
594 xhdmi_write(xhdmi, HDMIRX_PIO_OUT_CLR_OFFSET,
595 HDMIRX_PIO_OUT_BRIDGE_PIXEL_MASK);
596 }
597
598 /**
599 * xhdmirx1_start - Start the HDMI Rx by enabling the PIO
600 *
601 * @xhdmi: pointer to driver state
602 */
603 static void xhdmirx1_start(struct xhdmirx_state *xhdmi)
604 {
605 xhdmirx_pio_enable(xhdmi);
606 xhdmirx_piointr_enable(xhdmi);
607 }
608
609 static void xhdmirx1_clearlinkstatus(struct xhdmirx_state *xhdmi)
610 {
611 xhdmi_write(xhdmi, HDMIRX_LNKSTA_CTRL_SET_OFFSET, HDMIRX_LNKSTA_CTRL_ERR_CLR_MASK);
612 xhdmi_write(xhdmi, HDMIRX_LNKSTA_CTRL_CLR_OFFSET, HDMIRX_LNKSTA_CTRL_ERR_CLR_MASK);
613 }
614
615 /**
616 * xhdmirx_set_hpd - Toggle hot plug detect line
617 * @xhdmi: pointer to driver state
618 * @enable: Flag to assert or deassert the HPD line
619 *
620 * This function is used to toggle hot plug detect line to indicate to the
621 * HDMI Tx about change in HDMI Rx.
622 */
623 static void xhdmirx_set_hpd(struct xhdmirx_state *xhdmi, int enable)
624 {
625 if (enable)
626 xhdmi_write(xhdmi, HDMIRX_PIO_OUT_SET_OFFSET,
627 HDMIRX_PIO_OUT_HPD_MASK);
628 else
629 xhdmi_write(xhdmi, HDMIRX_PIO_OUT_CLR_OFFSET,
630 HDMIRX_PIO_OUT_HPD_MASK);
631 }
632
633 static inline bool xhdmirx1_isstreamconnected(struct xhdmirx_state *xhdmi)
634 {
635 /* return the stream cable connected */
636 return xhdmi->stream.cable_connected;
637 }
638
639 /**
640 * xhdmirx1_gettmdsclkratio - Get the TMDS clock ratio
641 * @xhdmi: pointer to the driver state
642 *
643 * Return: TMDS clock ratio 0 or 1
644 */
645 static u32 xhdmirx1_gettmdsclkratio(struct xhdmirx_state *xhdmi)
646 {
647 u32 val;
648
649 /* Get TMDS clock ratio */
650 val = xhdmi_read(xhdmi, HDMIRX_PIO_IN_OFFSET);
> 651 val = FIELD_GET(HDMIRX_PIO_IN_SCDC_TMDS_CLOCK_RATIO_MASK, val);
652
653 dev_dbg(xhdmi->dev, "Get TMDS Clk Ratio = %u\n", val);
654 return val;
655 }
656
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 67696 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20210801/8a84ccad/attachment-0001.gz>
More information about the linux-arm-kernel
mailing list