drm/rcar-du: Rework output routing support

Split the output routing specification between SoC-internal data,
specified in the rcar_du_device_info structure, and board data, passed
through platform data.

The DU has 5 possible outputs (DPAD0/1, LVDS0/1, TCON). SoC-internal
output routing data specify which output are valid, which CRTCs can be
connected to the valid outputs, and the type of in-SoC encoder for the
output.

Platform data then specifies external encoders and the output they are
connected to.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
This commit is contained in:
Laurent Pinchart
2013-06-17 03:13:11 +02:00
parent 38b62fb380
commit ef67a902e9
9 changed files with 107 additions and 22 deletions
+3 -2
View File
@@ -22,7 +22,7 @@ struct rcar_du_device;
struct rcar_du_encoder {
struct drm_encoder encoder;
unsigned int output;
enum rcar_du_output output;
};
#define to_rcar_encoder(e) \
@@ -40,7 +40,8 @@ struct drm_encoder *
rcar_du_connector_best_encoder(struct drm_connector *connector);
int rcar_du_encoder_init(struct rcar_du_device *rcdu,
enum rcar_du_encoder_type type, unsigned int output,
enum rcar_du_encoder_type type,
enum rcar_du_output output,
const struct rcar_du_encoder_data *data);
#endif /* __RCAR_DU_ENCODER_H__ */