On 18.08.2017 19:15, Mikko Perttunen wrote: > Since Tegra186 the Host1x hardware allows syncpoints to be assigned to > specific channels, preventing any other channels from incrementing > them. > > Enable this feature where available and assign syncpoints to channels > when submitting a job. Syncpoints are currently never unassigned from > channels since that would require extra work and is unnecessary with > the current channel allocation model. > > Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> > --- [snip] > diff --git a/drivers/gpu/host1x/syncpt.c b/drivers/gpu/host1x/syncpt.c > index 048ac9e344ce..fe4d963b3e2a 100644 > --- a/drivers/gpu/host1x/syncpt.c > +++ b/drivers/gpu/host1x/syncpt.c > @@ -398,6 +398,8 @@ int host1x_syncpt_init(struct host1x *host) > for (i = 0; i < host->info->nb_pts; i++) { > syncpt[i].id = i; > syncpt[i].host = host; > + > + host1x_hw_syncpt_assign_channel(host, &syncpt[i], NULL); > } What about to factor out that assignment and add a comment, something like this: /* clear syncpoint-channel assignments on Tegra186+ */ for (i = 0; i < host->info->nb_pts; i++) host1x_hw_syncpt_assign_channel(host, &syncpt[i], NULL); And maybe even add an inline function for clarity, like: static inline void host1x_hw_syncpt_deassign_channel(struct host1x *host, struct host1x_syncpt *sp) { return host->syncpt_op->assign_channel(sp, NULL); } -- Dmitry -- 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