Hi

Am 06.12.23 um 01:19 schrieb kernel test robot:
Hi Thomas,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on linus/master v6.7-rc4 next-20231205]
[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/Thomas-Zimmermann/fbdev-efifb-Replace-references-to-global-screen_info-by-local-pointer/20231204-173019
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    
https://lore.kernel.org/r/20231204092812.2612-2-tzimmermann%40suse.de
patch subject: [PATCH v2 1/4] fbdev/efifb: Replace references to global 
screen_info by local pointer
config: x86_64-randconfig-006-20231206 
(https://download.01.org/0day-ci/archive/20231206/202312060820.0kjx88on-...@intel.com/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20231206/202312060820.0kjx88on-...@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 <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202312060820.0kjx88on-...@intel.com/

All errors (new ones prefixed by >>):

    drivers/video/fbdev/efifb.c: In function 'efifb_probe':
drivers/video/fbdev/efifb.c:511:2: error: too few arguments to function 
'efifb_show_boot_graphics'
      efifb_show_boot_graphics(info);
      ^~~~~~~~~~~~~~~~~~~~~~~~
    drivers/video/fbdev/efifb.c:150:13: note: declared here
     static void efifb_show_boot_graphics(struct fb_info *info, struct 
screen_info *si)
                 ^~~~~~~~~~~~~~~~~~~~~~~~

I had deferred takeover disabled, so I didn't notice. Will be fixed before merging the patchset.

Best regards
Thomas



vim +/efifb_show_boot_graphics +511 drivers/video/fbdev/efifb.c

dcf8f5ce316565 drivers/video/fbdev/efifb.c Ard Biesheuvel    2017-08-18  358
e6816a8d855494 drivers/video/efifb.c       David Rheinsberg  2013-08-02  359  
static int efifb_probe(struct platform_device *dev)
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  360  {
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  361    
struct screen_info *si = &screen_info;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  362    
struct fb_info *info;
82dcb90b651bcb drivers/video/fbdev/efifb.c Thomas Zimmermann 2022-12-19  363    
struct efifb_par *par;
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  364    
int err, orientation;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  365    
unsigned int size_vmode;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  366    
unsigned int size_remap;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  367    
unsigned int size_total;
e6816a8d855494 drivers/video/efifb.c       David Rheinsberg  2013-08-02  368    
char *option = NULL;
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  369    
efi_memory_desc_t md;
e6816a8d855494 drivers/video/efifb.c       David Rheinsberg  2013-08-02  370
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  371    if 
(si->orig_video_isVGA != VIDEO_TYPE_EFI || pci_dev_disabled)
e6816a8d855494 drivers/video/efifb.c       David Rheinsberg  2013-08-02  372    
        return -ENODEV;
e6816a8d855494 drivers/video/efifb.c       David Rheinsberg  2013-08-02  373
e6816a8d855494 drivers/video/efifb.c       David Rheinsberg  2013-08-02  374    if 
(fb_get_options("efifb", &option))
e6816a8d855494 drivers/video/efifb.c       David Rheinsberg  2013-08-02  375    
        return -ENODEV;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  376    
efifb_setup(si, option);
e6816a8d855494 drivers/video/efifb.c       David Rheinsberg  2013-08-02  377
e6816a8d855494 drivers/video/efifb.c       David Rheinsberg  2013-08-02  378    
/* We don't get linelength from UGA Draw Protocol, only from
e6816a8d855494 drivers/video/efifb.c       David Rheinsberg  2013-08-02  379    
 * EFI Graphics Protocol.  So if it's not in DMI, and it's not
e6816a8d855494 drivers/video/efifb.c       David Rheinsberg  2013-08-02  380    
 * passed in from the user, we really can't use the framebuffer.
e6816a8d855494 drivers/video/efifb.c       David Rheinsberg  2013-08-02  381    
 */
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  382    if 
(!si->lfb_linelength)
e6816a8d855494 drivers/video/efifb.c       David Rheinsberg  2013-08-02  383    
        return -ENODEV;
7c08c9ae0c1458 drivers/video/efifb.c       Peter Jones       2008-10-15  384
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  385    if 
(!si->lfb_depth)
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  386       
     si->lfb_depth = 32;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  387    if 
(!si->pages)
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  388       
     si->pages = 1;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  389    
if (!fb_base_is_valid(si)) {
133bb070e94ab4 drivers/video/efifb.c       Matthew Garrett   2009-04-13  390            
printk(KERN_DEBUG "efifb: invalid framebuffer address\n");
133bb070e94ab4 drivers/video/efifb.c       Matthew Garrett   2009-04-13  391    
        return -ENODEV;
133bb070e94ab4 drivers/video/efifb.c       Matthew Garrett   2009-04-13  392    
}
133bb070e94ab4 drivers/video/efifb.c       Matthew Garrett   2009-04-13  393    
printk(KERN_INFO "efifb: probing for efifb\n");
7c08c9ae0c1458 drivers/video/efifb.c       Peter Jones       2008-10-15  394
7c08c9ae0c1458 drivers/video/efifb.c       Peter Jones       2008-10-15  395    
/* just assume they're all unset if any are */
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  396    if 
(!si->blue_size) {
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  397       
     si->blue_size = 8;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  398       
     si->blue_pos = 0;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  399       
     si->green_size = 8;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  400       
     si->green_pos = 8;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  401       
     si->red_size = 8;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  402       
     si->red_pos = 16;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  403       
     si->rsvd_size = 8;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  404       
     si->rsvd_pos = 24;
7c08c9ae0c1458 drivers/video/efifb.c       Peter Jones       2008-10-15  405    
}
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  406
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  407    
efifb_fix.smem_start = si->lfb_base;
ae2ee627dc87a7 drivers/video/fbdev/efifb.c Matt Fleming      2015-08-25  408
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  409    if 
(si->capabilities & VIDEO_CAPABILITY_64BIT_BASE) {
ae2ee627dc87a7 drivers/video/fbdev/efifb.c Matt Fleming      2015-08-25  410    
        u64 ext_lfb_base;
ae2ee627dc87a7 drivers/video/fbdev/efifb.c Matt Fleming      2015-08-25  411
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  412            
ext_lfb_base = (u64)(unsigned long)si->ext_lfb_base << 32;
ae2ee627dc87a7 drivers/video/fbdev/efifb.c Matt Fleming      2015-08-25  413    
        efifb_fix.smem_start |= ext_lfb_base;
ae2ee627dc87a7 drivers/video/fbdev/efifb.c Matt Fleming      2015-08-25  414    
}
ae2ee627dc87a7 drivers/video/fbdev/efifb.c Matt Fleming      2015-08-25  415
dcf8f5ce316565 drivers/video/fbdev/efifb.c Ard Biesheuvel    2017-08-18  416    if 
(bar_resource &&
dcf8f5ce316565 drivers/video/fbdev/efifb.c Ard Biesheuvel    2017-08-18  417       
 bar_resource->start + bar_offset != efifb_fix.smem_start) {
dcf8f5ce316565 drivers/video/fbdev/efifb.c Ard Biesheuvel    2017-08-18  418           
 dev_info(&efifb_pci_dev->dev,
dcf8f5ce316565 drivers/video/fbdev/efifb.c Ard Biesheuvel    2017-08-18  419              
       "BAR has moved, updating efifb address\n");
dcf8f5ce316565 drivers/video/fbdev/efifb.c Ard Biesheuvel    2017-08-18  420       
     efifb_fix.smem_start = bar_resource->start + bar_offset;
dcf8f5ce316565 drivers/video/fbdev/efifb.c Ard Biesheuvel    2017-08-18  421    
}
dcf8f5ce316565 drivers/video/fbdev/efifb.c Ard Biesheuvel    2017-08-18  422
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  423    
efifb_defined.bits_per_pixel = si->lfb_depth;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  424    
efifb_defined.xres = si->lfb_width;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  425    
efifb_defined.yres = si->lfb_height;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  426    
efifb_fix.line_length = si->lfb_linelength;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  427
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  428    
/*   size_vmode -- that is the amount of memory needed for the
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  429    
 *                 used video mode, i.e. the minimum amount of
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  430    
 *                 memory we need. */
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  431    
size_vmode = efifb_defined.yres * efifb_fix.line_length;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  432
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  433    
/*   size_total -- all video memory we have. Used for
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  434    
 *                 entries, ressource allocation and bounds
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  435    
 *                 checking. */
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  436    
size_total = si->lfb_size;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  437    if 
(size_total < size_vmode)
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  438    
        size_total = size_vmode;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  439
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  440    
/*   size_remap -- the amount of video memory we are going to
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  441    
 *                 use for efifb.  With modern cards it is no
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  442    
 *                 option to simply use size_total as that
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  443    
 *                 wastes plenty of kernel address space. */
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  444    
size_remap  = size_vmode * 2;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  445    if 
(size_remap > size_total)
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  446    
        size_remap = size_total;
7c08c9ae0c1458 drivers/video/efifb.c       Peter Jones       2008-10-15  447    
if (size_remap % PAGE_SIZE)
7c08c9ae0c1458 drivers/video/efifb.c       Peter Jones       2008-10-15  448    
        size_remap += PAGE_SIZE - (size_remap % PAGE_SIZE);
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  449    
efifb_fix.smem_len = size_remap;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  450
7c08c9ae0c1458 drivers/video/efifb.c       Peter Jones       2008-10-15  451    if 
(request_mem_region(efifb_fix.smem_start, size_remap, "efifb")) {
da0241f12bf785 drivers/video/efifb.c       Andy Lutomirski   2011-05-26  452    
        request_mem_succeeded = true;
7c08c9ae0c1458 drivers/video/efifb.c       Peter Jones       2008-10-15  453    
} else {
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  454    
        /* We cannot make this fatal. Sometimes this comes from magic
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  455    
           spaces our resource handlers simply don't know about */
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  456            
pr_warn("efifb: cannot reserve video memory at 0x%lx\n",
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  457    
                efifb_fix.smem_start);
7c08c9ae0c1458 drivers/video/efifb.c       Peter Jones       2008-10-15  458    
}
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  459
82dcb90b651bcb drivers/video/fbdev/efifb.c Thomas Zimmermann 2022-12-19  460    info = 
framebuffer_alloc(sizeof(*par), &dev->dev);
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  461    
if (!info) {
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  462    
        err = -ENOMEM;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  463    
        goto err_release_mem;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  464    
}
65b4021ed67622 drivers/video/efifb.c       David Rheinsberg  2014-01-23  465    
platform_set_drvdata(dev, info);
82dcb90b651bcb drivers/video/fbdev/efifb.c Thomas Zimmermann 2022-12-19  466    
par = info->par;
82dcb90b651bcb drivers/video/fbdev/efifb.c Thomas Zimmermann 2022-12-19  467    
info->pseudo_palette = par->pseudo_palette;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  468
7191ec8015f363 drivers/video/fbdev/efifb.c Thomas Zimmermann 2022-12-19  469    
par->base = efifb_fix.smem_start;
7191ec8015f363 drivers/video/fbdev/efifb.c Thomas Zimmermann 2022-12-19  470    
par->size = size_remap;
4410f3910947dc drivers/video/efifb.c       Dave Airlie       2009-06-16  471
6163a985e50cb1 drivers/video/fbdev/efifb.c Juergen Gross     2020-07-10  472    if 
(efi_enabled(EFI_MEMMAP) &&
c2999c281ea2d2 drivers/video/fbdev/efifb.c Ard Biesheuvel    2019-03-28  473        
!efi_mem_desc_lookup(efifb_fix.smem_start, &md)) {
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  474       
     if ((efifb_fix.smem_start + efifb_fix.smem_len) >
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  475          
      (md.phys_addr + (md.num_pages << EFI_PAGE_SHIFT))) {
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  476              
      pr_err("efifb: video memory @ 0x%lx spans multiple EFI memory regions\n",
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  477    
                       efifb_fix.smem_start);
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  478    
                err = -EIO;
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  479    
                goto err_release_fb;
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  480    
        }
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  481    
        /*
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  482    
         * If the UEFI memory map covers the efifb region, we may only
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  483    
         * remap it using the attributes the memory map prescribes.
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  484    
         */
f8585539df0a15 drivers/video/fbdev/efifb.c Ard Biesheuvel    2019-05-16  485        
    md.attribute &= EFI_MEMORY_UC | EFI_MEMORY_WC |
f8585539df0a15 drivers/video/fbdev/efifb.c Ard Biesheuvel    2019-05-16  486    
                        EFI_MEMORY_WT | EFI_MEMORY_WB;
f8585539df0a15 drivers/video/fbdev/efifb.c Ard Biesheuvel    2019-05-16  487    
        if (md.attribute) {
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  488    
                mem_flags |= EFI_MEMORY_WT | EFI_MEMORY_WB;
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  489        
            mem_flags &= md.attribute;
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  490    
        }
f8585539df0a15 drivers/video/fbdev/efifb.c Ard Biesheuvel    2019-05-16  491    
}
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  492    if 
(mem_flags & EFI_MEMORY_WC)
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  493       
     info->screen_base = ioremap_wc(efifb_fix.smem_start,
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  494    
                                       efifb_fix.smem_len);
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  495    
else if (mem_flags & EFI_MEMORY_UC)
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  496       
     info->screen_base = ioremap(efifb_fix.smem_start,
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  497    
                                    efifb_fix.smem_len);
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  498    
else if (mem_flags & EFI_MEMORY_WT)
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  499       
     info->screen_base = memremap(efifb_fix.smem_start,
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  500    
                                     efifb_fix.smem_len, MEMREMAP_WT);
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  501    
else if (mem_flags & EFI_MEMORY_WB)
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  502       
     info->screen_base = memremap(efifb_fix.smem_start,
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  503    
                                     efifb_fix.smem_len, MEMREMAP_WB);
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  504    if 
(!info->screen_base) {
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  505            
pr_err("efifb: abort, cannot remap video memory 0x%x @ 0x%lx\n",
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  506    
                efifb_fix.smem_len, efifb_fix.smem_start);
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  507    
        err = -EIO;
7c08c9ae0c1458 drivers/video/efifb.c       Peter Jones       2008-10-15  508    
        goto err_release_fb;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  509    
}
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  510
34db50e5565662 drivers/video/fbdev/efifb.c Hans de Goede     2018-07-03 @511    
efifb_show_boot_graphics(info);
34db50e5565662 drivers/video/fbdev/efifb.c Hans de Goede     2018-07-03  512
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  513    
pr_info("efifb: framebuffer at 0x%lx, using %dk, total %dk\n",
a53dd258279c1e drivers/video/fbdev/efifb.c Andy Lutomirski   2016-05-11  514    
       efifb_fix.smem_start, size_remap/1024, size_total/1024);
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  515    
pr_info("efifb: mode is %dx%dx%d, linelength=%d, pages=%d\n",
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  516    
       efifb_defined.xres, efifb_defined.yres,
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  517    
       efifb_defined.bits_per_pixel, efifb_fix.line_length,
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  518       
    si->pages);
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  519
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  520    
efifb_defined.xres_virtual = efifb_defined.xres;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  521    
efifb_defined.yres_virtual = efifb_fix.smem_len /
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  522    
                                efifb_fix.line_length;
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  523    
pr_info("efifb: scrolling: redraw\n");
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  524    
efifb_defined.yres_virtual = efifb_defined.yres;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  525
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  526    
/* some dummy values for timing to make fbset happy */
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  527    
efifb_defined.pixclock     = 10000000 / efifb_defined.xres *
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  528    
                                1000 / efifb_defined.yres;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  529    
efifb_defined.left_margin  = (efifb_defined.xres / 8) & 0xf8;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  530    
efifb_defined.hsync_len    = (efifb_defined.xres / 8) & 0xf8;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  531
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  532    
efifb_defined.red.offset    = si->red_pos;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  533    
efifb_defined.red.length    = si->red_size;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  534    
efifb_defined.green.offset  = si->green_pos;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  535    
efifb_defined.green.length  = si->green_size;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  536    
efifb_defined.blue.offset   = si->blue_pos;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  537    
efifb_defined.blue.length   = si->blue_size;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  538    
efifb_defined.transp.offset = si->rsvd_pos;
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  539    
efifb_defined.transp.length = si->rsvd_size;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  540
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  541    
pr_info("efifb: %s: "
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  542           
"size=%d:%d:%d:%d, shift=%d:%d:%d:%d\n",
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  543           
"Truecolor",
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  544       
    si->rsvd_size,
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  545       
    si->red_size,
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  546       
    si->green_size,
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  547       
    si->blue_size,
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  548       
    si->rsvd_pos,
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  549       
    si->red_pos,
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  550       
    si->green_pos,
c1c324fc4ecca7 drivers/video/fbdev/efifb.c Thomas Zimmermann 2023-12-04  551       
    si->blue_pos);
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  552
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  553    
efifb_fix.ypanstep  = 0;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  554    
efifb_fix.ywrapstep = 0;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  555
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  556    
info->fbops = &efifb_ops;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  557    
info->var = efifb_defined;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  558    
info->fix = efifb_fix;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  559
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  560    
orientation = drm_get_panel_orientation_quirk(efifb_defined.xres,
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  561    
                                              efifb_defined.yres);
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  562    
switch (orientation) {
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  563    
default:
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  564       
     info->fbcon_rotate_hint = FB_ROTATE_UR;
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  565    
        break;
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  566    
case DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP:
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  567       
     info->fbcon_rotate_hint = FB_ROTATE_UD;
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  568    
        break;
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  569    
case DRM_MODE_PANEL_ORIENTATION_LEFT_UP:
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  570       
     info->fbcon_rotate_hint = FB_ROTATE_CCW;
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  571    
        break;
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  572    
case DRM_MODE_PANEL_ORIENTATION_RIGHT_UP:
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  573       
     info->fbcon_rotate_hint = FB_ROTATE_CW;
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  574    
        break;
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  575    
}
028b186f4489dc drivers/video/fbdev/efifb.c Hans de Goede     2017-11-25  576
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  577    err = 
sysfs_create_groups(&dev->dev.kobj, efifb_groups);
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  578    
if (err) {
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  579            
pr_err("efifb: cannot add sysfs attrs\n");
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  580    
        goto err_unmap;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  581    
}
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  582    err = 
fb_alloc_cmap(&info->cmap, 256, 0);
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  583    if 
(err < 0) {
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  584            
pr_err("efifb: cannot allocate colormap\n");
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  585    
        goto err_groups;
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  586    
}
55285e21f04517 drivers/video/fbdev/efifb.c Imre Deak         2021-08-09  587
55285e21f04517 drivers/video/fbdev/efifb.c Imre Deak         2021-08-09  588    
if (efifb_pci_dev)
55285e21f04517 drivers/video/fbdev/efifb.c Imre Deak         2021-08-09  589            
WARN_ON(pm_runtime_get_sync(&efifb_pci_dev->dev) < 0);
55285e21f04517 drivers/video/fbdev/efifb.c Imre Deak         2021-08-09  590
7191ec8015f363 drivers/video/fbdev/efifb.c Thomas Zimmermann 2022-12-19  591    err = 
devm_aperture_acquire_for_platform_device(dev, par->base, par->size);
7191ec8015f363 drivers/video/fbdev/efifb.c Thomas Zimmermann 2022-12-19  592    
if (err) {
7191ec8015f363 drivers/video/fbdev/efifb.c Thomas Zimmermann 2022-12-19  593            
pr_err("efifb: cannot acquire aperture\n");
7191ec8015f363 drivers/video/fbdev/efifb.c Thomas Zimmermann 2022-12-19  594    
        goto err_put_rpm_ref;
7191ec8015f363 drivers/video/fbdev/efifb.c Thomas Zimmermann 2022-12-19  595    
}
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  596    
err = register_framebuffer(info);
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  597    if 
(err < 0) {
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  598            
pr_err("efifb: cannot register framebuffer\n");
55285e21f04517 drivers/video/fbdev/efifb.c Imre Deak         2021-08-09  599    
        goto err_put_rpm_ref;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  600    
}
31b6780c15a4e3 drivers/video/efifb.c       Joe Perches       2013-09-19  601    
fb_info(info, "%s frame buffer device\n", info->fix.id);
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  602    
return 0;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  603
55285e21f04517 drivers/video/fbdev/efifb.c Imre Deak         2021-08-09  604  
err_put_rpm_ref:
55285e21f04517 drivers/video/fbdev/efifb.c Imre Deak         2021-08-09  605    
if (efifb_pci_dev)
55285e21f04517 drivers/video/fbdev/efifb.c Imre Deak         2021-08-09  606           
 pm_runtime_put(&efifb_pci_dev->dev);
55285e21f04517 drivers/video/fbdev/efifb.c Imre Deak         2021-08-09  607
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  608    
fb_dealloc_cmap(&info->cmap);
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  609  
err_groups:
753375a881caa0 drivers/video/fbdev/efifb.c Peter Jones       2016-10-18  610    
sysfs_remove_groups(&dev->dev.kobj, efifb_groups);
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  611  
err_unmap:
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  612    if 
(mem_flags & (EFI_MEMORY_UC | EFI_MEMORY_WC))
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  613       
     iounmap(info->screen_base);
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  614    
else
38ac0287b7f4f3 drivers/video/fbdev/efifb.c Ard Biesheuvel    2018-07-11  615       
     memunmap(info->screen_base);
7c08c9ae0c1458 drivers/video/efifb.c       Peter Jones       2008-10-15  616  
err_release_fb:
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  617    
framebuffer_release(info);
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  618  
err_release_mem:
da0241f12bf785 drivers/video/efifb.c       Andy Lutomirski   2011-05-26  619    
if (request_mem_succeeded)
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  620    
        release_mem_region(efifb_fix.smem_start, size_total);
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  621    
return err;
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  622  }
7c83172b98e569 drivers/video/efifb.c       Huang, Ying       2007-11-28  623


--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to