drivers/gpu/drm/nouveau/nvif/userc361.c

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/nouveau/nvif/userc361.c

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/nouveau/nvif/userc361.c
Extension
.c
Size
1612 bytes
Lines
48
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#include <nvif/user.h>

static u64
nvif_userc361_time(struct nvif_user *user)
{
	u32 hi, lo;

	do {
		hi = nvif_rd32(&user->object, 0x084);
		lo = nvif_rd32(&user->object, 0x080);
	} while (hi != nvif_rd32(&user->object, 0x084));

	return ((u64)hi << 32 | lo);
}

static void
nvif_userc361_doorbell(struct nvif_user *user, u32 token)
{
	nvif_wr32(&user->object, 0x90, token);
}

const struct nvif_user_func
nvif_userc361 = {
	.doorbell = nvif_userc361_doorbell,
	.time = nvif_userc361_time,
};

Annotation

Implementation Notes