| /linux/drivers/gpu/drm/amd/amdgpu/ |
| A D | amdgpu_doorbell_mgr.c | 41 if (index < adev->doorbell.num_kernel_doorbells) in amdgpu_mm_rdoorbell() 42 return readl(adev->doorbell.cpu_addr + index); in amdgpu_mm_rdoorbell() 64 writel(v, adev->doorbell.cpu_addr + index); in amdgpu_mm_wdoorbell() 151 if (adev->doorbell.num_kernel_doorbells == 0) in amdgpu_doorbell_create_kernel_doorbells() 165 &adev->doorbell.kernel_doorbells, in amdgpu_doorbell_create_kernel_doorbells() 167 (void **)&adev->doorbell.cpu_addr); in amdgpu_doorbell_create_kernel_doorbells() 193 adev->doorbell.base = 0; in amdgpu_doorbell_init() 194 adev->doorbell.size = 0; in amdgpu_doorbell_init() 195 adev->doorbell.num_kernel_doorbells = 0; in amdgpu_doorbell_init() 208 adev->doorbell.num_kernel_doorbells = in amdgpu_doorbell_init() [all …]
|
| /linux/drivers/mailbox/ |
| A D | arm_mhu_db.c | 55 unsigned int doorbell; member 60 unsigned int doorbell) in mhu_db_mbox_to_channel() argument 68 chan_info->doorbell == doorbell) in mhu_db_mbox_to_channel() 97 unsigned int doorbell; in mhu_db_mbox_irq_to_channel() local 108 for (doorbell = 0; bits; doorbell++) { in mhu_db_mbox_irq_to_channel() 117 pchan, doorbell); in mhu_db_mbox_irq_to_channel() 193 unsigned int doorbell = spec->args[1]; in mhu_db_mbox_xlate() local 200 pchan, doorbell); in mhu_db_mbox_xlate() 208 pchan, doorbell); in mhu_db_mbox_xlate() 230 chan_info->doorbell = doorbell; in mhu_db_mbox_xlate() [all …]
|
| A D | arm_mhuv3.c | 290 u32 doorbell; member 418 writel_relaxed(BIT(priv->doorbell), &mhu->mbx->dbcw[priv->ch_idx].clr); in mhuv3_doorbell_rx_complete() 428 BIT(priv->doorbell)); in mhuv3_doorbell_last_tx_done() 435 e->pending_db[priv->ch_idx] &= ~BIT(priv->doorbell); in mhuv3_doorbell_last_tx_done() 450 if (e->pending_db[priv->ch_idx] & BIT(priv->doorbell)) in mhuv3_doorbell_send_data() 453 e->pending_db[priv->ch_idx] |= BIT(priv->doorbell); in mhuv3_doorbell_send_data() 556 unsigned int doorbell) in mhuv3_dbe_mbox_of_xlate() argument 562 if (channel >= e->num_chans || doorbell >= MHUV3_FLAG_BITS) { in mhuv3_dbe_mbox_of_xlate() 564 channel, doorbell); in mhuv3_dbe_mbox_of_xlate() 568 return &chans[e->base_ch_idx + channel * MHUV3_FLAG_BITS + doorbell]; in mhuv3_dbe_mbox_of_xlate() [all …]
|
| A D | arm_mhuv2.c | 235 u32 doorbell; member 265 writel_relaxed(BIT(priv->doorbell), in mhuv2_doorbell_rx_startup() 275 writel_relaxed(BIT(priv->doorbell), in mhuv2_doorbell_rx_shutdown() 283 writel_relaxed(BIT(priv->doorbell), in mhuv2_doorbell_read_data() 294 BIT(priv->doorbell)); in mhuv2_doorbell_last_tx_done() 306 writel_relaxed(BIT(priv->doorbell), in mhuv2_doorbell_send_data() 803 doorbell = pa->args[1]; in mhuv2_mbox_of_xlate() 804 if (doorbell >= MHUV2_STAT_BITS) in mhuv2_mbox_of_xlate() 819 if (doorbell) in mhuv2_mbox_of_xlate() 832 pa->args[0], doorbell); in mhuv2_mbox_of_xlate() [all …]
|
| /linux/drivers/accel/qaic/ |
| A D | mhi_controller.c | 33 .doorbell = MHI_DB_BRST_DISABLE, 49 .doorbell = MHI_DB_BRST_DISABLE, 65 .doorbell = MHI_DB_BRST_DISABLE, 81 .doorbell = MHI_DB_BRST_DISABLE, 97 .doorbell = MHI_DB_BRST_DISABLE, 113 .doorbell = MHI_DB_BRST_DISABLE, 129 .doorbell = MHI_DB_BRST_DISABLE, 145 .doorbell = MHI_DB_BRST_DISABLE, 161 .doorbell = MHI_DB_BRST_DISABLE, 177 .doorbell = MHI_DB_BRST_DISABLE, [all …]
|
| /linux/drivers/fpga/ |
| A D | intel-m10-bmc-sec-update.c | 276 u32 doorbell; in m10bmc_sec_n3000_rsu_status() local 279 ret = m10bmc_sys_read(sec->m10bmc, csr_map->doorbell, &doorbell); in m10bmc_sec_n3000_rsu_status() 344 u32 doorbell; in rsu_check_idle() local 347 ret = m10bmc_sys_read(sec->m10bmc, csr_map->doorbell, &doorbell); in rsu_check_idle() 416 u32 doorbell, progress; in rsu_prog_ready() local 419 ret = m10bmc_sys_read(sec->m10bmc, csr_map->doorbell, &doorbell); in rsu_prog_ready() 429 ret = m10bmc_sys_read(sec->m10bmc, csr_map->doorbell, &doorbell); in rsu_prog_ready() 508 u32 doorbell; in rsu_cancel() local 511 ret = m10bmc_sys_read(sec->m10bmc, csr_map->doorbell, &doorbell); in rsu_cancel() 590 ret = m10bmc_sys_read(m10bmc, csr_map->doorbell, &doorbell); in m10bmc_sec_fw_write() [all …]
|
| /linux/Documentation/devicetree/bindings/mailbox/ |
| A D | arm,mhu.yaml | 21 The MHU hardware also allows operations in doorbell mode. The MHU drives the 28 interrupt. Each of the 32-bits can be used as "doorbell" to alert the remote 38 - arm,mhu-doorbell 52 - const: arm,mhu-doorbell 76 Set to 2 in doorbell mode and represents index of the channel and doorbell 129 compatible = "arm,mhu-doorbell", "arm,primecell"; 142 mboxes = <&mhuB 0 0>, /* LP-NonSecure, 1st doorbell */ 143 <&mhuB 0 1>; /* LP-NonSecure, 2nd doorbell */ 160 mboxes = <&mhuB 1 2>, /* HP-NonSecure, 3rd doorbell */ 161 <&mhuB 1 3>; /* HP-NonSecure, 4th doorbell */
|
| A D | arm,mhuv2.yaml | 38 and the entire window shall be used in doorbell protocol. Optionally, data 97 for doorbell protocol, and 1 is reserved for data-transfer protocol. 102 doorbell protocol this field signifies the number of 32-bit channel 103 windows that implement the doorbell protocol. For data-transfer protocol, 119 windows are used in doorbell protocol (64 doorbells), followed by 1, 5 and 135 doorbell, or data-transfer protocol, and the second argument (only 136 relevant in doorbell protocol, should be 0 otherwise) represents the 137 doorbell number within the 32 bit wide channel window. 142 mboxes = <&mhu 0 5>; // Channel Window Group 0, doorbell 5. 143 mboxes = <&mhu 1 7>; // Channel Window Group 1, doorbell 7. [all …]
|
| A D | nvidia,tegra186-hsp.yaml | 38 For doorbells, the second cell specifies the index of the doorbell to 85 - const: doorbell 88 - const: doorbell 118 interrupt-names = "doorbell";
|
| /linux/drivers/scsi/esas2r/ |
| A D | esas2r_int.c | 59 u32 doorbell; in esas2r_polled_interrupt() local 77 if (doorbell != 0) in esas2r_polled_interrupt() 107 u32 doorbell; in esas2r_adapter_interrupt() local 119 if (doorbell != 0) in esas2r_adapter_interrupt() 135 u32 doorbell; in esas2r_msi_interrupt() local 151 if (doorbell != 0) in esas2r_msi_interrupt() 667 if (!(doorbell & DRBL_FORCE_INT)) { in esas2r_doorbell_interrupt() 675 if (doorbell & DRBL_RESET_BUS) in esas2r_doorbell_interrupt() 678 if (doorbell & DRBL_FORCE_INT) in esas2r_doorbell_interrupt() 686 if (doorbell & DRBL_FW_RESET) { in esas2r_doorbell_interrupt() [all …]
|
| A D | esas2r_init.c | 939 u32 doorbell; in esas2r_check_adapter() local 966 if (doorbell == 0xFFFFFFFF) { in esas2r_check_adapter() 982 doorbell); in esas2r_check_adapter() 1020 doorbell); in esas2r_check_adapter() 1109 doorbell); in esas2r_check_adapter() 1129 if (doorbell & DRBL_POWER_DOWN) in esas2r_check_adapter() 1506 u32 doorbell; in esas2r_power_down_notify_firmware() local 1515 doorbell); in esas2r_power_down_notify_firmware() 1539 u32 doorbell; in esas2r_power_down() local 1556 doorbell = in esas2r_power_down() [all …]
|
| /linux/drivers/gpu/drm/radeon/ |
| A D | radeon_device.c | 344 rdev->doorbell.num_doorbells = min_t(u32, rdev->doorbell.size / sizeof(u32), RADEON_MAX_DOORBELLS); in radeon_doorbell_init() 345 if (rdev->doorbell.num_doorbells == 0) in radeon_doorbell_init() 348 rdev->doorbell.ptr = ioremap(rdev->doorbell.base, rdev->doorbell.num_doorbells * sizeof(u32)); in radeon_doorbell_init() 349 if (rdev->doorbell.ptr == NULL) { in radeon_doorbell_init() 355 memset(&rdev->doorbell.used, 0, sizeof(rdev->doorbell.used)); in radeon_doorbell_init() 369 iounmap(rdev->doorbell.ptr); in radeon_doorbell_fini() 370 rdev->doorbell.ptr = NULL; in radeon_doorbell_fini() 384 unsigned long offset = find_first_zero_bit(rdev->doorbell.used, rdev->doorbell.num_doorbells); in radeon_doorbell_get() 387 *doorbell = offset; in radeon_doorbell_get() 404 if (doorbell < rdev->doorbell.num_doorbells) in radeon_doorbell_free() [all …]
|
| /linux/drivers/cpufreq/ |
| A D | pcc-cpufreq.c | 98 static struct acpi_generic_address doorbell; variable 124 acpi_read(&doorbell_value, &doorbell); in pcc_cmd() 126 &doorbell); in pcc_cmd() 488 doorbell.space_id = reg_resource->space_id; in pcc_cpufreq_evaluate() 489 doorbell.bit_width = reg_resource->bit_width; in pcc_cpufreq_evaluate() 490 doorbell.bit_offset = reg_resource->bit_offset; in pcc_cpufreq_evaluate() 491 doorbell.access_width = 4; in pcc_cpufreq_evaluate() 492 doorbell.address = reg_resource->address; in pcc_cpufreq_evaluate() 496 doorbell.space_id, doorbell.bit_width, doorbell.bit_offset, in pcc_cpufreq_evaluate() 497 doorbell.access_width, reg_resource->address); in pcc_cpufreq_evaluate()
|
| /linux/include/linux/mlx4/ |
| A D | cq.h | 151 __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()
|
| /linux/Documentation/driver-api/ |
| A D | ntb.rst | 7 fabric. Existing NTB hardware supports a common feature set: doorbell 146 round before writing the peer doorbell register. 154 * delay\_ms - Specify the delay between receiving a doorbell 155 interrupt event and setting the peer doorbell register for the next 158 series begins once all the doorbell bits have been shifted out of 168 NTB doorbell, and reading and writing scratchpads. 179 This file is used to read, set, and clear the local doorbell. Not 182 set (eg: `echo 's 0x0101' > db`). To clear the doorbell, write `c` 185 This file is used to read, set, and clear the local doorbell mask. 188 This file is used to read, set, and clear the peer doorbell. [all …]
|
| /linux/include/linux/mlx5/ |
| A 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/drivers/infiniband/hw/mana/ |
| A D | cq.c | 19 u32 doorbell; in mana_ib_create_cq() local 53 doorbell = mana_ucontext->doorbell; in mana_ib_create_cq() 56 err = mana_ib_gd_create_cq(mdev, cq, doorbell); in mana_ib_create_cq()
|
| /linux/arch/mips/include/asm/octeon/ |
| A D | cvmx-pko-defs.h | 797 uint64_t doorbell:20; member 809 uint64_t doorbell:20; 817 uint64_t doorbell:20; member 1817 uint64_t doorbell:1; member 1821 uint64_t doorbell:1; 1830 uint64_t doorbell:1; member 1834 uint64_t doorbell:1; 1842 uint64_t doorbell:1; member 1846 uint64_t doorbell:1; 1961 uint64_t doorbell:1; member [all …]
|
| A D | cvmx-pko.h | 120 uint64_t doorbell; member 606 status->doorbell = debug9.cn38xx.doorbell; in cvmx_pko_get_port_status() 612 status->doorbell = debug8.cn50xx.doorbell; in cvmx_pko_get_port_status()
|
| /linux/drivers/usb/host/ |
| A D | xhci-trace.h | 548 TP_PROTO(u32 slot, u32 doorbell), 549 TP_ARGS(slot, doorbell), 552 __field(u32, doorbell) 556 __entry->doorbell = doorbell; 559 xhci_decode_doorbell(__get_buf(XHCI_MSG_MAX), __entry->slot, __entry->doorbell) 564 TP_PROTO(u32 slot, u32 doorbell), 565 TP_ARGS(slot, doorbell) 569 TP_PROTO(u32 slot, u32 doorbell), 570 TP_ARGS(slot, doorbell)
|
| /linux/Documentation/PCI/endpoint/ |
| A D | pci-ntb-function.rst | 113 CMD_CONFIGURE_DOORBELL (0x1): Command to configure doorbell. Before 155 same BAR. The initial portion of the region will have doorbell 178 in order to raise doorbell. EPF NTB can use either MSI or MSI-X to 179 ring doorbell (MSI-X support will be added later). MSI uses same 192 will ensure there is no difference while raising the doorbell. 198 for raising doorbell interrupt. This will be populated by EPF NTB 228 scratchpad, doorbell, one or more memory windows) to be modeled to achieve 335 Above diagram shows how the doorbell and memory window 1 is mapped so that 336 HOST1 can raise doorbell interrupt on HOST2 and also how HOST1 can access 337 buffers exposed by HOST2 using memory window1 (MW1). Here doorbell and [all …]
|
| /linux/drivers/irqchip/ |
| A D | irq-loongson-pch-msi.c | 25 phys_addr_t doorbell; member 66 msg->address_hi = upper_32_bits(priv->doorbell); in pch_msi_compose_msi_msg() 67 msg->address_lo = lower_32_bits(priv->doorbell); in pch_msi_compose_msi_msg() 190 priv->doorbell = msg_address; in pch_msi_init()
|
| /linux/Documentation/devicetree/bindings/powerpc/fsl/ |
| A 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/include/linux/mfd/ |
| A D | intel-m10-bmc.h | 99 #define rsu_prog(doorbell) FIELD_GET(DRBL_RSU_PROGRESS, doorbell) argument 196 unsigned int doorbell; member
|
| /linux/drivers/ufs/core/ |
| A D | ufs_trace.h | 272 unsigned int tag, u32 doorbell, u32 hwq_id, int transfer_len, 275 TP_ARGS(sdev, str_t, tag, doorbell, hwq_id, transfer_len, intr, lba, 282 __field(u32, doorbell) 295 __entry->doorbell = doorbell; 308 __entry->doorbell, __entry->transfer_len, __entry->intr,
|