diff options
| author | Vincent Zhang <xunz@nvidia.com> | 2017-11-28 03:10:18 -0500 |
|---|---|---|
| committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-11-29 01:50:51 -0500 |
| commit | cde2ed6d7db3e5ad3b39cd2a4604474fd906eb01 (patch) | |
| tree | c741f9ff4a67c66792210dce5c8cb4d65cbfb7a4 /drivers/scsi | |
| parent | bfce2e5d4c0ec8015eb5051a8259fb0e73a2f511 (diff) | |
scsi: ufs: Expose UFS power info to debugfs node
Bug 200368330
JIRA EM-5334
Change-Id: Icdb16f4017906386275c74b667abf4cad8aa54b7
Signed-off-by: Vincent Zhang <xunz@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1606116
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Abhinav Site <asite@nvidia.com>
Reviewed-by: Vipin Kumar <vipink@nvidia.com>
Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com>
Reviewed-by: Naveen Kumar Arepalli <naveenk@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/scsi')
| -rw-r--r-- | drivers/scsi/ufs/ufs-tegra.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/scsi/ufs/ufs-tegra.c b/drivers/scsi/ufs/ufs-tegra.c index 3d6b04c99..1bdec74d0 100644 --- a/drivers/scsi/ufs/ufs-tegra.c +++ b/drivers/scsi/ufs/ufs-tegra.c | |||
| @@ -44,6 +44,14 @@ static int ufs_tegra_show_configuration(struct seq_file *s, void *data) | |||
| 44 | struct ufs_hba *hba = s->private; | 44 | struct ufs_hba *hba = s->private; |
| 45 | u32 major_version; | 45 | u32 major_version; |
| 46 | u32 minor_version; | 46 | u32 minor_version; |
| 47 | u32 rx_gear; | ||
| 48 | u32 tx_gear; | ||
| 49 | const char *freq_series = ""; | ||
| 50 | struct ufs_pa_layer_attr *configured_params; | ||
| 51 | |||
| 52 | configured_params = &hba->pwr_info; | ||
| 53 | rx_gear = configured_params->gear_rx; | ||
| 54 | tx_gear = configured_params->gear_tx; | ||
| 47 | 55 | ||
| 48 | seq_puts(s, "UFS Configuration:\n"); | 56 | seq_puts(s, "UFS Configuration:\n"); |
| 49 | if ((hba->ufs_version == UFSHCI_VERSION_10) || | 57 | if ((hba->ufs_version == UFSHCI_VERSION_10) || |
| @@ -68,6 +76,22 @@ static int ufs_tegra_show_configuration(struct seq_file *s, void *data) | |||
| 68 | seq_puts(s, "UTP Task Management Request Slots:\n"); | 76 | seq_puts(s, "UTP Task Management Request Slots:\n"); |
| 69 | seq_printf(s, "NUTMRS: %u\n", hba->nutmrs); | 77 | seq_printf(s, "NUTMRS: %u\n", hba->nutmrs); |
| 70 | 78 | ||
| 79 | seq_puts(s, "\n"); | ||
| 80 | seq_puts(s, "UTP Power Info:\n"); | ||
| 81 | if (configured_params->hs_rate) { | ||
| 82 | if (configured_params->hs_rate == PA_HS_MODE_A) | ||
| 83 | freq_series = "RATE_A"; | ||
| 84 | else if (configured_params->hs_rate == PA_HS_MODE_B) | ||
| 85 | freq_series = "RATE_B"; | ||
| 86 | seq_printf(s, | ||
| 87 | "HS Mode RX_Gear:gear_%u TX_Gear:gear_%u %s series\n", | ||
| 88 | rx_gear, tx_gear, freq_series); | ||
| 89 | } else { | ||
| 90 | seq_printf(s, | ||
| 91 | "PWM Mode RX_Gear:gear_%u TX_Gear:gear_%u\n", | ||
| 92 | rx_gear, tx_gear); | ||
| 93 | } | ||
| 94 | |||
| 71 | return 0; | 95 | return 0; |
| 72 | } | 96 | } |
| 73 | 97 | ||
