[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<PH7PR16MB61965FA0A8DFB0877CE51690E543A@PH7PR16MB6196.namprd16.prod.outlook.com>
Date: Thu, 3 Jul 2025 06:43:16 +0000
From: Avri Altman <Avri.Altman@...disk.com>
To: Nitin Rawat <quic_nitirawa@...cinc.com>, "mani@...nel.org"
<mani@...nel.org>, "James.Bottomley@...senPartnership.com"
<James.Bottomley@...senPartnership.com>, "martin.petersen@...cle.com"
<martin.petersen@...cle.com>, "bvanassche@....org" <bvanassche@....org>,
"neil.armstrong@...aro.org" <neil.armstrong@...aro.org>,
"konrad.dybcio@....qualcomm.com" <konrad.dybcio@....qualcomm.com>
CC: "linux-arm-msm@...r.kernel.org" <linux-arm-msm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>
Subject: RE: [PATCH V1 2/2] scsi: ufs: qcom: Enable QUnipro Internal Clock
Gating
> +/**
> + * ufshcd_dme_rmw - get modify set a dme attribute
> + * @hba - per adapter instance
> + * @mask - mask to apply on read value
> + * @val - actual value to write
> + * @attr - dme attribute
> + */
> +static inline int ufshcd_dme_rmw(struct ufs_hba *hba, u32 mask,
> + u32 val, u32 attr) {
> + u32 cfg = 0;
> + int err = 0;
> +
> + err = ufshcd_dme_get(hba, UIC_ARG_MIB(attr), &cfg);
> + if (err)
> + goto out;
> +
> + cfg &= ~mask;
> + cfg |= (val & mask);
> +
> + err = ufshcd_dme_set(hba, UIC_ARG_MIB(attr), cfg);
> +
> +out:
> + return err;
> +}
Might be useful to share this with other vendors as well. Maybe in ufshcd-priv.h ?
Thanks,
Avri
Powered by blists - more mailing lists