Lines Matching refs:doorbell
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()
596 adev->doorbell.num_doorbells = 0; in amdgpu_device_doorbell_init()
597 adev->doorbell.ptr = NULL; in amdgpu_device_doorbell_init()
607 adev->doorbell.base = pci_resource_start(adev->pdev, 2); in amdgpu_device_doorbell_init()
608 adev->doorbell.size = pci_resource_len(adev->pdev, 2); in amdgpu_device_doorbell_init()
610 adev->doorbell.num_doorbells = min_t(u32, adev->doorbell.size / sizeof(u32), in amdgpu_device_doorbell_init()
612 if (adev->doorbell.num_doorbells == 0) in amdgpu_device_doorbell_init()
622 adev->doorbell.num_doorbells += 0x400; in amdgpu_device_doorbell_init()
624 adev->doorbell.ptr = ioremap(adev->doorbell.base, in amdgpu_device_doorbell_init()
625 adev->doorbell.num_doorbells * in amdgpu_device_doorbell_init()
627 if (adev->doorbell.ptr == NULL) in amdgpu_device_doorbell_init()
642 iounmap(adev->doorbell.ptr); in amdgpu_device_doorbell_fini()
643 adev->doorbell.ptr = NULL; in amdgpu_device_doorbell_fini()