diff options
author | Eliot Blennerhassett <eblennerhassett@audioscience.com> | 2011-12-21 19:38:47 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-12-22 02:13:08 -0500 |
commit | 4e225e2649660af1510aa06f20b32e1dcc45545e (patch) | |
tree | e6557c4e1b640cf0d8fa9e4359275c56413a5f68 /sound | |
parent | 812550e9efd149062fdc6cc8bf00b5f15d0734b7 (diff) |
ALSA: asihpi - Distinguish four different emif init errors.
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/asihpi/hpi6205.c | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/sound/pci/asihpi/hpi6205.c b/sound/pci/asihpi/hpi6205.c index e3d0f55ad6c4..4f2873880b16 100644 --- a/sound/pci/asihpi/hpi6205.c +++ b/sound/pci/asihpi/hpi6205.c | |||
@@ -45,18 +45,21 @@ | |||
45 | #define HPI6205_ERROR_MSG_RESP_TIMEOUT 1016 | 45 | #define HPI6205_ERROR_MSG_RESP_TIMEOUT 1016 |
46 | 46 | ||
47 | /* initialization/bootload errors */ | 47 | /* initialization/bootload errors */ |
48 | #define HPI6205_ERROR_6205_NO_IRQ 1002 | 48 | #define HPI6205_ERROR_6205_NO_IRQ 1002 |
49 | #define HPI6205_ERROR_6205_INIT_FAILED 1003 | 49 | #define HPI6205_ERROR_6205_INIT_FAILED 1003 |
50 | #define HPI6205_ERROR_6205_REG 1006 | 50 | #define HPI6205_ERROR_6205_REG 1006 |
51 | #define HPI6205_ERROR_6205_DSPPAGE 1007 | 51 | #define HPI6205_ERROR_6205_DSPPAGE 1007 |
52 | #define HPI6205_ERROR_C6713_HPIC 1009 | 52 | #define HPI6205_ERROR_C6713_HPIC 1009 |
53 | #define HPI6205_ERROR_C6713_HPIA 1010 | 53 | #define HPI6205_ERROR_C6713_HPIA 1010 |
54 | #define HPI6205_ERROR_C6713_PLL 1011 | 54 | #define HPI6205_ERROR_C6713_PLL 1011 |
55 | #define HPI6205_ERROR_DSP_INTMEM 1012 | 55 | #define HPI6205_ERROR_DSP_INTMEM 1012 |
56 | #define HPI6205_ERROR_DSP_EXTMEM 1013 | 56 | #define HPI6205_ERROR_DSP_EXTMEM 1013 |
57 | #define HPI6205_ERROR_DSP_PLD 1014 | 57 | #define HPI6205_ERROR_DSP_PLD 1014 |
58 | #define HPI6205_ERROR_6205_EEPROM 1017 | 58 | #define HPI6205_ERROR_6205_EEPROM 1017 |
59 | #define HPI6205_ERROR_DSP_EMIF 1018 | 59 | #define HPI6205_ERROR_DSP_EMIF1 1018 |
60 | #define HPI6205_ERROR_DSP_EMIF2 1019 | ||
61 | #define HPI6205_ERROR_DSP_EMIF3 1020 | ||
62 | #define HPI6205_ERROR_DSP_EMIF4 1021 | ||
60 | 63 | ||
61 | /*****************************************************************************/ | 64 | /*****************************************************************************/ |
62 | /* for C6205 PCI i/f */ | 65 | /* for C6205 PCI i/f */ |
@@ -1612,7 +1615,7 @@ static u16 boot_loader_config_emif(struct hpi_adapter_obj *pao, int dsp_index) | |||
1612 | boot_loader_write_mem32(pao, dsp_index, 0x01800008, setting); | 1615 | boot_loader_write_mem32(pao, dsp_index, 0x01800008, setting); |
1613 | if (setting != boot_loader_read_mem32(pao, dsp_index, | 1616 | if (setting != boot_loader_read_mem32(pao, dsp_index, |
1614 | 0x01800008)) | 1617 | 0x01800008)) |
1615 | return HPI6205_ERROR_DSP_EMIF; | 1618 | return HPI6205_ERROR_DSP_EMIF1; |
1616 | 1619 | ||
1617 | /* EMIF CE1 setup - 32 bit async. This is 6713 #1 HPI, */ | 1620 | /* EMIF CE1 setup - 32 bit async. This is 6713 #1 HPI, */ |
1618 | /* which occupies D15..0. 6713 starts at 27MHz, so need */ | 1621 | /* which occupies D15..0. 6713 starts at 27MHz, so need */ |
@@ -1625,7 +1628,7 @@ static u16 boot_loader_config_emif(struct hpi_adapter_obj *pao, int dsp_index) | |||
1625 | boot_loader_write_mem32(pao, dsp_index, 0x01800004, setting); | 1628 | boot_loader_write_mem32(pao, dsp_index, 0x01800004, setting); |
1626 | if (setting != boot_loader_read_mem32(pao, dsp_index, | 1629 | if (setting != boot_loader_read_mem32(pao, dsp_index, |
1627 | 0x01800004)) | 1630 | 0x01800004)) |
1628 | return HPI6205_ERROR_DSP_EMIF; | 1631 | return HPI6205_ERROR_DSP_EMIF2; |
1629 | 1632 | ||
1630 | /* EMIF CE2 setup - 32 bit async. This is 6713 #2 HPI, */ | 1633 | /* EMIF CE2 setup - 32 bit async. This is 6713 #2 HPI, */ |
1631 | /* which occupies D15..0. 6713 starts at 27MHz, so need */ | 1634 | /* which occupies D15..0. 6713 starts at 27MHz, so need */ |
@@ -1637,7 +1640,7 @@ static u16 boot_loader_config_emif(struct hpi_adapter_obj *pao, int dsp_index) | |||
1637 | boot_loader_write_mem32(pao, dsp_index, 0x01800010, setting); | 1640 | boot_loader_write_mem32(pao, dsp_index, 0x01800010, setting); |
1638 | if (setting != boot_loader_read_mem32(pao, dsp_index, | 1641 | if (setting != boot_loader_read_mem32(pao, dsp_index, |
1639 | 0x01800010)) | 1642 | 0x01800010)) |
1640 | return HPI6205_ERROR_DSP_EMIF; | 1643 | return HPI6205_ERROR_DSP_EMIF3; |
1641 | 1644 | ||
1642 | /* EMIF CE3 setup - 32 bit async. */ | 1645 | /* EMIF CE3 setup - 32 bit async. */ |
1643 | /* This is the PLD on the ASI5000 cards only */ | 1646 | /* This is the PLD on the ASI5000 cards only */ |
@@ -1648,7 +1651,7 @@ static u16 boot_loader_config_emif(struct hpi_adapter_obj *pao, int dsp_index) | |||
1648 | boot_loader_write_mem32(pao, dsp_index, 0x01800014, setting); | 1651 | boot_loader_write_mem32(pao, dsp_index, 0x01800014, setting); |
1649 | if (setting != boot_loader_read_mem32(pao, dsp_index, | 1652 | if (setting != boot_loader_read_mem32(pao, dsp_index, |
1650 | 0x01800014)) | 1653 | 0x01800014)) |
1651 | return HPI6205_ERROR_DSP_EMIF; | 1654 | return HPI6205_ERROR_DSP_EMIF4; |
1652 | 1655 | ||
1653 | /* set EMIF SDRAM control for 2Mx32 SDRAM (512x32x4 bank) */ | 1656 | /* set EMIF SDRAM control for 2Mx32 SDRAM (512x32x4 bank) */ |
1654 | /* need to use this else DSP code crashes? */ | 1657 | /* need to use this else DSP code crashes? */ |