| /Linux-v5.4/drivers/scsi/esas2r/ |
| D | esas2r_int.c | 48 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 …]
|
| D | esas2r_init.c | 963 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 …]
|
| D | esas2r_io.c | 679 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()
|
| /Linux-v5.4/drivers/misc/mic/card/ |
| D | mic_x100.c | 48 void mic_send_intr(struct mic_device *mdev, int doorbell) in mic_send_intr() argument 52 if (doorbell > MIC_X100_MAX_DOORBELL_IDX) in mic_send_intr() 58 (MIC_X100_SBOX_SDBIC0 + (4 * doorbell))); in mic_send_intr() 64 static void mic_x100_send_sbox_intr(struct mic_mw *mw, int doorbell) in mic_x100_send_sbox_intr() argument 66 u64 apic_icr_offset = MIC_X100_SBOX_APICICR0 + doorbell * 8; in mic_x100_send_sbox_intr() 83 static void mic_x100_send_rdmasr_intr(struct mic_mw *mw, int doorbell) in mic_x100_send_rdmasr_intr() argument 85 int rdmasr_offset = MIC_X100_SBOX_RDMASR0 + (doorbell << 2); in mic_x100_send_rdmasr_intr()
|
| D | mic_device.h | 125 void mic_send_intr(struct mic_device *mdev, int doorbell); 126 void mic_send_p2p_intr(int doorbell, struct mic_mw *mw);
|
| /Linux-v5.4/drivers/gpu/drm/radeon/ |
| D | radeon_device.c | 340 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 …]
|
| /Linux-v5.4/drivers/cpufreq/ |
| D | pcc-cpufreq.c | 97 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()
|
| /Linux-v5.4/include/linux/mlx4/ |
| D | cq.h | 146 __be32 doorbell[2]; in mlx4_cq_arm() local 161 doorbell[0] = cpu_to_be32(sn << 28 | cmd | cq->cqn); in mlx4_cq_arm() 162 doorbell[1] = cpu_to_be32(ci); in mlx4_cq_arm() 164 mlx4_write64(doorbell, uar_page + MLX4_CQ_DOORBELL, doorbell_lock); in mlx4_cq_arm()
|
| /Linux-v5.4/Documentation/driver-api/ |
| D | ntb.rst | 7 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 …]
|
| /Linux-v5.4/drivers/misc/mic/host/ |
| D | mic_x100.c | 117 int doorbell) in mic_x100_send_sbox_intr() argument 120 u64 apic_icr_offset = MIC_X100_SBOX_APICICR0 + doorbell * 8; in mic_x100_send_sbox_intr() 138 int doorbell) in mic_x100_send_rdmasr_intr() argument 140 int rdmasr_offset = MIC_X100_SBOX_RDMASR0 + (doorbell << 2); in mic_x100_send_rdmasr_intr() 152 static void mic_x100_send_intr(struct mic_device *mdev, int doorbell) in mic_x100_send_intr() argument 155 if (doorbell < MIC_X100_NUM_SBOX_IRQ) { in mic_x100_send_intr() 156 mic_x100_send_sbox_intr(mdev, doorbell); in mic_x100_send_intr() 158 rdmasr_db = doorbell - MIC_X100_NUM_SBOX_IRQ; in mic_x100_send_intr()
|
| /Linux-v5.4/include/linux/mlx5/ |
| D | cq.h | 156 __be32 doorbell[2]; in mlx5_cq_arm() local 170 doorbell[0] = cpu_to_be32(sn << 28 | cmd | ci); in mlx5_cq_arm() 171 doorbell[1] = cpu_to_be32(cq->cqn); in mlx5_cq_arm() 173 mlx5_write64(doorbell, uar_page + MLX5_CQ_DOORBELL); in mlx5_cq_arm()
|
| /Linux-v5.4/include/trace/events/ |
| D | ufs.h | 217 u32 doorbell, int transfer_len, u32 intr, u64 lba, 220 TP_ARGS(dev_name, str, tag, doorbell, transfer_len, intr, lba, opcode), 226 __field(u32, doorbell) 237 __entry->doorbell = doorbell; 247 __entry->doorbell, __entry->transfer_len,
|
| /Linux-v5.4/drivers/mailbox/ |
| D | pcc.c | 327 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()
|
| /Linux-v5.4/arch/mips/include/asm/octeon/ |
| D | cvmx-pko.h | 121 uint64_t doorbell; member 608 status->doorbell = debug9.cn38xx.doorbell; in cvmx_pko_get_port_status() 614 status->doorbell = debug8.cn50xx.doorbell; in cvmx_pko_get_port_status()
|
| D | cvmx-pko-defs.h | 797 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 …]
|
| /Linux-v5.4/Documentation/devicetree/bindings/powerpc/fsl/ |
| D | srio-rmu.txt | 23 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 {
|
| /Linux-v5.4/drivers/virt/ |
| D | fsl_hypervisor.c | 324 param.ret = ev_doorbell_send(param.doorbell); in ioctl_doorbell() 483 uint32_t doorbell; /* The doorbell handle */ member 490 static void fsl_hv_queue_doorbell(uint32_t doorbell) in fsl_hv_queue_doorbell() argument 500 dbq->q[dbq->tail] = doorbell; in fsl_hv_queue_doorbell() 558 fsl_hv_queue_doorbell(dbisr->doorbell); in fsl_hv_state_change_isr() 857 dbisr->doorbell = be32_to_cpup(handle); in fsl_hypervisor_init() 896 dbisr->doorbell); in fsl_hypervisor_init()
|
| /Linux-v5.4/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
| D | eq.h | 27 __be32 __iomem *doorbell; member 64 __be32 __iomem *addr = eq->doorbell + (arm ? 0 : 2); in eq_update_ci()
|
| /Linux-v5.4/Documentation/devicetree/bindings/mailbox/ |
| D | nvidia,tegra186-hsp.txt | 24 - "doorbell" 39 For doorbells, the second cell specifies the index of the doorbell to use. 65 interrupt-names = "doorbell";
|
| D | fsl,mu.txt | 39 2 - TX doorbell channel. Without own register and no ACK support. 40 3 - RX doorbell channel.
|
| /Linux-v5.4/arch/mips/cavium-octeon/executive/ |
| D | cvmx-cmd-queue.c | 265 return debug9.cn38xx.doorbell; in cvmx_cmd_queue_length() 269 return debug8.cn50xx.doorbell; in cvmx_cmd_queue_length()
|
| /Linux-v5.4/drivers/gpu/drm/amd/amdgpu/ |
| D | amdgpu_device.c | 324 if (index < adev->doorbell.num_doorbells) { in amdgpu_mm_rdoorbell() 325 return readl(adev->doorbell.ptr + index); in amdgpu_mm_rdoorbell() 344 if (index < adev->doorbell.num_doorbells) { in amdgpu_mm_wdoorbell() 345 writel(v, adev->doorbell.ptr + index); in amdgpu_mm_wdoorbell() 362 if (index < adev->doorbell.num_doorbells) { in amdgpu_mm_rdoorbell64() 363 return atomic64_read((atomic64_t *)(adev->doorbell.ptr + index)); in amdgpu_mm_rdoorbell64() 382 if (index < adev->doorbell.num_doorbells) { in amdgpu_mm_wdoorbell64() 383 atomic64_set((atomic64_t *)(adev->doorbell.ptr + index), v); in amdgpu_mm_wdoorbell64() 594 adev->doorbell.base = 0; in amdgpu_device_doorbell_init() 595 adev->doorbell.size = 0; in amdgpu_device_doorbell_init() [all …]
|
| /Linux-v5.4/drivers/gpu/drm/nouveau/nvif/ |
| D | userc361.c | 32 .doorbell = nvif_userc361_doorbell,
|
| /Linux-v5.4/drivers/gpu/drm/nouveau/include/nvif/ |
| D | user.h | 12 void (*doorbell)(struct nvif_user *, u32 token); member
|
| /Linux-v5.4/drivers/infiniband/hw/mlx4/ |
| D | Makefile | 4 mlx4_ib-y := ah.o cq.o doorbell.o mad.o main.o mr.o qp.o srq.o mcg.o cm.o alias_GUID.o sysfs.o
|