drivers/soc/fsl/qbman/bman_priv.h

Source file repositories/reference/linux-study-clean/drivers/soc/fsl/qbman/bman_priv.h

File Facts

System
Linux kernel
Corpus path
drivers/soc/fsl/qbman/bman_priv.h
Extension
.h
Size
3255 bytes
Lines
84
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

struct bm_portal_config {
	/* Portal addresses */
	void  *addr_virt_ce;
	void __iomem *addr_virt_ci;
	/* Allow these to be joined in lists */
	struct list_head list;
	struct device *dev;
	/* User-visible portal configuration settings */
	/* portal is affined to this cpu */
	int cpu;
	/* portal interrupt line */
	int irq;
};

struct bman_portal *bman_create_affine_portal(
			const struct bm_portal_config *config);
/*
 * The below bman_p_***() variant might be called in a situation that the cpu
 * which the portal affine to is not online yet.
 * @bman_portal specifies which portal the API will use.
 */
int bman_p_irqsource_add(struct bman_portal *p, u32 bits);

/*
 * Used by all portal interrupt registers except 'inhibit'
 * This mask contains all the "irqsource" bits visible to API users
 */
#define BM_PIRQ_VISIBLE	BM_PIRQ_RCRI

const struct bm_portal_config *
bman_get_bm_portal_config(const struct bman_portal *portal);

int bman_requires_cleanup(void);
void bman_done_cleanup(void);

int bm_shutdown_pool(u32 bpid);

Annotation

Implementation Notes