staging: drm/imx: also allow to allocate only 2 DMFC slots for DP full plane
Connecting a 320x240 parallel display on i.MX6 resulted in an invalid DRDY signal because the DC would not receive NL/EOL events on every line. Reducing the allocated DMFC space from 4 slots (256 * 128-bit) to 2 slots (128 * 128-bit) solved the problem. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c35d6a37bd
commit
a2210d5788
|
@ -307,13 +307,13 @@ int ipu_dmfc_alloc_bandwidth(struct dmfc_channel *dmfc,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Always allocate at least 128*4 bytes (2 slots) */
|
|
||||||
if (slots < 2)
|
|
||||||
slots = 2;
|
|
||||||
|
|
||||||
/* For the MEM_BG channel, first try to allocate twice the slots */
|
/* For the MEM_BG channel, first try to allocate twice the slots */
|
||||||
if (dmfc->data->ipu_channel == IPUV3_CHANNEL_MEM_BG_SYNC)
|
if (dmfc->data->ipu_channel == IPUV3_CHANNEL_MEM_BG_SYNC)
|
||||||
segment = dmfc_find_slots(priv, slots * 2);
|
segment = dmfc_find_slots(priv, slots * 2);
|
||||||
|
else if (slots < 2)
|
||||||
|
/* Always allocate at least 128*4 bytes (2 slots) */
|
||||||
|
slots = 2;
|
||||||
|
|
||||||
if (segment >= 0)
|
if (segment >= 0)
|
||||||
slots *= 2;
|
slots *= 2;
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue