search for: drm_encoder_mask

Displaying 12 results from an estimated 12 matches for "drm_encoder_mask".

2019 Aug 21
2
[PATCH v2] drm: Bump encoder limit from 32 to 64
..._object_add(dev, &encoder->base, DRM_MODE_OBJECT_ENCODER); diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 7d14c11bdc0a..fd0b2438c3d5 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -210,7 +210,7 @@ struct drm_crtc_state { * @encoder_mask: Bitmask of drm_encoder_mask(encoder) of encoders * attached to this CRTC. */ - u32 encoder_mask; + u64 encoder_mask; /** * @adjusted_mode: diff --git a/include/drm/drm_encoder.h b/include/drm/drm_encoder.h index 70cfca03d812..3f9cb65694e1 100644 --- a/include/drm/drm_encoder.h +++ b/include/drm/drm_encoder.h @@ -...
2019 Aug 15
1
[RFC] drm: Bump encoder limit from 32 to 64
..._object_add(dev, &encoder->base, DRM_MODE_OBJECT_ENCODER); diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 7d14c11bdc0a..fd0b2438c3d5 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -210,7 +210,7 @@ struct drm_crtc_state { * @encoder_mask: Bitmask of drm_encoder_mask(encoder) of encoders * attached to this CRTC. */ - u32 encoder_mask; + u64 encoder_mask; /** * @adjusted_mode: diff --git a/include/drm/drm_encoder.h b/include/drm/drm_encoder.h index 70cfca03d812..3f9cb65694e1 100644 --- a/include/drm/drm_encoder.h +++ b/include/drm/drm_encoder.h @@ -...
2019 Aug 21
0
[PATCH v2] drm: Bump encoder limit from 32 to 64
...index >= 32 && encoder->possible_clones)) > + return -EINVAL; I believe possible_clones was supposed to include the encoder itself. Not really sure why though. I guess we've now decided that it's OK not to do that? git grep tells me drm_atomic_helper.c has some uses of drm_encoder_mask() that need to be looked at. > + > if (encoder->funcs->late_register) > ret = encoder->funcs->late_register(encoder); > if (ret) > @@ -112,8 +120,8 @@ int drm_encoder_init(struct drm_device *dev, > { > int ret; > > - /* encoder index is used wi...
2019 Sep 13
1
[PATCH CI 2/2] drm/connector: Allow max possible encoders to attach to a connector
...(WARN_ON(connector->encoder)) return -EINVAL; - for (i = 0; i < ARRAY_SIZE(connector->encoder_ids); i++) { - if (connector->encoder_ids[i] == 0) { - connector->encoder_ids[i] = encoder->base.id; - return 0; - } - } - return -ENOMEM; + connector->possible_encoders |= drm_encoder_mask(encoder); + + return 0; } EXPORT_SYMBOL(drm_connector_attach_encoder); /** - * drm_connector_has_possible_encoder - check if the connector and encoder are assosicated with each other + * drm_connector_has_possible_encoder - check if the connector and encoder are + * associated with each other...
2019 Sep 05
3
[PATCH v2] drm/connector: Allow max possible encoders to attach to a connector
...(WARN_ON(connector->encoder)) return -EINVAL; - for (i = 0; i < ARRAY_SIZE(connector->encoder_ids); i++) { - if (connector->encoder_ids[i] == 0) { - connector->encoder_ids[i] = encoder->base.id; - return 0; - } - } - return -ENOMEM; + connector->possible_encoders |= drm_encoder_mask(encoder); + + return 0; } EXPORT_SYMBOL(drm_connector_attach_encoder); /** - * drm_connector_has_possible_encoder - check if the connector and encoder are assosicated with each other + * drm_connector_has_possible_encoder - check if the connector and encoder are + * associated with each other...
2019 Sep 11
0
[PATCH 2/2] drm/connector: Allow max possible encoders to attach to a connector
...(WARN_ON(connector->encoder)) return -EINVAL; - for (i = 0; i < ARRAY_SIZE(connector->encoder_ids); i++) { - if (connector->encoder_ids[i] == 0) { - connector->encoder_ids[i] = encoder->base.id; - return 0; - } - } - return -ENOMEM; + connector->possible_encoders |= drm_encoder_mask(encoder); + + return 0; } EXPORT_SYMBOL(drm_connector_attach_encoder); /** - * drm_connector_has_possible_encoder - check if the connector and encoder are assosicated with each other + * drm_connector_has_possible_encoder - check if the connector and encoder are + * associated with each other...
2019 Sep 12
0
[PATCH 2/2] drm/connector: Allow max possible encoders to attach to a connector
...(WARN_ON(connector->encoder)) return -EINVAL; - for (i = 0; i < ARRAY_SIZE(connector->encoder_ids); i++) { - if (connector->encoder_ids[i] == 0) { - connector->encoder_ids[i] = encoder->base.id; - return 0; - } - } - return -ENOMEM; + connector->possible_encoders |= drm_encoder_mask(encoder); + + return 0; } EXPORT_SYMBOL(drm_connector_attach_encoder); /** - * drm_connector_has_possible_encoder - check if the connector and encoder are assosicated with each other + * drm_connector_has_possible_encoder - check if the connector and encoder are + * associated with each other...
2019 Aug 16
0
[PATCH] drm/connector: Allow max possible encoders to attach to a connector
...(WARN_ON(connector->encoder)) return -EINVAL; - for (i = 0; i < ARRAY_SIZE(connector->encoder_ids); i++) { - if (connector->encoder_ids[i] == 0) { - connector->encoder_ids[i] = encoder->base.id; - return 0; - } - } - return -ENOMEM; + connector->possible_encoders |= drm_encoder_mask(encoder); + + return 0; } EXPORT_SYMBOL(drm_connector_attach_encoder); /** - * drm_connector_has_possible_encoder - check if the connector and encoder are assosicated with each other + * drm_connector_has_possible_encoder - check if the connector and encoder are + * associated with each other...
2019 Sep 06
0
[PATCH v2] drm/connector: Allow max possible encoders to attach to a connector
...EINVAL; > > - for (i = 0; i < ARRAY_SIZE(connector->encoder_ids); i++) { > - if (connector->encoder_ids[i] == 0) { > - connector->encoder_ids[i] = encoder->base.id; > - return 0; > - } > - } > - return -ENOMEM; > + connector->possible_encoders |= drm_encoder_mask(encoder); > + > + return 0; > } > EXPORT_SYMBOL(drm_connector_attach_encoder); > > /** > - * drm_connector_has_possible_encoder - check if the connector and encoder are assosicated with each other > + * drm_connector_has_possible_encoder - check if the connector and enc...
2020 Nov 14
0
[PATCH 6/8] drm/nouveau/kms/nv50-: Lookup current encoder/crtc from atomic state
..._old_connector(struct drm_atomic_state *state, struct nouveau_encod return NULL; } +static struct nouveau_crtc * +nv50_outp_get_new_crtc(const struct drm_atomic_state *state, const struct nouveau_encoder *outp) +{ + struct drm_crtc *crtc; + struct drm_crtc_state *crtc_state; + const u32 mask = drm_encoder_mask(&outp->base.base); + int i; + + for_each_new_crtc_in_state(state, crtc, crtc_state, i) { + if (crtc_state->encoder_mask & mask) + return nouveau_crtc(crtc); + } + + return NULL; +} + /****************************************************************************** * DAC ********...
2023 Apr 07
1
[PATCH 1/2] drm/nouveau/nvkm/outp: Use WARN_ON() in conditionals in nvkm_outp_init_route()
Signed-off-by: Lyude Paul <lyude at redhat.com> --- drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.c index 6094805fbd63..06b19883a06b 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.c +++
2023 Apr 07
3
[PATCH 2/2] drm/nouveau/kms: Add INHERIT ioctl to nvkm/nvif for reading IOR state
...+static inline void +nv50_display_read_hw_or_state(struct drm_device *dev, struct nv50_disp *disp, + struct nouveau_encoder *outp) +{ + struct drm_crtc *crtc; + struct drm_connector_list_iter conn_iter; + struct drm_connector *conn; + struct nv50_head_atom *armh; + const u32 encoder_mask = drm_encoder_mask(&outp->base.base); + bool found_conn = false, found_head = false; + u8 proto; + int head_idx; + int ret; + + switch (outp->dcb->type) { + case DCB_OUTPUT_TMDS: + ret = nvif_outp_inherit_tmds(&outp->outp, &proto); + break; + case DCB_OUTPUT_DP: + ret = nvif_outp_inherit_dp...