| /* | |
| * 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 |