@@ -527,11 +527,11 @@ void vlv_crtc_clock_get(struct intel_crtc_state *crtc_state)
527527 tmp = vlv_dpio_read (dev_priv , phy , VLV_PLL_DW3 (ch ));
528528 vlv_dpio_put (dev_priv );
529529
530- clock .m1 = ( tmp >> DPIO_M1DIV_SHIFT ) & 7 ;
531- clock .m2 = tmp & DPIO_M2DIV_MASK ;
532- clock .n = ( tmp >> DPIO_N_SHIFT ) & 0xf ;
533- clock .p1 = ( tmp >> DPIO_P1_SHIFT ) & 7 ;
534- clock .p2 = ( tmp >> DPIO_P2_SHIFT ) & 0x1f ;
530+ clock .m1 = REG_FIELD_GET ( DPIO_M1_DIV_MASK , tmp ) ;
531+ clock .m2 = REG_FIELD_GET ( DPIO_M2_DIV_MASK , tmp ) ;
532+ clock .n = REG_FIELD_GET ( DPIO_N_DIV_MASK , tmp ) ;
533+ clock .p1 = REG_FIELD_GET ( DPIO_P1_DIV_MASK , tmp ) ;
534+ clock .p2 = REG_FIELD_GET ( DPIO_P2_DIV_MASK , tmp ) ;
535535
536536 crtc_state -> port_clock = vlv_calc_dpll_params (refclk , & clock );
537537}
@@ -559,13 +559,13 @@ void chv_crtc_clock_get(struct intel_crtc_state *crtc_state)
559559 pll_dw3 = vlv_dpio_read (dev_priv , phy , CHV_PLL_DW3 (ch ));
560560 vlv_dpio_put (dev_priv );
561561
562- clock .m1 = ( pll_dw1 & 0x7 ) == DPIO_CHV_M1_DIV_BY_2 ? 2 : 0 ;
563- clock .m2 = ( pll_dw0 & 0xff ) << 22 ;
562+ clock .m1 = REG_FIELD_GET ( DPIO_CHV_M1_DIV_MASK , pll_dw1 ) == DPIO_CHV_M1_DIV_BY_2 ? 2 : 0 ;
563+ clock .m2 = REG_FIELD_GET ( DPIO_CHV_M2_DIV_MASK , pll_dw0 ) << 22 ;
564564 if (pll_dw3 & DPIO_CHV_FRAC_DIV_EN )
565- clock .m2 |= pll_dw2 & 0x3fffff ;
566- clock .n = ( pll_dw1 >> DPIO_CHV_N_DIV_SHIFT ) & 0xf ;
567- clock .p1 = ( cmn_dw13 >> DPIO_CHV_P1_DIV_SHIFT ) & 0x7 ;
568- clock .p2 = ( cmn_dw13 >> DPIO_CHV_P2_DIV_SHIFT ) & 0x1f ;
565+ clock .m2 |= REG_FIELD_GET ( DPIO_CHV_M2_FRAC_DIV_MASK , pll_dw2 ) ;
566+ clock .n = REG_FIELD_GET ( DPIO_CHV_N_DIV_MASK , pll_dw1 ) ;
567+ clock .p1 = REG_FIELD_GET ( DPIO_CHV_P1_DIV_MASK , cmn_dw13 ) ;
568+ clock .p2 = REG_FIELD_GET ( DPIO_CHV_P2_DIV_MASK , cmn_dw13 ) ;
569569
570570 crtc_state -> port_clock = chv_calc_dpll_params (refclk , & clock );
571571}
@@ -1926,19 +1926,19 @@ static void vlv_prepare_pll(const struct intel_crtc_state *crtc_state)
19261926 vlv_dpio_write (dev_priv , phy , VLV_CMN_DW0 , 0x610 );
19271927
19281928 /* Set idtafcrecal before PLL is enabled */
1929- tmp = (clock -> m1 << DPIO_M1DIV_SHIFT ) |
1930- (clock -> m2 & DPIO_M2DIV_MASK ) |
1931- (clock -> p1 << DPIO_P1_SHIFT ) |
1932- (clock -> p2 << DPIO_P2_SHIFT ) |
1933- (clock -> n << DPIO_N_SHIFT ) |
1934- ( 1 << DPIO_K_SHIFT );
1929+ tmp = DPIO_M1_DIV (clock -> m1 ) |
1930+ DPIO_M2_DIV (clock -> m2 ) |
1931+ DPIO_P1_DIV (clock -> p1 ) |
1932+ DPIO_P2_DIV (clock -> p2 ) |
1933+ DPIO_N_DIV (clock -> n ) |
1934+ DPIO_K_DIV ( 1 );
19351935
19361936 /*
19371937 * Post divider depends on pixel clock rate, DAC vs digital (and LVDS,
19381938 * but we don't support that).
19391939 * Note: don't use the DAC post divider as it seems unstable.
19401940 */
1941- tmp |= ( DPIO_POST_DIV_HDMIDP << DPIO_POST_DIV_SHIFT );
1941+ tmp |= DPIO_S1_DIV ( DPIO_S1_DIV_HDMIDP );
19421942 vlv_dpio_write (dev_priv , phy , VLV_PLL_DW3 (ch ), tmp );
19431943
19441944 tmp |= DPIO_ENABLE_CALIBRATION ;
@@ -2034,75 +2034,74 @@ static void chv_prepare_pll(const struct intel_crtc_state *crtc_state)
20342034 u32 m2_frac ;
20352035
20362036 m2_frac = clock -> m2 & 0x3fffff ;
2037- loopfilter = 0 ;
20382037
20392038 vlv_dpio_get (dev_priv );
20402039
20412040 /* p1 and p2 divider */
20422041 vlv_dpio_write (dev_priv , phy , CHV_CMN_DW13 (ch ),
2043- 5 << DPIO_CHV_S1_DIV_SHIFT |
2044- clock -> p1 << DPIO_CHV_P1_DIV_SHIFT |
2045- clock -> p2 << DPIO_CHV_P2_DIV_SHIFT |
2046- 1 << DPIO_CHV_K_DIV_SHIFT );
2042+ DPIO_CHV_S1_DIV ( 5 ) |
2043+ DPIO_CHV_P1_DIV ( clock -> p1 ) |
2044+ DPIO_CHV_P2_DIV ( clock -> p2 ) |
2045+ DPIO_CHV_K_DIV ( 1 ) );
20472046
20482047 /* Feedback post-divider - m2 */
20492048 vlv_dpio_write (dev_priv , phy , CHV_PLL_DW0 (ch ),
2050- clock -> m2 >> 22 );
2049+ DPIO_CHV_M2_DIV ( clock -> m2 >> 22 ) );
20512050
20522051 /* Feedback refclk divider - n and m1 */
20532052 vlv_dpio_write (dev_priv , phy , CHV_PLL_DW1 (ch ),
2054- DPIO_CHV_M1_DIV_BY_2 |
2055- 1 << DPIO_CHV_N_DIV_SHIFT );
2053+ DPIO_CHV_M1_DIV ( DPIO_CHV_M1_DIV_BY_2 ) |
2054+ DPIO_CHV_N_DIV ( 1 ) );
20562055
20572056 /* M2 fraction division */
20582057 vlv_dpio_write (dev_priv , phy , CHV_PLL_DW2 (ch ),
2059- m2_frac );
2058+ DPIO_CHV_M2_FRAC_DIV ( m2_frac ) );
20602059
20612060 /* M2 fraction division enable */
20622061 tmp = vlv_dpio_read (dev_priv , phy , CHV_PLL_DW3 (ch ));
20632062 tmp &= ~(DPIO_CHV_FEEDFWD_GAIN_MASK | DPIO_CHV_FRAC_DIV_EN );
2064- tmp |= ( 2 << DPIO_CHV_FEEDFWD_GAIN_SHIFT );
2063+ tmp |= DPIO_CHV_FEEDFWD_GAIN ( 2 );
20652064 if (m2_frac )
20662065 tmp |= DPIO_CHV_FRAC_DIV_EN ;
20672066 vlv_dpio_write (dev_priv , phy , CHV_PLL_DW3 (ch ), tmp );
20682067
20692068 /* Program digital lock detect threshold */
20702069 tmp = vlv_dpio_read (dev_priv , phy , CHV_PLL_DW9 (ch ));
20712070 tmp &= ~(DPIO_CHV_INT_LOCK_THRESHOLD_MASK |
2072- DPIO_CHV_INT_LOCK_THRESHOLD_SEL_COARSE );
2073- tmp |= (0x5 << DPIO_CHV_INT_LOCK_THRESHOLD_SHIFT );
2071+ DPIO_CHV_INT_LOCK_THRESHOLD_SEL_COARSE );
2072+ tmp |= DPIO_CHV_INT_LOCK_THRESHOLD (0x5 );
20742073 if (!m2_frac )
20752074 tmp |= DPIO_CHV_INT_LOCK_THRESHOLD_SEL_COARSE ;
20762075 vlv_dpio_write (dev_priv , phy , CHV_PLL_DW9 (ch ), tmp );
20772076
20782077 /* Loop filter */
20792078 if (clock -> vco == 5400000 ) {
2080- loopfilter |= (0x3 << DPIO_CHV_PROP_COEFF_SHIFT );
2081- loopfilter |= (0x8 << DPIO_CHV_INT_COEFF_SHIFT );
2082- loopfilter |= (0x1 << DPIO_CHV_GAIN_CTRL_SHIFT );
2079+ loopfilter = DPIO_CHV_PROP_COEFF (0x3 ) |
2080+ DPIO_CHV_INT_COEFF (0x8 ) |
2081+ DPIO_CHV_GAIN_CTRL (0x1 );
20832082 tribuf_calcntr = 0x9 ;
20842083 } else if (clock -> vco <= 6200000 ) {
2085- loopfilter |= (0x5 << DPIO_CHV_PROP_COEFF_SHIFT );
2086- loopfilter |= (0xB << DPIO_CHV_INT_COEFF_SHIFT );
2087- loopfilter |= (0x3 << DPIO_CHV_GAIN_CTRL_SHIFT );
2084+ loopfilter = DPIO_CHV_PROP_COEFF (0x5 ) |
2085+ DPIO_CHV_INT_COEFF (0xB ) |
2086+ DPIO_CHV_GAIN_CTRL (0x3 );
20882087 tribuf_calcntr = 0x9 ;
20892088 } else if (clock -> vco <= 6480000 ) {
2090- loopfilter |= (0x4 << DPIO_CHV_PROP_COEFF_SHIFT );
2091- loopfilter |= (0x9 << DPIO_CHV_INT_COEFF_SHIFT );
2092- loopfilter |= (0x3 << DPIO_CHV_GAIN_CTRL_SHIFT );
2089+ loopfilter = DPIO_CHV_PROP_COEFF (0x4 ) |
2090+ DPIO_CHV_INT_COEFF (0x9 ) |
2091+ DPIO_CHV_GAIN_CTRL (0x3 );
20932092 tribuf_calcntr = 0x8 ;
20942093 } else {
20952094 /* Not supported. Apply the same limits as in the max case */
2096- loopfilter |= (0x4 << DPIO_CHV_PROP_COEFF_SHIFT );
2097- loopfilter |= (0x9 << DPIO_CHV_INT_COEFF_SHIFT );
2098- loopfilter |= (0x3 << DPIO_CHV_GAIN_CTRL_SHIFT );
2095+ loopfilter = DPIO_CHV_PROP_COEFF (0x4 ) |
2096+ DPIO_CHV_INT_COEFF (0x9 ) |
2097+ DPIO_CHV_GAIN_CTRL (0x3 );
20992098 tribuf_calcntr = 0 ;
21002099 }
21012100 vlv_dpio_write (dev_priv , phy , CHV_PLL_DW6 (ch ), loopfilter );
21022101
21032102 tmp = vlv_dpio_read (dev_priv , phy , CHV_PLL_DW8 (ch ));
21042103 tmp &= ~DPIO_CHV_TDC_TARGET_CNT_MASK ;
2105- tmp |= (tribuf_calcntr << DPIO_CHV_TDC_TARGET_CNT_SHIFT );
2104+ tmp |= DPIO_CHV_TDC_TARGET_CNT (tribuf_calcntr );
21062105 vlv_dpio_write (dev_priv , phy , CHV_PLL_DW8 (ch ), tmp );
21072106
21082107 /* AFC Recal */
0 commit comments