From: Hans Zhang <18255117159@163.com> Date: Thu, 30 Apr 2026 16:29:54 +0000 (+0800) Subject: irqchip/gic-v3-its: Use FIELD_MODIFY() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5fd6f2154734f447e83b6de9a08d16848605191e;p=thirdparty%2Flinux.git irqchip/gic-v3-its: Use FIELD_MODIFY() Use FIELD_MODIFY() to remove open-coded bit manipulation. No functional change intended. Signed-off-by: Hans Zhang <18255117159@163.com> Signed-off-by: Thomas Gleixner Link: https://patch.msgid.link/20260430162954.44156-1-18255117159@163.com --- diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c index 291d7668cc8da..e78795b7acfd6 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -4784,8 +4784,7 @@ static bool __maybe_unused its_enable_quirk_cavium_22375(void *data) struct its_node *its = data; /* erratum 22375: only alloc 8MB table size (20 bits) */ - its->typer &= ~GITS_TYPER_DEVBITS; - its->typer |= FIELD_PREP(GITS_TYPER_DEVBITS, 20 - 1); + FIELD_MODIFY(GITS_TYPER_DEVBITS, &its->typer, 20 - 1); its->flags |= ITS_FLAGS_WORKAROUND_CAVIUM_22375; return true; @@ -4805,8 +4804,7 @@ static bool __maybe_unused its_enable_quirk_qdf2400_e0065(void *data) struct its_node *its = data; /* On QDF2400, the size of the ITE is 16Bytes */ - its->typer &= ~GITS_TYPER_ITT_ENTRY_SIZE; - its->typer |= FIELD_PREP(GITS_TYPER_ITT_ENTRY_SIZE, 16 - 1); + FIELD_MODIFY(GITS_TYPER_ITT_ENTRY_SIZE, &its->typer, 16 - 1); return true; } @@ -4840,10 +4838,8 @@ static bool __maybe_unused its_enable_quirk_socionext_synquacer(void *data) its->get_msi_base = its_irq_get_msi_base_pre_its; ids = ilog2(pre_its_window[1]) - 2; - if (device_ids(its) > ids) { - its->typer &= ~GITS_TYPER_DEVBITS; - its->typer |= FIELD_PREP(GITS_TYPER_DEVBITS, ids - 1); - } + if (device_ids(its) > ids) + FIELD_MODIFY(GITS_TYPER_DEVBITS, &its->typer, ids - 1); /* the pre-ITS breaks isolation, so disable MSI remapping */ its->msi_domain_flags &= ~IRQ_DOMAIN_FLAG_ISOLATED_MSI;