Lines Matching refs:efifb

47 efi_framebuffer_bpp(struct efi_fb *efifb)  in efi_framebuffer_bpp()  argument
52 mask = efifb->fb_mask_red | efifb->fb_mask_green | in efi_framebuffer_bpp()
53 efifb->fb_mask_blue | efifb->fb_mask_reserved; in efi_framebuffer_bpp()
62 efifb_mask_from_pixfmt(struct efi_fb *efifb, EFI_GRAPHICS_PIXEL_FORMAT pixfmt, in efifb_mask_from_pixfmt() argument
70 efifb->fb_mask_red = 0x000000ff; in efifb_mask_from_pixfmt()
71 efifb->fb_mask_green = 0x0000ff00; in efifb_mask_from_pixfmt()
72 efifb->fb_mask_blue = 0x00ff0000; in efifb_mask_from_pixfmt()
73 efifb->fb_mask_reserved = 0xff000000; in efifb_mask_from_pixfmt()
76 efifb->fb_mask_red = 0x00ff0000; in efifb_mask_from_pixfmt()
77 efifb->fb_mask_green = 0x0000ff00; in efifb_mask_from_pixfmt()
78 efifb->fb_mask_blue = 0x000000ff; in efifb_mask_from_pixfmt()
79 efifb->fb_mask_reserved = 0xff000000; in efifb_mask_from_pixfmt()
82 efifb->fb_mask_red = pixinfo->RedMask; in efifb_mask_from_pixfmt()
83 efifb->fb_mask_green = pixinfo->GreenMask; in efifb_mask_from_pixfmt()
84 efifb->fb_mask_blue = pixinfo->BlueMask; in efifb_mask_from_pixfmt()
85 efifb->fb_mask_reserved = pixinfo->ReservedMask; in efifb_mask_from_pixfmt()
95 efifb_from_gop(struct efi_fb *efifb, EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *mode, in efifb_from_gop() argument
100 efifb->fb_addr = mode->FrameBufferBase; in efifb_from_gop()
101 efifb->fb_size = mode->FrameBufferSize; in efifb_from_gop()
102 efifb->fb_height = info->VerticalResolution; in efifb_from_gop()
103 efifb->fb_width = info->HorizontalResolution; in efifb_from_gop()
104 efifb->fb_stride = info->PixelsPerScanLine; in efifb_from_gop()
105 result = efifb_mask_from_pixfmt(efifb, info->PixelFormat, in efifb_from_gop()
268 efifb_from_uga(struct efi_fb *efifb, EFI_UGA_DRAW_PROTOCOL *uga) in efifb_from_uga() argument
281 efifb->fb_height = vert; in efifb_from_uga()
282 efifb->fb_width = horiz; in efifb_from_uga()
284 if (efifb->fb_height == 0 || efifb->fb_width == 0) in efifb_from_uga()
288 efifb_mask_from_pixfmt(efifb, PixelBlueGreenRedReserved8BitPerColor, in efifb_from_uga()
295 status = efifb_uga_locate_framebuffer(pciio, &efifb->fb_addr, in efifb_from_uga()
296 &efifb->fb_size); in efifb_from_uga()
298 efifb->fb_addr = 0; in efifb_from_uga()
299 efifb->fb_size = 0; in efifb_from_uga()
336 if (offset >= 0 && efifb->fb_width == horiz && in efifb_from_uga()
337 efifb->fb_height == vert && efifb->fb_addr == fbaddr) { in efifb_from_uga()
338 efifb->fb_addr += offset; in efifb_from_uga()
339 efifb->fb_size -= offset; in efifb_from_uga()
340 efifb->fb_stride = stride; in efifb_from_uga()
352 efifb->fb_stride = efifb->fb_width; in efifb_from_uga()
354 np = efifb->fb_stride & (efifb->fb_stride - 1); in efifb_from_uga()
356 efifb->fb_stride |= (np - 1); in efifb_from_uga()
357 efifb->fb_stride++; in efifb_from_uga()
363 if (efifb->fb_addr == 0) { in efifb_from_uga()
386 offset = efifb_uga_find_pixel(uga, 0, pciio, efifb->fb_addr, in efifb_from_uga()
387 efifb->fb_size >> 8); in efifb_from_uga()
391 efifb->fb_addr += offset; in efifb_from_uga()
392 efifb->fb_size -= offset; in efifb_from_uga()
396 efifb->fb_size = efifb->fb_height * efifb->fb_stride * 4; in efifb_from_uga()
397 efifb->fb_addr = strtoul(ev, &p, 0); in efifb_from_uga()
407 efifb->fb_addr, horiz * 8); in efifb_from_uga()
409 efifb->fb_stride = offset >> 2; in efifb_from_uga()
414 efifb->fb_stride = strtoul(ev, &p, 0); in efifb_from_uga()
423 efifb->fb_size = efifb->fb_height * efifb->fb_stride * 4; in efifb_from_uga()
428 efi_find_framebuffer(struct efi_fb *efifb) in efi_find_framebuffer() argument
436 return (efifb_from_gop(efifb, gop->Mode, gop->Mode->Info)); in efi_find_framebuffer()
440 return (efifb_from_uga(efifb, uga)); in efi_find_framebuffer()
446 print_efifb(int mode, struct efi_fb *efifb, int verbose) in print_efifb() argument
452 depth = efi_framebuffer_bpp(efifb); in print_efifb()
453 printf("%ux%ux%u, stride=%u", efifb->fb_width, efifb->fb_height, in print_efifb()
454 depth, efifb->fb_stride); in print_efifb()
457 (uintmax_t)efifb->fb_addr, (uintmax_t)efifb->fb_size); in print_efifb()
459 efifb->fb_mask_red, efifb->fb_mask_green, in print_efifb()
460 efifb->fb_mask_blue); in print_efifb()
469 struct efi_fb efifb; in command_gop() local
505 efifb_from_gop(&efifb, gop->Mode, gop->Mode->Info); in command_gop()
506 print_efifb(gop->Mode->Mode, &efifb, 1); in command_gop()
519 efifb_from_gop(&efifb, gop->Mode, info); in command_gop()
520 print_efifb(mode, &efifb, 0); in command_gop()
539 struct efi_fb efifb; in command_uga() local
554 if (efifb_from_uga(&efifb, uga) != CMD_OK) { in command_uga()
560 print_efifb(-1, &efifb, 1); in command_uga()