search for: possible_crtcs

Displaying 20 results from an estimated 55 matches for "possible_crtcs".

2015 Jun 28
3
[PATCH] Take shift in crtc positions for ZaphodHeads configs into account.
...'t correspond to the xf86Crtc in the i'th slot of the x-screens xf86CrtcConfig anymore, once ZaphodHeads has only selected a subset of all crtcs of a graphics card for a given x-screen, instead of all crtcs. This breaks the mapping of bit positions in the bit masks returned in kencoder->possible_crtcs and kencoder->possible_clones. A 1 bit in position i of those masks allows use of the kernels i'th crtc for the given kencoder. The X-Servers dix code checks those bit masks for valid xf86Output -> xf86Crtc assignments, assuming that the i'th slot xf86CrtcConfigPtr config->crtc[i]...
2015 Aug 06
0
[PATCH] Take shift in crtc positions for ZaphodHeads configs into account.
...xf86Crtc in the i'th slot of the x-screens xf86CrtcConfig > anymore, once ZaphodHeads has only selected a subset of all crtcs > of a graphics card for a given x-screen, instead of all crtcs. > > This breaks the mapping of bit positions in the bit masks returned > in kencoder->possible_crtcs and kencoder->possible_clones. A 1 bit > in position i of those masks allows use of the kernels i'th crtc for > the given kencoder. The X-Servers dix code checks those bit masks > for valid xf86Output -> xf86Crtc assignments, assuming that the i'th > slot xf86CrtcConfigPtr...
2020 Mar 05
0
[PATCH 12/22] drm/rockchip: Use simple encoder
...r_funcs = { - .destroy = drm_encoder_cleanup, -}; - static int rockchip_dp_of_probe(struct rockchip_dp_device *dp) { struct device *dev = dp->dev; @@ -309,8 +306,8 @@ static int rockchip_dp_drm_create_encoder(struct rockchip_dp_device *dp) dev->of_node); DRM_DEBUG_KMS("possible_crtcs = 0x%x\n", encoder->possible_crtcs); - ret = drm_encoder_init(drm_dev, encoder, &rockchip_dp_encoder_funcs, - DRM_MODE_ENCODER_TMDS, NULL); + ret = drm_simple_encoder_init(drm_dev, encoder, + DRM_MODE_ENCODER_TMDS); if (ret) { DRM_ERROR("failed to initializ...
2020 Feb 07
3
[PATCH 2/6] drm: Add drm_simple_encoder_{init,create}()
...r instance, a call to drm_simple_encoder_init() > initializes a pre-allocated instance. > > Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de> This has quick a bit midlayer taste to it ... I think having this as a helper would be cleaner ... The other bit is drm_encoder->possible_crtcs. If we do create a helper for these, lets at least try to make them not suck too badly :-) Otherwise I guess it would be time to officially document what exactly possible_crtcs == 0 means from an uabi pov. -Daniel > --- > drivers/gpu/drm/drm_encoder.c | 116 +++++++++++++++++++++++++++++++++...
2020 Feb 07
3
[PATCH 2/6] drm: Add drm_simple_encoder_{init,create}()
...r instance, a call to drm_simple_encoder_init() > initializes a pre-allocated instance. > > Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de> This has quick a bit midlayer taste to it ... I think having this as a helper would be cleaner ... The other bit is drm_encoder->possible_crtcs. If we do create a helper for these, lets at least try to make them not suck too badly :-) Otherwise I guess it would be time to officially document what exactly possible_crtcs == 0 means from an uabi pov. -Daniel > --- > drivers/gpu/drm/drm_encoder.c | 116 +++++++++++++++++++++++++++++++++...
2020 Mar 06
1
[PATCH 01/22] drm/arc: Use simple encoder
...> - .destroy = drm_encoder_cleanup, > -}; > - > int arcpgu_drm_hdmi_init(struct drm_device *drm, struct device_node *np) > { > struct drm_encoder *encoder; > @@ -34,8 +31,7 @@ int arcpgu_drm_hdmi_init(struct drm_device *drm, struct device_node *np) > > encoder->possible_crtcs = 1; > encoder->possible_clones = 0; > - ret = drm_encoder_init(drm, encoder, &arcpgu_drm_encoder_funcs, > - DRM_MODE_ENCODER_TMDS, NULL); > + ret = drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS); > if (ret) > return ret; > > diff --git...
2020 Feb 18
4
[PATCH v2 0/4] drm: Provide a simple encoder
Many DRM drivers implement an encoder with an empty implementation. This patchset adds drm_simple_encoder_init() and drm_simple_encoder_create(), which can be used by drivers instead. Except for the destroy callback, the simple encoder's implementation is empty. The patchset also converts 4 encoder instances to use the simple-encoder helpers. But there are at least 11 other drivers which can
2020 Feb 07
0
[PATCH 3/6] drm/ast: Use simple encoder
...ast_encoder), GFP_KERNEL); - if (!ast_encoder) - return -ENOMEM; + ret = drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_DAC, + NULL); + if (ret) + return ret; - drm_encoder_init(dev, &ast_encoder->base, &ast_enc_funcs, - DRM_MODE_ENCODER_DAC, NULL); + encoder->possible_crtcs = 1; - ast_encoder->base.possible_crtcs = 1; return 0; } -- 2.25.0
2020 Mar 05
0
[PATCH 01/22] drm/arc: Use simple encoder
...m_encoder_funcs arcpgu_drm_encoder_funcs = { - .destroy = drm_encoder_cleanup, -}; - int arcpgu_drm_hdmi_init(struct drm_device *drm, struct device_node *np) { struct drm_encoder *encoder; @@ -34,8 +31,7 @@ int arcpgu_drm_hdmi_init(struct drm_device *drm, struct device_node *np) encoder->possible_crtcs = 1; encoder->possible_clones = 0; - ret = drm_encoder_init(drm, encoder, &arcpgu_drm_encoder_funcs, - DRM_MODE_ENCODER_TMDS, NULL); + ret = drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS); if (ret) return ret; diff --git a/drivers/gpu/drm/arc/arcpgu_sim.c b/dr...
2014 Aug 12
6
[PATCH 0/4] Some initial tidy-ups and refactoring
The patches contain some tidy-up work, and refactoring that has arisen as a by-product of my initial work on adding TV support to nv50. Joel Holdsworth (4): drm/nouveau: Removed unneeded include in nvc0_fence.c drm/nouveau: Replaced magic numbers with defines from nouveau_reg drm/nouveau: Replaced copy-pasted nv_wait with nv50_wait_dpms_ctrl helper drm/nouveau: Refactored encoder
2020 Feb 07
0
[PATCH 2/6] drm: Add drm_simple_encoder_{init,create}()
...; >> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de> > > This has quick a bit midlayer taste to it ... I think having this as a > helper would be cleaner ... How would such a helper roughly look like? Best regards Thomas > > The other bit is drm_encoder->possible_crtcs. If we do create a helper for > these, lets at least try to make them not suck too badly :-) Otherwise I > guess it would be time to officially document what exactly possible_crtcs > == 0 means from an uabi pov. > -Daniel > >> --- >> drivers/gpu/drm/drm_encoder.c | 116...
2020 Mar 05
55
[PATCH 00/22] drm: Convert drivers to drm_simple_encoder_init()
A call to drm_simple_encoder_init() initializes an encoder without further functionality. It only provides the destroy callback to cleanup the encoder's state. Only few drivers implement more sophisticated encoders than that. Most drivers implement such a simple encoder and can use drm_simple_encoder_init() instead. The patchset converts drivers where the encoder's instance is embedded in
2020 Mar 05
55
[PATCH 00/22] drm: Convert drivers to drm_simple_encoder_init()
A call to drm_simple_encoder_init() initializes an encoder without further functionality. It only provides the destroy callback to cleanup the encoder's state. Only few drivers implement more sophisticated encoders than that. Most drivers implement such a simple encoder and can use drm_simple_encoder_init() instead. The patchset converts drivers where the encoder's instance is embedded in
2015 Jul 19
2
[PATCH] Add Option "DRI3" to allow to disable DRI3 under EXA.
...n + 1 extra patch of mine against nouveau floating on nouveau-devel "[PATCH] Take shift in crtc positions for ZaphodHeads configs into account." That patch is needed for nouveau-ddx, or any generic driver that deals with nouveau-kms. Afaics the other kms drivers return a kencoder->possible_crtcs mask which allows any crtc to go with any encoder, but nouveau-kms gets that info from the VBIOS DCB and sometimes the mask is a bit more special and needs the extra treatment from that patch, or bad things will happen, e.g., on some nv-50 cards. > anything else? I would like for F23 to ship...
2020 Feb 07
11
[PATCH 0/6] drm: Provide a simple encoder
Many DRM drivers implement an encoder with an empty implementation. This patchset adds drm_simple_encoder_init() and drm_simple_encoder_create(), which can be used by drivers instead. Except for the destroy callback, the simple encoder's implementation is empty. The patchset also converts 4 encoder instances to use the simple-encoder helpers. But there are at least 11 other drivers which can
2018 Dec 19
0
[PATCH 01/14] drm/bochs: encoder cleanup
...= bochs_encoder_mode_set, - .prepare = bochs_encoder_prepare, - .commit = bochs_encoder_commit, -}; - static const struct drm_encoder_funcs bochs_encoder_encoder_funcs = { .destroy = drm_encoder_cleanup, }; @@ -207,7 +182,6 @@ static void bochs_encoder_init(struct drm_device *dev) encoder->possible_crtcs = 0x1; drm_encoder_init(dev, encoder, &bochs_encoder_encoder_funcs, DRM_MODE_ENCODER_DAC, NULL); - drm_encoder_helper_add(encoder, &bochs_encoder_helper_funcs); } -- 2.9.3
2020 Feb 07
0
[PATCH 5/6] drm/qxl: Use simple encoder
...ncoder_init(dev, &qxl_output->enc, &qxl_enc_funcs, - DRM_MODE_ENCODER_VIRTUAL, NULL); + drm_simple_encoder_init(dev, qxl_output->enc, DRM_MODE_ENCODER_VIRTUAL, + NULL); /* we get HPD via client monitors config */ connector->polled = DRM_CONNECTOR_POLL_HPD; encoder->possible_crtcs = 1 << num_output; drm_connector_attach_encoder(&qxl_output->base, &qxl_output->enc); - drm_encoder_helper_add(encoder, &qxl_enc_helper_funcs); drm_connector_helper_add(connector, &qxl_connector_helper_funcs); drm_object_attach_property(&connector-&gt...
2020 Mar 05
0
[PATCH 06/22] drm/hisilicon/kirin: Use simple encoder
...rm_encoder_funcs dw_encoder_funcs = { - .destroy = drm_encoder_cleanup, -}; - static int dw_drm_encoder_init(struct device *dev, struct drm_device *drm_dev, struct drm_encoder *encoder) @@ -713,8 +710,7 @@ static int dw_drm_encoder_init(struct device *dev, } encoder->possible_crtcs = crtc_mask; - ret = drm_encoder_init(drm_dev, encoder, &dw_encoder_funcs, - DRM_MODE_ENCODER_DSI, NULL); + ret = drm_simple_encoder_init(drm_dev, encoder, DRM_MODE_ENCODER_DSI); if (ret) { DRM_ERROR("failed to init dsi encoder\n"); return ret; -- 2.25.1
2020 Mar 05
0
[PATCH 07/22] drm/i2c/tda998x: Use simple encoder
...= { - .destroy = tda998x_encoder_destroy, -}; - static int tda998x_encoder_init(struct device *dev, struct drm_device *drm) { struct tda998x_priv *priv = dev_get_drvdata(dev); @@ -2023,8 +2015,8 @@ static int tda998x_encoder_init(struct device *dev, struct drm_device *drm) priv->encoder.possible_crtcs = crtcs; - ret = drm_encoder_init(drm, &priv->encoder, &tda998x_encoder_funcs, - DRM_MODE_ENCODER_TMDS, NULL); + ret = drm_simple_encoder_init(drm, &priv->encoder, + DRM_MODE_ENCODER_TMDS); if (ret) goto err_encoder; -- 2.25.1
2020 Mar 05
0
[PATCH 19/22] drm/virtgpu: Use simple encoder
...drm_connector_attach_edid_property(connector); - drm_encoder_init(dev, encoder, &virtio_gpu_enc_funcs, - DRM_MODE_ENCODER_VIRTUAL, NULL); + drm_simple_encoder_init(dev, encoder, DRM_MODE_ENCODER_VIRTUAL); drm_encoder_helper_add(encoder, &virtio_gpu_enc_helper_funcs); encoder->possible_crtcs = 1 << index; -- 2.25.1