diff options
| author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2016-12-02 09:07:11 -0500 |
|---|---|---|
| committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2016-12-08 06:42:57 -0500 |
| commit | e43f2c3395fd36ec9f8d069af07bcd3eae5fde17 (patch) | |
| tree | a7d194d0ad26eb310c9ec1566c69455f37b41a33 /drivers/gpu/drm/omapdrm/omap_plane.c | |
| parent | 5cd57a46e3e3dc088b50bbfcdc85d9e0d9c22159 (diff) | |
drm/omap: fix primary-plane's possible_crtcs
We set the possible_crtc for all planes to "(1 << priv->num_crtcs) - 1",
which is fine as the HW planes can be used fro all crtcs. However, when
we're doing that, we are still incrementing 'num_crtcs', and we'll end
up with bad possible_crtcs, preventing the use of the primary planes.
This patch passes a possible_crtcs mask to plane init function so that
we get correct possible_crtc.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_plane.c')
| -rw-r--r-- | drivers/gpu/drm/omapdrm/omap_plane.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c index 9c43cb481e62..82b2c23d6769 100644 --- a/drivers/gpu/drm/omapdrm/omap_plane.c +++ b/drivers/gpu/drm/omapdrm/omap_plane.c | |||
| @@ -356,9 +356,9 @@ static const uint32_t error_irqs[] = { | |||
| 356 | 356 | ||
| 357 | /* initialize plane */ | 357 | /* initialize plane */ |
| 358 | struct drm_plane *omap_plane_init(struct drm_device *dev, | 358 | struct drm_plane *omap_plane_init(struct drm_device *dev, |
| 359 | int id, enum drm_plane_type type) | 359 | int id, enum drm_plane_type type, |
| 360 | u32 possible_crtcs) | ||
| 360 | { | 361 | { |
| 361 | struct omap_drm_private *priv = dev->dev_private; | ||
| 362 | struct drm_plane *plane; | 362 | struct drm_plane *plane; |
| 363 | struct omap_plane *omap_plane; | 363 | struct omap_plane *omap_plane; |
| 364 | int ret; | 364 | int ret; |
| @@ -381,7 +381,7 @@ struct drm_plane *omap_plane_init(struct drm_device *dev, | |||
| 381 | omap_plane->error_irq.irq = omap_plane_error_irq; | 381 | omap_plane->error_irq.irq = omap_plane_error_irq; |
| 382 | omap_irq_register(dev, &omap_plane->error_irq); | 382 | omap_irq_register(dev, &omap_plane->error_irq); |
| 383 | 383 | ||
| 384 | ret = drm_universal_plane_init(dev, plane, (1 << priv->num_crtcs) - 1, | 384 | ret = drm_universal_plane_init(dev, plane, possible_crtcs, |
| 385 | &omap_plane_funcs, omap_plane->formats, | 385 | &omap_plane_funcs, omap_plane->formats, |
| 386 | omap_plane->nformats, type, NULL); | 386 | omap_plane->nformats, type, NULL); |
| 387 | if (ret < 0) | 387 | if (ret < 0) |
