diff options
| author | Anton Altaparmakov <aia21@cantab.net> | 2006-01-19 11:39:33 -0500 |
|---|---|---|
| committer | Anton Altaparmakov <aia21@cantab.net> | 2006-01-19 11:39:33 -0500 |
| commit | 944d79559d154c12becde0dab327016cf438f46c (patch) | |
| tree | 50c101806f4d3b6585222dda060559eb4f3e005a /include/sound/ymfpci.h | |
| parent | d087e4bdd24ebe3ae3d0b265b6573ec901af4b4b (diff) | |
| parent | 0f36b018b2e314d45af86449f1a97facb1fbe300 (diff) | |
Merge branch 'master' of /usr/src/ntfs-2.6/
Diffstat (limited to 'include/sound/ymfpci.h')
| -rw-r--r-- | include/sound/ymfpci.h | 112 |
1 files changed, 57 insertions, 55 deletions
diff --git a/include/sound/ymfpci.h b/include/sound/ymfpci.h index c3bccbfd8d4c..d567bfdbf513 100644 --- a/include/sound/ymfpci.h +++ b/include/sound/ymfpci.h | |||
| @@ -184,7 +184,7 @@ | |||
| 184 | * | 184 | * |
| 185 | */ | 185 | */ |
| 186 | 186 | ||
| 187 | typedef struct _snd_ymfpci_playback_bank { | 187 | struct snd_ymfpci_playback_bank { |
| 188 | u32 format; | 188 | u32 format; |
| 189 | u32 loop_default; | 189 | u32 loop_default; |
| 190 | u32 base; /* 32-bit address */ | 190 | u32 base; /* 32-bit address */ |
| @@ -215,46 +215,45 @@ typedef struct _snd_ymfpci_playback_bank { | |||
| 215 | u32 eff3_gain; | 215 | u32 eff3_gain; |
| 216 | u32 lpfD1; | 216 | u32 lpfD1; |
| 217 | u32 lpfD2; | 217 | u32 lpfD2; |
| 218 | } snd_ymfpci_playback_bank_t; | 218 | }; |
| 219 | 219 | ||
| 220 | typedef struct _snd_ymfpci_capture_bank { | 220 | struct snd_ymfpci_capture_bank { |
| 221 | u32 base; /* 32-bit address */ | 221 | u32 base; /* 32-bit address */ |
| 222 | u32 loop_end; /* 32-bit offset */ | 222 | u32 loop_end; /* 32-bit offset */ |
| 223 | u32 start; /* 32-bit offset */ | 223 | u32 start; /* 32-bit offset */ |
| 224 | u32 num_of_loops; /* counter */ | 224 | u32 num_of_loops; /* counter */ |
| 225 | } snd_ymfpci_capture_bank_t; | 225 | }; |
| 226 | 226 | ||
| 227 | typedef struct _snd_ymfpci_effect_bank { | 227 | struct snd_ymfpci_effect_bank { |
| 228 | u32 base; /* 32-bit address */ | 228 | u32 base; /* 32-bit address */ |
| 229 | u32 loop_end; /* 32-bit offset */ | 229 | u32 loop_end; /* 32-bit offset */ |
| 230 | u32 start; /* 32-bit offset */ | 230 | u32 start; /* 32-bit offset */ |
| 231 | u32 temp; | 231 | u32 temp; |
| 232 | } snd_ymfpci_effect_bank_t; | 232 | }; |
| 233 | 233 | ||
| 234 | typedef struct _snd_ymfpci_voice ymfpci_voice_t; | 234 | struct snd_ymfpci_pcm; |
| 235 | typedef struct _snd_ymfpci_pcm ymfpci_pcm_t; | 235 | struct snd_ymfpci; |
| 236 | typedef struct _snd_ymfpci ymfpci_t; | ||
| 237 | 236 | ||
| 238 | typedef enum { | 237 | enum snd_ymfpci_voice_type { |
| 239 | YMFPCI_PCM, | 238 | YMFPCI_PCM, |
| 240 | YMFPCI_SYNTH, | 239 | YMFPCI_SYNTH, |
| 241 | YMFPCI_MIDI | 240 | YMFPCI_MIDI |
| 242 | } ymfpci_voice_type_t; | 241 | }; |
| 243 | 242 | ||
| 244 | struct _snd_ymfpci_voice { | 243 | struct snd_ymfpci_voice { |
| 245 | ymfpci_t *chip; | 244 | struct snd_ymfpci *chip; |
| 246 | int number; | 245 | int number; |
| 247 | unsigned int use: 1, | 246 | unsigned int use: 1, |
| 248 | pcm: 1, | 247 | pcm: 1, |
| 249 | synth: 1, | 248 | synth: 1, |
| 250 | midi: 1; | 249 | midi: 1; |
| 251 | snd_ymfpci_playback_bank_t *bank; | 250 | struct snd_ymfpci_playback_bank *bank; |
| 252 | dma_addr_t bank_addr; | 251 | dma_addr_t bank_addr; |
| 253 | void (*interrupt)(ymfpci_t *chip, ymfpci_voice_t *voice); | 252 | void (*interrupt)(struct snd_ymfpci *chip, struct snd_ymfpci_voice *voice); |
| 254 | ymfpci_pcm_t *ypcm; | 253 | struct snd_ymfpci_pcm *ypcm; |
| 255 | }; | 254 | }; |
| 256 | 255 | ||
| 257 | typedef enum { | 256 | enum snd_ymfpci_pcm_type { |
| 258 | PLAYBACK_VOICE, | 257 | PLAYBACK_VOICE, |
| 259 | CAPTURE_REC, | 258 | CAPTURE_REC, |
| 260 | CAPTURE_AC97, | 259 | CAPTURE_AC97, |
| @@ -263,13 +262,13 @@ typedef enum { | |||
| 263 | EFFECT_EFF1, | 262 | EFFECT_EFF1, |
| 264 | EFFECT_EFF2, | 263 | EFFECT_EFF2, |
| 265 | EFFECT_EFF3 | 264 | EFFECT_EFF3 |
| 266 | } snd_ymfpci_pcm_type_t; | 265 | }; |
| 267 | 266 | ||
| 268 | struct _snd_ymfpci_pcm { | 267 | struct snd_ymfpci_pcm { |
| 269 | ymfpci_t *chip; | 268 | struct snd_ymfpci *chip; |
| 270 | snd_ymfpci_pcm_type_t type; | 269 | enum snd_ymfpci_pcm_type type; |
| 271 | snd_pcm_substream_t *substream; | 270 | struct snd_pcm_substream *substream; |
| 272 | ymfpci_voice_t *voices[2]; /* playback only */ | 271 | struct snd_ymfpci_voice *voices[2]; /* playback only */ |
| 273 | unsigned int running: 1; | 272 | unsigned int running: 1; |
| 274 | unsigned int output_front: 1; | 273 | unsigned int output_front: 1; |
| 275 | unsigned int output_rear: 1; | 274 | unsigned int output_rear: 1; |
| @@ -282,7 +281,7 @@ struct _snd_ymfpci_pcm { | |||
| 282 | u32 shift; | 281 | u32 shift; |
| 283 | }; | 282 | }; |
| 284 | 283 | ||
| 285 | struct _snd_ymfpci { | 284 | struct snd_ymfpci { |
| 286 | int irq; | 285 | int irq; |
| 287 | 286 | ||
| 288 | unsigned int device_id; /* PCI device ID */ | 287 | unsigned int device_id; /* PCI device ID */ |
| @@ -316,47 +315,47 @@ struct _snd_ymfpci { | |||
| 316 | struct snd_dma_buffer ac3_tmp_base; | 315 | struct snd_dma_buffer ac3_tmp_base; |
| 317 | 316 | ||
| 318 | u32 *ctrl_playback; | 317 | u32 *ctrl_playback; |
| 319 | snd_ymfpci_playback_bank_t *bank_playback[YDSXG_PLAYBACK_VOICES][2]; | 318 | struct snd_ymfpci_playback_bank *bank_playback[YDSXG_PLAYBACK_VOICES][2]; |
| 320 | snd_ymfpci_capture_bank_t *bank_capture[YDSXG_CAPTURE_VOICES][2]; | 319 | struct snd_ymfpci_capture_bank *bank_capture[YDSXG_CAPTURE_VOICES][2]; |
| 321 | snd_ymfpci_effect_bank_t *bank_effect[YDSXG_EFFECT_VOICES][2]; | 320 | struct snd_ymfpci_effect_bank *bank_effect[YDSXG_EFFECT_VOICES][2]; |
| 322 | 321 | ||
| 323 | int start_count; | 322 | int start_count; |
| 324 | 323 | ||
| 325 | u32 active_bank; | 324 | u32 active_bank; |
| 326 | ymfpci_voice_t voices[64]; | 325 | struct snd_ymfpci_voice voices[64]; |
| 327 | 326 | ||
| 328 | ac97_bus_t *ac97_bus; | 327 | struct snd_ac97_bus *ac97_bus; |
| 329 | ac97_t *ac97; | 328 | struct snd_ac97 *ac97; |
| 330 | snd_rawmidi_t *rawmidi; | 329 | struct snd_rawmidi *rawmidi; |
| 331 | snd_timer_t *timer; | 330 | struct snd_timer *timer; |
| 332 | 331 | ||
| 333 | struct pci_dev *pci; | 332 | struct pci_dev *pci; |
| 334 | snd_card_t *card; | 333 | struct snd_card *card; |
| 335 | snd_pcm_t *pcm; | 334 | struct snd_pcm *pcm; |
| 336 | snd_pcm_t *pcm2; | 335 | struct snd_pcm *pcm2; |
| 337 | snd_pcm_t *pcm_spdif; | 336 | struct snd_pcm *pcm_spdif; |
| 338 | snd_pcm_t *pcm_4ch; | 337 | struct snd_pcm *pcm_4ch; |
| 339 | snd_pcm_substream_t *capture_substream[YDSXG_CAPTURE_VOICES]; | 338 | struct snd_pcm_substream *capture_substream[YDSXG_CAPTURE_VOICES]; |
| 340 | snd_pcm_substream_t *effect_substream[YDSXG_EFFECT_VOICES]; | 339 | struct snd_pcm_substream *effect_substream[YDSXG_EFFECT_VOICES]; |
| 341 | snd_kcontrol_t *ctl_vol_recsrc; | 340 | struct snd_kcontrol *ctl_vol_recsrc; |
| 342 | snd_kcontrol_t *ctl_vol_adcrec; | 341 | struct snd_kcontrol *ctl_vol_adcrec; |
| 343 | snd_kcontrol_t *ctl_vol_spdifrec; | 342 | struct snd_kcontrol *ctl_vol_spdifrec; |
| 344 | unsigned short spdif_bits, spdif_pcm_bits; | 343 | unsigned short spdif_bits, spdif_pcm_bits; |
| 345 | snd_kcontrol_t *spdif_pcm_ctl; | 344 | struct snd_kcontrol *spdif_pcm_ctl; |
| 346 | int mode_dup4ch; | 345 | int mode_dup4ch; |
| 347 | int rear_opened; | 346 | int rear_opened; |
| 348 | int spdif_opened; | 347 | int spdif_opened; |
| 349 | struct { | 348 | struct { |
| 350 | u16 left; | 349 | u16 left; |
| 351 | u16 right; | 350 | u16 right; |
| 352 | snd_kcontrol_t *ctl; | 351 | struct snd_kcontrol *ctl; |
| 353 | } pcm_mixer[32]; | 352 | } pcm_mixer[32]; |
| 354 | 353 | ||
| 355 | spinlock_t reg_lock; | 354 | spinlock_t reg_lock; |
| 356 | spinlock_t voice_lock; | 355 | spinlock_t voice_lock; |
| 357 | wait_queue_head_t interrupt_sleep; | 356 | wait_queue_head_t interrupt_sleep; |
| 358 | atomic_t interrupt_sleep_count; | 357 | atomic_t interrupt_sleep_count; |
| 359 | snd_info_entry_t *proc_entry; | 358 | struct snd_info_entry *proc_entry; |
| 360 | 359 | ||
| 361 | #ifdef CONFIG_PM | 360 | #ifdef CONFIG_PM |
| 362 | u32 *saved_regs; | 361 | u32 *saved_regs; |
| @@ -364,17 +363,20 @@ struct _snd_ymfpci { | |||
| 364 | #endif | 363 | #endif |
| 365 | }; | 364 | }; |
| 366 | 365 | ||
| 367 | int snd_ymfpci_create(snd_card_t * card, | 366 | int snd_ymfpci_create(struct snd_card *card, |
| 368 | struct pci_dev *pci, | 367 | struct pci_dev *pci, |
| 369 | unsigned short old_legacy_ctrl, | 368 | unsigned short old_legacy_ctrl, |
| 370 | ymfpci_t ** rcodec); | 369 | struct snd_ymfpci ** rcodec); |
| 371 | void snd_ymfpci_free_gameport(ymfpci_t *chip); | 370 | void snd_ymfpci_free_gameport(struct snd_ymfpci *chip); |
| 372 | 371 | ||
| 373 | int snd_ymfpci_pcm(ymfpci_t *chip, int device, snd_pcm_t **rpcm); | 372 | int snd_ymfpci_suspend(struct pci_dev *pci, pm_message_t state); |
| 374 | int snd_ymfpci_pcm2(ymfpci_t *chip, int device, snd_pcm_t **rpcm); | 373 | int snd_ymfpci_resume(struct pci_dev *pci); |
| 375 | int snd_ymfpci_pcm_spdif(ymfpci_t *chip, int device, snd_pcm_t **rpcm); | 374 | |
| 376 | int snd_ymfpci_pcm_4ch(ymfpci_t *chip, int device, snd_pcm_t **rpcm); | 375 | int snd_ymfpci_pcm(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); |
| 377 | int snd_ymfpci_mixer(ymfpci_t *chip, int rear_switch); | 376 | int snd_ymfpci_pcm2(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); |
| 378 | int snd_ymfpci_timer(ymfpci_t *chip, int device); | 377 | int snd_ymfpci_pcm_spdif(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); |
| 378 | int snd_ymfpci_pcm_4ch(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); | ||
| 379 | int snd_ymfpci_mixer(struct snd_ymfpci *chip, int rear_switch); | ||
| 380 | int snd_ymfpci_timer(struct snd_ymfpci *chip, int device); | ||
| 379 | 381 | ||
| 380 | #endif /* __SOUND_YMFPCI_H */ | 382 | #endif /* __SOUND_YMFPCI_H */ |
