From Jérôme Duval <jerome.duval@xxxxxxxxx>:
Jérôme Duval has uploaded this change for review. (
https://review.haiku-os.org/c/haiku/+/5355 ;)
Change subject: intel_extreme: also set hw_cdclk on Broadwell
......................................................................
intel_extreme: also set hw_cdclk on Broadwell
this needed for dp aux before skylake, only for DP A (eDP).
should help with #17771
---
M headers/private/graphics/intel_extreme/intel_extreme.h
M src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme.cpp
2 files changed, 15 insertions(+), 1 deletion(-)
git pull ssh://git.haiku-os.org:22/haiku refs/changes/55/5355/1
diff --git a/headers/private/graphics/intel_extreme/intel_extreme.h
b/headers/private/graphics/intel_extreme/intel_extreme.h
index 933e239..cad0f7d 100644
--- a/headers/private/graphics/intel_extreme/intel_extreme.h
+++ b/headers/private/graphics/intel_extreme/intel_extreme.h
@@ -923,6 +923,8 @@
#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 2220305..1e541a9 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 @@
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;
--
To view, visit https://review.haiku-os.org/c/haiku/+/5355
To unsubscribe, or for help writing mail filters, visit
https://review.haiku-os.org/settings
Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: I4bdcca1fdc05294fb5b56c5c96164b6936a5881e
Gerrit-Change-Number: 5355
Gerrit-PatchSet: 1
Gerrit-Owner: Jérôme Duval <jerome.duval@xxxxxxxxx>
Gerrit-MessageType: newchange