Name

struct drm_fb_helper — helper to emulate fbdev on top of kms

Synopsis

struct drm_fb_helper {
  struct drm_framebuffer * fb;
  struct drm_device * dev;
  int crtc_count;
  struct drm_fb_helper_crtc * crtc_info;
  int connector_count;
  int connector_info_alloc_count;
  const struct drm_fb_helper_funcs * funcs;
  struct fb_info * fbdev;
  u32 pseudo_palette[17];
  struct list_head kernel_fb_list;
  bool delayed_hotplug;
  bool atomic;
};  

Members

fb

Scanout framebuffer object

dev

DRM device

crtc_count

number of possible CRTCs

crtc_info

per-CRTC helper state (mode, x/y offset, etc)

connector_count

number of connected connectors

connector_info_alloc_count

size of connector_info

funcs

driver callbacks for fb helper

fbdev

emulated fbdev device info struct

pseudo_palette[17]

fake palette of 16 colors

kernel_fb_list

list_head in kernel_fb_helper_list

delayed_hotplug

was there a hotplug while kms master active?

atomic

Use atomic updates for restore_fbdev_mode, etc. This defaults to true if driver has DRIVER_ATOMIC feature flag, but drivers can override it to true after drm_fb_helper_init if they support atomic modeset but do not yet advertise DRIVER_ATOMIC (note that fb-helper does not require ASYNC commits).