drivers/soc/fsl/qbman/bman_test_api.c

Source file repositories/reference/linux-study-clean/drivers/soc/fsl/qbman/bman_test_api.c

File Facts

System
Linux kernel
Corpus path
drivers/soc/fsl/qbman/bman_test_api.c
Extension
.c
Size
4354 bytes
Lines
152
Domain
Driver Families
Bucket
drivers/soc
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

if (bman_release(pool, bufs_in + i, num)) {
			pr_crit("bman_release() failed\n");
			goto failed;
		}
		i += num;
	}

	/* Acquire buffers */
	while (i > 0) {
		int tmp, num = 8;

		if (num > i)
			num = i;
		tmp = bman_acquire(pool, bufs_out + i - num, num);
		WARN_ON(tmp != num);
		i -= num;
	}
	i = bman_acquire(pool, NULL, 1);
	WARN_ON(i > 0);

	bufs_confirm();

	if (--loops)
		goto do_loop;

	/* Clean up */
	bman_free_pool(pool);
	pr_info("%s(): Finished\n", __func__);
	return;

failed:
	WARN_ON(1);
}

Annotation

Implementation Notes