Skip to content

Commit 821e2ac

Browse files
committed
Merge branch 'for-next' into for-linus
Prepare for 6.8 merge. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2 parents b6ce6e6 + f90dffd commit 821e2ac

55 files changed

Lines changed: 4811 additions & 1012 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

MAINTAINERS

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8272,11 +8272,14 @@ L: linux-input@vger.kernel.org
82728272
S: Maintained
82738273
F: drivers/input/joystick/fsia6b.c
82748274

8275-
FOCUSRITE SCARLETT GEN 2/3 MIXER DRIVER
8275+
FOCUSRITE SCARLETT2 MIXER DRIVER (Scarlett Gen 2+ and Clarett)
82768276
M: Geoffrey D. Bennett <g@b4.vu>
82778277
L: alsa-devel@alsa-project.org (moderated for non-subscribers)
82788278
S: Maintained
8279-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
8279+
W: https://github.com/geoffreybennett/scarlett-gen2
8280+
B: https://github.com/geoffreybennett/scarlett-gen2/issues
8281+
T: git https://github.com/geoffreybennett/scarlett-gen2.git
8282+
F: include/uapi/sound/scarlett2.h
82808283
F: sound/usb/mixer_scarlett2.c
82818284

82828285
FORCEDETH GIGABIT ETHERNET DRIVER

include/linux/pci_ids.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3065,6 +3065,7 @@
30653065
#define PCI_DEVICE_ID_INTEL_82443GX_0 0x71a0
30663066
#define PCI_DEVICE_ID_INTEL_82443GX_2 0x71a2
30673067
#define PCI_DEVICE_ID_INTEL_82372FB_1 0x7601
3068+
#define PCI_DEVICE_ID_INTEL_HDA_ARL 0x7728
30683069
#define PCI_DEVICE_ID_INTEL_HDA_RPL_S 0x7a50
30693070
#define PCI_DEVICE_ID_INTEL_HDA_ADL_S 0x7ad0
30703071
#define PCI_DEVICE_ID_INTEL_HDA_MTL 0x7e28

include/sound/ac97_codec.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ int snd_ac97_pcm_close(struct ac97_pcm *pcm);
410410
int snd_ac97_pcm_double_rate_rules(struct snd_pcm_runtime *runtime);
411411

412412
/* ad hoc AC97 device driver access */
413-
extern struct bus_type ac97_bus_type;
413+
extern const struct bus_type ac97_bus_type;
414414

415415
/* AC97 platform_data adding function */
416416
static inline void snd_ac97_dev_add_pdata(struct snd_ac97 *ac97, void *data)

