Message ID | 1435750377-16499-1-git-send-email-vandana.kannan@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
thanks for the changes. Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> On 7/1/2015 5:02 PM, Vandana Kannan wrote: > This patch contains changes based on 2 updates to the spec: > Port PLL VCO restriction raised up to 6700. > Port PLL now needs DCO amp override enable for all VCO frequencies. > > v2: Sonika's review comment addressed > - dcoampovr_en_h variable not required > Based on a discussion with Siva, the following changes have been made. > - replace dco_amp var with #define BXT_DCO_AMPLITUDE > - set pll10 in a single assignment > > v3: > Move DCO amplitude default value to i915_reg.h. Suggested by Siva. > > Signed-off-by: Vandana Kannan <vandana.kannan@intel.com> > Reviewed-by: Sonika Jindal <sonika.jindal@intel.com> [v2] > --- > drivers/gpu/drm/i915/i915_reg.h | 1 + > drivers/gpu/drm/i915/intel_ddi.c | 15 +++++---------- > drivers/gpu/drm/i915/intel_display.c | 2 +- > 3 files changed, 7 insertions(+), 11 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index ac985c5..d1b8928 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -1211,6 +1211,7 @@ enum skl_disp_power_wells { > #define PORT_PLL_LOCK_THRESHOLD_MASK 0xe > /* PORT_PLL_10_A */ > #define PORT_PLL_DCO_AMP_OVR_EN_H (1<<27) > +#define PORT_PLL_DCO_AMP_DEFAULT 15 > #define PORT_PLL_DCO_AMP_MASK 0x3c00 > #define PORT_PLL_DCO_AMP(x) (x<<10) > #define _PORT_PLL_BASE(port) _PORT3(port, _PORT_PLL_0_A, \ > diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c > index 42c1487..9c05cc0 100644 > --- a/drivers/gpu/drm/i915/intel_ddi.c > +++ b/drivers/gpu/drm/i915/intel_ddi.c > @@ -1455,7 +1455,7 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, > struct bxt_clk_div clk_div = {0}; > int vco = 0; > uint32_t prop_coef, int_coef, gain_ctl, targ_cnt; > - uint32_t dcoampovr_en_h, dco_amp, lanestagger; > + uint32_t lanestagger; > > if (intel_encoder->type == INTEL_OUTPUT_HDMI) { > intel_clock_t best_clock; > @@ -1494,9 +1494,7 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, > vco = clock * 10 / 2 * clk_div.p1 * clk_div.p2; > } > > - dco_amp = 15; > - dcoampovr_en_h = 0; > - if (vco >= 6200000 && vco <= 6480000) { > + if (vco >= 6200000 && vco <= 6700000) { > prop_coef = 4; > int_coef = 9; > gain_ctl = 3; > @@ -1507,8 +1505,6 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, > int_coef = 11; > gain_ctl = 3; > targ_cnt = 9; > - if (vco >= 4800000 && vco < 5400000) > - dcoampovr_en_h = 1; > } else if (vco == 5400000) { > prop_coef = 3; > int_coef = 8; > @@ -1550,10 +1546,9 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, > > crtc_state->dpll_hw_state.pll8 = targ_cnt; > > - if (dcoampovr_en_h) > - crtc_state->dpll_hw_state.pll10 = PORT_PLL_DCO_AMP_OVR_EN_H; > - > - crtc_state->dpll_hw_state.pll10 |= PORT_PLL_DCO_AMP(dco_amp); > + crtc_state->dpll_hw_state.pll10 = > + PORT_PLL_DCO_AMP(PORT_PLL_DCO_AMP_DEFAULT) > + | PORT_PLL_DCO_AMP_OVR_EN_H; > > crtc_state->dpll_hw_state.pcsdw12 = > LANESTAGGER_STRAP_OVRD | lanestagger; > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index eb665d7..e04be45 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -409,7 +409,7 @@ static const intel_limit_t intel_limits_chv = { > static const intel_limit_t intel_limits_bxt = { > /* FIXME: find real dot limits */ > .dot = { .min = 0, .max = INT_MAX }, > - .vco = { .min = 4800000, .max = 6480000 }, > + .vco = { .min = 4800000, .max = 6700000 }, > .n = { .min = 1, .max = 1 }, > .m1 = { .min = 2, .max = 2 }, > /* FIXME: find real m2 limits */
Hi, Any other review comments on this patch? Do let me know. Siva and Sonika have given their R-b. Thanks, Vandana On 7/1/2015 4:41 PM, Sivakumar Thulasimani wrote: > thanks for the changes. > > Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> > > > > On 7/1/2015 5:02 PM, Vandana Kannan wrote: >> This patch contains changes based on 2 updates to the spec: >> Port PLL VCO restriction raised up to 6700. >> Port PLL now needs DCO amp override enable for all VCO frequencies. >> >> v2: Sonika's review comment addressed >> - dcoampovr_en_h variable not required >> Based on a discussion with Siva, the following changes have been made. >> - replace dco_amp var with #define BXT_DCO_AMPLITUDE >> - set pll10 in a single assignment >> >> v3: >> Move DCO amplitude default value to i915_reg.h. Suggested by Siva. >> >> Signed-off-by: Vandana Kannan<vandana.kannan@intel.com> >> Reviewed-by: Sonika Jindal<sonika.jindal@intel.com> [v2] >> --- >> drivers/gpu/drm/i915/i915_reg.h | 1 + >> drivers/gpu/drm/i915/intel_ddi.c | 15 +++++---------- >> drivers/gpu/drm/i915/intel_display.c | 2 +- >> 3 files changed, 7 insertions(+), 11 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h >> index ac985c5..d1b8928 100644 >> --- a/drivers/gpu/drm/i915/i915_reg.h >> +++ b/drivers/gpu/drm/i915/i915_reg.h >> @@ -1211,6 +1211,7 @@ enum skl_disp_power_wells { >> #define PORT_PLL_LOCK_THRESHOLD_MASK 0xe >> /* PORT_PLL_10_A */ >> #define PORT_PLL_DCO_AMP_OVR_EN_H (1<<27) >> +#define PORT_PLL_DCO_AMP_DEFAULT 15 >> #define PORT_PLL_DCO_AMP_MASK 0x3c00 >> #define PORT_PLL_DCO_AMP(x) (x<<10) >> #define _PORT_PLL_BASE(port) _PORT3(port, _PORT_PLL_0_A, \ >> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c >> index 42c1487..9c05cc0 100644 >> --- a/drivers/gpu/drm/i915/intel_ddi.c >> +++ b/drivers/gpu/drm/i915/intel_ddi.c >> @@ -1455,7 +1455,7 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, >> struct bxt_clk_div clk_div = {0}; >> int vco = 0; >> uint32_t prop_coef, int_coef, gain_ctl, targ_cnt; >> - uint32_t dcoampovr_en_h, dco_amp, lanestagger; >> + uint32_t lanestagger; >> >> if (intel_encoder->type == INTEL_OUTPUT_HDMI) { >> intel_clock_t best_clock; >> @@ -1494,9 +1494,7 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, >> vco = clock * 10 / 2 * clk_div.p1 * clk_div.p2; >> } >> >> - dco_amp = 15; >> - dcoampovr_en_h = 0; >> - if (vco >= 6200000 && vco <= 6480000) { >> + if (vco >= 6200000 && vco <= 6700000) { >> prop_coef = 4; >> int_coef = 9; >> gain_ctl = 3; >> @@ -1507,8 +1505,6 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, >> int_coef = 11; >> gain_ctl = 3; >> targ_cnt = 9; >> - if (vco >= 4800000 && vco < 5400000) >> - dcoampovr_en_h = 1; >> } else if (vco == 5400000) { >> prop_coef = 3; >> int_coef = 8; >> @@ -1550,10 +1546,9 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, >> >> crtc_state->dpll_hw_state.pll8 = targ_cnt; >> >> - if (dcoampovr_en_h) >> - crtc_state->dpll_hw_state.pll10 = PORT_PLL_DCO_AMP_OVR_EN_H; >> - >> - crtc_state->dpll_hw_state.pll10 |= PORT_PLL_DCO_AMP(dco_amp); >> + crtc_state->dpll_hw_state.pll10 = >> + PORT_PLL_DCO_AMP(PORT_PLL_DCO_AMP_DEFAULT) >> + | PORT_PLL_DCO_AMP_OVR_EN_H; >> >> crtc_state->dpll_hw_state.pcsdw12 = >> LANESTAGGER_STRAP_OVRD | lanestagger; >> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c >> index eb665d7..e04be45 100644 >> --- a/drivers/gpu/drm/i915/intel_display.c >> +++ b/drivers/gpu/drm/i915/intel_display.c >> @@ -409,7 +409,7 @@ static const intel_limit_t intel_limits_chv = { >> static const intel_limit_t intel_limits_bxt = { >> /* FIXME: find real dot limits */ >> .dot = { .min = 0, .max = INT_MAX }, >> - .vco = { .min = 4800000, .max = 6480000 }, >> + .vco = { .min = 4800000, .max = 6700000 }, >> .n = { .min = 1, .max = 1 }, >> .m1 = { .min = 2, .max = 2 }, >> /* FIXME: find real m2 limits */ > > -- > regards, > Sivakumar >
Tested-By: Intel Graphics QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com)
Task id: 6699
-------------------------------------Summary-------------------------------------
Platform Delta drm-intel-nightly Series Applied
ILK 304/304 304/304
SNB 312/316 312/316
IVB 343/343 343/343
BYT -2 287/287 285/287
HSW 380/380 380/380
-------------------------------------Detailed-------------------------------------
Platform Test drm-intel-nightly Series Applied
*BYT igt@gem_partial_pwrite_pread@reads PASS(1) FAIL(1)
*BYT igt@gem_tiled_partial_pwrite_pread@reads PASS(1) FAIL(1)
Note: You need to pay more attention to line start with '*'
Hi Daniel, Is there any other change required in this patch to consider before merge? Please let me know. - Vandana On 7/3/2015 10:23 AM, Kannan, Vandana wrote: > Hi, > > Any other review comments on this patch? Do let me know. > Siva and Sonika have given their R-b. > > Thanks, > Vandana > > On 7/1/2015 4:41 PM, Sivakumar Thulasimani wrote: >> thanks for the changes. >> >> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> >> >> >> >> On 7/1/2015 5:02 PM, Vandana Kannan wrote: >>> This patch contains changes based on 2 updates to the spec: >>> Port PLL VCO restriction raised up to 6700. >>> Port PLL now needs DCO amp override enable for all VCO frequencies. >>> >>> v2: Sonika's review comment addressed >>> - dcoampovr_en_h variable not required >>> Based on a discussion with Siva, the following changes have been made. >>> - replace dco_amp var with #define BXT_DCO_AMPLITUDE >>> - set pll10 in a single assignment >>> >>> v3: >>> Move DCO amplitude default value to i915_reg.h. Suggested by Siva. >>> >>> Signed-off-by: Vandana Kannan<vandana.kannan@intel.com> >>> Reviewed-by: Sonika Jindal<sonika.jindal@intel.com> [v2] >>> --- >>> drivers/gpu/drm/i915/i915_reg.h | 1 + >>> drivers/gpu/drm/i915/intel_ddi.c | 15 +++++---------- >>> drivers/gpu/drm/i915/intel_display.c | 2 +- >>> 3 files changed, 7 insertions(+), 11 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/i915/i915_reg.h >>> b/drivers/gpu/drm/i915/i915_reg.h >>> index ac985c5..d1b8928 100644 >>> --- a/drivers/gpu/drm/i915/i915_reg.h >>> +++ b/drivers/gpu/drm/i915/i915_reg.h >>> @@ -1211,6 +1211,7 @@ enum skl_disp_power_wells { >>> #define PORT_PLL_LOCK_THRESHOLD_MASK 0xe >>> /* PORT_PLL_10_A */ >>> #define PORT_PLL_DCO_AMP_OVR_EN_H (1<<27) >>> +#define PORT_PLL_DCO_AMP_DEFAULT 15 >>> #define PORT_PLL_DCO_AMP_MASK 0x3c00 >>> #define PORT_PLL_DCO_AMP(x) (x<<10) >>> #define _PORT_PLL_BASE(port) _PORT3(port, _PORT_PLL_0_A, \ >>> diff --git a/drivers/gpu/drm/i915/intel_ddi.c >>> b/drivers/gpu/drm/i915/intel_ddi.c >>> index 42c1487..9c05cc0 100644 >>> --- a/drivers/gpu/drm/i915/intel_ddi.c >>> +++ b/drivers/gpu/drm/i915/intel_ddi.c >>> @@ -1455,7 +1455,7 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, >>> struct bxt_clk_div clk_div = {0}; >>> int vco = 0; >>> uint32_t prop_coef, int_coef, gain_ctl, targ_cnt; >>> - uint32_t dcoampovr_en_h, dco_amp, lanestagger; >>> + uint32_t lanestagger; >>> >>> if (intel_encoder->type == INTEL_OUTPUT_HDMI) { >>> intel_clock_t best_clock; >>> @@ -1494,9 +1494,7 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, >>> vco = clock * 10 / 2 * clk_div.p1 * clk_div.p2; >>> } >>> >>> - dco_amp = 15; >>> - dcoampovr_en_h = 0; >>> - if (vco >= 6200000 && vco <= 6480000) { >>> + if (vco >= 6200000 && vco <= 6700000) { >>> prop_coef = 4; >>> int_coef = 9; >>> gain_ctl = 3; >>> @@ -1507,8 +1505,6 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, >>> int_coef = 11; >>> gain_ctl = 3; >>> targ_cnt = 9; >>> - if (vco >= 4800000 && vco < 5400000) >>> - dcoampovr_en_h = 1; >>> } else if (vco == 5400000) { >>> prop_coef = 3; >>> int_coef = 8; >>> @@ -1550,10 +1546,9 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, >>> >>> crtc_state->dpll_hw_state.pll8 = targ_cnt; >>> >>> - if (dcoampovr_en_h) >>> - crtc_state->dpll_hw_state.pll10 = PORT_PLL_DCO_AMP_OVR_EN_H; >>> - >>> - crtc_state->dpll_hw_state.pll10 |= PORT_PLL_DCO_AMP(dco_amp); >>> + crtc_state->dpll_hw_state.pll10 = >>> + PORT_PLL_DCO_AMP(PORT_PLL_DCO_AMP_DEFAULT) >>> + | PORT_PLL_DCO_AMP_OVR_EN_H; >>> >>> crtc_state->dpll_hw_state.pcsdw12 = >>> LANESTAGGER_STRAP_OVRD | lanestagger; >>> diff --git a/drivers/gpu/drm/i915/intel_display.c >>> b/drivers/gpu/drm/i915/intel_display.c >>> index eb665d7..e04be45 100644 >>> --- a/drivers/gpu/drm/i915/intel_display.c >>> +++ b/drivers/gpu/drm/i915/intel_display.c >>> @@ -409,7 +409,7 @@ static const intel_limit_t intel_limits_chv = { >>> static const intel_limit_t intel_limits_bxt = { >>> /* FIXME: find real dot limits */ >>> .dot = { .min = 0, .max = INT_MAX }, >>> - .vco = { .min = 4800000, .max = 6480000 }, >>> + .vco = { .min = 4800000, .max = 6700000 }, >>> .n = { .min = 1, .max = 1 }, >>> .m1 = { .min = 2, .max = 2 }, >>> /* FIXME: find real m2 limits */ >> >> -- >> regards, >> Sivakumar >>
On Mon, Jul 06, 2015 at 01:38:44PM +0530, Kannan, Vandana wrote: > Hi Daniel, > > Is there any other change required in this patch to consider before merge? > Please let me know. Oh I was kinda waiting for an ack from Imre. Merged now anyway. Btw for next time around please spell out BUN - not everyone knows what this means, especially outside of intel gfx teams (product teams, integration, customers, ...). And we write changelogs also for those external people. Maybe "Implement latest Bspec updates for ..." or similar. I've changed the summary for this patch. -Daniel > > - Vandana > > On 7/3/2015 10:23 AM, Kannan, Vandana wrote: > >Hi, > > > >Any other review comments on this patch? Do let me know. > >Siva and Sonika have given their R-b. > > > >Thanks, > >Vandana > > > >On 7/1/2015 4:41 PM, Sivakumar Thulasimani wrote: > >>thanks for the changes. > >> > >>Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> > >> > >> > >> > >>On 7/1/2015 5:02 PM, Vandana Kannan wrote: > >>>This patch contains changes based on 2 updates to the spec: > >>>Port PLL VCO restriction raised up to 6700. > >>>Port PLL now needs DCO amp override enable for all VCO frequencies. > >>> > >>>v2: Sonika's review comment addressed > >>> - dcoampovr_en_h variable not required > >>>Based on a discussion with Siva, the following changes have been made. > >>> - replace dco_amp var with #define BXT_DCO_AMPLITUDE > >>> - set pll10 in a single assignment > >>> > >>>v3: > >>>Move DCO amplitude default value to i915_reg.h. Suggested by Siva. > >>> > >>>Signed-off-by: Vandana Kannan<vandana.kannan@intel.com> > >>>Reviewed-by: Sonika Jindal<sonika.jindal@intel.com> [v2] > >>>--- > >>> drivers/gpu/drm/i915/i915_reg.h | 1 + > >>> drivers/gpu/drm/i915/intel_ddi.c | 15 +++++---------- > >>> drivers/gpu/drm/i915/intel_display.c | 2 +- > >>> 3 files changed, 7 insertions(+), 11 deletions(-) > >>> > >>>diff --git a/drivers/gpu/drm/i915/i915_reg.h > >>>b/drivers/gpu/drm/i915/i915_reg.h > >>>index ac985c5..d1b8928 100644 > >>>--- a/drivers/gpu/drm/i915/i915_reg.h > >>>+++ b/drivers/gpu/drm/i915/i915_reg.h > >>>@@ -1211,6 +1211,7 @@ enum skl_disp_power_wells { > >>> #define PORT_PLL_LOCK_THRESHOLD_MASK 0xe > >>> /* PORT_PLL_10_A */ > >>> #define PORT_PLL_DCO_AMP_OVR_EN_H (1<<27) > >>>+#define PORT_PLL_DCO_AMP_DEFAULT 15 > >>> #define PORT_PLL_DCO_AMP_MASK 0x3c00 > >>> #define PORT_PLL_DCO_AMP(x) (x<<10) > >>> #define _PORT_PLL_BASE(port) _PORT3(port, _PORT_PLL_0_A, \ > >>>diff --git a/drivers/gpu/drm/i915/intel_ddi.c > >>>b/drivers/gpu/drm/i915/intel_ddi.c > >>>index 42c1487..9c05cc0 100644 > >>>--- a/drivers/gpu/drm/i915/intel_ddi.c > >>>+++ b/drivers/gpu/drm/i915/intel_ddi.c > >>>@@ -1455,7 +1455,7 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, > >>> struct bxt_clk_div clk_div = {0}; > >>> int vco = 0; > >>> uint32_t prop_coef, int_coef, gain_ctl, targ_cnt; > >>>- uint32_t dcoampovr_en_h, dco_amp, lanestagger; > >>>+ uint32_t lanestagger; > >>> > >>> if (intel_encoder->type == INTEL_OUTPUT_HDMI) { > >>> intel_clock_t best_clock; > >>>@@ -1494,9 +1494,7 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, > >>> vco = clock * 10 / 2 * clk_div.p1 * clk_div.p2; > >>> } > >>> > >>>- dco_amp = 15; > >>>- dcoampovr_en_h = 0; > >>>- if (vco >= 6200000 && vco <= 6480000) { > >>>+ if (vco >= 6200000 && vco <= 6700000) { > >>> prop_coef = 4; > >>> int_coef = 9; > >>> gain_ctl = 3; > >>>@@ -1507,8 +1505,6 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, > >>> int_coef = 11; > >>> gain_ctl = 3; > >>> targ_cnt = 9; > >>>- if (vco >= 4800000 && vco < 5400000) > >>>- dcoampovr_en_h = 1; > >>> } else if (vco == 5400000) { > >>> prop_coef = 3; > >>> int_coef = 8; > >>>@@ -1550,10 +1546,9 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, > >>> > >>> crtc_state->dpll_hw_state.pll8 = targ_cnt; > >>> > >>>- if (dcoampovr_en_h) > >>>- crtc_state->dpll_hw_state.pll10 = PORT_PLL_DCO_AMP_OVR_EN_H; > >>>- > >>>- crtc_state->dpll_hw_state.pll10 |= PORT_PLL_DCO_AMP(dco_amp); > >>>+ crtc_state->dpll_hw_state.pll10 = > >>>+ PORT_PLL_DCO_AMP(PORT_PLL_DCO_AMP_DEFAULT) > >>>+ | PORT_PLL_DCO_AMP_OVR_EN_H; > >>> > >>> crtc_state->dpll_hw_state.pcsdw12 = > >>> LANESTAGGER_STRAP_OVRD | lanestagger; > >>>diff --git a/drivers/gpu/drm/i915/intel_display.c > >>>b/drivers/gpu/drm/i915/intel_display.c > >>>index eb665d7..e04be45 100644 > >>>--- a/drivers/gpu/drm/i915/intel_display.c > >>>+++ b/drivers/gpu/drm/i915/intel_display.c > >>>@@ -409,7 +409,7 @@ static const intel_limit_t intel_limits_chv = { > >>> static const intel_limit_t intel_limits_bxt = { > >>> /* FIXME: find real dot limits */ > >>> .dot = { .min = 0, .max = INT_MAX }, > >>>- .vco = { .min = 4800000, .max = 6480000 }, > >>>+ .vco = { .min = 4800000, .max = 6700000 }, > >>> .n = { .min = 1, .max = 1 }, > >>> .m1 = { .min = 2, .max = 2 }, > >>> /* FIXME: find real m2 limits */ > >> > >>-- > >>regards, > >>Sivakumar > >> > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index ac985c5..d1b8928 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -1211,6 +1211,7 @@ enum skl_disp_power_wells { #define PORT_PLL_LOCK_THRESHOLD_MASK 0xe /* PORT_PLL_10_A */ #define PORT_PLL_DCO_AMP_OVR_EN_H (1<<27) +#define PORT_PLL_DCO_AMP_DEFAULT 15 #define PORT_PLL_DCO_AMP_MASK 0x3c00 #define PORT_PLL_DCO_AMP(x) (x<<10) #define _PORT_PLL_BASE(port) _PORT3(port, _PORT_PLL_0_A, \ diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c index 42c1487..9c05cc0 100644 --- a/drivers/gpu/drm/i915/intel_ddi.c +++ b/drivers/gpu/drm/i915/intel_ddi.c @@ -1455,7 +1455,7 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, struct bxt_clk_div clk_div = {0}; int vco = 0; uint32_t prop_coef, int_coef, gain_ctl, targ_cnt; - uint32_t dcoampovr_en_h, dco_amp, lanestagger; + uint32_t lanestagger; if (intel_encoder->type == INTEL_OUTPUT_HDMI) { intel_clock_t best_clock; @@ -1494,9 +1494,7 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, vco = clock * 10 / 2 * clk_div.p1 * clk_div.p2; } - dco_amp = 15; - dcoampovr_en_h = 0; - if (vco >= 6200000 && vco <= 6480000) { + if (vco >= 6200000 && vco <= 6700000) { prop_coef = 4; int_coef = 9; gain_ctl = 3; @@ -1507,8 +1505,6 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, int_coef = 11; gain_ctl = 3; targ_cnt = 9; - if (vco >= 4800000 && vco < 5400000) - dcoampovr_en_h = 1; } else if (vco == 5400000) { prop_coef = 3; int_coef = 8; @@ -1550,10 +1546,9 @@ bxt_ddi_pll_select(struct intel_crtc *intel_crtc, crtc_state->dpll_hw_state.pll8 = targ_cnt; - if (dcoampovr_en_h) - crtc_state->dpll_hw_state.pll10 = PORT_PLL_DCO_AMP_OVR_EN_H; - - crtc_state->dpll_hw_state.pll10 |= PORT_PLL_DCO_AMP(dco_amp); + crtc_state->dpll_hw_state.pll10 = + PORT_PLL_DCO_AMP(PORT_PLL_DCO_AMP_DEFAULT) + | PORT_PLL_DCO_AMP_OVR_EN_H; crtc_state->dpll_hw_state.pcsdw12 = LANESTAGGER_STRAP_OVRD | lanestagger; diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index eb665d7..e04be45 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -409,7 +409,7 @@ static const intel_limit_t intel_limits_chv = { static const intel_limit_t intel_limits_bxt = { /* FIXME: find real dot limits */ .dot = { .min = 0, .max = INT_MAX }, - .vco = { .min = 4800000, .max = 6480000 }, + .vco = { .min = 4800000, .max = 6700000 }, .n = { .min = 1, .max = 1 }, .m1 = { .min = 2, .max = 2 }, /* FIXME: find real m2 limits */