mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 08:33:17 +02:00
scsi: ufs: core: Do not write interrupt enable register unnecessarily
Write a new value to the interrupt enable register only if it is different from the old value, thereby saving a register write operation. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Link: https://lore.kernel.org/r/20250723165856.145750-8-adrian.hunter@intel.com Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
b4c0cab4eb
commit
d402b20f9c
|
|
@ -371,10 +371,11 @@ EXPORT_SYMBOL_GPL(ufshcd_disable_irq);
|
|||
*/
|
||||
static void ufshcd_enable_intr(struct ufs_hba *hba, u32 intrs)
|
||||
{
|
||||
u32 set = ufshcd_readl(hba, REG_INTERRUPT_ENABLE);
|
||||
u32 old_val = ufshcd_readl(hba, REG_INTERRUPT_ENABLE);
|
||||
u32 new_val = old_val | intrs;
|
||||
|
||||
set |= intrs;
|
||||
ufshcd_writel(hba, set, REG_INTERRUPT_ENABLE);
|
||||
if (new_val != old_val)
|
||||
ufshcd_writel(hba, new_val, REG_INTERRUPT_ENABLE);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -384,10 +385,11 @@ static void ufshcd_enable_intr(struct ufs_hba *hba, u32 intrs)
|
|||
*/
|
||||
static void ufshcd_disable_intr(struct ufs_hba *hba, u32 intrs)
|
||||
{
|
||||
u32 set = ufshcd_readl(hba, REG_INTERRUPT_ENABLE);
|
||||
u32 old_val = ufshcd_readl(hba, REG_INTERRUPT_ENABLE);
|
||||
u32 new_val = old_val & ~intrs;
|
||||
|
||||
set &= ~intrs;
|
||||
ufshcd_writel(hba, set, REG_INTERRUPT_ENABLE);
|
||||
if (new_val != old_val)
|
||||
ufshcd_writel(hba, new_val, REG_INTERRUPT_ENABLE);
|
||||
}
|
||||
|
||||
static void ufshcd_configure_wb(struct ufs_hba *hba)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user