Home
last modified time | relevance | path

Searched refs:doorbell (Results 1 – 25 of 140) sorted by relevance

123456

/OK3568_Linux_fs/kernel/drivers/mailbox/
H A Darm_mhu_db.c56 unsigned int doorbell; member
61 unsigned int doorbell) in mhu_db_mbox_to_channel() argument
69 chan_info->doorbell == doorbell) in mhu_db_mbox_to_channel()
81 writel_relaxed(BIT(chan_info->doorbell), base + INTR_CLR_OFS); in mhu_db_mbox_clear_irq()
98 unsigned int doorbell; in mhu_db_mbox_irq_to_channel() local
109 for (doorbell = 0; bits; doorbell++) { in mhu_db_mbox_irq_to_channel()
110 if (!test_and_clear_bit(doorbell, &bits)) in mhu_db_mbox_irq_to_channel()
113 chan = mhu_db_mbox_to_channel(mbox, pchan, doorbell); in mhu_db_mbox_irq_to_channel()
118 pchan, doorbell); in mhu_db_mbox_irq_to_channel()
143 if (readl_relaxed(base + INTR_STAT_OFS) & BIT(chan_info->doorbell)) in mhu_db_last_tx_done()
[all …]
H A Dpcc.c327 struct acpi_generic_address *doorbell; in pcc_send_data() local
339 doorbell = &pcct_ss->doorbell_register; in pcc_send_data()
346 doorbell->bit_width); in pcc_send_data()
351 doorbell->bit_width); in pcc_send_data()
353 ret = acpi_read(&doorbell_val, doorbell); in pcc_send_data()
357 doorbell); in pcc_send_data()
/OK3568_Linux_fs/kernel/drivers/scsi/esas2r/
H A Desas2r_int.c48 static void esas2r_doorbell_interrupt(struct esas2r_adapter *a, u32 doorbell);
59 u32 doorbell; in esas2r_polled_interrupt() local
76 doorbell = esas2r_read_register_dword(a, MU_DOORBELL_OUT); in esas2r_polled_interrupt()
77 if (doorbell != 0) in esas2r_polled_interrupt()
78 esas2r_doorbell_interrupt(a, doorbell); in esas2r_polled_interrupt()
107 u32 doorbell; in esas2r_adapter_interrupt() local
118 doorbell = esas2r_read_register_dword(a, MU_DOORBELL_OUT); in esas2r_adapter_interrupt()
119 if (doorbell != 0) in esas2r_adapter_interrupt()
120 esas2r_doorbell_interrupt(a, doorbell); in esas2r_adapter_interrupt()
135 u32 doorbell; in esas2r_msi_interrupt() local
[all …]
H A Desas2r_init.c963 u32 doorbell; in esas2r_check_adapter() local
989 doorbell = esas2r_read_register_dword(a, MU_DOORBELL_OUT); in esas2r_check_adapter()
990 if (doorbell == 0xFFFFFFFF) { in esas2r_check_adapter()
998 } else if (doorbell & DRBL_FORCE_INT) { in esas2r_check_adapter()
999 u32 ver = (doorbell & DRBL_FW_VER_MSK); in esas2r_check_adapter()
1006 doorbell); in esas2r_check_adapter()
1041 doorbell = esas2r_read_register_dword(a, MU_DOORBELL_OUT); in esas2r_check_adapter()
1042 if (doorbell & DRBL_MSG_IFC_DOWN) { in esas2r_check_adapter()
1044 doorbell); in esas2r_check_adapter()
1130 doorbell = esas2r_read_register_dword(a, MU_DOORBELL_OUT); in esas2r_check_adapter()
[all …]
H A Desas2r_io.c679 u32 doorbell; in esas2r_handle_pending_reset() local
681 doorbell = esas2r_read_register_dword(a, MU_DOORBELL_OUT); in esas2r_handle_pending_reset()
682 if (doorbell == 0xFFFFFFFF || !(doorbell & DRBL_FORCE_INT)) { in esas2r_handle_pending_reset()
685 u32 ver = (doorbell & DRBL_FW_VER_MSK); in esas2r_handle_pending_reset()
689 doorbell); in esas2r_handle_pending_reset()
/OK3568_Linux_fs/kernel/drivers/gpu/drm/radeon/
H A Dradeon_device.c340 rdev->doorbell.base = pci_resource_start(rdev->pdev, 2); in radeon_doorbell_init()
341 rdev->doorbell.size = pci_resource_len(rdev->pdev, 2); in radeon_doorbell_init()
343 rdev->doorbell.num_doorbells = min_t(u32, rdev->doorbell.size / sizeof(u32), RADEON_MAX_DOORBELLS); in radeon_doorbell_init()
344 if (rdev->doorbell.num_doorbells == 0) in radeon_doorbell_init()
347 rdev->doorbell.ptr = ioremap(rdev->doorbell.base, rdev->doorbell.num_doorbells * sizeof(u32)); in radeon_doorbell_init()
348 if (rdev->doorbell.ptr == NULL) { in radeon_doorbell_init()
351 DRM_INFO("doorbell mmio base: 0x%08X\n", (uint32_t)rdev->doorbell.base); in radeon_doorbell_init()
352 DRM_INFO("doorbell mmio size: %u\n", (unsigned)rdev->doorbell.size); in radeon_doorbell_init()
354 memset(&rdev->doorbell.used, 0, sizeof(rdev->doorbell.used)); in radeon_doorbell_init()
368 iounmap(rdev->doorbell.ptr); in radeon_doorbell_fini()
[all …]
/OK3568_Linux_fs/kernel/drivers/cpufreq/
H A Dpcc-cpufreq.c97 static struct acpi_generic_address doorbell; variable
123 acpi_read(&doorbell_value, &doorbell); in pcc_cmd()
125 &doorbell); in pcc_cmd()
487 doorbell.space_id = reg_resource->space_id; in pcc_cpufreq_probe()
488 doorbell.bit_width = reg_resource->bit_width; in pcc_cpufreq_probe()
489 doorbell.bit_offset = reg_resource->bit_offset; in pcc_cpufreq_probe()
490 doorbell.access_width = 4; in pcc_cpufreq_probe()
491 doorbell.address = reg_resource->address; in pcc_cpufreq_probe()
495 doorbell.space_id, doorbell.bit_width, doorbell.bit_offset, in pcc_cpufreq_probe()
496 doorbell.access_width, reg_resource->address); in pcc_cpufreq_probe()
/OK3568_Linux_fs/kernel/Documentation/driver-api/
H A Dntb.rst7 fabric. Existing NTB hardware supports a common feature set: doorbell
138 The Ping Pong test client serves as a demonstration to exercise the doorbell
141 then proceeds to read and write the doorbell scratchpad registers of the NTB.
142 The peers interrupt each other using a bit mask of doorbell bits, which is
143 shifted by one in each round, to test the behavior of multiple doorbell bits
146 round before writing the peer doorbell register.
150 * unsafe - Some hardware has known issues with scratchpad and doorbell
154 * delay\_ms - Specify the delay between receiving a doorbell
155 interrupt event and setting the peer doorbell register for the next
157 * init\_db - Specify the doorbell bits to start new series of rounds. A new
[all …]
/OK3568_Linux_fs/kernel/include/linux/mlx4/
H A Dcq.h151 __be32 doorbell[2]; in mlx4_cq_arm() local
166 doorbell[0] = cpu_to_be32(sn << 28 | cmd | cq->cqn); in mlx4_cq_arm()
167 doorbell[1] = cpu_to_be32(ci); in mlx4_cq_arm()
169 mlx4_write64(doorbell, uar_page + MLX4_CQ_DOORBELL, doorbell_lock); in mlx4_cq_arm()
/OK3568_Linux_fs/kernel/include/linux/mlx5/
H A Dcq.h155 __be32 doorbell[2]; in mlx5_cq_arm() local
169 doorbell[0] = cpu_to_be32(sn << 28 | cmd | ci); in mlx5_cq_arm()
170 doorbell[1] = cpu_to_be32(cq->cqn); in mlx5_cq_arm()
172 mlx5_write64(doorbell, uar_page + MLX5_CQ_DOORBELL); in mlx5_cq_arm()
/OK3568_Linux_fs/kernel/arch/mips/include/asm/octeon/
H A Dcvmx-pko-defs.h797 uint64_t doorbell:20; member
809 uint64_t doorbell:20;
817 uint64_t doorbell:20; member
831 uint64_t doorbell:20;
843 uint64_t doorbell:20; member
857 uint64_t doorbell:20;
869 uint64_t doorbell:20; member
883 uint64_t doorbell:20;
906 uint64_t doorbell:20; member
916 uint64_t doorbell:20;
[all …]
H A Dcvmx-pko.h120 uint64_t doorbell; member
607 status->doorbell = debug9.cn38xx.doorbell; in cvmx_pko_get_port_status()
613 status->doorbell = debug8.cn50xx.doorbell; in cvmx_pko_get_port_status()
/OK3568_Linux_fs/kernel/include/trace/events/
H A Dufs.h226 u32 doorbell, int transfer_len, u32 intr, u64 lba,
229 TP_ARGS(dev_name, str, tag, doorbell, transfer_len,
236 __field(u32, doorbell)
248 __entry->doorbell = doorbell;
259 __entry->doorbell, __entry->transfer_len,
/OK3568_Linux_fs/kernel/drivers/usb/host/
H A Dxhci-trace.h556 TP_PROTO(u32 slot, u32 doorbell),
557 TP_ARGS(slot, doorbell),
560 __field(u32, doorbell)
565 __entry->doorbell = doorbell;
568 xhci_decode_doorbell(__get_str(str), __entry->slot, __entry->doorbell)
573 TP_PROTO(u32 slot, u32 doorbell),
574 TP_ARGS(slot, doorbell)
578 TP_PROTO(u32 slot, u32 doorbell),
579 TP_ARGS(slot, doorbell)
/OK3568_Linux_fs/kernel/drivers/irqchip/
H A Dirq-loongson-pch-msi.c20 phys_addr_t doorbell; member
79 msg->address_hi = upper_32_bits(priv->doorbell); in pch_msi_compose_msi_msg()
80 msg->address_lo = lower_32_bits(priv->doorbell); in pch_msi_compose_msi_msg()
212 priv->doorbell = res.start; in pch_msi_init()
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/powerpc/fsl/
H A Dsrio-rmu.txt23 and doorbell units.
33 (msg-unit, doorbell, port-write).
54 and doorbell units.
84 and doorbell units.
114 and doorbell units.
151 doorbell-unit@400 {
/OK3568_Linux_fs/kernel/drivers/virt/
H A Dfsl_hypervisor.c323 param.ret = ev_doorbell_send(param.doorbell); in ioctl_doorbell()
482 uint32_t doorbell; /* The doorbell handle */ member
489 static void fsl_hv_queue_doorbell(uint32_t doorbell) in fsl_hv_queue_doorbell() argument
499 dbq->q[dbq->tail] = doorbell; in fsl_hv_queue_doorbell()
557 fsl_hv_queue_doorbell(dbisr->doorbell); in fsl_hv_state_change_isr()
856 dbisr->doorbell = be32_to_cpup(handle); in fsl_hypervisor_init()
895 dbisr->doorbell); in fsl_hypervisor_init()
/OK3568_Linux_fs/kernel/drivers/net/wireless/ath/ath11k/
H A Dmhi.c22 .doorbell = MHI_DB_BRST_DISABLE,
37 .doorbell = MHI_DB_BRST_DISABLE,
52 .doorbell = MHI_DB_BRST_DISABLE,
67 .doorbell = MHI_DB_BRST_DISABLE,
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mailbox/
H A Dnvidia,tegra186-hsp.txt24 - "doorbell"
39 For doorbells, the second cell specifies the index of the doorbell to use.
65 interrupt-names = "doorbell";
/OK3568_Linux_fs/kernel/drivers/net/ethernet/mellanox/mlx5/core/lib/
H A Deq.h27 __be32 __iomem *doorbell; member
64 __be32 __iomem *addr = eq->doorbell + (arm ? 0 : 2); in eq_update_ci()
/OK3568_Linux_fs/kernel/arch/mips/cavium-octeon/executive/
H A Dcvmx-cmd-queue.c265 return debug9.cn38xx.doorbell; in cvmx_cmd_queue_length()
269 return debug8.cn50xx.doorbell; in cvmx_cmd_queue_length()
/OK3568_Linux_fs/u-boot/doc/device-tree-bindings/mailbox/
H A Dnvidia,tegra186-hsp.txt23 - "doorbell"
45 interrupt-names = "doorbell";
/OK3568_Linux_fs/kernel/drivers/infiniband/hw/hns/
H A Dhns_roce_hw_v1.c76 __le32 doorbell[2]; in hns_roce_v1_post_send() local
331 doorbell[0] = sq_db.u32_4; in hns_roce_v1_post_send()
332 doorbell[1] = sq_db.u32_8; in hns_roce_v1_post_send()
334 hns_roce_write64_k(doorbell, qp->sq.db_reg_l); in hns_roce_v1_post_send()
352 __le32 doorbell[2] = {0}; in hns_roce_v1_post_recv() local
428 doorbell[0] = rq_db.u32_4; in hns_roce_v1_post_recv()
429 doorbell[1] = rq_db.u32_8; in hns_roce_v1_post_recv()
431 hns_roce_write64_k(doorbell, hr_qp->rq.db_reg_l); in hns_roce_v1_post_recv()
1918 __le32 doorbell[2]; in hns_roce_v1_cq_set_ci() local
1920 doorbell[0] = cpu_to_le32(cons_index & ((hr_cq->cq_depth << 1) - 1)); in hns_roce_v1_cq_set_ci()
[all …]
/OK3568_Linux_fs/kernel/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_device.c504 if (index < adev->doorbell.num_doorbells) { in amdgpu_mm_rdoorbell()
505 return readl(adev->doorbell.ptr + index); in amdgpu_mm_rdoorbell()
527 if (index < adev->doorbell.num_doorbells) { in amdgpu_mm_wdoorbell()
528 writel(v, adev->doorbell.ptr + index); in amdgpu_mm_wdoorbell()
548 if (index < adev->doorbell.num_doorbells) { in amdgpu_mm_rdoorbell64()
549 return atomic64_read((atomic64_t *)(adev->doorbell.ptr + index)); in amdgpu_mm_rdoorbell64()
571 if (index < adev->doorbell.num_doorbells) { in amdgpu_mm_wdoorbell64()
572 atomic64_set((atomic64_t *)(adev->doorbell.ptr + index), v); in amdgpu_mm_wdoorbell64()
926 adev->doorbell.base = 0; in amdgpu_device_doorbell_init()
927 adev->doorbell.size = 0; in amdgpu_device_doorbell_init()
[all …]
H A Damdgpu_amdkfd.c101 if (adev->doorbell.size > adev->doorbell.num_doorbells * sizeof(u32)) { in amdgpu_doorbell_get_kfd_info()
102 *aperture_base = adev->doorbell.base; in amdgpu_doorbell_get_kfd_info()
103 *aperture_size = adev->doorbell.size; in amdgpu_doorbell_get_kfd_info()
104 *start_offset = adev->doorbell.num_doorbells * sizeof(u32); in amdgpu_doorbell_get_kfd_info()

123456