drm: add encoder attach/detach
parent
4403c59b76
commit
9239cf511f
|
@ -2202,3 +2202,31 @@ out:
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int drm_mode_output_attach_encoder(struct drm_output *output,
|
||||||
|
struct drm_encoder *encoder)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < DRM_OUTPUT_MAX_ENCODER; i++) {
|
||||||
|
if (output->encoder_ids[i] == 0) {
|
||||||
|
output->encoder_ids[i] = encoder->id;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(drm_mode_output_attach_encoder);
|
||||||
|
|
||||||
|
void drm_mode_output_detach_encoder(struct drm_output *output,
|
||||||
|
struct drm_encoder *encoder)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < DRM_OUTPUT_MAX_ENCODER; i++) {
|
||||||
|
if (output->encoder_ids[i] == encoder->id) {
|
||||||
|
output->encoder_ids[i] = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(drm_mode_output_detach_encoder);
|
||||||
|
|
|
@ -629,6 +629,11 @@ extern int drm_property_add_enum(struct drm_property *property, int index,
|
||||||
extern bool drm_create_tv_properties(struct drm_device *dev, int num_formats,
|
extern bool drm_create_tv_properties(struct drm_device *dev, int num_formats,
|
||||||
char *formats[]);
|
char *formats[]);
|
||||||
|
|
||||||
|
extern int drm_mode_output_attach_encoder(struct drm_output *output,
|
||||||
|
struct drm_encoder *encoder);
|
||||||
|
extern void drm_mode_output_detach_encoder(struct drm_output *output,
|
||||||
|
struct drm_encoder *encoder);
|
||||||
|
|
||||||
/* IOCTLs */
|
/* IOCTLs */
|
||||||
extern int drm_mode_getresources(struct drm_device *dev,
|
extern int drm_mode_getresources(struct drm_device *dev,
|
||||||
void *data, struct drm_file *file_priv);
|
void *data, struct drm_file *file_priv);
|
||||||
|
|
Loading…
Reference in New Issue