Lines Matching refs:drvdata

88  * @drvdata: a pointer to the drvdata.
93 static inline void fifo_icap_fifo_write(struct hwicap_drvdata *drvdata,
96 dev_dbg(drvdata->dev, "fifo_write: %x\n", data);
97 out_be32(drvdata->base_address + XHI_WF_OFFSET, data);
102 * @drvdata: a pointer to the drvdata.
106 static inline u32 fifo_icap_fifo_read(struct hwicap_drvdata *drvdata)
108 u32 data = in_be32(drvdata->base_address + XHI_RF_OFFSET);
109 dev_dbg(drvdata->dev, "fifo_read: %x\n", data);
115 * @drvdata: a pointer to the drvdata.
118 static inline void fifo_icap_set_read_size(struct hwicap_drvdata *drvdata,
121 out_be32(drvdata->base_address + XHI_SZ_OFFSET, data);
126 * @drvdata: a pointer to the drvdata.
128 static inline void fifo_icap_start_config(struct hwicap_drvdata *drvdata)
130 out_be32(drvdata->base_address + XHI_CR_OFFSET, XHI_CR_WRITE_MASK);
131 dev_dbg(drvdata->dev, "configuration started\n");
136 * @drvdata: a pointer to the drvdata.
138 static inline void fifo_icap_start_readback(struct hwicap_drvdata *drvdata)
140 out_be32(drvdata->base_address + XHI_CR_OFFSET, XHI_CR_READ_MASK);
141 dev_dbg(drvdata->dev, "readback started\n");
146 * @drvdata: a pointer to the drvdata.
160 u32 fifo_icap_get_status(struct hwicap_drvdata *drvdata)
162 u32 status = in_be32(drvdata->base_address + XHI_SR_OFFSET);
163 dev_dbg(drvdata->dev, "Getting status = %x\n", status);
169 * @drvdata: a pointer to the drvdata.
171 static inline u32 fifo_icap_busy(struct hwicap_drvdata *drvdata)
173 u32 status = in_be32(drvdata->base_address + XHI_SR_OFFSET);
179 * @drvdata: a pointer to the drvdata.
184 struct hwicap_drvdata *drvdata)
186 return in_be32(drvdata->base_address + XHI_WFV_OFFSET);
191 * @drvdata: a pointer to the drvdata.
196 struct hwicap_drvdata *drvdata)
198 return in_be32(drvdata->base_address + XHI_RFO_OFFSET);
203 * @drvdata: a pointer to the drvdata.
213 int fifo_icap_set_configuration(struct hwicap_drvdata *drvdata,
221 dev_dbg(drvdata->dev, "fifo_set_configuration\n");
226 if (fifo_icap_busy(drvdata))
240 fifo_icap_write_fifo_vacancy(drvdata);
251 fifo_icap_fifo_write(drvdata, *frame_buffer);
258 fifo_icap_start_config(drvdata);
262 while (fifo_icap_busy(drvdata)) {
268 dev_dbg(drvdata->dev, "done fifo_set_configuration\n");
282 * @drvdata: a pointer to the drvdata.
289 int fifo_icap_get_configuration(struct hwicap_drvdata *drvdata,
299 dev_dbg(drvdata->dev, "fifo_get_configuration\n");
304 if (fifo_icap_busy(drvdata))
318 fifo_icap_set_read_size(drvdata, words_to_read);
319 fifo_icap_start_readback(drvdata);
325 fifo_icap_read_fifo_occupancy(drvdata);
338 *data++ = fifo_icap_fifo_read(drvdata);
344 dev_dbg(drvdata->dev, "done fifo_get_configuration\n");
351 * @drvdata: a pointer to the drvdata.
357 void fifo_icap_reset(struct hwicap_drvdata *drvdata)
364 reg_data = in_be32(drvdata->base_address + XHI_CR_OFFSET);
366 out_be32(drvdata->base_address + XHI_CR_OFFSET,
369 out_be32(drvdata->base_address + XHI_CR_OFFSET,
376 * @drvdata: a pointer to the drvdata.
378 void fifo_icap_flush_fifo(struct hwicap_drvdata *drvdata)
385 reg_data = in_be32(drvdata->base_address + XHI_CR_OFFSET);
387 out_be32(drvdata->base_address + XHI_CR_OFFSET,
390 out_be32(drvdata->base_address + XHI_CR_OFFSET,