sound/hda/controllers/intel.h

Source file repositories/reference/linux-study-clean/sound/hda/controllers/intel.h

File Facts

System
Linux kernel
Corpus path
sound/hda/controllers/intel.h
Extension
.h
Size
1054 bytes
Lines
48
Domain
Driver Families
Bucket
sound/hda
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 hda_intel {
	struct azx chip;

	/* sync probing */
	struct completion probe_wait;
	struct delayed_work probe_work;

	/* card list (for power_save trigger) */
	struct list_head list;

	/* extra flags */
	unsigned int irq_pending_warned:1;
	unsigned int probe_continued:1;
	unsigned int runtime_pm_disabled:1;

	/* vga_switcheroo setup */
	unsigned int use_vga_switcheroo:1;
	unsigned int vga_switcheroo_registered:1;
	unsigned int init_failed:1; /* delayed init failed */
	unsigned int freed:1; /* resources already released */

	bool need_i915_power:1; /* the hda controller needs i915 power */

	int probe_retry;	/* being probe-retry */
};

struct hda_intel_stream {
	struct azx_dev azx_dev;

	/* for pending irqs */
	struct hda_intel *hda;
	struct work_struct irq_pending_work;
	bool irq_pending;
};

#define azx_dev_to_istream(azx_dev) \
	container_of(azx_dev, struct hda_intel_stream, azx_dev)

#endif

Annotation

Implementation Notes