intel_extreme: check another register when finding out hw_cdclk on Haswell/Broadwell
doesn't help with #18084 Change-Id: I6f3cc8b50fc5742fab3021f01b90dfebe484b336 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5830 Reviewed-by: Jérôme Duval <[email protected]> Tested-by: Commit checker robot <[email protected]>
This commit is contained in:
@@ -927,6 +927,9 @@ struct intel_brightness_legacy {
|
|||||||
#define LCPLL_CLK_FREQ_337_5_BDW (2 << 26)
|
#define LCPLL_CLK_FREQ_337_5_BDW (2 << 26)
|
||||||
#define LCPLL_CD_SOURCE_FCLK (1 << 21)
|
#define LCPLL_CD_SOURCE_FCLK (1 << 21)
|
||||||
|
|
||||||
|
#define FUSE_STRAP 0x42014
|
||||||
|
#define HSW_CDCLK_LIMIT (1 << 24)
|
||||||
|
|
||||||
// display
|
// display
|
||||||
|
|
||||||
#define INTEL_DISPLAY_OFFSET 0x1000
|
#define INTEL_DISPLAY_OFFSET 0x1000
|
||||||
|
|||||||
@@ -883,6 +883,8 @@ intel_extreme_init(intel_info &info)
|
|||||||
uint32 lcpll = read32(info, LCPLL_CTL);
|
uint32 lcpll = read32(info, LCPLL_CTL);
|
||||||
if ((lcpll & LCPLL_CD_SOURCE_FCLK) != 0)
|
if ((lcpll & LCPLL_CD_SOURCE_FCLK) != 0)
|
||||||
info.shared_info->hw_cdclk = 800000;
|
info.shared_info->hw_cdclk = 800000;
|
||||||
|
else if ((read32(info, FUSE_STRAP) & HSW_CDCLK_LIMIT) != 0)
|
||||||
|
info.shared_info->hw_cdclk = 450000;
|
||||||
else if ((lcpll & LCPLL_CLK_FREQ_MASK) == LCPLL_CLK_FREQ_450)
|
else if ((lcpll & LCPLL_CLK_FREQ_MASK) == LCPLL_CLK_FREQ_450)
|
||||||
info.shared_info->hw_cdclk = 450000;
|
info.shared_info->hw_cdclk = 450000;
|
||||||
else if ((lcpll & LCPLL_CLK_FREQ_MASK) == LCPLL_CLK_FREQ_54O_BDW)
|
else if ((lcpll & LCPLL_CLK_FREQ_MASK) == LCPLL_CLK_FREQ_54O_BDW)
|
||||||
@@ -895,6 +897,8 @@ intel_extreme_init(intel_info &info)
|
|||||||
uint32 lcpll = read32(info, LCPLL_CTL);
|
uint32 lcpll = read32(info, LCPLL_CTL);
|
||||||
if ((lcpll & LCPLL_CD_SOURCE_FCLK) != 0)
|
if ((lcpll & LCPLL_CD_SOURCE_FCLK) != 0)
|
||||||
info.shared_info->hw_cdclk = 800000;
|
info.shared_info->hw_cdclk = 800000;
|
||||||
|
else if ((read32(info, FUSE_STRAP) & HSW_CDCLK_LIMIT) != 0)
|
||||||
|
info.shared_info->hw_cdclk = 450000;
|
||||||
else if ((lcpll & LCPLL_CLK_FREQ_MASK) == LCPLL_CLK_FREQ_450)
|
else if ((lcpll & LCPLL_CLK_FREQ_MASK) == LCPLL_CLK_FREQ_450)
|
||||||
info.shared_info->hw_cdclk = 450000;
|
info.shared_info->hw_cdclk = 450000;
|
||||||
/* ULT type is missing
|
/* ULT type is missing
|
||||||
|
|||||||
Reference in New Issue
Block a user