From: Rodrigo Vivi Date: Fri, 18 Jul 2014 09:19:40 +0000 (-0700) Subject: drm/i915: Fix possible overflow when recording semaphore states. X-Git-Tag: omap-for-v3.17/fixes-against-rc2~125^2~20^2~14 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b4558b46d58e872114e96647cbd6a75ff7280f86;p=pandora-kernel.git drm/i915: Fix possible overflow when recording semaphore states. semaphore _sync_seqno, _seqno and _mbox are smaller than number of rings. This optimization is to remove the ring itself from the list and the logic to do that is at intel_ring_sync_index as below: /* * rcs -> 0 = vcs, 1 = bcs, 2 = vecs, 3 = vcs2; * vcs -> 0 = bcs, 1 = vecs, 2 = vcs2, 3 = rcs; * bcs -> 0 = vecs, 1 = vcs2. 2 = rcs, 3 = vcs; * vecs -> 0 = vcs2, 1 = rcs, 2 = vcs, 3 = bcs; * vcs2 -> 0 = rcs, 1 = vcs, 2 = bcs, 3 = vecs; */ v2: Skip when from == to (Damien). v3: avoid computing idx when from == to (Damien). use ring == to instead of ring->id == to->id (Damien). use continue instead of return (Rodrigo). v4: avoid all unecessary computation (Damien). reduce idx to loop scope (Damien). Cc: Damien Lespiau Cc: Ben Widawsky Signed-off-by: Rodrigo Vivi Reviewed-by: Damien Lespiau Reviewed-by: Ben Widawsky Signed-off-by: Daniel Vetter --- Reading git-diff-tree failed