Lines Matching refs:pb

49 static void host1x_pushbuffer_destroy(struct push_buffer *pb)  in host1x_pushbuffer_destroy()  argument
51 struct host1x_cdma *cdma = pb_to_cdma(pb); in host1x_pushbuffer_destroy()
54 if (pb->phys != 0) in host1x_pushbuffer_destroy()
55 dma_free_writecombine(host1x->dev, pb->size_bytes + 4, in host1x_pushbuffer_destroy()
56 pb->mapped, pb->phys); in host1x_pushbuffer_destroy()
58 pb->mapped = NULL; in host1x_pushbuffer_destroy()
59 pb->phys = 0; in host1x_pushbuffer_destroy()
65 static int host1x_pushbuffer_init(struct push_buffer *pb) in host1x_pushbuffer_init() argument
67 struct host1x_cdma *cdma = pb_to_cdma(pb); in host1x_pushbuffer_init()
70 pb->mapped = NULL; in host1x_pushbuffer_init()
71 pb->phys = 0; in host1x_pushbuffer_init()
72 pb->size_bytes = HOST1X_PUSHBUFFER_SLOTS * 8; in host1x_pushbuffer_init()
75 pb->fence = pb->size_bytes - 8; in host1x_pushbuffer_init()
76 pb->pos = 0; in host1x_pushbuffer_init()
79 pb->mapped = dma_alloc_writecombine(host1x->dev, pb->size_bytes + 4, in host1x_pushbuffer_init()
80 &pb->phys, GFP_KERNEL); in host1x_pushbuffer_init()
81 if (!pb->mapped) in host1x_pushbuffer_init()
84 host1x_hw_pushbuffer_init(host1x, pb); in host1x_pushbuffer_init()
89 host1x_pushbuffer_destroy(pb); in host1x_pushbuffer_init()
97 static void host1x_pushbuffer_push(struct push_buffer *pb, u32 op1, u32 op2) in host1x_pushbuffer_push() argument
99 u32 pos = pb->pos; in host1x_pushbuffer_push()
100 u32 *p = (u32 *)((void *)pb->mapped + pos); in host1x_pushbuffer_push()
101 WARN_ON(pos == pb->fence); in host1x_pushbuffer_push()
104 pb->pos = (pos + 8) & (pb->size_bytes - 1); in host1x_pushbuffer_push()
111 static void host1x_pushbuffer_pop(struct push_buffer *pb, unsigned int slots) in host1x_pushbuffer_pop() argument
114 pb->fence = (pb->fence + slots * 8) & (pb->size_bytes - 1); in host1x_pushbuffer_pop()
120 static u32 host1x_pushbuffer_space(struct push_buffer *pb) in host1x_pushbuffer_space() argument
122 return ((pb->fence - pb->pos) & (pb->size_bytes - 1)) / 8; in host1x_pushbuffer_space()
142 struct push_buffer *pb = &cdma->push_buffer; in host1x_cdma_wait_locked() local
143 space = host1x_pushbuffer_space(pb); in host1x_cdma_wait_locked()
249 struct push_buffer *pb = &cdma->push_buffer; in update_cdma_locked() local
250 host1x_pushbuffer_pop(pb, job->num_slots); in update_cdma_locked()
386 struct push_buffer *pb = &cdma->push_buffer; in host1x_cdma_deinit() local
394 host1x_pushbuffer_destroy(pb); in host1x_cdma_deinit()
439 struct push_buffer *pb = &cdma->push_buffer; in host1x_cdma_push() local
453 host1x_pushbuffer_push(pb, op1, op2); in host1x_cdma_push()