videomode
ipu_mode_is_valid(const struct videomode *mode)
static const struct videomode *
const struct videomode *videomode;
const struct videomode *m;
videomode = NULL;
videomode = ei->edid_preferred_mode;
if (videomode == NULL) {
videomode = &m[n];
return videomode;
const struct videomode *videomode;
videomode = NULL;
videomode = ipu_pick_mode(&ei);
if (videomode == NULL)
videomode = pick_mode_by_ref(640, 480, 60);
if (videomode == NULL) {
sc->sc_mode = videomode;
videomode->hdisplay, videomode->vdisplay);
const struct videomode *sc_mode;
am335x_mode_vrefresh(const struct videomode *mode)
am335x_mode_is_valid(const struct videomode *mode)
static const struct videomode *
const struct videomode *videomode;
const struct videomode *m;
videomode = NULL;
videomode = ei->edid_preferred_mode;
if (videomode == NULL) {
videomode = &m[n];
return videomode;
const struct videomode *videomode;
struct videomode hdmi_mode;
videomode = NULL;
videomode = am335x_lcd_pick_mode(&ei);
if (videomode == NULL)
videomode = pick_mode_by_ref(640, 480, 60);
if (videomode == NULL) {
device_printf(sc->sc_dev, "detected videomode: %dx%d @ %dKHz\n", videomode->hdisplay,
videomode->vdisplay, am335x_mode_vrefresh(videomode));
sc->sc_panel.panel_width = videomode->hdisplay;
sc->sc_panel.panel_height = videomode->vdisplay;
sc->sc_panel.panel_hfp = videomode->hsync_start - videomode->hdisplay;
sc->sc_panel.panel_hbp = videomode->htotal - videomode->hsync_end;
sc->sc_panel.panel_hsw = videomode->hsync_end - videomode->hsync_start;
sc->sc_panel.panel_vfp = videomode->vsync_start - videomode->vdisplay;
sc->sc_panel.panel_vbp = videomode->vtotal - videomode->vsync_end;
sc->sc_panel.panel_vsw = videomode->vsync_end - videomode->vsync_start;
if (videomode->flags & VID_NHSYNC)
if (videomode->flags & VID_NVSYNC)
sc->sc_panel.panel_pxl_clk = videomode->dot_clock * 1000;
memcpy(&hdmi_mode, videomode, sizeof(hdmi_mode));
hdmi_mode.hskew = videomode->hsync_end - videomode->hsync_start;
tda19988_init_encoder(struct tda19988_softc *sc, const struct videomode *mode)
tda19988_set_videomode(device_t dev, const struct videomode *mode)
dwc_hdmi_set_videomode(device_t dev, const struct videomode *mode)
struct videomode sc_mode;
int dwc_hdmi_set_videomode(device_t, const struct videomode *);
MODULE_DEPEND(udl, videomode, 1, 1, 1);
static const struct videomode *
static struct videomode *
edid_search_mode(struct edid_info *edid, const struct videomode *mode)
edid_std_timing(uint8_t *data, struct videomode *vmp)
const struct videomode *lookup;
edid_det_timing(uint8_t *data, struct videomode *vmp)
struct videomode mode, *exist_mode;
const struct videomode *vmp;
struct videomode mode, *exist_mode;
struct videomode *edid_preferred_mode;
struct videomode edid_modes[64];
struct videomode temp;
sort_modes(struct videomode *modes, struct videomode **preferred, int nmodes)
struct videomode *mtemp = NULL;
const struct videomode *
const struct videomode *this, *best = NULL;
const struct videomode *
const struct videomode *this, *best = NULL;
swap_modes(struct videomode *left, struct videomode *right)
void print_xf86_mode(struct videomode *m);
struct vesagtf_params *params, int flags, struct videomode *vmp)
vesagtf_mode(unsigned x, unsigned y, unsigned refresh, struct videomode *vmp)
print_xf86_mode (struct videomode *vmp)
struct videomode m;
struct videomode *);
struct vesagtf_params *, int flags, struct videomode *);
MODULE_VERSION(videomode, 1);
const struct videomode videomode_list[] = {
extern const struct videomode videomode_list[];
const struct videomode *pick_mode_by_dotclock(int, int, int);
const struct videomode *pick_mode_by_ref(int, int, int);
void sort_modes(struct videomode *, struct videomode **, int);
const struct videomode *videomode;
videomode = edid.edid_preferred_mode;
videomode = pick_mode_by_ref(w, h, r);
if (videomode == NULL) {
sc->sc_panel.panel_width = videomode->hdisplay;
sc->sc_panel.panel_height = videomode->vdisplay;
sc->sc_panel.panel_hbp = videomode->hsync_start - videomode->hdisplay;
sc->sc_panel.panel_hfp = videomode->htotal - videomode->hsync_end;
sc->sc_panel.panel_hpw = videomode->hsync_end - videomode->hsync_start;
sc->sc_panel.panel_vbp = videomode->vsync_start - videomode->vdisplay;
sc->sc_panel.panel_vfp = videomode->vtotal - videomode->vsync_end;
sc->sc_panel.panel_vpw = videomode->vsync_end - videomode->vsync_start;
sc->sc_panel.panel_freq = videomode->dot_clock;