diff options
author | Takashi Iwai <tiwai@suse.de> | 2005-11-17 08:48:14 -0500 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-01-03 06:18:45 -0500 |
commit | 3d19f804ef5f1d15fe001fc8d1ed58fac9d591fb (patch) | |
tree | e3fd21398754a5c970a2c36f745a910c17db3794 | |
parent | af26367f69a474ed809e4a59abb5855b47daaff4 (diff) |
[ALSA] Remove xxx_t typedefs: PCI CS46xx
Modules: CS46xx driver
Remove xxx_t typedefs from the PCI CS46xx driver.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | include/sound/cs46xx.h | 87 | ||||
-rw-r--r-- | include/sound/cs46xx_dsp_scb_types.h | 145 | ||||
-rw-r--r-- | include/sound/cs46xx_dsp_spos.h | 119 | ||||
-rw-r--r-- | include/sound/cs46xx_dsp_task_types.h | 35 | ||||
-rw-r--r-- | sound/pci/cs46xx/cs46xx.c | 4 | ||||
-rw-r--r-- | sound/pci/cs46xx/cs46xx_lib.c | 584 | ||||
-rw-r--r-- | sound/pci/cs46xx/cs46xx_lib.h | 211 | ||||
-rw-r--r-- | sound/pci/cs46xx/dsp_spos.c | 264 | ||||
-rw-r--r-- | sound/pci/cs46xx/dsp_spos.h | 18 | ||||
-rw-r--r-- | sound/pci/cs46xx/dsp_spos_scb_lib.c | 338 | ||||
-rw-r--r-- | sound/pci/cs46xx/imgs/cwc4630.h | 6 | ||||
-rw-r--r-- | sound/pci/cs46xx/imgs/cwcasync.h | 6 | ||||
-rw-r--r-- | sound/pci/cs46xx/imgs/cwcbinhack.h | 6 | ||||
-rw-r--r-- | sound/pci/cs46xx/imgs/cwcdma.h | 6 | ||||
-rw-r--r-- | sound/pci/cs46xx/imgs/cwcemb80.h | 6 | ||||
-rw-r--r-- | sound/pci/cs46xx/imgs/cwcsnoop.h | 6 |
16 files changed, 938 insertions, 903 deletions
diff --git a/include/sound/cs46xx.h b/include/sound/cs46xx.h index b0c0e192eb56..b33ca2a36300 100644 --- a/include/sound/cs46xx.h +++ b/include/sound/cs46xx.h | |||
@@ -1631,42 +1631,41 @@ | |||
1631 | #define CS46XX_MIXER_SPDIF_INPUT_ELEMENT 1 | 1631 | #define CS46XX_MIXER_SPDIF_INPUT_ELEMENT 1 |
1632 | #define CS46XX_MIXER_SPDIF_OUTPUT_ELEMENT 2 | 1632 | #define CS46XX_MIXER_SPDIF_OUTPUT_ELEMENT 2 |
1633 | 1633 | ||
1634 | typedef struct _snd_cs46xx cs46xx_t; | ||
1635 | 1634 | ||
1636 | typedef struct _snd_cs46xx_pcm_t { | 1635 | struct snd_cs46xx_pcm { |
1637 | struct snd_dma_buffer hw_buf; | 1636 | struct snd_dma_buffer hw_buf; |
1638 | 1637 | ||
1639 | unsigned int ctl; | 1638 | unsigned int ctl; |
1640 | unsigned int shift; /* Shift count to trasform frames in bytes */ | 1639 | unsigned int shift; /* Shift count to trasform frames in bytes */ |
1641 | snd_pcm_indirect_t pcm_rec; | 1640 | struct snd_pcm_indirect pcm_rec; |
1642 | snd_pcm_substream_t *substream; | 1641 | struct snd_pcm_substream *substream; |
1643 | 1642 | ||
1644 | pcm_channel_descriptor_t * pcm_channel; | 1643 | struct dsp_pcm_channel_descriptor * pcm_channel; |
1645 | 1644 | ||
1646 | int pcm_channel_id; /* Fron Rear, Center Lfe ... */ | 1645 | int pcm_channel_id; /* Fron Rear, Center Lfe ... */ |
1647 | } cs46xx_pcm_t; | 1646 | }; |
1648 | 1647 | ||
1649 | typedef struct { | 1648 | struct snd_cs46xx_region { |
1650 | char name[24]; | 1649 | char name[24]; |
1651 | unsigned long base; | 1650 | unsigned long base; |
1652 | void __iomem *remap_addr; | 1651 | void __iomem *remap_addr; |
1653 | unsigned long size; | 1652 | unsigned long size; |
1654 | struct resource *resource; | 1653 | struct resource *resource; |
1655 | } snd_cs46xx_region_t; | 1654 | }; |
1656 | 1655 | ||
1657 | struct _snd_cs46xx { | 1656 | struct snd_cs46xx { |
1658 | int irq; | 1657 | int irq; |
1659 | unsigned long ba0_addr; | 1658 | unsigned long ba0_addr; |
1660 | unsigned long ba1_addr; | 1659 | unsigned long ba1_addr; |
1661 | union { | 1660 | union { |
1662 | struct { | 1661 | struct { |
1663 | snd_cs46xx_region_t ba0; | 1662 | struct snd_cs46xx_region ba0; |
1664 | snd_cs46xx_region_t data0; | 1663 | struct snd_cs46xx_region data0; |
1665 | snd_cs46xx_region_t data1; | 1664 | struct snd_cs46xx_region data1; |
1666 | snd_cs46xx_region_t pmem; | 1665 | struct snd_cs46xx_region pmem; |
1667 | snd_cs46xx_region_t reg; | 1666 | struct snd_cs46xx_region reg; |
1668 | } name; | 1667 | } name; |
1669 | snd_cs46xx_region_t idx[5]; | 1668 | struct snd_cs46xx_region idx[5]; |
1670 | } region; | 1669 | } region; |
1671 | 1670 | ||
1672 | unsigned int mode; | 1671 | unsigned int mode; |
@@ -1676,34 +1675,34 @@ struct _snd_cs46xx { | |||
1676 | 1675 | ||
1677 | unsigned int ctl; | 1676 | unsigned int ctl; |
1678 | unsigned int shift; /* Shift count to trasform frames in bytes */ | 1677 | unsigned int shift; /* Shift count to trasform frames in bytes */ |
1679 | snd_pcm_indirect_t pcm_rec; | 1678 | struct snd_pcm_indirect pcm_rec; |
1680 | snd_pcm_substream_t *substream; | 1679 | struct snd_pcm_substream *substream; |
1681 | } capt; | 1680 | } capt; |
1682 | 1681 | ||
1683 | 1682 | ||
1684 | int nr_ac97_codecs; | 1683 | int nr_ac97_codecs; |
1685 | ac97_bus_t *ac97_bus; | 1684 | struct snd_ac97_bus *ac97_bus; |
1686 | ac97_t *ac97[MAX_NR_AC97]; | 1685 | struct snd_ac97 *ac97[MAX_NR_AC97]; |
1687 | 1686 | ||
1688 | struct pci_dev *pci; | 1687 | struct pci_dev *pci; |
1689 | snd_card_t *card; | 1688 | struct snd_card *card; |
1690 | snd_pcm_t *pcm; | 1689 | struct snd_pcm *pcm; |
1691 | 1690 | ||
1692 | snd_rawmidi_t *rmidi; | 1691 | struct snd_rawmidi *rmidi; |
1693 | snd_rawmidi_substream_t *midi_input; | 1692 | struct snd_rawmidi_substream *midi_input; |
1694 | snd_rawmidi_substream_t *midi_output; | 1693 | struct snd_rawmidi_substream *midi_output; |
1695 | 1694 | ||
1696 | spinlock_t reg_lock; | 1695 | spinlock_t reg_lock; |
1697 | unsigned int midcr; | 1696 | unsigned int midcr; |
1698 | unsigned int uartm; | 1697 | unsigned int uartm; |
1699 | 1698 | ||
1700 | int amplifier; | 1699 | int amplifier; |
1701 | void (*amplifier_ctrl)(cs46xx_t *, int); | 1700 | void (*amplifier_ctrl)(struct snd_cs46xx *, int); |
1702 | void (*active_ctrl)(cs46xx_t *, int); | 1701 | void (*active_ctrl)(struct snd_cs46xx *, int); |
1703 | void (*mixer_init)(cs46xx_t *); | 1702 | void (*mixer_init)(struct snd_cs46xx *); |
1704 | 1703 | ||
1705 | int acpi_port; | 1704 | int acpi_port; |
1706 | snd_kcontrol_t *eapd_switch; /* for amplifier hack */ | 1705 | struct snd_kcontrol *eapd_switch; /* for amplifier hack */ |
1707 | int accept_valid; /* accept mmap valid (for OSS) */ | 1706 | int accept_valid; /* accept mmap valid (for OSS) */ |
1708 | 1707 | ||
1709 | struct gameport *gameport; | 1708 | struct gameport *gameport; |
@@ -1714,29 +1713,29 @@ struct _snd_cs46xx { | |||
1714 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 1713 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
1715 | struct semaphore spos_mutex; | 1714 | struct semaphore spos_mutex; |
1716 | 1715 | ||
1717 | dsp_spos_instance_t * dsp_spos_instance; | 1716 | struct dsp_spos_instance * dsp_spos_instance; |
1718 | 1717 | ||
1719 | snd_pcm_t *pcm_rear; | 1718 | struct snd_pcm *pcm_rear; |
1720 | snd_pcm_t *pcm_center_lfe; | 1719 | struct snd_pcm *pcm_center_lfe; |
1721 | snd_pcm_t *pcm_iec958; | 1720 | struct snd_pcm *pcm_iec958; |
1722 | #else /* for compatibility */ | 1721 | #else /* for compatibility */ |
1723 | cs46xx_pcm_t *playback_pcm; | 1722 | struct snd_cs46xx_pcm *playback_pcm; |
1724 | unsigned int play_ctl; | 1723 | unsigned int play_ctl; |
1725 | #endif | 1724 | #endif |
1726 | }; | 1725 | }; |
1727 | 1726 | ||
1728 | int snd_cs46xx_create(snd_card_t *card, | 1727 | int snd_cs46xx_create(struct snd_card *card, |
1729 | struct pci_dev *pci, | 1728 | struct pci_dev *pci, |
1730 | int external_amp, int thinkpad, | 1729 | int external_amp, int thinkpad, |
1731 | cs46xx_t **rcodec); | 1730 | struct snd_cs46xx **rcodec); |
1732 | 1731 | ||
1733 | int snd_cs46xx_pcm(cs46xx_t *chip, int device, snd_pcm_t **rpcm); | 1732 | int snd_cs46xx_pcm(struct snd_cs46xx *chip, int device, struct snd_pcm **rpcm); |
1734 | int snd_cs46xx_pcm_rear(cs46xx_t *chip, int device, snd_pcm_t **rpcm); | 1733 | int snd_cs46xx_pcm_rear(struct snd_cs46xx *chip, int device, struct snd_pcm **rpcm); |
1735 | int snd_cs46xx_pcm_iec958(cs46xx_t *chip, int device, snd_pcm_t **rpcm); | 1734 | int snd_cs46xx_pcm_iec958(struct snd_cs46xx *chip, int device, struct snd_pcm **rpcm); |
1736 | int snd_cs46xx_pcm_center_lfe(cs46xx_t *chip, int device, snd_pcm_t **rpcm); | 1735 | int snd_cs46xx_pcm_center_lfe(struct snd_cs46xx *chip, int device, struct snd_pcm **rpcm); |
1737 | int snd_cs46xx_mixer(cs46xx_t *chip, int spdif_device); | 1736 | int snd_cs46xx_mixer(struct snd_cs46xx *chip, int spdif_device); |
1738 | int snd_cs46xx_midi(cs46xx_t *chip, int device, snd_rawmidi_t **rmidi); | 1737 | int snd_cs46xx_midi(struct snd_cs46xx *chip, int device, struct snd_rawmidi **rmidi); |
1739 | int snd_cs46xx_start_dsp(cs46xx_t *chip); | 1738 | int snd_cs46xx_start_dsp(struct snd_cs46xx *chip); |
1740 | int snd_cs46xx_gameport(cs46xx_t *chip); | 1739 | int snd_cs46xx_gameport(struct snd_cs46xx *chip); |
1741 | 1740 | ||
1742 | #endif /* __SOUND_CS46XX_H */ | 1741 | #endif /* __SOUND_CS46XX_H */ |
diff --git a/include/sound/cs46xx_dsp_scb_types.h b/include/sound/cs46xx_dsp_scb_types.h index 3f990a3a6903..9cb6c7d09567 100644 --- a/include/sound/cs46xx_dsp_scb_types.h +++ b/include/sound/cs46xx_dsp_scb_types.h | |||
@@ -41,7 +41,7 @@ | |||
41 | 41 | ||
42 | /* This structs are used internally by the SP */ | 42 | /* This structs are used internally by the SP */ |
43 | 43 | ||
44 | typedef struct _basic_dma_req_t { | 44 | struct dsp_basic_dma_req { |
45 | /* DMA Requestor Word 0 (DCW) fields: | 45 | /* DMA Requestor Word 0 (DCW) fields: |
46 | 46 | ||
47 | 31 [30-28]27 [26:24] 23 22 21 20 [19:18] [17:16] 15 14 13 12 11 10 9 8 7 6 [5:0] | 47 | 31 [30-28]27 [26:24] 23 22 21 20 [19:18] [17:16] 15 14 13 12 11 10 9 8 7 6 [5:0] |
@@ -53,9 +53,9 @@ typedef struct _basic_dma_req_t { | |||
53 | u32 dmw; /* DMA Mode Word */ | 53 | u32 dmw; /* DMA Mode Word */ |
54 | u32 saw; /* Source Address Word */ | 54 | u32 saw; /* Source Address Word */ |
55 | u32 daw; /* Destination Address Word */ | 55 | u32 daw; /* Destination Address Word */ |
56 | } basic_dma_req_t; | 56 | }; |
57 | 57 | ||
58 | typedef struct _scatter_gather_ext_t { | 58 | struct dsp_scatter_gather_ext { |
59 | u32 npaw; /* Next-Page Address Word */ | 59 | u32 npaw; /* Next-Page Address Word */ |
60 | 60 | ||
61 | /* DMA Requestor Word 5 (NPCW) fields: | 61 | /* DMA Requestor Word 5 (NPCW) fields: |
@@ -69,9 +69,9 @@ typedef struct _scatter_gather_ext_t { | |||
69 | u32 lbaw; /* Loop-Begin Address Word */ | 69 | u32 lbaw; /* Loop-Begin Address Word */ |
70 | u32 nplbaw; /* Next-Page after Loop-Begin Address Word */ | 70 | u32 nplbaw; /* Next-Page after Loop-Begin Address Word */ |
71 | u32 sgaw; /* Scatter/Gather Address Word */ | 71 | u32 sgaw; /* Scatter/Gather Address Word */ |
72 | } scatter_gather_ext_t; | 72 | }; |
73 | 73 | ||
74 | typedef struct _volume_control_t { | 74 | struct dsp_volume_control { |
75 | ___DSP_DUAL_16BIT_ALLOC( | 75 | ___DSP_DUAL_16BIT_ALLOC( |
76 | rightTarg, /* Target volume for left & right channels */ | 76 | rightTarg, /* Target volume for left & right channels */ |
77 | leftTarg | 77 | leftTarg |
@@ -80,10 +80,10 @@ typedef struct _volume_control_t { | |||
80 | rightVol, /* Current left & right channel volumes */ | 80 | rightVol, /* Current left & right channel volumes */ |
81 | leftVol | 81 | leftVol |
82 | ) | 82 | ) |
83 | } volume_control_t; | 83 | }; |
84 | 84 | ||
85 | /* Generic stream control block (SCB) structure definition */ | 85 | /* Generic stream control block (SCB) structure definition */ |
86 | typedef struct _generic_scb_t { | 86 | struct dsp_generic_scb { |
87 | /* For streaming I/O, the DSP should never alter any words in the DMA | 87 | /* For streaming I/O, the DSP should never alter any words in the DMA |
88 | requestor or the scatter/gather extension. Only ad hoc DMA request | 88 | requestor or the scatter/gather extension. Only ad hoc DMA request |
89 | streams are free to alter the requestor (currently only occur in the | 89 | streams are free to alter the requestor (currently only occur in the |
@@ -99,13 +99,13 @@ typedef struct _generic_scb_t { | |||
99 | 99 | ||
100 | /* Initialized by the host, only modified by DMA | 100 | /* Initialized by the host, only modified by DMA |
101 | R/O for the DSP task */ | 101 | R/O for the DSP task */ |
102 | basic_dma_req_t basic_req; /* Optional */ | 102 | struct dsp_basic_dma_req basic_req; /* Optional */ |
103 | 103 | ||
104 | /* Scatter/gather DMA requestor extension (5 ints) | 104 | /* Scatter/gather DMA requestor extension (5 ints) |
105 | Initialized by the host, only modified by DMA | 105 | Initialized by the host, only modified by DMA |
106 | DSP task never needs to even read these. | 106 | DSP task never needs to even read these. |
107 | */ | 107 | */ |
108 | scatter_gather_ext_t sg_ext; /* Optional */ | 108 | struct dsp_scatter_gather_ext sg_ext; /* Optional */ |
109 | 109 | ||
110 | /* Sublist pointer & next stream control block (SCB) link. | 110 | /* Sublist pointer & next stream control block (SCB) link. |
111 | Initialized & modified by the host R/O for the DSP task | 111 | Initialized & modified by the host R/O for the DSP task |
@@ -179,11 +179,11 @@ typedef struct _generic_scb_t { | |||
179 | 179 | ||
180 | These two 32-bit words are redefined for wavetable & 3-D voices. | 180 | These two 32-bit words are redefined for wavetable & 3-D voices. |
181 | */ | 181 | */ |
182 | volume_control_t vol_ctrl_t; /* Optional */ | 182 | struct dsp_volume_control vol_ctrl_t; /* Optional */ |
183 | } generic_scb_t; | 183 | }; |
184 | 184 | ||
185 | 185 | ||
186 | typedef struct _spos_control_block_t { | 186 | struct dsp_spos_control_block { |
187 | /* WARNING: Certain items in this structure are modified by the host | 187 | /* WARNING: Certain items in this structure are modified by the host |
188 | Any dword that can be modified by the host, must not be | 188 | Any dword that can be modified by the host, must not be |
189 | modified by the SP as the host can only do atomic dword | 189 | modified by the SP as the host can only do atomic dword |
@@ -273,10 +273,10 @@ typedef struct _spos_control_block_t { | |||
273 | u32 r32_save_for_spurious_int; | 273 | u32 r32_save_for_spurious_int; |
274 | u32 r32_save_for_trap; | 274 | u32 r32_save_for_trap; |
275 | u32 r32_save_for_HFG; | 275 | u32 r32_save_for_HFG; |
276 | } spos_control_block_t; | 276 | }; |
277 | 277 | ||
278 | /* SPB for MIX_TO_OSTREAM algorithm family */ | 278 | /* SPB for MIX_TO_OSTREAM algorithm family */ |
279 | typedef struct _mix2_ostream_spb_t | 279 | struct dsp_mix2_ostream_spb |
280 | { | 280 | { |
281 | /* 16b.16b integer.frac approximation to the | 281 | /* 16b.16b integer.frac approximation to the |
282 | number of 3 sample triplets to output each | 282 | number of 3 sample triplets to output each |
@@ -290,13 +290,13 @@ typedef struct _mix2_ostream_spb_t | |||
290 | output triplets since the start of group | 290 | output triplets since the start of group |
291 | */ | 291 | */ |
292 | u32 accumOutTriplets; | 292 | u32 accumOutTriplets; |
293 | } mix2_ostream_spb_t; | 293 | }; |
294 | 294 | ||
295 | /* SCB for Timing master algorithm */ | 295 | /* SCB for Timing master algorithm */ |
296 | typedef struct _timing_master_scb_t { | 296 | struct dsp_timing_master_scb { |
297 | /* First 12 dwords from generic_scb_t */ | 297 | /* First 12 dwords from generic_scb_t */ |
298 | basic_dma_req_t basic_req; /* Optional */ | 298 | struct dsp_basic_dma_req basic_req; /* Optional */ |
299 | scatter_gather_ext_t sg_ext; /* Optional */ | 299 | struct dsp_scatter_gather_ext sg_ext; /* Optional */ |
300 | ___DSP_DUAL_16BIT_ALLOC( | 300 | ___DSP_DUAL_16BIT_ALLOC( |
301 | next_scb, /* REQUIRED */ | 301 | next_scb, /* REQUIRED */ |
302 | sub_list_ptr /* REQUIRED */ | 302 | sub_list_ptr /* REQUIRED */ |
@@ -358,13 +358,13 @@ typedef struct _timing_master_scb_t { | |||
358 | number of samples to output each frame. | 358 | number of samples to output each frame. |
359 | (approximation must be floor, to insure */ | 359 | (approximation must be floor, to insure */ |
360 | u32 nsamp_per_frm_q15; | 360 | u32 nsamp_per_frm_q15; |
361 | } timing_master_scb_t; | 361 | }; |
362 | 362 | ||
363 | /* SCB for CODEC output algorithm */ | 363 | /* SCB for CODEC output algorithm */ |
364 | typedef struct _codec_output_scb_t { | 364 | struct dsp_codec_output_scb { |
365 | /* First 13 dwords from generic_scb_t */ | 365 | /* First 13 dwords from generic_scb_t */ |
366 | basic_dma_req_t basic_req; /* Optional */ | 366 | struct dsp_basic_dma_req basic_req; /* Optional */ |
367 | scatter_gather_ext_t sg_ext; /* Optional */ | 367 | struct dsp_scatter_gather_ext sg_ext; /* Optional */ |
368 | ___DSP_DUAL_16BIT_ALLOC( | 368 | ___DSP_DUAL_16BIT_ALLOC( |
369 | next_scb, /* REQUIRED */ | 369 | next_scb, /* REQUIRED */ |
370 | sub_list_ptr /* REQUIRED */ | 370 | sub_list_ptr /* REQUIRED */ |
@@ -422,13 +422,13 @@ typedef struct _codec_output_scb_t { | |||
422 | reserved, | 422 | reserved, |
423 | last_sub_ptr | 423 | last_sub_ptr |
424 | ) | 424 | ) |
425 | } codec_output_scb_t; | 425 | }; |
426 | 426 | ||
427 | /* SCB for CODEC input algorithm */ | 427 | /* SCB for CODEC input algorithm */ |
428 | typedef struct _codec_input_scb_t { | 428 | struct dsp_codec_input_scb { |
429 | /* First 13 dwords from generic_scb_t */ | 429 | /* First 13 dwords from generic_scb_t */ |
430 | basic_dma_req_t basic_req; /* Optional */ | 430 | struct dsp_basic_dma_req basic_req; /* Optional */ |
431 | scatter_gather_ext_t sg_ext; /* Optional */ | 431 | struct dsp_scatter_gather_ext sg_ext; /* Optional */ |
432 | ___DSP_DUAL_16BIT_ALLOC( | 432 | ___DSP_DUAL_16BIT_ALLOC( |
433 | next_scb, /* REQUIRED */ | 433 | next_scb, /* REQUIRED */ |
434 | sub_list_ptr /* REQUIRED */ | 434 | sub_list_ptr /* REQUIRED */ |
@@ -479,13 +479,13 @@ typedef struct _codec_input_scb_t { | |||
479 | ) | 479 | ) |
480 | 480 | ||
481 | u32 reserved2; | 481 | u32 reserved2; |
482 | } codec_input_scb_t; | 482 | }; |
483 | 483 | ||
484 | 484 | ||
485 | typedef struct _pcm_serial_input_scb_t { | 485 | struct dsp_pcm_serial_input_scb { |
486 | /* First 13 dwords from generic_scb_t */ | 486 | /* First 13 dwords from generic_scb_t */ |
487 | basic_dma_req_t basic_req; /* Optional */ | 487 | struct dsp_basic_dma_req basic_req; /* Optional */ |
488 | scatter_gather_ext_t sg_ext; /* Optional */ | 488 | struct dsp_scatter_gather_ext sg_ext; /* Optional */ |
489 | ___DSP_DUAL_16BIT_ALLOC( | 489 | ___DSP_DUAL_16BIT_ALLOC( |
490 | next_scb, /* REQUIRED */ | 490 | next_scb, /* REQUIRED */ |
491 | sub_list_ptr /* REQUIRED */ | 491 | sub_list_ptr /* REQUIRED */ |
@@ -512,11 +512,11 @@ typedef struct _pcm_serial_input_scb_t { | |||
512 | ) | 512 | ) |
513 | 513 | ||
514 | /* Initialized by the host (host updates target volumes) */ | 514 | /* Initialized by the host (host updates target volumes) */ |
515 | volume_control_t psi_vol_ctrl; | 515 | struct dsp_volume_control psi_vol_ctrl; |
516 | 516 | ||
517 | } pcm_serial_input_scb_t; | 517 | }; |
518 | 518 | ||
519 | typedef struct _src_task_scb_t { | 519 | struct dsp_src_task_scb { |
520 | ___DSP_DUAL_16BIT_ALLOC( | 520 | ___DSP_DUAL_16BIT_ALLOC( |
521 | frames_left_in_gof, | 521 | frames_left_in_gof, |
522 | gofs_left_in_sec | 522 | gofs_left_in_sec |
@@ -571,10 +571,10 @@ typedef struct _src_task_scb_t { | |||
571 | 571 | ||
572 | u32 phiIncr6int_26frac; | 572 | u32 phiIncr6int_26frac; |
573 | 573 | ||
574 | volume_control_t src_vol_ctrl; | 574 | struct dsp_volume_control src_vol_ctrl; |
575 | } src_task_scb_t; | 575 | }; |
576 | 576 | ||
577 | typedef struct _decimate_by_pow2_scb_t { | 577 | struct dsp_decimate_by_pow2_scb { |
578 | /* decimationFactor = 2, 4, or 8 (larger factors waste too much memory | 578 | /* decimationFactor = 2, 4, or 8 (larger factors waste too much memory |
579 | when compared to cascading decimators) | 579 | when compared to cascading decimators) |
580 | */ | 580 | */ |
@@ -648,10 +648,10 @@ typedef struct _decimate_by_pow2_scb_t { | |||
648 | 648 | ||
649 | u32 dec2_reserved4; | 649 | u32 dec2_reserved4; |
650 | 650 | ||
651 | volume_control_t dec2_vol_ctrl; /* Not used! */ | 651 | struct dsp_volume_control dec2_vol_ctrl; /* Not used! */ |
652 | } decimate_by_pow2_scb_t; | 652 | }; |
653 | 653 | ||
654 | typedef struct _vari_decimate_scb_t { | 654 | struct dsp_vari_decimate_scb { |
655 | ___DSP_DUAL_16BIT_ALLOC( | 655 | ___DSP_DUAL_16BIT_ALLOC( |
656 | vdec_frames_left_in_gof, | 656 | vdec_frames_left_in_gof, |
657 | vdec_gofs_left_in_sec | 657 | vdec_gofs_left_in_sec |
@@ -711,15 +711,15 @@ typedef struct _vari_decimate_scb_t { | |||
711 | 711 | ||
712 | u32 vdec_phi_incr_6int_26frac; | 712 | u32 vdec_phi_incr_6int_26frac; |
713 | 713 | ||
714 | volume_control_t vdec_vol_ctrl; | 714 | struct dsp_volume_control vdec_vol_ctrl; |
715 | } vari_decimate_scb_t; | 715 | }; |
716 | 716 | ||
717 | 717 | ||
718 | /* SCB for MIX_TO_OSTREAM algorithm family */ | 718 | /* SCB for MIX_TO_OSTREAM algorithm family */ |
719 | typedef struct _mix2_ostream_scb_t { | 719 | struct dsp_mix2_ostream_scb { |
720 | /* First 13 dwords from generic_scb_t */ | 720 | /* First 13 dwords from generic_scb_t */ |
721 | basic_dma_req_t basic_req; /* Optional */ | 721 | struct dsp_basic_dma_req basic_req; /* Optional */ |
722 | scatter_gather_ext_t sg_ext; /* Optional */ | 722 | struct dsp_scatter_gather_ext sg_ext; /* Optional */ |
723 | ___DSP_DUAL_16BIT_ALLOC( | 723 | ___DSP_DUAL_16BIT_ALLOC( |
724 | next_scb, /* REQUIRED */ | 724 | next_scb, /* REQUIRED */ |
725 | sub_list_ptr /* REQUIRED */ | 725 | sub_list_ptr /* REQUIRED */ |
@@ -758,14 +758,14 @@ typedef struct _mix2_ostream_scb_t { | |||
758 | const_FFFF, | 758 | const_FFFF, |
759 | const_zero | 759 | const_zero |
760 | ) | 760 | ) |
761 | } mix2_ostream_scb_t; | 761 | }; |
762 | 762 | ||
763 | 763 | ||
764 | /* SCB for S16_MIX algorithm */ | 764 | /* SCB for S16_MIX algorithm */ |
765 | typedef struct _mix_only_scb_t { | 765 | struct dsp_mix_only_scb { |
766 | /* First 13 dwords from generic_scb_t */ | 766 | /* First 13 dwords from generic_scb_t */ |
767 | basic_dma_req_t basic_req; /* Optional */ | 767 | struct dsp_basic_dma_req basic_req; /* Optional */ |
768 | scatter_gather_ext_t sg_ext; /* Optional */ | 768 | struct dsp_scatter_gather_ext sg_ext; /* Optional */ |
769 | ___DSP_DUAL_16BIT_ALLOC( | 769 | ___DSP_DUAL_16BIT_ALLOC( |
770 | next_scb, /* REQUIRED */ | 770 | next_scb, /* REQUIRED */ |
771 | sub_list_ptr /* REQUIRED */ | 771 | sub_list_ptr /* REQUIRED */ |
@@ -780,11 +780,11 @@ typedef struct _mix_only_scb_t { | |||
780 | u32 strm_buf_ptr; /* REQUIRED */ | 780 | u32 strm_buf_ptr; /* REQUIRED */ |
781 | 781 | ||
782 | u32 reserved; | 782 | u32 reserved; |
783 | volume_control_t vol_ctrl; | 783 | struct dsp_volume_control vol_ctrl; |
784 | } mix_only_scb_t; | 784 | }; |
785 | 785 | ||
786 | /* SCB for the async. CODEC input algorithm */ | 786 | /* SCB for the async. CODEC input algorithm */ |
787 | typedef struct _async_codec_input_scb_t { | 787 | struct dsp_async_codec_input_scb { |
788 | u32 io_free2; | 788 | u32 io_free2; |
789 | 789 | ||
790 | u32 io_current_total; | 790 | u32 io_current_total; |
@@ -837,11 +837,11 @@ typedef struct _async_codec_input_scb_t { | |||
837 | ) | 837 | ) |
838 | 838 | ||
839 | u32 i_free; | 839 | u32 i_free; |
840 | } async_codec_input_scb_t; | 840 | }; |
841 | 841 | ||
842 | 842 | ||
843 | /* SCB for the SP/DIF CODEC input and output */ | 843 | /* SCB for the SP/DIF CODEC input and output */ |
844 | typedef struct _spdifiscb_t { | 844 | struct dsp_spdifiscb { |
845 | ___DSP_DUAL_16BIT_ALLOC( | 845 | ___DSP_DUAL_16BIT_ALLOC( |
846 | status_ptr, | 846 | status_ptr, |
847 | status_start_ptr | 847 | status_start_ptr |
@@ -895,12 +895,11 @@ typedef struct _spdifiscb_t { | |||
895 | ) | 895 | ) |
896 | 896 | ||
897 | u32 free1; | 897 | u32 free1; |
898 | } spdifiscb_t; | 898 | }; |
899 | 899 | ||
900 | 900 | ||
901 | /* SCB for the SP/DIF CODEC input and output */ | 901 | /* SCB for the SP/DIF CODEC input and output */ |
902 | typedef struct _spdifoscb_t { | 902 | struct dsp_spdifoscb { |
903 | |||
904 | 903 | ||
905 | u32 free2; | 904 | u32 free2; |
906 | 905 | ||
@@ -941,11 +940,10 @@ typedef struct _spdifoscb_t { | |||
941 | ) | 940 | ) |
942 | 941 | ||
943 | u32 free1; | 942 | u32 free1; |
944 | } spdifoscb_t; | 943 | }; |
945 | |||
946 | 944 | ||
947 | 945 | ||
948 | typedef struct _asynch_fg_rx_scb_t { | 946 | struct dsp_asynch_fg_rx_scb { |
949 | ___DSP_DUAL_16BIT_ALLOC( | 947 | ___DSP_DUAL_16BIT_ALLOC( |
950 | bot_buf_mask, | 948 | bot_buf_mask, |
951 | buf_Mask | 949 | buf_Mask |
@@ -993,11 +991,10 @@ typedef struct _asynch_fg_rx_scb_t { | |||
993 | right_vol, | 991 | right_vol, |
994 | left_vol | 992 | left_vol |
995 | ) | 993 | ) |
996 | } asynch_fg_rx_scb_t; | 994 | }; |
997 | |||
998 | 995 | ||
999 | 996 | ||
1000 | typedef struct _asynch_fg_tx_scb_t { | 997 | struct dsp_asynch_fg_tx_scb { |
1001 | ___DSP_DUAL_16BIT_ALLOC( | 998 | ___DSP_DUAL_16BIT_ALLOC( |
1002 | not_buf_mask, | 999 | not_buf_mask, |
1003 | buf_mask | 1000 | buf_mask |
@@ -1052,13 +1049,13 @@ typedef struct _asynch_fg_tx_scb_t { | |||
1052 | unused_right_vol, | 1049 | unused_right_vol, |
1053 | unused_left_vol | 1050 | unused_left_vol |
1054 | ) | 1051 | ) |
1055 | } asynch_fg_tx_scb_t; | 1052 | }; |
1056 | 1053 | ||
1057 | 1054 | ||
1058 | typedef struct _output_snoop_scb_t { | 1055 | struct dsp_output_snoop_scb { |
1059 | /* First 13 dwords from generic_scb_t */ | 1056 | /* First 13 dwords from generic_scb_t */ |
1060 | basic_dma_req_t basic_req; /* Optional */ | 1057 | struct dsp_basic_dma_req basic_req; /* Optional */ |
1061 | scatter_gather_ext_t sg_ext; /* Optional */ | 1058 | struct dsp_scatter_gather_ext sg_ext; /* Optional */ |
1062 | ___DSP_DUAL_16BIT_ALLOC( | 1059 | ___DSP_DUAL_16BIT_ALLOC( |
1063 | next_scb, /* REQUIRED */ | 1060 | next_scb, /* REQUIRED */ |
1064 | sub_list_ptr /* REQUIRED */ | 1061 | sub_list_ptr /* REQUIRED */ |
@@ -1083,9 +1080,9 @@ typedef struct _output_snoop_scb_t { | |||
1083 | reserved, | 1080 | reserved, |
1084 | input_scb | 1081 | input_scb |
1085 | ) | 1082 | ) |
1086 | } output_snoop_scb_t; | 1083 | }; |
1087 | 1084 | ||
1088 | typedef struct _spio_write_scb_t { | 1085 | struct dsp_spio_write_scb { |
1089 | ___DSP_DUAL_16BIT_ALLOC( | 1086 | ___DSP_DUAL_16BIT_ALLOC( |
1090 | address1, | 1087 | address1, |
1091 | address2 | 1088 | address2 |
@@ -1122,9 +1119,9 @@ typedef struct _spio_write_scb_t { | |||
1122 | ) | 1119 | ) |
1123 | 1120 | ||
1124 | u32 unused3[5]; | 1121 | u32 unused3[5]; |
1125 | } spio_write_scb_t; | 1122 | }; |
1126 | 1123 | ||
1127 | typedef struct _magic_snoop_task_t { | 1124 | struct dsp_magic_snoop_task { |
1128 | u32 i0; | 1125 | u32 i0; |
1129 | u32 i1; | 1126 | u32 i1; |
1130 | 1127 | ||
@@ -1155,11 +1152,11 @@ typedef struct _magic_snoop_task_t { | |||
1155 | 1152 | ||
1156 | u32 i8; | 1153 | u32 i8; |
1157 | 1154 | ||
1158 | volume_control_t vdec_vol_ctrl; | 1155 | struct dsp_volume_control vdec_vol_ctrl; |
1159 | } magic_snoop_task_t; | 1156 | }; |
1160 | 1157 | ||
1161 | 1158 | ||
1162 | typedef struct _filter_scb_t { | 1159 | struct dsp_filter_scb { |
1163 | ___DSP_DUAL_16BIT_ALLOC( | 1160 | ___DSP_DUAL_16BIT_ALLOC( |
1164 | a0_right, /* 0x00 */ | 1161 | a0_right, /* 0x00 */ |
1165 | a0_left | 1162 | a0_left |
@@ -1212,5 +1209,5 @@ typedef struct _filter_scb_t { | |||
1212 | b2_right, /* 0x0F */ | 1209 | b2_right, /* 0x0F */ |
1213 | b2_left | 1210 | b2_left |
1214 | ) | 1211 | ) |
1215 | } filter_scb_t; | 1212 | }; |
1216 | #endif /* __DSP_SCB_TYPES_H__ */ | 1213 | #endif /* __DSP_SCB_TYPES_H__ */ |
diff --git a/include/sound/cs46xx_dsp_spos.h b/include/sound/cs46xx_dsp_spos.h index 10014cb62423..da934def31e9 100644 --- a/include/sound/cs46xx_dsp_spos.h +++ b/include/sound/cs46xx_dsp_spos.h | |||
@@ -65,133 +65,130 @@ | |||
65 | #define DSP_SPDIF_STATUS_HW_ENABLED 4 | 65 | #define DSP_SPDIF_STATUS_HW_ENABLED 4 |
66 | #define DSP_SPDIF_STATUS_INPUT_CTRL_ENABLED 8 | 66 | #define DSP_SPDIF_STATUS_INPUT_CTRL_ENABLED 8 |
67 | 67 | ||
68 | struct _dsp_module_desc_t; | 68 | struct dsp_symbol_entry { |
69 | |||
70 | typedef struct _symbol_entry_t { | ||
71 | u32 address; | 69 | u32 address; |
72 | char symbol_name[DSP_MAX_SYMBOL_NAME]; | 70 | char symbol_name[DSP_MAX_SYMBOL_NAME]; |
73 | int symbol_type; | 71 | int symbol_type; |
74 | 72 | ||
75 | /* initialized by driver */ | 73 | /* initialized by driver */ |
76 | struct _dsp_module_desc_t * module; | 74 | struct dsp_module_desc * module; |
77 | int deleted; | 75 | int deleted; |
78 | } symbol_entry_t; | 76 | }; |
79 | 77 | ||
80 | typedef struct _symbol_desc_t { | 78 | struct dsp_symbol_desc { |
81 | int nsymbols; | 79 | int nsymbols; |
82 | 80 | ||
83 | symbol_entry_t * symbols; | 81 | struct dsp_symbol_entry *symbols; |
84 | 82 | ||
85 | /* initialized by driver */ | 83 | /* initialized by driver */ |
86 | int highest_frag_index; | 84 | int highest_frag_index; |
87 | } symbol_desc_t; | 85 | }; |
88 | |||
89 | 86 | ||
90 | typedef struct _segment_desc_t { | 87 | struct dsp_segment_desc { |
91 | int segment_type; | 88 | int segment_type; |
92 | u32 offset; | 89 | u32 offset; |
93 | u32 size; | 90 | u32 size; |
94 | u32 * data; | 91 | u32 * data; |
95 | } segment_desc_t; | 92 | }; |
96 | 93 | ||
97 | typedef struct _dsp_module_desc_t { | 94 | struct dsp_module_desc { |
98 | char * module_name; | 95 | char * module_name; |
99 | symbol_desc_t symbol_table; | 96 | struct dsp_symbol_desc symbol_table; |
100 | int nsegments; | 97 | int nsegments; |
101 | segment_desc_t * segments; | 98 | struct dsp_segment_desc * segments; |
102 | 99 | ||
103 | /* initialized by driver */ | 100 | /* initialized by driver */ |
104 | u32 overlay_begin_address; | 101 | u32 overlay_begin_address; |
105 | u32 load_address; | 102 | u32 load_address; |
106 | int nfixups; | 103 | int nfixups; |
107 | } dsp_module_desc_t; | 104 | }; |
108 | 105 | ||
109 | typedef struct _dsp_scb_descriptor_t { | 106 | struct dsp_scb_descriptor { |
110 | char scb_name[DSP_MAX_SCB_NAME]; | 107 | char scb_name[DSP_MAX_SCB_NAME]; |
111 | u32 address; | 108 | u32 address; |
112 | int index; | 109 | int index; |
113 | 110 | ||
114 | struct _dsp_scb_descriptor_t * sub_list_ptr; | 111 | struct dsp_scb_descriptor * sub_list_ptr; |
115 | struct _dsp_scb_descriptor_t * next_scb_ptr; | 112 | struct dsp_scb_descriptor * next_scb_ptr; |
116 | struct _dsp_scb_descriptor_t * parent_scb_ptr; | 113 | struct dsp_scb_descriptor * parent_scb_ptr; |
117 | 114 | ||
118 | symbol_entry_t * task_entry; | 115 | struct dsp_symbol_entry * task_entry; |
119 | symbol_entry_t * scb_symbol; | 116 | struct dsp_symbol_entry * scb_symbol; |
120 | 117 | ||
121 | snd_info_entry_t *proc_info; | 118 | struct snd_info_entry *proc_info; |
122 | int ref_count; | 119 | int ref_count; |
123 | spinlock_t lock; | 120 | spinlock_t lock; |
124 | 121 | ||
125 | int deleted; | 122 | int deleted; |
126 | } dsp_scb_descriptor_t; | 123 | }; |
127 | 124 | ||
128 | typedef struct _dsp_task_descriptor_t { | 125 | struct dsp_task_descriptor { |
129 | char task_name[DSP_MAX_TASK_NAME]; | 126 | char task_name[DSP_MAX_TASK_NAME]; |
130 | int size; | 127 | int size; |
131 | u32 address; | 128 | u32 address; |
132 | int index; | 129 | int index; |
133 | } dsp_task_descriptor_t; | 130 | }; |
134 | 131 | ||
135 | typedef struct _pcm_channel_descriptor_t { | 132 | struct dsp_pcm_channel_descriptor { |
136 | int active; | 133 | int active; |
137 | int src_slot; | 134 | int src_slot; |
138 | int pcm_slot; | 135 | int pcm_slot; |
139 | u32 sample_rate; | 136 | u32 sample_rate; |
140 | u32 unlinked; | 137 | u32 unlinked; |
141 | dsp_scb_descriptor_t * pcm_reader_scb; | 138 | struct dsp_scb_descriptor * pcm_reader_scb; |
142 | dsp_scb_descriptor_t * src_scb; | 139 | struct dsp_scb_descriptor * src_scb; |
143 | dsp_scb_descriptor_t * mixer_scb; | 140 | struct dsp_scb_descriptor * mixer_scb; |
144 | 141 | ||
145 | void * private_data; | 142 | void * private_data; |
146 | } pcm_channel_descriptor_t; | 143 | }; |
147 | 144 | ||
148 | typedef struct _dsp_spos_instance_t { | 145 | struct dsp_spos_instance { |
149 | symbol_desc_t symbol_table; /* currently availble loaded symbols in SP */ | 146 | struct dsp_symbol_desc symbol_table; /* currently availble loaded symbols in SP */ |
150 | 147 | ||
151 | int nmodules; | 148 | int nmodules; |
152 | dsp_module_desc_t * modules; /* modules loaded into SP */ | 149 | struct dsp_module_desc * modules; /* modules loaded into SP */ |
153 | 150 | ||
154 | segment_desc_t code; | 151 | struct dsp_segment_desc code; |
155 | 152 | ||
156 | /* Main PCM playback mixer */ | 153 | /* Main PCM playback mixer */ |
157 | dsp_scb_descriptor_t * master_mix_scb; | 154 | struct dsp_scb_descriptor * master_mix_scb; |
158 | u16 dac_volume_right; | 155 | u16 dac_volume_right; |
159 | u16 dac_volume_left; | 156 | u16 dac_volume_left; |
160 | 157 | ||
161 | /* Rear/surround PCM playback mixer */ | 158 | /* Rear/surround PCM playback mixer */ |
162 | dsp_scb_descriptor_t * rear_mix_scb; | 159 | struct dsp_scb_descriptor * rear_mix_scb; |
163 | 160 | ||
164 | /* Center/LFE mixer */ | 161 | /* Center/LFE mixer */ |
165 | dsp_scb_descriptor_t * center_lfe_mix_scb; | 162 | struct dsp_scb_descriptor * center_lfe_mix_scb; |
166 | 163 | ||
167 | int npcm_channels; | 164 | int npcm_channels; |
168 | int nsrc_scb; | 165 | int nsrc_scb; |
169 | pcm_channel_descriptor_t pcm_channels[DSP_MAX_PCM_CHANNELS]; | 166 | struct dsp_pcm_channel_descriptor pcm_channels[DSP_MAX_PCM_CHANNELS]; |
170 | int src_scb_slots[DSP_MAX_SRC_NR]; | 167 | int src_scb_slots[DSP_MAX_SRC_NR]; |
171 | 168 | ||
172 | /* cache this symbols */ | 169 | /* cache this symbols */ |
173 | symbol_entry_t * null_algorithm; /* used by PCMreaderSCB's */ | 170 | struct dsp_symbol_entry * null_algorithm; /* used by PCMreaderSCB's */ |
174 | symbol_entry_t * s16_up; /* used by SRCtaskSCB's */ | 171 | struct dsp_symbol_entry * s16_up; /* used by SRCtaskSCB's */ |
175 | 172 | ||
176 | /* proc fs */ | 173 | /* proc fs */ |
177 | snd_card_t * snd_card; | 174 | struct snd_card *snd_card; |
178 | snd_info_entry_t * proc_dsp_dir; | 175 | struct snd_info_entry * proc_dsp_dir; |
179 | snd_info_entry_t * proc_sym_info_entry; | 176 | struct snd_info_entry * proc_sym_info_entry; |
180 | snd_info_entry_t * proc_modules_info_entry; | 177 | struct snd_info_entry * proc_modules_info_entry; |
181 | snd_info_entry_t * proc_parameter_dump_info_entry; | 178 | struct snd_info_entry * proc_parameter_dump_info_entry; |
182 | snd_info_entry_t * proc_sample_dump_info_entry; | 179 | struct snd_info_entry * proc_sample_dump_info_entry; |
183 | 180 | ||
184 | /* SCB's descriptors */ | 181 | /* SCB's descriptors */ |
185 | int nscb; | 182 | int nscb; |
186 | int scb_highest_frag_index; | 183 | int scb_highest_frag_index; |
187 | dsp_scb_descriptor_t scbs[DSP_MAX_SCB_DESC]; | 184 | struct dsp_scb_descriptor scbs[DSP_MAX_SCB_DESC]; |
188 | snd_info_entry_t * proc_scb_info_entry; | 185 | struct snd_info_entry * proc_scb_info_entry; |
189 | dsp_scb_descriptor_t * the_null_scb; | 186 | struct dsp_scb_descriptor * the_null_scb; |
190 | 187 | ||
191 | /* Task's descriptors */ | 188 | /* Task's descriptors */ |
192 | int ntask; | 189 | int ntask; |
193 | dsp_task_descriptor_t tasks[DSP_MAX_TASK_DESC]; | 190 | struct dsp_task_descriptor tasks[DSP_MAX_TASK_DESC]; |
194 | snd_info_entry_t * proc_task_info_entry; | 191 | struct snd_info_entry * proc_task_info_entry; |
195 | 192 | ||
196 | /* SPDIF status */ | 193 | /* SPDIF status */ |
197 | int spdif_status_out; | 194 | int spdif_status_out; |
@@ -204,30 +201,30 @@ typedef struct _dsp_spos_instance_t { | |||
204 | unsigned int spdif_csuv_stream; | 201 | unsigned int spdif_csuv_stream; |
205 | 202 | ||
206 | /* SPDIF input sample rate converter */ | 203 | /* SPDIF input sample rate converter */ |
207 | dsp_scb_descriptor_t * spdif_in_src; | 204 | struct dsp_scb_descriptor * spdif_in_src; |
208 | /* SPDIF input asynch. receiver */ | 205 | /* SPDIF input asynch. receiver */ |
209 | dsp_scb_descriptor_t * asynch_rx_scb; | 206 | struct dsp_scb_descriptor * asynch_rx_scb; |
210 | 207 | ||
211 | /* Capture record mixer SCB */ | 208 | /* Capture record mixer SCB */ |
212 | dsp_scb_descriptor_t * record_mixer_scb; | 209 | struct dsp_scb_descriptor * record_mixer_scb; |
213 | 210 | ||
214 | /* CODEC input SCB */ | 211 | /* CODEC input SCB */ |
215 | dsp_scb_descriptor_t * codec_in_scb; | 212 | struct dsp_scb_descriptor * codec_in_scb; |
216 | 213 | ||
217 | /* reference snooper */ | 214 | /* reference snooper */ |
218 | dsp_scb_descriptor_t * ref_snoop_scb; | 215 | struct dsp_scb_descriptor * ref_snoop_scb; |
219 | 216 | ||
220 | /* SPDIF output PCM reference */ | 217 | /* SPDIF output PCM reference */ |
221 | dsp_scb_descriptor_t * spdif_pcm_input_scb; | 218 | struct dsp_scb_descriptor * spdif_pcm_input_scb; |
222 | 219 | ||
223 | /* asynch TX task */ | 220 | /* asynch TX task */ |
224 | dsp_scb_descriptor_t * asynch_tx_scb; | 221 | struct dsp_scb_descriptor * asynch_tx_scb; |
225 | 222 | ||
226 | /* record sources */ | 223 | /* record sources */ |
227 | dsp_scb_descriptor_t * pcm_input; | 224 | struct dsp_scb_descriptor * pcm_input; |
228 | dsp_scb_descriptor_t * adc_input; | 225 | struct dsp_scb_descriptor * adc_input; |
229 | 226 | ||
230 | int spdif_in_sample_rate; | 227 | int spdif_in_sample_rate; |
231 | } dsp_spos_instance_t; | 228 | }; |
232 | 229 | ||
233 | #endif /* __DSP_SPOS_H__ */ | 230 | #endif /* __DSP_SPOS_H__ */ |
diff --git a/include/sound/cs46xx_dsp_task_types.h b/include/sound/cs46xx_dsp_task_types.h index 5dd3bf69cb03..b3076c487de6 100644 --- a/include/sound/cs46xx_dsp_task_types.h +++ b/include/sound/cs46xx_dsp_task_types.h | |||
@@ -71,7 +71,7 @@ Ptr____Call (c) | |||
71 | at the end of BG */ | 71 | at the end of BG */ |
72 | 72 | ||
73 | /* Minimal context save area for Hyper Forground */ | 73 | /* Minimal context save area for Hyper Forground */ |
74 | typedef struct _hf_save_area_t { | 74 | struct dsp_hf_save_area { |
75 | u32 r10_save; | 75 | u32 r10_save; |
76 | u32 r54_save; | 76 | u32 r54_save; |
77 | u32 r98_save; | 77 | u32 r98_save; |
@@ -96,11 +96,11 @@ typedef struct _hf_save_area_t { | |||
96 | rsa2Save | 96 | rsa2Save |
97 | ) | 97 | ) |
98 | /* saved as part of HFG context */ | 98 | /* saved as part of HFG context */ |
99 | } hf_save_area_t; | 99 | }; |
100 | 100 | ||
101 | 101 | ||
102 | /* Task link data structure */ | 102 | /* Task link data structure */ |
103 | typedef struct _tree_link_t { | 103 | struct dsp_tree_link { |
104 | ___DSP_DUAL_16BIT_ALLOC( | 104 | ___DSP_DUAL_16BIT_ALLOC( |
105 | /* Pointer to sibling task control block */ | 105 | /* Pointer to sibling task control block */ |
106 | next_scb, | 106 | next_scb, |
@@ -114,10 +114,10 @@ typedef struct _tree_link_t { | |||
114 | /* Pointer to local data */ | 114 | /* Pointer to local data */ |
115 | this_spb | 115 | this_spb |
116 | ) | 116 | ) |
117 | } tree_link_t; | 117 | }; |
118 | 118 | ||
119 | 119 | ||
120 | typedef struct _task_tree_data_t { | 120 | struct dsp_task_tree_data { |
121 | ___DSP_DUAL_16BIT_ALLOC( | 121 | ___DSP_DUAL_16BIT_ALLOC( |
122 | /* Initial tock count; controls task tree execution rate */ | 122 | /* Initial tock count; controls task tree execution rate */ |
123 | tock_count_limit, | 123 | tock_count_limit, |
@@ -155,11 +155,10 @@ typedef struct _task_tree_data_t { | |||
155 | data_stack_base_ptr | 155 | data_stack_base_ptr |
156 | ) | 156 | ) |
157 | 157 | ||
158 | } task_tree_data_t; | 158 | }; |
159 | 159 | ||
160 | 160 | ||
161 | 161 | struct dsp_interval_timer_data | |
162 | typedef struct _interval_timer_data_t | ||
163 | { | 162 | { |
164 | /* These data items have the same relative locations to those */ | 163 | /* These data items have the same relative locations to those */ |
165 | ___DSP_DUAL_16BIT_ALLOC( | 164 | ___DSP_DUAL_16BIT_ALLOC( |
@@ -172,12 +171,12 @@ typedef struct _interval_timer_data_t | |||
172 | num_FG_ticks_this_interval, | 171 | num_FG_ticks_this_interval, |
173 | num_intervals | 172 | num_intervals |
174 | ) | 173 | ) |
175 | } interval_timer_data_t; | 174 | }; |
176 | 175 | ||
177 | 176 | ||
178 | /* This structure contains extra storage for the task tree | 177 | /* This structure contains extra storage for the task tree |
179 | Currently, this additional data is related only to a full context save */ | 178 | Currently, this additional data is related only to a full context save */ |
180 | typedef struct _task_tree_context_block_t { | 179 | struct dsp_task_tree_context_block { |
181 | /* Up to 10 values are saved onto the stack. 8 for the task tree, 1 for | 180 | /* Up to 10 values are saved onto the stack. 8 for the task tree, 1 for |
182 | The access to the context switch (call or interrupt), and 1 spare that | 181 | The access to the context switch (call or interrupt), and 1 spare that |
183 | users should never use. This last may be required by the system */ | 182 | users should never use. This last may be required by the system */ |
@@ -238,16 +237,16 @@ typedef struct _task_tree_context_block_t { | |||
238 | u32 saveaux2xaux3x; | 237 | u32 saveaux2xaux3x; |
239 | u32 savershouthl; | 238 | u32 savershouthl; |
240 | u32 savershoutxmacmode; | 239 | u32 savershoutxmacmode; |
241 | } task_tree_context_block_t; | 240 | }; |
242 | 241 | ||
243 | 242 | ||
244 | typedef struct _task_tree_control_block_t { | 243 | struct dsp_task_tree_control_block { |
245 | hf_save_area_t context; | 244 | struct dsp_hf_save_area context; |
246 | tree_link_t links; | 245 | struct dsp_tree_link links; |
247 | task_tree_data_t data; | 246 | struct dsp_task_tree_data data; |
248 | task_tree_context_block_t context_blk; | 247 | struct dsp_task_tree_context_block context_blk; |
249 | interval_timer_data_t int_timer; | 248 | struct dsp_interval_timer_data int_timer; |
250 | } task_tree_control_block_t; | 249 | }; |
251 | 250 | ||
252 | 251 | ||
253 | #endif /* __DSP_TASK_TYPES_H__ */ | 252 | #endif /* __DSP_TASK_TYPES_H__ */ |
diff --git a/sound/pci/cs46xx/cs46xx.c b/sound/pci/cs46xx/cs46xx.c index b9fff4ee6f9d..7d6b29e5433a 100644 --- a/sound/pci/cs46xx/cs46xx.c +++ b/sound/pci/cs46xx/cs46xx.c | |||
@@ -78,8 +78,8 @@ static int __devinit snd_card_cs46xx_probe(struct pci_dev *pci, | |||
78 | const struct pci_device_id *pci_id) | 78 | const struct pci_device_id *pci_id) |
79 | { | 79 | { |
80 | static int dev; | 80 | static int dev; |
81 | snd_card_t *card; | 81 | struct snd_card *card; |
82 | cs46xx_t *chip; | 82 | struct snd_cs46xx *chip; |
83 | int err; | 83 | int err; |
84 | 84 | ||
85 | if (dev >= SNDRV_CARDS) | 85 | if (dev >= SNDRV_CARDS) |
diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c index 9a86148d7188..11d91d08a14c 100644 --- a/sound/pci/cs46xx/cs46xx_lib.c +++ b/sound/pci/cs46xx/cs46xx_lib.c | |||
@@ -66,23 +66,23 @@ | |||
66 | #include "cs46xx_lib.h" | 66 | #include "cs46xx_lib.h" |
67 | #include "dsp_spos.h" | 67 | #include "dsp_spos.h" |
68 | 68 | ||
69 | static void amp_voyetra(cs46xx_t *chip, int change); | 69 | static void amp_voyetra(struct snd_cs46xx *chip, int change); |
70 | 70 | ||
71 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 71 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
72 | static snd_pcm_ops_t snd_cs46xx_playback_rear_ops; | 72 | static struct snd_pcm_ops snd_cs46xx_playback_rear_ops; |
73 | static snd_pcm_ops_t snd_cs46xx_playback_indirect_rear_ops; | 73 | static struct snd_pcm_ops snd_cs46xx_playback_indirect_rear_ops; |
74 | static snd_pcm_ops_t snd_cs46xx_playback_clfe_ops; | 74 | static struct snd_pcm_ops snd_cs46xx_playback_clfe_ops; |
75 | static snd_pcm_ops_t snd_cs46xx_playback_indirect_clfe_ops; | 75 | static struct snd_pcm_ops snd_cs46xx_playback_indirect_clfe_ops; |
76 | static snd_pcm_ops_t snd_cs46xx_playback_iec958_ops; | 76 | static struct snd_pcm_ops snd_cs46xx_playback_iec958_ops; |
77 | static snd_pcm_ops_t snd_cs46xx_playback_indirect_iec958_ops; | 77 | static struct snd_pcm_ops snd_cs46xx_playback_indirect_iec958_ops; |
78 | #endif | 78 | #endif |
79 | 79 | ||
80 | static snd_pcm_ops_t snd_cs46xx_playback_ops; | 80 | static struct snd_pcm_ops snd_cs46xx_playback_ops; |
81 | static snd_pcm_ops_t snd_cs46xx_playback_indirect_ops; | 81 | static struct snd_pcm_ops snd_cs46xx_playback_indirect_ops; |
82 | static snd_pcm_ops_t snd_cs46xx_capture_ops; | 82 | static struct snd_pcm_ops snd_cs46xx_capture_ops; |
83 | static snd_pcm_ops_t snd_cs46xx_capture_indirect_ops; | 83 | static struct snd_pcm_ops snd_cs46xx_capture_indirect_ops; |
84 | 84 | ||
85 | static unsigned short snd_cs46xx_codec_read(cs46xx_t *chip, | 85 | static unsigned short snd_cs46xx_codec_read(struct snd_cs46xx *chip, |
86 | unsigned short reg, | 86 | unsigned short reg, |
87 | int codec_index) | 87 | int codec_index) |
88 | { | 88 | { |
@@ -204,10 +204,10 @@ static unsigned short snd_cs46xx_codec_read(cs46xx_t *chip, | |||
204 | return result; | 204 | return result; |
205 | } | 205 | } |
206 | 206 | ||
207 | static unsigned short snd_cs46xx_ac97_read(ac97_t * ac97, | 207 | static unsigned short snd_cs46xx_ac97_read(struct snd_ac97 * ac97, |
208 | unsigned short reg) | 208 | unsigned short reg) |
209 | { | 209 | { |
210 | cs46xx_t *chip = ac97->private_data; | 210 | struct snd_cs46xx *chip = ac97->private_data; |
211 | unsigned short val; | 211 | unsigned short val; |
212 | int codec_index = ac97->num; | 212 | int codec_index = ac97->num; |
213 | 213 | ||
@@ -221,7 +221,7 @@ static unsigned short snd_cs46xx_ac97_read(ac97_t * ac97, | |||
221 | } | 221 | } |
222 | 222 | ||
223 | 223 | ||
224 | static void snd_cs46xx_codec_write(cs46xx_t *chip, | 224 | static void snd_cs46xx_codec_write(struct snd_cs46xx *chip, |
225 | unsigned short reg, | 225 | unsigned short reg, |
226 | unsigned short val, | 226 | unsigned short val, |
227 | int codec_index) | 227 | int codec_index) |
@@ -286,11 +286,11 @@ static void snd_cs46xx_codec_write(cs46xx_t *chip, | |||
286 | chip->active_ctrl(chip, -1); | 286 | chip->active_ctrl(chip, -1); |
287 | } | 287 | } |
288 | 288 | ||
289 | static void snd_cs46xx_ac97_write(ac97_t *ac97, | 289 | static void snd_cs46xx_ac97_write(struct snd_ac97 *ac97, |
290 | unsigned short reg, | 290 | unsigned short reg, |
291 | unsigned short val) | 291 | unsigned short val) |
292 | { | 292 | { |
293 | cs46xx_t *chip = ac97->private_data; | 293 | struct snd_cs46xx *chip = ac97->private_data; |
294 | int codec_index = ac97->num; | 294 | int codec_index = ac97->num; |
295 | 295 | ||
296 | snd_assert(codec_index == CS46XX_PRIMARY_CODEC_INDEX || | 296 | snd_assert(codec_index == CS46XX_PRIMARY_CODEC_INDEX || |
@@ -305,7 +305,7 @@ static void snd_cs46xx_ac97_write(ac97_t *ac97, | |||
305 | * Chip initialization | 305 | * Chip initialization |
306 | */ | 306 | */ |
307 | 307 | ||
308 | int snd_cs46xx_download(cs46xx_t *chip, | 308 | int snd_cs46xx_download(struct snd_cs46xx *chip, |
309 | u32 *src, | 309 | u32 *src, |
310 | unsigned long offset, | 310 | unsigned long offset, |
311 | unsigned long len) | 311 | unsigned long len) |
@@ -334,7 +334,7 @@ int snd_cs46xx_download(cs46xx_t *chip, | |||
334 | #include "imgs/cwcbinhack.h" | 334 | #include "imgs/cwcbinhack.h" |
335 | #include "imgs/cwcdma.h" | 335 | #include "imgs/cwcdma.h" |
336 | 336 | ||
337 | int snd_cs46xx_clear_BA1(cs46xx_t *chip, | 337 | int snd_cs46xx_clear_BA1(struct snd_cs46xx *chip, |
338 | unsigned long offset, | 338 | unsigned long offset, |
339 | unsigned long len) | 339 | unsigned long len) |
340 | { | 340 | { |
@@ -358,7 +358,7 @@ int snd_cs46xx_clear_BA1(cs46xx_t *chip, | |||
358 | 358 | ||
359 | #include "cs46xx_image.h" | 359 | #include "cs46xx_image.h" |
360 | 360 | ||
361 | int snd_cs46xx_download_image(cs46xx_t *chip) | 361 | int snd_cs46xx_download_image(struct snd_cs46xx *chip) |
362 | { | 362 | { |
363 | int idx, err; | 363 | int idx, err; |
364 | unsigned long offset = 0; | 364 | unsigned long offset = 0; |
@@ -379,7 +379,7 @@ int snd_cs46xx_download_image(cs46xx_t *chip) | |||
379 | * Chip reset | 379 | * Chip reset |
380 | */ | 380 | */ |
381 | 381 | ||
382 | static void snd_cs46xx_reset(cs46xx_t *chip) | 382 | static void snd_cs46xx_reset(struct snd_cs46xx *chip) |
383 | { | 383 | { |
384 | int idx; | 384 | int idx; |
385 | 385 | ||
@@ -408,7 +408,7 @@ static void snd_cs46xx_reset(cs46xx_t *chip) | |||
408 | snd_cs46xx_poke(chip, BA1_FRMT, 0xadf); | 408 | snd_cs46xx_poke(chip, BA1_FRMT, 0xadf); |
409 | } | 409 | } |
410 | 410 | ||
411 | static int cs46xx_wait_for_fifo(cs46xx_t * chip,int retry_timeout) | 411 | static int cs46xx_wait_for_fifo(struct snd_cs46xx * chip,int retry_timeout) |
412 | { | 412 | { |
413 | u32 i, status = 0; | 413 | u32 i, status = 0; |
414 | /* | 414 | /* |
@@ -432,7 +432,7 @@ static int cs46xx_wait_for_fifo(cs46xx_t * chip,int retry_timeout) | |||
432 | return 0; | 432 | return 0; |
433 | } | 433 | } |
434 | 434 | ||
435 | static void snd_cs46xx_clear_serial_FIFOs(cs46xx_t *chip) | 435 | static void snd_cs46xx_clear_serial_FIFOs(struct snd_cs46xx *chip) |
436 | { | 436 | { |
437 | int idx, powerdown = 0; | 437 | int idx, powerdown = 0; |
438 | unsigned int tmp; | 438 | unsigned int tmp; |
@@ -486,7 +486,7 @@ static void snd_cs46xx_clear_serial_FIFOs(cs46xx_t *chip) | |||
486 | snd_cs46xx_pokeBA0(chip, BA0_CLKCR1, tmp); | 486 | snd_cs46xx_pokeBA0(chip, BA0_CLKCR1, tmp); |
487 | } | 487 | } |
488 | 488 | ||
489 | static void snd_cs46xx_proc_start(cs46xx_t *chip) | 489 | static void snd_cs46xx_proc_start(struct snd_cs46xx *chip) |
490 | { | 490 | { |
491 | int cnt; | 491 | int cnt; |
492 | 492 | ||
@@ -513,7 +513,7 @@ static void snd_cs46xx_proc_start(cs46xx_t *chip) | |||
513 | snd_printk(KERN_ERR "SPCR_RUNFR never reset\n"); | 513 | snd_printk(KERN_ERR "SPCR_RUNFR never reset\n"); |
514 | } | 514 | } |
515 | 515 | ||
516 | static void snd_cs46xx_proc_stop(cs46xx_t *chip) | 516 | static void snd_cs46xx_proc_stop(struct snd_cs46xx *chip) |
517 | { | 517 | { |
518 | /* | 518 | /* |
519 | * Turn off the run, run at frame, and DMA enable bits in the local copy of | 519 | * Turn off the run, run at frame, and DMA enable bits in the local copy of |
@@ -528,7 +528,7 @@ static void snd_cs46xx_proc_stop(cs46xx_t *chip) | |||
528 | 528 | ||
529 | #define GOF_PER_SEC 200 | 529 | #define GOF_PER_SEC 200 |
530 | 530 | ||
531 | static void snd_cs46xx_set_play_sample_rate(cs46xx_t *chip, unsigned int rate) | 531 | static void snd_cs46xx_set_play_sample_rate(struct snd_cs46xx *chip, unsigned int rate) |
532 | { | 532 | { |
533 | unsigned long flags; | 533 | unsigned long flags; |
534 | unsigned int tmp1, tmp2; | 534 | unsigned int tmp1, tmp2; |
@@ -574,7 +574,7 @@ static void snd_cs46xx_set_play_sample_rate(cs46xx_t *chip, unsigned int rate) | |||
574 | spin_unlock_irqrestore(&chip->reg_lock, flags); | 574 | spin_unlock_irqrestore(&chip->reg_lock, flags); |
575 | } | 575 | } |
576 | 576 | ||
577 | static void snd_cs46xx_set_capture_sample_rate(cs46xx_t *chip, unsigned int rate) | 577 | static void snd_cs46xx_set_capture_sample_rate(struct snd_cs46xx *chip, unsigned int rate) |
578 | { | 578 | { |
579 | unsigned long flags; | 579 | unsigned long flags; |
580 | unsigned int phiIncr, coeffIncr, tmp1, tmp2; | 580 | unsigned int phiIncr, coeffIncr, tmp1, tmp2; |
@@ -684,43 +684,43 @@ static void snd_cs46xx_set_capture_sample_rate(cs46xx_t *chip, unsigned int rate | |||
684 | * PCM part | 684 | * PCM part |
685 | */ | 685 | */ |
686 | 686 | ||
687 | static void snd_cs46xx_pb_trans_copy(snd_pcm_substream_t *substream, | 687 | static void snd_cs46xx_pb_trans_copy(struct snd_pcm_substream *substream, |
688 | snd_pcm_indirect_t *rec, size_t bytes) | 688 | struct snd_pcm_indirect *rec, size_t bytes) |
689 | { | 689 | { |
690 | snd_pcm_runtime_t *runtime = substream->runtime; | 690 | struct snd_pcm_runtime *runtime = substream->runtime; |
691 | cs46xx_pcm_t * cpcm = runtime->private_data; | 691 | struct snd_cs46xx_pcm * cpcm = runtime->private_data; |
692 | memcpy(cpcm->hw_buf.area + rec->hw_data, runtime->dma_area + rec->sw_data, bytes); | 692 | memcpy(cpcm->hw_buf.area + rec->hw_data, runtime->dma_area + rec->sw_data, bytes); |
693 | } | 693 | } |
694 | 694 | ||
695 | static int snd_cs46xx_playback_transfer(snd_pcm_substream_t *substream) | 695 | static int snd_cs46xx_playback_transfer(struct snd_pcm_substream *substream) |
696 | { | 696 | { |
697 | snd_pcm_runtime_t *runtime = substream->runtime; | 697 | struct snd_pcm_runtime *runtime = substream->runtime; |
698 | cs46xx_pcm_t * cpcm = runtime->private_data; | 698 | struct snd_cs46xx_pcm * cpcm = runtime->private_data; |
699 | snd_pcm_indirect_playback_transfer(substream, &cpcm->pcm_rec, snd_cs46xx_pb_trans_copy); | 699 | snd_pcm_indirect_playback_transfer(substream, &cpcm->pcm_rec, snd_cs46xx_pb_trans_copy); |
700 | return 0; | 700 | return 0; |
701 | } | 701 | } |
702 | 702 | ||
703 | static void snd_cs46xx_cp_trans_copy(snd_pcm_substream_t *substream, | 703 | static void snd_cs46xx_cp_trans_copy(struct snd_pcm_substream *substream, |
704 | snd_pcm_indirect_t *rec, size_t bytes) | 704 | struct snd_pcm_indirect *rec, size_t bytes) |
705 | { | 705 | { |
706 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 706 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
707 | snd_pcm_runtime_t *runtime = substream->runtime; | 707 | struct snd_pcm_runtime *runtime = substream->runtime; |
708 | memcpy(runtime->dma_area + rec->sw_data, | 708 | memcpy(runtime->dma_area + rec->sw_data, |
709 | chip->capt.hw_buf.area + rec->hw_data, bytes); | 709 | chip->capt.hw_buf.area + rec->hw_data, bytes); |
710 | } | 710 | } |
711 | 711 | ||
712 | static int snd_cs46xx_capture_transfer(snd_pcm_substream_t *substream) | 712 | static int snd_cs46xx_capture_transfer(struct snd_pcm_substream *substream) |
713 | { | 713 | { |
714 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 714 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
715 | snd_pcm_indirect_capture_transfer(substream, &chip->capt.pcm_rec, snd_cs46xx_cp_trans_copy); | 715 | snd_pcm_indirect_capture_transfer(substream, &chip->capt.pcm_rec, snd_cs46xx_cp_trans_copy); |
716 | return 0; | 716 | return 0; |
717 | } | 717 | } |
718 | 718 | ||
719 | static snd_pcm_uframes_t snd_cs46xx_playback_direct_pointer(snd_pcm_substream_t * substream) | 719 | static snd_pcm_uframes_t snd_cs46xx_playback_direct_pointer(struct snd_pcm_substream *substream) |
720 | { | 720 | { |
721 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 721 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
722 | size_t ptr; | 722 | size_t ptr; |
723 | cs46xx_pcm_t *cpcm = substream->runtime->private_data; | 723 | struct snd_cs46xx_pcm *cpcm = substream->runtime->private_data; |
724 | snd_assert (cpcm->pcm_channel,return -ENXIO); | 724 | snd_assert (cpcm->pcm_channel,return -ENXIO); |
725 | 725 | ||
726 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 726 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
@@ -732,11 +732,11 @@ static snd_pcm_uframes_t snd_cs46xx_playback_direct_pointer(snd_pcm_substream_t | |||
732 | return ptr >> cpcm->shift; | 732 | return ptr >> cpcm->shift; |
733 | } | 733 | } |
734 | 734 | ||
735 | static snd_pcm_uframes_t snd_cs46xx_playback_indirect_pointer(snd_pcm_substream_t * substream) | 735 | static snd_pcm_uframes_t snd_cs46xx_playback_indirect_pointer(struct snd_pcm_substream *substream) |
736 | { | 736 | { |
737 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 737 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
738 | size_t ptr; | 738 | size_t ptr; |
739 | cs46xx_pcm_t *cpcm = substream->runtime->private_data; | 739 | struct snd_cs46xx_pcm *cpcm = substream->runtime->private_data; |
740 | 740 | ||
741 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 741 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
742 | snd_assert (cpcm->pcm_channel,return -ENXIO); | 742 | snd_assert (cpcm->pcm_channel,return -ENXIO); |
@@ -748,29 +748,29 @@ static snd_pcm_uframes_t snd_cs46xx_playback_indirect_pointer(snd_pcm_substream_ | |||
748 | return snd_pcm_indirect_playback_pointer(substream, &cpcm->pcm_rec, ptr); | 748 | return snd_pcm_indirect_playback_pointer(substream, &cpcm->pcm_rec, ptr); |
749 | } | 749 | } |
750 | 750 | ||
751 | static snd_pcm_uframes_t snd_cs46xx_capture_direct_pointer(snd_pcm_substream_t * substream) | 751 | static snd_pcm_uframes_t snd_cs46xx_capture_direct_pointer(struct snd_pcm_substream *substream) |
752 | { | 752 | { |
753 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 753 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
754 | size_t ptr = snd_cs46xx_peek(chip, BA1_CBA) - chip->capt.hw_buf.addr; | 754 | size_t ptr = snd_cs46xx_peek(chip, BA1_CBA) - chip->capt.hw_buf.addr; |
755 | return ptr >> chip->capt.shift; | 755 | return ptr >> chip->capt.shift; |
756 | } | 756 | } |
757 | 757 | ||
758 | static snd_pcm_uframes_t snd_cs46xx_capture_indirect_pointer(snd_pcm_substream_t * substream) | 758 | static snd_pcm_uframes_t snd_cs46xx_capture_indirect_pointer(struct snd_pcm_substream *substream) |
759 | { | 759 | { |
760 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 760 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
761 | size_t ptr = snd_cs46xx_peek(chip, BA1_CBA) - chip->capt.hw_buf.addr; | 761 | size_t ptr = snd_cs46xx_peek(chip, BA1_CBA) - chip->capt.hw_buf.addr; |
762 | return snd_pcm_indirect_capture_pointer(substream, &chip->capt.pcm_rec, ptr); | 762 | return snd_pcm_indirect_capture_pointer(substream, &chip->capt.pcm_rec, ptr); |
763 | } | 763 | } |
764 | 764 | ||
765 | static int snd_cs46xx_playback_trigger(snd_pcm_substream_t * substream, | 765 | static int snd_cs46xx_playback_trigger(struct snd_pcm_substream *substream, |
766 | int cmd) | 766 | int cmd) |
767 | { | 767 | { |
768 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 768 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
769 | /*snd_pcm_runtime_t *runtime = substream->runtime;*/ | 769 | /*struct snd_pcm_runtime *runtime = substream->runtime;*/ |
770 | int result = 0; | 770 | int result = 0; |
771 | 771 | ||
772 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 772 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
773 | cs46xx_pcm_t *cpcm = substream->runtime->private_data; | 773 | struct snd_cs46xx_pcm *cpcm = substream->runtime->private_data; |
774 | if (! cpcm->pcm_channel) { | 774 | if (! cpcm->pcm_channel) { |
775 | return -ENXIO; | 775 | return -ENXIO; |
776 | } | 776 | } |
@@ -827,10 +827,10 @@ static int snd_cs46xx_playback_trigger(snd_pcm_substream_t * substream, | |||
827 | return result; | 827 | return result; |
828 | } | 828 | } |
829 | 829 | ||
830 | static int snd_cs46xx_capture_trigger(snd_pcm_substream_t * substream, | 830 | static int snd_cs46xx_capture_trigger(struct snd_pcm_substream *substream, |
831 | int cmd) | 831 | int cmd) |
832 | { | 832 | { |
833 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 833 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
834 | unsigned int tmp; | 834 | unsigned int tmp; |
835 | int result = 0; | 835 | int result = 0; |
836 | 836 | ||
@@ -858,7 +858,7 @@ static int snd_cs46xx_capture_trigger(snd_pcm_substream_t * substream, | |||
858 | } | 858 | } |
859 | 859 | ||
860 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 860 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
861 | static int _cs46xx_adjust_sample_rate (cs46xx_t *chip, cs46xx_pcm_t *cpcm, | 861 | static int _cs46xx_adjust_sample_rate (struct snd_cs46xx *chip, struct snd_cs46xx_pcm *cpcm, |
862 | int sample_rate) | 862 | int sample_rate) |
863 | { | 863 | { |
864 | 864 | ||
@@ -893,14 +893,14 @@ static int _cs46xx_adjust_sample_rate (cs46xx_t *chip, cs46xx_pcm_t *cpcm, | |||
893 | #endif | 893 | #endif |
894 | 894 | ||
895 | 895 | ||
896 | static int snd_cs46xx_playback_hw_params(snd_pcm_substream_t * substream, | 896 | static int snd_cs46xx_playback_hw_params(struct snd_pcm_substream *substream, |
897 | snd_pcm_hw_params_t * hw_params) | 897 | struct snd_pcm_hw_params *hw_params) |
898 | { | 898 | { |
899 | snd_pcm_runtime_t *runtime = substream->runtime; | 899 | struct snd_pcm_runtime *runtime = substream->runtime; |
900 | cs46xx_pcm_t *cpcm; | 900 | struct snd_cs46xx_pcm *cpcm; |
901 | int err; | 901 | int err; |
902 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 902 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
903 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 903 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
904 | int sample_rate = params_rate(hw_params); | 904 | int sample_rate = params_rate(hw_params); |
905 | int period_size = params_period_bytes(hw_params); | 905 | int period_size = params_period_bytes(hw_params); |
906 | #endif | 906 | #endif |
@@ -995,11 +995,11 @@ static int snd_cs46xx_playback_hw_params(snd_pcm_substream_t * substream, | |||
995 | return 0; | 995 | return 0; |
996 | } | 996 | } |
997 | 997 | ||
998 | static int snd_cs46xx_playback_hw_free(snd_pcm_substream_t * substream) | 998 | static int snd_cs46xx_playback_hw_free(struct snd_pcm_substream *substream) |
999 | { | 999 | { |
1000 | /*cs46xx_t *chip = snd_pcm_substream_chip(substream);*/ | 1000 | /*struct snd_cs46xx *chip = snd_pcm_substream_chip(substream);*/ |
1001 | snd_pcm_runtime_t *runtime = substream->runtime; | 1001 | struct snd_pcm_runtime *runtime = substream->runtime; |
1002 | cs46xx_pcm_t *cpcm; | 1002 | struct snd_cs46xx_pcm *cpcm; |
1003 | 1003 | ||
1004 | cpcm = runtime->private_data; | 1004 | cpcm = runtime->private_data; |
1005 | 1005 | ||
@@ -1017,13 +1017,13 @@ static int snd_cs46xx_playback_hw_free(snd_pcm_substream_t * substream) | |||
1017 | return 0; | 1017 | return 0; |
1018 | } | 1018 | } |
1019 | 1019 | ||
1020 | static int snd_cs46xx_playback_prepare(snd_pcm_substream_t * substream) | 1020 | static int snd_cs46xx_playback_prepare(struct snd_pcm_substream *substream) |
1021 | { | 1021 | { |
1022 | unsigned int tmp; | 1022 | unsigned int tmp; |
1023 | unsigned int pfie; | 1023 | unsigned int pfie; |
1024 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 1024 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
1025 | snd_pcm_runtime_t *runtime = substream->runtime; | 1025 | struct snd_pcm_runtime *runtime = substream->runtime; |
1026 | cs46xx_pcm_t *cpcm; | 1026 | struct snd_cs46xx_pcm *cpcm; |
1027 | 1027 | ||
1028 | cpcm = runtime->private_data; | 1028 | cpcm = runtime->private_data; |
1029 | 1029 | ||
@@ -1087,11 +1087,11 @@ static int snd_cs46xx_playback_prepare(snd_pcm_substream_t * substream) | |||
1087 | return 0; | 1087 | return 0; |
1088 | } | 1088 | } |
1089 | 1089 | ||
1090 | static int snd_cs46xx_capture_hw_params(snd_pcm_substream_t * substream, | 1090 | static int snd_cs46xx_capture_hw_params(struct snd_pcm_substream *substream, |
1091 | snd_pcm_hw_params_t * hw_params) | 1091 | struct snd_pcm_hw_params *hw_params) |
1092 | { | 1092 | { |
1093 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 1093 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
1094 | snd_pcm_runtime_t *runtime = substream->runtime; | 1094 | struct snd_pcm_runtime *runtime = substream->runtime; |
1095 | int err; | 1095 | int err; |
1096 | 1096 | ||
1097 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 1097 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
@@ -1118,10 +1118,10 @@ static int snd_cs46xx_capture_hw_params(snd_pcm_substream_t * substream, | |||
1118 | return 0; | 1118 | return 0; |
1119 | } | 1119 | } |
1120 | 1120 | ||
1121 | static int snd_cs46xx_capture_hw_free(snd_pcm_substream_t * substream) | 1121 | static int snd_cs46xx_capture_hw_free(struct snd_pcm_substream *substream) |
1122 | { | 1122 | { |
1123 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 1123 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
1124 | snd_pcm_runtime_t *runtime = substream->runtime; | 1124 | struct snd_pcm_runtime *runtime = substream->runtime; |
1125 | 1125 | ||
1126 | if (runtime->dma_area != chip->capt.hw_buf.area) | 1126 | if (runtime->dma_area != chip->capt.hw_buf.area) |
1127 | snd_pcm_lib_free_pages(substream); | 1127 | snd_pcm_lib_free_pages(substream); |
@@ -1132,10 +1132,10 @@ static int snd_cs46xx_capture_hw_free(snd_pcm_substream_t * substream) | |||
1132 | return 0; | 1132 | return 0; |
1133 | } | 1133 | } |
1134 | 1134 | ||
1135 | static int snd_cs46xx_capture_prepare(snd_pcm_substream_t * substream) | 1135 | static int snd_cs46xx_capture_prepare(struct snd_pcm_substream *substream) |
1136 | { | 1136 | { |
1137 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 1137 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
1138 | snd_pcm_runtime_t *runtime = substream->runtime; | 1138 | struct snd_pcm_runtime *runtime = substream->runtime; |
1139 | 1139 | ||
1140 | snd_cs46xx_poke(chip, BA1_CBA, chip->capt.hw_buf.addr); | 1140 | snd_cs46xx_poke(chip, BA1_CBA, chip->capt.hw_buf.addr); |
1141 | chip->capt.shift = 2; | 1141 | chip->capt.shift = 2; |
@@ -1149,13 +1149,13 @@ static int snd_cs46xx_capture_prepare(snd_pcm_substream_t * substream) | |||
1149 | 1149 | ||
1150 | static irqreturn_t snd_cs46xx_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 1150 | static irqreturn_t snd_cs46xx_interrupt(int irq, void *dev_id, struct pt_regs *regs) |
1151 | { | 1151 | { |
1152 | cs46xx_t *chip = dev_id; | 1152 | struct snd_cs46xx *chip = dev_id; |
1153 | u32 status1; | 1153 | u32 status1; |
1154 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 1154 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
1155 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1155 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1156 | u32 status2; | 1156 | u32 status2; |
1157 | int i; | 1157 | int i; |
1158 | cs46xx_pcm_t *cpcm = NULL; | 1158 | struct snd_cs46xx_pcm *cpcm = NULL; |
1159 | #endif | 1159 | #endif |
1160 | 1160 | ||
1161 | /* | 1161 | /* |
@@ -1239,7 +1239,7 @@ static irqreturn_t snd_cs46xx_interrupt(int irq, void *dev_id, struct pt_regs *r | |||
1239 | return IRQ_HANDLED; | 1239 | return IRQ_HANDLED; |
1240 | } | 1240 | } |
1241 | 1241 | ||
1242 | static snd_pcm_hardware_t snd_cs46xx_playback = | 1242 | static struct snd_pcm_hardware snd_cs46xx_playback = |
1243 | { | 1243 | { |
1244 | .info = (SNDRV_PCM_INFO_MMAP | | 1244 | .info = (SNDRV_PCM_INFO_MMAP | |
1245 | SNDRV_PCM_INFO_INTERLEAVED | | 1245 | SNDRV_PCM_INFO_INTERLEAVED | |
@@ -1261,7 +1261,7 @@ static snd_pcm_hardware_t snd_cs46xx_playback = | |||
1261 | .fifo_size = 0, | 1261 | .fifo_size = 0, |
1262 | }; | 1262 | }; |
1263 | 1263 | ||
1264 | static snd_pcm_hardware_t snd_cs46xx_capture = | 1264 | static struct snd_pcm_hardware snd_cs46xx_capture = |
1265 | { | 1265 | { |
1266 | .info = (SNDRV_PCM_INFO_MMAP | | 1266 | .info = (SNDRV_PCM_INFO_MMAP | |
1267 | SNDRV_PCM_INFO_INTERLEAVED | | 1267 | SNDRV_PCM_INFO_INTERLEAVED | |
@@ -1285,7 +1285,7 @@ static snd_pcm_hardware_t snd_cs46xx_capture = | |||
1285 | 1285 | ||
1286 | static unsigned int period_sizes[] = { 32, 64, 128, 256, 512, 1024, 2048 }; | 1286 | static unsigned int period_sizes[] = { 32, 64, 128, 256, 512, 1024, 2048 }; |
1287 | 1287 | ||
1288 | static snd_pcm_hw_constraint_list_t hw_constraints_period_sizes = { | 1288 | static struct snd_pcm_hw_constraint_list hw_constraints_period_sizes = { |
1289 | .count = ARRAY_SIZE(period_sizes), | 1289 | .count = ARRAY_SIZE(period_sizes), |
1290 | .list = period_sizes, | 1290 | .list = period_sizes, |
1291 | .mask = 0 | 1291 | .mask = 0 |
@@ -1293,16 +1293,16 @@ static snd_pcm_hw_constraint_list_t hw_constraints_period_sizes = { | |||
1293 | 1293 | ||
1294 | #endif | 1294 | #endif |
1295 | 1295 | ||
1296 | static void snd_cs46xx_pcm_free_substream(snd_pcm_runtime_t *runtime) | 1296 | static void snd_cs46xx_pcm_free_substream(struct snd_pcm_runtime *runtime) |
1297 | { | 1297 | { |
1298 | kfree(runtime->private_data); | 1298 | kfree(runtime->private_data); |
1299 | } | 1299 | } |
1300 | 1300 | ||
1301 | static int _cs46xx_playback_open_channel (snd_pcm_substream_t * substream,int pcm_channel_id) | 1301 | static int _cs46xx_playback_open_channel (struct snd_pcm_substream *substream,int pcm_channel_id) |
1302 | { | 1302 | { |
1303 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 1303 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
1304 | cs46xx_pcm_t * cpcm; | 1304 | struct snd_cs46xx_pcm * cpcm; |
1305 | snd_pcm_runtime_t *runtime = substream->runtime; | 1305 | struct snd_pcm_runtime *runtime = substream->runtime; |
1306 | 1306 | ||
1307 | cpcm = kzalloc(sizeof(*cpcm), GFP_KERNEL); | 1307 | cpcm = kzalloc(sizeof(*cpcm), GFP_KERNEL); |
1308 | if (cpcm == NULL) | 1308 | if (cpcm == NULL) |
@@ -1340,30 +1340,30 @@ static int _cs46xx_playback_open_channel (snd_pcm_substream_t * substream,int pc | |||
1340 | return 0; | 1340 | return 0; |
1341 | } | 1341 | } |
1342 | 1342 | ||
1343 | static int snd_cs46xx_playback_open(snd_pcm_substream_t * substream) | 1343 | static int snd_cs46xx_playback_open(struct snd_pcm_substream *substream) |
1344 | { | 1344 | { |
1345 | snd_printdd("open front channel\n"); | 1345 | snd_printdd("open front channel\n"); |
1346 | return _cs46xx_playback_open_channel(substream,DSP_PCM_MAIN_CHANNEL); | 1346 | return _cs46xx_playback_open_channel(substream,DSP_PCM_MAIN_CHANNEL); |
1347 | } | 1347 | } |
1348 | 1348 | ||
1349 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 1349 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
1350 | static int snd_cs46xx_playback_open_rear(snd_pcm_substream_t * substream) | 1350 | static int snd_cs46xx_playback_open_rear(struct snd_pcm_substream *substream) |
1351 | { | 1351 | { |
1352 | snd_printdd("open rear channel\n"); | 1352 | snd_printdd("open rear channel\n"); |
1353 | 1353 | ||
1354 | return _cs46xx_playback_open_channel(substream,DSP_PCM_REAR_CHANNEL); | 1354 | return _cs46xx_playback_open_channel(substream,DSP_PCM_REAR_CHANNEL); |
1355 | } | 1355 | } |
1356 | 1356 | ||
1357 | static int snd_cs46xx_playback_open_clfe(snd_pcm_substream_t * substream) | 1357 | static int snd_cs46xx_playback_open_clfe(struct snd_pcm_substream *substream) |
1358 | { | 1358 | { |
1359 | snd_printdd("open center - LFE channel\n"); | 1359 | snd_printdd("open center - LFE channel\n"); |
1360 | 1360 | ||
1361 | return _cs46xx_playback_open_channel(substream,DSP_PCM_CENTER_LFE_CHANNEL); | 1361 | return _cs46xx_playback_open_channel(substream,DSP_PCM_CENTER_LFE_CHANNEL); |
1362 | } | 1362 | } |
1363 | 1363 | ||
1364 | static int snd_cs46xx_playback_open_iec958(snd_pcm_substream_t * substream) | 1364 | static int snd_cs46xx_playback_open_iec958(struct snd_pcm_substream *substream) |
1365 | { | 1365 | { |
1366 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 1366 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
1367 | 1367 | ||
1368 | snd_printdd("open raw iec958 channel\n"); | 1368 | snd_printdd("open raw iec958 channel\n"); |
1369 | 1369 | ||
@@ -1374,12 +1374,12 @@ static int snd_cs46xx_playback_open_iec958(snd_pcm_substream_t * substream) | |||
1374 | return _cs46xx_playback_open_channel(substream,DSP_IEC958_CHANNEL); | 1374 | return _cs46xx_playback_open_channel(substream,DSP_IEC958_CHANNEL); |
1375 | } | 1375 | } |
1376 | 1376 | ||
1377 | static int snd_cs46xx_playback_close(snd_pcm_substream_t * substream); | 1377 | static int snd_cs46xx_playback_close(struct snd_pcm_substream *substream); |
1378 | 1378 | ||
1379 | static int snd_cs46xx_playback_close_iec958(snd_pcm_substream_t * substream) | 1379 | static int snd_cs46xx_playback_close_iec958(struct snd_pcm_substream *substream) |
1380 | { | 1380 | { |
1381 | int err; | 1381 | int err; |
1382 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 1382 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
1383 | 1383 | ||
1384 | snd_printdd("close raw iec958 channel\n"); | 1384 | snd_printdd("close raw iec958 channel\n"); |
1385 | 1385 | ||
@@ -1393,9 +1393,9 @@ static int snd_cs46xx_playback_close_iec958(snd_pcm_substream_t * substream) | |||
1393 | } | 1393 | } |
1394 | #endif | 1394 | #endif |
1395 | 1395 | ||
1396 | static int snd_cs46xx_capture_open(snd_pcm_substream_t * substream) | 1396 | static int snd_cs46xx_capture_open(struct snd_pcm_substream *substream) |
1397 | { | 1397 | { |
1398 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 1398 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
1399 | 1399 | ||
1400 | if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), | 1400 | if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), |
1401 | PAGE_SIZE, &chip->capt.hw_buf) < 0) | 1401 | PAGE_SIZE, &chip->capt.hw_buf) < 0) |
@@ -1416,11 +1416,11 @@ static int snd_cs46xx_capture_open(snd_pcm_substream_t * substream) | |||
1416 | return 0; | 1416 | return 0; |
1417 | } | 1417 | } |
1418 | 1418 | ||
1419 | static int snd_cs46xx_playback_close(snd_pcm_substream_t * substream) | 1419 | static int snd_cs46xx_playback_close(struct snd_pcm_substream *substream) |
1420 | { | 1420 | { |
1421 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 1421 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
1422 | snd_pcm_runtime_t *runtime = substream->runtime; | 1422 | struct snd_pcm_runtime *runtime = substream->runtime; |
1423 | cs46xx_pcm_t * cpcm; | 1423 | struct snd_cs46xx_pcm * cpcm; |
1424 | 1424 | ||
1425 | cpcm = runtime->private_data; | 1425 | cpcm = runtime->private_data; |
1426 | 1426 | ||
@@ -1445,9 +1445,9 @@ static int snd_cs46xx_playback_close(snd_pcm_substream_t * substream) | |||
1445 | return 0; | 1445 | return 0; |
1446 | } | 1446 | } |
1447 | 1447 | ||
1448 | static int snd_cs46xx_capture_close(snd_pcm_substream_t * substream) | 1448 | static int snd_cs46xx_capture_close(struct snd_pcm_substream *substream) |
1449 | { | 1449 | { |
1450 | cs46xx_t *chip = snd_pcm_substream_chip(substream); | 1450 | struct snd_cs46xx *chip = snd_pcm_substream_chip(substream); |
1451 | 1451 | ||
1452 | chip->capt.substream = NULL; | 1452 | chip->capt.substream = NULL; |
1453 | snd_dma_free_pages(&chip->capt.hw_buf); | 1453 | snd_dma_free_pages(&chip->capt.hw_buf); |
@@ -1457,7 +1457,7 @@ static int snd_cs46xx_capture_close(snd_pcm_substream_t * substream) | |||
1457 | } | 1457 | } |
1458 | 1458 | ||
1459 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 1459 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
1460 | static snd_pcm_ops_t snd_cs46xx_playback_rear_ops = { | 1460 | static struct snd_pcm_ops snd_cs46xx_playback_rear_ops = { |
1461 | .open = snd_cs46xx_playback_open_rear, | 1461 | .open = snd_cs46xx_playback_open_rear, |
1462 | .close = snd_cs46xx_playback_close, | 1462 | .close = snd_cs46xx_playback_close, |
1463 | .ioctl = snd_pcm_lib_ioctl, | 1463 | .ioctl = snd_pcm_lib_ioctl, |
@@ -1468,7 +1468,7 @@ static snd_pcm_ops_t snd_cs46xx_playback_rear_ops = { | |||
1468 | .pointer = snd_cs46xx_playback_direct_pointer, | 1468 | .pointer = snd_cs46xx_playback_direct_pointer, |
1469 | }; | 1469 | }; |
1470 | 1470 | ||
1471 | static snd_pcm_ops_t snd_cs46xx_playback_indirect_rear_ops = { | 1471 | static struct snd_pcm_ops snd_cs46xx_playback_indirect_rear_ops = { |
1472 | .open = snd_cs46xx_playback_open_rear, | 1472 | .open = snd_cs46xx_playback_open_rear, |
1473 | .close = snd_cs46xx_playback_close, | 1473 | .close = snd_cs46xx_playback_close, |
1474 | .ioctl = snd_pcm_lib_ioctl, | 1474 | .ioctl = snd_pcm_lib_ioctl, |
@@ -1480,7 +1480,7 @@ static snd_pcm_ops_t snd_cs46xx_playback_indirect_rear_ops = { | |||
1480 | .ack = snd_cs46xx_playback_transfer, | 1480 | .ack = snd_cs46xx_playback_transfer, |
1481 | }; | 1481 | }; |
1482 | 1482 | ||
1483 | static snd_pcm_ops_t snd_cs46xx_playback_clfe_ops = { | 1483 | static struct snd_pcm_ops snd_cs46xx_playback_clfe_ops = { |
1484 | .open = snd_cs46xx_playback_open_clfe, | 1484 | .open = snd_cs46xx_playback_open_clfe, |
1485 | .close = snd_cs46xx_playback_close, | 1485 | .close = snd_cs46xx_playback_close, |
1486 | .ioctl = snd_pcm_lib_ioctl, | 1486 | .ioctl = snd_pcm_lib_ioctl, |
@@ -1491,7 +1491,7 @@ static snd_pcm_ops_t snd_cs46xx_playback_clfe_ops = { | |||
1491 | .pointer = snd_cs46xx_playback_direct_pointer, | 1491 | .pointer = snd_cs46xx_playback_direct_pointer, |
1492 | }; | 1492 | }; |
1493 | 1493 | ||
1494 | static snd_pcm_ops_t snd_cs46xx_playback_indirect_clfe_ops = { | 1494 | static struct snd_pcm_ops snd_cs46xx_playback_indirect_clfe_ops = { |
1495 | .open = snd_cs46xx_playback_open_clfe, | 1495 | .open = snd_cs46xx_playback_open_clfe, |
1496 | .close = snd_cs46xx_playback_close, | 1496 | .close = snd_cs46xx_playback_close, |
1497 | .ioctl = snd_pcm_lib_ioctl, | 1497 | .ioctl = snd_pcm_lib_ioctl, |
@@ -1503,7 +1503,7 @@ static snd_pcm_ops_t snd_cs46xx_playback_indirect_clfe_ops = { | |||
1503 | .ack = snd_cs46xx_playback_transfer, | 1503 | .ack = snd_cs46xx_playback_transfer, |
1504 | }; | 1504 | }; |
1505 | 1505 | ||
1506 | static snd_pcm_ops_t snd_cs46xx_playback_iec958_ops = { | 1506 | static struct snd_pcm_ops snd_cs46xx_playback_iec958_ops = { |
1507 | .open = snd_cs46xx_playback_open_iec958, | 1507 | .open = snd_cs46xx_playback_open_iec958, |
1508 | .close = snd_cs46xx_playback_close_iec958, | 1508 | .close = snd_cs46xx_playback_close_iec958, |
1509 | .ioctl = snd_pcm_lib_ioctl, | 1509 | .ioctl = snd_pcm_lib_ioctl, |
@@ -1514,7 +1514,7 @@ static snd_pcm_ops_t snd_cs46xx_playback_iec958_ops = { | |||
1514 | .pointer = snd_cs46xx_playback_direct_pointer, | 1514 | .pointer = snd_cs46xx_playback_direct_pointer, |
1515 | }; | 1515 | }; |
1516 | 1516 | ||
1517 | static snd_pcm_ops_t snd_cs46xx_playback_indirect_iec958_ops = { | 1517 | static struct snd_pcm_ops snd_cs46xx_playback_indirect_iec958_ops = { |
1518 | .open = snd_cs46xx_playback_open_iec958, | 1518 | .open = snd_cs46xx_playback_open_iec958, |
1519 | .close = snd_cs46xx_playback_close_iec958, | 1519 | .close = snd_cs46xx_playback_close_iec958, |
1520 | .ioctl = snd_pcm_lib_ioctl, | 1520 | .ioctl = snd_pcm_lib_ioctl, |
@@ -1528,7 +1528,7 @@ static snd_pcm_ops_t snd_cs46xx_playback_indirect_iec958_ops = { | |||
1528 | 1528 | ||
1529 | #endif | 1529 | #endif |
1530 | 1530 | ||
1531 | static snd_pcm_ops_t snd_cs46xx_playback_ops = { | 1531 | static struct snd_pcm_ops snd_cs46xx_playback_ops = { |
1532 | .open = snd_cs46xx_playback_open, | 1532 | .open = snd_cs46xx_playback_open, |
1533 | .close = snd_cs46xx_playback_close, | 1533 | .close = snd_cs46xx_playback_close, |
1534 | .ioctl = snd_pcm_lib_ioctl, | 1534 | .ioctl = snd_pcm_lib_ioctl, |
@@ -1539,7 +1539,7 @@ static snd_pcm_ops_t snd_cs46xx_playback_ops = { | |||
1539 | .pointer = snd_cs46xx_playback_direct_pointer, | 1539 | .pointer = snd_cs46xx_playback_direct_pointer, |
1540 | }; | 1540 | }; |
1541 | 1541 | ||
1542 | static snd_pcm_ops_t snd_cs46xx_playback_indirect_ops = { | 1542 | static struct snd_pcm_ops snd_cs46xx_playback_indirect_ops = { |
1543 | .open = snd_cs46xx_playback_open, | 1543 | .open = snd_cs46xx_playback_open, |
1544 | .close = snd_cs46xx_playback_close, | 1544 | .close = snd_cs46xx_playback_close, |
1545 | .ioctl = snd_pcm_lib_ioctl, | 1545 | .ioctl = snd_pcm_lib_ioctl, |
@@ -1551,7 +1551,7 @@ static snd_pcm_ops_t snd_cs46xx_playback_indirect_ops = { | |||
1551 | .ack = snd_cs46xx_playback_transfer, | 1551 | .ack = snd_cs46xx_playback_transfer, |
1552 | }; | 1552 | }; |
1553 | 1553 | ||
1554 | static snd_pcm_ops_t snd_cs46xx_capture_ops = { | 1554 | static struct snd_pcm_ops snd_cs46xx_capture_ops = { |
1555 | .open = snd_cs46xx_capture_open, | 1555 | .open = snd_cs46xx_capture_open, |
1556 | .close = snd_cs46xx_capture_close, | 1556 | .close = snd_cs46xx_capture_close, |
1557 | .ioctl = snd_pcm_lib_ioctl, | 1557 | .ioctl = snd_pcm_lib_ioctl, |
@@ -1562,7 +1562,7 @@ static snd_pcm_ops_t snd_cs46xx_capture_ops = { | |||
1562 | .pointer = snd_cs46xx_capture_direct_pointer, | 1562 | .pointer = snd_cs46xx_capture_direct_pointer, |
1563 | }; | 1563 | }; |
1564 | 1564 | ||
1565 | static snd_pcm_ops_t snd_cs46xx_capture_indirect_ops = { | 1565 | static struct snd_pcm_ops snd_cs46xx_capture_indirect_ops = { |
1566 | .open = snd_cs46xx_capture_open, | 1566 | .open = snd_cs46xx_capture_open, |
1567 | .close = snd_cs46xx_capture_close, | 1567 | .close = snd_cs46xx_capture_close, |
1568 | .ioctl = snd_pcm_lib_ioctl, | 1568 | .ioctl = snd_pcm_lib_ioctl, |
@@ -1580,9 +1580,9 @@ static snd_pcm_ops_t snd_cs46xx_capture_indirect_ops = { | |||
1580 | #define MAX_PLAYBACK_CHANNELS 1 | 1580 | #define MAX_PLAYBACK_CHANNELS 1 |
1581 | #endif | 1581 | #endif |
1582 | 1582 | ||
1583 | int __devinit snd_cs46xx_pcm(cs46xx_t *chip, int device, snd_pcm_t ** rpcm) | 1583 | int __devinit snd_cs46xx_pcm(struct snd_cs46xx *chip, int device, struct snd_pcm ** rpcm) |
1584 | { | 1584 | { |
1585 | snd_pcm_t *pcm; | 1585 | struct snd_pcm *pcm; |
1586 | int err; | 1586 | int err; |
1587 | 1587 | ||
1588 | if (rpcm) | 1588 | if (rpcm) |
@@ -1611,9 +1611,9 @@ int __devinit snd_cs46xx_pcm(cs46xx_t *chip, int device, snd_pcm_t ** rpcm) | |||
1611 | 1611 | ||
1612 | 1612 | ||
1613 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 1613 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
1614 | int __devinit snd_cs46xx_pcm_rear(cs46xx_t *chip, int device, snd_pcm_t ** rpcm) | 1614 | int __devinit snd_cs46xx_pcm_rear(struct snd_cs46xx *chip, int device, struct snd_pcm ** rpcm) |
1615 | { | 1615 | { |
1616 | snd_pcm_t *pcm; | 1616 | struct snd_pcm *pcm; |
1617 | int err; | 1617 | int err; |
1618 | 1618 | ||
1619 | if (rpcm) | 1619 | if (rpcm) |
@@ -1640,9 +1640,9 @@ int __devinit snd_cs46xx_pcm_rear(cs46xx_t *chip, int device, snd_pcm_t ** rpcm) | |||
1640 | return 0; | 1640 | return 0; |
1641 | } | 1641 | } |
1642 | 1642 | ||
1643 | int __devinit snd_cs46xx_pcm_center_lfe(cs46xx_t *chip, int device, snd_pcm_t ** rpcm) | 1643 | int __devinit snd_cs46xx_pcm_center_lfe(struct snd_cs46xx *chip, int device, struct snd_pcm ** rpcm) |
1644 | { | 1644 | { |
1645 | snd_pcm_t *pcm; | 1645 | struct snd_pcm *pcm; |
1646 | int err; | 1646 | int err; |
1647 | 1647 | ||
1648 | if (rpcm) | 1648 | if (rpcm) |
@@ -1669,9 +1669,9 @@ int __devinit snd_cs46xx_pcm_center_lfe(cs46xx_t *chip, int device, snd_pcm_t ** | |||
1669 | return 0; | 1669 | return 0; |
1670 | } | 1670 | } |
1671 | 1671 | ||
1672 | int __devinit snd_cs46xx_pcm_iec958(cs46xx_t *chip, int device, snd_pcm_t ** rpcm) | 1672 | int __devinit snd_cs46xx_pcm_iec958(struct snd_cs46xx *chip, int device, struct snd_pcm ** rpcm) |
1673 | { | 1673 | { |
1674 | snd_pcm_t *pcm; | 1674 | struct snd_pcm *pcm; |
1675 | int err; | 1675 | int err; |
1676 | 1676 | ||
1677 | if (rpcm) | 1677 | if (rpcm) |
@@ -1702,16 +1702,16 @@ int __devinit snd_cs46xx_pcm_iec958(cs46xx_t *chip, int device, snd_pcm_t ** rpc | |||
1702 | /* | 1702 | /* |
1703 | * Mixer routines | 1703 | * Mixer routines |
1704 | */ | 1704 | */ |
1705 | static void snd_cs46xx_mixer_free_ac97_bus(ac97_bus_t *bus) | 1705 | static void snd_cs46xx_mixer_free_ac97_bus(struct snd_ac97_bus *bus) |
1706 | { | 1706 | { |
1707 | cs46xx_t *chip = bus->private_data; | 1707 | struct snd_cs46xx *chip = bus->private_data; |
1708 | 1708 | ||
1709 | chip->ac97_bus = NULL; | 1709 | chip->ac97_bus = NULL; |
1710 | } | 1710 | } |
1711 | 1711 | ||
1712 | static void snd_cs46xx_mixer_free_ac97(ac97_t *ac97) | 1712 | static void snd_cs46xx_mixer_free_ac97(struct snd_ac97 *ac97) |
1713 | { | 1713 | { |
1714 | cs46xx_t *chip = ac97->private_data; | 1714 | struct snd_cs46xx *chip = ac97->private_data; |
1715 | 1715 | ||
1716 | snd_assert ((ac97 == chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]) || | 1716 | snd_assert ((ac97 == chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]) || |
1717 | (ac97 == chip->ac97[CS46XX_SECONDARY_CODEC_INDEX]), | 1717 | (ac97 == chip->ac97[CS46XX_SECONDARY_CODEC_INDEX]), |
@@ -1725,8 +1725,8 @@ static void snd_cs46xx_mixer_free_ac97(ac97_t *ac97) | |||
1725 | chip->ac97[CS46XX_SECONDARY_CODEC_INDEX] = NULL; | 1725 | chip->ac97[CS46XX_SECONDARY_CODEC_INDEX] = NULL; |
1726 | } | 1726 | } |
1727 | 1727 | ||
1728 | static int snd_cs46xx_vol_info(snd_kcontrol_t *kcontrol, | 1728 | static int snd_cs46xx_vol_info(struct snd_kcontrol *kcontrol, |
1729 | snd_ctl_elem_info_t *uinfo) | 1729 | struct snd_ctl_elem_info *uinfo) |
1730 | { | 1730 | { |
1731 | uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; | 1731 | uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; |
1732 | uinfo->count = 2; | 1732 | uinfo->count = 2; |
@@ -1735,9 +1735,9 @@ static int snd_cs46xx_vol_info(snd_kcontrol_t *kcontrol, | |||
1735 | return 0; | 1735 | return 0; |
1736 | } | 1736 | } |
1737 | 1737 | ||
1738 | static int snd_cs46xx_vol_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) | 1738 | static int snd_cs46xx_vol_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1739 | { | 1739 | { |
1740 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1740 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1741 | int reg = kcontrol->private_value; | 1741 | int reg = kcontrol->private_value; |
1742 | unsigned int val = snd_cs46xx_peek(chip, reg); | 1742 | unsigned int val = snd_cs46xx_peek(chip, reg); |
1743 | ucontrol->value.integer.value[0] = 0xffff - (val >> 16); | 1743 | ucontrol->value.integer.value[0] = 0xffff - (val >> 16); |
@@ -1745,9 +1745,9 @@ static int snd_cs46xx_vol_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * | |||
1745 | return 0; | 1745 | return 0; |
1746 | } | 1746 | } |
1747 | 1747 | ||
1748 | static int snd_cs46xx_vol_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) | 1748 | static int snd_cs46xx_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1749 | { | 1749 | { |
1750 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1750 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1751 | int reg = kcontrol->private_value; | 1751 | int reg = kcontrol->private_value; |
1752 | unsigned int val = ((0xffff - ucontrol->value.integer.value[0]) << 16 | | 1752 | unsigned int val = ((0xffff - ucontrol->value.integer.value[0]) << 16 | |
1753 | (0xffff - ucontrol->value.integer.value[1])); | 1753 | (0xffff - ucontrol->value.integer.value[1])); |
@@ -1763,9 +1763,9 @@ static int snd_cs46xx_vol_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * | |||
1763 | 1763 | ||
1764 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 1764 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
1765 | 1765 | ||
1766 | static int snd_cs46xx_vol_dac_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) | 1766 | static int snd_cs46xx_vol_dac_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1767 | { | 1767 | { |
1768 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1768 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1769 | 1769 | ||
1770 | ucontrol->value.integer.value[0] = chip->dsp_spos_instance->dac_volume_left; | 1770 | ucontrol->value.integer.value[0] = chip->dsp_spos_instance->dac_volume_left; |
1771 | ucontrol->value.integer.value[1] = chip->dsp_spos_instance->dac_volume_right; | 1771 | ucontrol->value.integer.value[1] = chip->dsp_spos_instance->dac_volume_right; |
@@ -1773,9 +1773,9 @@ static int snd_cs46xx_vol_dac_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_ | |||
1773 | return 0; | 1773 | return 0; |
1774 | } | 1774 | } |
1775 | 1775 | ||
1776 | static int snd_cs46xx_vol_dac_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) | 1776 | static int snd_cs46xx_vol_dac_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1777 | { | 1777 | { |
1778 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1778 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1779 | int change = 0; | 1779 | int change = 0; |
1780 | 1780 | ||
1781 | if (chip->dsp_spos_instance->dac_volume_right != ucontrol->value.integer.value[0] || | 1781 | if (chip->dsp_spos_instance->dac_volume_right != ucontrol->value.integer.value[0] || |
@@ -1790,18 +1790,18 @@ static int snd_cs46xx_vol_dac_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_ | |||
1790 | } | 1790 | } |
1791 | 1791 | ||
1792 | #if 0 | 1792 | #if 0 |
1793 | static int snd_cs46xx_vol_iec958_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) | 1793 | static int snd_cs46xx_vol_iec958_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1794 | { | 1794 | { |
1795 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1795 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1796 | 1796 | ||
1797 | ucontrol->value.integer.value[0] = chip->dsp_spos_instance->spdif_input_volume_left; | 1797 | ucontrol->value.integer.value[0] = chip->dsp_spos_instance->spdif_input_volume_left; |
1798 | ucontrol->value.integer.value[1] = chip->dsp_spos_instance->spdif_input_volume_right; | 1798 | ucontrol->value.integer.value[1] = chip->dsp_spos_instance->spdif_input_volume_right; |
1799 | return 0; | 1799 | return 0; |
1800 | } | 1800 | } |
1801 | 1801 | ||
1802 | static int snd_cs46xx_vol_iec958_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) | 1802 | static int snd_cs46xx_vol_iec958_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
1803 | { | 1803 | { |
1804 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1804 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1805 | int change = 0; | 1805 | int change = 0; |
1806 | 1806 | ||
1807 | if (chip->dsp_spos_instance->spdif_input_volume_left != ucontrol->value.integer.value[0] || | 1807 | if (chip->dsp_spos_instance->spdif_input_volume_left != ucontrol->value.integer.value[0] || |
@@ -1816,8 +1816,8 @@ static int snd_cs46xx_vol_iec958_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_val | |||
1816 | } | 1816 | } |
1817 | #endif | 1817 | #endif |
1818 | 1818 | ||
1819 | static int snd_mixer_boolean_info(snd_kcontrol_t *kcontrol, | 1819 | static int snd_mixer_boolean_info(struct snd_kcontrol *kcontrol, |
1820 | snd_ctl_elem_info_t *uinfo) | 1820 | struct snd_ctl_elem_info *uinfo) |
1821 | { | 1821 | { |
1822 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; | 1822 | uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; |
1823 | uinfo->count = 1; | 1823 | uinfo->count = 1; |
@@ -1826,10 +1826,10 @@ static int snd_mixer_boolean_info(snd_kcontrol_t *kcontrol, | |||
1826 | return 0; | 1826 | return 0; |
1827 | } | 1827 | } |
1828 | 1828 | ||
1829 | static int snd_cs46xx_iec958_get(snd_kcontrol_t *kcontrol, | 1829 | static int snd_cs46xx_iec958_get(struct snd_kcontrol *kcontrol, |
1830 | snd_ctl_elem_value_t *ucontrol) | 1830 | struct snd_ctl_elem_value *ucontrol) |
1831 | { | 1831 | { |
1832 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1832 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1833 | int reg = kcontrol->private_value; | 1833 | int reg = kcontrol->private_value; |
1834 | 1834 | ||
1835 | if (reg == CS46XX_MIXER_SPDIF_OUTPUT_ELEMENT) | 1835 | if (reg == CS46XX_MIXER_SPDIF_OUTPUT_ELEMENT) |
@@ -1840,10 +1840,10 @@ static int snd_cs46xx_iec958_get(snd_kcontrol_t *kcontrol, | |||
1840 | return 0; | 1840 | return 0; |
1841 | } | 1841 | } |
1842 | 1842 | ||
1843 | static int snd_cs46xx_iec958_put(snd_kcontrol_t *kcontrol, | 1843 | static int snd_cs46xx_iec958_put(struct snd_kcontrol *kcontrol, |
1844 | snd_ctl_elem_value_t *ucontrol) | 1844 | struct snd_ctl_elem_value *ucontrol) |
1845 | { | 1845 | { |
1846 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1846 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1847 | int change, res; | 1847 | int change, res; |
1848 | 1848 | ||
1849 | switch (kcontrol->private_value) { | 1849 | switch (kcontrol->private_value) { |
@@ -1877,11 +1877,11 @@ static int snd_cs46xx_iec958_put(snd_kcontrol_t *kcontrol, | |||
1877 | return res; | 1877 | return res; |
1878 | } | 1878 | } |
1879 | 1879 | ||
1880 | static int snd_cs46xx_adc_capture_get(snd_kcontrol_t *kcontrol, | 1880 | static int snd_cs46xx_adc_capture_get(struct snd_kcontrol *kcontrol, |
1881 | snd_ctl_elem_value_t *ucontrol) | 1881 | struct snd_ctl_elem_value *ucontrol) |
1882 | { | 1882 | { |
1883 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1883 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1884 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1884 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1885 | 1885 | ||
1886 | if (ins->adc_input != NULL) | 1886 | if (ins->adc_input != NULL) |
1887 | ucontrol->value.integer.value[0] = 1; | 1887 | ucontrol->value.integer.value[0] = 1; |
@@ -1891,11 +1891,11 @@ static int snd_cs46xx_adc_capture_get(snd_kcontrol_t *kcontrol, | |||
1891 | return 0; | 1891 | return 0; |
1892 | } | 1892 | } |
1893 | 1893 | ||
1894 | static int snd_cs46xx_adc_capture_put(snd_kcontrol_t *kcontrol, | 1894 | static int snd_cs46xx_adc_capture_put(struct snd_kcontrol *kcontrol, |
1895 | snd_ctl_elem_value_t *ucontrol) | 1895 | struct snd_ctl_elem_value *ucontrol) |
1896 | { | 1896 | { |
1897 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1897 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1898 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1898 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1899 | int change = 0; | 1899 | int change = 0; |
1900 | 1900 | ||
1901 | if (ucontrol->value.integer.value[0] && !ins->adc_input) { | 1901 | if (ucontrol->value.integer.value[0] && !ins->adc_input) { |
@@ -1908,11 +1908,11 @@ static int snd_cs46xx_adc_capture_put(snd_kcontrol_t *kcontrol, | |||
1908 | return change; | 1908 | return change; |
1909 | } | 1909 | } |
1910 | 1910 | ||
1911 | static int snd_cs46xx_pcm_capture_get(snd_kcontrol_t *kcontrol, | 1911 | static int snd_cs46xx_pcm_capture_get(struct snd_kcontrol *kcontrol, |
1912 | snd_ctl_elem_value_t *ucontrol) | 1912 | struct snd_ctl_elem_value *ucontrol) |
1913 | { | 1913 | { |
1914 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1914 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1915 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1915 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1916 | 1916 | ||
1917 | if (ins->pcm_input != NULL) | 1917 | if (ins->pcm_input != NULL) |
1918 | ucontrol->value.integer.value[0] = 1; | 1918 | ucontrol->value.integer.value[0] = 1; |
@@ -1923,11 +1923,11 @@ static int snd_cs46xx_pcm_capture_get(snd_kcontrol_t *kcontrol, | |||
1923 | } | 1923 | } |
1924 | 1924 | ||
1925 | 1925 | ||
1926 | static int snd_cs46xx_pcm_capture_put(snd_kcontrol_t *kcontrol, | 1926 | static int snd_cs46xx_pcm_capture_put(struct snd_kcontrol *kcontrol, |
1927 | snd_ctl_elem_value_t *ucontrol) | 1927 | struct snd_ctl_elem_value *ucontrol) |
1928 | { | 1928 | { |
1929 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1929 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1930 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1930 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1931 | int change = 0; | 1931 | int change = 0; |
1932 | 1932 | ||
1933 | if (ucontrol->value.integer.value[0] && !ins->pcm_input) { | 1933 | if (ucontrol->value.integer.value[0] && !ins->pcm_input) { |
@@ -1941,10 +1941,10 @@ static int snd_cs46xx_pcm_capture_put(snd_kcontrol_t *kcontrol, | |||
1941 | return change; | 1941 | return change; |
1942 | } | 1942 | } |
1943 | 1943 | ||
1944 | static int snd_herc_spdif_select_get(snd_kcontrol_t *kcontrol, | 1944 | static int snd_herc_spdif_select_get(struct snd_kcontrol *kcontrol, |
1945 | snd_ctl_elem_value_t *ucontrol) | 1945 | struct snd_ctl_elem_value *ucontrol) |
1946 | { | 1946 | { |
1947 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1947 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1948 | 1948 | ||
1949 | int val1 = snd_cs46xx_peekBA0(chip, BA0_EGPIODR); | 1949 | int val1 = snd_cs46xx_peekBA0(chip, BA0_EGPIODR); |
1950 | 1950 | ||
@@ -1959,10 +1959,10 @@ static int snd_herc_spdif_select_get(snd_kcontrol_t *kcontrol, | |||
1959 | /* | 1959 | /* |
1960 | * Game Theatre XP card - EGPIO[0] is used to select SPDIF input optical or coaxial. | 1960 | * Game Theatre XP card - EGPIO[0] is used to select SPDIF input optical or coaxial. |
1961 | */ | 1961 | */ |
1962 | static int snd_herc_spdif_select_put(snd_kcontrol_t *kcontrol, | 1962 | static int snd_herc_spdif_select_put(struct snd_kcontrol *kcontrol, |
1963 | snd_ctl_elem_value_t *ucontrol) | 1963 | struct snd_ctl_elem_value *ucontrol) |
1964 | { | 1964 | { |
1965 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1965 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1966 | int val1 = snd_cs46xx_peekBA0(chip, BA0_EGPIODR); | 1966 | int val1 = snd_cs46xx_peekBA0(chip, BA0_EGPIODR); |
1967 | int val2 = snd_cs46xx_peekBA0(chip, BA0_EGPIOPTR); | 1967 | int val2 = snd_cs46xx_peekBA0(chip, BA0_EGPIOPTR); |
1968 | 1968 | ||
@@ -1984,18 +1984,18 @@ static int snd_herc_spdif_select_put(snd_kcontrol_t *kcontrol, | |||
1984 | } | 1984 | } |
1985 | 1985 | ||
1986 | 1986 | ||
1987 | static int snd_cs46xx_spdif_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) | 1987 | static int snd_cs46xx_spdif_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) |
1988 | { | 1988 | { |
1989 | uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958; | 1989 | uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958; |
1990 | uinfo->count = 1; | 1990 | uinfo->count = 1; |
1991 | return 0; | 1991 | return 0; |
1992 | } | 1992 | } |
1993 | 1993 | ||
1994 | static int snd_cs46xx_spdif_default_get(snd_kcontrol_t * kcontrol, | 1994 | static int snd_cs46xx_spdif_default_get(struct snd_kcontrol *kcontrol, |
1995 | snd_ctl_elem_value_t * ucontrol) | 1995 | struct snd_ctl_elem_value *ucontrol) |
1996 | { | 1996 | { |
1997 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 1997 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
1998 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1998 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1999 | 1999 | ||
2000 | down (&chip->spos_mutex); | 2000 | down (&chip->spos_mutex); |
2001 | ucontrol->value.iec958.status[0] = _wrap_all_bits((ins->spdif_csuv_default >> 24) & 0xff); | 2001 | ucontrol->value.iec958.status[0] = _wrap_all_bits((ins->spdif_csuv_default >> 24) & 0xff); |
@@ -2007,11 +2007,11 @@ static int snd_cs46xx_spdif_default_get(snd_kcontrol_t * kcontrol, | |||
2007 | return 0; | 2007 | return 0; |
2008 | } | 2008 | } |
2009 | 2009 | ||
2010 | static int snd_cs46xx_spdif_default_put(snd_kcontrol_t * kcontrol, | 2010 | static int snd_cs46xx_spdif_default_put(struct snd_kcontrol *kcontrol, |
2011 | snd_ctl_elem_value_t * ucontrol) | 2011 | struct snd_ctl_elem_value *ucontrol) |
2012 | { | 2012 | { |
2013 | cs46xx_t * chip = snd_kcontrol_chip(kcontrol); | 2013 | struct snd_cs46xx * chip = snd_kcontrol_chip(kcontrol); |
2014 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 2014 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
2015 | unsigned int val; | 2015 | unsigned int val; |
2016 | int change; | 2016 | int change; |
2017 | 2017 | ||
@@ -2034,8 +2034,8 @@ static int snd_cs46xx_spdif_default_put(snd_kcontrol_t * kcontrol, | |||
2034 | return change; | 2034 | return change; |
2035 | } | 2035 | } |
2036 | 2036 | ||
2037 | static int snd_cs46xx_spdif_mask_get(snd_kcontrol_t * kcontrol, | 2037 | static int snd_cs46xx_spdif_mask_get(struct snd_kcontrol *kcontrol, |
2038 | snd_ctl_elem_value_t * ucontrol) | 2038 | struct snd_ctl_elem_value *ucontrol) |
2039 | { | 2039 | { |
2040 | ucontrol->value.iec958.status[0] = 0xff; | 2040 | ucontrol->value.iec958.status[0] = 0xff; |
2041 | ucontrol->value.iec958.status[1] = 0xff; | 2041 | ucontrol->value.iec958.status[1] = 0xff; |
@@ -2044,11 +2044,11 @@ static int snd_cs46xx_spdif_mask_get(snd_kcontrol_t * kcontrol, | |||
2044 | return 0; | 2044 | return 0; |
2045 | } | 2045 | } |
2046 | 2046 | ||
2047 | static int snd_cs46xx_spdif_stream_get(snd_kcontrol_t * kcontrol, | 2047 | static int snd_cs46xx_spdif_stream_get(struct snd_kcontrol *kcontrol, |
2048 | snd_ctl_elem_value_t * ucontrol) | 2048 | struct snd_ctl_elem_value *ucontrol) |
2049 | { | 2049 | { |
2050 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 2050 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
2051 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 2051 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
2052 | 2052 | ||
2053 | down (&chip->spos_mutex); | 2053 | down (&chip->spos_mutex); |
2054 | ucontrol->value.iec958.status[0] = _wrap_all_bits((ins->spdif_csuv_stream >> 24) & 0xff); | 2054 | ucontrol->value.iec958.status[0] = _wrap_all_bits((ins->spdif_csuv_stream >> 24) & 0xff); |
@@ -2060,11 +2060,11 @@ static int snd_cs46xx_spdif_stream_get(snd_kcontrol_t * kcontrol, | |||
2060 | return 0; | 2060 | return 0; |
2061 | } | 2061 | } |
2062 | 2062 | ||
2063 | static int snd_cs46xx_spdif_stream_put(snd_kcontrol_t * kcontrol, | 2063 | static int snd_cs46xx_spdif_stream_put(struct snd_kcontrol *kcontrol, |
2064 | snd_ctl_elem_value_t * ucontrol) | 2064 | struct snd_ctl_elem_value *ucontrol) |
2065 | { | 2065 | { |
2066 | cs46xx_t * chip = snd_kcontrol_chip(kcontrol); | 2066 | struct snd_cs46xx * chip = snd_kcontrol_chip(kcontrol); |
2067 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 2067 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
2068 | unsigned int val; | 2068 | unsigned int val; |
2069 | int change; | 2069 | int change; |
2070 | 2070 | ||
@@ -2091,8 +2091,8 @@ static int snd_cs46xx_spdif_stream_put(snd_kcontrol_t * kcontrol, | |||
2091 | 2091 | ||
2092 | 2092 | ||
2093 | #ifdef CONFIG_SND_CS46XX_DEBUG_GPIO | 2093 | #ifdef CONFIG_SND_CS46XX_DEBUG_GPIO |
2094 | static int snd_cs46xx_egpio_select_info(snd_kcontrol_t *kcontrol, | 2094 | static int snd_cs46xx_egpio_select_info(struct snd_kcontrol *kcontrol, |
2095 | snd_ctl_elem_info_t *uinfo) | 2095 | struct snd_ctl_elem_info *uinfo) |
2096 | { | 2096 | { |
2097 | uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; | 2097 | uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; |
2098 | uinfo->count = 1; | 2098 | uinfo->count = 1; |
@@ -2101,19 +2101,19 @@ static int snd_cs46xx_egpio_select_info(snd_kcontrol_t *kcontrol, | |||
2101 | return 0; | 2101 | return 0; |
2102 | } | 2102 | } |
2103 | 2103 | ||
2104 | static int snd_cs46xx_egpio_select_get(snd_kcontrol_t *kcontrol, | 2104 | static int snd_cs46xx_egpio_select_get(struct snd_kcontrol *kcontrol, |
2105 | snd_ctl_elem_value_t *ucontrol) | 2105 | struct snd_ctl_elem_value *ucontrol) |
2106 | { | 2106 | { |
2107 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 2107 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
2108 | ucontrol->value.integer.value[0] = chip->current_gpio; | 2108 | ucontrol->value.integer.value[0] = chip->current_gpio; |
2109 | 2109 | ||
2110 | return 0; | 2110 | return 0; |
2111 | } | 2111 | } |
2112 | 2112 | ||
2113 | static int snd_cs46xx_egpio_select_put(snd_kcontrol_t *kcontrol, | 2113 | static int snd_cs46xx_egpio_select_put(struct snd_kcontrol *kcontrol, |
2114 | snd_ctl_elem_value_t *ucontrol) | 2114 | struct snd_ctl_elem_value *ucontrol) |
2115 | { | 2115 | { |
2116 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 2116 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
2117 | int change = (chip->current_gpio != ucontrol->value.integer.value[0]); | 2117 | int change = (chip->current_gpio != ucontrol->value.integer.value[0]); |
2118 | chip->current_gpio = ucontrol->value.integer.value[0]; | 2118 | chip->current_gpio = ucontrol->value.integer.value[0]; |
2119 | 2119 | ||
@@ -2121,10 +2121,10 @@ static int snd_cs46xx_egpio_select_put(snd_kcontrol_t *kcontrol, | |||
2121 | } | 2121 | } |
2122 | 2122 | ||
2123 | 2123 | ||
2124 | static int snd_cs46xx_egpio_get(snd_kcontrol_t *kcontrol, | 2124 | static int snd_cs46xx_egpio_get(struct snd_kcontrol *kcontrol, |
2125 | snd_ctl_elem_value_t *ucontrol) | 2125 | struct snd_ctl_elem_value *ucontrol) |
2126 | { | 2126 | { |
2127 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 2127 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
2128 | int reg = kcontrol->private_value; | 2128 | int reg = kcontrol->private_value; |
2129 | 2129 | ||
2130 | snd_printdd ("put: reg = %04x, gpio %02x\n",reg,chip->current_gpio); | 2130 | snd_printdd ("put: reg = %04x, gpio %02x\n",reg,chip->current_gpio); |
@@ -2134,10 +2134,10 @@ static int snd_cs46xx_egpio_get(snd_kcontrol_t *kcontrol, | |||
2134 | return 0; | 2134 | return 0; |
2135 | } | 2135 | } |
2136 | 2136 | ||
2137 | static int snd_cs46xx_egpio_put(snd_kcontrol_t *kcontrol, | 2137 | static int snd_cs46xx_egpio_put(struct snd_kcontrol *kcontrol, |
2138 | snd_ctl_elem_value_t *ucontrol) | 2138 | struct snd_ctl_elem_value *ucontrol) |
2139 | { | 2139 | { |
2140 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 2140 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
2141 | int reg = kcontrol->private_value; | 2141 | int reg = kcontrol->private_value; |
2142 | int val = snd_cs46xx_peekBA0(chip, reg); | 2142 | int val = snd_cs46xx_peekBA0(chip, reg); |
2143 | int oldval = val; | 2143 | int oldval = val; |
@@ -2155,7 +2155,7 @@ static int snd_cs46xx_egpio_put(snd_kcontrol_t *kcontrol, | |||
2155 | } | 2155 | } |
2156 | #endif /* CONFIG_SND_CS46XX_DEBUG_GPIO */ | 2156 | #endif /* CONFIG_SND_CS46XX_DEBUG_GPIO */ |
2157 | 2157 | ||
2158 | static snd_kcontrol_new_t snd_cs46xx_controls[] __devinitdata = { | 2158 | static struct snd_kcontrol_new snd_cs46xx_controls[] __devinitdata = { |
2159 | { | 2159 | { |
2160 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, | 2160 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, |
2161 | .name = "DAC Volume", | 2161 | .name = "DAC Volume", |
@@ -2285,26 +2285,26 @@ static snd_kcontrol_new_t snd_cs46xx_controls[] __devinitdata = { | |||
2285 | 2285 | ||
2286 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 2286 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
2287 | /* set primary cs4294 codec into Extended Audio Mode */ | 2287 | /* set primary cs4294 codec into Extended Audio Mode */ |
2288 | static int snd_cs46xx_front_dup_get(snd_kcontrol_t *kcontrol, | 2288 | static int snd_cs46xx_front_dup_get(struct snd_kcontrol *kcontrol, |
2289 | snd_ctl_elem_value_t *ucontrol) | 2289 | struct snd_ctl_elem_value *ucontrol) |
2290 | { | 2290 | { |
2291 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 2291 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
2292 | unsigned short val; | 2292 | unsigned short val; |
2293 | val = snd_ac97_read(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX], AC97_CSR_ACMODE); | 2293 | val = snd_ac97_read(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX], AC97_CSR_ACMODE); |
2294 | ucontrol->value.integer.value[0] = (val & 0x200) ? 0 : 1; | 2294 | ucontrol->value.integer.value[0] = (val & 0x200) ? 0 : 1; |
2295 | return 0; | 2295 | return 0; |
2296 | } | 2296 | } |
2297 | 2297 | ||
2298 | static int snd_cs46xx_front_dup_put(snd_kcontrol_t *kcontrol, | 2298 | static int snd_cs46xx_front_dup_put(struct snd_kcontrol *kcontrol, |
2299 | snd_ctl_elem_value_t *ucontrol) | 2299 | struct snd_ctl_elem_value *ucontrol) |
2300 | { | 2300 | { |
2301 | cs46xx_t *chip = snd_kcontrol_chip(kcontrol); | 2301 | struct snd_cs46xx *chip = snd_kcontrol_chip(kcontrol); |
2302 | return snd_ac97_update_bits(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX], | 2302 | return snd_ac97_update_bits(chip->ac97[CS46XX_PRIMARY_CODEC_INDEX], |
2303 | AC97_CSR_ACMODE, 0x200, | 2303 | AC97_CSR_ACMODE, 0x200, |
2304 | ucontrol->value.integer.value[0] ? 0 : 0x200); | 2304 | ucontrol->value.integer.value[0] ? 0 : 0x200); |
2305 | } | 2305 | } |
2306 | 2306 | ||
2307 | static snd_kcontrol_new_t snd_cs46xx_front_dup_ctl = { | 2307 | static struct snd_kcontrol_new snd_cs46xx_front_dup_ctl = { |
2308 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, | 2308 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, |
2309 | .name = "Duplicate Front", | 2309 | .name = "Duplicate Front", |
2310 | .info = snd_mixer_boolean_info, | 2310 | .info = snd_mixer_boolean_info, |
@@ -2315,7 +2315,7 @@ static snd_kcontrol_new_t snd_cs46xx_front_dup_ctl = { | |||
2315 | 2315 | ||
2316 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 2316 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
2317 | /* Only available on the Hercules Game Theater XP soundcard */ | 2317 | /* Only available on the Hercules Game Theater XP soundcard */ |
2318 | static snd_kcontrol_new_t snd_hercules_controls[] __devinitdata = { | 2318 | static struct snd_kcontrol_new snd_hercules_controls[] __devinitdata = { |
2319 | { | 2319 | { |
2320 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, | 2320 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, |
2321 | .name = "Optical/Coaxial SPDIF Input Switch", | 2321 | .name = "Optical/Coaxial SPDIF Input Switch", |
@@ -2326,7 +2326,7 @@ static snd_kcontrol_new_t snd_hercules_controls[] __devinitdata = { | |||
2326 | }; | 2326 | }; |
2327 | 2327 | ||
2328 | 2328 | ||
2329 | static void snd_cs46xx_codec_reset (ac97_t * ac97) | 2329 | static void snd_cs46xx_codec_reset (struct snd_ac97 * ac97) |
2330 | { | 2330 | { |
2331 | unsigned long end_time; | 2331 | unsigned long end_time; |
2332 | int err; | 2332 | int err; |
@@ -2375,10 +2375,10 @@ static void snd_cs46xx_codec_reset (ac97_t * ac97) | |||
2375 | } | 2375 | } |
2376 | #endif | 2376 | #endif |
2377 | 2377 | ||
2378 | static int __devinit cs46xx_detect_codec(cs46xx_t *chip, int codec) | 2378 | static int __devinit cs46xx_detect_codec(struct snd_cs46xx *chip, int codec) |
2379 | { | 2379 | { |
2380 | int idx, err; | 2380 | int idx, err; |
2381 | ac97_template_t ac97; | 2381 | struct snd_ac97_template ac97; |
2382 | 2382 | ||
2383 | memset(&ac97, 0, sizeof(ac97)); | 2383 | memset(&ac97, 0, sizeof(ac97)); |
2384 | ac97.private_data = chip; | 2384 | ac97.private_data = chip; |
@@ -2408,13 +2408,13 @@ static int __devinit cs46xx_detect_codec(cs46xx_t *chip, int codec) | |||
2408 | return -ENXIO; | 2408 | return -ENXIO; |
2409 | } | 2409 | } |
2410 | 2410 | ||
2411 | int __devinit snd_cs46xx_mixer(cs46xx_t *chip, int spdif_device) | 2411 | int __devinit snd_cs46xx_mixer(struct snd_cs46xx *chip, int spdif_device) |
2412 | { | 2412 | { |
2413 | snd_card_t *card = chip->card; | 2413 | struct snd_card *card = chip->card; |
2414 | snd_ctl_elem_id_t id; | 2414 | struct snd_ctl_elem_id id; |
2415 | int err; | 2415 | int err; |
2416 | unsigned int idx; | 2416 | unsigned int idx; |
2417 | static ac97_bus_ops_t ops = { | 2417 | static struct snd_ac97_bus_ops ops = { |
2418 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 2418 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
2419 | .reset = snd_cs46xx_codec_reset, | 2419 | .reset = snd_cs46xx_codec_reset, |
2420 | #endif | 2420 | #endif |
@@ -2442,7 +2442,7 @@ int __devinit snd_cs46xx_mixer(cs46xx_t *chip, int spdif_device) | |||
2442 | 2442 | ||
2443 | /* add cs4630 mixer controls */ | 2443 | /* add cs4630 mixer controls */ |
2444 | for (idx = 0; idx < ARRAY_SIZE(snd_cs46xx_controls); idx++) { | 2444 | for (idx = 0; idx < ARRAY_SIZE(snd_cs46xx_controls); idx++) { |
2445 | snd_kcontrol_t *kctl; | 2445 | struct snd_kcontrol *kctl; |
2446 | kctl = snd_ctl_new1(&snd_cs46xx_controls[idx], chip); | 2446 | kctl = snd_ctl_new1(&snd_cs46xx_controls[idx], chip); |
2447 | if (kctl && kctl->id.iface == SNDRV_CTL_ELEM_IFACE_PCM) | 2447 | if (kctl && kctl->id.iface == SNDRV_CTL_ELEM_IFACE_PCM) |
2448 | kctl->id.device = spdif_device; | 2448 | kctl->id.device = spdif_device; |
@@ -2484,16 +2484,16 @@ int __devinit snd_cs46xx_mixer(cs46xx_t *chip, int spdif_device) | |||
2484 | * RawMIDI interface | 2484 | * RawMIDI interface |
2485 | */ | 2485 | */ |
2486 | 2486 | ||
2487 | static void snd_cs46xx_midi_reset(cs46xx_t *chip) | 2487 | static void snd_cs46xx_midi_reset(struct snd_cs46xx *chip) |
2488 | { | 2488 | { |
2489 | snd_cs46xx_pokeBA0(chip, BA0_MIDCR, MIDCR_MRST); | 2489 | snd_cs46xx_pokeBA0(chip, BA0_MIDCR, MIDCR_MRST); |
2490 | udelay(100); | 2490 | udelay(100); |
2491 | snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr); | 2491 | snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr); |
2492 | } | 2492 | } |
2493 | 2493 | ||
2494 | static int snd_cs46xx_midi_input_open(snd_rawmidi_substream_t * substream) | 2494 | static int snd_cs46xx_midi_input_open(struct snd_rawmidi_substream *substream) |
2495 | { | 2495 | { |
2496 | cs46xx_t *chip = substream->rmidi->private_data; | 2496 | struct snd_cs46xx *chip = substream->rmidi->private_data; |
2497 | 2497 | ||
2498 | chip->active_ctrl(chip, 1); | 2498 | chip->active_ctrl(chip, 1); |
2499 | spin_lock_irq(&chip->reg_lock); | 2499 | spin_lock_irq(&chip->reg_lock); |
@@ -2509,9 +2509,9 @@ static int snd_cs46xx_midi_input_open(snd_rawmidi_substream_t * substream) | |||
2509 | return 0; | 2509 | return 0; |
2510 | } | 2510 | } |
2511 | 2511 | ||
2512 | static int snd_cs46xx_midi_input_close(snd_rawmidi_substream_t * substream) | 2512 | static int snd_cs46xx_midi_input_close(struct snd_rawmidi_substream *substream) |
2513 | { | 2513 | { |
2514 | cs46xx_t *chip = substream->rmidi->private_data; | 2514 | struct snd_cs46xx *chip = substream->rmidi->private_data; |
2515 | 2515 | ||
2516 | spin_lock_irq(&chip->reg_lock); | 2516 | spin_lock_irq(&chip->reg_lock); |
2517 | chip->midcr &= ~(MIDCR_RXE | MIDCR_RIE); | 2517 | chip->midcr &= ~(MIDCR_RXE | MIDCR_RIE); |
@@ -2527,9 +2527,9 @@ static int snd_cs46xx_midi_input_close(snd_rawmidi_substream_t * substream) | |||
2527 | return 0; | 2527 | return 0; |
2528 | } | 2528 | } |
2529 | 2529 | ||
2530 | static int snd_cs46xx_midi_output_open(snd_rawmidi_substream_t * substream) | 2530 | static int snd_cs46xx_midi_output_open(struct snd_rawmidi_substream *substream) |
2531 | { | 2531 | { |
2532 | cs46xx_t *chip = substream->rmidi->private_data; | 2532 | struct snd_cs46xx *chip = substream->rmidi->private_data; |
2533 | 2533 | ||
2534 | chip->active_ctrl(chip, 1); | 2534 | chip->active_ctrl(chip, 1); |
2535 | 2535 | ||
@@ -2546,9 +2546,9 @@ static int snd_cs46xx_midi_output_open(snd_rawmidi_substream_t * substream) | |||
2546 | return 0; | 2546 | return 0; |
2547 | } | 2547 | } |
2548 | 2548 | ||
2549 | static int snd_cs46xx_midi_output_close(snd_rawmidi_substream_t * substream) | 2549 | static int snd_cs46xx_midi_output_close(struct snd_rawmidi_substream *substream) |
2550 | { | 2550 | { |
2551 | cs46xx_t *chip = substream->rmidi->private_data; | 2551 | struct snd_cs46xx *chip = substream->rmidi->private_data; |
2552 | 2552 | ||
2553 | spin_lock_irq(&chip->reg_lock); | 2553 | spin_lock_irq(&chip->reg_lock); |
2554 | chip->midcr &= ~(MIDCR_TXE | MIDCR_TIE); | 2554 | chip->midcr &= ~(MIDCR_TXE | MIDCR_TIE); |
@@ -2564,10 +2564,10 @@ static int snd_cs46xx_midi_output_close(snd_rawmidi_substream_t * substream) | |||
2564 | return 0; | 2564 | return 0; |
2565 | } | 2565 | } |
2566 | 2566 | ||
2567 | static void snd_cs46xx_midi_input_trigger(snd_rawmidi_substream_t * substream, int up) | 2567 | static void snd_cs46xx_midi_input_trigger(struct snd_rawmidi_substream *substream, int up) |
2568 | { | 2568 | { |
2569 | unsigned long flags; | 2569 | unsigned long flags; |
2570 | cs46xx_t *chip = substream->rmidi->private_data; | 2570 | struct snd_cs46xx *chip = substream->rmidi->private_data; |
2571 | 2571 | ||
2572 | spin_lock_irqsave(&chip->reg_lock, flags); | 2572 | spin_lock_irqsave(&chip->reg_lock, flags); |
2573 | if (up) { | 2573 | if (up) { |
@@ -2584,10 +2584,10 @@ static void snd_cs46xx_midi_input_trigger(snd_rawmidi_substream_t * substream, i | |||
2584 | spin_unlock_irqrestore(&chip->reg_lock, flags); | 2584 | spin_unlock_irqrestore(&chip->reg_lock, flags); |
2585 | } | 2585 | } |
2586 | 2586 | ||
2587 | static void snd_cs46xx_midi_output_trigger(snd_rawmidi_substream_t * substream, int up) | 2587 | static void snd_cs46xx_midi_output_trigger(struct snd_rawmidi_substream *substream, int up) |
2588 | { | 2588 | { |
2589 | unsigned long flags; | 2589 | unsigned long flags; |
2590 | cs46xx_t *chip = substream->rmidi->private_data; | 2590 | struct snd_cs46xx *chip = substream->rmidi->private_data; |
2591 | unsigned char byte; | 2591 | unsigned char byte; |
2592 | 2592 | ||
2593 | spin_lock_irqsave(&chip->reg_lock, flags); | 2593 | spin_lock_irqsave(&chip->reg_lock, flags); |
@@ -2614,23 +2614,23 @@ static void snd_cs46xx_midi_output_trigger(snd_rawmidi_substream_t * substream, | |||
2614 | spin_unlock_irqrestore(&chip->reg_lock, flags); | 2614 | spin_unlock_irqrestore(&chip->reg_lock, flags); |
2615 | } | 2615 | } |
2616 | 2616 | ||
2617 | static snd_rawmidi_ops_t snd_cs46xx_midi_output = | 2617 | static struct snd_rawmidi_ops snd_cs46xx_midi_output = |
2618 | { | 2618 | { |
2619 | .open = snd_cs46xx_midi_output_open, | 2619 | .open = snd_cs46xx_midi_output_open, |
2620 | .close = snd_cs46xx_midi_output_close, | 2620 | .close = snd_cs46xx_midi_output_close, |
2621 | .trigger = snd_cs46xx_midi_output_trigger, | 2621 | .trigger = snd_cs46xx_midi_output_trigger, |
2622 | }; | 2622 | }; |
2623 | 2623 | ||
2624 | static snd_rawmidi_ops_t snd_cs46xx_midi_input = | 2624 | static struct snd_rawmidi_ops snd_cs46xx_midi_input = |
2625 | { | 2625 | { |
2626 | .open = snd_cs46xx_midi_input_open, | 2626 | .open = snd_cs46xx_midi_input_open, |
2627 | .close = snd_cs46xx_midi_input_close, | 2627 | .close = snd_cs46xx_midi_input_close, |
2628 | .trigger = snd_cs46xx_midi_input_trigger, | 2628 | .trigger = snd_cs46xx_midi_input_trigger, |
2629 | }; | 2629 | }; |
2630 | 2630 | ||
2631 | int __devinit snd_cs46xx_midi(cs46xx_t *chip, int device, snd_rawmidi_t **rrawmidi) | 2631 | int __devinit snd_cs46xx_midi(struct snd_cs46xx *chip, int device, struct snd_rawmidi **rrawmidi) |
2632 | { | 2632 | { |
2633 | snd_rawmidi_t *rmidi; | 2633 | struct snd_rawmidi *rmidi; |
2634 | int err; | 2634 | int err; |
2635 | 2635 | ||
2636 | if (rrawmidi) | 2636 | if (rrawmidi) |
@@ -2657,7 +2657,7 @@ int __devinit snd_cs46xx_midi(cs46xx_t *chip, int device, snd_rawmidi_t **rrawmi | |||
2657 | 2657 | ||
2658 | static void snd_cs46xx_gameport_trigger(struct gameport *gameport) | 2658 | static void snd_cs46xx_gameport_trigger(struct gameport *gameport) |
2659 | { | 2659 | { |
2660 | cs46xx_t *chip = gameport_get_port_data(gameport); | 2660 | struct snd_cs46xx *chip = gameport_get_port_data(gameport); |
2661 | 2661 | ||
2662 | snd_assert(chip, return); | 2662 | snd_assert(chip, return); |
2663 | snd_cs46xx_pokeBA0(chip, BA0_JSPT, 0xFF); //outb(gameport->io, 0xFF); | 2663 | snd_cs46xx_pokeBA0(chip, BA0_JSPT, 0xFF); //outb(gameport->io, 0xFF); |
@@ -2665,7 +2665,7 @@ static void snd_cs46xx_gameport_trigger(struct gameport *gameport) | |||
2665 | 2665 | ||
2666 | static unsigned char snd_cs46xx_gameport_read(struct gameport *gameport) | 2666 | static unsigned char snd_cs46xx_gameport_read(struct gameport *gameport) |
2667 | { | 2667 | { |
2668 | cs46xx_t *chip = gameport_get_port_data(gameport); | 2668 | struct snd_cs46xx *chip = gameport_get_port_data(gameport); |
2669 | 2669 | ||
2670 | snd_assert(chip, return 0); | 2670 | snd_assert(chip, return 0); |
2671 | return snd_cs46xx_peekBA0(chip, BA0_JSPT); //inb(gameport->io); | 2671 | return snd_cs46xx_peekBA0(chip, BA0_JSPT); //inb(gameport->io); |
@@ -2673,7 +2673,7 @@ static unsigned char snd_cs46xx_gameport_read(struct gameport *gameport) | |||
2673 | 2673 | ||
2674 | static int snd_cs46xx_gameport_cooked_read(struct gameport *gameport, int *axes, int *buttons) | 2674 | static int snd_cs46xx_gameport_cooked_read(struct gameport *gameport, int *axes, int *buttons) |
2675 | { | 2675 | { |
2676 | cs46xx_t *chip = gameport_get_port_data(gameport); | 2676 | struct snd_cs46xx *chip = gameport_get_port_data(gameport); |
2677 | unsigned js1, js2, jst; | 2677 | unsigned js1, js2, jst; |
2678 | 2678 | ||
2679 | snd_assert(chip, return 0); | 2679 | snd_assert(chip, return 0); |
@@ -2707,7 +2707,7 @@ static int snd_cs46xx_gameport_open(struct gameport *gameport, int mode) | |||
2707 | return 0; | 2707 | return 0; |
2708 | } | 2708 | } |
2709 | 2709 | ||
2710 | int __devinit snd_cs46xx_gameport(cs46xx_t *chip) | 2710 | int __devinit snd_cs46xx_gameport(struct snd_cs46xx *chip) |
2711 | { | 2711 | { |
2712 | struct gameport *gp; | 2712 | struct gameport *gp; |
2713 | 2713 | ||
@@ -2735,7 +2735,7 @@ int __devinit snd_cs46xx_gameport(cs46xx_t *chip) | |||
2735 | return 0; | 2735 | return 0; |
2736 | } | 2736 | } |
2737 | 2737 | ||
2738 | static inline void snd_cs46xx_remove_gameport(cs46xx_t *chip) | 2738 | static inline void snd_cs46xx_remove_gameport(struct snd_cs46xx *chip) |
2739 | { | 2739 | { |
2740 | if (chip->gameport) { | 2740 | if (chip->gameport) { |
2741 | gameport_unregister_port(chip->gameport); | 2741 | gameport_unregister_port(chip->gameport); |
@@ -2743,20 +2743,20 @@ static inline void snd_cs46xx_remove_gameport(cs46xx_t *chip) | |||
2743 | } | 2743 | } |
2744 | } | 2744 | } |
2745 | #else | 2745 | #else |
2746 | int __devinit snd_cs46xx_gameport(cs46xx_t *chip) { return -ENOSYS; } | 2746 | int __devinit snd_cs46xx_gameport(struct snd_cs46xx *chip) { return -ENOSYS; } |
2747 | static inline void snd_cs46xx_remove_gameport(cs46xx_t *chip) { } | 2747 | static inline void snd_cs46xx_remove_gameport(struct snd_cs46xx *chip) { } |
2748 | #endif /* CONFIG_GAMEPORT */ | 2748 | #endif /* CONFIG_GAMEPORT */ |
2749 | 2749 | ||
2750 | /* | 2750 | /* |
2751 | * proc interface | 2751 | * proc interface |
2752 | */ | 2752 | */ |
2753 | 2753 | ||
2754 | static long snd_cs46xx_io_read(snd_info_entry_t *entry, void *file_private_data, | 2754 | static long snd_cs46xx_io_read(struct snd_info_entry *entry, void *file_private_data, |
2755 | struct file *file, char __user *buf, | 2755 | struct file *file, char __user *buf, |
2756 | unsigned long count, unsigned long pos) | 2756 | unsigned long count, unsigned long pos) |
2757 | { | 2757 | { |
2758 | long size; | 2758 | long size; |
2759 | snd_cs46xx_region_t *region = (snd_cs46xx_region_t *)entry->private_data; | 2759 | struct snd_cs46xx_region *region = entry->private_data; |
2760 | 2760 | ||
2761 | size = count; | 2761 | size = count; |
2762 | if (pos + (size_t)size > region->size) | 2762 | if (pos + (size_t)size > region->size) |
@@ -2772,13 +2772,13 @@ static struct snd_info_entry_ops snd_cs46xx_proc_io_ops = { | |||
2772 | .read = snd_cs46xx_io_read, | 2772 | .read = snd_cs46xx_io_read, |
2773 | }; | 2773 | }; |
2774 | 2774 | ||
2775 | static int __devinit snd_cs46xx_proc_init(snd_card_t * card, cs46xx_t *chip) | 2775 | static int __devinit snd_cs46xx_proc_init(struct snd_card *card, struct snd_cs46xx *chip) |
2776 | { | 2776 | { |
2777 | snd_info_entry_t *entry; | 2777 | struct snd_info_entry *entry; |
2778 | int idx; | 2778 | int idx; |
2779 | 2779 | ||
2780 | for (idx = 0; idx < 5; idx++) { | 2780 | for (idx = 0; idx < 5; idx++) { |
2781 | snd_cs46xx_region_t *region = &chip->region.idx[idx]; | 2781 | struct snd_cs46xx_region *region = &chip->region.idx[idx]; |
2782 | if (! snd_card_proc_new(card, region->name, &entry)) { | 2782 | if (! snd_card_proc_new(card, region->name, &entry)) { |
2783 | entry->content = SNDRV_INFO_CONTENT_DATA; | 2783 | entry->content = SNDRV_INFO_CONTENT_DATA; |
2784 | entry->private_data = chip; | 2784 | entry->private_data = chip; |
@@ -2793,7 +2793,7 @@ static int __devinit snd_cs46xx_proc_init(snd_card_t * card, cs46xx_t *chip) | |||
2793 | return 0; | 2793 | return 0; |
2794 | } | 2794 | } |
2795 | 2795 | ||
2796 | static int snd_cs46xx_proc_done(cs46xx_t *chip) | 2796 | static int snd_cs46xx_proc_done(struct snd_cs46xx *chip) |
2797 | { | 2797 | { |
2798 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 2798 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
2799 | cs46xx_dsp_proc_done(chip); | 2799 | cs46xx_dsp_proc_done(chip); |
@@ -2804,7 +2804,7 @@ static int snd_cs46xx_proc_done(cs46xx_t *chip) | |||
2804 | /* | 2804 | /* |
2805 | * stop the h/w | 2805 | * stop the h/w |
2806 | */ | 2806 | */ |
2807 | static void snd_cs46xx_hw_stop(cs46xx_t *chip) | 2807 | static void snd_cs46xx_hw_stop(struct snd_cs46xx *chip) |
2808 | { | 2808 | { |
2809 | unsigned int tmp; | 2809 | unsigned int tmp; |
2810 | 2810 | ||
@@ -2851,7 +2851,7 @@ static void snd_cs46xx_hw_stop(cs46xx_t *chip) | |||
2851 | } | 2851 | } |
2852 | 2852 | ||
2853 | 2853 | ||
2854 | static int snd_cs46xx_free(cs46xx_t *chip) | 2854 | static int snd_cs46xx_free(struct snd_cs46xx *chip) |
2855 | { | 2855 | { |
2856 | int idx; | 2856 | int idx; |
2857 | 2857 | ||
@@ -2871,13 +2871,13 @@ static int snd_cs46xx_free(cs46xx_t *chip) | |||
2871 | snd_cs46xx_hw_stop(chip); | 2871 | snd_cs46xx_hw_stop(chip); |
2872 | 2872 | ||
2873 | for (idx = 0; idx < 5; idx++) { | 2873 | for (idx = 0; idx < 5; idx++) { |
2874 | snd_cs46xx_region_t *region = &chip->region.idx[idx]; | 2874 | struct snd_cs46xx_region *region = &chip->region.idx[idx]; |
2875 | if (region->remap_addr) | 2875 | if (region->remap_addr) |
2876 | iounmap(region->remap_addr); | 2876 | iounmap(region->remap_addr); |
2877 | release_and_free_resource(region->resource); | 2877 | release_and_free_resource(region->resource); |
2878 | } | 2878 | } |
2879 | if (chip->irq >= 0) | 2879 | if (chip->irq >= 0) |
2880 | free_irq(chip->irq, (void *)chip); | 2880 | free_irq(chip->irq, chip); |
2881 | 2881 | ||
2882 | if (chip->active_ctrl) | 2882 | if (chip->active_ctrl) |
2883 | chip->active_ctrl(chip, -chip->amplifier); | 2883 | chip->active_ctrl(chip, -chip->amplifier); |
@@ -2894,16 +2894,16 @@ static int snd_cs46xx_free(cs46xx_t *chip) | |||
2894 | return 0; | 2894 | return 0; |
2895 | } | 2895 | } |
2896 | 2896 | ||
2897 | static int snd_cs46xx_dev_free(snd_device_t *device) | 2897 | static int snd_cs46xx_dev_free(struct snd_device *device) |
2898 | { | 2898 | { |
2899 | cs46xx_t *chip = device->device_data; | 2899 | struct snd_cs46xx *chip = device->device_data; |
2900 | return snd_cs46xx_free(chip); | 2900 | return snd_cs46xx_free(chip); |
2901 | } | 2901 | } |
2902 | 2902 | ||
2903 | /* | 2903 | /* |
2904 | * initialize chip | 2904 | * initialize chip |
2905 | */ | 2905 | */ |
2906 | static int snd_cs46xx_chip_init(cs46xx_t *chip) | 2906 | static int snd_cs46xx_chip_init(struct snd_cs46xx *chip) |
2907 | { | 2907 | { |
2908 | int timeout; | 2908 | int timeout; |
2909 | 2909 | ||
@@ -3132,7 +3132,7 @@ static int snd_cs46xx_chip_init(cs46xx_t *chip) | |||
3132 | /* | 3132 | /* |
3133 | * start and load DSP | 3133 | * start and load DSP |
3134 | */ | 3134 | */ |
3135 | int __devinit snd_cs46xx_start_dsp(cs46xx_t *chip) | 3135 | int __devinit snd_cs46xx_start_dsp(struct snd_cs46xx *chip) |
3136 | { | 3136 | { |
3137 | unsigned int tmp; | 3137 | unsigned int tmp; |
3138 | /* | 3138 | /* |
@@ -3234,12 +3234,12 @@ int __devinit snd_cs46xx_start_dsp(cs46xx_t *chip) | |||
3234 | * AMP control - null AMP | 3234 | * AMP control - null AMP |
3235 | */ | 3235 | */ |
3236 | 3236 | ||
3237 | static void amp_none(cs46xx_t *chip, int change) | 3237 | static void amp_none(struct snd_cs46xx *chip, int change) |
3238 | { | 3238 | { |
3239 | } | 3239 | } |
3240 | 3240 | ||
3241 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 3241 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
3242 | static int voyetra_setup_eapd_slot(cs46xx_t *chip) | 3242 | static int voyetra_setup_eapd_slot(struct snd_cs46xx *chip) |
3243 | { | 3243 | { |
3244 | 3244 | ||
3245 | u32 idx, valid_slots,tmp,powerdown = 0; | 3245 | u32 idx, valid_slots,tmp,powerdown = 0; |
@@ -3359,7 +3359,7 @@ static int voyetra_setup_eapd_slot(cs46xx_t *chip) | |||
3359 | * Crystal EAPD mode | 3359 | * Crystal EAPD mode |
3360 | */ | 3360 | */ |
3361 | 3361 | ||
3362 | static void amp_voyetra(cs46xx_t *chip, int change) | 3362 | static void amp_voyetra(struct snd_cs46xx *chip, int change) |
3363 | { | 3363 | { |
3364 | /* Manage the EAPD bit on the Crystal 4297 | 3364 | /* Manage the EAPD bit on the Crystal 4297 |
3365 | and the Analog AD1885 */ | 3365 | and the Analog AD1885 */ |
@@ -3395,7 +3395,7 @@ static void amp_voyetra(cs46xx_t *chip, int change) | |||
3395 | #endif | 3395 | #endif |
3396 | } | 3396 | } |
3397 | 3397 | ||
3398 | static void hercules_init(cs46xx_t *chip) | 3398 | static void hercules_init(struct snd_cs46xx *chip) |
3399 | { | 3399 | { |
3400 | /* default: AMP off, and SPDIF input optical */ | 3400 | /* default: AMP off, and SPDIF input optical */ |
3401 | snd_cs46xx_pokeBA0(chip, BA0_EGPIODR, EGPIODR_GPOE0); | 3401 | snd_cs46xx_pokeBA0(chip, BA0_EGPIODR, EGPIODR_GPOE0); |
@@ -3406,7 +3406,7 @@ static void hercules_init(cs46xx_t *chip) | |||
3406 | /* | 3406 | /* |
3407 | * Game Theatre XP card - EGPIO[2] is used to enable the external amp. | 3407 | * Game Theatre XP card - EGPIO[2] is used to enable the external amp. |
3408 | */ | 3408 | */ |
3409 | static void amp_hercules(cs46xx_t *chip, int change) | 3409 | static void amp_hercules(struct snd_cs46xx *chip, int change) |
3410 | { | 3410 | { |
3411 | int old = chip->amplifier; | 3411 | int old = chip->amplifier; |
3412 | int val1 = snd_cs46xx_peekBA0(chip, BA0_EGPIODR); | 3412 | int val1 = snd_cs46xx_peekBA0(chip, BA0_EGPIODR); |
@@ -3427,7 +3427,7 @@ static void amp_hercules(cs46xx_t *chip, int change) | |||
3427 | } | 3427 | } |
3428 | } | 3428 | } |
3429 | 3429 | ||
3430 | static void voyetra_mixer_init (cs46xx_t *chip) | 3430 | static void voyetra_mixer_init (struct snd_cs46xx *chip) |
3431 | { | 3431 | { |
3432 | snd_printdd ("initializing Voyetra mixer\n"); | 3432 | snd_printdd ("initializing Voyetra mixer\n"); |
3433 | 3433 | ||
@@ -3436,12 +3436,12 @@ static void voyetra_mixer_init (cs46xx_t *chip) | |||
3436 | snd_cs46xx_pokeBA0(chip, BA0_EGPIOPTR, EGPIODR_GPOE0); | 3436 | snd_cs46xx_pokeBA0(chip, BA0_EGPIOPTR, EGPIODR_GPOE0); |
3437 | } | 3437 | } |
3438 | 3438 | ||
3439 | static void hercules_mixer_init (cs46xx_t *chip) | 3439 | static void hercules_mixer_init (struct snd_cs46xx *chip) |
3440 | { | 3440 | { |
3441 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 3441 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
3442 | unsigned int idx; | 3442 | unsigned int idx; |
3443 | int err; | 3443 | int err; |
3444 | snd_card_t *card = chip->card; | 3444 | struct snd_card *card = chip->card; |
3445 | #endif | 3445 | #endif |
3446 | 3446 | ||
3447 | /* set EGPIO to default */ | 3447 | /* set EGPIO to default */ |
@@ -3451,7 +3451,7 @@ static void hercules_mixer_init (cs46xx_t *chip) | |||
3451 | 3451 | ||
3452 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 3452 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
3453 | for (idx = 0 ; idx < ARRAY_SIZE(snd_hercules_controls); idx++) { | 3453 | for (idx = 0 ; idx < ARRAY_SIZE(snd_hercules_controls); idx++) { |
3454 | snd_kcontrol_t *kctl; | 3454 | struct snd_kcontrol *kctl; |
3455 | 3455 | ||
3456 | kctl = snd_ctl_new1(&snd_hercules_controls[idx], chip); | 3456 | kctl = snd_ctl_new1(&snd_hercules_controls[idx], chip); |
3457 | if ((err = snd_ctl_add(card, kctl)) < 0) { | 3457 | if ((err = snd_ctl_add(card, kctl)) < 0) { |
@@ -3468,7 +3468,7 @@ static void hercules_mixer_init (cs46xx_t *chip) | |||
3468 | * Untested | 3468 | * Untested |
3469 | */ | 3469 | */ |
3470 | 3470 | ||
3471 | static void amp_voyetra_4294(cs46xx_t *chip, int change) | 3471 | static void amp_voyetra_4294(struct snd_cs46xx *chip, int change) |
3472 | { | 3472 | { |
3473 | chip->amplifier += change; | 3473 | chip->amplifier += change; |
3474 | 3474 | ||
@@ -3498,7 +3498,7 @@ static void amp_voyetra_4294(cs46xx_t *chip, int change) | |||
3498 | * enough to make them useful. | 3498 | * enough to make them useful. |
3499 | */ | 3499 | */ |
3500 | 3500 | ||
3501 | static void clkrun_hack(cs46xx_t *chip, int change) | 3501 | static void clkrun_hack(struct snd_cs46xx *chip, int change) |
3502 | { | 3502 | { |
3503 | u16 control, nval; | 3503 | u16 control, nval; |
3504 | 3504 | ||
@@ -3523,7 +3523,7 @@ static void clkrun_hack(cs46xx_t *chip, int change) | |||
3523 | /* | 3523 | /* |
3524 | * detect intel piix4 | 3524 | * detect intel piix4 |
3525 | */ | 3525 | */ |
3526 | static void clkrun_init(cs46xx_t *chip) | 3526 | static void clkrun_init(struct snd_cs46xx *chip) |
3527 | { | 3527 | { |
3528 | struct pci_dev *pdev; | 3528 | struct pci_dev *pdev; |
3529 | u8 pp; | 3529 | u8 pp; |
@@ -3551,10 +3551,10 @@ struct cs_card_type | |||
3551 | u16 vendor; | 3551 | u16 vendor; |
3552 | u16 id; | 3552 | u16 id; |
3553 | char *name; | 3553 | char *name; |
3554 | void (*init)(cs46xx_t *); | 3554 | void (*init)(struct snd_cs46xx *); |
3555 | void (*amp)(cs46xx_t *, int); | 3555 | void (*amp)(struct snd_cs46xx *, int); |
3556 | void (*active)(cs46xx_t *, int); | 3556 | void (*active)(struct snd_cs46xx *, int); |
3557 | void (*mixer_init)(cs46xx_t *); | 3557 | void (*mixer_init)(struct snd_cs46xx *); |
3558 | }; | 3558 | }; |
3559 | 3559 | ||
3560 | static struct cs_card_type __devinitdata cards[] = { | 3560 | static struct cs_card_type __devinitdata cards[] = { |
@@ -3654,9 +3654,9 @@ static struct cs_card_type __devinitdata cards[] = { | |||
3654 | * APM support | 3654 | * APM support |
3655 | */ | 3655 | */ |
3656 | #ifdef CONFIG_PM | 3656 | #ifdef CONFIG_PM |
3657 | static int snd_cs46xx_suspend(snd_card_t *card, pm_message_t state) | 3657 | static int snd_cs46xx_suspend(struct snd_card *card, pm_message_t state) |
3658 | { | 3658 | { |
3659 | cs46xx_t *chip = card->pm_private_data; | 3659 | struct snd_cs46xx *chip = card->pm_private_data; |
3660 | int amp_saved; | 3660 | int amp_saved; |
3661 | 3661 | ||
3662 | snd_pcm_suspend_all(chip->pcm); | 3662 | snd_pcm_suspend_all(chip->pcm); |
@@ -3678,9 +3678,9 @@ static int snd_cs46xx_suspend(snd_card_t *card, pm_message_t state) | |||
3678 | return 0; | 3678 | return 0; |
3679 | } | 3679 | } |
3680 | 3680 | ||
3681 | static int snd_cs46xx_resume(snd_card_t *card) | 3681 | static int snd_cs46xx_resume(struct snd_card *card) |
3682 | { | 3682 | { |
3683 | cs46xx_t *chip = card->pm_private_data; | 3683 | struct snd_cs46xx *chip = card->pm_private_data; |
3684 | int amp_saved; | 3684 | int amp_saved; |
3685 | 3685 | ||
3686 | pci_enable_device(chip->pci); | 3686 | pci_enable_device(chip->pci); |
@@ -3719,17 +3719,17 @@ static int snd_cs46xx_resume(snd_card_t *card) | |||
3719 | /* | 3719 | /* |
3720 | */ | 3720 | */ |
3721 | 3721 | ||
3722 | int __devinit snd_cs46xx_create(snd_card_t * card, | 3722 | int __devinit snd_cs46xx_create(struct snd_card *card, |
3723 | struct pci_dev * pci, | 3723 | struct pci_dev * pci, |
3724 | int external_amp, int thinkpad, | 3724 | int external_amp, int thinkpad, |
3725 | cs46xx_t ** rchip) | 3725 | struct snd_cs46xx ** rchip) |
3726 | { | 3726 | { |
3727 | cs46xx_t *chip; | 3727 | struct snd_cs46xx *chip; |
3728 | int err, idx; | 3728 | int err, idx; |
3729 | snd_cs46xx_region_t *region; | 3729 | struct snd_cs46xx_region *region; |
3730 | struct cs_card_type *cp; | 3730 | struct cs_card_type *cp; |
3731 | u16 ss_card, ss_vendor; | 3731 | u16 ss_card, ss_vendor; |
3732 | static snd_device_ops_t ops = { | 3732 | static struct snd_device_ops ops = { |
3733 | .dev_free = snd_cs46xx_dev_free, | 3733 | .dev_free = snd_cs46xx_dev_free, |
3734 | }; | 3734 | }; |
3735 | 3735 | ||
@@ -3755,7 +3755,8 @@ int __devinit snd_cs46xx_create(snd_card_t * card, | |||
3755 | chip->ba1_addr = pci_resource_start(pci, 1); | 3755 | chip->ba1_addr = pci_resource_start(pci, 1); |
3756 | if (chip->ba0_addr == 0 || chip->ba0_addr == (unsigned long)~0 || | 3756 | if (chip->ba0_addr == 0 || chip->ba0_addr == (unsigned long)~0 || |
3757 | chip->ba1_addr == 0 || chip->ba1_addr == (unsigned long)~0) { | 3757 | chip->ba1_addr == 0 || chip->ba1_addr == (unsigned long)~0) { |
3758 | snd_printk(KERN_ERR "wrong address(es) - ba0 = 0x%lx, ba1 = 0x%lx\n", chip->ba0_addr, chip->ba1_addr); | 3758 | snd_printk(KERN_ERR "wrong address(es) - ba0 = 0x%lx, ba1 = 0x%lx\n", |
3759 | chip->ba0_addr, chip->ba1_addr); | ||
3759 | snd_cs46xx_free(chip); | 3760 | snd_cs46xx_free(chip); |
3760 | return -ENOMEM; | 3761 | return -ENOMEM; |
3761 | } | 3762 | } |
@@ -3825,8 +3826,10 @@ int __devinit snd_cs46xx_create(snd_card_t * card, | |||
3825 | 3826 | ||
3826 | for (idx = 0; idx < 5; idx++) { | 3827 | for (idx = 0; idx < 5; idx++) { |
3827 | region = &chip->region.idx[idx]; | 3828 | region = &chip->region.idx[idx]; |
3828 | if ((region->resource = request_mem_region(region->base, region->size, region->name)) == NULL) { | 3829 | if ((region->resource = request_mem_region(region->base, region->size, |
3829 | snd_printk(KERN_ERR "unable to request memory region 0x%lx-0x%lx\n", region->base, region->base + region->size - 1); | 3830 | region->name)) == NULL) { |
3831 | snd_printk(KERN_ERR "unable to request memory region 0x%lx-0x%lx\n", | ||
3832 | region->base, region->base + region->size - 1); | ||
3830 | snd_cs46xx_free(chip); | 3833 | snd_cs46xx_free(chip); |
3831 | return -EBUSY; | 3834 | return -EBUSY; |
3832 | } | 3835 | } |
@@ -3838,7 +3841,8 @@ int __devinit snd_cs46xx_create(snd_card_t * card, | |||
3838 | } | 3841 | } |
3839 | } | 3842 | } |
3840 | 3843 | ||
3841 | if (request_irq(pci->irq, snd_cs46xx_interrupt, SA_INTERRUPT|SA_SHIRQ, "CS46XX", (void *) chip)) { | 3844 | if (request_irq(pci->irq, snd_cs46xx_interrupt, SA_INTERRUPT|SA_SHIRQ, |
3845 | "CS46XX", chip)) { | ||
3842 | snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); | 3846 | snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); |
3843 | snd_cs46xx_free(chip); | 3847 | snd_cs46xx_free(chip); |
3844 | return -EBUSY; | 3848 | return -EBUSY; |
diff --git a/sound/pci/cs46xx/cs46xx_lib.h b/sound/pci/cs46xx/cs46xx_lib.h index d7bec096d247..8b4a4aeaf85f 100644 --- a/sound/pci/cs46xx/cs46xx_lib.h +++ b/sound/pci/cs46xx/cs46xx_lib.h | |||
@@ -57,7 +57,7 @@ | |||
57 | * common I/O routines | 57 | * common I/O routines |
58 | */ | 58 | */ |
59 | 59 | ||
60 | static inline void snd_cs46xx_poke(cs46xx_t *chip, unsigned long reg, unsigned int val) | 60 | static inline void snd_cs46xx_poke(struct snd_cs46xx *chip, unsigned long reg, unsigned int val) |
61 | { | 61 | { |
62 | unsigned int bank = reg >> 16; | 62 | unsigned int bank = reg >> 16; |
63 | unsigned int offset = reg & 0xffff; | 63 | unsigned int offset = reg & 0xffff; |
@@ -66,117 +66,128 @@ static inline void snd_cs46xx_poke(cs46xx_t *chip, unsigned long reg, unsigned i | |||
66 | writel(val, chip->region.idx[bank+1].remap_addr + offset); | 66 | writel(val, chip->region.idx[bank+1].remap_addr + offset); |
67 | } | 67 | } |
68 | 68 | ||
69 | static inline unsigned int snd_cs46xx_peek(cs46xx_t *chip, unsigned long reg) | 69 | static inline unsigned int snd_cs46xx_peek(struct snd_cs46xx *chip, unsigned long reg) |
70 | { | 70 | { |
71 | unsigned int bank = reg >> 16; | 71 | unsigned int bank = reg >> 16; |
72 | unsigned int offset = reg & 0xffff; | 72 | unsigned int offset = reg & 0xffff; |
73 | return readl(chip->region.idx[bank+1].remap_addr + offset); | 73 | return readl(chip->region.idx[bank+1].remap_addr + offset); |
74 | } | 74 | } |
75 | 75 | ||
76 | static inline void snd_cs46xx_pokeBA0(cs46xx_t *chip, unsigned long offset, unsigned int val) | 76 | static inline void snd_cs46xx_pokeBA0(struct snd_cs46xx *chip, unsigned long offset, unsigned int val) |
77 | { | 77 | { |
78 | writel(val, chip->region.name.ba0.remap_addr + offset); | 78 | writel(val, chip->region.name.ba0.remap_addr + offset); |
79 | } | 79 | } |
80 | 80 | ||
81 | static inline unsigned int snd_cs46xx_peekBA0(cs46xx_t *chip, unsigned long offset) | 81 | static inline unsigned int snd_cs46xx_peekBA0(struct snd_cs46xx *chip, unsigned long offset) |
82 | { | 82 | { |
83 | return readl(chip->region.name.ba0.remap_addr + offset); | 83 | return readl(chip->region.name.ba0.remap_addr + offset); |
84 | } | 84 | } |
85 | 85 | ||
86 | dsp_spos_instance_t * cs46xx_dsp_spos_create (cs46xx_t * chip); | 86 | struct dsp_spos_instance *cs46xx_dsp_spos_create (struct snd_cs46xx * chip); |
87 | void cs46xx_dsp_spos_destroy (cs46xx_t * chip); | 87 | void cs46xx_dsp_spos_destroy (struct snd_cs46xx * chip); |
88 | int cs46xx_dsp_load_module (cs46xx_t * chip,dsp_module_desc_t * module); | 88 | int cs46xx_dsp_load_module (struct snd_cs46xx * chip, struct dsp_module_desc * module); |
89 | symbol_entry_t * cs46xx_dsp_lookup_symbol (cs46xx_t * chip,char * symbol_name,int symbol_type); | 89 | struct dsp_symbol_entry *cs46xx_dsp_lookup_symbol (struct snd_cs46xx * chip, char * symbol_name, |
90 | int cs46xx_dsp_proc_init (snd_card_t * card, cs46xx_t *chip); | 90 | int symbol_type); |
91 | int cs46xx_dsp_proc_done (cs46xx_t *chip); | 91 | int cs46xx_dsp_proc_init (struct snd_card *card, struct snd_cs46xx *chip); |
92 | int cs46xx_dsp_scb_and_task_init (cs46xx_t *chip); | 92 | int cs46xx_dsp_proc_done (struct snd_cs46xx *chip); |
93 | int snd_cs46xx_download (cs46xx_t *chip,u32 *src,unsigned long offset, | 93 | int cs46xx_dsp_scb_and_task_init (struct snd_cs46xx *chip); |
94 | unsigned long len); | 94 | int snd_cs46xx_download (struct snd_cs46xx *chip, u32 *src, unsigned long offset, |
95 | int snd_cs46xx_clear_BA1(cs46xx_t *chip,unsigned long offset,unsigned long len); | 95 | unsigned long len); |
96 | int cs46xx_dsp_enable_spdif_out (cs46xx_t *chip); | 96 | int snd_cs46xx_clear_BA1(struct snd_cs46xx *chip, unsigned long offset, unsigned long len); |
97 | int cs46xx_dsp_enable_spdif_hw (cs46xx_t *chip); | 97 | int cs46xx_dsp_enable_spdif_out (struct snd_cs46xx *chip); |
98 | int cs46xx_dsp_disable_spdif_out (cs46xx_t *chip); | 98 | int cs46xx_dsp_enable_spdif_hw (struct snd_cs46xx *chip); |
99 | int cs46xx_dsp_enable_spdif_in (cs46xx_t *chip); | 99 | int cs46xx_dsp_disable_spdif_out (struct snd_cs46xx *chip); |
100 | int cs46xx_dsp_disable_spdif_in (cs46xx_t *chip); | 100 | int cs46xx_dsp_enable_spdif_in (struct snd_cs46xx *chip); |
101 | int cs46xx_dsp_enable_pcm_capture (cs46xx_t *chip); | 101 | int cs46xx_dsp_disable_spdif_in (struct snd_cs46xx *chip); |
102 | int cs46xx_dsp_disable_pcm_capture (cs46xx_t *chip); | 102 | int cs46xx_dsp_enable_pcm_capture (struct snd_cs46xx *chip); |
103 | int cs46xx_dsp_enable_adc_capture (cs46xx_t *chip); | 103 | int cs46xx_dsp_disable_pcm_capture (struct snd_cs46xx *chip); |
104 | int cs46xx_dsp_disable_adc_capture (cs46xx_t *chip); | 104 | int cs46xx_dsp_enable_adc_capture (struct snd_cs46xx *chip); |
105 | int cs46xx_poke_via_dsp (cs46xx_t *chip,u32 address,u32 data); | 105 | int cs46xx_dsp_disable_adc_capture (struct snd_cs46xx *chip); |
106 | dsp_scb_descriptor_t * cs46xx_dsp_create_scb (cs46xx_t *chip,char * name, u32 * scb_data,u32 dest); | 106 | int cs46xx_poke_via_dsp (struct snd_cs46xx *chip, u32 address, u32 data); |
107 | void cs46xx_dsp_proc_free_scb_desc (dsp_scb_descriptor_t * scb); | 107 | struct dsp_scb_descriptor * cs46xx_dsp_create_scb (struct snd_cs46xx *chip, char * name, |
108 | void cs46xx_dsp_proc_register_scb_desc (cs46xx_t *chip,dsp_scb_descriptor_t * scb); | 108 | u32 * scb_data, u32 dest); |
109 | dsp_scb_descriptor_t * cs46xx_dsp_create_timing_master_scb (cs46xx_t *chip); | 109 | void cs46xx_dsp_proc_free_scb_desc (struct dsp_scb_descriptor * scb); |
110 | dsp_scb_descriptor_t * cs46xx_dsp_create_codec_out_scb(cs46xx_t * chip,char * codec_name, | 110 | void cs46xx_dsp_proc_register_scb_desc (struct snd_cs46xx *chip, |
111 | u16 channel_disp,u16 fifo_addr, | 111 | struct dsp_scb_descriptor * scb); |
112 | u16 child_scb_addr, | 112 | struct dsp_scb_descriptor * cs46xx_dsp_create_timing_master_scb (struct snd_cs46xx *chip); |
113 | u32 dest, | 113 | struct dsp_scb_descriptor * |
114 | dsp_scb_descriptor_t * parent_scb, | 114 | cs46xx_dsp_create_codec_out_scb(struct snd_cs46xx * chip, |
115 | int scb_child_type); | 115 | char * codec_name, u16 channel_disp, u16 fifo_addr, |
116 | dsp_scb_descriptor_t * cs46xx_dsp_create_codec_in_scb(cs46xx_t * chip,char * codec_name, | 116 | u16 child_scb_addr, u32 dest, |
117 | u16 channel_disp,u16 fifo_addr, | 117 | struct dsp_scb_descriptor * parent_scb, |
118 | u16 sample_buffer_addr, | 118 | int scb_child_type); |
119 | u32 dest, | 119 | struct dsp_scb_descriptor * |
120 | dsp_scb_descriptor_t * parent_scb, | 120 | cs46xx_dsp_create_codec_in_scb(struct snd_cs46xx * chip, char * codec_name, |
121 | int scb_child_type); | 121 | u16 channel_disp, u16 fifo_addr, |
122 | void cs46xx_dsp_remove_scb (cs46xx_t *chip,dsp_scb_descriptor_t * scb); | 122 | u16 sample_buffer_addr, u32 dest, |
123 | dsp_scb_descriptor_t * cs46xx_dsp_create_codec_in_scb(cs46xx_t * chip,char * codec_name, | 123 | struct dsp_scb_descriptor * parent_scb, |
124 | u16 channel_disp,u16 fifo_addr, | 124 | int scb_child_type); |
125 | u16 sample_buffer_addr, | 125 | void cs46xx_dsp_remove_scb (struct snd_cs46xx *chip, |
126 | u32 dest,dsp_scb_descriptor_t * parent_scb, | 126 | struct dsp_scb_descriptor * scb); |
127 | int scb_child_type); | 127 | struct dsp_scb_descriptor * |
128 | dsp_scb_descriptor_t * cs46xx_dsp_create_src_task_scb(cs46xx_t * chip,char * scb_name, | 128 | cs46xx_dsp_create_codec_in_scb(struct snd_cs46xx * chip, char * codec_name, |
129 | int sample_rate, | 129 | u16 channel_disp, u16 fifo_addr, |
130 | u16 src_buffer_addr, | 130 | u16 sample_buffer_addr, u32 dest, |
131 | u16 src_delay_buffer_addr,u32 dest, | 131 | struct dsp_scb_descriptor * parent_scb, |
132 | dsp_scb_descriptor_t * parent_scb, | 132 | int scb_child_type); |
133 | int scb_child_type, | 133 | struct dsp_scb_descriptor * |
134 | int pass_through); | 134 | cs46xx_dsp_create_src_task_scb(struct snd_cs46xx * chip, char * scb_name, |
135 | dsp_scb_descriptor_t * cs46xx_dsp_create_mix_only_scb(cs46xx_t * chip,char * scb_name, | 135 | int sample_rate, u16 src_buffer_addr, |
136 | u16 mix_buffer_addr,u32 dest, | 136 | u16 src_delay_buffer_addr, u32 dest, |
137 | dsp_scb_descriptor_t * parent_scb, | 137 | struct dsp_scb_descriptor * parent_scb, |
138 | int scb_child_type); | 138 | int scb_child_type, int pass_through); |
139 | 139 | struct dsp_scb_descriptor * | |
140 | dsp_scb_descriptor_t * cs46xx_dsp_create_vari_decimate_scb(cs46xx_t * chip,char * scb_name, | 140 | cs46xx_dsp_create_mix_only_scb(struct snd_cs46xx * chip, char * scb_name, |
141 | u16 vari_buffer_addr0, | 141 | u16 mix_buffer_addr, u32 dest, |
142 | u16 vari_buffer_addr1, | 142 | struct dsp_scb_descriptor * parent_scb, |
143 | u32 dest, | 143 | int scb_child_type); |
144 | dsp_scb_descriptor_t * parent_scb, | 144 | |
145 | int scb_child_type); | 145 | struct dsp_scb_descriptor * |
146 | dsp_scb_descriptor_t * cs46xx_dsp_create_asynch_fg_rx_scb(cs46xx_t * chip,char * scb_name,u32 dest, | 146 | cs46xx_dsp_create_vari_decimate_scb(struct snd_cs46xx * chip, char * scb_name, |
147 | u16 hfg_scb_address, | 147 | u16 vari_buffer_addr0, u16 vari_buffer_addr1, u32 dest, |
148 | u16 asynch_buffer_address, | 148 | struct dsp_scb_descriptor * parent_scb, |
149 | dsp_scb_descriptor_t * parent_scb, | 149 | int scb_child_type); |
150 | int scb_child_type); | 150 | struct dsp_scb_descriptor * |
151 | dsp_scb_descriptor_t * cs46xx_dsp_create_spio_write_scb(cs46xx_t * chip,char * scb_name,u32 dest, | 151 | cs46xx_dsp_create_asynch_fg_rx_scb(struct snd_cs46xx * chip, char * scb_name, |
152 | dsp_scb_descriptor_t * parent_scb, | 152 | u32 dest, u16 hfg_scb_address, u16 asynch_buffer_address, |
153 | int scb_child_type); | 153 | struct dsp_scb_descriptor * parent_scb, |
154 | dsp_scb_descriptor_t * cs46xx_dsp_create_mix_to_ostream_scb(cs46xx_t * chip,char * scb_name, | 154 | int scb_child_type); |
155 | u16 mix_buffer_addr,u16 writeback_spb,u32 dest, | 155 | struct dsp_scb_descriptor * |
156 | dsp_scb_descriptor_t * parent_scb, | 156 | cs46xx_dsp_create_spio_write_scb(struct snd_cs46xx * chip, char * scb_name, u32 dest, |
157 | int scb_child_type); | 157 | struct dsp_scb_descriptor * parent_scb, |
158 | dsp_scb_descriptor_t * cs46xx_dsp_create_magic_snoop_scb(cs46xx_t * chip,char * scb_name,u32 dest, | 158 | int scb_child_type); |
159 | u16 snoop_buffer_address, | 159 | struct dsp_scb_descriptor * |
160 | dsp_scb_descriptor_t * snoop_scb, | 160 | cs46xx_dsp_create_mix_to_ostream_scb(struct snd_cs46xx * chip, char * scb_name, |
161 | dsp_scb_descriptor_t * parent_scb, | 161 | u16 mix_buffer_addr, u16 writeback_spb, u32 dest, |
162 | int scb_child_type); | 162 | struct dsp_scb_descriptor * parent_scb, |
163 | pcm_channel_descriptor_t * cs46xx_dsp_create_pcm_channel (cs46xx_t * chip,u32 sample_rate, void * private_data, u32 hw_dma_addr, | 163 | int scb_child_type); |
164 | int pcm_channel_id); | 164 | struct dsp_scb_descriptor * |
165 | void cs46xx_dsp_destroy_pcm_channel (cs46xx_t * chip, | 165 | cs46xx_dsp_create_magic_snoop_scb(struct snd_cs46xx * chip, char * scb_name, |
166 | pcm_channel_descriptor_t * pcm_channel); | 166 | u32 dest, u16 snoop_buffer_address, |
167 | int cs46xx_dsp_pcm_unlink (cs46xx_t * chip,pcm_channel_descriptor_t * pcm_channel); | 167 | struct dsp_scb_descriptor * snoop_scb, |
168 | int cs46xx_dsp_pcm_link (cs46xx_t * chip,pcm_channel_descriptor_t * pcm_channel); | 168 | struct dsp_scb_descriptor * parent_scb, |
169 | dsp_scb_descriptor_t * cs46xx_add_record_source (cs46xx_t *chip,dsp_scb_descriptor_t * source, | 169 | int scb_child_type); |
170 | u16 addr,char * scb_name); | 170 | struct dsp_pcm_channel_descriptor * |
171 | int cs46xx_src_unlink(cs46xx_t *chip,dsp_scb_descriptor_t * src); | 171 | cs46xx_dsp_create_pcm_channel (struct snd_cs46xx * chip, u32 sample_rate, |
172 | int cs46xx_src_link(cs46xx_t *chip,dsp_scb_descriptor_t * src); | 172 | void * private_data, u32 hw_dma_addr, |
173 | int cs46xx_iec958_pre_open (cs46xx_t *chip); | 173 | int pcm_channel_id); |
174 | int cs46xx_iec958_post_close (cs46xx_t *chip); | 174 | void cs46xx_dsp_destroy_pcm_channel (struct snd_cs46xx * chip, |
175 | int cs46xx_dsp_pcm_channel_set_period (cs46xx_t * chip, | 175 | struct dsp_pcm_channel_descriptor * pcm_channel); |
176 | pcm_channel_descriptor_t * pcm_channel, | 176 | int cs46xx_dsp_pcm_unlink (struct snd_cs46xx * chip, |
177 | int period_size); | 177 | struct dsp_pcm_channel_descriptor * pcm_channel); |
178 | int cs46xx_dsp_pcm_ostream_set_period (cs46xx_t * chip, | 178 | int cs46xx_dsp_pcm_link (struct snd_cs46xx * chip, |
179 | int period_size); | 179 | struct dsp_pcm_channel_descriptor * pcm_channel); |
180 | int cs46xx_dsp_set_dac_volume (cs46xx_t * chip,u16 left,u16 right); | 180 | struct dsp_scb_descriptor * |
181 | int cs46xx_dsp_set_iec958_volume (cs46xx_t * chip,u16 left,u16 right); | 181 | cs46xx_add_record_source (struct snd_cs46xx *chip, struct dsp_scb_descriptor * source, |
182 | u16 addr, char * scb_name); | ||
183 | int cs46xx_src_unlink(struct snd_cs46xx *chip, struct dsp_scb_descriptor * src); | ||
184 | int cs46xx_src_link(struct snd_cs46xx *chip, struct dsp_scb_descriptor * src); | ||
185 | int cs46xx_iec958_pre_open (struct snd_cs46xx *chip); | ||
186 | int cs46xx_iec958_post_close (struct snd_cs46xx *chip); | ||
187 | int cs46xx_dsp_pcm_channel_set_period (struct snd_cs46xx * chip, | ||
188 | struct dsp_pcm_channel_descriptor * pcm_channel, | ||
189 | int period_size); | ||
190 | int cs46xx_dsp_pcm_ostream_set_period (struct snd_cs46xx * chip, int period_size); | ||
191 | int cs46xx_dsp_set_dac_volume (struct snd_cs46xx * chip, u16 left, u16 right); | ||
192 | int cs46xx_dsp_set_iec958_volume (struct snd_cs46xx * chip, u16 left, u16 right); | ||
182 | #endif /* __CS46XX_LIB_H__ */ | 193 | #endif /* __CS46XX_LIB_H__ */ |
diff --git a/sound/pci/cs46xx/dsp_spos.c b/sound/pci/cs46xx/dsp_spos.c index b66304fc4e4a..ac98917a1475 100644 --- a/sound/pci/cs46xx/dsp_spos.c +++ b/sound/pci/cs46xx/dsp_spos.c | |||
@@ -37,9 +37,10 @@ | |||
37 | #include "cs46xx_lib.h" | 37 | #include "cs46xx_lib.h" |
38 | #include "dsp_spos.h" | 38 | #include "dsp_spos.h" |
39 | 39 | ||
40 | static int cs46xx_dsp_async_init (cs46xx_t *chip, dsp_scb_descriptor_t * fg_entry); | 40 | static int cs46xx_dsp_async_init (struct snd_cs46xx *chip, |
41 | struct dsp_scb_descriptor * fg_entry); | ||
41 | 42 | ||
42 | static wide_opcode_t wide_opcodes[] = { | 43 | static enum wide_opcode wide_opcodes[] = { |
43 | WIDE_FOR_BEGIN_LOOP, | 44 | WIDE_FOR_BEGIN_LOOP, |
44 | WIDE_FOR_BEGIN_LOOP2, | 45 | WIDE_FOR_BEGIN_LOOP2, |
45 | WIDE_COND_GOTO_ADDR, | 46 | WIDE_COND_GOTO_ADDR, |
@@ -54,12 +55,13 @@ static wide_opcode_t wide_opcodes[] = { | |||
54 | WIDE_TBEQ_NCOND_CALL1_ADDR | 55 | WIDE_TBEQ_NCOND_CALL1_ADDR |
55 | }; | 56 | }; |
56 | 57 | ||
57 | static int shadow_and_reallocate_code (cs46xx_t * chip,u32 * data,u32 size, u32 overlay_begin_address) | 58 | static int shadow_and_reallocate_code (struct snd_cs46xx * chip, u32 * data, u32 size, |
59 | u32 overlay_begin_address) | ||
58 | { | 60 | { |
59 | unsigned int i = 0, j, nreallocated = 0; | 61 | unsigned int i = 0, j, nreallocated = 0; |
60 | u32 hival,loval,address; | 62 | u32 hival,loval,address; |
61 | u32 mop_operands,mop_type,wide_op; | 63 | u32 mop_operands,mop_type,wide_op; |
62 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 64 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
63 | 65 | ||
64 | snd_assert( ((size % 2) == 0), return -EINVAL); | 66 | snd_assert( ((size % 2) == 0), return -EINVAL); |
65 | 67 | ||
@@ -114,7 +116,7 @@ static int shadow_and_reallocate_code (cs46xx_t * chip,u32 * data,u32 size, u32 | |||
114 | return nreallocated; | 116 | return nreallocated; |
115 | } | 117 | } |
116 | 118 | ||
117 | static segment_desc_t * get_segment_desc (dsp_module_desc_t * module, int seg_type) | 119 | static struct dsp_segment_desc * get_segment_desc (struct dsp_module_desc * module, int seg_type) |
118 | { | 120 | { |
119 | int i; | 121 | int i; |
120 | for (i = 0;i < module->nsegments; ++i) { | 122 | for (i = 0;i < module->nsegments; ++i) { |
@@ -126,7 +128,7 @@ static segment_desc_t * get_segment_desc (dsp_module_desc_t * module, int seg_ty | |||
126 | return NULL; | 128 | return NULL; |
127 | }; | 129 | }; |
128 | 130 | ||
129 | static int find_free_symbol_index (dsp_spos_instance_t * ins) | 131 | static int find_free_symbol_index (struct dsp_spos_instance * ins) |
130 | { | 132 | { |
131 | int index = ins->symbol_table.nsymbols,i; | 133 | int index = ins->symbol_table.nsymbols,i; |
132 | 134 | ||
@@ -140,10 +142,10 @@ static int find_free_symbol_index (dsp_spos_instance_t * ins) | |||
140 | return index; | 142 | return index; |
141 | } | 143 | } |
142 | 144 | ||
143 | static int add_symbols (cs46xx_t * chip, dsp_module_desc_t * module) | 145 | static int add_symbols (struct snd_cs46xx * chip, struct dsp_module_desc * module) |
144 | { | 146 | { |
145 | int i; | 147 | int i; |
146 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 148 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
147 | 149 | ||
148 | if (module->symbol_table.nsymbols > 0) { | 150 | if (module->symbol_table.nsymbols > 0) { |
149 | if (!strcmp(module->symbol_table.symbols[0].symbol_name, "OVERLAYBEGINADDRESS") && | 151 | if (!strcmp(module->symbol_table.symbols[0].symbol_name, "OVERLAYBEGINADDRESS") && |
@@ -181,10 +183,11 @@ static int add_symbols (cs46xx_t * chip, dsp_module_desc_t * module) | |||
181 | return 0; | 183 | return 0; |
182 | } | 184 | } |
183 | 185 | ||
184 | static symbol_entry_t * add_symbol (cs46xx_t * chip, char * symbol_name, u32 address, int type) | 186 | static struct dsp_symbol_entry * |
187 | add_symbol (struct snd_cs46xx * chip, char * symbol_name, u32 address, int type) | ||
185 | { | 188 | { |
186 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 189 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
187 | symbol_entry_t * symbol = NULL; | 190 | struct dsp_symbol_entry * symbol = NULL; |
188 | int index; | 191 | int index; |
189 | 192 | ||
190 | if (ins->symbol_table.nsymbols == (DSP_MAX_SYMBOLS - 1)) { | 193 | if (ins->symbol_table.nsymbols == (DSP_MAX_SYMBOLS - 1)) { |
@@ -217,17 +220,17 @@ static symbol_entry_t * add_symbol (cs46xx_t * chip, char * symbol_name, u32 add | |||
217 | return symbol; | 220 | return symbol; |
218 | } | 221 | } |
219 | 222 | ||
220 | dsp_spos_instance_t * cs46xx_dsp_spos_create (cs46xx_t * chip) | 223 | struct dsp_spos_instance *cs46xx_dsp_spos_create (struct snd_cs46xx * chip) |
221 | { | 224 | { |
222 | dsp_spos_instance_t * ins = kmalloc(sizeof(dsp_spos_instance_t), GFP_KERNEL); | 225 | struct dsp_spos_instance * ins = kzalloc(sizeof(struct dsp_spos_instance), GFP_KERNEL); |
223 | 226 | ||
224 | if (ins == NULL) | 227 | if (ins == NULL) |
225 | return NULL; | 228 | return NULL; |
226 | memset(ins, 0, sizeof(*ins)); | ||
227 | 229 | ||
228 | /* better to use vmalloc for this big table */ | 230 | /* better to use vmalloc for this big table */ |
229 | ins->symbol_table.nsymbols = 0; | 231 | ins->symbol_table.nsymbols = 0; |
230 | ins->symbol_table.symbols = vmalloc(sizeof(symbol_entry_t) * DSP_MAX_SYMBOLS); | 232 | ins->symbol_table.symbols = vmalloc(sizeof(struct dsp_symbol_entry) * |
233 | DSP_MAX_SYMBOLS); | ||
231 | ins->symbol_table.highest_frag_index = 0; | 234 | ins->symbol_table.highest_frag_index = 0; |
232 | 235 | ||
233 | if (ins->symbol_table.symbols == NULL) { | 236 | if (ins->symbol_table.symbols == NULL) { |
@@ -248,7 +251,7 @@ dsp_spos_instance_t * cs46xx_dsp_spos_create (cs46xx_t * chip) | |||
248 | ins->ntask = 0; | 251 | ins->ntask = 0; |
249 | 252 | ||
250 | ins->nmodules = 0; | 253 | ins->nmodules = 0; |
251 | ins->modules = kmalloc(sizeof(dsp_module_desc_t) * DSP_MAX_MODULES, GFP_KERNEL); | 254 | ins->modules = kmalloc(sizeof(struct dsp_module_desc) * DSP_MAX_MODULES, GFP_KERNEL); |
252 | 255 | ||
253 | if (ins->modules == NULL) { | 256 | if (ins->modules == NULL) { |
254 | cs46xx_dsp_spos_destroy(chip); | 257 | cs46xx_dsp_spos_destroy(chip); |
@@ -277,10 +280,10 @@ dsp_spos_instance_t * cs46xx_dsp_spos_create (cs46xx_t * chip) | |||
277 | return ins; | 280 | return ins; |
278 | } | 281 | } |
279 | 282 | ||
280 | void cs46xx_dsp_spos_destroy (cs46xx_t * chip) | 283 | void cs46xx_dsp_spos_destroy (struct snd_cs46xx * chip) |
281 | { | 284 | { |
282 | int i; | 285 | int i; |
283 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 286 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
284 | 287 | ||
285 | snd_assert(ins != NULL, return); | 288 | snd_assert(ins != NULL, return); |
286 | 289 | ||
@@ -298,12 +301,12 @@ void cs46xx_dsp_spos_destroy (cs46xx_t * chip) | |||
298 | up(&chip->spos_mutex); | 301 | up(&chip->spos_mutex); |
299 | } | 302 | } |
300 | 303 | ||
301 | int cs46xx_dsp_load_module (cs46xx_t * chip, dsp_module_desc_t * module) | 304 | int cs46xx_dsp_load_module (struct snd_cs46xx * chip, struct dsp_module_desc * module) |
302 | { | 305 | { |
303 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 306 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
304 | segment_desc_t * code = get_segment_desc (module,SEGTYPE_SP_PROGRAM); | 307 | struct dsp_segment_desc * code = get_segment_desc (module,SEGTYPE_SP_PROGRAM); |
305 | segment_desc_t * parameter = get_segment_desc (module,SEGTYPE_SP_PARAMETER); | 308 | struct dsp_segment_desc * parameter = get_segment_desc (module,SEGTYPE_SP_PARAMETER); |
306 | segment_desc_t * sample = get_segment_desc (module,SEGTYPE_SP_SAMPLE); | 309 | struct dsp_segment_desc * sample = get_segment_desc (module,SEGTYPE_SP_SAMPLE); |
307 | u32 doffset, dsize; | 310 | u32 doffset, dsize; |
308 | 311 | ||
309 | if (ins->nmodules == DSP_MAX_MODULES - 1) { | 312 | if (ins->nmodules == DSP_MAX_MODULES - 1) { |
@@ -410,10 +413,11 @@ int cs46xx_dsp_load_module (cs46xx_t * chip, dsp_module_desc_t * module) | |||
410 | return 0; | 413 | return 0; |
411 | } | 414 | } |
412 | 415 | ||
413 | symbol_entry_t * cs46xx_dsp_lookup_symbol (cs46xx_t * chip, char * symbol_name, int symbol_type) | 416 | struct dsp_symbol_entry * |
417 | cs46xx_dsp_lookup_symbol (struct snd_cs46xx * chip, char * symbol_name, int symbol_type) | ||
414 | { | 418 | { |
415 | int i; | 419 | int i; |
416 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 420 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
417 | 421 | ||
418 | for ( i = 0; i < ins->symbol_table.nsymbols; ++i ) { | 422 | for ( i = 0; i < ins->symbol_table.nsymbols; ++i ) { |
419 | 423 | ||
@@ -435,10 +439,11 @@ symbol_entry_t * cs46xx_dsp_lookup_symbol (cs46xx_t * chip, char * symbol_name, | |||
435 | } | 439 | } |
436 | 440 | ||
437 | 441 | ||
438 | static symbol_entry_t * cs46xx_dsp_lookup_symbol_addr (cs46xx_t * chip, u32 address, int symbol_type) | 442 | static struct dsp_symbol_entry * |
443 | cs46xx_dsp_lookup_symbol_addr (struct snd_cs46xx * chip, u32 address, int symbol_type) | ||
439 | { | 444 | { |
440 | int i; | 445 | int i; |
441 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 446 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
442 | 447 | ||
443 | for ( i = 0; i < ins->symbol_table.nsymbols; ++i ) { | 448 | for ( i = 0; i < ins->symbol_table.nsymbols; ++i ) { |
444 | 449 | ||
@@ -456,10 +461,11 @@ static symbol_entry_t * cs46xx_dsp_lookup_symbol_addr (cs46xx_t * chip, u32 addr | |||
456 | } | 461 | } |
457 | 462 | ||
458 | 463 | ||
459 | static void cs46xx_dsp_proc_symbol_table_read (snd_info_entry_t *entry, snd_info_buffer_t * buffer) | 464 | static void cs46xx_dsp_proc_symbol_table_read (struct snd_info_entry *entry, |
465 | struct snd_info_buffer *buffer) | ||
460 | { | 466 | { |
461 | cs46xx_t *chip = entry->private_data; | 467 | struct snd_cs46xx *chip = entry->private_data; |
462 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 468 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
463 | int i; | 469 | int i; |
464 | 470 | ||
465 | snd_iprintf(buffer, "SYMBOLS:\n"); | 471 | snd_iprintf(buffer, "SYMBOLS:\n"); |
@@ -483,10 +489,11 @@ static void cs46xx_dsp_proc_symbol_table_read (snd_info_entry_t *entry, snd_info | |||
483 | } | 489 | } |
484 | 490 | ||
485 | 491 | ||
486 | static void cs46xx_dsp_proc_modules_read (snd_info_entry_t *entry, snd_info_buffer_t * buffer) | 492 | static void cs46xx_dsp_proc_modules_read (struct snd_info_entry *entry, |
493 | struct snd_info_buffer *buffer) | ||
487 | { | 494 | { |
488 | cs46xx_t *chip = entry->private_data; | 495 | struct snd_cs46xx *chip = entry->private_data; |
489 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 496 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
490 | int i,j; | 497 | int i,j; |
491 | 498 | ||
492 | down(&chip->spos_mutex); | 499 | down(&chip->spos_mutex); |
@@ -497,7 +504,7 @@ static void cs46xx_dsp_proc_modules_read (snd_info_entry_t *entry, snd_info_buff | |||
497 | snd_iprintf(buffer, " %d fixups\n", ins->modules[i].nfixups); | 504 | snd_iprintf(buffer, " %d fixups\n", ins->modules[i].nfixups); |
498 | 505 | ||
499 | for (j = 0; j < ins->modules[i].nsegments; ++ j) { | 506 | for (j = 0; j < ins->modules[i].nsegments; ++ j) { |
500 | segment_desc_t * desc = (ins->modules[i].segments + j); | 507 | struct dsp_segment_desc * desc = (ins->modules[i].segments + j); |
501 | snd_iprintf(buffer, " segment %02x offset %08x size %08x\n", | 508 | snd_iprintf(buffer, " segment %02x offset %08x size %08x\n", |
502 | desc->segment_type,desc->offset, desc->size); | 509 | desc->segment_type,desc->offset, desc->size); |
503 | } | 510 | } |
@@ -505,11 +512,12 @@ static void cs46xx_dsp_proc_modules_read (snd_info_entry_t *entry, snd_info_buff | |||
505 | up(&chip->spos_mutex); | 512 | up(&chip->spos_mutex); |
506 | } | 513 | } |
507 | 514 | ||
508 | static void cs46xx_dsp_proc_task_tree_read (snd_info_entry_t *entry, snd_info_buffer_t * buffer) | 515 | static void cs46xx_dsp_proc_task_tree_read (struct snd_info_entry *entry, |
516 | struct snd_info_buffer *buffer) | ||
509 | { | 517 | { |
510 | cs46xx_t *chip = entry->private_data; | 518 | struct snd_cs46xx *chip = entry->private_data; |
511 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 519 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
512 | int i,j,col; | 520 | int i, j, col; |
513 | void __iomem *dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET; | 521 | void __iomem *dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET; |
514 | 522 | ||
515 | down(&chip->spos_mutex); | 523 | down(&chip->spos_mutex); |
@@ -532,10 +540,11 @@ static void cs46xx_dsp_proc_task_tree_read (snd_info_entry_t *entry, snd_info_bu | |||
532 | up(&chip->spos_mutex); | 540 | up(&chip->spos_mutex); |
533 | } | 541 | } |
534 | 542 | ||
535 | static void cs46xx_dsp_proc_scb_read (snd_info_entry_t *entry, snd_info_buffer_t * buffer) | 543 | static void cs46xx_dsp_proc_scb_read (struct snd_info_entry *entry, |
544 | struct snd_info_buffer *buffer) | ||
536 | { | 545 | { |
537 | cs46xx_t *chip = entry->private_data; | 546 | struct snd_cs46xx *chip = entry->private_data; |
538 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 547 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
539 | int i; | 548 | int i; |
540 | 549 | ||
541 | down(&chip->spos_mutex); | 550 | down(&chip->spos_mutex); |
@@ -564,13 +573,14 @@ static void cs46xx_dsp_proc_scb_read (snd_info_entry_t *entry, snd_info_buffer_t | |||
564 | up(&chip->spos_mutex); | 573 | up(&chip->spos_mutex); |
565 | } | 574 | } |
566 | 575 | ||
567 | static void cs46xx_dsp_proc_parameter_dump_read (snd_info_entry_t *entry, snd_info_buffer_t * buffer) | 576 | static void cs46xx_dsp_proc_parameter_dump_read (struct snd_info_entry *entry, |
577 | struct snd_info_buffer *buffer) | ||
568 | { | 578 | { |
569 | cs46xx_t *chip = entry->private_data; | 579 | struct snd_cs46xx *chip = entry->private_data; |
570 | /*dsp_spos_instance_t * ins = chip->dsp_spos_instance; */ | 580 | /*struct dsp_spos_instance * ins = chip->dsp_spos_instance; */ |
571 | unsigned int i,col = 0; | 581 | unsigned int i, col = 0; |
572 | void __iomem *dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET; | 582 | void __iomem *dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET; |
573 | symbol_entry_t * symbol; | 583 | struct dsp_symbol_entry * symbol; |
574 | 584 | ||
575 | for (i = 0;i < DSP_PARAMETER_BYTE_SIZE; i += sizeof(u32),col ++) { | 585 | for (i = 0;i < DSP_PARAMETER_BYTE_SIZE; i += sizeof(u32),col ++) { |
576 | if (col == 4) { | 586 | if (col == 4) { |
@@ -591,9 +601,10 @@ static void cs46xx_dsp_proc_parameter_dump_read (snd_info_entry_t *entry, snd_in | |||
591 | } | 601 | } |
592 | } | 602 | } |
593 | 603 | ||
594 | static void cs46xx_dsp_proc_sample_dump_read (snd_info_entry_t *entry, snd_info_buffer_t * buffer) | 604 | static void cs46xx_dsp_proc_sample_dump_read (struct snd_info_entry *entry, |
605 | struct snd_info_buffer *buffer) | ||
595 | { | 606 | { |
596 | cs46xx_t *chip = entry->private_data; | 607 | struct snd_cs46xx *chip = entry->private_data; |
597 | int i,col = 0; | 608 | int i,col = 0; |
598 | void __iomem *dst = chip->region.idx[2].remap_addr; | 609 | void __iomem *dst = chip->region.idx[2].remap_addr; |
599 | 610 | ||
@@ -738,10 +749,10 @@ static void cs46xx_dsp_proc_sample_dump_read (snd_info_entry_t *entry, snd_info_ | |||
738 | snd_iprintf(buffer,"\n"); | 749 | snd_iprintf(buffer,"\n"); |
739 | } | 750 | } |
740 | 751 | ||
741 | int cs46xx_dsp_proc_init (snd_card_t * card, cs46xx_t *chip) | 752 | int cs46xx_dsp_proc_init (struct snd_card *card, struct snd_cs46xx *chip) |
742 | { | 753 | { |
743 | snd_info_entry_t *entry; | 754 | struct snd_info_entry *entry; |
744 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 755 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
745 | int i; | 756 | int i; |
746 | 757 | ||
747 | ins->snd_card = card; | 758 | ins->snd_card = card; |
@@ -852,9 +863,9 @@ int cs46xx_dsp_proc_init (snd_card_t * card, cs46xx_t *chip) | |||
852 | return 0; | 863 | return 0; |
853 | } | 864 | } |
854 | 865 | ||
855 | int cs46xx_dsp_proc_done (cs46xx_t *chip) | 866 | int cs46xx_dsp_proc_done (struct snd_cs46xx *chip) |
856 | { | 867 | { |
857 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 868 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
858 | int i; | 869 | int i; |
859 | 870 | ||
860 | if (ins->proc_sym_info_entry) { | 871 | if (ins->proc_sym_info_entry) { |
@@ -903,7 +914,8 @@ int cs46xx_dsp_proc_done (cs46xx_t *chip) | |||
903 | } | 914 | } |
904 | 915 | ||
905 | static int debug_tree; | 916 | static int debug_tree; |
906 | static void _dsp_create_task_tree (cs46xx_t *chip,u32 * task_data, u32 dest, int size) | 917 | static void _dsp_create_task_tree (struct snd_cs46xx *chip, u32 * task_data, |
918 | u32 dest, int size) | ||
907 | { | 919 | { |
908 | void __iomem *spdst = chip->region.idx[1].remap_addr + | 920 | void __iomem *spdst = chip->region.idx[1].remap_addr + |
909 | DSP_PARAMETER_BYTE_OFFSET + dest * sizeof(u32); | 921 | DSP_PARAMETER_BYTE_OFFSET + dest * sizeof(u32); |
@@ -917,7 +929,7 @@ static void _dsp_create_task_tree (cs46xx_t *chip,u32 * task_data, u32 dest, in | |||
917 | } | 929 | } |
918 | 930 | ||
919 | static int debug_scb; | 931 | static int debug_scb; |
920 | static void _dsp_create_scb (cs46xx_t *chip,u32 * scb_data, u32 dest) | 932 | static void _dsp_create_scb (struct snd_cs46xx *chip, u32 * scb_data, u32 dest) |
921 | { | 933 | { |
922 | void __iomem *spdst = chip->region.idx[1].remap_addr + | 934 | void __iomem *spdst = chip->region.idx[1].remap_addr + |
923 | DSP_PARAMETER_BYTE_OFFSET + dest * sizeof(u32); | 935 | DSP_PARAMETER_BYTE_OFFSET + dest * sizeof(u32); |
@@ -930,7 +942,7 @@ static void _dsp_create_scb (cs46xx_t *chip,u32 * scb_data, u32 dest) | |||
930 | } | 942 | } |
931 | } | 943 | } |
932 | 944 | ||
933 | static int find_free_scb_index (dsp_spos_instance_t * ins) | 945 | static int find_free_scb_index (struct dsp_spos_instance * ins) |
934 | { | 946 | { |
935 | int index = ins->nscb, i; | 947 | int index = ins->nscb, i; |
936 | 948 | ||
@@ -944,10 +956,10 @@ static int find_free_scb_index (dsp_spos_instance_t * ins) | |||
944 | return index; | 956 | return index; |
945 | } | 957 | } |
946 | 958 | ||
947 | static dsp_scb_descriptor_t * _map_scb (cs46xx_t *chip,char * name,u32 dest) | 959 | static struct dsp_scb_descriptor * _map_scb (struct snd_cs46xx *chip, char * name, u32 dest) |
948 | { | 960 | { |
949 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 961 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
950 | dsp_scb_descriptor_t * desc = NULL; | 962 | struct dsp_scb_descriptor * desc = NULL; |
951 | int index; | 963 | int index; |
952 | 964 | ||
953 | if (ins->nscb == DSP_MAX_SCB_DESC - 1) { | 965 | if (ins->nscb == DSP_MAX_SCB_DESC - 1) { |
@@ -977,10 +989,11 @@ static dsp_scb_descriptor_t * _map_scb (cs46xx_t *chip,char * name,u32 dest) | |||
977 | return desc; | 989 | return desc; |
978 | } | 990 | } |
979 | 991 | ||
980 | static dsp_task_descriptor_t * _map_task_tree (cs46xx_t *chip,char * name,u32 dest,u32 size) | 992 | static struct dsp_task_descriptor * |
993 | _map_task_tree (struct snd_cs46xx *chip, char * name, u32 dest, u32 size) | ||
981 | { | 994 | { |
982 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 995 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
983 | dsp_task_descriptor_t * desc = NULL; | 996 | struct dsp_task_descriptor * desc = NULL; |
984 | 997 | ||
985 | if (ins->ntask == DSP_MAX_TASK_DESC - 1) { | 998 | if (ins->ntask == DSP_MAX_TASK_DESC - 1) { |
986 | snd_printk(KERN_ERR "dsp_spos: got no place for other TASK\n"); | 999 | snd_printk(KERN_ERR "dsp_spos: got no place for other TASK\n"); |
@@ -1000,9 +1013,10 @@ static dsp_task_descriptor_t * _map_task_tree (cs46xx_t *chip,char * name,u32 de | |||
1000 | return desc; | 1013 | return desc; |
1001 | } | 1014 | } |
1002 | 1015 | ||
1003 | dsp_scb_descriptor_t * cs46xx_dsp_create_scb (cs46xx_t *chip,char * name, u32 * scb_data,u32 dest) | 1016 | struct dsp_scb_descriptor * |
1017 | cs46xx_dsp_create_scb (struct snd_cs46xx *chip, char * name, u32 * scb_data, u32 dest) | ||
1004 | { | 1018 | { |
1005 | dsp_scb_descriptor_t * desc; | 1019 | struct dsp_scb_descriptor * desc; |
1006 | 1020 | ||
1007 | desc = _map_scb (chip,name,dest); | 1021 | desc = _map_scb (chip,name,dest); |
1008 | if (desc) { | 1022 | if (desc) { |
@@ -1015,9 +1029,11 @@ dsp_scb_descriptor_t * cs46xx_dsp_create_scb (cs46xx_t *chip,char * name, u32 * | |||
1015 | } | 1029 | } |
1016 | 1030 | ||
1017 | 1031 | ||
1018 | static dsp_task_descriptor_t * cs46xx_dsp_create_task_tree (cs46xx_t *chip,char * name, u32 * task_data,u32 dest,int size) | 1032 | static struct dsp_task_descriptor * |
1033 | cs46xx_dsp_create_task_tree (struct snd_cs46xx *chip, char * name, u32 * task_data, | ||
1034 | u32 dest, int size) | ||
1019 | { | 1035 | { |
1020 | dsp_task_descriptor_t * desc; | 1036 | struct dsp_task_descriptor * desc; |
1021 | 1037 | ||
1022 | desc = _map_task_tree (chip,name,dest,size); | 1038 | desc = _map_task_tree (chip,name,dest,size); |
1023 | if (desc) { | 1039 | if (desc) { |
@@ -1029,31 +1045,31 @@ static dsp_task_descriptor_t * cs46xx_dsp_create_task_tree (cs46xx_t *chip,char | |||
1029 | return desc; | 1045 | return desc; |
1030 | } | 1046 | } |
1031 | 1047 | ||
1032 | int cs46xx_dsp_scb_and_task_init (cs46xx_t *chip) | 1048 | int cs46xx_dsp_scb_and_task_init (struct snd_cs46xx *chip) |
1033 | { | 1049 | { |
1034 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1050 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1035 | symbol_entry_t * fg_task_tree_header_code; | 1051 | struct dsp_symbol_entry * fg_task_tree_header_code; |
1036 | symbol_entry_t * task_tree_header_code; | 1052 | struct dsp_symbol_entry * task_tree_header_code; |
1037 | symbol_entry_t * task_tree_thread; | 1053 | struct dsp_symbol_entry * task_tree_thread; |
1038 | symbol_entry_t * null_algorithm; | 1054 | struct dsp_symbol_entry * null_algorithm; |
1039 | symbol_entry_t * magic_snoop_task; | 1055 | struct dsp_symbol_entry * magic_snoop_task; |
1040 | 1056 | ||
1041 | dsp_scb_descriptor_t * timing_master_scb; | 1057 | struct dsp_scb_descriptor * timing_master_scb; |
1042 | dsp_scb_descriptor_t * codec_out_scb; | 1058 | struct dsp_scb_descriptor * codec_out_scb; |
1043 | dsp_scb_descriptor_t * codec_in_scb; | 1059 | struct dsp_scb_descriptor * codec_in_scb; |
1044 | dsp_scb_descriptor_t * src_task_scb; | 1060 | struct dsp_scb_descriptor * src_task_scb; |
1045 | dsp_scb_descriptor_t * master_mix_scb; | 1061 | struct dsp_scb_descriptor * master_mix_scb; |
1046 | dsp_scb_descriptor_t * rear_mix_scb; | 1062 | struct dsp_scb_descriptor * rear_mix_scb; |
1047 | dsp_scb_descriptor_t * record_mix_scb; | 1063 | struct dsp_scb_descriptor * record_mix_scb; |
1048 | dsp_scb_descriptor_t * write_back_scb; | 1064 | struct dsp_scb_descriptor * write_back_scb; |
1049 | dsp_scb_descriptor_t * vari_decimate_scb; | 1065 | struct dsp_scb_descriptor * vari_decimate_scb; |
1050 | dsp_scb_descriptor_t * rear_codec_out_scb; | 1066 | struct dsp_scb_descriptor * rear_codec_out_scb; |
1051 | dsp_scb_descriptor_t * clfe_codec_out_scb; | 1067 | struct dsp_scb_descriptor * clfe_codec_out_scb; |
1052 | dsp_scb_descriptor_t * magic_snoop_scb; | 1068 | struct dsp_scb_descriptor * magic_snoop_scb; |
1053 | 1069 | ||
1054 | int fifo_addr,fifo_span,valid_slots; | 1070 | int fifo_addr, fifo_span, valid_slots; |
1055 | 1071 | ||
1056 | static spos_control_block_t sposcb = { | 1072 | static struct dsp_spos_control_block sposcb = { |
1057 | /* 0 */ HFG_TREE_SCB,HFG_STACK, | 1073 | /* 0 */ HFG_TREE_SCB,HFG_STACK, |
1058 | /* 1 */ SPOSCB_ADDR,BG_TREE_SCB_ADDR, | 1074 | /* 1 */ SPOSCB_ADDR,BG_TREE_SCB_ADDR, |
1059 | /* 2 */ DSP_SPOS_DC,0, | 1075 | /* 2 */ DSP_SPOS_DC,0, |
@@ -1106,7 +1122,7 @@ int cs46xx_dsp_scb_and_task_init (cs46xx_t *chip) | |||
1106 | 1122 | ||
1107 | { | 1123 | { |
1108 | /* create the null SCB */ | 1124 | /* create the null SCB */ |
1109 | static generic_scb_t null_scb = { | 1125 | static struct dsp_generic_scb null_scb = { |
1110 | { 0, 0, 0, 0 }, | 1126 | { 0, 0, 0, 0 }, |
1111 | { 0, 0, 0, 0, 0 }, | 1127 | { 0, 0, 0, 0, 0 }, |
1112 | NULL_SCB_ADDR, NULL_SCB_ADDR, | 1128 | NULL_SCB_ADDR, NULL_SCB_ADDR, |
@@ -1128,7 +1144,7 @@ int cs46xx_dsp_scb_and_task_init (cs46xx_t *chip) | |||
1128 | 1144 | ||
1129 | { | 1145 | { |
1130 | /* setup foreground task tree */ | 1146 | /* setup foreground task tree */ |
1131 | static task_tree_control_block_t fg_task_tree_hdr = { | 1147 | static struct dsp_task_tree_control_block fg_task_tree_hdr = { |
1132 | { FG_TASK_HEADER_ADDR | (DSP_SPOS_DC << 0x10), | 1148 | { FG_TASK_HEADER_ADDR | (DSP_SPOS_DC << 0x10), |
1133 | DSP_SPOS_DC_DC, | 1149 | DSP_SPOS_DC_DC, |
1134 | DSP_SPOS_DC_DC, | 1150 | DSP_SPOS_DC_DC, |
@@ -1204,7 +1220,7 @@ int cs46xx_dsp_scb_and_task_init (cs46xx_t *chip) | |||
1204 | 1220 | ||
1205 | { | 1221 | { |
1206 | /* setup foreground task tree */ | 1222 | /* setup foreground task tree */ |
1207 | static task_tree_control_block_t bg_task_tree_hdr = { | 1223 | static struct dsp_task_tree_control_block bg_task_tree_hdr = { |
1208 | { DSP_SPOS_DC_DC, | 1224 | { DSP_SPOS_DC_DC, |
1209 | DSP_SPOS_DC_DC, | 1225 | DSP_SPOS_DC_DC, |
1210 | DSP_SPOS_DC_DC, | 1226 | DSP_SPOS_DC_DC, |
@@ -1313,7 +1329,7 @@ int cs46xx_dsp_scb_and_task_init (cs46xx_t *chip) | |||
1313 | if (!write_back_scb) goto _fail_end; | 1329 | if (!write_back_scb) goto _fail_end; |
1314 | 1330 | ||
1315 | { | 1331 | { |
1316 | static mix2_ostream_spb_t mix2_ostream_spb = { | 1332 | static struct dsp_mix2_ostream_spb mix2_ostream_spb = { |
1317 | 0x00020000, | 1333 | 0x00020000, |
1318 | 0x0000ffff | 1334 | 0x0000ffff |
1319 | }; | 1335 | }; |
@@ -1448,13 +1464,14 @@ int cs46xx_dsp_scb_and_task_init (cs46xx_t *chip) | |||
1448 | return -EINVAL; | 1464 | return -EINVAL; |
1449 | } | 1465 | } |
1450 | 1466 | ||
1451 | static int cs46xx_dsp_async_init (cs46xx_t *chip, dsp_scb_descriptor_t * fg_entry) | 1467 | static int cs46xx_dsp_async_init (struct snd_cs46xx *chip, |
1468 | struct dsp_scb_descriptor * fg_entry) | ||
1452 | { | 1469 | { |
1453 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1470 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1454 | symbol_entry_t * s16_async_codec_input_task; | 1471 | struct dsp_symbol_entry * s16_async_codec_input_task; |
1455 | symbol_entry_t * spdifo_task; | 1472 | struct dsp_symbol_entry * spdifo_task; |
1456 | symbol_entry_t * spdifi_task; | 1473 | struct dsp_symbol_entry * spdifi_task; |
1457 | dsp_scb_descriptor_t * spdifi_scb_desc,* spdifo_scb_desc,* async_codec_scb_desc; | 1474 | struct dsp_scb_descriptor * spdifi_scb_desc, * spdifo_scb_desc, * async_codec_scb_desc; |
1458 | 1475 | ||
1459 | s16_async_codec_input_task = cs46xx_dsp_lookup_symbol(chip, "S16_ASYNCCODECINPUTTASK", SYMBOL_CODE); | 1476 | s16_async_codec_input_task = cs46xx_dsp_lookup_symbol(chip, "S16_ASYNCCODECINPUTTASK", SYMBOL_CODE); |
1460 | if (s16_async_codec_input_task == NULL) { | 1477 | if (s16_async_codec_input_task == NULL) { |
@@ -1475,7 +1492,7 @@ static int cs46xx_dsp_async_init (cs46xx_t *chip, dsp_scb_descriptor_t * fg_entr | |||
1475 | 1492 | ||
1476 | { | 1493 | { |
1477 | /* 0xBC0 */ | 1494 | /* 0xBC0 */ |
1478 | spdifoscb_t spdifo_scb = { | 1495 | struct dsp_spdifoscb spdifo_scb = { |
1479 | /* 0 */ DSP_SPOS_UUUU, | 1496 | /* 0 */ DSP_SPOS_UUUU, |
1480 | { | 1497 | { |
1481 | /* 1 */ 0xb0, | 1498 | /* 1 */ 0xb0, |
@@ -1504,7 +1521,7 @@ static int cs46xx_dsp_async_init (cs46xx_t *chip, dsp_scb_descriptor_t * fg_entr | |||
1504 | }; | 1521 | }; |
1505 | 1522 | ||
1506 | /* 0xBB0 */ | 1523 | /* 0xBB0 */ |
1507 | spdifiscb_t spdifi_scb = { | 1524 | struct dsp_spdifiscb spdifi_scb = { |
1508 | /* 0 */ DSP_SPOS_UULO,DSP_SPOS_UUHI, | 1525 | /* 0 */ DSP_SPOS_UULO,DSP_SPOS_UUHI, |
1509 | /* 1 */ 0, | 1526 | /* 1 */ 0, |
1510 | /* 2 */ 0, | 1527 | /* 2 */ 0, |
@@ -1529,7 +1546,7 @@ static int cs46xx_dsp_async_init (cs46xx_t *chip, dsp_scb_descriptor_t * fg_entr | |||
1529 | }; | 1546 | }; |
1530 | 1547 | ||
1531 | /* 0xBA0 */ | 1548 | /* 0xBA0 */ |
1532 | async_codec_input_scb_t async_codec_input_scb = { | 1549 | struct dsp_async_codec_input_scb async_codec_input_scb = { |
1533 | /* 0 */ DSP_SPOS_UUUU, | 1550 | /* 0 */ DSP_SPOS_UUUU, |
1534 | /* 1 */ 0, | 1551 | /* 1 */ 0, |
1535 | /* 2 */ 0, | 1552 | /* 2 */ 0, |
@@ -1620,9 +1637,9 @@ static int cs46xx_dsp_async_init (cs46xx_t *chip, dsp_scb_descriptor_t * fg_entr | |||
1620 | } | 1637 | } |
1621 | 1638 | ||
1622 | 1639 | ||
1623 | static void cs46xx_dsp_disable_spdif_hw (cs46xx_t *chip) | 1640 | static void cs46xx_dsp_disable_spdif_hw (struct snd_cs46xx *chip) |
1624 | { | 1641 | { |
1625 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1642 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1626 | 1643 | ||
1627 | /* set SPDIF output FIFO slot */ | 1644 | /* set SPDIF output FIFO slot */ |
1628 | snd_cs46xx_pokeBA0(chip, BA0_ASER_FADDR, 0); | 1645 | snd_cs46xx_pokeBA0(chip, BA0_ASER_FADDR, 0); |
@@ -1641,9 +1658,9 @@ static void cs46xx_dsp_disable_spdif_hw (cs46xx_t *chip) | |||
1641 | ins->spdif_status_out &= ~DSP_SPDIF_STATUS_HW_ENABLED; | 1658 | ins->spdif_status_out &= ~DSP_SPDIF_STATUS_HW_ENABLED; |
1642 | } | 1659 | } |
1643 | 1660 | ||
1644 | int cs46xx_dsp_enable_spdif_hw (cs46xx_t *chip) | 1661 | int cs46xx_dsp_enable_spdif_hw (struct snd_cs46xx *chip) |
1645 | { | 1662 | { |
1646 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1663 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1647 | 1664 | ||
1648 | /* if hw-ctrl already enabled, turn off to reset logic ... */ | 1665 | /* if hw-ctrl already enabled, turn off to reset logic ... */ |
1649 | cs46xx_dsp_disable_spdif_hw (chip); | 1666 | cs46xx_dsp_disable_spdif_hw (chip); |
@@ -1664,9 +1681,9 @@ int cs46xx_dsp_enable_spdif_hw (cs46xx_t *chip) | |||
1664 | return 0; | 1681 | return 0; |
1665 | } | 1682 | } |
1666 | 1683 | ||
1667 | int cs46xx_dsp_enable_spdif_in (cs46xx_t *chip) | 1684 | int cs46xx_dsp_enable_spdif_in (struct snd_cs46xx *chip) |
1668 | { | 1685 | { |
1669 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1686 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1670 | 1687 | ||
1671 | /* turn on amplifier */ | 1688 | /* turn on amplifier */ |
1672 | chip->active_ctrl(chip, 1); | 1689 | chip->active_ctrl(chip, 1); |
@@ -1724,9 +1741,9 @@ int cs46xx_dsp_enable_spdif_in (cs46xx_t *chip) | |||
1724 | return 0; | 1741 | return 0; |
1725 | } | 1742 | } |
1726 | 1743 | ||
1727 | int cs46xx_dsp_disable_spdif_in (cs46xx_t *chip) | 1744 | int cs46xx_dsp_disable_spdif_in (struct snd_cs46xx *chip) |
1728 | { | 1745 | { |
1729 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1746 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1730 | 1747 | ||
1731 | snd_assert (ins->asynch_rx_scb != NULL, return -EINVAL); | 1748 | snd_assert (ins->asynch_rx_scb != NULL, return -EINVAL); |
1732 | snd_assert (ins->spdif_in_src != NULL,return -EINVAL); | 1749 | snd_assert (ins->spdif_in_src != NULL,return -EINVAL); |
@@ -1750,9 +1767,9 @@ int cs46xx_dsp_disable_spdif_in (cs46xx_t *chip) | |||
1750 | return 0; | 1767 | return 0; |
1751 | } | 1768 | } |
1752 | 1769 | ||
1753 | int cs46xx_dsp_enable_pcm_capture (cs46xx_t *chip) | 1770 | int cs46xx_dsp_enable_pcm_capture (struct snd_cs46xx *chip) |
1754 | { | 1771 | { |
1755 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1772 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1756 | 1773 | ||
1757 | snd_assert (ins->pcm_input == NULL,return -EINVAL); | 1774 | snd_assert (ins->pcm_input == NULL,return -EINVAL); |
1758 | snd_assert (ins->ref_snoop_scb != NULL,return -EINVAL); | 1775 | snd_assert (ins->ref_snoop_scb != NULL,return -EINVAL); |
@@ -1765,9 +1782,9 @@ int cs46xx_dsp_enable_pcm_capture (cs46xx_t *chip) | |||
1765 | return 0; | 1782 | return 0; |
1766 | } | 1783 | } |
1767 | 1784 | ||
1768 | int cs46xx_dsp_disable_pcm_capture (cs46xx_t *chip) | 1785 | int cs46xx_dsp_disable_pcm_capture (struct snd_cs46xx *chip) |
1769 | { | 1786 | { |
1770 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1787 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1771 | 1788 | ||
1772 | snd_assert (ins->pcm_input != NULL,return -EINVAL); | 1789 | snd_assert (ins->pcm_input != NULL,return -EINVAL); |
1773 | 1790 | ||
@@ -1779,9 +1796,9 @@ int cs46xx_dsp_disable_pcm_capture (cs46xx_t *chip) | |||
1779 | return 0; | 1796 | return 0; |
1780 | } | 1797 | } |
1781 | 1798 | ||
1782 | int cs46xx_dsp_enable_adc_capture (cs46xx_t *chip) | 1799 | int cs46xx_dsp_enable_adc_capture (struct snd_cs46xx *chip) |
1783 | { | 1800 | { |
1784 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1801 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1785 | 1802 | ||
1786 | snd_assert (ins->adc_input == NULL,return -EINVAL); | 1803 | snd_assert (ins->adc_input == NULL,return -EINVAL); |
1787 | snd_assert (ins->codec_in_scb != NULL,return -EINVAL); | 1804 | snd_assert (ins->codec_in_scb != NULL,return -EINVAL); |
@@ -1794,9 +1811,9 @@ int cs46xx_dsp_enable_adc_capture (cs46xx_t *chip) | |||
1794 | return 0; | 1811 | return 0; |
1795 | } | 1812 | } |
1796 | 1813 | ||
1797 | int cs46xx_dsp_disable_adc_capture (cs46xx_t *chip) | 1814 | int cs46xx_dsp_disable_adc_capture (struct snd_cs46xx *chip) |
1798 | { | 1815 | { |
1799 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1816 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1800 | 1817 | ||
1801 | snd_assert (ins->adc_input != NULL,return -EINVAL); | 1818 | snd_assert (ins->adc_input != NULL,return -EINVAL); |
1802 | 1819 | ||
@@ -1808,7 +1825,7 @@ int cs46xx_dsp_disable_adc_capture (cs46xx_t *chip) | |||
1808 | return 0; | 1825 | return 0; |
1809 | } | 1826 | } |
1810 | 1827 | ||
1811 | int cs46xx_poke_via_dsp (cs46xx_t *chip,u32 address,u32 data) | 1828 | int cs46xx_poke_via_dsp (struct snd_cs46xx *chip, u32 address, u32 data) |
1812 | { | 1829 | { |
1813 | u32 temp; | 1830 | u32 temp; |
1814 | int i; | 1831 | int i; |
@@ -1845,10 +1862,10 @@ int cs46xx_poke_via_dsp (cs46xx_t *chip,u32 address,u32 data) | |||
1845 | return 0; | 1862 | return 0; |
1846 | } | 1863 | } |
1847 | 1864 | ||
1848 | int cs46xx_dsp_set_dac_volume (cs46xx_t * chip,u16 left,u16 right) | 1865 | int cs46xx_dsp_set_dac_volume (struct snd_cs46xx * chip, u16 left, u16 right) |
1849 | { | 1866 | { |
1850 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1867 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1851 | dsp_scb_descriptor_t * scb; | 1868 | struct dsp_scb_descriptor * scb; |
1852 | 1869 | ||
1853 | down(&chip->spos_mutex); | 1870 | down(&chip->spos_mutex); |
1854 | 1871 | ||
@@ -1874,8 +1891,9 @@ int cs46xx_dsp_set_dac_volume (cs46xx_t * chip,u16 left,u16 right) | |||
1874 | return 0; | 1891 | return 0; |
1875 | } | 1892 | } |
1876 | 1893 | ||
1877 | int cs46xx_dsp_set_iec958_volume (cs46xx_t * chip,u16 left,u16 right) { | 1894 | int cs46xx_dsp_set_iec958_volume (struct snd_cs46xx * chip, u16 left, u16 right) |
1878 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1895 | { |
1896 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; | ||
1879 | 1897 | ||
1880 | down(&chip->spos_mutex); | 1898 | down(&chip->spos_mutex); |
1881 | 1899 | ||
diff --git a/sound/pci/cs46xx/dsp_spos.h b/sound/pci/cs46xx/dsp_spos.h index 90871bf9762f..0d246bca4184 100644 --- a/sound/pci/cs46xx/dsp_spos.h +++ b/sound/pci/cs46xx/dsp_spos.h | |||
@@ -43,7 +43,7 @@ | |||
43 | /* this instruction types | 43 | /* this instruction types |
44 | needs to be reallocated when load | 44 | needs to be reallocated when load |
45 | code into DSP */ | 45 | code into DSP */ |
46 | typedef enum { | 46 | enum wide_opcode { |
47 | WIDE_FOR_BEGIN_LOOP = 0x20, | 47 | WIDE_FOR_BEGIN_LOOP = 0x20, |
48 | WIDE_FOR_BEGIN_LOOP2, | 48 | WIDE_FOR_BEGIN_LOOP2, |
49 | 49 | ||
@@ -58,7 +58,7 @@ typedef enum { | |||
58 | WIDE_TBEQ_COND_CALL1_ADDR, | 58 | WIDE_TBEQ_COND_CALL1_ADDR, |
59 | WIDE_TBEQ_NCOND_GOTOI_ADDR, | 59 | WIDE_TBEQ_NCOND_GOTOI_ADDR, |
60 | WIDE_TBEQ_NCOND_CALL1_ADDR, | 60 | WIDE_TBEQ_NCOND_CALL1_ADDR, |
61 | } wide_opcode_t; | 61 | }; |
62 | 62 | ||
63 | /* SAMPLE segment */ | 63 | /* SAMPLE segment */ |
64 | #define VARI_DECIMATE_BUF1 0x0000 | 64 | #define VARI_DECIMATE_BUF1 0x0000 |
@@ -186,7 +186,8 @@ typedef enum { | |||
186 | #define SP_SPDOUT_CONTROL 0x804D | 186 | #define SP_SPDOUT_CONTROL 0x804D |
187 | #define SP_SPDOUT_CSUV 0x808E | 187 | #define SP_SPDOUT_CSUV 0x808E |
188 | 188 | ||
189 | static inline u8 _wrap_all_bits (u8 val) { | 189 | static inline u8 _wrap_all_bits (u8 val) |
190 | { | ||
190 | u8 wrapped; | 191 | u8 wrapped; |
191 | 192 | ||
192 | /* wrap all 8 bits */ | 193 | /* wrap all 8 bits */ |
@@ -201,11 +202,10 @@ static inline u8 _wrap_all_bits (u8 val) { | |||
201 | ((val & 0x80) >> 7); | 202 | ((val & 0x80) >> 7); |
202 | 203 | ||
203 | return wrapped; | 204 | return wrapped; |
204 | |||
205 | } | 205 | } |
206 | 206 | ||
207 | 207 | static inline void cs46xx_dsp_spos_update_scb (struct snd_cs46xx * chip, | |
208 | static inline void cs46xx_dsp_spos_update_scb (cs46xx_t * chip,dsp_scb_descriptor_t * scb) | 208 | struct dsp_scb_descriptor * scb) |
209 | { | 209 | { |
210 | /* update nextSCB and subListPtr in SCB */ | 210 | /* update nextSCB and subListPtr in SCB */ |
211 | snd_cs46xx_poke(chip, | 211 | snd_cs46xx_poke(chip, |
@@ -214,8 +214,10 @@ static inline void cs46xx_dsp_spos_update_scb (cs46xx_t * chip,dsp_scb_descripto | |||
214 | (scb->next_scb_ptr->address)); | 214 | (scb->next_scb_ptr->address)); |
215 | } | 215 | } |
216 | 216 | ||
217 | static inline void cs46xx_dsp_scb_set_volume (cs46xx_t * chip,dsp_scb_descriptor_t * scb, | 217 | static inline void cs46xx_dsp_scb_set_volume (struct snd_cs46xx * chip, |
218 | u16 left,u16 right) { | 218 | struct dsp_scb_descriptor * scb, |
219 | u16 left, u16 right) | ||
220 | { | ||
219 | unsigned int val = ((0xffff - left) << 16 | (0xffff - right)); | 221 | unsigned int val = ((0xffff - left) << 16 | (0xffff - right)); |
220 | 222 | ||
221 | snd_cs46xx_poke(chip, (scb->address + SCBVolumeCtrl) << 2, val); | 223 | snd_cs46xx_poke(chip, (scb->address + SCBVolumeCtrl) << 2, val); |
diff --git a/sound/pci/cs46xx/dsp_spos_scb_lib.c b/sound/pci/cs46xx/dsp_spos_scb_lib.c index 92849e1340bb..6e865005b269 100644 --- a/sound/pci/cs46xx/dsp_spos_scb_lib.c +++ b/sound/pci/cs46xx/dsp_spos_scb_lib.c | |||
@@ -36,14 +36,14 @@ | |||
36 | #include "cs46xx_lib.h" | 36 | #include "cs46xx_lib.h" |
37 | #include "dsp_spos.h" | 37 | #include "dsp_spos.h" |
38 | 38 | ||
39 | typedef struct _proc_scb_info_t { | 39 | struct proc_scb_info { |
40 | dsp_scb_descriptor_t * scb_desc; | 40 | struct dsp_scb_descriptor * scb_desc; |
41 | cs46xx_t *chip; | 41 | struct snd_cs46xx *chip; |
42 | } proc_scb_info_t; | 42 | }; |
43 | 43 | ||
44 | static void remove_symbol (cs46xx_t * chip,symbol_entry_t * symbol) | 44 | static void remove_symbol (struct snd_cs46xx * chip, struct dsp_symbol_entry * symbol) |
45 | { | 45 | { |
46 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 46 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
47 | int symbol_index = (int)(symbol - ins->symbol_table.symbols); | 47 | int symbol_index = (int)(symbol - ins->symbol_table.symbols); |
48 | 48 | ||
49 | snd_assert(ins->symbol_table.nsymbols > 0,return); | 49 | snd_assert(ins->symbol_table.nsymbols > 0,return); |
@@ -64,12 +64,13 @@ static void remove_symbol (cs46xx_t * chip,symbol_entry_t * symbol) | |||
64 | 64 | ||
65 | } | 65 | } |
66 | 66 | ||
67 | static void cs46xx_dsp_proc_scb_info_read (snd_info_entry_t *entry, snd_info_buffer_t * buffer) | 67 | static void cs46xx_dsp_proc_scb_info_read (struct snd_info_entry *entry, |
68 | struct snd_info_buffer *buffer) | ||
68 | { | 69 | { |
69 | proc_scb_info_t * scb_info = (proc_scb_info_t *)entry->private_data; | 70 | struct proc_scb_info * scb_info = entry->private_data; |
70 | dsp_scb_descriptor_t * scb = scb_info->scb_desc; | 71 | struct dsp_scb_descriptor * scb = scb_info->scb_desc; |
71 | dsp_spos_instance_t * ins; | 72 | struct dsp_spos_instance * ins; |
72 | cs46xx_t *chip = scb_info->chip; | 73 | struct snd_cs46xx *chip = scb_info->chip; |
73 | int j,col; | 74 | int j,col; |
74 | void __iomem *dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET; | 75 | void __iomem *dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET; |
75 | 76 | ||
@@ -106,9 +107,9 @@ static void cs46xx_dsp_proc_scb_info_read (snd_info_entry_t *entry, snd_info_buf | |||
106 | up(&chip->spos_mutex); | 107 | up(&chip->spos_mutex); |
107 | } | 108 | } |
108 | 109 | ||
109 | static void _dsp_unlink_scb (cs46xx_t *chip,dsp_scb_descriptor_t * scb) | 110 | static void _dsp_unlink_scb (struct snd_cs46xx *chip, struct dsp_scb_descriptor * scb) |
110 | { | 111 | { |
111 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 112 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
112 | unsigned long flags; | 113 | unsigned long flags; |
113 | 114 | ||
114 | if ( scb->parent_scb_ptr ) { | 115 | if ( scb->parent_scb_ptr ) { |
@@ -160,7 +161,8 @@ static void _dsp_unlink_scb (cs46xx_t *chip,dsp_scb_descriptor_t * scb) | |||
160 | } | 161 | } |
161 | } | 162 | } |
162 | 163 | ||
163 | static void _dsp_clear_sample_buffer (cs46xx_t *chip, u32 sample_buffer_addr, int dword_count) | 164 | static void _dsp_clear_sample_buffer (struct snd_cs46xx *chip, u32 sample_buffer_addr, |
165 | int dword_count) | ||
164 | { | 166 | { |
165 | void __iomem *dst = chip->region.idx[2].remap_addr + sample_buffer_addr; | 167 | void __iomem *dst = chip->region.idx[2].remap_addr + sample_buffer_addr; |
166 | int i; | 168 | int i; |
@@ -171,9 +173,9 @@ static void _dsp_clear_sample_buffer (cs46xx_t *chip, u32 sample_buffer_addr, in | |||
171 | } | 173 | } |
172 | } | 174 | } |
173 | 175 | ||
174 | void cs46xx_dsp_remove_scb (cs46xx_t *chip, dsp_scb_descriptor_t * scb) | 176 | void cs46xx_dsp_remove_scb (struct snd_cs46xx *chip, struct dsp_scb_descriptor * scb) |
175 | { | 177 | { |
176 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 178 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
177 | 179 | ||
178 | /* check integrety */ | 180 | /* check integrety */ |
179 | snd_assert ( (scb->index >= 0 && | 181 | snd_assert ( (scb->index >= 0 && |
@@ -218,10 +220,10 @@ void cs46xx_dsp_remove_scb (cs46xx_t *chip, dsp_scb_descriptor_t * scb) | |||
218 | } | 220 | } |
219 | 221 | ||
220 | 222 | ||
221 | void cs46xx_dsp_proc_free_scb_desc (dsp_scb_descriptor_t * scb) | 223 | void cs46xx_dsp_proc_free_scb_desc (struct dsp_scb_descriptor * scb) |
222 | { | 224 | { |
223 | if (scb->proc_info) { | 225 | if (scb->proc_info) { |
224 | proc_scb_info_t * scb_info = (proc_scb_info_t *)scb->proc_info->private_data; | 226 | struct proc_scb_info * scb_info = scb->proc_info->private_data; |
225 | 227 | ||
226 | snd_printdd("cs46xx_dsp_proc_free_scb_desc: freeing %s\n",scb->scb_name); | 228 | snd_printdd("cs46xx_dsp_proc_free_scb_desc: freeing %s\n",scb->scb_name); |
227 | 229 | ||
@@ -233,11 +235,12 @@ void cs46xx_dsp_proc_free_scb_desc (dsp_scb_descriptor_t * scb) | |||
233 | } | 235 | } |
234 | } | 236 | } |
235 | 237 | ||
236 | void cs46xx_dsp_proc_register_scb_desc (cs46xx_t *chip,dsp_scb_descriptor_t * scb) | 238 | void cs46xx_dsp_proc_register_scb_desc (struct snd_cs46xx *chip, |
239 | struct dsp_scb_descriptor * scb) | ||
237 | { | 240 | { |
238 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 241 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
239 | snd_info_entry_t * entry; | 242 | struct snd_info_entry * entry; |
240 | proc_scb_info_t * scb_info; | 243 | struct proc_scb_info * scb_info; |
241 | 244 | ||
242 | /* register to proc */ | 245 | /* register to proc */ |
243 | if (ins->snd_card != NULL && ins->proc_dsp_dir != NULL && | 246 | if (ins->snd_card != NULL && ins->proc_dsp_dir != NULL && |
@@ -245,7 +248,7 @@ void cs46xx_dsp_proc_register_scb_desc (cs46xx_t *chip,dsp_scb_descriptor_t * sc | |||
245 | 248 | ||
246 | if ((entry = snd_info_create_card_entry(ins->snd_card, scb->scb_name, | 249 | if ((entry = snd_info_create_card_entry(ins->snd_card, scb->scb_name, |
247 | ins->proc_dsp_dir)) != NULL) { | 250 | ins->proc_dsp_dir)) != NULL) { |
248 | scb_info = kmalloc(sizeof(proc_scb_info_t), GFP_KERNEL); | 251 | scb_info = kmalloc(sizeof(struct proc_scb_info), GFP_KERNEL); |
249 | if (!scb_info) { | 252 | if (!scb_info) { |
250 | snd_info_free_entry(entry); | 253 | snd_info_free_entry(entry); |
251 | entry = NULL; | 254 | entry = NULL; |
@@ -273,14 +276,14 @@ out: | |||
273 | } | 276 | } |
274 | } | 277 | } |
275 | 278 | ||
276 | static dsp_scb_descriptor_t * | 279 | static struct dsp_scb_descriptor * |
277 | _dsp_create_generic_scb (cs46xx_t *chip,char * name, u32 * scb_data,u32 dest, | 280 | _dsp_create_generic_scb (struct snd_cs46xx *chip, char * name, u32 * scb_data, u32 dest, |
278 | symbol_entry_t * task_entry, | 281 | struct dsp_symbol_entry * task_entry, |
279 | dsp_scb_descriptor_t * parent_scb, | 282 | struct dsp_scb_descriptor * parent_scb, |
280 | int scb_child_type) | 283 | int scb_child_type) |
281 | { | 284 | { |
282 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 285 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
283 | dsp_scb_descriptor_t * scb; | 286 | struct dsp_scb_descriptor * scb; |
284 | 287 | ||
285 | unsigned long flags; | 288 | unsigned long flags; |
286 | 289 | ||
@@ -342,13 +345,13 @@ _dsp_create_generic_scb (cs46xx_t *chip,char * name, u32 * scb_data,u32 dest, | |||
342 | return scb; | 345 | return scb; |
343 | } | 346 | } |
344 | 347 | ||
345 | static dsp_scb_descriptor_t * | 348 | static struct dsp_scb_descriptor * |
346 | cs46xx_dsp_create_generic_scb (cs46xx_t *chip,char * name, u32 * scb_data,u32 dest, | 349 | cs46xx_dsp_create_generic_scb (struct snd_cs46xx *chip, char * name, u32 * scb_data, |
347 | char * task_entry_name, | 350 | u32 dest, char * task_entry_name, |
348 | dsp_scb_descriptor_t * parent_scb, | 351 | struct dsp_scb_descriptor * parent_scb, |
349 | int scb_child_type) | 352 | int scb_child_type) |
350 | { | 353 | { |
351 | symbol_entry_t * task_entry; | 354 | struct dsp_symbol_entry * task_entry; |
352 | 355 | ||
353 | task_entry = cs46xx_dsp_lookup_symbol (chip,task_entry_name, | 356 | task_entry = cs46xx_dsp_lookup_symbol (chip,task_entry_name, |
354 | SYMBOL_CODE); | 357 | SYMBOL_CODE); |
@@ -362,12 +365,12 @@ cs46xx_dsp_create_generic_scb (cs46xx_t *chip,char * name, u32 * scb_data,u32 de | |||
362 | parent_scb,scb_child_type); | 365 | parent_scb,scb_child_type); |
363 | } | 366 | } |
364 | 367 | ||
365 | dsp_scb_descriptor_t * | 368 | struct dsp_scb_descriptor * |
366 | cs46xx_dsp_create_timing_master_scb (cs46xx_t *chip) | 369 | cs46xx_dsp_create_timing_master_scb (struct snd_cs46xx *chip) |
367 | { | 370 | { |
368 | dsp_scb_descriptor_t * scb; | 371 | struct dsp_scb_descriptor * scb; |
369 | 372 | ||
370 | timing_master_scb_t timing_master_scb = { | 373 | struct dsp_timing_master_scb timing_master_scb = { |
371 | { 0, | 374 | { 0, |
372 | 0, | 375 | 0, |
373 | 0, | 376 | 0, |
@@ -396,16 +399,15 @@ cs46xx_dsp_create_timing_master_scb (cs46xx_t *chip) | |||
396 | } | 399 | } |
397 | 400 | ||
398 | 401 | ||
399 | dsp_scb_descriptor_t * | 402 | struct dsp_scb_descriptor * |
400 | cs46xx_dsp_create_codec_out_scb(cs46xx_t * chip,char * codec_name, | 403 | cs46xx_dsp_create_codec_out_scb(struct snd_cs46xx * chip, char * codec_name, |
401 | u16 channel_disp,u16 fifo_addr, | 404 | u16 channel_disp, u16 fifo_addr, u16 child_scb_addr, |
402 | u16 child_scb_addr, | 405 | u32 dest, struct dsp_scb_descriptor * parent_scb, |
403 | u32 dest,dsp_scb_descriptor_t * parent_scb, | ||
404 | int scb_child_type) | 406 | int scb_child_type) |
405 | { | 407 | { |
406 | dsp_scb_descriptor_t * scb; | 408 | struct dsp_scb_descriptor * scb; |
407 | 409 | ||
408 | codec_output_scb_t codec_out_scb = { | 410 | struct dsp_codec_output_scb codec_out_scb = { |
409 | { 0, | 411 | { 0, |
410 | 0, | 412 | 0, |
411 | 0, | 413 | 0, |
@@ -435,16 +437,15 @@ cs46xx_dsp_create_codec_out_scb(cs46xx_t * chip,char * codec_name, | |||
435 | return scb; | 437 | return scb; |
436 | } | 438 | } |
437 | 439 | ||
438 | dsp_scb_descriptor_t * | 440 | struct dsp_scb_descriptor * |
439 | cs46xx_dsp_create_codec_in_scb(cs46xx_t * chip,char * codec_name, | 441 | cs46xx_dsp_create_codec_in_scb(struct snd_cs46xx * chip, char * codec_name, |
440 | u16 channel_disp,u16 fifo_addr, | 442 | u16 channel_disp, u16 fifo_addr, u16 sample_buffer_addr, |
441 | u16 sample_buffer_addr, | 443 | u32 dest, struct dsp_scb_descriptor * parent_scb, |
442 | u32 dest,dsp_scb_descriptor_t * parent_scb, | 444 | int scb_child_type) |
443 | int scb_child_type) | ||
444 | { | 445 | { |
445 | 446 | ||
446 | dsp_scb_descriptor_t * scb; | 447 | struct dsp_scb_descriptor * scb; |
447 | codec_input_scb_t codec_input_scb = { | 448 | struct dsp_codec_input_scb codec_input_scb = { |
448 | { 0, | 449 | { 0, |
449 | 0, | 450 | 0, |
450 | 0, | 451 | 0, |
@@ -481,17 +482,17 @@ cs46xx_dsp_create_codec_in_scb(cs46xx_t * chip,char * codec_name, | |||
481 | } | 482 | } |
482 | 483 | ||
483 | 484 | ||
484 | static dsp_scb_descriptor_t * | 485 | static struct dsp_scb_descriptor * |
485 | cs46xx_dsp_create_pcm_reader_scb(cs46xx_t * chip,char * scb_name, | 486 | cs46xx_dsp_create_pcm_reader_scb(struct snd_cs46xx * chip, char * scb_name, |
486 | u16 sample_buffer_addr,u32 dest, | 487 | u16 sample_buffer_addr, u32 dest, |
487 | int virtual_channel, u32 playback_hw_addr, | 488 | int virtual_channel, u32 playback_hw_addr, |
488 | dsp_scb_descriptor_t * parent_scb, | 489 | struct dsp_scb_descriptor * parent_scb, |
489 | int scb_child_type) | 490 | int scb_child_type) |
490 | { | 491 | { |
491 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 492 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
492 | dsp_scb_descriptor_t * scb; | 493 | struct dsp_scb_descriptor * scb; |
493 | 494 | ||
494 | generic_scb_t pcm_reader_scb = { | 495 | struct dsp_generic_scb pcm_reader_scb = { |
495 | 496 | ||
496 | /* | 497 | /* |
497 | Play DMA Task xfers data from host buffer to SP buffer | 498 | Play DMA Task xfers data from host buffer to SP buffer |
@@ -584,18 +585,18 @@ cs46xx_dsp_create_pcm_reader_scb(cs46xx_t * chip,char * scb_name, | |||
584 | 585 | ||
585 | #define GOF_PER_SEC 200 | 586 | #define GOF_PER_SEC 200 |
586 | 587 | ||
587 | dsp_scb_descriptor_t * | 588 | struct dsp_scb_descriptor * |
588 | cs46xx_dsp_create_src_task_scb(cs46xx_t * chip,char * scb_name, | 589 | cs46xx_dsp_create_src_task_scb(struct snd_cs46xx * chip, char * scb_name, |
589 | int rate, | 590 | int rate, |
590 | u16 src_buffer_addr, | 591 | u16 src_buffer_addr, |
591 | u16 src_delay_buffer_addr,u32 dest, | 592 | u16 src_delay_buffer_addr, u32 dest, |
592 | dsp_scb_descriptor_t * parent_scb, | 593 | struct dsp_scb_descriptor * parent_scb, |
593 | int scb_child_type, | 594 | int scb_child_type, |
594 | int pass_through) | 595 | int pass_through) |
595 | { | 596 | { |
596 | 597 | ||
597 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 598 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
598 | dsp_scb_descriptor_t * scb; | 599 | struct dsp_scb_descriptor * scb; |
599 | unsigned int tmp1, tmp2; | 600 | unsigned int tmp1, tmp2; |
600 | unsigned int phiIncr; | 601 | unsigned int phiIncr; |
601 | unsigned int correctionPerGOF, correctionPerSec; | 602 | unsigned int correctionPerGOF, correctionPerSec; |
@@ -632,7 +633,7 @@ cs46xx_dsp_create_src_task_scb(cs46xx_t * chip,char * scb_name, | |||
632 | correctionPerSec = tmp1; | 633 | correctionPerSec = tmp1; |
633 | 634 | ||
634 | { | 635 | { |
635 | src_task_scb_t src_task_scb = { | 636 | struct dsp_src_task_scb src_task_scb = { |
636 | 0x0028,0x00c8, | 637 | 0x0028,0x00c8, |
637 | 0x5555,0x0000, | 638 | 0x5555,0x0000, |
638 | 0x0000,0x0000, | 639 | 0x0000,0x0000, |
@@ -688,14 +689,14 @@ cs46xx_dsp_create_src_task_scb(cs46xx_t * chip,char * scb_name, | |||
688 | } | 689 | } |
689 | 690 | ||
690 | #if 0 /* not used */ | 691 | #if 0 /* not used */ |
691 | dsp_scb_descriptor_t * | 692 | struct dsp_scb_descriptor * |
692 | cs46xx_dsp_create_filter_scb(cs46xx_t * chip,char * scb_name, | 693 | cs46xx_dsp_create_filter_scb(struct snd_cs46xx * chip, char * scb_name, |
693 | u16 buffer_addr,u32 dest, | 694 | u16 buffer_addr, u32 dest, |
694 | dsp_scb_descriptor_t * parent_scb, | 695 | struct dsp_scb_descriptor * parent_scb, |
695 | int scb_child_type) { | 696 | int scb_child_type) { |
696 | dsp_scb_descriptor_t * scb; | 697 | struct dsp_scb_descriptor * scb; |
697 | 698 | ||
698 | filter_scb_t filter_scb = { | 699 | struct dsp_filter_scb filter_scb = { |
699 | .a0_right = 0x41a9, | 700 | .a0_right = 0x41a9, |
700 | .a0_left = 0x41a9, | 701 | .a0_left = 0x41a9, |
701 | .a1_right = 0xb8e4, | 702 | .a1_right = 0xb8e4, |
@@ -738,15 +739,15 @@ cs46xx_dsp_create_filter_scb(cs46xx_t * chip,char * scb_name, | |||
738 | } | 739 | } |
739 | #endif /* not used */ | 740 | #endif /* not used */ |
740 | 741 | ||
741 | dsp_scb_descriptor_t * | 742 | struct dsp_scb_descriptor * |
742 | cs46xx_dsp_create_mix_only_scb(cs46xx_t * chip,char * scb_name, | 743 | cs46xx_dsp_create_mix_only_scb(struct snd_cs46xx * chip, char * scb_name, |
743 | u16 mix_buffer_addr,u32 dest, | 744 | u16 mix_buffer_addr, u32 dest, |
744 | dsp_scb_descriptor_t * parent_scb, | 745 | struct dsp_scb_descriptor * parent_scb, |
745 | int scb_child_type) | 746 | int scb_child_type) |
746 | { | 747 | { |
747 | dsp_scb_descriptor_t * scb; | 748 | struct dsp_scb_descriptor * scb; |
748 | 749 | ||
749 | mix_only_scb_t master_mix_scb = { | 750 | struct dsp_mix_only_scb master_mix_scb = { |
750 | /* 0 */ { 0, | 751 | /* 0 */ { 0, |
751 | /* 1 */ 0, | 752 | /* 1 */ 0, |
752 | /* 2 */ mix_buffer_addr, | 753 | /* 2 */ mix_buffer_addr, |
@@ -778,15 +779,15 @@ cs46xx_dsp_create_mix_only_scb(cs46xx_t * chip,char * scb_name, | |||
778 | } | 779 | } |
779 | 780 | ||
780 | 781 | ||
781 | dsp_scb_descriptor_t * | 782 | struct dsp_scb_descriptor * |
782 | cs46xx_dsp_create_mix_to_ostream_scb(cs46xx_t * chip,char * scb_name, | 783 | cs46xx_dsp_create_mix_to_ostream_scb(struct snd_cs46xx * chip, char * scb_name, |
783 | u16 mix_buffer_addr,u16 writeback_spb,u32 dest, | 784 | u16 mix_buffer_addr, u16 writeback_spb, u32 dest, |
784 | dsp_scb_descriptor_t * parent_scb, | 785 | struct dsp_scb_descriptor * parent_scb, |
785 | int scb_child_type) | 786 | int scb_child_type) |
786 | { | 787 | { |
787 | dsp_scb_descriptor_t * scb; | 788 | struct dsp_scb_descriptor * scb; |
788 | 789 | ||
789 | mix2_ostream_scb_t mix2_ostream_scb = { | 790 | struct dsp_mix2_ostream_scb mix2_ostream_scb = { |
790 | /* Basic (non scatter/gather) DMA requestor (4 ints) */ | 791 | /* Basic (non scatter/gather) DMA requestor (4 ints) */ |
791 | { | 792 | { |
792 | DMA_RQ_C1_SOURCE_MOD64 + | 793 | DMA_RQ_C1_SOURCE_MOD64 + |
@@ -832,18 +833,18 @@ cs46xx_dsp_create_mix_to_ostream_scb(cs46xx_t * chip,char * scb_name, | |||
832 | } | 833 | } |
833 | 834 | ||
834 | 835 | ||
835 | dsp_scb_descriptor_t * | 836 | struct dsp_scb_descriptor * |
836 | cs46xx_dsp_create_vari_decimate_scb(cs46xx_t * chip,char * scb_name, | 837 | cs46xx_dsp_create_vari_decimate_scb(struct snd_cs46xx * chip,char * scb_name, |
837 | u16 vari_buffer_addr0, | 838 | u16 vari_buffer_addr0, |
838 | u16 vari_buffer_addr1, | 839 | u16 vari_buffer_addr1, |
839 | u32 dest, | 840 | u32 dest, |
840 | dsp_scb_descriptor_t * parent_scb, | 841 | struct dsp_scb_descriptor * parent_scb, |
841 | int scb_child_type) | 842 | int scb_child_type) |
842 | { | 843 | { |
843 | 844 | ||
844 | dsp_scb_descriptor_t * scb; | 845 | struct dsp_scb_descriptor * scb; |
845 | 846 | ||
846 | vari_decimate_scb_t vari_decimate_scb = { | 847 | struct dsp_vari_decimate_scb vari_decimate_scb = { |
847 | 0x0028,0x00c8, | 848 | 0x0028,0x00c8, |
848 | 0x5555,0x0000, | 849 | 0x5555,0x0000, |
849 | 0x0000,0x0000, | 850 | 0x0000,0x0000, |
@@ -876,17 +877,17 @@ cs46xx_dsp_create_vari_decimate_scb(cs46xx_t * chip,char * scb_name, | |||
876 | } | 877 | } |
877 | 878 | ||
878 | 879 | ||
879 | static dsp_scb_descriptor_t * | 880 | static struct dsp_scb_descriptor * |
880 | cs46xx_dsp_create_pcm_serial_input_scb(cs46xx_t * chip,char * scb_name,u32 dest, | 881 | cs46xx_dsp_create_pcm_serial_input_scb(struct snd_cs46xx * chip, char * scb_name, u32 dest, |
881 | dsp_scb_descriptor_t * input_scb, | 882 | struct dsp_scb_descriptor * input_scb, |
882 | dsp_scb_descriptor_t * parent_scb, | 883 | struct dsp_scb_descriptor * parent_scb, |
883 | int scb_child_type) | 884 | int scb_child_type) |
884 | { | 885 | { |
885 | 886 | ||
886 | dsp_scb_descriptor_t * scb; | 887 | struct dsp_scb_descriptor * scb; |
887 | 888 | ||
888 | 889 | ||
889 | pcm_serial_input_scb_t pcm_serial_input_scb = { | 890 | struct dsp_pcm_serial_input_scb pcm_serial_input_scb = { |
890 | { 0, | 891 | { 0, |
891 | 0, | 892 | 0, |
892 | 0, | 893 | 0, |
@@ -919,17 +920,17 @@ cs46xx_dsp_create_pcm_serial_input_scb(cs46xx_t * chip,char * scb_name,u32 dest, | |||
919 | } | 920 | } |
920 | 921 | ||
921 | 922 | ||
922 | static dsp_scb_descriptor_t * | 923 | static struct dsp_scb_descriptor * |
923 | cs46xx_dsp_create_asynch_fg_tx_scb(cs46xx_t * chip,char * scb_name,u32 dest, | 924 | cs46xx_dsp_create_asynch_fg_tx_scb(struct snd_cs46xx * chip, char * scb_name, u32 dest, |
924 | u16 hfg_scb_address, | 925 | u16 hfg_scb_address, |
925 | u16 asynch_buffer_address, | 926 | u16 asynch_buffer_address, |
926 | dsp_scb_descriptor_t * parent_scb, | 927 | struct dsp_scb_descriptor * parent_scb, |
927 | int scb_child_type) | 928 | int scb_child_type) |
928 | { | 929 | { |
929 | 930 | ||
930 | dsp_scb_descriptor_t * scb; | 931 | struct dsp_scb_descriptor * scb; |
931 | 932 | ||
932 | asynch_fg_tx_scb_t asynch_fg_tx_scb = { | 933 | struct dsp_asynch_fg_tx_scb asynch_fg_tx_scb = { |
933 | 0xfc00,0x03ff, /* Prototype sample buffer size of 256 dwords */ | 934 | 0xfc00,0x03ff, /* Prototype sample buffer size of 256 dwords */ |
934 | 0x0058,0x0028, /* Min Delta 7 dwords == 28 bytes */ | 935 | 0x0058,0x0028, /* Min Delta 7 dwords == 28 bytes */ |
935 | /* : Max delta 25 dwords == 100 bytes */ | 936 | /* : Max delta 25 dwords == 100 bytes */ |
@@ -966,17 +967,17 @@ cs46xx_dsp_create_asynch_fg_tx_scb(cs46xx_t * chip,char * scb_name,u32 dest, | |||
966 | } | 967 | } |
967 | 968 | ||
968 | 969 | ||
969 | dsp_scb_descriptor_t * | 970 | struct dsp_scb_descriptor * |
970 | cs46xx_dsp_create_asynch_fg_rx_scb(cs46xx_t * chip,char * scb_name,u32 dest, | 971 | cs46xx_dsp_create_asynch_fg_rx_scb(struct snd_cs46xx * chip, char * scb_name, u32 dest, |
971 | u16 hfg_scb_address, | 972 | u16 hfg_scb_address, |
972 | u16 asynch_buffer_address, | 973 | u16 asynch_buffer_address, |
973 | dsp_scb_descriptor_t * parent_scb, | 974 | struct dsp_scb_descriptor * parent_scb, |
974 | int scb_child_type) | 975 | int scb_child_type) |
975 | { | 976 | { |
976 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 977 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
977 | dsp_scb_descriptor_t * scb; | 978 | struct dsp_scb_descriptor * scb; |
978 | 979 | ||
979 | asynch_fg_rx_scb_t asynch_fg_rx_scb = { | 980 | struct dsp_asynch_fg_rx_scb asynch_fg_rx_scb = { |
980 | 0xfe00,0x01ff, /* Prototype sample buffer size of 128 dwords */ | 981 | 0xfe00,0x01ff, /* Prototype sample buffer size of 128 dwords */ |
981 | 0x0064,0x001c, /* Min Delta 7 dwords == 28 bytes */ | 982 | 0x0064,0x001c, /* Min Delta 7 dwords == 28 bytes */ |
982 | /* : Max delta 25 dwords == 100 bytes */ | 983 | /* : Max delta 25 dwords == 100 bytes */ |
@@ -1016,17 +1017,17 @@ cs46xx_dsp_create_asynch_fg_rx_scb(cs46xx_t * chip,char * scb_name,u32 dest, | |||
1016 | 1017 | ||
1017 | 1018 | ||
1018 | #if 0 /* not used */ | 1019 | #if 0 /* not used */ |
1019 | dsp_scb_descriptor_t * | 1020 | struct dsp_scb_descriptor * |
1020 | cs46xx_dsp_create_output_snoop_scb(cs46xx_t * chip,char * scb_name,u32 dest, | 1021 | cs46xx_dsp_create_output_snoop_scb(struct snd_cs46xx * chip, char * scb_name, u32 dest, |
1021 | u16 snoop_buffer_address, | 1022 | u16 snoop_buffer_address, |
1022 | dsp_scb_descriptor_t * snoop_scb, | 1023 | struct dsp_scb_descriptor * snoop_scb, |
1023 | dsp_scb_descriptor_t * parent_scb, | 1024 | struct dsp_scb_descriptor * parent_scb, |
1024 | int scb_child_type) | 1025 | int scb_child_type) |
1025 | { | 1026 | { |
1026 | 1027 | ||
1027 | dsp_scb_descriptor_t * scb; | 1028 | struct dsp_scb_descriptor * scb; |
1028 | 1029 | ||
1029 | output_snoop_scb_t output_snoop_scb = { | 1030 | struct dsp_output_snoop_scb output_snoop_scb = { |
1030 | { 0, /* not used. Zero */ | 1031 | { 0, /* not used. Zero */ |
1031 | 0, | 1032 | 0, |
1032 | 0, | 1033 | 0, |
@@ -1058,14 +1059,14 @@ cs46xx_dsp_create_output_snoop_scb(cs46xx_t * chip,char * scb_name,u32 dest, | |||
1058 | #endif /* not used */ | 1059 | #endif /* not used */ |
1059 | 1060 | ||
1060 | 1061 | ||
1061 | dsp_scb_descriptor_t * | 1062 | struct dsp_scb_descriptor * |
1062 | cs46xx_dsp_create_spio_write_scb(cs46xx_t * chip,char * scb_name,u32 dest, | 1063 | cs46xx_dsp_create_spio_write_scb(struct snd_cs46xx * chip, char * scb_name, u32 dest, |
1063 | dsp_scb_descriptor_t * parent_scb, | 1064 | struct dsp_scb_descriptor * parent_scb, |
1064 | int scb_child_type) | 1065 | int scb_child_type) |
1065 | { | 1066 | { |
1066 | dsp_scb_descriptor_t * scb; | 1067 | struct dsp_scb_descriptor * scb; |
1067 | 1068 | ||
1068 | spio_write_scb_t spio_write_scb = { | 1069 | struct dsp_spio_write_scb spio_write_scb = { |
1069 | 0,0, /* SPIOWAddress2:SPIOWAddress1; */ | 1070 | 0,0, /* SPIOWAddress2:SPIOWAddress1; */ |
1070 | 0, /* SPIOWData1; */ | 1071 | 0, /* SPIOWData1; */ |
1071 | 0, /* SPIOWData2; */ | 1072 | 0, /* SPIOWData2; */ |
@@ -1094,15 +1095,16 @@ cs46xx_dsp_create_spio_write_scb(cs46xx_t * chip,char * scb_name,u32 dest, | |||
1094 | return scb; | 1095 | return scb; |
1095 | } | 1096 | } |
1096 | 1097 | ||
1097 | dsp_scb_descriptor_t * cs46xx_dsp_create_magic_snoop_scb(cs46xx_t * chip,char * scb_name,u32 dest, | 1098 | struct dsp_scb_descriptor * |
1098 | u16 snoop_buffer_address, | 1099 | cs46xx_dsp_create_magic_snoop_scb(struct snd_cs46xx * chip, char * scb_name, u32 dest, |
1099 | dsp_scb_descriptor_t * snoop_scb, | 1100 | u16 snoop_buffer_address, |
1100 | dsp_scb_descriptor_t * parent_scb, | 1101 | struct dsp_scb_descriptor * snoop_scb, |
1101 | int scb_child_type) | 1102 | struct dsp_scb_descriptor * parent_scb, |
1103 | int scb_child_type) | ||
1102 | { | 1104 | { |
1103 | dsp_scb_descriptor_t * scb; | 1105 | struct dsp_scb_descriptor * scb; |
1104 | 1106 | ||
1105 | magic_snoop_task_t magic_snoop_scb = { | 1107 | struct dsp_magic_snoop_task magic_snoop_scb = { |
1106 | /* 0 */ 0, /* i0 */ | 1108 | /* 0 */ 0, /* i0 */ |
1107 | /* 1 */ 0, /* i1 */ | 1109 | /* 1 */ 0, /* i1 */ |
1108 | /* 2 */ snoop_buffer_address << 0x10, | 1110 | /* 2 */ snoop_buffer_address << 0x10, |
@@ -1129,10 +1131,11 @@ dsp_scb_descriptor_t * cs46xx_dsp_create_magic_snoop_scb(cs46xx_t * chip,char * | |||
1129 | return scb; | 1131 | return scb; |
1130 | } | 1132 | } |
1131 | 1133 | ||
1132 | static dsp_scb_descriptor_t * find_next_free_scb (cs46xx_t * chip,dsp_scb_descriptor_t * from) | 1134 | static struct dsp_scb_descriptor * |
1135 | find_next_free_scb (struct snd_cs46xx * chip, struct dsp_scb_descriptor * from) | ||
1133 | { | 1136 | { |
1134 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1137 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1135 | dsp_scb_descriptor_t * scb = from; | 1138 | struct dsp_scb_descriptor * scb = from; |
1136 | 1139 | ||
1137 | while (scb->next_scb_ptr != ins->the_null_scb) { | 1140 | while (scb->next_scb_ptr != ins->the_null_scb) { |
1138 | snd_assert (scb->next_scb_ptr != NULL, return NULL); | 1141 | snd_assert (scb->next_scb_ptr != NULL, return NULL); |
@@ -1212,18 +1215,19 @@ static u32 src_delay_buffer_addr[DSP_MAX_SRC_NR] = { | |||
1212 | 0x2B00 | 1215 | 0x2B00 |
1213 | }; | 1216 | }; |
1214 | 1217 | ||
1215 | pcm_channel_descriptor_t * cs46xx_dsp_create_pcm_channel (cs46xx_t * chip, | 1218 | struct dsp_pcm_channel_descriptor * |
1216 | u32 sample_rate, void * private_data, | 1219 | cs46xx_dsp_create_pcm_channel (struct snd_cs46xx * chip, |
1217 | u32 hw_dma_addr, | 1220 | u32 sample_rate, void * private_data, |
1218 | int pcm_channel_id) | 1221 | u32 hw_dma_addr, |
1222 | int pcm_channel_id) | ||
1219 | { | 1223 | { |
1220 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1224 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1221 | dsp_scb_descriptor_t * src_scb = NULL,* pcm_scb, * mixer_scb = NULL; | 1225 | struct dsp_scb_descriptor * src_scb = NULL, * pcm_scb, * mixer_scb = NULL; |
1222 | dsp_scb_descriptor_t * src_parent_scb = NULL; | 1226 | struct dsp_scb_descriptor * src_parent_scb = NULL; |
1223 | 1227 | ||
1224 | /* dsp_scb_descriptor_t * pcm_parent_scb; */ | 1228 | /* struct dsp_scb_descriptor * pcm_parent_scb; */ |
1225 | char scb_name[DSP_MAX_SCB_NAME]; | 1229 | char scb_name[DSP_MAX_SCB_NAME]; |
1226 | int i,pcm_index = -1, insert_point, src_index = -1,pass_through = 0; | 1230 | int i, pcm_index = -1, insert_point, src_index = -1, pass_through = 0; |
1227 | unsigned long flags; | 1231 | unsigned long flags; |
1228 | 1232 | ||
1229 | switch (pcm_channel_id) { | 1233 | switch (pcm_channel_id) { |
@@ -1371,8 +1375,8 @@ pcm_channel_descriptor_t * cs46xx_dsp_create_pcm_channel (cs46xx_t * chip, | |||
1371 | return (ins->pcm_channels + pcm_index); | 1375 | return (ins->pcm_channels + pcm_index); |
1372 | } | 1376 | } |
1373 | 1377 | ||
1374 | int cs46xx_dsp_pcm_channel_set_period (cs46xx_t * chip, | 1378 | int cs46xx_dsp_pcm_channel_set_period (struct snd_cs46xx * chip, |
1375 | pcm_channel_descriptor_t * pcm_channel, | 1379 | struct dsp_pcm_channel_descriptor * pcm_channel, |
1376 | int period_size) | 1380 | int period_size) |
1377 | { | 1381 | { |
1378 | u32 temp = snd_cs46xx_peek (chip,pcm_channel->pcm_reader_scb->address << 2); | 1382 | u32 temp = snd_cs46xx_peek (chip,pcm_channel->pcm_reader_scb->address << 2); |
@@ -1410,7 +1414,7 @@ int cs46xx_dsp_pcm_channel_set_period (cs46xx_t * chip, | |||
1410 | return 0; | 1414 | return 0; |
1411 | } | 1415 | } |
1412 | 1416 | ||
1413 | int cs46xx_dsp_pcm_ostream_set_period (cs46xx_t * chip, | 1417 | int cs46xx_dsp_pcm_ostream_set_period (struct snd_cs46xx * chip, |
1414 | int period_size) | 1418 | int period_size) |
1415 | { | 1419 | { |
1416 | u32 temp = snd_cs46xx_peek (chip,WRITEBACK_SCB_ADDR << 2); | 1420 | u32 temp = snd_cs46xx_peek (chip,WRITEBACK_SCB_ADDR << 2); |
@@ -1448,9 +1452,10 @@ int cs46xx_dsp_pcm_ostream_set_period (cs46xx_t * chip, | |||
1448 | return 0; | 1452 | return 0; |
1449 | } | 1453 | } |
1450 | 1454 | ||
1451 | void cs46xx_dsp_destroy_pcm_channel (cs46xx_t * chip,pcm_channel_descriptor_t * pcm_channel) | 1455 | void cs46xx_dsp_destroy_pcm_channel (struct snd_cs46xx * chip, |
1456 | struct dsp_pcm_channel_descriptor * pcm_channel) | ||
1452 | { | 1457 | { |
1453 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1458 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1454 | unsigned long flags; | 1459 | unsigned long flags; |
1455 | 1460 | ||
1456 | snd_assert(pcm_channel->active, return ); | 1461 | snd_assert(pcm_channel->active, return ); |
@@ -1478,9 +1483,10 @@ void cs46xx_dsp_destroy_pcm_channel (cs46xx_t * chip,pcm_channel_descriptor_t * | |||
1478 | } | 1483 | } |
1479 | } | 1484 | } |
1480 | 1485 | ||
1481 | int cs46xx_dsp_pcm_unlink (cs46xx_t * chip,pcm_channel_descriptor_t * pcm_channel) | 1486 | int cs46xx_dsp_pcm_unlink (struct snd_cs46xx * chip, |
1487 | struct dsp_pcm_channel_descriptor * pcm_channel) | ||
1482 | { | 1488 | { |
1483 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1489 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1484 | unsigned long flags; | 1490 | unsigned long flags; |
1485 | 1491 | ||
1486 | snd_assert(pcm_channel->active,return -EIO); | 1492 | snd_assert(pcm_channel->active,return -EIO); |
@@ -1503,11 +1509,12 @@ int cs46xx_dsp_pcm_unlink (cs46xx_t * chip,pcm_channel_descriptor_t * pcm_channe | |||
1503 | return 0; | 1509 | return 0; |
1504 | } | 1510 | } |
1505 | 1511 | ||
1506 | int cs46xx_dsp_pcm_link (cs46xx_t * chip,pcm_channel_descriptor_t * pcm_channel) | 1512 | int cs46xx_dsp_pcm_link (struct snd_cs46xx * chip, |
1513 | struct dsp_pcm_channel_descriptor * pcm_channel) | ||
1507 | { | 1514 | { |
1508 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1515 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1509 | dsp_scb_descriptor_t * parent_scb; | 1516 | struct dsp_scb_descriptor * parent_scb; |
1510 | dsp_scb_descriptor_t * src_scb = pcm_channel->src_scb; | 1517 | struct dsp_scb_descriptor * src_scb = pcm_channel->src_scb; |
1511 | unsigned long flags; | 1518 | unsigned long flags; |
1512 | 1519 | ||
1513 | spin_lock(&pcm_channel->src_scb->lock); | 1520 | spin_lock(&pcm_channel->src_scb->lock); |
@@ -1544,12 +1551,13 @@ int cs46xx_dsp_pcm_link (cs46xx_t * chip,pcm_channel_descriptor_t * pcm_channel) | |||
1544 | return 0; | 1551 | return 0; |
1545 | } | 1552 | } |
1546 | 1553 | ||
1547 | dsp_scb_descriptor_t * cs46xx_add_record_source (cs46xx_t *chip,dsp_scb_descriptor_t * source, | 1554 | struct dsp_scb_descriptor * |
1548 | u16 addr,char * scb_name) | 1555 | cs46xx_add_record_source (struct snd_cs46xx *chip, struct dsp_scb_descriptor * source, |
1556 | u16 addr, char * scb_name) | ||
1549 | { | 1557 | { |
1550 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1558 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1551 | dsp_scb_descriptor_t * parent; | 1559 | struct dsp_scb_descriptor * parent; |
1552 | dsp_scb_descriptor_t * pcm_input; | 1560 | struct dsp_scb_descriptor * pcm_input; |
1553 | int insert_point; | 1561 | int insert_point; |
1554 | 1562 | ||
1555 | snd_assert (ins->record_mixer_scb != NULL,return NULL); | 1563 | snd_assert (ins->record_mixer_scb != NULL,return NULL); |
@@ -1569,7 +1577,7 @@ dsp_scb_descriptor_t * cs46xx_add_record_source (cs46xx_t *chip,dsp_scb_descript | |||
1569 | return pcm_input; | 1577 | return pcm_input; |
1570 | } | 1578 | } |
1571 | 1579 | ||
1572 | int cs46xx_src_unlink(cs46xx_t *chip,dsp_scb_descriptor_t * src) | 1580 | int cs46xx_src_unlink(struct snd_cs46xx *chip, struct dsp_scb_descriptor * src) |
1573 | { | 1581 | { |
1574 | snd_assert (src->parent_scb_ptr != NULL, return -EINVAL ); | 1582 | snd_assert (src->parent_scb_ptr != NULL, return -EINVAL ); |
1575 | 1583 | ||
@@ -1581,10 +1589,10 @@ int cs46xx_src_unlink(cs46xx_t *chip,dsp_scb_descriptor_t * src) | |||
1581 | return 0; | 1589 | return 0; |
1582 | } | 1590 | } |
1583 | 1591 | ||
1584 | int cs46xx_src_link(cs46xx_t *chip,dsp_scb_descriptor_t * src) | 1592 | int cs46xx_src_link(struct snd_cs46xx *chip, struct dsp_scb_descriptor * src) |
1585 | { | 1593 | { |
1586 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1594 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1587 | dsp_scb_descriptor_t * parent_scb; | 1595 | struct dsp_scb_descriptor * parent_scb; |
1588 | 1596 | ||
1589 | snd_assert (src->parent_scb_ptr == NULL, return -EINVAL ); | 1597 | snd_assert (src->parent_scb_ptr == NULL, return -EINVAL ); |
1590 | snd_assert(ins->master_mix_scb !=NULL, return -EINVAL ); | 1598 | snd_assert(ins->master_mix_scb !=NULL, return -EINVAL ); |
@@ -1605,9 +1613,9 @@ int cs46xx_src_link(cs46xx_t *chip,dsp_scb_descriptor_t * src) | |||
1605 | return 0; | 1613 | return 0; |
1606 | } | 1614 | } |
1607 | 1615 | ||
1608 | int cs46xx_dsp_enable_spdif_out (cs46xx_t *chip) | 1616 | int cs46xx_dsp_enable_spdif_out (struct snd_cs46xx *chip) |
1609 | { | 1617 | { |
1610 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1618 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1611 | 1619 | ||
1612 | if ( ! (ins->spdif_status_out & DSP_SPDIF_STATUS_HW_ENABLED) ) { | 1620 | if ( ! (ins->spdif_status_out & DSP_SPDIF_STATUS_HW_ENABLED) ) { |
1613 | cs46xx_dsp_enable_spdif_hw (chip); | 1621 | cs46xx_dsp_enable_spdif_hw (chip); |
@@ -1653,9 +1661,9 @@ int cs46xx_dsp_enable_spdif_out (cs46xx_t *chip) | |||
1653 | return 0; | 1661 | return 0; |
1654 | } | 1662 | } |
1655 | 1663 | ||
1656 | int cs46xx_dsp_disable_spdif_out (cs46xx_t *chip) | 1664 | int cs46xx_dsp_disable_spdif_out (struct snd_cs46xx *chip) |
1657 | { | 1665 | { |
1658 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1666 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1659 | 1667 | ||
1660 | /* dont touch anything if SPDIF is open */ | 1668 | /* dont touch anything if SPDIF is open */ |
1661 | if ( ins->spdif_status_out & DSP_SPDIF_STATUS_PLAYBACK_OPEN) { | 1669 | if ( ins->spdif_status_out & DSP_SPDIF_STATUS_PLAYBACK_OPEN) { |
@@ -1685,9 +1693,9 @@ int cs46xx_dsp_disable_spdif_out (cs46xx_t *chip) | |||
1685 | return 0; | 1693 | return 0; |
1686 | } | 1694 | } |
1687 | 1695 | ||
1688 | int cs46xx_iec958_pre_open (cs46xx_t *chip) | 1696 | int cs46xx_iec958_pre_open (struct snd_cs46xx *chip) |
1689 | { | 1697 | { |
1690 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1698 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1691 | 1699 | ||
1692 | if ( ins->spdif_status_out & DSP_SPDIF_STATUS_OUTPUT_ENABLED ) { | 1700 | if ( ins->spdif_status_out & DSP_SPDIF_STATUS_OUTPUT_ENABLED ) { |
1693 | /* remove AsynchFGTxSCB and and PCMSerialInput_II */ | 1701 | /* remove AsynchFGTxSCB and and PCMSerialInput_II */ |
@@ -1718,9 +1726,9 @@ int cs46xx_iec958_pre_open (cs46xx_t *chip) | |||
1718 | return 0; | 1726 | return 0; |
1719 | } | 1727 | } |
1720 | 1728 | ||
1721 | int cs46xx_iec958_post_close (cs46xx_t *chip) | 1729 | int cs46xx_iec958_post_close (struct snd_cs46xx *chip) |
1722 | { | 1730 | { |
1723 | dsp_spos_instance_t * ins = chip->dsp_spos_instance; | 1731 | struct dsp_spos_instance * ins = chip->dsp_spos_instance; |
1724 | 1732 | ||
1725 | snd_assert (ins->asynch_tx_scb != NULL, return -EINVAL); | 1733 | snd_assert (ins->asynch_tx_scb != NULL, return -EINVAL); |
1726 | 1734 | ||
diff --git a/sound/pci/cs46xx/imgs/cwc4630.h b/sound/pci/cs46xx/imgs/cwc4630.h index 8bed07f9996e..37c4f1318dc5 100644 --- a/sound/pci/cs46xx/imgs/cwc4630.h +++ b/sound/pci/cs46xx/imgs/cwc4630.h | |||
@@ -3,7 +3,7 @@ | |||
3 | #ifndef __HEADER_cwc4630_H__ | 3 | #ifndef __HEADER_cwc4630_H__ |
4 | #define __HEADER_cwc4630_H__ | 4 | #define __HEADER_cwc4630_H__ |
5 | 5 | ||
6 | static symbol_entry_t cwc4630_symbols[] = { | 6 | static struct dsp_symbol_entry cwc4630_symbols[] = { |
7 | { 0x0000, "BEGINADDRESS",0x00 }, | 7 | { 0x0000, "BEGINADDRESS",0x00 }, |
8 | { 0x8000, "EXECCHILD",0x03 }, | 8 | { 0x8000, "EXECCHILD",0x03 }, |
9 | { 0x8001, "EXECCHILD_98",0x03 }, | 9 | { 0x8001, "EXECCHILD_98",0x03 }, |
@@ -302,12 +302,12 @@ static u32 cwc4630_parameter[] = { | |||
302 | }; /* #PARAMETER_END */ | 302 | }; /* #PARAMETER_END */ |
303 | 303 | ||
304 | 304 | ||
305 | static segment_desc_t cwc4630_segments[] = { | 305 | static struct dsp_segment_desc cwc4630_segments[] = { |
306 | { SEGTYPE_SP_PROGRAM, 0x00000000, 0x00000328, cwc4630_code }, | 306 | { SEGTYPE_SP_PROGRAM, 0x00000000, 0x00000328, cwc4630_code }, |
307 | { SEGTYPE_SP_PARAMETER, 0x00000000, 0x00000080, cwc4630_parameter }, | 307 | { SEGTYPE_SP_PARAMETER, 0x00000000, 0x00000080, cwc4630_parameter }, |
308 | }; | 308 | }; |
309 | 309 | ||
310 | static dsp_module_desc_t cwc4630_module = { | 310 | static struct dsp_module_desc cwc4630_module = { |
311 | "cwc4630", | 311 | "cwc4630", |
312 | { | 312 | { |
313 | 38, | 313 | 38, |
diff --git a/sound/pci/cs46xx/imgs/cwcasync.h b/sound/pci/cs46xx/imgs/cwcasync.h index e01a7b66c4ff..70e63e13c2b3 100644 --- a/sound/pci/cs46xx/imgs/cwcasync.h +++ b/sound/pci/cs46xx/imgs/cwcasync.h | |||
@@ -3,7 +3,7 @@ | |||
3 | #ifndef __HEADER_cwcasync_H__ | 3 | #ifndef __HEADER_cwcasync_H__ |
4 | #define __HEADER_cwcasync_H__ | 4 | #define __HEADER_cwcasync_H__ |
5 | 5 | ||
6 | static symbol_entry_t cwcasync_symbols[] = { | 6 | static struct dsp_symbol_entry cwcasync_symbols[] = { |
7 | { 0x8000, "EXECCHILD",0x03 }, | 7 | { 0x8000, "EXECCHILD",0x03 }, |
8 | { 0x8001, "EXECCHILD_98",0x03 }, | 8 | { 0x8001, "EXECCHILD_98",0x03 }, |
9 | { 0x8003, "EXECCHILD_PUSH1IND",0x03 }, | 9 | { 0x8003, "EXECCHILD_PUSH1IND",0x03 }, |
@@ -159,11 +159,11 @@ static u32 cwcasync_code[] = { | |||
159 | }; | 159 | }; |
160 | /* #CODE_END */ | 160 | /* #CODE_END */ |
161 | 161 | ||
162 | static segment_desc_t cwcasync_segments[] = { | 162 | static struct dsp_segment_desc cwcasync_segments[] = { |
163 | { SEGTYPE_SP_PROGRAM, 0x00000000, 0x000001b6, cwcasync_code }, | 163 | { SEGTYPE_SP_PROGRAM, 0x00000000, 0x000001b6, cwcasync_code }, |
164 | }; | 164 | }; |
165 | 165 | ||
166 | static dsp_module_desc_t cwcasync_module = { | 166 | static struct dsp_module_desc cwcasync_module = { |
167 | "cwcasync", | 167 | "cwcasync", |
168 | { | 168 | { |
169 | 32, | 169 | 32, |
diff --git a/sound/pci/cs46xx/imgs/cwcbinhack.h b/sound/pci/cs46xx/imgs/cwcbinhack.h index 436b38bd246c..f4d93689cd49 100644 --- a/sound/pci/cs46xx/imgs/cwcbinhack.h +++ b/sound/pci/cs46xx/imgs/cwcbinhack.h | |||
@@ -4,7 +4,7 @@ | |||
4 | #ifndef __HEADER_cwcbinhack_H__ | 4 | #ifndef __HEADER_cwcbinhack_H__ |
5 | #define __HEADER_cwcbinhack_H__ | 5 | #define __HEADER_cwcbinhack_H__ |
6 | 6 | ||
7 | static symbol_entry_t cwcbinhack_symbols[] = { | 7 | static struct dsp_symbol_entry cwcbinhack_symbols[] = { |
8 | { 0x02c8, "OVERLAYBEGINADDRESS",0x00 }, | 8 | { 0x02c8, "OVERLAYBEGINADDRESS",0x00 }, |
9 | { 0x02c8, "MAGICSNOOPTASK",0x03 }, | 9 | { 0x02c8, "MAGICSNOOPTASK",0x03 }, |
10 | { 0x0308, "#CODE_END",0x00 }, | 10 | { 0x0308, "#CODE_END",0x00 }, |
@@ -31,11 +31,11 @@ static u32 cwcbinhack_code[] = { | |||
31 | }; | 31 | }; |
32 | /* #CODE_END */ | 32 | /* #CODE_END */ |
33 | 33 | ||
34 | static segment_desc_t cwcbinhack_segments[] = { | 34 | static struct dsp_segment_desc cwcbinhack_segments[] = { |
35 | { SEGTYPE_SP_PROGRAM, 0x00000000, 64, cwcbinhack_code }, | 35 | { SEGTYPE_SP_PROGRAM, 0x00000000, 64, cwcbinhack_code }, |
36 | }; | 36 | }; |
37 | 37 | ||
38 | static dsp_module_desc_t cwcbinhack_module = { | 38 | static struct dsp_module_desc cwcbinhack_module = { |
39 | "cwcbinhack", | 39 | "cwcbinhack", |
40 | { | 40 | { |
41 | 3, | 41 | 3, |
diff --git a/sound/pci/cs46xx/imgs/cwcdma.h b/sound/pci/cs46xx/imgs/cwcdma.h index 92860435beed..7ff0d4587161 100644 --- a/sound/pci/cs46xx/imgs/cwcdma.h +++ b/sound/pci/cs46xx/imgs/cwcdma.h | |||
@@ -3,7 +3,7 @@ | |||
3 | #ifndef __HEADER_cwcdma_H__ | 3 | #ifndef __HEADER_cwcdma_H__ |
4 | #define __HEADER_cwcdma_H__ | 4 | #define __HEADER_cwcdma_H__ |
5 | 5 | ||
6 | static symbol_entry_t cwcdma_symbols[] = { | 6 | static struct dsp_symbol_entry cwcdma_symbols[] = { |
7 | { 0x8000, "EXECCHILD",0x03 }, | 7 | { 0x8000, "EXECCHILD",0x03 }, |
8 | { 0x8001, "EXECCHILD_98",0x03 }, | 8 | { 0x8001, "EXECCHILD_98",0x03 }, |
9 | { 0x8003, "EXECCHILD_PUSH1IND",0x03 }, | 9 | { 0x8003, "EXECCHILD_PUSH1IND",0x03 }, |
@@ -51,11 +51,11 @@ static u32 cwcdma_code[] = { | |||
51 | 51 | ||
52 | /* #CODE_END */ | 52 | /* #CODE_END */ |
53 | 53 | ||
54 | static segment_desc_t cwcdma_segments[] = { | 54 | static struct dsp_segment_desc cwcdma_segments[] = { |
55 | { SEGTYPE_SP_PROGRAM, 0x00000000, 0x00000030, cwcdma_code }, | 55 | { SEGTYPE_SP_PROGRAM, 0x00000000, 0x00000030, cwcdma_code }, |
56 | }; | 56 | }; |
57 | 57 | ||
58 | static dsp_module_desc_t cwcdma_module = { | 58 | static struct dsp_module_desc cwcdma_module = { |
59 | "cwcdma", | 59 | "cwcdma", |
60 | { | 60 | { |
61 | 27, | 61 | 27, |
diff --git a/sound/pci/cs46xx/imgs/cwcemb80.h b/sound/pci/cs46xx/imgs/cwcemb80.h index 4b13551eae41..a64c6ff9983a 100644 --- a/sound/pci/cs46xx/imgs/cwcemb80.h +++ b/sound/pci/cs46xx/imgs/cwcemb80.h | |||
@@ -3,7 +3,7 @@ | |||
3 | #ifndef __HEADER_cwcemb80_H__ | 3 | #ifndef __HEADER_cwcemb80_H__ |
4 | #define __HEADER_cwcemb80_H__ | 4 | #define __HEADER_cwcemb80_H__ |
5 | 5 | ||
6 | static symbol_entry_t cwcemb80_symbols[] = { | 6 | static struct dsp_symbol_entry cwcemb80_symbols[] = { |
7 | { 0x0000, "BEGINADDRESS",0x00 }, | 7 | { 0x0000, "BEGINADDRESS",0x00 }, |
8 | { 0x8000, "EXECCHILD",0x03 }, | 8 | { 0x8000, "EXECCHILD",0x03 }, |
9 | { 0x8001, "EXECCHILD_98",0x03 }, | 9 | { 0x8001, "EXECCHILD_98",0x03 }, |
@@ -1588,13 +1588,13 @@ static u32 cwcemb80_sample[] = { | |||
1588 | }; /* #SAMPLE_END */ | 1588 | }; /* #SAMPLE_END */ |
1589 | 1589 | ||
1590 | 1590 | ||
1591 | static segment_desc_t cwcemb80_segments[] = { | 1591 | static struct dsp_segment_desc cwcemb80_segments[] = { |
1592 | { SEGTYPE_SP_PROGRAM, 0x00000000, 0x0000031c, cwcemb80_code }, | 1592 | { SEGTYPE_SP_PROGRAM, 0x00000000, 0x0000031c, cwcemb80_code }, |
1593 | { SEGTYPE_SP_PARAMETER, 0x00000000, 0x00000697, cwcemb80_parameter }, | 1593 | { SEGTYPE_SP_PARAMETER, 0x00000000, 0x00000697, cwcemb80_parameter }, |
1594 | { SEGTYPE_SP_SAMPLE, 0x00000000, 0x00000e00, cwcemb80_sample }, | 1594 | { SEGTYPE_SP_SAMPLE, 0x00000000, 0x00000e00, cwcemb80_sample }, |
1595 | }; | 1595 | }; |
1596 | 1596 | ||
1597 | static dsp_module_desc_t cwcemb80_module = { | 1597 | static struct dsp_module_desc cwcemb80_module = { |
1598 | "cwcemb80", | 1598 | "cwcemb80", |
1599 | { | 1599 | { |
1600 | 38, | 1600 | 38, |
diff --git a/sound/pci/cs46xx/imgs/cwcsnoop.h b/sound/pci/cs46xx/imgs/cwcsnoop.h index be1162bbcb45..6929d0a5a3f3 100644 --- a/sound/pci/cs46xx/imgs/cwcsnoop.h +++ b/sound/pci/cs46xx/imgs/cwcsnoop.h | |||
@@ -3,7 +3,7 @@ | |||
3 | #ifndef __HEADER_cwcsnoop_H__ | 3 | #ifndef __HEADER_cwcsnoop_H__ |
4 | #define __HEADER_cwcsnoop_H__ | 4 | #define __HEADER_cwcsnoop_H__ |
5 | 5 | ||
6 | static symbol_entry_t cwcsnoop_symbols[] = { | 6 | static struct dsp_symbol_entry cwcsnoop_symbols[] = { |
7 | { 0x0500, "OVERLAYBEGINADDRESS",0x00 }, | 7 | { 0x0500, "OVERLAYBEGINADDRESS",0x00 }, |
8 | { 0x0500, "OUTPUTSNOOP",0x03 }, | 8 | { 0x0500, "OUTPUTSNOOP",0x03 }, |
9 | { 0x051f, "#CODE_END",0x00 }, | 9 | { 0x051f, "#CODE_END",0x00 }, |
@@ -29,11 +29,11 @@ static u32 cwcsnoop_code[] = { | |||
29 | }; | 29 | }; |
30 | /* #CODE_END */ | 30 | /* #CODE_END */ |
31 | 31 | ||
32 | static segment_desc_t cwcsnoop_segments[] = { | 32 | static struct dsp_segment_desc cwcsnoop_segments[] = { |
33 | { SEGTYPE_SP_PROGRAM, 0x00000000, 0x0000003e, cwcsnoop_code }, | 33 | { SEGTYPE_SP_PROGRAM, 0x00000000, 0x0000003e, cwcsnoop_code }, |
34 | }; | 34 | }; |
35 | 35 | ||
36 | static dsp_module_desc_t cwcsnoop_module = { | 36 | static struct dsp_module_desc cwcsnoop_module = { |
37 | "cwcsnoop", | 37 | "cwcsnoop", |
38 | { | 38 | { |
39 | 3, | 39 | 3, |