diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/scsi/ufs/ufs-qcom.h | 10 | ||||
| -rw-r--r-- | include/linux/scsi/ufs/ufshcd.h | 9 |
2 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/scsi/ufs/ufs-qcom.h b/include/linux/scsi/ufs/ufs-qcom.h index 047d38987f85..dee92b9ee54f 100644 --- a/include/linux/scsi/ufs/ufs-qcom.h +++ b/include/linux/scsi/ufs/ufs-qcom.h @@ -182,6 +182,13 @@ struct ufs_qcom_ice_data { bool crypto_engine_err; }; +/* Host controller hardware version: major.minor.step */ +struct ufs_hw_version { + u16 step; + u16 minor; + u8 major; +}; + struct ufs_qcom_host { /* * Set this capability if host controller supports the QUniPro mode @@ -203,6 +210,9 @@ struct ufs_qcom_host { bool is_lane_clks_enabled; bool sec_cfg_updated; struct ufs_qcom_ice_data ice; + void __iomem *dev_ref_clk_ctrl_mmio; + bool is_dev_ref_clk_enabled; + struct ufs_hw_version hw_ver; }; #define ufs_qcom_is_link_off(hba) ufshcd_is_link_off(hba) diff --git a/include/linux/scsi/ufs/ufshcd.h b/include/linux/scsi/ufs/ufshcd.h index e3a5c23f39ea..b4d7b5f60995 100644 --- a/include/linux/scsi/ufs/ufshcd.h +++ b/include/linux/scsi/ufs/ufshcd.h @@ -55,6 +55,7 @@ #include <linux/completion.h> #include <linux/regulator/consumer.h> #include <linux/pm_qos.h> +#include <linux/scsi/ufs/unipro.h> #include <asm/irq.h> #include <asm/byteorder.h> @@ -940,6 +941,14 @@ static inline int ufshcd_dme_peer_get(struct ufs_hba *hba, int ufshcd_read_device_desc(struct ufs_hba *hba, u8 *buf, u32 size); +static inline bool ufshcd_is_hs_mode(struct ufs_pa_layer_attr *pwr_info) +{ + return (pwr_info->pwr_rx == FAST_MODE || + pwr_info->pwr_rx == FASTAUTO_MODE) && + (pwr_info->pwr_tx == FAST_MODE || + pwr_info->pwr_tx == FASTAUTO_MODE); +} + #define ASCII_STD true #define UTF16_STD false int ufshcd_read_string_desc(struct ufs_hba *hba, int desc_index, u8 *buf, |
