On Wed, Oct 09, 2013 at 02:54:07PM +0300, Arto Merilainen wrote:
The host1x driver uses currently syncpoints statically from host1x point of view. If we do a wait inside a job, it always has a constant value to wait. host1x supports also doing relative syncpoint waits with respect to syncpoint bases. This allows doing multiple operations inside a single submit and waiting an operation to complete before moving to next one.
This set of patches adds support for syncpoint bases to host1x driver and enables the support for gr2d client. The series is based on 3.12-rc4.
I have tested the series using the host1x test application (available at [0], function test_wait_base() in tests/tegra/host1x/tegra_host1x_test.c) on cardhu. I would appreciate help in reviewing the series and testing the patches on other boards.
[0] https://gitorious.org/linux-host1x/libdrm-host1x
Arto Merilainen (3): gpu: host1x: Add syncpoint base support drm/tegra: Deliver syncpoint base to user space drm/tegra: Reserve base for gr2d
drivers/gpu/host1x/dev.h | 2 ++ drivers/gpu/host1x/drm/drm.c | 2 ++ drivers/gpu/host1x/drm/gr2d.c | 2 +- drivers/gpu/host1x/hw/channel_hw.c | 19 +++++++++++ drivers/gpu/host1x/hw/hw_host1x01_uclass.h | 6 ++++ drivers/gpu/host1x/syncpt.c | 55 +++++++++++++++++++++++++++--- drivers/gpu/host1x/syncpt.h | 10 ++++++ include/uapi/drm/tegra_drm.h | 4 ++- 8 files changed, 93 insertions(+), 7 deletions(-)
Generally this looks pretty good. It does conflict with some of the changes in my tree, but I think I can fix that up when applying.
Thanks, Thierry