[PATCH 1/2] drm/i915: move rawclk init to intel_cdclk_init()
Jani Nikula
jani.nikula at intel.com
Mon May 27 18:16:20 UTC 2024
On Mon, 08 Apr 2024, Ville Syrjälä <ville.syrjala at linux.intel.com> wrote:
> On Mon, Apr 08, 2024 at 08:28:27PM +0300, Ville Syrjälä wrote:
>> On Mon, Apr 08, 2024 at 08:23:14PM +0300, Jani Nikula wrote:
>> > The rawclk initialization is a bit out of place in
>> > intel_device_info_runtime_init(). Move it to intel_cdclk_init(), with a
>> > bit of refactoring on intel_read_rawclk().
>>
>> rawclk is used outside of display.
>
> The correct solution would likely be to extract a
> i9xx_fsb_freq(), and use that to populate both rawclk_freq
> and fsb_freq (and switch over to fsb_freq in the
> non-display code).
I circled back to this, and PNV seems to be the problem case for making
this happen.
pnv_detect_mem_freq() in intel_dram.c and i9xx_hrawclk() in
intel_cdclk.c interpret the CLKCFG register slightly differently.
I'm presuming PNV only supports a subset of the values covered by
i9xx_hrawclk(). For IS_MOBILE() they all match, but for !IS_MOBILE()
there's a different value for 400 MHz FSB.
So how should desktop PNV interpret the register, I wonder? I can't find
any specs on that anymore.
BR,
Jani.
--
Jani Nikula, Intel
More information about the Intel-gfx
mailing list