Lines Matching refs:req
43 struct mpc512x_lpbfifo_request *req; member
67 struct mpc512x_lpbfifo_request *req = NULL; in mpc512x_lpbfifo_irq() local
76 req = lpbfifo.req; in mpc512x_lpbfifo_irq()
77 if (!req || req->dir == MPC512X_LPBFIFO_REQ_DIR_READ) { in mpc512x_lpbfifo_irq()
98 lpbfifo.req = NULL; in mpc512x_lpbfifo_irq()
102 if (req->callback) in mpc512x_lpbfifo_irq()
103 req->callback(req); in mpc512x_lpbfifo_irq()
119 struct mpc512x_lpbfifo_request *req = NULL; in mpc512x_lpbfifo_callback() local
129 req = lpbfifo.req; in mpc512x_lpbfifo_callback()
130 if (!req) { in mpc512x_lpbfifo_callback()
137 if (req->dir == MPC512X_LPBFIFO_REQ_DIR_WRITE) in mpc512x_lpbfifo_callback()
142 lpbfifo.ram_bus_addr, req->size, dir); in mpc512x_lpbfifo_callback()
148 lpbfifo.req = NULL; in mpc512x_lpbfifo_callback()
152 if (req->callback) in mpc512x_lpbfifo_callback()
153 req->callback(req); in mpc512x_lpbfifo_callback()
190 if (lpbfifo.req->size == 0 || !IS_ALIGNED(lpbfifo.req->size, 4)) in mpc512x_lpbfifo_kick()
193 if (lpbfifo.req->portsize != LPB_DEV_PORTSIZE_UNDEFINED) { in mpc512x_lpbfifo_kick()
194 bpt = lpbfifo.req->portsize; in mpc512x_lpbfifo_kick()
199 if (IS_ALIGNED(lpbfifo.req->dev_phys_addr, min(bpt, 0x8u)) && in mpc512x_lpbfifo_kick()
200 IS_ALIGNED(lpbfifo.req->size, bpt)) { in mpc512x_lpbfifo_kick()
215 phys_addr_t access_start = lpbfifo.req->dev_phys_addr; in mpc512x_lpbfifo_kick()
216 phys_addr_t access_end = access_start + lpbfifo.req->size; in mpc512x_lpbfifo_kick()
229 if (lpbfifo.req->dir == MPC512X_LPBFIFO_REQ_DIR_WRITE) { in mpc512x_lpbfifo_kick()
252 lpbfifo.req->ram_virt_addr, lpbfifo.req->size, dir); in mpc512x_lpbfifo_kick()
258 sg_dma_len(&sg) = lpbfifo.req->size; in mpc512x_lpbfifo_kick()
288 out_be32(&lpbfifo.regs->start_addr, lpbfifo.req->dev_phys_addr); in mpc512x_lpbfifo_kick()
295 if (lpbfifo.req->dir == MPC512X_LPBFIFO_REQ_DIR_READ) in mpc512x_lpbfifo_kick()
304 if (lpbfifo.req->dir == MPC512X_LPBFIFO_REQ_DIR_WRITE) in mpc512x_lpbfifo_kick()
312 bits = lpbfifo.req->size | MPC512X_SCLPC_START; in mpc512x_lpbfifo_kick()
329 lpbfifo.req->size, dir); in mpc512x_lpbfifo_kick()
333 static int mpc512x_lpbfifo_submit_locked(struct mpc512x_lpbfifo_request *req) in mpc512x_lpbfifo_submit_locked() argument
341 if (lpbfifo.req) in mpc512x_lpbfifo_submit_locked()
346 lpbfifo.req = req; in mpc512x_lpbfifo_submit_locked()
350 lpbfifo.req = NULL; /* Set the FIFO as idle */ in mpc512x_lpbfifo_submit_locked()
355 int mpc512x_lpbfifo_submit(struct mpc512x_lpbfifo_request *req) in mpc512x_lpbfifo_submit() argument
361 ret = mpc512x_lpbfifo_submit_locked(req); in mpc512x_lpbfifo_submit()