[haiku-commits] haiku: hrev56158 - src/add-ons/kernel/drivers/graphics/intel_extreme headers/private/graphics/intel_extreme

  • From: Jérôme Duval <jerome.duval@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 5 Jun 2022 14:29:20 +0000 (UTC)

hrev56158 adds 1 changeset to branch 'master'
old head: e9e00b80c07ebad2f0a5b1e9365047044c762933
new head: 85344c112ca7a226e2ada0f2887db9d6334292bc
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=85344c112ca7+%5Ee9e00b80c07e

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

85344c112ca7: intel_extreme: also set hw_cdclk on Broadwell
  
  this needed for dp aux before skylake, only for DP A (eDP).
  should help with #17771
  
  Change-Id: I4bdcca1fdc05294fb5b56c5c96164b6936a5881e
  Reviewed-on: https://review.haiku-os.org/c/haiku/+/5355
  Tested-by: Commit checker robot <no-reply+buildbot@xxxxxxxxxxxx>
  Reviewed-by: Adrien Destugues <pulkomandy@xxxxxxxxx>

                                   [ Jérôme Duval <jerome.duval@xxxxxxxxx> ]

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

Revision:    hrev56158
Commit:      85344c112ca7a226e2ada0f2887db9d6334292bc
URL:         https://git.haiku-os.org/haiku/commit/?id=85344c112ca7
Author:      Jérôme Duval <jerome.duval@xxxxxxxxx>
Date:        Sat Jun  4 19:31:36 2022 UTC

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

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

2 files changed, 15 insertions(+), 1 deletion(-)
headers/private/graphics/intel_extreme/intel_extreme.h |  2 ++
.../drivers/graphics/intel_extreme/intel_extreme.cpp   | 14 +++++++++++++-

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

diff --git a/headers/private/graphics/intel_extreme/intel_extreme.h 
b/headers/private/graphics/intel_extreme/intel_extreme.h
index 933e239e5a..cad0f7dc3a 100644
--- a/headers/private/graphics/intel_extreme/intel_extreme.h
+++ b/headers/private/graphics/intel_extreme/intel_extreme.h
@@ -923,6 +923,8 @@ struct intel_brightness_legacy {
 #define LCPLL_CTL                                              0x130040
 #define LCPLL_CLK_FREQ_MASK                            (3 << 26)
 #define LCPLL_CLK_FREQ_450                             (0 << 26)
+#define LCPLL_CLK_FREQ_54O_BDW                 (1 << 26)
+#define LCPLL_CLK_FREQ_337_5_BDW               (2 << 26)
 #define LCPLL_CD_SOURCE_FCLK                   (1 << 21)
 
 // display
diff --git 
a/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme.cpp 
b/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme.cpp
index 2220305175..1e541a9b86 100644
--- a/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme.cpp
+++ b/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme.cpp
@@ -879,7 +879,19 @@ intel_extreme_init(intel_info &info)
                info.shared_info->fdi_link_frequency = 0;
        }
 
-       if (info.device_type.InGroup(INTEL_GROUP_HAS)) {
+       if (info.device_type.InGroup(INTEL_GROUP_BDW)) {
+               uint32 lcpll = read32(info, LCPLL_CTL);
+               if ((lcpll & LCPLL_CD_SOURCE_FCLK) != 0)
+                       info.shared_info->hw_cdclk = 800000;
+               else if ((lcpll & LCPLL_CLK_FREQ_MASK) == LCPLL_CLK_FREQ_450)
+                       info.shared_info->hw_cdclk = 450000;
+               else if ((lcpll & LCPLL_CLK_FREQ_MASK) == 
LCPLL_CLK_FREQ_54O_BDW)
+                       info.shared_info->hw_cdclk = 540000;
+               else if ((lcpll & LCPLL_CLK_FREQ_MASK) == 
LCPLL_CLK_FREQ_337_5_BDW)
+                       info.shared_info->hw_cdclk = 337500;
+               else
+                       info.shared_info->hw_cdclk = 675000;
+       } else if (info.device_type.InGroup(INTEL_GROUP_HAS)) {
                uint32 lcpll = read32(info, LCPLL_CTL);
                if ((lcpll & LCPLL_CD_SOURCE_FCLK) != 0)
                        info.shared_info->hw_cdclk = 800000;


Other related posts:

  • » [haiku-commits] haiku: hrev56158 - src/add-ons/kernel/drivers/graphics/intel_extreme headers/private/graphics/intel_extreme - Jérôme Duval