Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 353265
b: refs/heads/master
c: 15e4ba6
h: refs/heads/master
i:
  353263: 2ff28c9
v: v3
  • Loading branch information
Takashi Iwai committed Jan 15, 2013
1 parent e8f1e88 commit 62e4998
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 23 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 406261ce998589dc980d9a6683a5ef3153eec1a5
refs/heads/master: 15e4ba666ca6c2fcc00184cef56fb971a20e8e04
28 changes: 6 additions & 22 deletions trunk/sound/pci/hda/patch_ca0132.c
Original file line number Diff line number Diff line change
Expand Up @@ -2602,24 +2602,6 @@ static int dspload_image(struct hda_codec *codec,
return status;
}

static const struct firmware *fw_efx;

static int request_firmware_cached(const struct firmware **firmware_p,
const char *name, struct device *device)
{
if (*firmware_p)
return 0; /* already loaded */
return request_firmware(firmware_p, name, device);
}

static void release_cached_firmware(void)
{
if (fw_efx) {
release_firmware(fw_efx);
fw_efx = NULL;
}
}

static bool dspload_is_loaded(struct hda_codec *codec)
{
unsigned int data = 0;
Expand Down Expand Up @@ -4351,15 +4333,18 @@ static bool ca0132_download_dsp_images(struct hda_codec *codec)
{
bool dsp_loaded = false;
const struct dsp_image_seg *dsp_os_image;
const struct firmware *fw_entry;

if (request_firmware_cached(&fw_efx, EFX_FILE,
codec->bus->card->dev) != 0)
if (request_firmware(&fw_entry, EFX_FILE, codec->bus->card->dev) != 0)
return false;

dsp_os_image = (struct dsp_image_seg *)(fw_efx->data);
dsp_os_image = (struct dsp_image_seg *)(fw_entry->data);
dspload_image(codec, dsp_os_image, 0, 0, true, 0);
dsp_loaded = dspload_wait_loaded(codec);

release_firmware(fw_entry);


return dsp_loaded;
}

Expand Down Expand Up @@ -4701,7 +4686,6 @@ static int __init patch_ca0132_init(void)

static void __exit patch_ca0132_exit(void)
{
release_cached_firmware();
snd_hda_delete_codec_preset(&ca0132_list);
}

Expand Down

0 comments on commit 62e4998

Please sign in to comment.