Lines Matching refs:pvr_cccb

26 	struct pvr_cccb *pvr_cccb = priv;  in cccb_ctrl_init()  local
31 WRITE_ONCE(ctrl->wrap_mask, pvr_cccb->wrap_mask); in cccb_ctrl_init()
46 pvr_cccb_init(struct pvr_device *pvr_dev, struct pvr_cccb *pvr_cccb, in pvr_cccb_init() argument
52 pvr_cccb->size = size; in pvr_cccb_init()
53 pvr_cccb->write_offset = 0; in pvr_cccb_init()
54 pvr_cccb->wrap_mask = size - 1; in pvr_cccb_init()
60 pvr_cccb->ctrl = pvr_fw_object_create_and_map(pvr_dev, sizeof(*pvr_cccb->ctrl), in pvr_cccb_init()
62 cccb_ctrl_init, pvr_cccb, in pvr_cccb_init()
63 &pvr_cccb->ctrl_obj); in pvr_cccb_init()
64 if (IS_ERR(pvr_cccb->ctrl)) in pvr_cccb_init()
65 return PTR_ERR(pvr_cccb->ctrl); in pvr_cccb_init()
67 pvr_cccb->cccb = pvr_fw_object_create_and_map(pvr_dev, size, in pvr_cccb_init()
69 NULL, NULL, &pvr_cccb->cccb_obj); in pvr_cccb_init()
70 if (IS_ERR(pvr_cccb->cccb)) { in pvr_cccb_init()
71 err = PTR_ERR(pvr_cccb->cccb); in pvr_cccb_init()
75 pvr_fw_object_get_fw_addr(pvr_cccb->ctrl_obj, &pvr_cccb->ctrl_fw_addr); in pvr_cccb_init()
76 pvr_fw_object_get_fw_addr(pvr_cccb->cccb_obj, &pvr_cccb->cccb_fw_addr); in pvr_cccb_init()
81 pvr_fw_object_unmap_and_destroy(pvr_cccb->ctrl_obj); in pvr_cccb_init()
91 pvr_cccb_fini(struct pvr_cccb *pvr_cccb) in pvr_cccb_fini() argument
93 pvr_fw_object_unmap_and_destroy(pvr_cccb->cccb_obj); in pvr_cccb_fini()
94 pvr_fw_object_unmap_and_destroy(pvr_cccb->ctrl_obj); in pvr_cccb_fini()
108 bool pvr_cccb_cmdseq_fits(struct pvr_cccb *pvr_cccb, size_t size) in pvr_cccb_cmdseq_fits() argument
110 struct rogue_fwif_cccb_ctl *ctrl = pvr_cccb->ctrl; in pvr_cccb_cmdseq_fits()
115 remaining = pvr_cccb->size - pvr_cccb->write_offset; in pvr_cccb_cmdseq_fits()
124 if (get_ccb_space(pvr_cccb->write_offset, read_offset, pvr_cccb->size) >= size) in pvr_cccb_cmdseq_fits()
148 pvr_cccb_write_command_with_header(struct pvr_cccb *pvr_cccb, u32 cmd_type, u32 cmd_size, in pvr_cccb_write_command_with_header() argument
158 struct rogue_fwif_cccb_ctl *ctrl = pvr_cccb->ctrl; in pvr_cccb_write_command_with_header()
159 u32 remaining = pvr_cccb->size - pvr_cccb->write_offset; in pvr_cccb_write_command_with_header()
177 cccb_space = get_ccb_space(pvr_cccb->write_offset, read_offset, pvr_cccb->size); in pvr_cccb_write_command_with_header()
188 memcpy(&pvr_cccb->cccb[pvr_cccb->write_offset], &pad_cmd, sizeof(pad_cmd)); in pvr_cccb_write_command_with_header()
189 pvr_cccb->write_offset = 0; in pvr_cccb_write_command_with_header()
192 memcpy(&pvr_cccb->cccb[pvr_cccb->write_offset], &cmd_header, sizeof(cmd_header)); in pvr_cccb_write_command_with_header()
193 memcpy(&pvr_cccb->cccb[pvr_cccb->write_offset + sizeof(cmd_header)], cmd_data, cmd_size); in pvr_cccb_write_command_with_header()
194 pvr_cccb->write_offset += sz_with_hdr; in pvr_cccb_write_command_with_header()
197 static void fill_cmd_kick_data(struct pvr_cccb *cccb, u32 ctx_fw_addr, in fill_cmd_kick_data()
226 struct pvr_cccb *pvr_cccb, u32 cctx_fw_addr, in pvr_cccb_send_kccb_kick() argument
233 fill_cmd_kick_data(pvr_cccb, cctx_fw_addr, hwrt, &cmd_kick.cmd_data.cmd_kick_data); in pvr_cccb_send_kccb_kick()
243 struct pvr_cccb *geom_cccb, in pvr_cccb_send_kccb_combined_kick()
244 struct pvr_cccb *frag_cccb, in pvr_cccb_send_kccb_combined_kick()