• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/stand/efi/loader/

Lines Matching refs:efifb

97 efifb_color_depth(struct efi_fb *efifb)
102 mask = efifb->fb_mask_red | efifb->fb_mask_green |
103 efifb->fb_mask_blue | efifb->fb_mask_reserved;
112 efifb_mask_from_pixfmt(struct efi_fb *efifb, EFI_GRAPHICS_PIXEL_FORMAT pixfmt,
121 efifb->fb_mask_red = 0x000000ff;
122 efifb->fb_mask_green = 0x0000ff00;
123 efifb->fb_mask_blue = 0x00ff0000;
124 efifb->fb_mask_reserved = 0xff000000;
127 efifb->fb_mask_red = 0x00ff0000;
128 efifb->fb_mask_green = 0x0000ff00;
129 efifb->fb_mask_blue = 0x000000ff;
130 efifb->fb_mask_reserved = 0xff000000;
133 efifb->fb_mask_red = pixinfo->RedMask;
134 efifb->fb_mask_green = pixinfo->GreenMask;
135 efifb->fb_mask_blue = pixinfo->BlueMask;
136 efifb->fb_mask_reserved = pixinfo->ReservedMask;
146 efifb_from_gop(struct efi_fb *efifb, EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *mode,
151 efifb->fb_addr = mode->FrameBufferBase;
152 efifb->fb_size = mode->FrameBufferSize;
153 efifb->fb_height = info->VerticalResolution;
154 efifb->fb_width = info->HorizontalResolution;
155 efifb->fb_stride = info->PixelsPerScanLine;
156 result = efifb_mask_from_pixfmt(efifb, info->PixelFormat,
319 efifb_from_uga(struct efi_fb *efifb)
332 efifb->fb_height = vert;
333 efifb->fb_width = horiz;
335 if (efifb->fb_height == 0 || efifb->fb_width == 0)
339 efifb_mask_from_pixfmt(efifb, PixelBlueGreenRedReserved8BitPerColor,
346 status = efifb_uga_locate_framebuffer(pciio, &efifb->fb_addr,
347 &efifb->fb_size);
349 efifb->fb_addr = 0;
350 efifb->fb_size = 0;
387 if (offset >= 0 && efifb->fb_width == horiz &&
388 efifb->fb_height == vert && efifb->fb_addr == fbaddr) {
389 efifb->fb_addr += offset;
390 efifb->fb_size -= offset;
391 efifb->fb_stride = stride;
403 efifb->fb_stride = efifb->fb_width;
405 np = efifb->fb_stride & (efifb->fb_stride - 1);
407 efifb->fb_stride |= (np - 1);
408 efifb->fb_stride++;
412 ev = getenv("hw.efifb.address");
414 if (efifb->fb_addr == 0) {
415 printf("Please set hw.efifb.address and "
416 "hw.efifb.stride.\n");
437 offset = efifb_uga_find_pixel(uga, 0, pciio, efifb->fb_addr,
438 efifb->fb_size >> 8);
442 efifb->fb_addr += offset;
443 efifb->fb_size -= offset;
447 efifb->fb_size = efifb->fb_height * efifb->fb_stride * 4;
448 efifb->fb_addr = strtoul(ev, &p, 0);
453 ev = getenv("hw.efifb.stride");
458 efifb->fb_addr, horiz * 8);
460 efifb->fb_stride = offset >> 2;
465 efifb->fb_stride = strtoul(ev, &p, 0);
474 efifb->fb_size = efifb->fb_height * efifb->fb_stride * 4;
544 struct efi_fb efifb;
601 rv = efifb_from_gop(&efifb, gop->Mode, gop->Mode->Info);
605 rv = efifb_from_uga(&efifb);
612 gfx_state->tg_fb.fb_addr = efifb.fb_addr;
613 gfx_state->tg_fb.fb_size = efifb.fb_size;
614 gfx_state->tg_fb.fb_height = efifb.fb_height;
615 gfx_state->tg_fb.fb_width = efifb.fb_width;
616 gfx_state->tg_fb.fb_stride = efifb.fb_stride;
617 gfx_state->tg_fb.fb_mask_red = efifb.fb_mask_red;
618 gfx_state->tg_fb.fb_mask_green = efifb.fb_mask_green;
619 gfx_state->tg_fb.fb_mask_blue = efifb.fb_mask_blue;
620 gfx_state->tg_fb.fb_mask_reserved = efifb.fb_mask_reserved;
622 gfx_state->tg_fb.fb_bpp = fls(efifb.fb_mask_red | efifb.fb_mask_green |
623 efifb.fb_mask_blue | efifb.fb_mask_reserved);
629 print_efifb(int mode, struct efi_fb *efifb, int verbose)
635 depth = efifb_color_depth(efifb);
636 printf("%ux%ux%u, stride=%u", efifb->fb_width, efifb->fb_height,
637 depth, efifb->fb_stride);
640 (uintmax_t)efifb->fb_addr, (uintmax_t)efifb->fb_size);
642 efifb->fb_mask_red, efifb->fb_mask_green,
643 efifb->fb_mask_blue);
701 struct efi_fb efifb;
714 efifb_from_gop(&efifb, gop->Mode, info);
807 struct efi_fb efifb;
846 efifb_from_gop(&efifb, gop->Mode, gop->Mode->Info);
860 print_efifb(gop->Mode->Mode, &efifb, 1);
874 efifb_from_gop(&efifb, gop->Mode, info);
875 print_efifb(mode, &efifb, 0);
894 struct efi_fb efifb;
905 if (efifb_from_uga(&efifb) != CMD_OK) {
911 print_efifb(-1, &efifb, 1);