Lines Matching defs:conf

78 	void			(*write_data)(struct altera_cvp_conf *conf,
88 void (*switch_clk)(struct altera_cvp_conf *conf);
89 int (*clear_state)(struct altera_cvp_conf *conf);
96 static int altera_read_config_byte(struct altera_cvp_conf *conf,
99 return pci_read_config_byte(conf->pci_dev, conf->vsec_offset + where,
103 static int altera_read_config_dword(struct altera_cvp_conf *conf,
106 return pci_read_config_dword(conf->pci_dev, conf->vsec_offset + where,
110 static int altera_write_config_dword(struct altera_cvp_conf *conf,
113 return pci_write_config_dword(conf->pci_dev, conf->vsec_offset + where,
119 struct altera_cvp_conf *conf = mgr->priv;
122 altera_read_config_dword(conf, VSE_CVP_STATUS, &status);
133 static void altera_cvp_write_data_iomem(struct altera_cvp_conf *conf, u32 val)
135 writel(val, conf->map);
138 static void altera_cvp_write_data_config(struct altera_cvp_conf *conf, u32 val)
140 pci_write_config_dword(conf->pci_dev, conf->vsec_offset + VSE_CVP_DATA,
145 static void altera_cvp_dummy_write(struct altera_cvp_conf *conf)
151 altera_read_config_dword(conf, VSE_CVP_MODE_CTRL, &val);
154 altera_write_config_dword(conf, VSE_CVP_MODE_CTRL, val);
157 conf->write_data(conf, 0); /* dummy data, could be any value */
160 static int altera_cvp_wait_status(struct altera_cvp_conf *conf, u32 status_mask,
171 altera_read_config_dword(conf, VSE_CVP_STATUS, &val);
184 struct altera_cvp_conf *conf = mgr->priv;
189 ret = altera_read_config_dword(conf, VSE_CVP_STATUS, &val);
204 static int altera_cvp_v2_clear_state(struct altera_cvp_conf *conf)
210 ret = altera_read_config_dword(conf, VSE_CVP_PROG_CTRL, &val);
212 dev_err(&conf->pci_dev->dev,
218 ret = altera_write_config_dword(conf, VSE_CVP_PROG_CTRL, val);
220 dev_err(&conf->pci_dev->dev,
225 return altera_cvp_wait_status(conf, VSE_CVP_STATUS_CFG_RDY, 0,
226 conf->priv->poll_time_us);
233 struct altera_cvp_conf *conf = mgr->priv;
238 ret = altera_read_config_byte(conf, VSE_CVP_TX_CREDITS, &val);
240 dev_err(&conf->pci_dev->dev,
246 if (val - (u8)conf->sent_packets)
251 dev_err(&conf->pci_dev->dev,
253 val, conf->sent_packets);
261 dev_err(&conf->pci_dev->dev, "Timeout waiting for credit\n");
265 static int altera_cvp_send_block(struct altera_cvp_conf *conf,
272 conf->write_data(conf, *data++);
279 conf->write_data(conf, *data & mask);
288 struct altera_cvp_conf *conf = mgr->priv;
293 altera_read_config_dword(conf, VSE_CVP_PROG_CTRL, &val);
295 altera_write_config_dword(conf, VSE_CVP_PROG_CTRL, val);
299 altera_write_config_dword(conf, VSE_CVP_PROG_CTRL, val);
306 if (conf->priv->switch_clk)
307 conf->priv->switch_clk(conf);
310 ret = altera_cvp_wait_status(conf, VSE_CVP_STATUS_CFG_RDY, 0,
311 conf->priv->poll_time_us);
322 struct altera_cvp_conf *conf = mgr->priv;
335 conf->numclks = 8; /* ratio for all compressed images */
337 conf->numclks = 4; /* for uncompressed and encrypted images */
339 conf->numclks = 1; /* for uncompressed and unencrypted images */
342 altera_read_config_dword(conf, VSE_CVP_STATUS, &val);
360 altera_read_config_dword(conf, VSE_CVP_MODE_CTRL, &val);
362 altera_write_config_dword(conf, VSE_CVP_MODE_CTRL, val);
365 altera_read_config_dword(conf, VSE_CVP_MODE_CTRL, &val);
367 altera_write_config_dword(conf, VSE_CVP_MODE_CTRL, val);
373 if (conf->priv->switch_clk)
374 conf->priv->switch_clk(conf);
376 if (conf->priv->clear_state) {
377 ret = conf->priv->clear_state(conf);
384 conf->sent_packets = 0;
387 altera_read_config_dword(conf, VSE_CVP_PROG_CTRL, &val);
390 altera_write_config_dword(conf, VSE_CVP_PROG_CTRL, val);
393 ret = altera_cvp_wait_status(conf, VSE_CVP_STATUS_CFG_RDY,
395 conf->priv->poll_time_us);
405 if (conf->priv->switch_clk)
406 conf->priv->switch_clk(conf);
417 altera_read_config_dword(conf, VSE_CVP_PROG_CTRL, &val);
419 altera_write_config_dword(conf, VSE_CVP_PROG_CTRL, val);
422 if (conf->priv->switch_clk) {
423 altera_read_config_dword(conf, VSE_CVP_MODE_CTRL, &val);
425 val |= conf->numclks << VSE_CVP_MODE_CTRL_NUMCLKS_OFF;
426 altera_write_config_dword(conf, VSE_CVP_MODE_CTRL, val);
434 struct altera_cvp_conf *conf = mgr->priv;
446 if (conf->priv->wait_credit) {
447 status = conf->priv->wait_credit(mgr, done);
449 dev_err(&conf->pci_dev->dev,
455 len = min(conf->priv->block_size, remaining);
456 altera_cvp_send_block(conf, data, len);
460 conf->sent_packets++;
487 struct altera_cvp_conf *conf = mgr->priv;
496 altera_read_config_dword(conf, VSE_UNCOR_ERR_STATUS, &val);
503 altera_read_config_dword(conf, VSE_CVP_MODE_CTRL, &val);
506 altera_write_config_dword(conf, VSE_CVP_MODE_CTRL, val);
510 ret = altera_cvp_wait_status(conf, mask, mask,
511 conf->priv->user_time_us);
579 struct altera_cvp_conf *conf;
611 conf = devm_kzalloc(&pdev->dev, sizeof(*conf), GFP_KERNEL);
612 if (!conf)
615 conf->vsec_offset = offset;
638 conf->pci_dev = pdev;
639 conf->write_data = altera_cvp_write_data_iomem;
641 if (conf->vsec_offset == V1_VSEC_OFFSET)
642 conf->priv = &cvp_priv_v1;
644 conf->priv = &cvp_priv_v2;
646 conf->map = pci_iomap(pdev, CVP_BAR, 0);
647 if (!conf->map) {
649 conf->write_data = altera_cvp_write_data_config;
652 snprintf(conf->mgr_name, sizeof(conf->mgr_name), "%s @%s",
655 mgr = fpga_mgr_register(&pdev->dev, conf->mgr_name,
656 &altera_cvp_ops, conf);
667 if (conf->map)
668 pci_iounmap(pdev, conf->map);
679 struct altera_cvp_conf *conf = mgr->priv;
683 if (conf->map)
684 pci_iounmap(pdev, conf->map);