]> git.baikalelectronics.ru Git - kernel.git/commit
drm/imx: lock scanout transfers for consecutive bursts
authorPhilipp Zabel <p.zabel@pengutronix.de>
Fri, 19 May 2017 14:05:51 +0000 (16:05 +0200)
committerPhilipp Zabel <p.zabel@pengutronix.de>
Mon, 17 Jul 2017 10:58:11 +0000 (12:58 +0200)
commit3bb32e547a58ea9f1cce30b100b557a88e6a15ca
tree33913a427dd96b884fa6786cebb74426fd6a5b8a
parentf1ff50b00bbf45ed573bcb9dd6ed8699b6d264e3
drm/imx: lock scanout transfers for consecutive bursts

Because of its shallow queues and limited reordering ability, the i.MX6Q
memory controller likes AXI bursts of consecutive addresses a lot.
To optimize memory access performance, lock the IPU scanout channels for
a number of burst accesses each, before switching to the next channel.
The burst size and length of a locked burst chain are chosen not to
overshoot the stride.

Enabling the 8-burst channel lock on a single 1920x1080@60Hz RGBx
scanout (474 MiB/s of 64-byte IPU memory read accesses) reduces the
reported memory controller busy cycles from 46% to below 28% on an
otherwise idle i.MX6Q.

Tested-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
drivers/gpu/drm/imx/ipuv3-plane.c