Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ALSA: hda: cleanup definitions for multi-link registers

For some reason two masks are used without the AZX prefix, and the
pattern MLCLT should be ML_LCTL for consistency.

Pure rename, no functionality change.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://lore.kernel.org/r/20220822190044.170495-1-pierre-louis.bossart@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>

authored by

Pierre-Louis Bossart and committed by
Takashi Iwai
18afcf90 b01104fc

+26 -24
+11 -9
include/sound/hda_register.h
··· 260 260 261 261 #define AZX_REG_ML_LCAP 0x00 262 262 #define AZX_REG_ML_LCTL 0x04 263 + 264 + #define AZX_ML_LCTL_CPA BIT(23) 265 + #define AZX_ML_LCTL_CPA_SHIFT 23 266 + #define AZX_ML_LCTL_SPA BIT(16) 267 + #define AZX_ML_LCTL_SPA_SHIFT 16 268 + #define AZX_ML_LCTL_SCF GENMASK(3, 0) 269 + 263 270 #define AZX_REG_ML_LOSIDV 0x08 271 + 272 + /* bit0 is reserved, with BIT(1) mapping to stream1 */ 273 + #define AZX_ML_LOSIDV_STREAM_MASK 0xFFFE 274 + 264 275 #define AZX_REG_ML_LSDIID 0x0C 265 276 #define AZX_REG_ML_LPSOO 0x10 266 277 #define AZX_REG_ML_LPSIO 0x12 267 278 #define AZX_REG_ML_LWALFC 0x18 268 279 #define AZX_REG_ML_LOUTPAY 0x20 269 280 #define AZX_REG_ML_LINPAY 0x30 270 - 271 - /* bit0 is reserved, with BIT(1) mapping to stream1 */ 272 - #define ML_LOSIDV_STREAM_MASK 0xFFFE 273 - 274 - #define ML_LCTL_SCF_MASK 0xF 275 - #define AZX_MLCTL_SPA (0x1 << 16) 276 - #define AZX_MLCTL_CPA (0x1 << 23) 277 - #define AZX_MLCTL_SPA_SHIFT 16 278 - #define AZX_MLCTL_CPA_SHIFT 23 279 281 280 282 /* registers for DMA Resume Capability Structure */ 281 283 #define AZX_DRSM_CAP_ID 0x5
+8 -8
sound/hda/ext/hdac_ext_controller.c
··· 170 170 { 171 171 int timeout; 172 172 u32 val; 173 - int mask = (1 << AZX_MLCTL_CPA_SHIFT); 173 + int mask = (1 << AZX_ML_LCTL_CPA_SHIFT); 174 174 175 175 udelay(3); 176 176 timeout = 150; ··· 178 178 do { 179 179 val = readl(link->ml_addr + AZX_REG_ML_LCTL); 180 180 if (enable) { 181 - if (((val & mask) >> AZX_MLCTL_CPA_SHIFT)) 181 + if (((val & mask) >> AZX_ML_LCTL_CPA_SHIFT)) 182 182 return 0; 183 183 } else { 184 - if (!((val & mask) >> AZX_MLCTL_CPA_SHIFT)) 184 + if (!((val & mask) >> AZX_ML_LCTL_CPA_SHIFT)) 185 185 return 0; 186 186 } 187 187 udelay(3); ··· 197 197 int snd_hdac_ext_bus_link_power_up(struct hdac_ext_link *link) 198 198 { 199 199 snd_hdac_updatel(link->ml_addr, AZX_REG_ML_LCTL, 200 - AZX_MLCTL_SPA, AZX_MLCTL_SPA); 200 + AZX_ML_LCTL_SPA, AZX_ML_LCTL_SPA); 201 201 202 202 return check_hdac_link_power_active(link, true); 203 203 } ··· 209 209 */ 210 210 int snd_hdac_ext_bus_link_power_down(struct hdac_ext_link *link) 211 211 { 212 - snd_hdac_updatel(link->ml_addr, AZX_REG_ML_LCTL, AZX_MLCTL_SPA, 0); 212 + snd_hdac_updatel(link->ml_addr, AZX_REG_ML_LCTL, AZX_ML_LCTL_SPA, 0); 213 213 214 214 return check_hdac_link_power_active(link, false); 215 215 } ··· 226 226 227 227 list_for_each_entry(hlink, &bus->hlink_list, list) { 228 228 snd_hdac_updatel(hlink->ml_addr, AZX_REG_ML_LCTL, 229 - AZX_MLCTL_SPA, AZX_MLCTL_SPA); 229 + AZX_ML_LCTL_SPA, AZX_ML_LCTL_SPA); 230 230 ret = check_hdac_link_power_active(hlink, true); 231 231 if (ret < 0) 232 232 return ret; ··· 247 247 248 248 list_for_each_entry(hlink, &bus->hlink_list, list) { 249 249 snd_hdac_updatel(hlink->ml_addr, AZX_REG_ML_LCTL, 250 - AZX_MLCTL_SPA, 0); 250 + AZX_ML_LCTL_SPA, 0); 251 251 ret = check_hdac_link_power_active(hlink, false); 252 252 if (ret < 0) 253 253 return ret; ··· 281 281 * clear the register to invalidate all the output streams 282 282 */ 283 283 snd_hdac_updatew(link->ml_addr, AZX_REG_ML_LOSIDV, 284 - ML_LOSIDV_STREAM_MASK, 0); 284 + AZX_ML_LOSIDV_STREAM_MASK, 0); 285 285 /* 286 286 * wait for 521usec for codec to report status 287 287 * HDA spec section 4.3 - Codec Discovery
+7 -7
sound/pci/hda/hda_intel.c
··· 489 489 * If other links are enabled for stream, they need similar fix 490 490 */ 491 491 val = readl(bus->mlcap + AZX_ML_BASE + AZX_REG_ML_LCTL); 492 - val &= ~AZX_MLCTL_SPA; 493 - val |= state << AZX_MLCTL_SPA_SHIFT; 492 + val &= ~AZX_ML_LCTL_SPA; 493 + val |= state << AZX_ML_LCTL_SPA_SHIFT; 494 494 writel(val, bus->mlcap + AZX_ML_BASE + AZX_REG_ML_LCTL); 495 495 /* wait for CPA */ 496 496 timeout = 50; 497 497 while (timeout) { 498 498 if (((readl(bus->mlcap + AZX_ML_BASE + AZX_REG_ML_LCTL)) & 499 - AZX_MLCTL_CPA) == (state << AZX_MLCTL_CPA_SHIFT)) 499 + AZX_ML_LCTL_CPA) == (state << AZX_ML_LCTL_CPA_SHIFT)) 500 500 return 0; 501 501 timeout--; 502 502 udelay(10); ··· 514 514 /* 0. check lctl register value is correct or not */ 515 515 val = readl(bus->mlcap + AZX_ML_BASE + AZX_REG_ML_LCTL); 516 516 /* if SCF is already set, let's use it */ 517 - if ((val & ML_LCTL_SCF_MASK) != 0) 517 + if ((val & AZX_ML_LCTL_SCF) != 0) 518 518 return; 519 519 520 520 /* 521 521 * Before operating on SPA, CPA must match SPA. 522 522 * Any deviation may result in undefined behavior. 523 523 */ 524 - if (((val & AZX_MLCTL_SPA) >> AZX_MLCTL_SPA_SHIFT) != 525 - ((val & AZX_MLCTL_CPA) >> AZX_MLCTL_CPA_SHIFT)) 524 + if (((val & AZX_ML_LCTL_SPA) >> AZX_ML_LCTL_SPA_SHIFT) != 525 + ((val & AZX_ML_LCTL_CPA) >> AZX_ML_LCTL_CPA_SHIFT)) 526 526 return; 527 527 528 528 /* 1. turn link down: set SPA to 0 and wait CPA to 0 */ ··· 532 532 goto set_spa; 533 533 534 534 /* 2. update SCF to select a properly audio clock*/ 535 - val &= ~ML_LCTL_SCF_MASK; 535 + val &= ~AZX_ML_LCTL_SCF; 536 536 val |= intel_get_lctl_scf(chip); 537 537 writel(val, bus->mlcap + AZX_ML_BASE + AZX_REG_ML_LCTL); 538 538