Lines Matching refs:tpm_dev
67 static u8 clear_interruption(struct st33zp24_dev *tpm_dev)
71 tpm_dev->ops->recv(tpm_dev->phy_id, TPM_INT_STATUS, &interrupt, 1);
72 tpm_dev->ops->send(tpm_dev->phy_id, TPM_INT_STATUS, &interrupt, 1);
81 struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
85 tpm_dev->ops->send(tpm_dev->phy_id, TPM_STS, &data, 1);
93 struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
96 tpm_dev->ops->recv(tpm_dev->phy_id, TPM_STS, &data, 1);
105 struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
109 status = tpm_dev->ops->recv(tpm_dev->phy_id, TPM_ACCESS, &data, 1);
120 struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
126 return tpm_dev->locality;
129 ret = tpm_dev->ops->send(tpm_dev->phy_id, TPM_ACCESS, &data, 1);
138 return tpm_dev->locality;
148 struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
153 tpm_dev->ops->send(tpm_dev->phy_id, TPM_ACCESS, &data, 1);
161 struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
168 status = tpm_dev->ops->recv(tpm_dev->phy_id, TPM_STS + 1,
174 status = tpm_dev->ops->recv(tpm_dev->phy_id, TPM_STS + 2,
208 struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
224 cur_intrs = tpm_dev->intrs;
225 clear_interruption(tpm_dev);
226 enable_irq(tpm_dev->irq);
237 cur_intrs != tpm_dev->intrs,
239 clear_interruption(tpm_dev);
249 disable_irq_nosync(tpm_dev->irq);
265 struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
272 &tpm_dev->read_queue, true) == 0) {
277 ret = tpm_dev->ops->recv(tpm_dev->phy_id, TPM_DATA_FIFO,
290 struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
292 tpm_dev->intrs++;
293 wake_up_interruptible(&tpm_dev->read_queue);
294 disable_irq_nosync(tpm_dev->irq);
305 struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
323 &tpm_dev->read_queue, false) < 0) {
334 ret = tpm_dev->ops->send(tpm_dev->phy_id, TPM_DATA_FIFO,
348 ret = tpm_dev->ops->send(tpm_dev->phy_id, TPM_DATA_FIFO,
360 ret = tpm_dev->ops->send(tpm_dev->phy_id, TPM_STS, &data, 1);
369 &tpm_dev->read_queue, false);
452 struct st33zp24_dev *tpm_dev;
458 tpm_dev = devm_kzalloc(dev, sizeof(struct st33zp24_dev),
460 if (!tpm_dev)
463 tpm_dev->phy_id = phy_id;
464 tpm_dev->ops = ops;
465 dev_set_drvdata(&chip->dev, tpm_dev);
472 tpm_dev->locality = LOCALITY0;
485 tpm_dev->io_lpcpd = devm_gpiod_get_optional(dev, "lpcpd",
487 ret = PTR_ERR_OR_ZERO(tpm_dev->io_lpcpd);
495 init_waitqueue_head(&tpm_dev->read_queue);
496 tpm_dev->intrs = 0;
503 clear_interruption(tpm_dev);
517 ret = tpm_dev->ops->send(tpm_dev->phy_id, TPM_INT_ENABLE,
523 ret = tpm_dev->ops->send(tpm_dev->phy_id, (TPM_INT_ENABLE + 3),
528 tpm_dev->irq = irq;
531 disable_irq_nosync(tpm_dev->irq);
551 struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
555 if (tpm_dev->io_lpcpd)
556 gpiod_set_value_cansleep(tpm_dev->io_lpcpd, 0);
567 struct st33zp24_dev *tpm_dev = dev_get_drvdata(&chip->dev);
570 if (tpm_dev->io_lpcpd) {
571 gpiod_set_value_cansleep(tpm_dev->io_lpcpd, 1);
574 &tpm_dev->read_queue, false);