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->...
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