Skip to content

Commit 59f7dcd

Browse files
committed
Merge tag 'drm-misc-fixes-2020-11-12' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes
One Kconfig fix for bridge/cdns, a missing include for hypervb_fb, an out-of-bound access fix for gma500 and a unbalanced regulator fix for mcde. Signed-off-by: Dave Airlie <[email protected]> From: Maxime Ripard <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents f8394f2 + a6c40b8 commit 59f7dcd

File tree

4 files changed

+21
-24
lines changed

4 files changed

+21
-24
lines changed

drivers/gpu/drm/bridge/cadence/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ config DRM_CDNS_MHDP8546
1313
if DRM_CDNS_MHDP8546
1414

1515
config DRM_CDNS_MHDP8546_J721E
16-
depends on ARCH_K3_J721E_SOC || COMPILE_TEST
16+
depends on ARCH_K3 || COMPILE_TEST
1717
bool "J721E Cadence DPI/DP wrapper support"
1818
default y
1919
help

drivers/gpu/drm/gma500/psb_irq.c

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,7 @@ int psb_irq_postinstall(struct drm_device *dev)
347347
{
348348
struct drm_psb_private *dev_priv = dev->dev_private;
349349
unsigned long irqflags;
350+
unsigned int i;
350351

351352
spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags);
352353

@@ -359,20 +360,12 @@ int psb_irq_postinstall(struct drm_device *dev)
359360
PSB_WVDC32(dev_priv->vdc_irq_mask, PSB_INT_ENABLE_R);
360361
PSB_WVDC32(0xFFFFFFFF, PSB_HWSTAM);
361362

362-
if (dev->vblank[0].enabled)
363-
psb_enable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
364-
else
365-
psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
366-
367-
if (dev->vblank[1].enabled)
368-
psb_enable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
369-
else
370-
psb_disable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
371-
372-
if (dev->vblank[2].enabled)
373-
psb_enable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
374-
else
375-
psb_disable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
363+
for (i = 0; i < dev->num_crtcs; ++i) {
364+
if (dev->vblank[i].enabled)
365+
psb_enable_pipestat(dev_priv, i, PIPE_VBLANK_INTERRUPT_ENABLE);
366+
else
367+
psb_disable_pipestat(dev_priv, i, PIPE_VBLANK_INTERRUPT_ENABLE);
368+
}
376369

377370
if (dev_priv->ops->hotplug_enable)
378371
dev_priv->ops->hotplug_enable(dev, true);
@@ -385,6 +378,7 @@ void psb_irq_uninstall(struct drm_device *dev)
385378
{
386379
struct drm_psb_private *dev_priv = dev->dev_private;
387380
unsigned long irqflags;
381+
unsigned int i;
388382

389383
spin_lock_irqsave(&dev_priv->irqmask_lock, irqflags);
390384

@@ -393,14 +387,10 @@ void psb_irq_uninstall(struct drm_device *dev)
393387

394388
PSB_WVDC32(0xFFFFFFFF, PSB_HWSTAM);
395389

396-
if (dev->vblank[0].enabled)
397-
psb_disable_pipestat(dev_priv, 0, PIPE_VBLANK_INTERRUPT_ENABLE);
398-
399-
if (dev->vblank[1].enabled)
400-
psb_disable_pipestat(dev_priv, 1, PIPE_VBLANK_INTERRUPT_ENABLE);
401-
402-
if (dev->vblank[2].enabled)
403-
psb_disable_pipestat(dev_priv, 2, PIPE_VBLANK_INTERRUPT_ENABLE);
390+
for (i = 0; i < dev->num_crtcs; ++i) {
391+
if (dev->vblank[i].enabled)
392+
psb_disable_pipestat(dev_priv, i, PIPE_VBLANK_INTERRUPT_ENABLE);
393+
}
404394

405395
dev_priv->vdc_irq_mask &= _PSB_IRQ_SGX_FLAG |
406396
_PSB_IRQ_MSVDX_FLAG |

drivers/gpu/drm/mcde/mcde_drv.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,13 @@ static int mcde_probe(struct platform_device *pdev)
413413
match);
414414
if (ret) {
415415
dev_err(dev, "failed to add component master\n");
416-
goto clk_disable;
416+
/*
417+
* The EPOD regulator is already disabled at this point so some
418+
* special errorpath code is needed
419+
*/
420+
clk_disable_unprepare(mcde->mcde_clk);
421+
regulator_disable(mcde->vana);
422+
return ret;
417423
}
418424

419425
return 0;

drivers/video/fbdev/hyperv_fb.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747

4848
#include <linux/module.h>
4949
#include <linux/kernel.h>
50+
#include <linux/vmalloc.h>
5051
#include <linux/init.h>
5152
#include <linux/completion.h>
5253
#include <linux/fb.h>

0 commit comments

Comments
 (0)