linux/Documentation/scsi
Daniil Lunev ca452621b8 scsi: ufs: core: Read device property for ref clock
UFS storage devices require bRefClkFreq attribute to be set to operate
correctly at high speed mode. The necessary value is determined by what the
SoC / board supports. The standard doesn't specify a method to query the
value, so the information needs to be fed in separately.

DT information feeds into setting up the clock framework, so platforms
using DT can get the UFS reference clock frequency from the clock
framework. A special node "ref_clk" from the clock array for the UFS
controller node is used as the source for the information.

On the platforms that do not use DT (e.g. Intel), the alternative mechanism
to feed the intended reference clock frequency is necessary. Specifying the
necessary information in DSD of the UFS controller ACPI node is an
alternative mechanism proposed in this patch. Those can be accessed via
firmware property facility in the kernel and in many ways simillar to
querying properties defined in DT.

This patch introduces a small helper function to query a predetermined ACPI
supplied property of the UFS controller, and uses it to attempt retrieving
reference clock value, unless that was already done by the clock
infrastructure.

Link: https://lore.kernel.org/r/20220715210230.1.I365d113d275117dee8fd055ce4fc7e6aebd0bce9@changeid
Reviewed-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Daniil Lunev <dlunev@chromium.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2022-07-18 23:04:12 -04:00
..
scsi_transport_srp scsi: docs: include SCSI Transport SRP diagram at the doc body 2020-03-11 23:07:57 -04:00
53c700.rst scsi: docs: convert 53c700.txt to ReST 2020-03-11 23:07:58 -04:00
aacraid.rst scsi: docs: convert aacraid.txt to ReST 2020-03-11 23:07:58 -04:00
advansys.rst scsi: advansys: docs: Eliminate duplicated word 2020-07-08 01:32:11 -04:00
aha152x.rst scsi: docs: convert aha152x.txt to ReST 2020-03-11 23:07:58 -04:00
aic7xxx.rst scsi: docs: convert aic7xxx.txt to ReST 2020-03-11 23:07:58 -04:00
aic79xx.rst scsi: docs: convert aic79xx.txt to ReST 2020-03-11 23:07:58 -04:00
arcmsr_spec.rst scsi: docs: convert arcmsr_spec.txt to ReST 2020-03-11 23:08:03 -04:00
bfa.rst scsi: docs: convert bfa.txt to ReST 2020-03-11 23:07:58 -04:00
bnx2fc.rst scsi: docs: convert bnx2fc.txt to ReST 2020-03-11 23:07:59 -04:00
BusLogic.rst Buslogic: remove ISA support 2021-04-06 09:28:17 -06:00
ChangeLog.arcmsr
ChangeLog.ips
ChangeLog.lpfc Documentation: Fix multiple typo in Documentation 2012-03-07 16:08:24 +01:00
ChangeLog.megaraid Documentation: megaraid: fix spelling "consistend" => "consistent" 2021-03-25 11:49:40 -06:00
ChangeLog.megaraid_sas scripts/spelling.txt: add "varible" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
ChangeLog.ncr53c8xx
ChangeLog.sym53c8xx
ChangeLog.sym53c8xx_2
cxgb3i.rst scsi: docs: convert cxgb3i.txt to ReST 2020-03-11 23:07:59 -04:00
dc395x.rst scsi: docs: convert dc395x.txt to ReST 2020-03-11 23:07:59 -04:00
dpti.rst scsi: docs: convert dpti.txt to ReST 2020-03-11 23:07:59 -04:00
FlashPoint.rst scsi: docs: convert FlashPoint.txt to ReST 2020-03-11 23:07:59 -04:00
g_NCR5380.rst scsi: docs: convert g_NCR5380.txt to ReST 2020-03-11 23:08:00 -04:00
hpsa.rst scsi: docs: convert hpsa.txt to ReST 2020-03-11 23:08:00 -04:00
hptiop.rst scsi: docs: convert hptiop.txt to ReST 2020-03-11 23:08:00 -04:00
index.rst scsi: docs: convert arcmsr_spec.txt to ReST 2020-03-11 23:08:03 -04:00
libsas.rst scsi: libsas: Delete lldd_clear_aca callback 2022-02-19 15:59:34 -05:00
LICENSE.FlashPoint
link_power_management_policy.rst scsi: docs: convert link_power_management_policy.txt to ReST 2020-03-11 23:08:00 -04:00
lpfc.rst scsi: docs: convert lpfc.txt to ReST 2020-03-11 23:08:00 -04:00
megaraid.rst scsi: docs: convert megaraid.txt to ReST 2020-03-11 23:08:00 -04:00
ncr53c8xx.rst scsi: docs: convert ncr53c8xx.txt to ReST 2020-03-11 23:08:01 -04:00
NinjaSCSI.rst scsi: docs: convert NinjaSCSI.txt to ReST 2020-03-11 23:08:01 -04:00
ppa.rst scsi: docs: convert ppa.txt to ReST 2020-03-11 23:08:01 -04:00
qlogicfas.rst scsi: docs: convert qlogicfas.txt to ReST 2020-03-11 23:08:01 -04:00
scsi_eh.rst scsi: core: docs: Update notes about scsi_times_out 2022-02-27 21:32:28 -05:00
scsi_fc_transport.rst scsi: docs: convert scsi_fc_transport.txt to ReST 2020-03-11 23:08:01 -04:00
scsi_mid_low_api.rst scsi: core: Kill message byte 2021-05-31 22:48:24 -04:00
scsi-changer.rst scsi: docs: convert scsi-changer.txt to ReST 2020-03-11 23:08:01 -04:00
scsi-generic.rst scsi: docs: convert scsi-generic.txt to ReST 2020-03-11 23:08:02 -04:00
scsi-parameters.rst SCSI misc on 20210219 2021-02-22 10:24:58 -08:00
scsi.rst scsi: docs: convert scsi.txt to ReST 2020-03-11 23:08:02 -04:00
sd-parameters.rst scsi: docs: convert sd-parameters.txt to ReST 2020-03-11 23:08:02 -04:00
smartpqi.rst scsi: smartpqi: Update documentation 2020-09-02 22:49:06 -04:00
st.rst scsi: docs: convert st.txt to ReST 2020-03-11 23:08:02 -04:00
sym53c8xx_2.rst scsi: docs: convert sym53c8xx_2.txt to ReST 2020-03-11 23:08:03 -04:00
sym53c500_cs.rst scsi: docs: convert sym53c500_cs.txt to ReST 2020-03-11 23:08:03 -04:00
tcm_qla2xxx.rst scsi: docs: convert tcm_qla2xxx.txt to ReST 2020-03-11 23:08:03 -04:00
ufs.rst scsi: ufs: core: Read device property for ref clock 2022-07-18 23:04:12 -04:00
wd719x.rst scsi: docs: convert wd719x.txt to ReST 2020-03-11 23:08:03 -04:00