diff options
author | Lucas Stach <l.stach@pengutronix.de> | 2017-03-08 12:13:21 +0100 |
---|---|---|
committer | Philipp Zabel <p.zabel@pengutronix.de> | 2017-03-16 10:14:51 +0100 |
commit | 00514e8593350498790d19c7e21b720fee899cf7 (patch) | |
tree | bc725d9c69a4158c7f0b4fca54b0d878b411d4d6 /drivers/gpu/drm/imx/imx-drm-core.c | |
parent | e0fb7dd2f00440b5449f625dee7b442219d8a56e (diff) | |
download | linux-00514e8593350498790d19c7e21b720fee899cf7.tar.gz linux-00514e8593350498790d19c7e21b720fee899cf7.tar.bz2 linux-00514e8593350498790d19c7e21b720fee899cf7.zip |
drm/imx: use PRG/PRE when possible
Allow the planes to use the PRG/PRE units as linear prefetchers when
possible. This improves DRAM efficiency a bit and reduces the chance
for display underflow when the memory subsystem is under load.
This does not yet support scanning out tiled buffers directly, as this
needs more work, but it already wires up the basic interaction between
imx-drm, the IPUv3 driver and the PRG and PRE drivers.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Diffstat (limited to 'drivers/gpu/drm/imx/imx-drm-core.c')
-rw-r--r-- | drivers/gpu/drm/imx/imx-drm-core.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c index cd3c2013ea70..f42cf9ea911b 100644 --- a/drivers/gpu/drm/imx/imx-drm-core.c +++ b/drivers/gpu/drm/imx/imx-drm-core.c @@ -110,6 +110,11 @@ static int imx_drm_atomic_check(struct drm_device *dev, if (ret) return ret; + /* Assign PRG/PRE channels and check if all constrains are satisfied. */ + ret = ipu_planes_assign_pre(dev, state); + if (ret) + return ret; + return ret; } |