include/sound/hda_codec.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ struct hda_pcm_stream {
141141
hda_nid_t nid; /* default NID to query rates/formats/bps, or set up */
142142
u32 rates; /* supported rates */
143143
u64 formats; /* supported formats (SNDRV_PCM_FMTBIT_) */
144+
u32 subformats; /* for S32_LE format, SNDRV_PCM_SUBFMTBIT_* */
144145
unsigned int maxbps; /* supported max. bit per sample */
145146
const struct snd_pcm_chmap_elem *chmap; /* chmap to override */
146147
struct hda_pcm_ops ops;
@@ -448,8 +449,8 @@ void __snd_hda_codec_cleanup_stream(struct hda_codec *codec, hda_nid_t nid,
448449
#define snd_hda_codec_cleanup_stream(codec, nid) \
449450
__snd_hda_codec_cleanup_stream(codec, nid, 0)
450451

451-
#define snd_hda_query_supported_pcm(codec, nid, ratesp, fmtsp, bpsp) \
452-
snd_hdac_query_supported_pcm(&(codec)->core, nid, ratesp, fmtsp, bpsp)
452+
#define snd_hda_query_supported_pcm(codec, nid, ratesp, fmtsp, subfmtp, bpsp) \
453+
snd_hdac_query_supported_pcm(&(codec)->core, nid, ratesp, fmtsp, subfmtp, bpsp)
453454
#define snd_hda_is_supported_format(codec, nid, fmt) \
454455
snd_hdac_is_supported_format(&(codec)->core, nid, fmt)
455456

include/sound/hdaudio.h

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ struct hda_device_id;
3333
/*
3434
* exported bus type
3535
*/
36-
extern struct bus_type snd_hda_bus_type;
36+
extern const struct bus_type snd_hda_bus_type;
3737

3838
/*
3939
* generic arrays
@@ -140,13 +140,14 @@ int snd_hdac_get_connections(struct hdac_device *codec, hda_nid_t nid,
140140
hda_nid_t *conn_list, int max_conns);
141141
int snd_hdac_get_sub_nodes(struct hdac_device *codec, hda_nid_t nid,
142142
hda_nid_t *start_id);
143-
unsigned int snd_hdac_calc_stream_format(unsigned int rate,
144-
unsigned int channels,
145-
snd_pcm_format_t format,
146-
unsigned int maxbps,
147-
unsigned short spdif_ctls);
143+
unsigned int snd_hdac_stream_format_bits(snd_pcm_format_t format, snd_pcm_subformat_t subformat,
144+
unsigned int maxbits);
145+
unsigned int snd_hdac_stream_format(unsigned int channels, unsigned int bits, unsigned int rate);
146+
unsigned int snd_hdac_spdif_stream_format(unsigned int channels, unsigned int bits,
147+
unsigned int rate, unsigned short spdif_ctls);
148148
int snd_hdac_query_supported_pcm(struct hdac_device *codec, hda_nid_t nid,
149-
u32 *ratesp, u64 *formatsp, unsigned int *bpsp);
149+
u32 *ratesp, u64 *formatsp, u32 *subformatsp,
150+
unsigned int *bpsp);
150151
bool snd_hdac_is_supported_format(struct hdac_device *codec, hda_nid_t nid,
151152
unsigned int format);
152153

include/sound/pcm.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
struct snd_pcm_hardware {
3333
unsigned int info; /* SNDRV_PCM_INFO_* */
3434
u64 formats; /* SNDRV_PCM_FMTBIT_* */
35+
u32 subformats; /* for S32_LE, SNDRV_PCM_SUBFMTBIT_* */
3536
unsigned int rates; /* SNDRV_PCM_RATE_* */
3637
unsigned int rate_min; /* min rate */
3738
unsigned int rate_max; /* max rate */
@@ -217,6 +218,12 @@ struct snd_pcm_ops {
217218
#define SNDRV_PCM_FMTBIT_U20 SNDRV_PCM_FMTBIT_U20_BE
218219
#endif
219220

221+
#define _SNDRV_PCM_SUBFMTBIT(fmt) BIT((__force int)SNDRV_PCM_SUBFORMAT_##fmt)
222+
#define SNDRV_PCM_SUBFMTBIT_STD _SNDRV_PCM_SUBFMTBIT(STD)
223+
#define SNDRV_PCM_SUBFMTBIT_MSBITS_MAX _SNDRV_PCM_SUBFMTBIT(MSBITS_MAX)
224+
#define SNDRV_PCM_SUBFMTBIT_MSBITS_20 _SNDRV_PCM_SUBFMTBIT(MSBITS_20)
225+
#define SNDRV_PCM_SUBFMTBIT_MSBITS_24 _SNDRV_PCM_SUBFMTBIT(MSBITS_24)
226+
220227
struct snd_pcm_file {
221228
struct snd_pcm_substream *substream;
222229
int no_compat_mmap;

include/sound/pcm_params.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -362,6 +362,8 @@ static inline int params_physical_width(const struct snd_pcm_hw_params *p)
362362
return snd_pcm_format_physical_width(params_format(p));
363363
}
364364

365+
int snd_pcm_hw_params_bits(const struct snd_pcm_hw_params *p);
366+
365367
static inline void
366368
params_set_format(struct snd_pcm_hw_params *p, snd_pcm_format_t fmt)
367369
{

include/sound/soc.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -620,6 +620,7 @@ enum snd_soc_trigger_order {
620620
struct snd_soc_pcm_stream {
621621
const char *stream_name;
622622
u64 formats; /* SNDRV_PCM_FMTBIT_* */
623+
u32 subformats; /* for S32_LE format, SNDRV_PCM_SUBFMTBIT_* */
623624
unsigned int rates; /* SNDRV_PCM_RATE_* */
624625
unsigned int rate_min; /* min rate */
625626
unsigned int rate_max; /* max rate */

include/sound/tas2781.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#define TAS2781_DRV_VER 1
2323
#define SMARTAMP_MODULE_NAME "tas2781"
2424
#define TAS2781_GLOBAL_ADDR 0x40
25+
#define TAS2563_GLOBAL_ADDR 0x48
2526
#define TASDEVICE_RATES (SNDRV_PCM_RATE_44100 |\
2627
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_96000 |\
2728
SNDRV_PCM_RATE_88200)
@@ -121,6 +122,8 @@ struct tasdevice_priv {
121122
bool force_fwload_status;
122123
bool playback_started;
123124
bool isacpi;
125+
unsigned int global_addr;
126+
124127
int (*fw_parse_variable_header)(struct tasdevice_priv *tas_priv,
125128
const struct firmware *fmw, int offset);
126129
int (*fw_parse_program_data)(struct tasdevice_priv *tas_priv,
@@ -131,6 +134,9 @@ struct tasdevice_priv {
131134
const struct firmware *fmw, int offset);
132135
int (*tasdevice_load_block)(struct tasdevice_priv *tas_priv,
133136
struct tasdev_blk *block);
137+
138+
int (*save_calibration)(struct tasdevice_priv *tas_priv);
139+
void (*apply_calibration)(struct tasdevice_priv *tas_priv);
134140
};
135141

136142
void tas2781_reset(struct tasdevice_priv *tas_dev);
@@ -139,6 +145,8 @@ int tascodec_init(struct tasdevice_priv *tas_priv, void *codec,
139145
struct tasdevice_priv *tasdevice_kzalloc(struct i2c_client *i2c);
140146
int tasdevice_init(struct tasdevice_priv *tas_priv);
141147
void tasdevice_remove(struct tasdevice_priv *tas_priv);
148+
int tasdevice_save_calibration(struct tasdevice_priv *tas_priv);
149+
void tasdevice_apply_calibration(struct tasdevice_priv *tas_priv);
142150
int tasdevice_dev_read(struct tasdevice_priv *tas_priv,
143151
unsigned short chn, unsigned int reg, unsigned int *value);
144152
int tasdevice_dev_write(struct tasdevice_priv *tas_priv,

include/uapi/sound/asound.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ struct snd_hwdep_dsp_image {
142142
* *
143143
*****************************************************************************/
144144

145-
#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 15)
145+
#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 16)
146146

147147
typedef unsigned long snd_pcm_uframes_t;
148148
typedef signed long snd_pcm_sframes_t;
@@ -267,7 +267,10 @@ typedef int __bitwise snd_pcm_format_t;
267267

268268
typedef int __bitwise snd_pcm_subformat_t;
269269
#define SNDRV_PCM_SUBFORMAT_STD ((__force snd_pcm_subformat_t) 0)
270-
#define SNDRV_PCM_SUBFORMAT_LAST SNDRV_PCM_SUBFORMAT_STD
270+
#define SNDRV_PCM_SUBFORMAT_MSBITS_MAX ((__force snd_pcm_subformat_t) 1)
271+
#define SNDRV_PCM_SUBFORMAT_MSBITS_20 ((__force snd_pcm_subformat_t) 2)
272+
#define SNDRV_PCM_SUBFORMAT_MSBITS_24 ((__force snd_pcm_subformat_t) 3)
273+
#define SNDRV_PCM_SUBFORMAT_LAST SNDRV_PCM_SUBFORMAT_MSBITS_24
271274

272275
#define SNDRV_PCM_INFO_MMAP 0x00000001 /* hardware supports mmap */
273276
#define SNDRV_PCM_INFO_MMAP_VALID 0x00000002 /* period data are valid during transfer */

0 commit comments

Comments
 (0)