1*2d9223d2STakashi Iwai /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*2d9223d2STakashi Iwai /* 3*2d9223d2STakashi Iwai */ 4*2d9223d2STakashi Iwai #ifndef __SOUND_HDA_INTEL_H 5*2d9223d2STakashi Iwai #define __SOUND_HDA_INTEL_H 6*2d9223d2STakashi Iwai 7*2d9223d2STakashi Iwai #include "hda_controller.h" 8*2d9223d2STakashi Iwai 9*2d9223d2STakashi Iwai struct hda_intel { 10*2d9223d2STakashi Iwai struct azx chip; 11*2d9223d2STakashi Iwai 12*2d9223d2STakashi Iwai /* for pending irqs */ 13*2d9223d2STakashi Iwai struct work_struct irq_pending_work; 14*2d9223d2STakashi Iwai 15*2d9223d2STakashi Iwai /* sync probing */ 16*2d9223d2STakashi Iwai struct completion probe_wait; 17*2d9223d2STakashi Iwai struct delayed_work probe_work; 18*2d9223d2STakashi Iwai 19*2d9223d2STakashi Iwai /* card list (for power_save trigger) */ 20*2d9223d2STakashi Iwai struct list_head list; 21*2d9223d2STakashi Iwai 22*2d9223d2STakashi Iwai /* extra flags */ 23*2d9223d2STakashi Iwai unsigned int irq_pending_warned:1; 24*2d9223d2STakashi Iwai unsigned int probe_continued:1; 25*2d9223d2STakashi Iwai unsigned int runtime_pm_disabled:1; 26*2d9223d2STakashi Iwai 27*2d9223d2STakashi Iwai /* vga_switcheroo setup */ 28*2d9223d2STakashi Iwai unsigned int use_vga_switcheroo:1; 29*2d9223d2STakashi Iwai unsigned int vga_switcheroo_registered:1; 30*2d9223d2STakashi Iwai unsigned int init_failed:1; /* delayed init failed */ 31*2d9223d2STakashi Iwai unsigned int freed:1; /* resources already released */ 32*2d9223d2STakashi Iwai 33*2d9223d2STakashi Iwai bool need_i915_power:1; /* the hda controller needs i915 power */ 34*2d9223d2STakashi Iwai 35*2d9223d2STakashi Iwai int probe_retry; /* being probe-retry */ 36*2d9223d2STakashi Iwai }; 37*2d9223d2STakashi Iwai 38*2d9223d2STakashi Iwai #endif 39