On Mon, Jun 8, 2015 at 8:04 PM, Ilia Mirkin <[email protected]> wrote: > A naive question from someone who knows nothing of icmd or bundles... Would > it be better to wait for both bits to become 0 (I.e. 0x6)?
My understanding is that a method reaching the bottom half implies it has passed to upper half (whatever these halfs are, I need to dig into the doc to completely figure it out), and thus that while waiting for both bits would do no harm, it would not do any good either. Waiting on the bottom half is what downstream does, so I think this behavior is safe to apply to Nouveau. > > On Jun 8, 2015 11:54 AM, "Alexandre Courbot" <[email protected]> wrote: >> >> When emitting the ICMD bundle, wait on the bottom half (bit 3 of the >> GR_STATUS register) instead of upper half (bit 2) to make sure methods >> are effectively emitted. >> >> Signed-off-by: Alexandre Courbot <[email protected]> >> --- >> drm/nouveau/nvkm/engine/gr/gf100.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drm/nouveau/nvkm/engine/gr/gf100.c >> b/drm/nouveau/nvkm/engine/gr/gf100.c >> index 5606c25e5d02..01efc2c96045 100644 >> --- a/drm/nouveau/nvkm/engine/gr/gf100.c >> +++ b/drm/nouveau/nvkm/engine/gr/gf100.c >> @@ -699,7 +699,7 @@ gf100_gr_icmd(struct gf100_gr_priv *priv, const struct >> gf100_gr_pack *p) >> >> while (addr < next) { >> nv_wr32(priv, 0x400200, addr); >> - nv_wait(priv, 0x400700, 0x00000002, 0x00000000); >> + nv_wait(priv, 0x400700, 0x00000004, 0x00000000); >> addr += init->pitch; >> } >> } >> -- >> 2.4.2 >> >> _______________________________________________ >> Nouveau mailing list >> [email protected] >> http://lists.freedesktop.org/mailman/listinfo/nouveau _______________________________________________ Nouveau mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/nouveau
