[Intel-gfx] [PATCH] drm/i915/glk: CDCLK calculation changes for glk

Jani Nikula jani.nikula at intel.com
Thu Mar 16 13:10:46 UTC 2017


On Thu, 16 Mar 2017, "Chauhan, Madhav" <madhav.chauhan at intel.com> wrote:
>> -----Original Message-----
>> From: Nikula, Jani
>> Sent: Thursday, February 16, 2017 9:03 PM
>> To: Chauhan, Madhav <madhav.chauhan at intel.com>; intel-
>> gfx at lists.freedesktop.org
>> Cc: Conselvan De Oliveira, Ander <ander.conselvan.de.oliveira at intel.com>;
>> Shankar, Uma <uma.shankar at intel.com>; Mukherjee, Indranil
>> <indranil.mukherjee at intel.com>; Sharma, Shashank
>> <shashank.sharma at intel.com>; Chauhan, Madhav
>> <madhav.chauhan at intel.com>; ville.syrjala at linux.intel.com
>> Subject: Re: [PATCH] drm/i915/glk: CDCLK calculation changes for glk
>> 
>> On Thu, 16 Feb 2017, Madhav Chauhan <madhav.chauhan at intel.com>
>> wrote:
>> > As per BSPEC, valid cdclk values for glk are 79.2, 158.4, 316.8 Mhz.
>> > Practically we can achive only 99% of these cdclk values(HW team
>> > checking on this). So cdclk should be calculated for the given pixclk
>> > as per that otherwise it may lead to screen corruption for some scenarios.
>> >
>> > v2: Rebased to new CDLCK code framework
>> >
>> > Signed-off-by: Madhav Chauhan <madhav.chauhan at intel.com>
>> > ---
>> >  drivers/gpu/drm/i915/intel_cdclk.c | 4 ++--
>> >  1 file changed, 2 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/drivers/gpu/drm/i915/intel_cdclk.c
>> > b/drivers/gpu/drm/i915/intel_cdclk.c
>> > index d643c0c..834df68 100644
>> > --- a/drivers/gpu/drm/i915/intel_cdclk.c
>> > +++ b/drivers/gpu/drm/i915/intel_cdclk.c
>> > @@ -1071,9 +1071,9 @@ static int bxt_calc_cdclk(int max_pixclk)
>> >
>> >  static int glk_calc_cdclk(int max_pixclk)  {
>> > -	if (max_pixclk > 2 * 158400)
>> > +	if (max_pixclk > DIV_ROUND_UP(2 * 158400 * 99, 100))
>> 
>> Where do we ensure we don't use pixel clock 312841..316800? Clearly we
>> shouldn't use that because we can't guarantee it works, right?
> Why do we need to ensure that ?? Can you please elaborate more on this?  
> Here we are finding one of  the defined CDCLK value for a pixel clock

I probably had some great idea a month ago when I wrote that, but I can
no longer remember what it was. :(

BR,
Jani.


>> 
>> Before we get the spec update to confirm what to do, I think we need a
>> comment here explaining what's going on.
> Will add the following comment, if that's fine, will send the rebased patch:
> "For GLK platform, only 99% of the defined CDCLK value can be achieved 
>   So calculate pixel clock on that basis"
>
> Regards,
> Madhav
>> 
>> BR,
>> Jani.
>> 
>> >  		return 316800;
>> > -	else if (max_pixclk > 2 * 79200)
>> > +	else if (max_pixclk > DIV_ROUND_UP(2 * 79200 * 99, 100))
>> >  		return 158400;
>> >  	else
>> >  		return 79200;
>> 
>> --
>> Jani Nikula, Intel Open Source Technology Center

-- 
Jani Nikula, Intel Open Source Technology Center


More information about the Intel-gfx mailing list