1 | // SPDX-License-Identifier: GPL-2.0-only |
---|---|
2 | /* |
3 | * generic display timing functions |
4 | * |
5 | * Copyright (c) 2012 Steffen Trumtrar <s.trumtrar@pengutronix.de>, Pengutronix |
6 | */ |
7 | |
8 | #include <linux/errno.h> |
9 | #include <linux/export.h> |
10 | #include <video/display_timing.h> |
11 | #include <video/videomode.h> |
12 | |
13 | void videomode_from_timing(const struct display_timing *dt, |
14 | struct videomode *vm) |
15 | { |
16 | vm->pixelclock = dt->pixelclock.typ; |
17 | vm->hactive = dt->hactive.typ; |
18 | vm->hfront_porch = dt->hfront_porch.typ; |
19 | vm->hback_porch = dt->hback_porch.typ; |
20 | vm->hsync_len = dt->hsync_len.typ; |
21 | |
22 | vm->vactive = dt->vactive.typ; |
23 | vm->vfront_porch = dt->vfront_porch.typ; |
24 | vm->vback_porch = dt->vback_porch.typ; |
25 | vm->vsync_len = dt->vsync_len.typ; |
26 | |
27 | vm->flags = dt->flags; |
28 | } |
29 | EXPORT_SYMBOL_GPL(videomode_from_timing); |
30 | |
31 | int videomode_from_timings(const struct display_timings *disp, |
32 | struct videomode *vm, unsigned int index) |
33 | { |
34 | struct display_timing *dt; |
35 | |
36 | dt = display_timings_get(disp, index); |
37 | if (!dt) |
38 | return -EINVAL; |
39 | |
40 | videomode_from_timing(dt, vm); |
41 | |
42 | return 0; |
43 | } |
44 | EXPORT_SYMBOL_GPL(videomode_from_timings); |
45 |