Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
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))
...
@@ -21,6 +21,8 @@ fw-external-y := $(subst ",,$(CONFIG_EXTRA_FIRMWARE))
# But be aware that the config file might not be included at all.
# 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_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-
)
fw-shipped-all
:=
$
(
fw-shipped-y
)
$
(
fw-shipped-m
)
$
(
fw-shipped-
)
...
...
firmware/WHENCE
View file @
a292f404
...
@@ -17,3 +17,17 @@ Licence: Unknown
...
@@ -17,3 +17,17 @@ Licence: Unknown
Found in alsa-firmware package in hex form; no licensing information.
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
...
@@ -744,7 +744,6 @@ config SND_KORG1212
config SND_MAESTRO3
config SND_MAESTRO3
tristate "ESS Allegro/Maestro3"
tristate "ESS Allegro/Maestro3"
depends on SND
depends on SND
select FW_LOADER if !SND_MAESTRO3_FIRMWARE_IN_KERNEL
select SND_AC97_CODEC
select SND_AC97_CODEC
help
help
Say Y here to include support for soundcards based on ESS Maestro 3
Say Y here to include support for soundcards based on ESS Maestro 3
...
@@ -753,15 +752,6 @@ config SND_MAESTRO3
...
@@ -753,15 +752,6 @@ config SND_MAESTRO3
To compile this driver as a module, choose M here: the module
To compile this driver as a module, choose M here: the module
will be called snd-maestro3.
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
config SND_MIXART
tristate "Digigram miXart"
tristate "Digigram miXart"
depends on SND
depends on SND
...
...
sound/pci/maestro3.c
View file @
a292f404
...
@@ -58,10 +58,8 @@ MODULE_SUPPORTED_DEVICE("{{ESS,Maestro3 PCI},"
...
@@ -58,10 +58,8 @@ MODULE_SUPPORTED_DEVICE("{{ESS,Maestro3 PCI},"
"{ESS,Allegro PCI},"
"{ESS,Allegro PCI},"
"{ESS,Allegro-1 PCI},"
"{ESS,Allegro-1 PCI},"
"{ESS,Canyon3D-2/LE 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_kernel.fw"
);
MODULE_FIRMWARE
(
"ess/maestro3_assp_minisrc.fw"
);
MODULE_FIRMWARE
(
"ess/maestro3_assp_minisrc.fw"
);
#endif
static
int
index
[
SNDRV_CARDS
]
=
SNDRV_DEFAULT_IDX
;
/* Index 0-MAX */
static
int
index
[
SNDRV_CARDS
]
=
SNDRV_DEFAULT_IDX
;
/* Index 0-MAX */
static
char
*
id
[
SNDRV_CARDS
]
=
SNDRV_DEFAULT_STR
;
/* ID for this card */
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)
...
@@ -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
* initialize ASSP
*/
*/
...
@@ -2547,10 +2390,8 @@ static int snd_m3_free(struct snd_m3 *chip)
...
@@ -2547,10 +2390,8 @@ static int snd_m3_free(struct snd_m3 *chip)
if
(
chip
->
iobase
)
if
(
chip
->
iobase
)
pci_release_regions
(
chip
->
pci
);
pci_release_regions
(
chip
->
pci
);
#ifndef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL
release_firmware
(
chip
->
assp_kernel_image
);
release_firmware
(
chip
->
assp_kernel_image
);
release_firmware
(
chip
->
assp_minisrc_image
);
release_firmware
(
chip
->
assp_minisrc_image
);
#endif
pci_disable_device
(
chip
->
pci
);
pci_disable_device
(
chip
->
pci
);
kfree
(
chip
);
kfree
(
chip
);
...
@@ -2740,27 +2581,19 @@ snd_m3_create(struct snd_card *card, struct pci_dev *pci,
...
@@ -2740,27 +2581,19 @@ snd_m3_create(struct snd_card *card, struct pci_dev *pci,
return
-
ENOMEM
;
return
-
ENOMEM
;
}
}
#ifdef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL
chip
->
assp_kernel_image
=
&
assp_kernel
;
#else
err
=
request_firmware
(
&
chip
->
assp_kernel_image
,
err
=
request_firmware
(
&
chip
->
assp_kernel_image
,
"ess/maestro3_assp_kernel.fw"
,
&
pci
->
dev
);
"ess/maestro3_assp_kernel.fw"
,
&
pci
->
dev
);
if
(
err
<
0
)
{
if
(
err
<
0
)
{
snd_m3_free
(
chip
);
snd_m3_free
(
chip
);
return
err
;
return
err
;
}
}
#endif
#ifdef CONFIG_SND_MAESTRO3_FIRMWARE_IN_KERNEL
chip
->
assp_minisrc_image
=
&
assp_minisrc
;
#else
err
=
request_firmware
(
&
chip
->
assp_minisrc_image
,
err
=
request_firmware
(
&
chip
->
assp_minisrc_image
,
"ess/maestro3_assp_minisrc.fw"
,
&
pci
->
dev
);
"ess/maestro3_assp_minisrc.fw"
,
&
pci
->
dev
);
if
(
err
<
0
)
{
if
(
err
<
0
)
{
snd_m3_free
(
chip
);
snd_m3_free
(
chip
);
return
err
;
return
err
;
}
}
#endif
if
((
err
=
pci_request_regions
(
pci
,
card
->
driver
))
<
0
)
{
if
((
err
=
pci_request_regions
(
pci
,
card
->
driver
))
<
0
)
{
snd_m3_free
(
chip
);
snd_m3_free
(
chip
);
...
@@ -2912,10 +2745,6 @@ static struct pci_driver driver = {
...
@@ -2912,10 +2745,6 @@ static struct pci_driver driver = {
static
int
__init
alsa_card_m3_init
(
void
)
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
);
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