Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
a292f404
Commit
a292f404
authored
May 29, 2008
by
David Woodhouse
Committed by
David Woodhouse
Jul 10, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
firmware: convert maestro3 driver to use firmware loader exclusively
Signed-off-by:
David Woodhouse
<
dwmw2@infradead.org
>
parent
76770664
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
187 additions
and
181 deletions
+187
-181
firmware/Makefile
firmware/Makefile
+2
-0
firmware/WHENCE
firmware/WHENCE
+14
-0
firmware/ess/maestro3_assp_kernel.fw.ihex
firmware/ess/maestro3_assp_kernel.fw.ihex
+120
-0
firmware/ess/maestro3_assp_minisrc.fw.ihex
firmware/ess/maestro3_assp_minisrc.fw.ihex
+51
-0
sound/pci/Kconfig
sound/pci/Kconfig
+0
-10
sound/pci/maestro3.c
sound/pci/maestro3.c
+0
-171
No files found.
firmware/Makefile
View file @
a292f404
...
...
@@ -21,6 +21,8 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE))
# But be aware that the config file might not be included at all.
fw-shipped-$(CONFIG_SND_KORG1212)
+=
korg/k1212.dsp
fw-shipped-$(CONFIG_SND_MAESTRO3)
+=
ess/maestro3_assp_kernel.fw
\
ess/maestro3_assp_minisrc.fw
fw-shipped-all
:=
$
(
fw-shipped-y
)
$
(
fw-shipped-m
)
$
(
fw-shipped-
)
...
...
firmware/WHENCE
View file @
a292f404
...
...
@@ -17,3 +17,17 @@ Licence: Unknown
Found in alsa-firmware package in hex form; no licensing information.
--------------------------------------------------------------------------
Driver: maestro3 -- ESS Allegro Maestro3 audio device
File: ess/maestro3_assp_kernel.fw
File: ess/maestro3_assp_minisrc.fw
Licence: Unknown
Found in alsa-firmware package in hex form with a comment claiming to
be GPLv2+, but without source -- and with another comment saying "ESS
drops binary dsp code images on our heads, but we don't get to see
specs on the dsp."
--------------------------------------------------------------------------
firmware/ess/maestro3_assp_kernel.fw.ihex
0 → 100644
View file @
a292f404
:10000000807930008079B4038079B4038079FB0073
:100010008079DD008079B4038079320380798702AA
:100020008079B4038079B4038079B4038079B40310
:1000300080791A038079B40380792F028079B40320
:100040008079B4038079B4038079B4038079B403F0
:100050008079630080796B008079B4038079B40380
:1000600080BF7C2C0688048840BE20BC09AE0010EE
:100070000AAE0100386908EB53005A6908EBD60054
:100080000900888B806988E3360030BE20BC09698E
:1000900001B8099041BE41BE286988EB780041BE95
:1000A00040BE8079380041BE41BE3A90386908E3CD
:1000B00056003A9041BE40BE00EF3A90396908E3DD
:1000C0005E003A9000EF0B690C668CEF0A690C66D3
:1000D0000B62096600EF10690F6604EF88E3750094
:1000E0000E690F6610620D6600EF0E690D6600EF77
:1000F00070AE010020BC27AE0100396908EB5D003D
:10010000266901B826902600888B806988E3CB0099
:100110002890280D114200E17A00114700E1A0006B
:10012000807A630011B80A66096204E37A000B0C56
:1001300005400A1001BA1290120C02408079AF00FB
:10014000807A6B0002BE0E620D6610BA44E37A003C
:10015000100C05400E1001BA1290120C0240031050
:1001600002BA1290120C0040031088E3BA00041087
:100170008079BC00041001BA1290120C0140050CE9
:100180000340060C04401110B0BFFF011290120C86
:10019000064020BC00EF26AE28107069D0BF0100D9
:1001A000709088E37A0028AE000000EF70AE000384
:1001B000700C0CB05AAE000000EF807A8A037F69A1
:1001C00001B87F905600888BA00C08B071AF00B0CA
:1001D000714E00E2F30056AE57105600A00C08B066
:1001E00056808079A1031008A0BF591004E3A10331
:1001F00056808079A103807A8A0301BF43BE59BE2D
:100200007C90376988E30D0101BA08E30C0171AEF7
:100210000400710C0050366937900ABF9E108A8B1B
:1002200080AF1480804C0ABF600500F50ABF20052E
:1002300000B917BBA090176988E34801170D00E1CA
:1002400027010CBF78050DBF7C0580792B010CBF01
:1002500038050DBF3C05006908E335018C8B59BE9C
:1002600007BBA09020BC807957010C038B8B03B98E
:100270000988C6BE3E01AC69AB90AD69AB9013086E
:100280000A6644E3440109030C8320BC80795701CA
:10029000556988E35701387C0BBF780500F50BBF23
:1002A000380507B90988C6BE5601AB10AA90746913
:1002B00088E3630172AE400500F572AE000561AEE1
:1002C0003B10807AF602786988E382018C8B0CBF40
:1002D000600500E5407C140820BA12883D73807ADE
:1002E00080033E73807A80038C8B0CBF6C0500E525
:1002F000407C14082CBA12883F73807A80034073C4
:10030000807A8003756988E38E0172AE480500F536
:1003100072AE080561AE4110807AF602796988E311
:10032000AD018C8B0CBF600500E5407C140818BA49
:1003300012884373807A80034473807A80038C8BA5
:100340000CBF6C0500E5407C140824BA1288457384
:10035000807A80034673807A8003766988E3B901E6
:1003600072AE580500F572AE180561AE4710807A7E
:10037000F6027A6988E3D8018C8B0CBF600500E532
:10038000407C140808BA12884973807A80034A7343
:10039000807A80038C8B0CBF6C0500E5407C1408D0
:1003A00014BA12884B73807A80034C73807A80036E
:1003B00021BC1CAE90108A8B0ABF600500E5407C12
:1003C000120804B813888D8B0DBF6C0500E5407CC6
:1003D000150804B81188807A4A038A8B0ABF600521
:1003E00000E5407C1F7303B90988C6BEF9018A5431
:1003F00003BEA098207303B90988C6BE01028A54BF
:1004000003BEA098201F1F2F269820BC356988E3C3
:10041000A103336901B83390A0BFEE0208E3A10342
:10042000339000BF516988E31F02347380BE605768
:1004300003BE7E9F59BE34907E69510D139020BC3F
:100440005C6988E3A1035E7380BE605703BE7E9F34
:1004500059BE5E907E695C0D13908079A103807A0D
:100460008A0301BF43BE776988E34E0261AE4D1037
:100470006100888B806988E34E027190710D0B00DA
:10048000A0AF1080A0AF108010080A6608E34902F0
:10049000090010080C6688E34E020B8020BC7B69C3
:1004A00088E3A1030ABF9E108A8B80AF1480804C22
:1004B00000E166027C6990BF6005729072037C69FE
:1004C00090BF640573907304807970027C6990BF5B
:1004D0002005729072037C6990BF240573907304A9
:1004E0007C6901B87C900ABFFD108A8B80AF1080B8
:1004F0004F738A5403BE809821BC26738B5403BE6D
:100500008B618C9803BE806180988079A103807A8A
:100510008A03280D114700E1BE0212AF064012699E
:10052000B0BF000C88E3B602A0BF000888E3B202A7
:100530001269B0BF000CA0BF000488E3A3020969E0
:100540000B908079A5020BAF054001690590026907
:100550000690114300E1ED021169C0BF0020119027
:100560008079ED0209690B908079B8020BAF0540E4
:1005700005AF034006AF04408079ED0212AF06409C
:100580001269B0BF000C88E3E702A0BF000888E34F
:10059000E3021269B0BF000CA0BF000488E3D402DC
:1005A0000D6910908079D60210AF05400169059061
:1005B00002690690114300E1ED021169C0BF0020FD
:1005C00011908079ED020D6910908079E90210AFE9
:1005D000054005AF034006AF044020BC7069719030
:1005E000807A7800716970908079A10320BC6103E2
:1005F0008B8B806988EF7202720304787190710DA1
:100600008A8B0B0003B90988C6BE0903A869AB90A1
:10061000A869AA9010080A6644E30F0309001008AD
:100620000C6688E314030B8020BC616901B86190FB
:100630008079F702807A8A03355D0100346901B858
:1006400034900ABF9E108A8B80AF1480804872AEAF
:10065000500500F572AE100561AE5110807AF602B9
:100660008079A103807A8A03355D02005E6901B852
:100670005E900ABF9E108A8B80AF1480804772AE56
:10068000580500F572AE180561AE5C10807AF6026E
:100690008079A1031C00888B806988EF1D901D0D57
:1006A0000F1010668CE358030E6910660F620D661A
:1006B0000FBA01E37A0310048A8B03B90988C6BE16
:1006C0006C038C6AAA61AB988C6AAB61AD988C6A3A
:1006D000AD61A9988C6AA961AA98047C8B8B047C73
:1006E0008D8B047C898B047C14080E6608E37903E7
:1006F0000D04108421BC1C6901B81C9080794A0348
:1007000003B909888A8BC6BE8803AC5403BE8C61CA
:10071000AA9800EF20BC46BE09086B900A086C90AE
:100720000B086D901A0862901B0863901E08649075
:1007300059BE1E88658066816782688369846A8580
:1007400000EF20BC6B6909886C690A886D690B88A9
:1007500062691A8863691B8864691E88650066017E
:0A0760006702680369046A053ABEE7
:00000001FF
firmware/ess/maestro3_assp_minisrc.fw.ihex
0 → 100644
View file @
a292f404
:1000000080BF1E106E906E00888B806988EF6F90A5
:100010006F0D006908EB120420BC6E6901B86E9088
:10002000807903040EB9078843BE01BF47BE41BEB5
:10003000807A2A0040BE2930CCEF41BE807A280069
:1000400040BE2830CCEF076908E32A0409692C90E8
:1000500080792C040D692C9009101A880A1001BAB5
:100060001B880D101C880E1001BA1D8880BFED0082
:100070001E880C05240104B92790186908E3B3040D
:100080002D901369A0BF987504F72DAEFF008D8BDE
:10009000196908E363041A6908E3560407B9098873
:1000A000C6BE5304A910AD9080797C0403B90988B9
:1000B000C6BE60048918226CAD90A910236E226C14
:1000C000AD9080797C041A1008E36F0403B90988A5
:1000D000C6BE6C04A910A090AD9080797C0401B9D3
:1000E0000988C6BE7B048918226CA090AD90A91027
:1000F000236E226CA090AD902D6908E39C0424012E
:1001000003B702B91888898B2C028A10047CA0904E
:100110002B691F88807E5B052A690988898BA099D5
:100120008A10A0902B691F88807E5B052A69098848
:10013000898BAF99997B840424010F061B1013202F
:100140001B90A0BFFF7F44E3AC041B90898B807A97
:100150001A05276901BA2790807A2305276908E3E1
:100160009E0480790F052406261013202690A0BF38
:10017000FF7F04E3C0048D8B807A1A058079B40474
:100180002690131026301B908D8B807A1A05807A6A
:100190002305271001BA279008E3B40424010F06B1
:1001A000898B1A6908E3EA04196988E3E00403B952
:1001B0000988C6BEDD04A01FAE2FA99880790F055F
:1001C00001B9188807B90988C6BEE704EE10A990DE
:1001D00080790F05196908E3FE0403B9098846BE52
:1001E000C6BEFA04A0171EBEAE1FBFBF00FF13BEDF
:1001F000DFBF8080A99947BE80790F0501B90988C2
:10020000C6BE0E05A016A026B7BF00FF1EBEA01ECC
:10021000AE2EBFBF00FF13BEDFBF8080A9990C8543
:100220000F86076988E31605070D108559BE1E88DD
:100230004ABE00EF1E101C901F101D90A0101E90B3
:10024000A0101F9000EF1E101C3020901B73205434
:1002500003BE259825101C2025902573145403BE39
:100260008E8B80982F6988E3390559BE07BB806162
:100270008098A08B1F101D3021901B73215403BE4A
:100280002E982E101D202E902E73155403BE80988C
:100290002F6988E34F0559BE07BB80618098A08B0A
:1002A000186908EF2573165403BEA0982E731754CF
:1002B00003BEA09800EFA08BC6BE6B0559BE04BB61
:1002C00090AA04BE1EBEE099E08BA069D090A06900
:1002D000D0901F0805B81F88908BA069D090A069A6
:1002E0009090D08BD88B1FBE00EF00000000000064
:1002F00000000000000000000000000000000000FE
:1003000000000000000000000000000000000000ED
:020310000000EB
:00000001FF
sound/pci/Kconfig
View file @
a292f404
...
...
@@ -744,7 +744,6 @@ config SND_KORG1212
config SND_MAESTRO3
tristate "ESS Allegro/Maestro3"
depends on SND
select FW_LOADER if !SND_MAESTRO3_FIRMWARE_IN_KERNEL
select SND_AC97_CODEC
help
Say Y here to include support for soundcards based on ESS Maestro 3
...
...
@@ -753,15 +752,6 @@ config SND_MAESTRO3
To compile this driver as a module, choose M here: the module
will be called snd-maestro3.
config SND_MAESTRO3_FIRMWARE_IN_KERNEL
bool "In-kernel firmware for Maestro3 driver"
depends on SND_MAESTRO3
default y
help
Say Y here to include the static firmware built in the kernel
for the Maestro3 driver. If you choose N here, you need to
install the firmware files from the alsa-firmware package.
config SND_MIXART
tristate "Digigram miXart"
depends on SND
...
...
sound/pci/maestro3.c
View file @
a292f404
...
...
@@ -58,10 +58,8 @@ MODULE_SUPPORTED_DEVICE("{{ESS,Maestro3 PCI},"
"{ESS,Allegro PCI},"
"{ESS,Allegro-1 PCI},"
"{ESS,Canyon3D-2/LE PCI}}"
);
#ifndef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL
MODULE_FIRMWARE
(
"ess/maestro3_assp_kernel.fw"
);
MODULE_FIRMWARE
(
"ess/maestro3_assp_minisrc.fw"
);
#endif
static
int
index
[
SNDRV_CARDS
]
=
SNDRV_DEFAULT_IDX
;
/* Index 0-MAX */
static
char
*
id
[
SNDRV_CARDS
]
=
SNDRV_DEFAULT_STR
;
/* ID for this card */
...
...
@@ -2101,161 +2099,6 @@ static int __devinit snd_m3_mixer(struct snd_m3 *chip)
}
#ifdef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL
/*
* DSP Code images
*/
static
const
u16
assp_kernel_image
[]
=
{
0x7980
,
0x0030
,
0x7980
,
0x03B4
,
0x7980
,
0x03B4
,
0x7980
,
0x00FB
,
0x7980
,
0x00DD
,
0x7980
,
0x03B4
,
0x7980
,
0x0332
,
0x7980
,
0x0287
,
0x7980
,
0x03B4
,
0x7980
,
0x03B4
,
0x7980
,
0x03B4
,
0x7980
,
0x03B4
,
0x7980
,
0x031A
,
0x7980
,
0x03B4
,
0x7980
,
0x022F
,
0x7980
,
0x03B4
,
0x7980
,
0x03B4
,
0x7980
,
0x03B4
,
0x7980
,
0x03B4
,
0x7980
,
0x03B4
,
0x7980
,
0x0063
,
0x7980
,
0x006B
,
0x7980
,
0x03B4
,
0x7980
,
0x03B4
,
0xBF80
,
0x2C7C
,
0x8806
,
0x8804
,
0xBE40
,
0xBC20
,
0xAE09
,
0x1000
,
0xAE0A
,
0x0001
,
0x6938
,
0xEB08
,
0x0053
,
0x695A
,
0xEB08
,
0x00D6
,
0x0009
,
0x8B88
,
0x6980
,
0xE388
,
0x0036
,
0xBE30
,
0xBC20
,
0x6909
,
0xB801
,
0x9009
,
0xBE41
,
0xBE41
,
0x6928
,
0xEB88
,
0x0078
,
0xBE41
,
0xBE40
,
0x7980
,
0x0038
,
0xBE41
,
0xBE41
,
0x903A
,
0x6938
,
0xE308
,
0x0056
,
0x903A
,
0xBE41
,
0xBE40
,
0xEF00
,
0x903A
,
0x6939
,
0xE308
,
0x005E
,
0x903A
,
0xEF00
,
0x690B
,
0x660C
,
0xEF8C
,
0x690A
,
0x660C
,
0x620B
,
0x6609
,
0xEF00
,
0x6910
,
0x660F
,
0xEF04
,
0xE388
,
0x0075
,
0x690E
,
0x660F
,
0x6210
,
0x660D
,
0xEF00
,
0x690E
,
0x660D
,
0xEF00
,
0xAE70
,
0x0001
,
0xBC20
,
0xAE27
,
0x0001
,
0x6939
,
0xEB08
,
0x005D
,
0x6926
,
0xB801
,
0x9026
,
0x0026
,
0x8B88
,
0x6980
,
0xE388
,
0x00CB
,
0x9028
,
0x0D28
,
0x4211
,
0xE100
,
0x007A
,
0x4711
,
0xE100
,
0x00A0
,
0x7A80
,
0x0063
,
0xB811
,
0x660A
,
0x6209
,
0xE304
,
0x007A
,
0x0C0B
,
0x4005
,
0x100A
,
0xBA01
,
0x9012
,
0x0C12
,
0x4002
,
0x7980
,
0x00AF
,
0x7A80
,
0x006B
,
0xBE02
,
0x620E
,
0x660D
,
0xBA10
,
0xE344
,
0x007A
,
0x0C10
,
0x4005
,
0x100E
,
0xBA01
,
0x9012
,
0x0C12
,
0x4002
,
0x1003
,
0xBA02
,
0x9012
,
0x0C12
,
0x4000
,
0x1003
,
0xE388
,
0x00BA
,
0x1004
,
0x7980
,
0x00BC
,
0x1004
,
0xBA01
,
0x9012
,
0x0C12
,
0x4001
,
0x0C05
,
0x4003
,
0x0C06
,
0x4004
,
0x1011
,
0xBFB0
,
0x01FF
,
0x9012
,
0x0C12
,
0x4006
,
0xBC20
,
0xEF00
,
0xAE26
,
0x1028
,
0x6970
,
0xBFD0
,
0x0001
,
0x9070
,
0xE388
,
0x007A
,
0xAE28
,
0x0000
,
0xEF00
,
0xAE70
,
0x0300
,
0x0C70
,
0xB00C
,
0xAE5A
,
0x0000
,
0xEF00
,
0x7A80
,
0x038A
,
0x697F
,
0xB801
,
0x907F
,
0x0056
,
0x8B88
,
0x0CA0
,
0xB008
,
0xAF71
,
0xB000
,
0x4E71
,
0xE200
,
0x00F3
,
0xAE56
,
0x1057
,
0x0056
,
0x0CA0
,
0xB008
,
0x8056
,
0x7980
,
0x03A1
,
0x0810
,
0xBFA0
,
0x1059
,
0xE304
,
0x03A1
,
0x8056
,
0x7980
,
0x03A1
,
0x7A80
,
0x038A
,
0xBF01
,
0xBE43
,
0xBE59
,
0x907C
,
0x6937
,
0xE388
,
0x010D
,
0xBA01
,
0xE308
,
0x010C
,
0xAE71
,
0x0004
,
0x0C71
,
0x5000
,
0x6936
,
0x9037
,
0xBF0A
,
0x109E
,
0x8B8A
,
0xAF80
,
0x8014
,
0x4C80
,
0xBF0A
,
0x0560
,
0xF500
,
0xBF0A
,
0x0520
,
0xB900
,
0xBB17
,
0x90A0
,
0x6917
,
0xE388
,
0x0148
,
0x0D17
,
0xE100
,
0x0127
,
0xBF0C
,
0x0578
,
0xBF0D
,
0x057C
,
0x7980
,
0x012B
,
0xBF0C
,
0x0538
,
0xBF0D
,
0x053C
,
0x6900
,
0xE308
,
0x0135
,
0x8B8C
,
0xBE59
,
0xBB07
,
0x90A0
,
0xBC20
,
0x7980
,
0x0157
,
0x030C
,
0x8B8B
,
0xB903
,
0x8809
,
0xBEC6
,
0x013E
,
0x69AC
,
0x90AB
,
0x69AD
,
0x90AB
,
0x0813
,
0x660A
,
0xE344
,
0x0144
,
0x0309
,
0x830C
,
0xBC20
,
0x7980
,
0x0157
,
0x6955
,
0xE388
,
0x0157
,
0x7C38
,
0xBF0B
,
0x0578
,
0xF500
,
0xBF0B
,
0x0538
,
0xB907
,
0x8809
,
0xBEC6
,
0x0156
,
0x10AB
,
0x90AA
,
0x6974
,
0xE388
,
0x0163
,
0xAE72
,
0x0540
,
0xF500
,
0xAE72
,
0x0500
,
0xAE61
,
0x103B
,
0x7A80
,
0x02F6
,
0x6978
,
0xE388
,
0x0182
,
0x8B8C
,
0xBF0C
,
0x0560
,
0xE500
,
0x7C40
,
0x0814
,
0xBA20
,
0x8812
,
0x733D
,
0x7A80
,
0x0380
,
0x733E
,
0x7A80
,
0x0380
,
0x8B8C
,
0xBF0C
,
0x056C
,
0xE500
,
0x7C40
,
0x0814
,
0xBA2C
,
0x8812
,
0x733F
,
0x7A80
,
0x0380
,
0x7340
,
0x7A80
,
0x0380
,
0x6975
,
0xE388
,
0x018E
,
0xAE72
,
0x0548
,
0xF500
,
0xAE72
,
0x0508
,
0xAE61
,
0x1041
,
0x7A80
,
0x02F6
,
0x6979
,
0xE388
,
0x01AD
,
0x8B8C
,
0xBF0C
,
0x0560
,
0xE500
,
0x7C40
,
0x0814
,
0xBA18
,
0x8812
,
0x7343
,
0x7A80
,
0x0380
,
0x7344
,
0x7A80
,
0x0380
,
0x8B8C
,
0xBF0C
,
0x056C
,
0xE500
,
0x7C40
,
0x0814
,
0xBA24
,
0x8812
,
0x7345
,
0x7A80
,
0x0380
,
0x7346
,
0x7A80
,
0x0380
,
0x6976
,
0xE388
,
0x01B9
,
0xAE72
,
0x0558
,
0xF500
,
0xAE72
,
0x0518
,
0xAE61
,
0x1047
,
0x7A80
,
0x02F6
,
0x697A
,
0xE388
,
0x01D8
,
0x8B8C
,
0xBF0C
,
0x0560
,
0xE500
,
0x7C40
,
0x0814
,
0xBA08
,
0x8812
,
0x7349
,
0x7A80
,
0x0380
,
0x734A
,
0x7A80
,
0x0380
,
0x8B8C
,
0xBF0C
,
0x056C
,
0xE500
,
0x7C40
,
0x0814
,
0xBA14
,
0x8812
,
0x734B
,
0x7A80
,
0x0380
,
0x734C
,
0x7A80
,
0x0380
,
0xBC21
,
0xAE1C
,
0x1090
,
0x8B8A
,
0xBF0A
,
0x0560
,
0xE500
,
0x7C40
,
0x0812
,
0xB804
,
0x8813
,
0x8B8D
,
0xBF0D
,
0x056C
,
0xE500
,
0x7C40
,
0x0815
,
0xB804
,
0x8811
,
0x7A80
,
0x034A
,
0x8B8A
,
0xBF0A
,
0x0560
,
0xE500
,
0x7C40
,
0x731F
,
0xB903
,
0x8809
,
0xBEC6
,
0x01F9
,
0x548A
,
0xBE03
,
0x98A0
,
0x7320
,
0xB903
,
0x8809
,
0xBEC6
,
0x0201
,
0x548A
,
0xBE03
,
0x98A0
,
0x1F20
,
0x2F1F
,
0x9826
,
0xBC20
,
0x6935
,
0xE388
,
0x03A1
,
0x6933
,
0xB801
,
0x9033
,
0xBFA0
,
0x02EE
,
0xE308
,
0x03A1
,
0x9033
,
0xBF00
,
0x6951
,
0xE388
,
0x021F
,
0x7334
,
0xBE80
,
0x5760
,
0xBE03
,
0x9F7E
,
0xBE59
,
0x9034
,
0x697E
,
0x0D51
,
0x9013
,
0xBC20
,
0x695C
,
0xE388
,
0x03A1
,
0x735E
,
0xBE80
,
0x5760
,
0xBE03
,
0x9F7E
,
0xBE59
,
0x905E
,
0x697E
,
0x0D5C
,
0x9013
,
0x7980
,
0x03A1
,
0x7A80
,
0x038A
,
0xBF01
,
0xBE43
,
0x6977
,
0xE388
,
0x024E
,
0xAE61
,
0x104D
,
0x0061
,
0x8B88
,
0x6980
,
0xE388
,
0x024E
,
0x9071
,
0x0D71
,
0x000B
,
0xAFA0
,
0x8010
,
0xAFA0
,
0x8010
,
0x0810
,
0x660A
,
0xE308
,
0x0249
,
0x0009
,
0x0810
,
0x660C
,
0xE388
,
0x024E
,
0x800B
,
0xBC20
,
0x697B
,
0xE388
,
0x03A1
,
0xBF0A
,
0x109E
,
0x8B8A
,
0xAF80
,
0x8014
,
0x4C80
,
0xE100
,
0x0266
,
0x697C
,
0xBF90
,
0x0560
,
0x9072
,
0x0372
,
0x697C
,
0xBF90
,
0x0564
,
0x9073
,
0x0473
,
0x7980
,
0x0270
,
0x697C
,
0xBF90
,
0x0520
,
0x9072
,
0x0372
,
0x697C
,
0xBF90
,
0x0524
,
0x9073
,
0x0473
,
0x697C
,
0xB801
,
0x907C
,
0xBF0A
,
0x10FD
,
0x8B8A
,
0xAF80
,
0x8010
,
0x734F
,
0x548A
,
0xBE03
,
0x9880
,
0xBC21
,
0x7326
,
0x548B
,
0xBE03
,
0x618B
,
0x988C
,
0xBE03
,
0x6180
,
0x9880
,
0x7980
,
0x03A1
,
0x7A80
,
0x038A
,
0x0D28
,
0x4711
,
0xE100
,
0x02BE
,
0xAF12
,
0x4006
,
0x6912
,
0xBFB0
,
0x0C00
,
0xE388
,
0x02B6
,
0xBFA0
,
0x0800
,
0xE388
,
0x02B2
,
0x6912
,
0xBFB0
,
0x0C00
,
0xBFA0
,
0x0400
,
0xE388
,
0x02A3
,
0x6909
,
0x900B
,
0x7980
,
0x02A5
,
0xAF0B
,
0x4005
,
0x6901
,
0x9005
,
0x6902
,
0x9006
,
0x4311
,
0xE100
,
0x02ED
,
0x6911
,
0xBFC0
,
0x2000
,
0x9011
,
0x7980
,
0x02ED
,
0x6909
,
0x900B
,
0x7980
,
0x02B8
,
0xAF0B
,
0x4005
,
0xAF05
,
0x4003
,
0xAF06
,
0x4004
,
0x7980
,
0x02ED
,
0xAF12
,
0x4006
,
0x6912
,
0xBFB0
,
0x0C00
,
0xE388
,
0x02E7
,
0xBFA0
,
0x0800
,
0xE388
,
0x02E3
,
0x6912
,
0xBFB0
,
0x0C00
,
0xBFA0
,
0x0400
,
0xE388
,
0x02D4
,
0x690D
,
0x9010
,
0x7980
,
0x02D6
,
0xAF10
,
0x4005
,
0x6901
,
0x9005
,
0x6902
,
0x9006
,
0x4311
,
0xE100
,
0x02ED
,
0x6911
,
0xBFC0
,
0x2000
,
0x9011
,
0x7980
,
0x02ED
,
0x690D
,
0x9010
,
0x7980
,
0x02E9
,
0xAF10
,
0x4005
,
0xAF05
,
0x4003
,
0xAF06
,
0x4004
,
0xBC20
,
0x6970
,
0x9071
,
0x7A80
,
0x0078
,
0x6971
,
0x9070
,
0x7980
,
0x03A1
,
0xBC20
,
0x0361
,
0x8B8B
,
0x6980
,
0xEF88
,
0x0272
,
0x0372
,
0x7804
,
0x9071
,
0x0D71
,
0x8B8A
,
0x000B
,
0xB903
,
0x8809
,
0xBEC6
,
0x0309
,
0x69A8
,
0x90AB
,
0x69A8
,
0x90AA
,
0x0810
,
0x660A
,
0xE344
,
0x030F
,
0x0009
,
0x0810
,
0x660C
,
0xE388
,
0x0314
,
0x800B
,
0xBC20
,
0x6961
,
0xB801
,
0x9061
,
0x7980
,
0x02F7
,
0x7A80
,
0x038A
,
0x5D35
,
0x0001
,
0x6934
,
0xB801
,
0x9034
,
0xBF0A
,
0x109E
,
0x8B8A
,
0xAF80
,
0x8014
,
0x4880
,
0xAE72
,
0x0550
,
0xF500
,
0xAE72
,
0x0510
,
0xAE61
,
0x1051
,
0x7A80
,
0x02F6
,
0x7980
,
0x03A1
,
0x7A80
,
0x038A
,
0x5D35
,
0x0002
,
0x695E
,
0xB801
,
0x905E
,
0xBF0A
,
0x109E
,
0x8B8A
,
0xAF80
,
0x8014
,
0x4780
,
0xAE72
,
0x0558
,
0xF500
,
0xAE72
,
0x0518
,
0xAE61
,
0x105C
,
0x7A80
,
0x02F6
,
0x7980
,
0x03A1
,
0x001C
,
0x8B88
,
0x6980
,
0xEF88
,
0x901D
,
0x0D1D
,
0x100F
,
0x6610
,
0xE38C
,
0x0358
,
0x690E
,
0x6610
,
0x620F
,
0x660D
,
0xBA0F
,
0xE301
,
0x037A
,
0x0410
,
0x8B8A
,
0xB903
,
0x8809
,
0xBEC6
,
0x036C
,
0x6A8C
,
0x61AA
,
0x98AB
,
0x6A8C
,
0x61AB
,
0x98AD
,
0x6A8C
,
0x61AD
,
0x98A9
,
0x6A8C
,
0x61A9
,
0x98AA
,
0x7C04
,
0x8B8B
,
0x7C04
,
0x8B8D
,
0x7C04
,
0x8B89
,
0x7C04
,
0x0814
,
0x660E
,
0xE308
,
0x0379
,
0x040D
,
0x8410
,
0xBC21
,
0x691C
,
0xB801
,
0x901C
,
0x7980
,
0x034A
,
0xB903
,
0x8809
,
0x8B8A
,
0xBEC6
,
0x0388
,
0x54AC
,
0xBE03
,
0x618C
,
0x98AA
,
0xEF00
,
0xBC20
,
0xBE46
,
0x0809
,
0x906B
,
0x080A
,
0x906C
,
0x080B
,
0x906D
,
0x081A
,
0x9062
,
0x081B
,
0x9063
,
0x081E
,
0x9064
,
0xBE59
,
0x881E
,
0x8065
,
0x8166
,
0x8267
,
0x8368
,
0x8469
,
0x856A
,
0xEF00
,
0xBC20
,
0x696B
,
0x8809
,
0x696C
,
0x880A
,
0x696D
,
0x880B
,
0x6962
,
0x881A
,
0x6963
,
0x881B
,
0x6964
,
0x881E
,
0x0065
,
0x0166
,
0x0267
,
0x0368
,
0x0469
,
0x056A
,
0xBE3A
,
};
/*
* Mini sample rate converter code image
* that is to be loaded at 0x400 on the DSP.
*/
static
const
u16
assp_minisrc_image
[]
=
{
0xBF80
,
0x101E
,
0x906E
,
0x006E
,
0x8B88
,
0x6980
,
0xEF88
,
0x906F
,
0x0D6F
,
0x6900
,
0xEB08
,
0x0412
,
0xBC20
,
0x696E
,
0xB801
,
0x906E
,
0x7980
,
0x0403
,
0xB90E
,
0x8807
,
0xBE43
,
0xBF01
,
0xBE47
,
0xBE41
,
0x7A80
,
0x002A
,
0xBE40
,
0x3029
,
0xEFCC
,
0xBE41
,
0x7A80
,
0x0028
,
0xBE40
,
0x3028
,
0xEFCC
,
0x6907
,
0xE308
,
0x042A
,
0x6909
,
0x902C
,
0x7980
,
0x042C
,
0x690D
,
0x902C
,
0x1009
,
0x881A
,
0x100A
,
0xBA01
,
0x881B
,
0x100D
,
0x881C
,
0x100E
,
0xBA01
,
0x881D
,
0xBF80
,
0x00ED
,
0x881E
,
0x050C
,
0x0124
,
0xB904
,
0x9027
,
0x6918
,
0xE308
,
0x04B3
,
0x902D
,
0x6913
,
0xBFA0
,
0x7598
,
0xF704
,
0xAE2D
,
0x00FF
,
0x8B8D
,
0x6919
,
0xE308
,
0x0463
,
0x691A
,
0xE308
,
0x0456
,
0xB907
,
0x8809
,
0xBEC6
,
0x0453
,
0x10A9
,
0x90AD
,
0x7980
,
0x047C
,
0xB903
,
0x8809
,
0xBEC6
,
0x0460
,
0x1889
,
0x6C22
,
0x90AD
,
0x10A9
,
0x6E23
,
0x6C22
,
0x90AD
,
0x7980
,
0x047C
,
0x101A
,
0xE308
,
0x046F
,
0xB903
,
0x8809
,
0xBEC6
,
0x046C
,
0x10A9
,
0x90A0
,
0x90AD
,
0x7980
,
0x047C
,
0xB901
,
0x8809
,
0xBEC6
,
0x047B
,
0x1889
,
0x6C22
,
0x90A0
,
0x90AD
,
0x10A9
,
0x6E23
,
0x6C22
,
0x90A0
,
0x90AD
,
0x692D
,
0xE308
,
0x049C
,
0x0124
,
0xB703
,
0xB902
,
0x8818
,
0x8B89
,
0x022C
,
0x108A
,
0x7C04
,
0x90A0
,
0x692B
,
0x881F
,
0x7E80
,
0x055B
,
0x692A
,
0x8809
,
0x8B89
,
0x99A0
,
0x108A
,
0x90A0
,
0x692B
,
0x881F
,
0x7E80
,
0x055B
,
0x692A
,
0x8809
,
0x8B89
,
0x99AF
,
0x7B99
,
0x0484
,
0x0124
,
0x060F
,
0x101B
,
0x2013
,
0x901B
,
0xBFA0
,
0x7FFF
,
0xE344
,
0x04AC
,
0x901B
,
0x8B89
,
0x7A80
,
0x051A
,
0x6927
,
0xBA01
,
0x9027
,
0x7A80
,
0x0523
,
0x6927
,
0xE308
,
0x049E
,
0x7980
,
0x050F
,
0x0624
,
0x1026
,
0x2013
,
0x9026
,
0xBFA0
,
0x7FFF
,
0xE304
,
0x04C0
,
0x8B8D
,
0x7A80
,
0x051A
,
0x7980
,
0x04B4
,
0x9026
,
0x1013
,
0x3026
,
0x901B
,
0x8B8D
,
0x7A80
,
0x051A
,
0x7A80
,
0x0523
,
0x1027
,
0xBA01
,
0x9027
,
0xE308
,
0x04B4
,
0x0124
,
0x060F
,
0x8B89
,
0x691A
,
0xE308
,
0x04EA
,
0x6919
,
0xE388
,
0x04E0
,
0xB903
,
0x8809
,
0xBEC6
,
0x04DD
,
0x1FA0
,
0x2FAE
,
0x98A9
,
0x7980
,
0x050F
,
0xB901
,
0x8818
,
0xB907
,
0x8809
,
0xBEC6
,
0x04E7
,
0x10EE
,
0x90A9
,
0x7980
,
0x050F
,
0x6919
,
0xE308
,
0x04FE
,
0xB903
,
0x8809
,
0xBE46
,
0xBEC6
,
0x04FA
,
0x17A0
,
0xBE1E
,
0x1FAE
,
0xBFBF
,
0xFF00
,
0xBE13
,
0xBFDF
,
0x8080
,
0x99A9
,
0xBE47
,
0x7980
,
0x050F
,
0xB901
,
0x8809
,
0xBEC6
,
0x050E
,
0x16A0
,
0x26A0
,
0xBFB7
,
0xFF00
,
0xBE1E
,
0x1EA0
,
0x2EAE
,
0xBFBF
,
0xFF00
,
0xBE13
,
0xBFDF
,
0x8080
,
0x99A9
,
0x850C
,
0x860F
,
0x6907
,
0xE388
,
0x0516
,
0x0D07
,
0x8510
,
0xBE59
,
0x881E
,
0xBE4A
,
0xEF00
,
0x101E
,
0x901C
,
0x101F
,
0x901D
,
0x10A0
,
0x901E
,
0x10A0
,
0x901F
,
0xEF00
,
0x101E
,
0x301C
,
0x9020
,
0x731B
,
0x5420
,
0xBE03
,
0x9825
,
0x1025
,
0x201C
,
0x9025
,
0x7325
,
0x5414
,
0xBE03
,
0x8B8E
,
0x9880
,
0x692F
,
0xE388
,
0x0539
,
0xBE59
,
0xBB07
,
0x6180
,
0x9880
,
0x8BA0
,
0x101F
,
0x301D
,
0x9021
,
0x731B
,
0x5421
,
0xBE03
,
0x982E
,
0x102E
,
0x201D
,
0x902E
,
0x732E
,
0x5415
,
0xBE03
,
0x9880
,
0x692F
,
0xE388
,
0x054F
,
0xBE59
,
0xBB07
,
0x6180
,
0x9880
,
0x8BA0
,
0x6918
,
0xEF08
,
0x7325
,
0x5416
,
0xBE03
,
0x98A0
,
0x732E
,
0x5417
,
0xBE03
,
0x98A0
,
0xEF00
,
0x8BA0
,
0xBEC6
,
0x056B
,
0xBE59
,
0xBB04
,
0xAA90
,
0xBE04
,
0xBE1E
,
0x99E0
,
0x8BE0
,
0x69A0
,
0x90D0
,
0x69A0
,
0x90D0
,
0x081F
,
0xB805
,
0x881F
,
0x8B90
,
0x69A0
,
0x90D0
,
0x69A0
,
0x9090
,
0x8BD0
,
0x8BD8
,
0xBE1F
,
0xEF00
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
};
static
const
struct
firmware
assp_kernel
=
{
.
data
=
(
u8
*
)
assp_kernel_image
,
.
size
=
sizeof
assp_kernel_image
};
static
const
struct
firmware
assp_minisrc
=
{
.
data
=
(
u8
*
)
assp_minisrc_image
,
.
size
=
sizeof
assp_minisrc_image
};
#ifdef __LITTLE_ENDIAN
static
inline
void
snd_m3_convert_to_le
(
const
struct
firmware
*
fw
)
{
}
#else
static
void
snd_m3_convert_to_le
(
const
struct
firmware
*
fw
)
{
int
i
;
u16
*
data
=
(
u16
*
)
fw
->
data
;
for
(
i
=
0
;
i
<
fw
->
size
/
2
;
++
i
)
cpu_to_le16s
(
&
data
[
i
]);
}
#endif
#endif
/* CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL */
/*
* initialize ASSP
*/
...
...
@@ -2547,10 +2390,8 @@ static int snd_m3_free(struct snd_m3 *chip)
if
(
chip
->
iobase
)
pci_release_regions
(
chip
->
pci
);
#ifndef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL
release_firmware
(
chip
->
assp_kernel_image
);
release_firmware
(
chip
->
assp_minisrc_image
);
#endif
pci_disable_device
(
chip
->
pci
);
kfree
(
chip
);
...
...
@@ -2740,27 +2581,19 @@ snd_m3_create(struct snd_card *card, struct pci_dev *pci,
return
-
ENOMEM
;
}
#ifdef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL
chip
->
assp_kernel_image
=
&
assp_kernel
;
#else
err
=
request_firmware
(
&
chip
->
assp_kernel_image
,
"ess/maestro3_assp_kernel.fw"
,
&
pci
->
dev
);
if
(
err
<
0
)
{
snd_m3_free
(
chip
);
return
err
;
}
#endif
#ifdef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL
chip
->
assp_minisrc_image
=
&
assp_minisrc
;
#else
err
=
request_firmware
(
&
chip
->
assp_minisrc_image
,
"ess/maestro3_assp_minisrc.fw"
,
&
pci
->
dev
);
if
(
err
<
0
)
{
snd_m3_free
(
chip
);
return
err
;
}
#endif
if
((
err
=
pci_request_regions
(
pci
,
card
->
driver
))
<
0
)
{
snd_m3_free
(
chip
);
...
...
@@ -2912,10 +2745,6 @@ static struct pci_driver driver = {
static
int
__init
alsa_card_m3_init
(
void
)
{
#ifdef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL
snd_m3_convert_to_le
(
&
assp_kernel
);
snd_m3_convert_to_le
(
&
assp_minisrc
);
#endif
return
pci_register_driver
(
&
driver
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment