On Sat, Aug 01, 2009 at 09:17:10PM +0800, Jaroslav Kysela wrote: > On Sat, 1 Aug 2009, Wu Fengguang wrote: > > > -#define CVT_NID 0x02 /* audio converter */ > > -#define PIN_NID 0x03 /* HDMI output pin */ > > +static hda_nid_t cvt_nid; /* audio converter */ > > +static hda_nid_t pin_nid; /* HDMI output pin */ > > I don't like to use static variables here. I would recommend to use a > runtime structure to store these values. Good idea. But let's keep this first step simple? I'll do the conversion in subsequent patches. I'd like to add some hda_hdmi struct into the hda_codec structure. Like this one. What do you think? Thanks, Fengguang --- sound/pci/hda/hda_codec.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) --- sound-2.6.orig/sound/pci/hda/hda_codec.h +++ sound-2.6/sound/pci/hda/hda_codec.h @@ -555,6 +555,7 @@ static inline unsigned int snd_array_ind struct hda_bus; struct hda_beep; +struct hda_hdmi; struct hda_codec; struct hda_pcm; struct hda_pcm_stream; @@ -788,6 +789,9 @@ struct hda_codec { unsigned short spdif_ctls; /* SPDIF control bits */ unsigned int spdif_in_enable; /* SPDIF input enable? */ hda_nid_t *slave_dig_outs; /* optional digital out slave widgets */ + + struct hda_hdmi hdmi; + struct snd_array init_pins; /* initial (BIOS) pin configurations */ struct snd_array driver_pins; /* pin configs set by codec parser */ @@ -823,6 +827,23 @@ enum { HDA_INPUT, HDA_OUTPUT }; +/* + * The HDMI/DisplayPort configuration can be highly dynamic. A graphics device + * could support two independent pipes, each of them can be connected to one or + * more monitors (DVI, HDMI or DisplayPort). + * + * The HDA correspondence of pipes/monitors are converter/pin nodes. + */ +#define HDA_HDMI_CVTS 2 +#define HDA_HDMI_PINS 3 +struct hda_hdmi { + int num_cvts; + hda_nid_t cvt[HDA_HDMI_CVTS]; + int num_pins; + hda_nid_t pin[HDA_HDMI_PINS]; + /* the converter each pin connects to */ + hda_nid_t pin_cvt[HDA_HDMI_PINS]; +}; /* * constructors _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel