Lines Matching refs:vendor

162 	unsigned long stop = jiffies + chip->vendor.timeout_a;  in wait_startup()
164 if (ioread8(chip->vendor.iobase + TPM_ACCESS(l)) & in wait_startup()
174 if ((ioread8(chip->vendor.iobase + TPM_ACCESS(l)) & in check_locality()
177 return chip->vendor.locality = l; in check_locality()
184 if (force || (ioread8(chip->vendor.iobase + TPM_ACCESS(l)) & in release_locality()
188 chip->vendor.iobase + TPM_ACCESS(l)); in release_locality()
200 chip->vendor.iobase + TPM_ACCESS(l)); in request_locality()
202 stop = jiffies + chip->vendor.timeout_a; in request_locality()
204 if (chip->vendor.irq) { in request_locality()
209 rc = wait_event_interruptible_timeout(chip->vendor.int_queue, in request_locality()
233 return ioread8(chip->vendor.iobase + in tpm_tis_status()
234 TPM_STS(chip->vendor.locality)); in tpm_tis_status()
241 chip->vendor.iobase + TPM_STS(chip->vendor.locality)); in tpm_tis_ready()
251 stop = jiffies + chip->vendor.timeout_d; in get_burstcount()
253 burstcnt = ioread8(chip->vendor.iobase + in get_burstcount()
254 TPM_STS(chip->vendor.locality) + 1); in get_burstcount()
255 burstcnt += ioread8(chip->vendor.iobase + in get_burstcount()
256 TPM_STS(chip->vendor.locality) + in get_burstcount()
271 chip->vendor.timeout_c, in recv_data()
272 &chip->vendor.read_queue, true) in recv_data()
276 buf[size++] = ioread8(chip->vendor.iobase + in recv_data()
277 TPM_DATA_FIFO(chip->vendor. in recv_data()
314 wait_for_tpm_stat(chip, TPM_STS_VALID, chip->vendor.timeout_c, in tpm_tis_recv()
315 &chip->vendor.int_queue, false); in tpm_tis_recv()
325 release_locality(chip, chip->vendor.locality, 0); in tpm_tis_recv()
350 (chip, TPM_STS_COMMAND_READY, chip->vendor.timeout_b, in tpm_tis_send_data()
351 &chip->vendor.int_queue, false) < 0) { in tpm_tis_send_data()
360 iowrite8(buf[count], chip->vendor.iobase + in tpm_tis_send_data()
361 TPM_DATA_FIFO(chip->vendor.locality)); in tpm_tis_send_data()
365 wait_for_tpm_stat(chip, TPM_STS_VALID, chip->vendor.timeout_c, in tpm_tis_send_data()
366 &chip->vendor.int_queue, false); in tpm_tis_send_data()
376 chip->vendor.iobase + TPM_DATA_FIFO(chip->vendor.locality)); in tpm_tis_send_data()
377 wait_for_tpm_stat(chip, TPM_STS_VALID, chip->vendor.timeout_c, in tpm_tis_send_data()
378 &chip->vendor.int_queue, false); in tpm_tis_send_data()
389 release_locality(chip, chip->vendor.locality, 0); in tpm_tis_send_data()
398 ioread32(chip->vendor.iobase + in disable_interrupts()
399 TPM_INT_ENABLE(chip->vendor.locality)); in disable_interrupts()
402 chip->vendor.iobase + in disable_interrupts()
403 TPM_INT_ENABLE(chip->vendor.locality)); in disable_interrupts()
404 free_irq(chip->vendor.irq, chip); in disable_interrupts()
405 chip->vendor.irq = 0; in disable_interrupts()
425 chip->vendor.iobase + TPM_STS(chip->vendor.locality)); in tpm_tis_send_main()
427 if (chip->vendor.irq) { in tpm_tis_send_main()
437 &chip->vendor.read_queue, false) < 0) { in tpm_tis_send_main()
445 release_locality(chip, chip->vendor.locality, 0); in tpm_tis_send_main()
452 struct priv_data *priv = chip->vendor.priv; in tpm_tis_send()
454 if (!chip->vendor.irq || priv->irq_tested) in tpm_tis_send()
458 irq = chip->vendor.irq; in tpm_tis_send()
459 chip->vendor.irq = 0; in tpm_tis_send()
461 chip->vendor.irq = irq; in tpm_tis_send()
490 did_vid = ioread32(chip->vendor.iobase + TPM_DID_VID(0)); in tpm_tis_update_timeouts()
517 u16 vendor = ioread16(chip->vendor.iobase + TPM_DID_VID(0)); in probe_itpm() local
520 if (vendor != TPM_VID_INTEL) in probe_itpm()
530 release_locality(chip, chip->vendor.locality, 0); in probe_itpm()
544 release_locality(chip, chip->vendor.locality, 0); in probe_itpm()
551 switch (chip->vendor.manufacturer_id) { in tpm_tis_req_canceled()
578 interrupt = ioread32(chip->vendor.iobase + in tis_int_probe()
579 TPM_INT_STATUS(chip->vendor.locality)); in tis_int_probe()
584 chip->vendor.probed_irq = irq; in tis_int_probe()
588 chip->vendor.iobase + in tis_int_probe()
589 TPM_INT_STATUS(chip->vendor.locality)); in tis_int_probe()
599 interrupt = ioread32(chip->vendor.iobase + in tis_int_handler()
600 TPM_INT_STATUS(chip->vendor.locality)); in tis_int_handler()
605 ((struct priv_data *)chip->vendor.priv)->irq_tested = true; in tis_int_handler()
607 wake_up_interruptible(&chip->vendor.read_queue); in tis_int_handler()
615 wake_up_interruptible(&chip->vendor.int_queue); in tis_int_handler()
619 chip->vendor.iobase + in tis_int_handler()
620 TPM_INT_STATUS(chip->vendor.locality)); in tis_int_handler()
621 ioread32(chip->vendor.iobase + TPM_INT_STATUS(chip->vendor.locality)); in tis_int_handler()
635 ioread32(chip->vendor.iobase + in tpm_tis_remove()
636 TPM_INT_ENABLE(chip->vendor. in tpm_tis_remove()
638 chip->vendor.iobase + in tpm_tis_remove()
639 TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_remove()
640 release_locality(chip, chip->vendor.locality, 1); in tpm_tis_remove()
646 u32 vendor, intfcaps, intmask; in tpm_tis_init() local
660 chip->vendor.priv = priv; in tpm_tis_init()
665 chip->vendor.iobase = devm_ioremap(dev, tpm_info->start, tpm_info->len); in tpm_tis_init()
666 if (!chip->vendor.iobase) in tpm_tis_init()
670 chip->vendor.timeout_a = TIS_TIMEOUT_A_MAX; in tpm_tis_init()
671 chip->vendor.timeout_b = TIS_TIMEOUT_B_MAX; in tpm_tis_init()
672 chip->vendor.timeout_c = TIS_TIMEOUT_C_MAX; in tpm_tis_init()
673 chip->vendor.timeout_d = TIS_TIMEOUT_D_MAX; in tpm_tis_init()
689 vendor = ioread32(chip->vendor.iobase + TPM_DID_VID(0)); in tpm_tis_init()
690 chip->vendor.manufacturer_id = vendor; in tpm_tis_init()
694 vendor >> 16, ioread8(chip->vendor.iobase + TPM_RID(0))); in tpm_tis_init()
711 ioread32(chip->vendor.iobase + in tpm_tis_init()
712 TPM_INTF_CAPS(chip->vendor.locality)); in tpm_tis_init()
735 init_waitqueue_head(&chip->vendor.read_queue); in tpm_tis_init()
736 init_waitqueue_head(&chip->vendor.int_queue); in tpm_tis_init()
739 ioread32(chip->vendor.iobase + in tpm_tis_init()
740 TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_init()
747 chip->vendor.iobase + in tpm_tis_init()
748 TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_init()
750 chip->vendor.irq = tpm_info->irq; in tpm_tis_init()
751 if (interrupts && !chip->vendor.irq) { in tpm_tis_init()
753 ioread8(chip->vendor.iobase + in tpm_tis_init()
754 TPM_INT_VECTOR(chip->vendor.locality)); in tpm_tis_init()
763 for (i = irq_s; i <= irq_e && chip->vendor.irq == 0; i++) { in tpm_tis_init()
764 iowrite8(i, chip->vendor.iobase + in tpm_tis_init()
765 TPM_INT_VECTOR(chip->vendor.locality)); in tpm_tis_init()
777 (chip->vendor.iobase + in tpm_tis_init()
778 TPM_INT_STATUS(chip->vendor.locality)), in tpm_tis_init()
779 chip->vendor.iobase + in tpm_tis_init()
780 TPM_INT_STATUS(chip->vendor.locality)); in tpm_tis_init()
784 chip->vendor.iobase + in tpm_tis_init()
785 TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_init()
787 chip->vendor.probed_irq = 0; in tpm_tis_init()
795 chip->vendor.irq = chip->vendor.probed_irq; in tpm_tis_init()
801 (chip->vendor.iobase + in tpm_tis_init()
802 TPM_INT_STATUS(chip->vendor.locality)), in tpm_tis_init()
803 chip->vendor.iobase + in tpm_tis_init()
804 TPM_INT_STATUS(chip->vendor.locality)); in tpm_tis_init()
808 chip->vendor.iobase + in tpm_tis_init()
809 TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_init()
814 if (chip->vendor.irq) { in tpm_tis_init()
815 iowrite8(chip->vendor.irq, in tpm_tis_init()
816 chip->vendor.iobase + in tpm_tis_init()
817 TPM_INT_VECTOR(chip->vendor.locality)); in tpm_tis_init()
819 (dev, chip->vendor.irq, tis_int_handler, IRQF_SHARED, in tpm_tis_init()
823 chip->vendor.irq); in tpm_tis_init()
824 chip->vendor.irq = 0; in tpm_tis_init()
828 (chip->vendor.iobase + in tpm_tis_init()
829 TPM_INT_STATUS(chip->vendor.locality)), in tpm_tis_init()
830 chip->vendor.iobase + in tpm_tis_init()
831 TPM_INT_STATUS(chip->vendor.locality)); in tpm_tis_init()
835 chip->vendor.iobase + in tpm_tis_init()
836 TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_init()
839 iowrite8(irq_r, chip->vendor.iobase + in tpm_tis_init()
840 TPM_INT_VECTOR(chip->vendor.locality)); in tpm_tis_init()
843 chip->vendor.timeout_a = msecs_to_jiffies(TPM2_TIMEOUT_A); in tpm_tis_init()
844 chip->vendor.timeout_b = msecs_to_jiffies(TPM2_TIMEOUT_B); in tpm_tis_init()
845 chip->vendor.timeout_c = msecs_to_jiffies(TPM2_TIMEOUT_C); in tpm_tis_init()
846 chip->vendor.timeout_d = msecs_to_jiffies(TPM2_TIMEOUT_D); in tpm_tis_init()
847 chip->vendor.duration[TPM_SHORT] = in tpm_tis_init()
849 chip->vendor.duration[TPM_MEDIUM] = in tpm_tis_init()
851 chip->vendor.duration[TPM_LONG] = in tpm_tis_init()
895 iowrite8(chip->vendor.irq, chip->vendor.iobase + in tpm_tis_reenable_interrupts()
896 TPM_INT_VECTOR(chip->vendor.locality)); in tpm_tis_reenable_interrupts()
899 ioread32(chip->vendor.iobase + in tpm_tis_reenable_interrupts()
900 TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_reenable_interrupts()
907 chip->vendor.iobase + TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_reenable_interrupts()
915 if (chip->vendor.irq) in tpm_tis_resume()