| 
									
										
										
										
											2012-12-17 14:20:17 +01:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * generic display timing functions | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (c) 2012 Steffen Trumtrar <s.trumtrar@pengutronix.de>, Pengutronix | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This file is released under the GPLv2 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/errno.h>
 | 
					
						
							|  |  |  | #include <linux/export.h>
 | 
					
						
							|  |  |  | #include <video/display_timing.h>
 | 
					
						
							|  |  |  | #include <video/videomode.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-21 14:20:12 +02:00
										 |  |  | void videomode_from_timing(const struct display_timing *dt, | 
					
						
							|  |  |  | 			  struct videomode *vm) | 
					
						
							| 
									
										
										
										
											2012-12-17 14:20:17 +01:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2013-03-12 10:35:16 +02:00
										 |  |  | 	vm->pixelclock = dt->pixelclock.typ; | 
					
						
							|  |  |  | 	vm->hactive = dt->hactive.typ; | 
					
						
							|  |  |  | 	vm->hfront_porch = dt->hfront_porch.typ; | 
					
						
							|  |  |  | 	vm->hback_porch = dt->hback_porch.typ; | 
					
						
							|  |  |  | 	vm->hsync_len = dt->hsync_len.typ; | 
					
						
							| 
									
										
										
										
											2012-12-17 14:20:17 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-12 10:35:16 +02:00
										 |  |  | 	vm->vactive = dt->vactive.typ; | 
					
						
							|  |  |  | 	vm->vfront_porch = dt->vfront_porch.typ; | 
					
						
							|  |  |  | 	vm->vback_porch = dt->vback_porch.typ; | 
					
						
							|  |  |  | 	vm->vsync_len = dt->vsync_len.typ; | 
					
						
							| 
									
										
										
										
											2012-12-17 14:20:17 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-12 10:26:45 +02:00
										 |  |  | 	vm->flags = dt->flags; | 
					
						
							| 
									
										
										
										
											2013-03-21 14:20:12 +02:00
										 |  |  | } | 
					
						
							|  |  |  | EXPORT_SYMBOL_GPL(videomode_from_timing); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | int videomode_from_timings(const struct display_timings *disp, | 
					
						
							|  |  |  | 			  struct videomode *vm, unsigned int index) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	struct display_timing *dt; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	dt = display_timings_get(disp, index); | 
					
						
							|  |  |  | 	if (!dt) | 
					
						
							|  |  |  | 		return -EINVAL; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	videomode_from_timing(dt, vm); | 
					
						
							| 
									
										
										
										
											2012-12-17 14:20:17 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	return 0; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2013-03-21 14:20:12 +02:00
										 |  |  | EXPORT_SYMBOL_GPL(videomode_from_timings); |