mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 11:21:26 -04:00
net: ipa: Fix programming of QTIME_TIMESTAMP_CFG
The 'val' variable gets overwritten multiple times, discarding previous
values. Looking at the git log shows these should be combined with |=
instead.
Fixes: 9265a4f0f0 ("net: ipa: define even more IPA register fields")
Link: https://sashiko.dev/#/patchset/20260403-milos-ipa-v1-0-01e9e4e03d3e%40fairphone.com?part=4
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://patch.msgid.link/20260409-ipa-fixes-v1-1-a817c30678ac@fairphone.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
2bb6379416
commit
de08f95856
@@ -361,7 +361,7 @@ static void ipa_qtime_config(struct ipa *ipa)
|
||||
{
|
||||
const struct reg *reg;
|
||||
u32 offset;
|
||||
u32 val;
|
||||
u32 val = 0;
|
||||
|
||||
/* Timer clock divider must be disabled when we change the rate */
|
||||
reg = ipa_reg(ipa, TIMERS_XO_CLK_DIV_CFG);
|
||||
@@ -374,8 +374,8 @@ static void ipa_qtime_config(struct ipa *ipa)
|
||||
val |= reg_bit(reg, DPL_TIMESTAMP_SEL);
|
||||
}
|
||||
/* Configure tag and NAT Qtime timestamp resolution as well */
|
||||
val = reg_encode(reg, TAG_TIMESTAMP_LSB, TAG_TIMESTAMP_SHIFT);
|
||||
val = reg_encode(reg, NAT_TIMESTAMP_LSB, NAT_TIMESTAMP_SHIFT);
|
||||
val |= reg_encode(reg, TAG_TIMESTAMP_LSB, TAG_TIMESTAMP_SHIFT);
|
||||
val |= reg_encode(reg, NAT_TIMESTAMP_LSB, NAT_TIMESTAMP_SHIFT);
|
||||
|
||||
iowrite32(val, ipa->reg_virt + reg_offset(reg));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user