mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-17 02:36:21 +00:00
scsi: ufs: ufshcd: Constify pointed data
For code safety, constify arrays and pointers to data which is not modified. Link: https://lore.kernel.org/r/20220623102432.108059-4-krzysztof.kozlowski@linaro.org Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
a48aac5dfc
commit
35d11ec239
@ -215,7 +215,7 @@ static inline void ufshcd_vops_config_scaling_param(struct ufs_hba *hba,
|
|||||||
hba->vops->config_scaling_param(hba, p, data);
|
hba->vops->config_scaling_param(hba, p, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern struct ufs_pm_lvl_states ufs_pm_lvl_states[];
|
extern const struct ufs_pm_lvl_states ufs_pm_lvl_states[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ufshcd_scsi_to_upiu_lun - maps scsi LUN to UPIU LUN
|
* ufshcd_scsi_to_upiu_lun - maps scsi LUN to UPIU LUN
|
||||||
@ -234,8 +234,8 @@ static inline u8 ufshcd_scsi_to_upiu_lun(unsigned int scsi_lun)
|
|||||||
|
|
||||||
int __ufshcd_write_ee_control(struct ufs_hba *hba, u32 ee_ctrl_mask);
|
int __ufshcd_write_ee_control(struct ufs_hba *hba, u32 ee_ctrl_mask);
|
||||||
int ufshcd_write_ee_control(struct ufs_hba *hba);
|
int ufshcd_write_ee_control(struct ufs_hba *hba);
|
||||||
int ufshcd_update_ee_control(struct ufs_hba *hba, u16 *mask, u16 *other_mask,
|
int ufshcd_update_ee_control(struct ufs_hba *hba, u16 *mask,
|
||||||
u16 set, u16 clr);
|
const u16 *other_mask, u16 set, u16 clr);
|
||||||
|
|
||||||
static inline int ufshcd_update_ee_drv_mask(struct ufs_hba *hba,
|
static inline int ufshcd_update_ee_drv_mask(struct ufs_hba *hba,
|
||||||
u16 set, u16 clr)
|
u16 set, u16 clr)
|
||||||
|
@ -175,7 +175,7 @@ enum {
|
|||||||
#define ufshcd_clear_eh_in_progress(h) \
|
#define ufshcd_clear_eh_in_progress(h) \
|
||||||
((h)->eh_flags &= ~UFSHCD_EH_IN_PROGRESS)
|
((h)->eh_flags &= ~UFSHCD_EH_IN_PROGRESS)
|
||||||
|
|
||||||
struct ufs_pm_lvl_states ufs_pm_lvl_states[] = {
|
const struct ufs_pm_lvl_states ufs_pm_lvl_states[] = {
|
||||||
[UFS_PM_LVL_0] = {UFS_ACTIVE_PWR_MODE, UIC_LINK_ACTIVE_STATE},
|
[UFS_PM_LVL_0] = {UFS_ACTIVE_PWR_MODE, UIC_LINK_ACTIVE_STATE},
|
||||||
[UFS_PM_LVL_1] = {UFS_ACTIVE_PWR_MODE, UIC_LINK_HIBERN8_STATE},
|
[UFS_PM_LVL_1] = {UFS_ACTIVE_PWR_MODE, UIC_LINK_HIBERN8_STATE},
|
||||||
[UFS_PM_LVL_2] = {UFS_SLEEP_PWR_MODE, UIC_LINK_ACTIVE_STATE},
|
[UFS_PM_LVL_2] = {UFS_SLEEP_PWR_MODE, UIC_LINK_ACTIVE_STATE},
|
||||||
@ -363,7 +363,7 @@ static void ufshcd_add_tm_upiu_trace(struct ufs_hba *hba, unsigned int tag,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void ufshcd_add_uic_command_trace(struct ufs_hba *hba,
|
static void ufshcd_add_uic_command_trace(struct ufs_hba *hba,
|
||||||
struct uic_command *ucmd,
|
const struct uic_command *ucmd,
|
||||||
enum ufs_trace_str_t str_t)
|
enum ufs_trace_str_t str_t)
|
||||||
{
|
{
|
||||||
u32 cmd;
|
u32 cmd;
|
||||||
@ -443,11 +443,11 @@ static void ufshcd_print_clk_freqs(struct ufs_hba *hba)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void ufshcd_print_evt(struct ufs_hba *hba, u32 id,
|
static void ufshcd_print_evt(struct ufs_hba *hba, u32 id,
|
||||||
char *err_name)
|
const char *err_name)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
bool found = false;
|
bool found = false;
|
||||||
struct ufs_event_hist *e;
|
const struct ufs_event_hist *e;
|
||||||
|
|
||||||
if (id >= UFS_EVT_CNT)
|
if (id >= UFS_EVT_CNT)
|
||||||
return;
|
return;
|
||||||
@ -497,7 +497,7 @@ static void ufshcd_print_evt_hist(struct ufs_hba *hba)
|
|||||||
static
|
static
|
||||||
void ufshcd_print_trs(struct ufs_hba *hba, unsigned long bitmap, bool pr_prdt)
|
void ufshcd_print_trs(struct ufs_hba *hba, unsigned long bitmap, bool pr_prdt)
|
||||||
{
|
{
|
||||||
struct ufshcd_lrb *lrbp;
|
const struct ufshcd_lrb *lrbp;
|
||||||
int prdt_length;
|
int prdt_length;
|
||||||
int tag;
|
int tag;
|
||||||
|
|
||||||
@ -553,7 +553,7 @@ static void ufshcd_print_tmrs(struct ufs_hba *hba, unsigned long bitmap)
|
|||||||
|
|
||||||
static void ufshcd_print_host_state(struct ufs_hba *hba)
|
static void ufshcd_print_host_state(struct ufs_hba *hba)
|
||||||
{
|
{
|
||||||
struct scsi_device *sdev_ufs = hba->ufs_device_wlun;
|
const struct scsi_device *sdev_ufs = hba->ufs_device_wlun;
|
||||||
|
|
||||||
dev_err(hba->dev, "UFS Host state=%d\n", hba->ufshcd_state);
|
dev_err(hba->dev, "UFS Host state=%d\n", hba->ufshcd_state);
|
||||||
dev_err(hba->dev, "outstanding reqs=0x%lx tasks=0x%lx\n",
|
dev_err(hba->dev, "outstanding reqs=0x%lx tasks=0x%lx\n",
|
||||||
@ -1098,7 +1098,7 @@ static bool ufshcd_is_devfreq_scaling_required(struct ufs_hba *hba,
|
|||||||
*/
|
*/
|
||||||
static u32 ufshcd_pending_cmds(struct ufs_hba *hba)
|
static u32 ufshcd_pending_cmds(struct ufs_hba *hba)
|
||||||
{
|
{
|
||||||
struct scsi_device *sdev;
|
const struct scsi_device *sdev;
|
||||||
u32 pending = 0;
|
u32 pending = 0;
|
||||||
|
|
||||||
lockdep_assert_held(hba->host->host_lock);
|
lockdep_assert_held(hba->host->host_lock);
|
||||||
@ -2069,14 +2069,15 @@ static inline int ufshcd_monitor_opcode2dir(u8 opcode)
|
|||||||
static inline bool ufshcd_should_inform_monitor(struct ufs_hba *hba,
|
static inline bool ufshcd_should_inform_monitor(struct ufs_hba *hba,
|
||||||
struct ufshcd_lrb *lrbp)
|
struct ufshcd_lrb *lrbp)
|
||||||
{
|
{
|
||||||
struct ufs_hba_monitor *m = &hba->monitor;
|
const struct ufs_hba_monitor *m = &hba->monitor;
|
||||||
|
|
||||||
return (m->enabled && lrbp && lrbp->cmd &&
|
return (m->enabled && lrbp && lrbp->cmd &&
|
||||||
(!m->chunk_size || m->chunk_size == lrbp->cmd->sdb.length) &&
|
(!m->chunk_size || m->chunk_size == lrbp->cmd->sdb.length) &&
|
||||||
ktime_before(hba->monitor.enabled_ts, lrbp->issue_time_stamp));
|
ktime_before(hba->monitor.enabled_ts, lrbp->issue_time_stamp));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ufshcd_start_monitor(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
|
static void ufshcd_start_monitor(struct ufs_hba *hba,
|
||||||
|
const struct ufshcd_lrb *lrbp)
|
||||||
{
|
{
|
||||||
int dir = ufshcd_monitor_opcode2dir(*lrbp->cmd->cmnd);
|
int dir = ufshcd_monitor_opcode2dir(*lrbp->cmd->cmnd);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
@ -2087,14 +2088,14 @@ static void ufshcd_start_monitor(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
|
|||||||
spin_unlock_irqrestore(hba->host->host_lock, flags);
|
spin_unlock_irqrestore(hba->host->host_lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ufshcd_update_monitor(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
|
static void ufshcd_update_monitor(struct ufs_hba *hba, const struct ufshcd_lrb *lrbp)
|
||||||
{
|
{
|
||||||
int dir = ufshcd_monitor_opcode2dir(*lrbp->cmd->cmnd);
|
int dir = ufshcd_monitor_opcode2dir(*lrbp->cmd->cmnd);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
spin_lock_irqsave(hba->host->host_lock, flags);
|
spin_lock_irqsave(hba->host->host_lock, flags);
|
||||||
if (dir >= 0 && hba->monitor.nr_queued[dir] > 0) {
|
if (dir >= 0 && hba->monitor.nr_queued[dir] > 0) {
|
||||||
struct request *req = scsi_cmd_to_rq(lrbp->cmd);
|
const struct request *req = scsi_cmd_to_rq(lrbp->cmd);
|
||||||
struct ufs_hba_monitor *m = &hba->monitor;
|
struct ufs_hba_monitor *m = &hba->monitor;
|
||||||
ktime_t now, inc, lat;
|
ktime_t now, inc, lat;
|
||||||
|
|
||||||
@ -4907,7 +4908,7 @@ static int ufshcd_get_lu_wp(struct ufs_hba *hba,
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static inline void ufshcd_get_lu_power_on_wp_status(struct ufs_hba *hba,
|
static inline void ufshcd_get_lu_power_on_wp_status(struct ufs_hba *hba,
|
||||||
struct scsi_device *sdev)
|
const struct scsi_device *sdev)
|
||||||
{
|
{
|
||||||
if (hba->dev_info.f_power_on_wp_en &&
|
if (hba->dev_info.f_power_on_wp_en &&
|
||||||
!hba->dev_info.is_lu_power_on_wp) {
|
!hba->dev_info.is_lu_power_on_wp) {
|
||||||
@ -5426,8 +5427,8 @@ int ufshcd_write_ee_control(struct ufs_hba *hba)
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ufshcd_update_ee_control(struct ufs_hba *hba, u16 *mask, u16 *other_mask,
|
int ufshcd_update_ee_control(struct ufs_hba *hba, u16 *mask,
|
||||||
u16 set, u16 clr)
|
const u16 *other_mask, u16 set, u16 clr)
|
||||||
{
|
{
|
||||||
u16 new_mask, ee_ctrl_mask;
|
u16 new_mask, ee_ctrl_mask;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
@ -7354,7 +7355,8 @@ static int ufshcd_eh_host_reset_handler(struct scsi_cmnd *cmd)
|
|||||||
*
|
*
|
||||||
* Returns calculated max ICC level for specific regulator
|
* Returns calculated max ICC level for specific regulator
|
||||||
*/
|
*/
|
||||||
static u32 ufshcd_get_max_icc_level(int sup_curr_uA, u32 start_scan, char *buff)
|
static u32 ufshcd_get_max_icc_level(int sup_curr_uA, u32 start_scan,
|
||||||
|
const char *buff)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int curr_uA;
|
int curr_uA;
|
||||||
@ -7401,7 +7403,7 @@ static u32 ufshcd_get_max_icc_level(int sup_curr_uA, u32 start_scan, char *buff)
|
|||||||
* Returns calculated ICC level
|
* Returns calculated ICC level
|
||||||
*/
|
*/
|
||||||
static u32 ufshcd_find_max_sup_active_icc_level(struct ufs_hba *hba,
|
static u32 ufshcd_find_max_sup_active_icc_level(struct ufs_hba *hba,
|
||||||
u8 *desc_buf, int len)
|
const u8 *desc_buf, int len)
|
||||||
{
|
{
|
||||||
u32 icc_level = 0;
|
u32 icc_level = 0;
|
||||||
|
|
||||||
@ -7551,7 +7553,7 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ufshcd_wb_probe(struct ufs_hba *hba, u8 *desc_buf)
|
static void ufshcd_wb_probe(struct ufs_hba *hba, const u8 *desc_buf)
|
||||||
{
|
{
|
||||||
struct ufs_dev_info *dev_info = &hba->dev_info;
|
struct ufs_dev_info *dev_info = &hba->dev_info;
|
||||||
u8 lun;
|
u8 lun;
|
||||||
@ -7622,7 +7624,7 @@ wb_disabled:
|
|||||||
hba->caps &= ~UFSHCD_CAP_WB_EN;
|
hba->caps &= ~UFSHCD_CAP_WB_EN;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ufshcd_temp_notif_probe(struct ufs_hba *hba, u8 *desc_buf)
|
static void ufshcd_temp_notif_probe(struct ufs_hba *hba, const u8 *desc_buf)
|
||||||
{
|
{
|
||||||
struct ufs_dev_info *dev_info = &hba->dev_info;
|
struct ufs_dev_info *dev_info = &hba->dev_info;
|
||||||
u32 ext_ufs_feature;
|
u32 ext_ufs_feature;
|
||||||
@ -7856,7 +7858,7 @@ static int ufshcd_quirk_tune_host_pa_tactivate(struct ufs_hba *hba)
|
|||||||
u32 granularity, peer_granularity;
|
u32 granularity, peer_granularity;
|
||||||
u32 pa_tactivate, peer_pa_tactivate;
|
u32 pa_tactivate, peer_pa_tactivate;
|
||||||
u32 pa_tactivate_us, peer_pa_tactivate_us;
|
u32 pa_tactivate_us, peer_pa_tactivate_us;
|
||||||
u8 gran_to_us_table[] = {1, 4, 8, 16, 32, 100};
|
static const u8 gran_to_us_table[] = {1, 4, 8, 16, 32, 100};
|
||||||
|
|
||||||
ret = ufshcd_dme_get(hba, UIC_ARG_MIB(PA_GRANULARITY),
|
ret = ufshcd_dme_get(hba, UIC_ARG_MIB(PA_GRANULARITY),
|
||||||
&granularity);
|
&granularity);
|
||||||
@ -7973,7 +7975,7 @@ struct ufs_ref_clk {
|
|||||||
enum ufs_ref_clk_freq val;
|
enum ufs_ref_clk_freq val;
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct ufs_ref_clk ufs_ref_clk_freqs[] = {
|
static const struct ufs_ref_clk ufs_ref_clk_freqs[] = {
|
||||||
{19200000, REF_CLK_FREQ_19_2_MHZ},
|
{19200000, REF_CLK_FREQ_19_2_MHZ},
|
||||||
{26000000, REF_CLK_FREQ_26_MHZ},
|
{26000000, REF_CLK_FREQ_26_MHZ},
|
||||||
{38400000, REF_CLK_FREQ_38_4_MHZ},
|
{38400000, REF_CLK_FREQ_38_4_MHZ},
|
||||||
|
@ -1232,14 +1232,14 @@ static inline int ufshcd_vops_phy_initialization(struct ufs_hba *hba)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern struct ufs_pm_lvl_states ufs_pm_lvl_states[];
|
extern const struct ufs_pm_lvl_states ufs_pm_lvl_states[];
|
||||||
|
|
||||||
int ufshcd_dump_regs(struct ufs_hba *hba, size_t offset, size_t len,
|
int ufshcd_dump_regs(struct ufs_hba *hba, size_t offset, size_t len,
|
||||||
const char *prefix);
|
const char *prefix);
|
||||||
|
|
||||||
int __ufshcd_write_ee_control(struct ufs_hba *hba, u32 ee_ctrl_mask);
|
int __ufshcd_write_ee_control(struct ufs_hba *hba, u32 ee_ctrl_mask);
|
||||||
int ufshcd_write_ee_control(struct ufs_hba *hba);
|
int ufshcd_write_ee_control(struct ufs_hba *hba);
|
||||||
int ufshcd_update_ee_control(struct ufs_hba *hba, u16 *mask, u16 *other_mask,
|
int ufshcd_update_ee_control(struct ufs_hba *hba, u16 *mask,
|
||||||
u16 set, u16 clr);
|
const u16 *other_mask, u16 set, u16 clr);
|
||||||
|
|
||||||
#endif /* End of Header */
|
#endif /* End of Header */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user