Loading drivers/pinctrl/pinctrl-msm-tlmm.c +13 −14 Original line number Diff line number Diff line Loading @@ -279,44 +279,42 @@ static int msm_tlmm_qdsd_cfg(uint pin_no, unsigned long *config, switch (id) { case PIN_CONFIG_BIAS_DISABLE: mask = TLMMV_QDSD_PULL_MASK; shft = id * TLMMV4_QDSD_CONFIG_WIDTH + TLMMV4_QDSD_PULL_OFFSET; shft = pin_no * TLMMV4_QDSD_CONFIG_WIDTH + TLMMV4_QDSD_PULL_OFFSET; data = TLMM_NO_PULL; if (!write) { val >>= shft; val &= mask; data = rval_to_pull(val); data = val & mask; } break; case PIN_CONFIG_BIAS_PULL_DOWN: mask = TLMMV_QDSD_PULL_MASK; shft = id * TLMMV4_QDSD_CONFIG_WIDTH + TLMMV4_QDSD_PULL_OFFSET; shft = pin_no * TLMMV4_QDSD_CONFIG_WIDTH + TLMMV4_QDSD_PULL_OFFSET; data = TLMM_PULL_DOWN; if (!write) { val >>= shft; val &= mask; data = rval_to_pull(val); data = val & mask; } break; case PIN_CONFIG_BIAS_PULL_UP: mask = TLMMV_QDSD_PULL_MASK; shft = id * TLMMV4_QDSD_CONFIG_WIDTH + TLMMV4_QDSD_PULL_OFFSET; shft = pin_no * TLMMV4_QDSD_CONFIG_WIDTH + TLMMV4_QDSD_PULL_OFFSET; data = TLMM_PULL_UP; if (!write) { val >>= shft; val &= mask; data = rval_to_pull(val); data = val & mask; } break; case PIN_CONFIG_DRIVE_STRENGTH: mask = TLMMV4_QDSD_DRV_MASK; shft = id * TLMMV4_QDSD_CONFIG_WIDTH; shft = pin_no * TLMMV4_QDSD_CONFIG_WIDTH; if (write) { data = pinconf_to_config_argument(*config); data = drv_str_to_rval(data); } else { val >>= shft; val &= mask; data = rval_to_drv_str(val); data = val & mask; } break; default: Loading @@ -325,7 +323,8 @@ static int msm_tlmm_qdsd_cfg(uint pin_no, unsigned long *config, if (write) { val &= ~(mask << shft); val |= (data << shft); /* QDSD software override bit */ val |= ((data << shft) | BIT(31)); writel_relaxed(val, cfg_reg); } else { *config = pinconf_to_config_packed(id, data); Loading Loading
drivers/pinctrl/pinctrl-msm-tlmm.c +13 −14 Original line number Diff line number Diff line Loading @@ -279,44 +279,42 @@ static int msm_tlmm_qdsd_cfg(uint pin_no, unsigned long *config, switch (id) { case PIN_CONFIG_BIAS_DISABLE: mask = TLMMV_QDSD_PULL_MASK; shft = id * TLMMV4_QDSD_CONFIG_WIDTH + TLMMV4_QDSD_PULL_OFFSET; shft = pin_no * TLMMV4_QDSD_CONFIG_WIDTH + TLMMV4_QDSD_PULL_OFFSET; data = TLMM_NO_PULL; if (!write) { val >>= shft; val &= mask; data = rval_to_pull(val); data = val & mask; } break; case PIN_CONFIG_BIAS_PULL_DOWN: mask = TLMMV_QDSD_PULL_MASK; shft = id * TLMMV4_QDSD_CONFIG_WIDTH + TLMMV4_QDSD_PULL_OFFSET; shft = pin_no * TLMMV4_QDSD_CONFIG_WIDTH + TLMMV4_QDSD_PULL_OFFSET; data = TLMM_PULL_DOWN; if (!write) { val >>= shft; val &= mask; data = rval_to_pull(val); data = val & mask; } break; case PIN_CONFIG_BIAS_PULL_UP: mask = TLMMV_QDSD_PULL_MASK; shft = id * TLMMV4_QDSD_CONFIG_WIDTH + TLMMV4_QDSD_PULL_OFFSET; shft = pin_no * TLMMV4_QDSD_CONFIG_WIDTH + TLMMV4_QDSD_PULL_OFFSET; data = TLMM_PULL_UP; if (!write) { val >>= shft; val &= mask; data = rval_to_pull(val); data = val & mask; } break; case PIN_CONFIG_DRIVE_STRENGTH: mask = TLMMV4_QDSD_DRV_MASK; shft = id * TLMMV4_QDSD_CONFIG_WIDTH; shft = pin_no * TLMMV4_QDSD_CONFIG_WIDTH; if (write) { data = pinconf_to_config_argument(*config); data = drv_str_to_rval(data); } else { val >>= shft; val &= mask; data = rval_to_drv_str(val); data = val & mask; } break; default: Loading @@ -325,7 +323,8 @@ static int msm_tlmm_qdsd_cfg(uint pin_no, unsigned long *config, if (write) { val &= ~(mask << shft); val |= (data << shft); /* QDSD software override bit */ val |= ((data << shft) | BIT(31)); writel_relaxed(val, cfg_reg); } else { *config = pinconf_to_config_packed(id, data); Loading