OSDN Git Service

gpu: ipu-v3: pre: don't trigger update if buffer address doesn't change
authorLucas Stach <l.stach@pengutronix.de>
Tue, 18 Dec 2018 15:46:29 +0000 (16:46 +0100)
committerPhilipp Zabel <p.zabel@pengutronix.de>
Wed, 23 Jan 2019 10:56:44 +0000 (11:56 +0100)
commiteb0200a4357da100064971689d3a0e9e3cf57f33
tree4e0f5db916c737339c2e5a911c06b1873570722b
parentbb867d219fda7fbaabea3314702474c4eac2b91d
gpu: ipu-v3: pre: don't trigger update if buffer address doesn't change

On a NOP double buffer update where current buffer address is the same
as the next buffer address, the SDW_UPDATE bit clears too late. As we
are now using this bit to determine when it is safe to signal flip
completion to userspace this will delay completion of atomic commits
where one plane doesn't change the buffer by a whole frame period.

Fix this by remembering the last buffer address and just skip the
double buffer update if it would not change the buffer address.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
[p.zabel@pengutronix.de: initialize last_bufaddr in ipu_pre_configure]
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
drivers/gpu/ipu-v3/ipu-pre.c