On Wed, 2026-06-17 at 14:38 +0300, Jani Nikula wrote:
> On Tue, 16 Jun 2026, Vinod Govindapillai
> <[email protected]> wrote:
> > Bspec has been updated for xe2_lpd+ platforms on how to handle
> > the bw buddy prgramming in case no matching memory configuration
> > is found w.r.t the current page mask table. The recommendation
> > is to keep the default settings for the related registers as it
> > is without explicitly disabling the bw buddy.
> > 
> > v2: removed extra explanation
> > 
> > Bspec: 68871
> > Suggested-by: Ville Syrjala <[email protected]>
> > Signed-off-by: Vinod Govindapillai <[email protected]>
> > ---
> >  drivers/gpu/drm/i915/display/intel_display_power.c | 9 ++++++---
> >  1 file changed, 6 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c
> > b/drivers/gpu/drm/i915/display/intel_display_power.c
> > index 2e51dfcd5dce..3d348c5decee 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> > @@ -1634,9 +1634,12 @@ static void tgl_bw_buddy_init(struct
> > intel_display *display)
> >     if (table[config].page_mask == 0) {
> >             drm_dbg_kms(display->drm,
> >                         "Unknown memory configuration;
> > disabling address buddy logic.\n");
> 
> The debug logging becomes misleading for display >= 20.
> 
> BR,
> Jani.

Though we dont explicitly disable the buddy_ctl register, I understood
that the effect is same. Thats the reason I didnt change the debug
logging in this case.

BR
Vinod

> 
> > -           for_each_set_bit(i, &abox_mask,
> > BITS_PER_TYPE(abox_mask))
> > -                   intel_de_write(display, BW_BUDDY_CTL(i),
> > -                                  BW_BUDDY_DISABLE);
> > +
> > +           if (DISPLAY_VER(display) < 20) {
> > +                   for_each_set_bit(i, &abox_mask,
> > BITS_PER_TYPE(abox_mask))
> > +                           intel_de_write(display,
> > BW_BUDDY_CTL(i),
> > +                                          BW_BUDDY_DISABLE);
> > +           }
> >     } else {
> >             for_each_set_bit(i, &abox_mask,
> > BITS_PER_TYPE(abox_mask)) {
> >                     intel_de_write(display,
> > BW_BUDDY_PAGE_MASK(i),
> 

Reply via email to