~ubuntu-branches/ubuntu/precise/alsa-driver/precise

« back to all changes in this revision

Viewing changes to alsa-kernel/pci/oxygen/oxygen.h

  • Committer: Bazaar Package Importer
  • Author(s): Luke Yelavich
  • Date: 2011-02-21 18:06:40 UTC
  • mfrom: (1.1.15 upstream)
  • Revision ID: james.westby@ubuntu.com-20110221180640-a8p2yxtvgf7xbxub
Tags: 1.0.24+dfsg-0ubuntu1
* New upstream release
* Refreshed patches:
  - distinguish_kernel_makefile_and_source_dirs.patch
  - debian_dfsg_configure.patch
* debian/control: Update Vcs-bzr field to point to new branch location

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
#define PCM_AC97        5
17
17
#define PCM_COUNT       6
18
18
 
 
19
#define OXYGEN_MCLKS(f_single, f_double, f_quad) ((MCLK_##f_single << 0) | \
 
20
                                                  (MCLK_##f_double << 2) | \
 
21
                                                  (MCLK_##f_quad   << 4))
 
22
 
19
23
#define OXYGEN_IO_SIZE  0x100
20
24
 
21
25
#define OXYGEN_EEPROM_ID        0x434d  /* "CM" */
34
38
     /* CAPTURE_3_FROM_I2S_3            not implemented */
35
39
#define MIDI_OUTPUT             0x0800
36
40
#define MIDI_INPUT              0x1000
 
41
#define AC97_CD_INPUT           0x2000
 
42
#define AC97_FMIC_SWITCH        0x4000
37
43
 
38
44
enum {
39
45
        CONTROL_SPDIF_PCM,
64
70
struct snd_pcm_hw_params;
65
71
struct snd_kcontrol_new;
66
72
struct snd_rawmidi;
 
73
struct snd_info_buffer;
67
74
struct oxygen;
68
75
 
69
76
struct oxygen_model {
78
85
        void (*resume)(struct oxygen *chip);
79
86
        void (*pcm_hardware_filter)(unsigned int channel,
80
87
                                    struct snd_pcm_hardware *hardware);
81
 
        unsigned int (*get_i2s_mclk)(struct oxygen *chip, unsigned int channel,
82
 
                                     struct snd_pcm_hw_params *hw_params);
83
88
        void (*set_dac_params)(struct oxygen *chip,
84
89
                               struct snd_pcm_hw_params *params);
85
90
        void (*set_adc_params)(struct oxygen *chip,
91
96
        void (*uart_input)(struct oxygen *chip);
92
97
        void (*ac97_switch)(struct oxygen *chip,
93
98
                            unsigned int reg, unsigned int mute);
 
99
        void (*dump_registers)(struct oxygen *chip,
 
100
                               struct snd_info_buffer *buffer);
94
101
        const unsigned int *dac_tlv;
95
 
        unsigned long private_data;
96
102
        size_t model_data_size;
97
103
        unsigned int device_config;
98
 
        u8 dac_channels;
 
104
        u8 dac_channels_pcm;
 
105
        u8 dac_channels_mixer;
99
106
        u8 dac_volume_min;
100
107
        u8 dac_volume_max;
101
108
        u8 misc_flags;
102
109
        u8 function_flags;
 
110
        u8 dac_mclks;
 
111
        u8 adc_mclks;
103
112
        u16 dac_i2s_format;
104
113
        u16 adc_i2s_format;
105
114
};
120
129
        u8 pcm_running;
121
130
        u8 dac_routing;
122
131
        u8 spdif_playback_enable;
123
 
        u8 revision;
124
132
        u8 has_ac97_0;
125
133
        u8 has_ac97_1;
126
134
        u32 spdif_bits;
155
163
int oxygen_pci_suspend(struct pci_dev *pci, pm_message_t state);
156
164
int oxygen_pci_resume(struct pci_dev *pci);
157
165
#endif
 
166
void oxygen_pci_shutdown(struct pci_dev *pci);
158
167
 
159
168
/* oxygen_mixer.c */
160
169
 
165
174
/* oxygen_pcm.c */
166
175
 
167
176
int oxygen_pcm_init(struct oxygen *chip);
168
 
unsigned int oxygen_default_i2s_mclk(struct oxygen *chip, unsigned int channel,
169
 
                                     struct snd_pcm_hw_params *hw_params);
170
177
 
171
178
/* oxygen_io.c */
172
179