hwsp_seqno
GEM_BUG_ON(offset_in_page(rq->hwsp_seqno) != I915_GEM_HWS_SEQNO_ADDR);
GEM_BUG_ON(offset_in_page(rq->hwsp_seqno) != I915_GEM_HWS_SEQNO_ADDR);
GEM_BUG_ON(offset_in_page(rq->hwsp_seqno) != I915_GEM_HWS_SEQNO_ADDR);
return page_mask_bits(tl->hwsp_offset) + offset_in_page(rq->hwsp_seqno);
frame->rq.hwsp_seqno = ce->timeline->hwsp_seqno;
hwsp_seqno(rq),
READ_ONCE(*ce->timeline->hwsp_seqno),
READ_ONCE(*ce->timeline->hwsp_seqno));
hwsp_seqno(rq));
u32 *hwsp_seqno = (u32 *)tl->hwsp_seqno;
memset(hwsp_seqno + 1, 0, TIMELINE_SEQNO_BYTES - sizeof(*hwsp_seqno));
WRITE_ONCE(*hwsp_seqno, tl->seqno);
drm_clflush_virt_range(hwsp_seqno, TIMELINE_SEQNO_BYTES);
tl->hwsp_seqno = tl->hwsp_map + next_ofs;
GEM_BUG_ON(i915_seqno_passed(*tl->hwsp_seqno, *seqno));
offset_in_page(from->hwsp_seqno);
*tl->hwsp_seqno, tl->seqno);
timeline->hwsp_seqno = memset(vaddr + ofs, 0, TIMELINE_SEQNO_BYTES);
timeline->hwsp_seqno = (void *)(long)timeline->hwsp_offset;
const u32 *hwsp_seqno;
cycles[i] = rq->hwsp_seqno[3] - rq->hwsp_seqno[2];
(rq->hwsp_seqno[4] - rq->hwsp_seqno[3]) -
(rq->hwsp_seqno[3] - rq->hwsp_seqno[2]);
result = rq->hwsp_seqno + 2;
WRITE_ONCE(*(u32 *)tl->hwsp_seqno, tl->seqno);
WRITE_ONCE(*(u32 *)tl->hwsp_seqno, tl->seqno);
if (READ_ONCE(*tl->hwsp_seqno) != count) {
tl->hwsp_offset, *tl->hwsp_seqno);
if (READ_ONCE(*tl->hwsp_seqno) != tl->seqno) {
*tl->hwsp_seqno, tl->seqno);
if (!err && READ_ONCE(*tl->hwsp_seqno) != n) {
n, tl->fence_context, tl->hwsp_offset, *tl->hwsp_seqno);
if (!err && READ_ONCE(*tl->hwsp_seqno) != n) {
n, tl->fence_context, tl->hwsp_offset, *tl->hwsp_seqno);
const u32 *hwsp_seqno[2];
hwsp_seqno[0] = tl->hwsp_seqno;
hwsp_seqno[1] = tl->hwsp_seqno;
GEM_BUG_ON(hwsp_seqno[0] == hwsp_seqno[1]);
if (READ_ONCE(*hwsp_seqno[0]) != seqno[0] ||
READ_ONCE(*hwsp_seqno[1]) != seqno[1]) {
*hwsp_seqno[0], *hwsp_seqno[1],
e->hwsp_seqno = (ce->timeline && ce->timeline->hwsp_seqno) ?
*ce->timeline->hwsp_seqno : ~0U;
err_printf(m, " context timeline seqno %u\n", ctx->hwsp_seqno);
u32 hwsp_seqno;
rq->hwsp_seqno = tl->hwsp_seqno;
const u32 *hwsp_seqno;
const u32 *hwsp = READ_ONCE(rq->hwsp_seqno);
WRITE_ONCE(rq->hwsp_seqno, /* decouple from HWSP */
hwsp_seqno(rq__), ##__VA_ARGS__); \
u32 hwsp_relative_offset = offset_in_page(rq->hwsp_seqno);