Lines Matching refs:vendor
114 unsigned long stop = jiffies + chip->vendor.timeout_a; in wait_startup()
116 if (ioread8(chip->vendor.iobase + TPM_ACCESS(l)) & in wait_startup()
126 if ((ioread8(chip->vendor.iobase + TPM_ACCESS(l)) & in check_locality()
129 return chip->vendor.locality = l; in check_locality()
136 if (force || (ioread8(chip->vendor.iobase + TPM_ACCESS(l)) & in release_locality()
140 chip->vendor.iobase + TPM_ACCESS(l)); in release_locality()
152 chip->vendor.iobase + TPM_ACCESS(l)); in request_locality()
154 stop = jiffies + chip->vendor.timeout_a; in request_locality()
156 if (chip->vendor.irq) { in request_locality()
161 rc = wait_event_interruptible_timeout(chip->vendor.int_queue, in request_locality()
185 return ioread8(chip->vendor.iobase + in tpm_tis_status()
186 TPM_STS(chip->vendor.locality)); in tpm_tis_status()
193 chip->vendor.iobase + TPM_STS(chip->vendor.locality)); in tpm_tis_ready()
203 stop = jiffies + chip->vendor.timeout_d; in get_burstcount()
205 burstcnt = ioread8(chip->vendor.iobase + in get_burstcount()
206 TPM_STS(chip->vendor.locality) + 1); in get_burstcount()
207 burstcnt += ioread8(chip->vendor.iobase + in get_burstcount()
208 TPM_STS(chip->vendor.locality) + in get_burstcount()
223 chip->vendor.timeout_c, in recv_data()
224 &chip->vendor.read_queue, true) in recv_data()
228 buf[size++] = ioread8(chip->vendor.iobase + in recv_data()
229 TPM_DATA_FIFO(chip->vendor. in recv_data()
266 wait_for_tpm_stat(chip, TPM_STS_VALID, chip->vendor.timeout_c, in tpm_tis_recv()
267 &chip->vendor.int_queue, false); in tpm_tis_recv()
277 release_locality(chip, chip->vendor.locality, 0); in tpm_tis_recv()
302 (chip, TPM_STS_COMMAND_READY, chip->vendor.timeout_b, in tpm_tis_send_data()
303 &chip->vendor.int_queue, false) < 0) { in tpm_tis_send_data()
312 iowrite8(buf[count], chip->vendor.iobase + in tpm_tis_send_data()
313 TPM_DATA_FIFO(chip->vendor.locality)); in tpm_tis_send_data()
317 wait_for_tpm_stat(chip, TPM_STS_VALID, chip->vendor.timeout_c, in tpm_tis_send_data()
318 &chip->vendor.int_queue, false); in tpm_tis_send_data()
328 chip->vendor.iobase + TPM_DATA_FIFO(chip->vendor.locality)); in tpm_tis_send_data()
329 wait_for_tpm_stat(chip, TPM_STS_VALID, chip->vendor.timeout_c, in tpm_tis_send_data()
330 &chip->vendor.int_queue, false); in tpm_tis_send_data()
341 release_locality(chip, chip->vendor.locality, 0); in tpm_tis_send_data()
350 ioread32(chip->vendor.iobase + in disable_interrupts()
351 TPM_INT_ENABLE(chip->vendor.locality)); in disable_interrupts()
354 chip->vendor.iobase + in disable_interrupts()
355 TPM_INT_ENABLE(chip->vendor.locality)); in disable_interrupts()
356 free_irq(chip->vendor.irq, chip); in disable_interrupts()
357 chip->vendor.irq = 0; in disable_interrupts()
376 chip->vendor.iobase + TPM_STS(chip->vendor.locality)); in tpm_tis_send_main()
378 if (chip->vendor.irq) { in tpm_tis_send_main()
383 &chip->vendor.read_queue, false) < 0) { in tpm_tis_send_main()
391 release_locality(chip, chip->vendor.locality, 0); in tpm_tis_send_main()
398 struct priv_data *priv = chip->vendor.priv; in tpm_tis_send()
400 if (!chip->vendor.irq || priv->irq_tested) in tpm_tis_send()
404 irq = chip->vendor.irq; in tpm_tis_send()
405 chip->vendor.irq = 0; in tpm_tis_send()
407 chip->vendor.irq = irq; in tpm_tis_send()
436 did_vid = ioread32(chip->vendor.iobase + TPM_DID_VID(0)); in tpm_tis_update_timeouts()
463 u16 vendor = ioread16(chip->vendor.iobase + TPM_DID_VID(0)); in probe_itpm() local
466 if (vendor != TPM_VID_INTEL) in probe_itpm()
476 release_locality(chip, chip->vendor.locality, 0); in probe_itpm()
490 release_locality(chip, chip->vendor.locality, 0); in probe_itpm()
497 switch (chip->vendor.manufacturer_id) { in tpm_tis_req_canceled()
524 interrupt = ioread32(chip->vendor.iobase + in tis_int_probe()
525 TPM_INT_STATUS(chip->vendor.locality)); in tis_int_probe()
530 chip->vendor.probed_irq = irq; in tis_int_probe()
534 chip->vendor.iobase + in tis_int_probe()
535 TPM_INT_STATUS(chip->vendor.locality)); in tis_int_probe()
545 interrupt = ioread32(chip->vendor.iobase + in tis_int_handler()
546 TPM_INT_STATUS(chip->vendor.locality)); in tis_int_handler()
551 ((struct priv_data *)chip->vendor.priv)->irq_tested = true; in tis_int_handler()
553 wake_up_interruptible(&chip->vendor.read_queue); in tis_int_handler()
561 wake_up_interruptible(&chip->vendor.int_queue); in tis_int_handler()
565 chip->vendor.iobase + in tis_int_handler()
566 TPM_INT_STATUS(chip->vendor.locality)); in tis_int_handler()
567 ioread32(chip->vendor.iobase + TPM_INT_STATUS(chip->vendor.locality)); in tis_int_handler()
578 u32 vendor, intfcaps, intmask; in tpm_tis_init() local
588 chip->vendor.priv = priv; in tpm_tis_init()
590 chip->vendor.iobase = ioremap(start, len); in tpm_tis_init()
591 if (!chip->vendor.iobase) { in tpm_tis_init()
597 chip->vendor.timeout_a = msecs_to_jiffies(TIS_SHORT_TIMEOUT); in tpm_tis_init()
598 chip->vendor.timeout_b = msecs_to_jiffies(TIS_LONG_TIMEOUT); in tpm_tis_init()
599 chip->vendor.timeout_c = msecs_to_jiffies(TIS_SHORT_TIMEOUT); in tpm_tis_init()
600 chip->vendor.timeout_d = msecs_to_jiffies(TIS_SHORT_TIMEOUT); in tpm_tis_init()
612 vendor = ioread32(chip->vendor.iobase + TPM_DID_VID(0)); in tpm_tis_init()
613 chip->vendor.manufacturer_id = vendor; in tpm_tis_init()
617 vendor >> 16, ioread8(chip->vendor.iobase + TPM_RID(0))); in tpm_tis_init()
634 ioread32(chip->vendor.iobase + in tpm_tis_init()
635 TPM_INTF_CAPS(chip->vendor.locality)); in tpm_tis_init()
658 init_waitqueue_head(&chip->vendor.read_queue); in tpm_tis_init()
659 init_waitqueue_head(&chip->vendor.int_queue); in tpm_tis_init()
662 ioread32(chip->vendor.iobase + in tpm_tis_init()
663 TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_init()
670 chip->vendor.iobase + in tpm_tis_init()
671 TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_init()
673 chip->vendor.irq = irq; in tpm_tis_init()
674 if (interrupts && !chip->vendor.irq) { in tpm_tis_init()
676 ioread8(chip->vendor.iobase + in tpm_tis_init()
677 TPM_INT_VECTOR(chip->vendor.locality)); in tpm_tis_init()
685 for (i = irq_s; i <= irq_e && chip->vendor.irq == 0; i++) { in tpm_tis_init()
686 iowrite8(i, chip->vendor.iobase + in tpm_tis_init()
687 TPM_INT_VECTOR(chip->vendor.locality)); in tpm_tis_init()
690 chip->vendor.miscdev.name, chip) != 0) { in tpm_tis_init()
699 (chip->vendor.iobase + in tpm_tis_init()
700 TPM_INT_STATUS(chip->vendor.locality)), in tpm_tis_init()
701 chip->vendor.iobase + in tpm_tis_init()
702 TPM_INT_STATUS(chip->vendor.locality)); in tpm_tis_init()
706 chip->vendor.iobase + in tpm_tis_init()
707 TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_init()
709 chip->vendor.probed_irq = 0; in tpm_tis_init()
714 chip->vendor.irq = chip->vendor.probed_irq; in tpm_tis_init()
720 (chip->vendor.iobase + in tpm_tis_init()
721 TPM_INT_STATUS(chip->vendor.locality)), in tpm_tis_init()
722 chip->vendor.iobase + in tpm_tis_init()
723 TPM_INT_STATUS(chip->vendor.locality)); in tpm_tis_init()
727 chip->vendor.iobase + in tpm_tis_init()
728 TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_init()
732 if (chip->vendor.irq) { in tpm_tis_init()
733 iowrite8(chip->vendor.irq, in tpm_tis_init()
734 chip->vendor.iobase + in tpm_tis_init()
735 TPM_INT_VECTOR(chip->vendor.locality)); in tpm_tis_init()
737 (chip->vendor.irq, tis_int_handler, IRQF_SHARED, in tpm_tis_init()
738 chip->vendor.miscdev.name, chip) != 0) { in tpm_tis_init()
741 chip->vendor.irq); in tpm_tis_init()
742 chip->vendor.irq = 0; in tpm_tis_init()
746 (chip->vendor.iobase + in tpm_tis_init()
747 TPM_INT_STATUS(chip->vendor.locality)), in tpm_tis_init()
748 chip->vendor.iobase + in tpm_tis_init()
749 TPM_INT_STATUS(chip->vendor.locality)); in tpm_tis_init()
753 chip->vendor.iobase + in tpm_tis_init()
754 TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_init()
770 INIT_LIST_HEAD(&chip->vendor.list); in tpm_tis_init()
772 list_add(&chip->vendor.list, &tis_chips); in tpm_tis_init()
778 if (chip->vendor.iobase) in tpm_tis_init()
779 iounmap(chip->vendor.iobase); in tpm_tis_init()
791 iowrite8(chip->vendor.irq, chip->vendor.iobase + in tpm_tis_reenable_interrupts()
792 TPM_INT_VECTOR(chip->vendor.locality)); in tpm_tis_reenable_interrupts()
795 ioread32(chip->vendor.iobase + in tpm_tis_reenable_interrupts()
796 TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_reenable_interrupts()
803 chip->vendor.iobase + TPM_INT_ENABLE(chip->vendor.locality)); in tpm_tis_reenable_interrupts()
811 if (chip->vendor.irq) in tpm_tis_resume()
934 ioread32(chip->vendor.iobase + in cleanup_tis()
935 TPM_INT_ENABLE(chip->vendor. in cleanup_tis()
937 chip->vendor.iobase + in cleanup_tis()
938 TPM_INT_ENABLE(chip->vendor.locality)); in cleanup_tis()
939 release_locality(chip, chip->vendor.locality, 1); in cleanup_tis()
940 if (chip->vendor.irq) in cleanup_tis()
941 free_irq(chip->vendor.irq, chip); in cleanup_tis()