[haiku-commits] haiku: hrev53661 - src/add-ons/accelerants/intel_extreme

  • From: Adrien Destugues <pulkomandy@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 31 Dec 2019 06:01:02 -0500 (EST)

hrev53661 adds 1 changeset to branch 'master'
old head: 9ca1f3a903c3226daaab185fa9e4304b4fc6d6a6
new head: 8d663f4d33c55b19528d6e9f416cdf65e52c39d7
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=8d663f4d33c5+%5E9ca1f3a903c3

----------------------------------------------------------------------------

8d663f4d33c5: intel_extreme: fix PLL limits again
  
  In hrev53618 I swapped both the LVDS and SVDO limits for i9xx to be in
  the same order (always use "min" for the smallest value and "max" for
  the largest, both for dividers and multipliers). But I missed the fact
  that P2 is not searched for values in the range as are the other
  parameters.
  
  So, the code that picks the appropriate P2 value needs to be adjusted
  accordingly. Now that this is clear, put the values always in the same
  order (smallest value in "min", largest value in "max") and adjust the
  code to comute P2.
  
  Fixes #15573.

                             [ Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev53661
Commit:      8d663f4d33c55b19528d6e9f416cdf65e52c39d7
URL:         https://git.haiku-os.org/haiku/commit/?id=8d663f4d33c5
Author:      Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date:        Tue Dec 31 10:56:58 2019 UTC

Ticket:      https://dev.haiku-os.org/ticket/15573

----------------------------------------------------------------------------

1 file changed, 12 insertions(+), 12 deletions(-)
src/add-ons/accelerants/intel_extreme/pll.cpp | 24 +++++++++++------------

----------------------------------------------------------------------------

diff --git a/src/add-ons/accelerants/intel_extreme/pll.cpp 
b/src/add-ons/accelerants/intel_extreme/pll.cpp
index aa917f7213..099c19492c 100644
--- a/src/add-ons/accelerants/intel_extreme/pll.cpp
+++ b/src/add-ons/accelerants/intel_extreme/pll.cpp
@@ -45,8 +45,8 @@
 
 static pll_limits kLimits85x = {
        // p, p1, p2,  n,   m, m1, m2
-       {  4,  2,  4,  5,  96, 20,  8},
-       {128, 33,  2, 18, 140, 28, 18},
+       {  4,  2,  2,  5,  96, 20,  8},
+       {128, 33,  4, 18, 140, 28, 18},
        165000, 930000, 1400000
 };
 
@@ -84,8 +84,8 @@ static pll_limits kLimitsG4xSdvo = {
 #if 0
 static pll_limits kLimitsG4xHdmi = {
        // p, p1, p2,  n,   m, m1, m2
-       {  5,  1, 10,  5,  70, 12,  7}, // min
-       { 80,  8,  5, 10, 120, 22, 11}, // max
+       {  5,  1,  5,  5,  70, 12,  7}, // min
+       { 80,  8, 10, 10, 120, 22, 11}, // max
        165000, 1400000, 2800000
 };
 #endif
@@ -151,15 +151,15 @@ static pll_limits kLimitsIlkLvdsDual100 = {
 #if 0
 static pll_limits kLimitsChv = {
        // p, p1, p2, n,   m, m1, m2
-       {  0,  2, 14, 1,  79, 2,   24 << 22}, // min
-       {  0,  4,  1, 1, 127, 2,  175 << 22}, // max
+       {  0,  2,  1, 1,  79, 2,   24 << 22}, // min
+       {  0,  4, 14, 1, 127, 2,  175 << 22}, // max
        0, 4800000, 6480000
 };
 
 static pll_limits kLimitsVlv = {
        // p, p1, p2, n,   m, m1, m2
-       {  0,  2, 20, 1,  79, 2,   11}, // min
-       {  0,  3,  2, 7, 127, 3,  156}, // max
+       {  0,  2,  2, 1,  79, 2,   11}, // min
+       {  0,  3, 20, 7, 127, 3,  156}, // max
        0, 4000000, 6000000
 };
 
@@ -173,8 +173,8 @@ static pll_limits kLimitsBxt = {
 
 static pll_limits kLimitsPinSdvo = {
        // p, p1, p2, n,   m, m1,  m2
-       {  5,  1, 10, 3,   2,  0,   0}, // min
-       { 80,  8,  5, 6, 256,  0, 254}, // max
+       {  5,  1,  5, 3,   2,  0,   0}, // min
+       { 80,  8, 10, 6, 256,  0, 254}, // max
        200000, 1700000, 3500000
 };
 
@@ -224,10 +224,10 @@ compute_pll_p2(display_mode* current, pll_divisors* 
divisors,
        if (isLVDS) {
                if (lvds_dual_link(current)) {
                        // fast DAC timing via 2 channels (dual link LVDS)
-                       divisors->p2 = limits->max.p2;
+                       divisors->p2 = limits->min.p2;
                } else {
                        // slow DAC timing
-                       divisors->p2 = limits->min.p2;
+                       divisors->p2 = limits->max.p2;
                }
        } else {
                if (current->timing.pixel_clock < limits->dot_limit) {


Other related posts:

  • » [haiku-commits] haiku: hrev53661 - src/add-ons/accelerants/intel_extreme - Adrien Destugues