- 20 9月, 2018 15 次提交
-
-
由 Connor McAdams 提交于
This patch adds exit commands for the AE-5. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds controls for the AE-5's headphone gain setting, and the DAC's interpolation filter setting. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds the input selection commands for the Sound BlasterX AE-5. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds output selection commands for the AE-5. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch cleans up ca0132_alt_out_select by moving the card specific output commands into a separate function. As more cards are added, the function ca0132_alt_out_select is going to get more bloated with these, so moving into a separate function tries to keep that from happening. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds DSP setup functions for the AE-5. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch cleans up some of the formatting of the post-dsp load setup functions, and also merges some of the sub functions into individual ones. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
The Recon3D, AE-5, Z and ZxR all share the same firmware file. Rename this from the specific "ctefx-sbz.bin" to "ctefx-desktop.bin" and set the AE-5 and Recon3D to use it as well. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds AE-5 specific stuff to the ca0132_alt_init function. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds AE-5 pre-init functions that happen before the main ca0132_alt_init, and gives functions related to the ca0113 a ca0113 prefix instead of ca0132. It also adds functions to write to the 8051's SFRs, and to write the special ca0113 commands for the AE-5. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds the unique writes for the AE-5 on startup to ca0132_mmio_init. The other cards share some addresses written to, but use different values. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch sets the bool values for the AE-5, as well as selects the mixer it will use. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds the pincfg for the Sound BlasterX AE-5, and cleans up the function it's assigned in. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds the PCI subsys ID quirk for the Sound BlasterX AE-5. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch defines some new verbs found from reverse engineering of the onboard 8051 CPU, and a control param found there as well. This clears up usage of these verbs in other parts of the driver, and removes their usage where they're now known to be unnecessary. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 30 8月, 2018 1 次提交
-
-
由 Pierre-Louis Bossart 提交于
As suggested by Takashi, move this header file to make it easier to include from e.g. the Intel Skylake driver in follow-up patches Signed-off-by: NPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 09 8月, 2018 11 次提交
-
-
由 Connor McAdams 提交于
This patch adds exit functions for the Recon3D, and cleans up the current exit function. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds changes to setup the Recon3D's mixer controls. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds commands to the alternative input and output select commands to support the Recon3D. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
The Recon3D can use many of the same functions as the Recon3Di, so many of the r3di prefix function remain the same, but change their names to the more generic r3d prefix. This patch does this, and adds quirk checks for things specific to the Recon3Di. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds functions for Recon3D startup, and sets values for things such as use_pci_mmio. It also renames some functions and tables from the sbz prefix into ca0132, as the Recon3D uses them as well. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds the ability to choose whether or not to map the pci region2, which is used for things such as GPIO on the Recon3D and Sound Blaster Z. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds pin configs from the Recon3D, taken from the Window's driver. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds the PCI subsys ID for the Recon3D that has been tested, and adds the QUIRK_R3D enumeration. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch fixes a previous oversight where the microphone unsolicited response would use the wrong input selection function. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch cleans up ca0132_init by removing unnecessary commands and ordering things better. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Connor McAdams 提交于
This patch adds a new function, ca0132_mmio_gpio_set, to clear up what is going on with writes to mmio region 0x320. Signed-off-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 26 7月, 2018 1 次提交
-
-
由 Takashi Iwai 提交于
Use NULL for initializing the snd_kcontrol_new.tlv field, instead of 0, as warned by sparse: sound/pci/hda/patch_ca0132.c:5519:22: warning: Using plain integer as NULL pointer Also, the driver does the same initialization twice, once for knew.tlv.c and another for knew.tlv.p while both point to the same address (these are union). Drop the latter superfluous one. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 12 7月, 2018 2 次提交
-
-
由 Alastair Bridgewater 提交于
The PCI subsystem in question for this quirk rule has been identified as a Gigabyte GA-Z170X-Gaming 7 motherboard. Set the device name appropriately. Signed-off-by: NAlastair Bridgewater <alastair.bridgewater@gmail.com> Reviewed-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Alastair Bridgewater 提交于
These motherboards have Sound Core3D and apparently "support" Recon3Di. Added to the quirk list as QUIRK_R3DI. Issue report, PCI Subsystem ID, and testing by a contributor on IRC who wished to remain anonymous. Signed-off-by: NAlastair Bridgewater <alastair.bridgewater@gmail.com> Reviewed-by: NConnor McAdams <conmanx360@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 22 6月, 2018 1 次提交
-
-
由 Colin Ian King 提交于
The array ca0132_alt_chmaps is local to the source and does not need to be in global scope, so make it static. Cleans up sparse warning: warning: symbol 'ca0132_alt_chmaps' was not declared. Should it be static? Signed-off-by: NColin Ian King <colin.king@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 17 6月, 2018 6 次提交
-
-
由 Alastair Bridgewater 提交于
The commentary says to use various parameters, and lays out what the mapping is... The code used a 32KHz rate when the comment says that it needs to use a 48KHz rate. And this has been the case since day one. On the Alienware M17x R4, the DMic used to have exceptionally quiet pickup and a lot of noise. Changing the data rate fixes both of these issues. Searching the kernel bug tracker for ca0132-related issues shows no mention of this being an issue for other hardware, and I have no other hardware to test with, so a quirk is used to limit the effect to just the M17x R4. Signed-off-by: NAlastair Bridgewater <alastair.bridgewater@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Alastair Bridgewater 提交于
Commit 009b8f97 conditionalized adding the "CA0132 Analog Mic-In2" PCM with a comment to the effect that, "desktops don't use this ADC", but the test was set up such that the ADC was only created for desktops. Invert the test. Fixes: 009b8f97 ("ALSA: hda/ca0132: update core functions for sbz + r3di") Signed-off-by: NAlastair Bridgewater <alastair.bridgewater@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Alastair Bridgewater 提交于
QUIRK_NONE is, quite explicitly, the default case. The entire point of a quirks system is to allow "programming by difference" from a given base case, which requires that merely defining a new quirk for some piece of hardware should not change the behavior of the driver for that hardware. In turn, this means that testing for QUIRK_NONE explicitly is a violation of that implicit contract. Change a test for QUIRK_NONE and QUIRK_ALIENWARE to default, and add a test for QUIRK_SBZ to disable the default behavior in that instance. Signed-off-by: NAlastair Bridgewater <alastair.bridgewater@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Alastair Bridgewater 提交于
Commit e93ac30a (ALSA: HDA/ca0132: add extra init functions for r3di + sbz) introduced an extra initialization function that was improperly guarded, taking effect on systems with QUIRK_ALIENWARE, even though such systems were supposedly not affected. It may be that this piece of initialization should be done for all systems, but that's not a call that I can make. Fixes: e93ac30a ("ALSA: HDA/ca0132: add extra init functions for r3di + sbz") Signed-off-by: NAlastair Bridgewater <alastair.bridgewater@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Alastair Bridgewater 提交于
During ca0132_init(), ca0132_init_unsol() is run before the spec->spec_init_verbs are written. ca0132_init_unsol() calls snd_hda_jack_detect_enable_callback(), which requests UNSOL events for three or four nodes, two of which were also (redundantly) requested by spec_init_verbs. Kill the redundant AC_VERB_SET_UNSOLICITED_ENABLE verbs. Signed-off-by: NAlastair Bridgewater <alastair.bridgewater@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Alastair Bridgewater 提交于
ca0132_config() was setting some values in the auto_pin_cfg for the codec... but it is called prior to snd_hda_parse_pin_defcfg(), which does a memset() to clear the entire structure as one of its first actions, making the entire exercise pointless. Kill all use of struct auto_pin_cfg from ca0132_config(). Signed-off-by: NAlastair Bridgewater <alastair.bridgewater@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 13 6月, 2018 1 次提交
-
-
由 Kees Cook 提交于
The kzalloc() function has a 2-factor argument form, kcalloc(). This patch replaces cases of: kzalloc(a * b, gfp) with: kcalloc(a * b, gfp) as well as handling cases of: kzalloc(a * b * c, gfp) with: kzalloc(array3_size(a, b, c), gfp) as it's slightly less ugly than: kzalloc_array(array_size(a, b), c, gfp) This does, however, attempt to ignore constant size factors like: kzalloc(4 * 1024, gfp) though any constants defined via macros get caught up in the conversion. Any factors with a sizeof() of "unsigned char", "char", and "u8" were dropped, since they're redundant. The Coccinelle script used for this was: // Fix redundant parens around sizeof(). @@ type TYPE; expression THING, E; @@ ( kzalloc( - (sizeof(TYPE)) * E + sizeof(TYPE) * E , ...) | kzalloc( - (sizeof(THING)) * E + sizeof(THING) * E , ...) ) // Drop single-byte sizes and redundant parens. @@ expression COUNT; typedef u8; typedef __u8; @@ ( kzalloc( - sizeof(u8) * (COUNT) + COUNT , ...) | kzalloc( - sizeof(__u8) * (COUNT) + COUNT , ...) | kzalloc( - sizeof(char) * (COUNT) + COUNT , ...) | kzalloc( - sizeof(unsigned char) * (COUNT) + COUNT , ...) | kzalloc( - sizeof(u8) * COUNT + COUNT , ...) | kzalloc( - sizeof(__u8) * COUNT + COUNT , ...) | kzalloc( - sizeof(char) * COUNT + COUNT , ...) | kzalloc( - sizeof(unsigned char) * COUNT + COUNT , ...) ) // 2-factor product with sizeof(type/expression) and identifier or constant. @@ type TYPE; expression THING; identifier COUNT_ID; constant COUNT_CONST; @@ ( - kzalloc + kcalloc ( - sizeof(TYPE) * (COUNT_ID) + COUNT_ID, sizeof(TYPE) , ...) | - kzalloc + kcalloc ( - sizeof(TYPE) * COUNT_ID + COUNT_ID, sizeof(TYPE) , ...) | - kzalloc + kcalloc ( - sizeof(TYPE) * (COUNT_CONST) + COUNT_CONST, sizeof(TYPE) , ...) | - kzalloc + kcalloc ( - sizeof(TYPE) * COUNT_CONST + COUNT_CONST, sizeof(TYPE) , ...) | - kzalloc + kcalloc ( - sizeof(THING) * (COUNT_ID) + COUNT_ID, sizeof(THING) , ...) | - kzalloc + kcalloc ( - sizeof(THING) * COUNT_ID + COUNT_ID, sizeof(THING) , ...) | - kzalloc + kcalloc ( - sizeof(THING) * (COUNT_CONST) + COUNT_CONST, sizeof(THING) , ...) | - kzalloc + kcalloc ( - sizeof(THING) * COUNT_CONST + COUNT_CONST, sizeof(THING) , ...) ) // 2-factor product, only identifiers. @@ identifier SIZE, COUNT; @@ - kzalloc + kcalloc ( - SIZE * COUNT + COUNT, SIZE , ...) // 3-factor product with 1 sizeof(type) or sizeof(expression), with // redundant parens removed. @@ expression THING; identifier STRIDE, COUNT; type TYPE; @@ ( kzalloc( - sizeof(TYPE) * (COUNT) * (STRIDE) + array3_size(COUNT, STRIDE, sizeof(TYPE)) , ...) | kzalloc( - sizeof(TYPE) * (COUNT) * STRIDE + array3_size(COUNT, STRIDE, sizeof(TYPE)) , ...) | kzalloc( - sizeof(TYPE) * COUNT * (STRIDE) + array3_size(COUNT, STRIDE, sizeof(TYPE)) , ...) | kzalloc( - sizeof(TYPE) * COUNT * STRIDE + array3_size(COUNT, STRIDE, sizeof(TYPE)) , ...) | kzalloc( - sizeof(THING) * (COUNT) * (STRIDE) + array3_size(COUNT, STRIDE, sizeof(THING)) , ...) | kzalloc( - sizeof(THING) * (COUNT) * STRIDE + array3_size(COUNT, STRIDE, sizeof(THING)) , ...) | kzalloc( - sizeof(THING) * COUNT * (STRIDE) + array3_size(COUNT, STRIDE, sizeof(THING)) , ...) | kzalloc( - sizeof(THING) * COUNT * STRIDE + array3_size(COUNT, STRIDE, sizeof(THING)) , ...) ) // 3-factor product with 2 sizeof(variable), with redundant parens removed. @@ expression THING1, THING2; identifier COUNT; type TYPE1, TYPE2; @@ ( kzalloc( - sizeof(TYPE1) * sizeof(TYPE2) * COUNT + array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2)) , ...) | kzalloc( - sizeof(TYPE1) * sizeof(THING2) * (COUNT) + array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2)) , ...) | kzalloc( - sizeof(THING1) * sizeof(THING2) * COUNT + array3_size(COUNT, sizeof(THING1), sizeof(THING2)) , ...) | kzalloc( - sizeof(THING1) * sizeof(THING2) * (COUNT) + array3_size(COUNT, sizeof(THING1), sizeof(THING2)) , ...) | kzalloc( - sizeof(TYPE1) * sizeof(THING2) * COUNT + array3_size(COUNT, sizeof(TYPE1), sizeof(THING2)) , ...) | kzalloc( - sizeof(TYPE1) * sizeof(THING2) * (COUNT) + array3_size(COUNT, sizeof(TYPE1), sizeof(THING2)) , ...) ) // 3-factor product, only identifiers, with redundant parens removed. @@ identifier STRIDE, SIZE, COUNT; @@ ( kzalloc( - (COUNT) * STRIDE * SIZE + array3_size(COUNT, STRIDE, SIZE) , ...) | kzalloc( - COUNT * (STRIDE) * SIZE + array3_size(COUNT, STRIDE, SIZE) , ...) | kzalloc( - COUNT * STRIDE * (SIZE) + array3_size(COUNT, STRIDE, SIZE) , ...) | kzalloc( - (COUNT) * (STRIDE) * SIZE + array3_size(COUNT, STRIDE, SIZE) , ...) | kzalloc( - COUNT * (STRIDE) * (SIZE) + array3_size(COUNT, STRIDE, SIZE) , ...) | kzalloc( - (COUNT) * STRIDE * (SIZE) + array3_size(COUNT, STRIDE, SIZE) , ...) | kzalloc( - (COUNT) * (STRIDE) * (SIZE) + array3_size(COUNT, STRIDE, SIZE) , ...) | kzalloc( - COUNT * STRIDE * SIZE + array3_size(COUNT, STRIDE, SIZE) , ...) ) // Any remaining multi-factor products, first at least 3-factor products, // when they're not all constants... @@ expression E1, E2, E3; constant C1, C2, C3; @@ ( kzalloc(C1 * C2 * C3, ...) | kzalloc( - (E1) * E2 * E3 + array3_size(E1, E2, E3) , ...) | kzalloc( - (E1) * (E2) * E3 + array3_size(E1, E2, E3) , ...) | kzalloc( - (E1) * (E2) * (E3) + array3_size(E1, E2, E3) , ...) | kzalloc( - E1 * E2 * E3 + array3_size(E1, E2, E3) , ...) ) // And then all remaining 2 factors products when they're not all constants, // keeping sizeof() as the second factor argument. @@ expression THING, E1, E2; type TYPE; constant C1, C2, C3; @@ ( kzalloc(sizeof(THING) * C2, ...) | kzalloc(sizeof(TYPE) * C2, ...) | kzalloc(C1 * C2 * C3, ...) | kzalloc(C1 * C2, ...) | - kzalloc + kcalloc ( - sizeof(TYPE) * (E2) + E2, sizeof(TYPE) , ...) | - kzalloc + kcalloc ( - sizeof(TYPE) * E2 + E2, sizeof(TYPE) , ...) | - kzalloc + kcalloc ( - sizeof(THING) * (E2) + E2, sizeof(THING) , ...) | - kzalloc + kcalloc ( - sizeof(THING) * E2 + E2, sizeof(THING) , ...) | - kzalloc + kcalloc ( - (E1) * E2 + E1, E2 , ...) | - kzalloc + kcalloc ( - (E1) * (E2) + E1, E2 , ...) | - kzalloc + kcalloc ( - E1 * E2 + E1, E2 , ...) ) Signed-off-by: NKees Cook <keescook@chromium.org>
-
- 16 5月, 2018 2 次提交
-
-
由 Takashi Sakamoto 提交于
This module has a table for parameters of each effects. This table is read-only and can have 'const' qualifier. This commit adds this optimization. Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Sakamoto 提交于
This module has some function-local strings just for printk therefore it can be merged into format string. This commit applies this optimization. Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-