soundwire: intel_ace2x: cleanup DOAIS/DODS settings
Use two variables to save the settings, in preparation of a follow-up change to read values from _DSD properties. Starting with this patch, the bitfields will be reordered and listed MSB-first, as shown in the hardware documentation. Also note that the default for DOAIS is changed from 0x1 (copy-pasted value?) to 0x3 (hardware default). Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20240429004321.2399754-2-yung-chuan.liao@linux.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
a36ec5f762
commit
80962485f6
@ -25,12 +25,17 @@
|
||||
static void intel_shim_vs_init(struct sdw_intel *sdw)
|
||||
{
|
||||
void __iomem *shim_vs = sdw->link_res->shim_vs;
|
||||
u16 doais;
|
||||
u16 dods;
|
||||
u16 act;
|
||||
|
||||
doais = 0x3;
|
||||
dods = 0x1;
|
||||
|
||||
act = intel_readw(shim_vs, SDW_SHIM2_INTEL_VS_ACTMCTL);
|
||||
u16p_replace_bits(&act, 0x1, SDW_SHIM2_INTEL_VS_ACTMCTL_DOAIS);
|
||||
u16p_replace_bits(&act, doais, SDW_SHIM2_INTEL_VS_ACTMCTL_DOAIS);
|
||||
u16p_replace_bits(&act, dods, SDW_SHIM2_INTEL_VS_ACTMCTL_DODS);
|
||||
act |= SDW_SHIM2_INTEL_VS_ACTMCTL_DACTQE;
|
||||
act |= SDW_SHIM2_INTEL_VS_ACTMCTL_DODS;
|
||||
intel_writew(shim_vs, SDW_SHIM2_INTEL_VS_ACTMCTL, act);
|
||||
usleep_range(10, 15);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user