Hi Terje, Forget to add you to this email, could you please help to take a look at my questions? Thanks, -Bryan On Tue, Feb 4, 2014 at 3:51 PM, Bryan Wu <cooloney@xxxxxxxxx> wrote: > Hi Stephen and Thierry, > > Recently I'm working on upstreaming my V4L2 driver for Tegra video > input module, which is using host1x syncpt to wait for frame > capturing. > > So here is my basic steps for handling host1x syncpt, > > 1. Call host1x_syncpt_request(cam->client.dev, flags); to allocate > syncpts for my driver. > > 2. Program host1x_syncpt_id(sp) into Tegra VI syncpt event register. > So when VI captures one frame, syncpt will be increased one. > > 3. Call thresh = host1x_syncpt_incr_max(sp, 1) to incr max_val of the > syncpt, which is the threshold for waiting. > > 4. Start capture and wait for host1x syncpt event like this > host1x_syncpt_wait(sp, thresh, WAIT_TIMEOUT, &value); > > Is that the right sequence? > > host1x_syncpt_incr_max() is not exported and without calling it I > always got error message like this: > "tegra-host1x 50000000.host1x: syncpt_load failed: id=1, min=46, max=0, live=46" > So I have to increase the max_val manually like step 3. And > host1x_syncpt_incr() won't increase the max_val which will still > generate this error message. > > Actually with the steps I listed, I can capture data from real sensor now. > > Thanks, > -Bryan -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html