@@ -30,20 +30,15 @@ void qcom_pcie_common_set_equalization(struct dw_pcie *pci)
3030
3131 reg = dw_pcie_readl_dbi (pci , GEN3_RELATED_OFF );
3232 reg &= ~GEN3_RELATED_OFF_GEN3_ZRXDC_NONCOMPL ;
33- reg &= ~GEN3_RELATED_OFF_RATE_SHADOW_SEL_MASK ;
34- reg |= FIELD_PREP (GEN3_RELATED_OFF_RATE_SHADOW_SEL_MASK ,
35- speed - PCIE_SPEED_8_0GT );
33+ FIELD_MODIFY (GEN3_RELATED_OFF_RATE_SHADOW_SEL_MASK , & reg ,
34+ speed - PCIE_SPEED_8_0GT );
3635 dw_pcie_writel_dbi (pci , GEN3_RELATED_OFF , reg );
3736
3837 reg = dw_pcie_readl_dbi (pci , GEN3_EQ_FB_MODE_DIR_CHANGE_OFF );
39- reg &= ~(GEN3_EQ_FMDC_T_MIN_PHASE23 |
40- GEN3_EQ_FMDC_N_EVALS |
41- GEN3_EQ_FMDC_MAX_PRE_CURSOR_DELTA |
42- GEN3_EQ_FMDC_MAX_POST_CURSOR_DELTA );
43- reg |= FIELD_PREP (GEN3_EQ_FMDC_T_MIN_PHASE23 , 0x1 ) |
44- FIELD_PREP (GEN3_EQ_FMDC_N_EVALS , 0xd ) |
45- FIELD_PREP (GEN3_EQ_FMDC_MAX_PRE_CURSOR_DELTA , 0x5 ) |
46- FIELD_PREP (GEN3_EQ_FMDC_MAX_POST_CURSOR_DELTA , 0x5 );
38+ FIELD_MODIFY (GEN3_EQ_FMDC_T_MIN_PHASE23 , & reg , 0x1 );
39+ FIELD_MODIFY (GEN3_EQ_FMDC_N_EVALS , & reg , 0xd );
40+ FIELD_MODIFY (GEN3_EQ_FMDC_MAX_PRE_CURSOR_DELTA , & reg , 0x5 );
41+ FIELD_MODIFY (GEN3_EQ_FMDC_MAX_POST_CURSOR_DELTA , & reg , 0x5 );
4742 dw_pcie_writel_dbi (pci , GEN3_EQ_FB_MODE_DIR_CHANGE_OFF , reg );
4843
4944 reg = dw_pcie_readl_dbi (pci , GEN3_EQ_CONTROL_OFF );
@@ -61,28 +56,21 @@ void qcom_pcie_common_set_16gt_lane_margining(struct dw_pcie *pci)
6156 u32 reg ;
6257
6358 reg = dw_pcie_readl_dbi (pci , GEN4_LANE_MARGINING_1_OFF );
64- reg &= ~(MARGINING_MAX_VOLTAGE_OFFSET |
65- MARGINING_NUM_VOLTAGE_STEPS |
66- MARGINING_MAX_TIMING_OFFSET |
67- MARGINING_NUM_TIMING_STEPS );
68- reg |= FIELD_PREP (MARGINING_MAX_VOLTAGE_OFFSET , 0x24 ) |
69- FIELD_PREP (MARGINING_NUM_VOLTAGE_STEPS , 0x78 ) |
70- FIELD_PREP (MARGINING_MAX_TIMING_OFFSET , 0x32 ) |
71- FIELD_PREP (MARGINING_NUM_TIMING_STEPS , 0x10 );
59+ FIELD_MODIFY (MARGINING_MAX_VOLTAGE_OFFSET , & reg , 0x24 );
60+ FIELD_MODIFY (MARGINING_NUM_VOLTAGE_STEPS , & reg , 0x78 );
61+ FIELD_MODIFY (MARGINING_MAX_TIMING_OFFSET , & reg , 0x32 );
62+ FIELD_MODIFY (MARGINING_NUM_TIMING_STEPS , & reg , 0x10 );
7263 dw_pcie_writel_dbi (pci , GEN4_LANE_MARGINING_1_OFF , reg );
7364
7465 reg = dw_pcie_readl_dbi (pci , GEN4_LANE_MARGINING_2_OFF );
7566 reg |= MARGINING_IND_ERROR_SAMPLER |
7667 MARGINING_SAMPLE_REPORTING_METHOD |
7768 MARGINING_IND_LEFT_RIGHT_TIMING |
7869 MARGINING_VOLTAGE_SUPPORTED ;
79- reg &= ~(MARGINING_IND_UP_DOWN_VOLTAGE |
80- MARGINING_MAXLANES |
81- MARGINING_SAMPLE_RATE_TIMING |
82- MARGINING_SAMPLE_RATE_VOLTAGE );
83- reg |= FIELD_PREP (MARGINING_MAXLANES , pci -> num_lanes ) |
84- FIELD_PREP (MARGINING_SAMPLE_RATE_TIMING , 0x3f ) |
85- FIELD_PREP (MARGINING_SAMPLE_RATE_VOLTAGE , 0x3f );
70+ reg &= ~MARGINING_IND_UP_DOWN_VOLTAGE ;
71+ FIELD_MODIFY (MARGINING_MAXLANES , & reg , pci -> num_lanes );
72+ FIELD_MODIFY (MARGINING_SAMPLE_RATE_TIMING , & reg , 0x3f );
73+ FIELD_MODIFY (MARGINING_SAMPLE_RATE_VOLTAGE , & reg , 0x3f );
8674 dw_pcie_writel_dbi (pci , GEN4_LANE_MARGINING_2_OFF , reg );
8775}
8876EXPORT_SYMBOL_GPL (qcom_pcie_common_set_16gt_lane_margining );
0 commit comments