From: kernel test robot <lkp@intel.com>
To: Arnav Kapoor <kapoorarnav43@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Sudip Mukherjee <sudipm.mukherjee@gmail.com>,
Teddy Wang <teddy.wang@siliconmotion.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
linux-staging@lists.linux.dev, linux-fbdev@vger.kernel.org,
linux-kernel@vger.kernel.org,
Arnav Kapoor <kapoorarnav43@gmail.com>
Subject: Re: [staging] staging: sm750fb: rename pvMem to vram and pvReg to reg
Date: Wed, 24 Jun 2026 08:43:00 +0800 [thread overview]
Message-ID: <202606240823.hWXfYyPf-lkp@intel.com> (raw)
In-Reply-To: <20260621045050.63460-1-kapoorarnav43@gmail.com>
Hi Arnav,
kernel test robot noticed the following build errors:
[auto build test ERROR on staging/staging-linus]
[also build test ERROR on v7.1]
[cannot apply to staging/staging-testing staging/staging-next linus/master next-20260623]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Arnav-Kapoor/staging-sm750fb-rename-pvMem-to-vram-and-pvReg-to-reg/20260622-235607
base: staging/staging-linus
patch link: https://lore.kernel.org/r/20260621045050.63460-1-kapoorarnav43%40gmail.com
patch subject: [staging] staging: sm750fb: rename pvMem to vram and pvReg to reg
config: sparc64-allmodconfig (https://download.01.org/0day-ci/archive/20260624/202606240823.hWXfYyPf-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260624/202606240823.hWXfYyPf-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/202606240823.hWXfYyPf-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/staging/sm750fb/sm750.c:625:31: error: no member named 'vram' in 'struct sm750_dev'
625 | crtc->v_screen = sm750_dev->vram;
| ~~~~~~~~~ ^
drivers/staging/sm750fb/sm750.c:631:31: error: no member named 'vram' in 'struct sm750_dev'
631 | crtc->v_screen = sm750_dev->vram;
| ~~~~~~~~~ ^
drivers/staging/sm750fb/sm750.c:638:32: error: no member named 'vram' in 'struct sm750_dev'
638 | crtc->v_screen = sm750_dev->vram;
| ~~~~~~~~~ ^
drivers/staging/sm750fb/sm750.c:644:32: error: no member named 'vram' in 'struct sm750_dev'
644 | crtc->v_screen = sm750_dev->vram + crtc->o_screen;
| ~~~~~~~~~ ^
drivers/staging/sm750fb/sm750.c:652:32: error: no member named 'vram' in 'struct sm750_dev'
652 | crtc->v_screen = sm750_dev->vram;
| ~~~~~~~~~ ^
drivers/staging/sm750fb/sm750.c:660:32: error: no member named 'vram' in 'struct sm750_dev'
660 | crtc->v_screen = sm750_dev->vram + crtc->o_screen;
| ~~~~~~~~~ ^
>> drivers/staging/sm750fb/sm750.c:758:33: error: no member named 'reg' in 'struct sm750_dev'
758 | crtc->cursor.mmio = sm750_dev->reg +
| ~~~~~~~~~ ^
drivers/staging/sm750fb/sm750.c:764:35: error: no member named 'vram' in 'struct sm750_dev'
764 | crtc->cursor.vstart = sm750_dev->vram + crtc->cursor.offset;
| ~~~~~~~~~ ^
drivers/staging/sm750fb/sm750.c:1031:23: error: no member named 'vram' in 'struct sm750_dev'
1031 | memset_io(sm750_dev->vram, 0, sm750_dev->vidmem_size);
| ~~~~~~~~~ ^
drivers/staging/sm750fb/sm750.c:1062:21: error: no member named 'reg' in 'struct sm750_dev'
1062 | iounmap(sm750_dev->reg);
| ~~~~~~~~~ ^
drivers/staging/sm750fb/sm750.c:1063:21: error: no member named 'vram' in 'struct sm750_dev'
1063 | iounmap(sm750_dev->vram);
| ~~~~~~~~~ ^
11 errors generated.
vim +625 drivers/staging/sm750fb/sm750.c
591
592 static int sm750fb_set_drv(struct lynxfb_par *par)
593 {
594 int ret;
595 struct sm750_dev *sm750_dev;
596 struct lynxfb_output *output;
597 struct lynxfb_crtc *crtc;
598
599 ret = 0;
600
601 sm750_dev = par->dev;
602 output = &par->output;
603 crtc = &par->crtc;
604
605 crtc->vidmem_size = sm750_dev->vidmem_size;
606 if (sm750_dev->fb_count > 1)
607 crtc->vidmem_size >>= 1;
608
609 /* setup crtc and output member */
610 sm750_dev->hw_cursor = g_hwcursor;
611
612 crtc->line_pad = 16;
613 crtc->xpanstep = 8;
614 crtc->ypanstep = 1;
615 crtc->ywrapstep = 0;
616
617 /* chip specific phase */
618 sm750_dev->accel.de_wait = (sm750_dev->revid == SM750LE_REVISION_ID) ?
619 hw_sm750le_de_wait : hw_sm750_de_wait;
620 switch (sm750_dev->dataflow) {
621 case sm750_simul_pri:
622 output->paths = sm750_pnc;
623 crtc->channel = sm750_primary;
624 crtc->o_screen = 0;
> 625 crtc->v_screen = sm750_dev->vram;
626 break;
627 case sm750_simul_sec:
628 output->paths = sm750_pnc;
629 crtc->channel = sm750_secondary;
630 crtc->o_screen = 0;
631 crtc->v_screen = sm750_dev->vram;
632 break;
633 case sm750_dual_normal:
634 if (par->index == 0) {
635 output->paths = sm750_panel;
636 crtc->channel = sm750_primary;
637 crtc->o_screen = 0;
638 crtc->v_screen = sm750_dev->vram;
639 } else {
640 output->paths = sm750_crt;
641 crtc->channel = sm750_secondary;
642 /* not consider of padding stuffs for o_screen,need fix */
643 crtc->o_screen = sm750_dev->vidmem_size >> 1;
644 crtc->v_screen = sm750_dev->vram + crtc->o_screen;
645 }
646 break;
647 case sm750_dual_swap:
648 if (par->index == 0) {
649 output->paths = sm750_panel;
650 crtc->channel = sm750_secondary;
651 crtc->o_screen = 0;
652 crtc->v_screen = sm750_dev->vram;
653 } else {
654 output->paths = sm750_crt;
655 crtc->channel = sm750_primary;
656 /* not consider of padding stuffs for o_screen,
657 * need fix
658 */
659 crtc->o_screen = sm750_dev->vidmem_size >> 1;
660 crtc->v_screen = sm750_dev->vram + crtc->o_screen;
661 }
662 break;
663 default:
664 ret = -EINVAL;
665 }
666
667 return ret;
668 }
669
670 static const struct fb_ops lynxfb_ops = {
671 .owner = THIS_MODULE,
672 FB_DEFAULT_IOMEM_OPS,
673 .fb_check_var = lynxfb_ops_check_var,
674 .fb_set_par = lynxfb_ops_set_par,
675 .fb_setcolreg = lynxfb_ops_setcolreg,
676 .fb_blank = lynxfb_ops_blank,
677 .fb_pan_display = lynxfb_ops_pan_display,
678 };
679
680 static const struct fb_ops lynxfb_ops_with_cursor = {
681 .owner = THIS_MODULE,
682 FB_DEFAULT_IOMEM_OPS,
683 .fb_check_var = lynxfb_ops_check_var,
684 .fb_set_par = lynxfb_ops_set_par,
685 .fb_setcolreg = lynxfb_ops_setcolreg,
686 .fb_blank = lynxfb_ops_blank,
687 .fb_pan_display = lynxfb_ops_pan_display,
688 .fb_cursor = lynxfb_ops_cursor,
689 };
690
691 static const struct fb_ops lynxfb_ops_accel = {
692 .owner = THIS_MODULE,
693 __FB_DEFAULT_IOMEM_OPS_RDWR,
694 .fb_check_var = lynxfb_ops_check_var,
695 .fb_set_par = lynxfb_ops_set_par,
696 .fb_setcolreg = lynxfb_ops_setcolreg,
697 .fb_blank = lynxfb_ops_blank,
698 .fb_pan_display = lynxfb_ops_pan_display,
699 .fb_fillrect = lynxfb_ops_fillrect,
700 .fb_copyarea = lynxfb_ops_copyarea,
701 .fb_imageblit = lynxfb_ops_imageblit,
702 __FB_DEFAULT_IOMEM_OPS_MMAP,
703 };
704
705 static const struct fb_ops lynxfb_ops_accel_with_cursor = {
706 .owner = THIS_MODULE,
707 __FB_DEFAULT_IOMEM_OPS_RDWR,
708 .fb_check_var = lynxfb_ops_check_var,
709 .fb_set_par = lynxfb_ops_set_par,
710 .fb_setcolreg = lynxfb_ops_setcolreg,
711 .fb_blank = lynxfb_ops_blank,
712 .fb_pan_display = lynxfb_ops_pan_display,
713 .fb_fillrect = lynxfb_ops_fillrect,
714 .fb_copyarea = lynxfb_ops_copyarea,
715 .fb_imageblit = lynxfb_ops_imageblit,
716 .fb_cursor = lynxfb_ops_cursor,
717 __FB_DEFAULT_IOMEM_OPS_MMAP,
718 };
719
720 static int lynxfb_set_fbinfo(struct fb_info *info, int index)
721 {
722 int i;
723 struct lynxfb_par *par;
724 struct sm750_dev *sm750_dev;
725 struct lynxfb_crtc *crtc;
726 struct lynxfb_output *output;
727 struct fb_var_screeninfo *var;
728 struct fb_fix_screeninfo *fix;
729
730 const struct fb_videomode *pdb[] = {
731 lynx750_ext, NULL, vesa_modes,
732 };
733 int cdb[] = {ARRAY_SIZE(lynx750_ext), 0, VESA_MODEDB_SIZE};
734 static const char *fix_id[2] = {
735 "sm750_fb1", "sm750_fb2",
736 };
737
738 int ret, line_length;
739
740 ret = 0;
741 par = (struct lynxfb_par *)info->par;
742 sm750_dev = par->dev;
743 crtc = &par->crtc;
744 output = &par->output;
745 var = &info->var;
746 fix = &info->fix;
747
748 /* set index */
749 par->index = index;
750 output->channel = &crtc->channel;
751 sm750fb_set_drv(par);
752
753 /*
754 * set current cursor variable and proc pointer,
755 * must be set after crtc member initialized
756 */
757 crtc->cursor.offset = crtc->o_screen + crtc->vidmem_size - 1024;
> 758 crtc->cursor.mmio = sm750_dev->reg +
759 0x800f0 + (int)crtc->channel * 0x140;
760
761 crtc->cursor.max_h = 64;
762 crtc->cursor.max_w = 64;
763 crtc->cursor.size = crtc->cursor.max_h * crtc->cursor.max_w * 2 / 8;
764 crtc->cursor.vstart = sm750_dev->vram + crtc->cursor.offset;
765
766 memset_io(crtc->cursor.vstart, 0, crtc->cursor.size);
767 if (!g_hwcursor)
768 sm750_hw_cursor_disable(&crtc->cursor);
769
770 /* set info->fbops, must be set before fb_find_mode */
771 if (!sm750_dev->accel_off) {
772 /* use 2d acceleration */
773 if (!g_hwcursor)
774 info->fbops = &lynxfb_ops_accel;
775 else
776 info->fbops = &lynxfb_ops_accel_with_cursor;
777 } else {
778 if (!g_hwcursor)
779 info->fbops = &lynxfb_ops;
780 else
781 info->fbops = &lynxfb_ops_with_cursor;
782 }
783
784 if (!g_fbmode[index]) {
785 g_fbmode[index] = g_def_fbmode;
786 if (index)
787 g_fbmode[index] = g_fbmode[0];
788 }
789
790 for (i = 0; i < 3; i++) {
791 ret = fb_find_mode(var, info, g_fbmode[index],
792 pdb[i], cdb[i], NULL, 8);
793
794 if (ret == 1 || ret == 2)
795 break;
796 }
797
798 /* set par */
799 par->info = info;
800
801 /* set info */
802 line_length = ALIGN((var->xres_virtual * var->bits_per_pixel / 8),
803 crtc->line_pad);
804
805 info->pseudo_palette = &par->pseudo_palette[0];
806 info->screen_base = crtc->v_screen;
807 info->screen_size = line_length * var->yres_virtual;
808
809 /* set info->fix */
810 fix->type = FB_TYPE_PACKED_PIXELS;
811 fix->type_aux = 0;
812 fix->xpanstep = crtc->xpanstep;
813 fix->ypanstep = crtc->ypanstep;
814 fix->ywrapstep = crtc->ywrapstep;
815 fix->accel = FB_ACCEL_SMI;
816
817 strscpy(fix->id, fix_id[index], sizeof(fix->id));
818
819 fix->smem_start = crtc->o_screen + sm750_dev->vidmem_start;
820 /*
821 * according to mmap experiment from user space application,
822 * fix->mmio_len should not larger than virtual size
823 * (xres_virtual x yres_virtual x ByPP)
824 * Below line maybe buggy when user mmap fb dev node and write
825 * data into the bound over virtual size
826 */
827 fix->smem_len = crtc->vidmem_size;
828 info->screen_size = fix->smem_len;
829 fix->line_length = line_length;
830 fix->mmio_start = sm750_dev->vidreg_start;
831 fix->mmio_len = sm750_dev->vidreg_size;
832
833 lynxfb_set_visual_mode(info);
834
835 /* set var */
836 var->activate = FB_ACTIVATE_NOW;
837 var->accel_flags = 0;
838 var->vmode = FB_VMODE_NONINTERLACED;
839
840 ret = fb_alloc_cmap(&info->cmap, 256, 0);
841 if (ret < 0) {
842 dev_err(info->device, "Could not allocate memory for cmap.\n");
843 goto exit;
844 }
845
846 exit:
847 lynxfb_ops_check_var(var, info);
848 return ret;
849 }
850
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
parent reply other threads:[~2026-06-24 0:44 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <20260621045050.63460-1-kapoorarnav43@gmail.com>]
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=202606240823.hWXfYyPf-lkp@intel.com \
--to=lkp@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=kapoorarnav43@gmail.com \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=sudipm.mukherjee@gmail.com \
--cc=teddy.wang@siliconmotion.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox