videomode.c 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * generic display timing functions
  3. *
  4. * Copyright (c) 2012 Steffen Trumtrar <s.trumtrar@pengutronix.de>, Pengutronix
  5. *
  6. * This file is released under the GPLv2
  7. */
  8. #include <linux/errno.h>
  9. #include <linux/export.h>
  10. #include <video/display_timing.h>
  11. #include <video/videomode.h>
  12. int videomode_from_timing(const struct display_timings *disp,
  13. struct videomode *vm, unsigned int index)
  14. {
  15. struct display_timing *dt;
  16. dt = display_timings_get(disp, index);
  17. if (!dt)
  18. return -EINVAL;
  19. vm->pixelclock = display_timing_get_value(&dt->pixelclock, TE_TYP);
  20. vm->hactive = display_timing_get_value(&dt->hactive, TE_TYP);
  21. vm->hfront_porch = display_timing_get_value(&dt->hfront_porch, TE_TYP);
  22. vm->hback_porch = display_timing_get_value(&dt->hback_porch, TE_TYP);
  23. vm->hsync_len = display_timing_get_value(&dt->hsync_len, TE_TYP);
  24. vm->vactive = display_timing_get_value(&dt->vactive, TE_TYP);
  25. vm->vfront_porch = display_timing_get_value(&dt->vfront_porch, TE_TYP);
  26. vm->vback_porch = display_timing_get_value(&dt->vback_porch, TE_TYP);
  27. vm->vsync_len = display_timing_get_value(&dt->vsync_len, TE_TYP);
  28. vm->dmt_flags = dt->dmt_flags;
  29. vm->data_flags = dt->data_flags;
  30. return 0;
  31. }
  32. EXPORT_SYMBOL_GPL(videomode_from_timing);