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),
>