Lines Matching defs:efifb

98 efifb_color_depth(struct efi_fb *efifb)
103 mask = efifb->fb_mask_red | efifb->fb_mask_green |
104 efifb->fb_mask_blue | efifb->fb_mask_reserved;
113 efifb_mask_from_pixfmt(struct efi_fb *efifb, EFI_GRAPHICS_PIXEL_FORMAT pixfmt,
122 efifb->fb_mask_red = 0x000000ff;
123 efifb->fb_mask_green = 0x0000ff00;
124 efifb->fb_mask_blue = 0x00ff0000;
125 efifb->fb_mask_reserved = 0xff000000;
128 efifb->fb_mask_red = 0x00ff0000;
129 efifb->fb_mask_green = 0x0000ff00;
130 efifb->fb_mask_blue = 0x000000ff;
131 efifb->fb_mask_reserved = 0xff000000;
134 efifb->fb_mask_red = pixinfo->RedMask;
135 efifb->fb_mask_green = pixinfo->GreenMask;
136 efifb->fb_mask_blue = pixinfo->BlueMask;
137 efifb->fb_mask_reserved = pixinfo->ReservedMask;
147 efifb_from_gop(struct efi_fb *efifb, EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *mode,
156 efifb->fb_addr =
162 efifb->fb_size = mode->FrameBufferSize;
163 efifb->fb_height = info->VerticalResolution;
164 efifb->fb_width = info->HorizontalResolution;
165 efifb->fb_stride = info->PixelsPerScanLine;
166 result = efifb_mask_from_pixfmt(efifb, info->PixelFormat,
329 efifb_from_uga(struct efi_fb *efifb)
342 efifb->fb_height = vert;
343 efifb->fb_width = horiz;
345 if (efifb->fb_height == 0 || efifb->fb_width == 0)
349 efifb_mask_from_pixfmt(efifb, PixelBlueGreenRedReserved8BitPerColor,
356 status = efifb_uga_locate_framebuffer(pciio, &efifb->fb_addr,
357 &efifb->fb_size);
359 efifb->fb_addr = 0;
360 efifb->fb_size = 0;
397 if (offset >= 0 && efifb->fb_width == horiz &&
398 efifb->fb_height == vert && efifb->fb_addr == fbaddr) {
399 efifb->fb_addr += offset;
400 efifb->fb_size -= offset;
401 efifb->fb_stride = stride;
413 efifb->fb_stride = efifb->fb_width;
415 np = efifb->fb_stride & (efifb->fb_stride - 1);
417 efifb->fb_stride |= (np - 1);
418 efifb->fb_stride++;
422 ev = getenv("hw.efifb.address");
424 if (efifb->fb_addr == 0) {
425 printf("Please set hw.efifb.address and "
426 "hw.efifb.stride.\n");
447 offset = efifb_uga_find_pixel(uga, 0, pciio, efifb->fb_addr,
448 efifb->fb_size >> 8);
452 efifb->fb_addr += offset;
453 efifb->fb_size -= offset;
457 efifb->fb_size = efifb->fb_height * efifb->fb_stride * 4;
458 efifb->fb_addr = strtoul(ev, &p, 0);
463 ev = getenv("hw.efifb.stride");
468 efifb->fb_addr, horiz * 8);
470 efifb->fb_stride = offset >> 2;
475 efifb->fb_stride = strtoul(ev, &p, 0);
484 efifb->fb_size = efifb->fb_height * efifb->fb_stride * 4;
570 struct efi_fb efifb;
639 rv = efifb_from_gop(&efifb, gop->Mode, gop->Mode->Info);
643 rv = efifb_from_uga(&efifb);
650 gfx_state->tg_fb.fb_addr = efifb.fb_addr;
651 gfx_state->tg_fb.fb_size = efifb.fb_size;
652 gfx_state->tg_fb.fb_height = efifb.fb_height;
653 gfx_state->tg_fb.fb_width = efifb.fb_width;
654 gfx_state->tg_fb.fb_stride = efifb.fb_stride;
655 gfx_state->tg_fb.fb_mask_red = efifb.fb_mask_red;
656 gfx_state->tg_fb.fb_mask_green = efifb.fb_mask_green;
657 gfx_state->tg_fb.fb_mask_blue = efifb.fb_mask_blue;
658 gfx_state->tg_fb.fb_mask_reserved = efifb.fb_mask_reserved;
660 gfx_state->tg_fb.fb_bpp = fls(efifb.fb_mask_red | efifb.fb_mask_green |
661 efifb.fb_mask_blue | efifb.fb_mask_reserved);
667 EFI_SIZE_TO_PAGES(efifb.fb_height * efifb.fb_width *
678 print_efifb(int mode, struct efi_fb *efifb, int verbose)
684 depth = efifb_color_depth(efifb);
685 printf("%ux%ux%u, stride=%u", efifb->fb_width, efifb->fb_height,
686 depth, efifb->fb_stride);
689 (uintmax_t)efifb->fb_addr, (uintmax_t)efifb->fb_size);
691 efifb->fb_mask_red, efifb->fb_mask_green,
692 efifb->fb_mask_blue);
750 struct efi_fb efifb;
763 efifb_from_gop(&efifb, gop->Mode, info);
856 struct efi_fb efifb;
895 efifb_from_gop(&efifb, gop->Mode, gop->Mode->Info);
909 print_efifb(gop->Mode->Mode, &efifb, 1);
923 efifb_from_gop(&efifb, gop->Mode, info);
924 print_efifb(mode, &efifb, 0);
943 struct efi_fb efifb;
954 if (efifb_from_uga(&efifb) != CMD_OK) {
960 print_efifb(-1, &efifb, 1);