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