[PATCH] drm/i915/cdclk: Check cdclk value before division

Kandpal, Suraj suraj.kandpal at intel.com
Wed Oct 9 09:25:14 UTC 2024



> -----Original Message-----
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Sent: Wednesday, October 9, 2024 2:32 PM
> To: Kandpal, Suraj <suraj.kandpal at intel.com>
> Cc: intel-xe at lists.freedesktop.org; intel-gfx at lists.freedesktop.org; Shankar,
> Uma <uma.shankar at intel.com>; Borah, Chaitanya Kumar
> <chaitanya.kumar.borah at intel.com>
> Subject: Re: [PATCH] drm/i915/cdclk: Check cdclk value before division
> 
> On Wed, Oct 09, 2024 at 02:16:34PM +0530, Suraj Kandpal wrote:
> > Check cdclk value to avoid a divide by zero error. Since
> > bxt_cdclk_init_hw has cdclk can end up being 0 and then we have a call
> > to bxt_set_cdclk where we may end up dividing this value by 0.
> 
> Not possible unless someone completely screwed the cdclk tables and/or
> refclk readout, in which case oops seems like a perfectly reasonable
> outcome to me.

Ohkay got it 

> 
> >
> > Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_cdclk.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c
> > b/drivers/gpu/drm/i915/display/intel_cdclk.c
> > index fa1c2012b10c..a5acc70fb87c 100644
> > --- a/drivers/gpu/drm/i915/display/intel_cdclk.c
> > +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
> > @@ -1921,7 +1921,7 @@ static u32 xe2lpd_mdclk_source_sel(struct
> > intel_display *display)  int intel_mdclk_cdclk_ratio(struct intel_display
> *display,
> >  			    const struct intel_cdclk_config *cdclk_config)  {
> > -	if (mdclk_source_is_cdclk_pll(display))
> > +	if (mdclk_source_is_cdclk_pll(display) && cdclk_config->cdclk)
> >  		return DIV_ROUND_UP(cdclk_config->vco, cdclk_config-
> >cdclk);
> >
> >  	/* Otherwise, source for MDCLK is CD2XCLK. */
> > --
> > 2.43.2
> 
> --
> Ville Syrjälä
> Intel


More information about the Intel-xe mailing list