* [bug report] gma500: initial medfield merge
@ 2017-06-28 11:30 Dan Carpenter
0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2017-06-28 11:30 UTC (permalink / raw)
To: kirill.shutemov; +Cc: dri-devel
Hello Kirill A. Shutemov,
The patch 026abc333205: "gma500: initial medfield merge" from Mar 8,
2012, leads to the following static checker warning:
drivers/gpu/drm/gma500/mdfld_intel_display.c:102 mdfldWaitForPipeEnable()
warn: masked condition '(temp & (1 << 30)) == 1' is always false.
drivers/gpu/drm/gma500/mdfld_intel_display.c
79 void mdfldWaitForPipeEnable(struct drm_device *dev, int pipe)
80 {
81 struct drm_psb_private *dev_priv = dev->dev_private;
82 const struct psb_offset *map = &dev_priv->regmap[pipe];
83 int count, temp;
84
85 switch (pipe) {
86 case 0:
87 case 1:
88 case 2:
89 break;
90 default:
91 DRM_ERROR("Illegal Pipe Number.\n");
92 return;
93 }
94
95 /* FIXME JLIU7_PO */
96 gma_wait_for_vblank(dev);
97 return;
^^^^^^
It occurs to me that this early return might be a work around for the
minute long hang that follows. But there is an early return in Disable
as well, and I can't test this.
98
99 /* Wait for for the pipe enable to take effect. */
100 for (count = 0; count < COUNT_MAX; count++) {
101 temp = REG_READ(map->conf);
102 if ((temp & PIPEACONF_PIPE_STATE) == 1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This will never be true. It should just be:
if (temp & PIPEACONF_PIPE_STATE) {
So this loop will just go until we reach COUNT_MAX.
103 break;
104 }
105 }
regards,
dan carpenter
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2017-06-28 11:31 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-28 11:30 [bug report] gma500: initial medfield merge Dan Carpenter
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.