[PATCH] drm/i915: clear the QGV mask set by GOP while booting
Sworo, George D
george.d.sworo at intel.com
Thu Jan 4 15:57:52 UTC 2024
On Thu, 2024-01-04 at 10:13 +0200, Lisovskiy, Stanislav wrote:
> On Wed, Jan 03, 2024 at 06:57:45PM -0800, George D Sworo wrote:
> > From: George D Sworo <george.d.sworo at intel.com>
> >
> > GOP driver in the firmware is masking the QGV points except the one
> > which can
> > provide high Bandwidth required for panel.
> >
> > On boot to the OS the mask is already set, and is not cleared
> > anywhere
> > in the i915 driver
> > even though sagv is enabled. This means Pcode is unable to switch
> > to
> > other QGV work points
> > except the one enabled by default in the GOP driver at boot time.
> >
> > This change resets the mask, when i915 driver is finding the QGV
> > points at the boot time. So that Pcode can switch to QGV work
> > points
> > based
> > on the Workloads.
> >
> > Signed-off-by: George D Sworo <george.d.sworo at intel.com>
>
> Hi,
>
> We already have a case similar to this, you might want to check this
> out:
>
> https://patchwork.freedesktop.org/series/126962/
>
> Stan
>
> > ---
> > drivers/gpu/drm/i915/display/intel_bw.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_bw.c
> > b/drivers/gpu/drm/i915/display/intel_bw.c
> > index bef96db62c80..e2576c0fb729 100644
> > --- a/drivers/gpu/drm/i915/display/intel_bw.c
> > +++ b/drivers/gpu/drm/i915/display/intel_bw.c
> > @@ -212,6 +212,7 @@ static int icl_get_qgv_points(struct
> > drm_i915_private *dev_priv,
> > bool is_y_tile)
> > {
> > const struct dram_info *dram_info = &dev_priv->dram_info;
> > + u32 val = 0x00, val2 = 0;
> > int i, ret;
> >
> > qi->num_points = dram_info->num_qgv_points;
> > @@ -311,6 +312,11 @@ static int icl_get_qgv_points(struct
> > drm_i915_private *dev_priv,
> > i, qi->psf_points[i].clk);
> > }
> >
> > + /* clear the QGV points mask set by the GOP driver while
> > booting */
> > + ret = snb_pcode_read(&dev_priv->uncore,
> > ICL_PCODE_SAGV_DE_MEM_SS_CONFIG, &val, &val2);
> > + if (ret)
> > + return ret;
> > +
> > return 0;
> > }
> >
> > --
> > 2.34.1
> >
hi Stan,
Thanks for the quick reply. unfortunately, SAGV frequency doesnt seem
to be scaling even with this patch added
https://patchwork.freedesktop.org/series/126962/ .
More information about the Intel-gfx
mailing list