diff options
Diffstat (limited to 'drivers/gpu/drm/armada/armada_output.h')
| -rw-r--r-- | drivers/gpu/drm/armada/armada_output.h | 39 | 
1 files changed, 39 insertions, 0 deletions
diff --git a/drivers/gpu/drm/armada/armada_output.h b/drivers/gpu/drm/armada/armada_output.h new file mode 100644 index 00000000000..4126d43b505 --- /dev/null +++ b/drivers/gpu/drm/armada/armada_output.h @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2012 Russell King + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef ARMADA_CONNETOR_H +#define ARMADA_CONNETOR_H + +#define encoder_helper_funcs(encoder) \ +	((struct drm_encoder_helper_funcs *)encoder->helper_private) + +struct armada_output_type { +	int connector_type; +	enum drm_connector_status (*detect)(struct drm_connector *, bool); +	int (*create)(struct drm_connector *, const void *); +	int (*set_property)(struct drm_connector *, struct drm_property *, +			    uint64_t); +}; + +struct drm_encoder *armada_drm_connector_encoder(struct drm_connector *conn); + +void armada_drm_encoder_prepare(struct drm_encoder *encoder); +void armada_drm_encoder_commit(struct drm_encoder *encoder); + +bool armada_drm_encoder_mode_fixup(struct drm_encoder *encoder, +	const struct drm_display_mode *mode, struct drm_display_mode *adj); + +int armada_drm_slave_encoder_mode_valid(struct drm_connector *conn, +	struct drm_display_mode *mode); + +int armada_drm_slave_encoder_set_property(struct drm_connector *conn, +	struct drm_property *property, uint64_t value); + +int armada_output_create(struct drm_device *dev, +	const struct armada_output_type *type, const void *data); + +#endif  | 
