Message ID | 20220708141612.1.Ice2e8173bd0937c7c4898b112350120063572269@changeid |
---|---|
State | New |
Headers | show |
Series | scsi: ufs: ufs-pci: default clock frequency for Intel's UFS controller | expand |
On 8/07/22 07:17, Daniil Lunev wrote: > ARM platforms rely on 'ref_clk' of a UFS controller's node in DTS to set > up the proper bRefClkFreq for the UFS storage device. The facility is > not available on x86. To circumvene that, default the parameter, > responsible for carrying the value to the UFS storage device > initialization, to the one that Intel's controllers support. This is > required to support provisioning of UFS storage devices from userspace, > without relying on FW and/or bootloader to make the necessary > preparations. > > Signed-off-by: Daniil Lunev <dlunev@chromium.org> > --- > > drivers/ufs/host/ufshcd-pci.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/ufs/host/ufshcd-pci.c b/drivers/ufs/host/ufshcd-pci.c > index 04166bda41daa..a6f9222cbea74 100644 > --- a/drivers/ufs/host/ufshcd-pci.c > +++ b/drivers/ufs/host/ufshcd-pci.c > @@ -336,6 +336,7 @@ static int ufs_intel_common_init(struct ufs_hba *hba) > struct intel_host *host; > > hba->caps |= UFSHCD_CAP_RPM_AUTOSUSPEND; > + hba->dev_ref_clk_freq = REF_CLK_FREQ_19_2_MHZ; I have seen requirement documents saying 19.2 or 38.4, so this is would be a problem since it overwrites the value even if it has been set correctly to something other than 19.2 MHz. > > host = devm_kzalloc(hba->dev, sizeof(*host), GFP_KERNEL); > if (!host)
diff --git a/drivers/ufs/host/ufshcd-pci.c b/drivers/ufs/host/ufshcd-pci.c index 04166bda41daa..a6f9222cbea74 100644 --- a/drivers/ufs/host/ufshcd-pci.c +++ b/drivers/ufs/host/ufshcd-pci.c @@ -336,6 +336,7 @@ static int ufs_intel_common_init(struct ufs_hba *hba) struct intel_host *host; hba->caps |= UFSHCD_CAP_RPM_AUTOSUSPEND; + hba->dev_ref_clk_freq = REF_CLK_FREQ_19_2_MHZ; host = devm_kzalloc(hba->dev, sizeof(*host), GFP_KERNEL); if (!host)
ARM platforms rely on 'ref_clk' of a UFS controller's node in DTS to set up the proper bRefClkFreq for the UFS storage device. The facility is not available on x86. To circumvene that, default the parameter, responsible for carrying the value to the UFS storage device initialization, to the one that Intel's controllers support. This is required to support provisioning of UFS storage devices from userspace, without relying on FW and/or bootloader to make the necessary preparations. Signed-off-by: Daniil Lunev <dlunev@chromium.org> --- drivers/ufs/host/ufshcd-pci.c | 1 + 1 file changed, 1 insertion(+)