drivers/gpu/drm/tidss/tidss_drv.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/tidss/tidss_drv.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/tidss/tidss_drv.h
Extension
.h
Size
1192 bytes
Lines
52
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

struct tidss_device {
	struct drm_device ddev;		/* DRM device for DSS */
	struct device *dev;		/* Underlying DSS device */

	const struct dispc_features *feat;
	struct dispc_device *dispc;
	bool is_ext_vp_clk[TIDSS_MAX_PORTS];


	unsigned int num_crtcs;
	struct drm_crtc *crtcs[TIDSS_MAX_PORTS];

	unsigned int num_planes;
	struct drm_plane *planes[TIDSS_MAX_PLANES];

	unsigned int num_oldis;
	struct tidss_oldi *oldis[TIDSS_MAX_OLDI_TXES];

	unsigned int irq;

	/* protects the irq masks field and irqenable/irqstatus registers */
	spinlock_t irq_lock;
	dispc_irq_t irq_mask;	/* enabled irqs */
};

#define to_tidss(__dev) container_of(__dev, struct tidss_device, ddev)

int tidss_runtime_get(struct tidss_device *tidss);
void tidss_runtime_put(struct tidss_device *tidss);

#endif

Annotation

Implementation Notes