[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