From: "Kulkarni, Vandita" <vandita.kulkarni@intel.com>
To: "Navare, Manasi D" <manasi.d.navare@intel.com>
Cc: "Nikula, Jani" <jani.nikula@intel.com>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH] drm/i915/dsc: Remove redundant checks in DSC disable
Date: Fri, 4 Jun 2021 07:31:09 +0000 [thread overview]
Message-ID: <c964c8e14b224c8e895742ce98031fb5@intel.com> (raw)
In-Reply-To: <20210603184537.GA12413@labuser-Z97X-UD5H>
> -----Original Message-----
> From: Navare, Manasi D <manasi.d.navare@intel.com>
> Sent: Friday, June 4, 2021 12:16 AM
> To: Kulkarni, Vandita <vandita.kulkarni@intel.com>
> Cc: Manna, Animesh <animesh.manna@intel.com>; Nikula, Jani
> <jani.nikula@intel.com>; Saarinen, Jani <jani.saarinen@intel.com>; intel-
> gfx@lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH] drm/i915/dsc: Remove redundant checks in
> DSC disable
>
> On Thu, Jun 03, 2021 at 08:37:22AM -0700, Kulkarni, Vandita wrote:
> > > -----Original Message-----
> > > From: Manna, Animesh <animesh.manna@intel.com>
> > > Sent: Thursday, June 3, 2021 7:24 PM
> > > To: Kulkarni, Vandita <vandita.kulkarni@intel.com>; Nikula, Jani
> > > <jani.nikula@intel.com>; Saarinen, Jani <jani.saarinen@intel.com>;
> > > intel- gfx@lists.freedesktop.org
> > > Cc: Navare, Manasi D <manasi.d.navare@intel.com>
> > > Subject: RE: [Intel-gfx] [PATCH] drm/i915/dsc: Remove redundant
> > > checks in DSC disable
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: Kulkarni, Vandita <vandita.kulkarni@intel.com>
> > > > Sent: Thursday, June 3, 2021 4:55 PM
> > > > To: Nikula, Jani <jani.nikula@intel.com>; Saarinen, Jani
> > > > <jani.saarinen@intel.com>; intel-gfx@lists.freedesktop.org
> > > > Cc: Manna, Animesh <animesh.manna@intel.com>; Navare, Manasi D
> > > > <manasi.d.navare@intel.com>
> > > > Subject: RE: [Intel-gfx] [PATCH] drm/i915/dsc: Remove redundant
> > > > checks in DSC disable
> > > >
> > > > > -----Original Message-----
> > > > > From: Nikula, Jani <jani.nikula@intel.com>
> > > > > Sent: Thursday, June 3, 2021 3:11 PM
> > > > > To: Kulkarni, Vandita <vandita.kulkarni@intel.com>; Saarinen,
> > > > > Jani <jani.saarinen@intel.com>; intel-gfx@lists.freedesktop.org
> > > > > Cc: Manna, Animesh <animesh.manna@intel.com>; Navare, Manasi D
> > > > > <manasi.d.navare@intel.com>
> > > > > Subject: RE: [Intel-gfx] [PATCH] drm/i915/dsc: Remove redundant
> > > > > checks in DSC disable
> > > > >
> > > > > On Thu, 03 Jun 2021, "Kulkarni, Vandita"
> > > > > <vandita.kulkarni@intel.com>
> > > > > wrote:
> > > > > >> -----Original Message-----
> > > > > >> From: Saarinen, Jani <jani.saarinen@intel.com>
> > > > > >> Sent: Thursday, June 3, 2021 1:07 PM
> > > > > >> To: Kulkarni, Vandita <vandita.kulkarni@intel.com>; intel-
> > > > > >> gfx@lists.freedesktop.org
> > > > > >> Cc: Nikula, Jani <jani.nikula@intel.com>
> > > > > >> Subject: RE: [Intel-gfx] [PATCH] drm/i915/dsc: Remove
> > > > > >> redundant checks in DSC disable
> > > > > >>
> > > > > >> Hi,
> > > > > >> > -----Original Message-----
> > > > > >> > From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org>
> > > > > >> > On Behalf Of Vandita Kulkarni
> > > > > >> > Sent: torstai 3. kesäkuuta 2021 9.54
> > > > > >> > To: intel-gfx@lists.freedesktop.org
> > > > > >> > Cc: Nikula, Jani <jani.nikula@intel.com>
> > > > > >> > Subject: [Intel-gfx] [PATCH] drm/i915/dsc: Remove redundant
> > > > > >> > checks in DSC disable
> > > > > >> >
> > > > > >> > There can be a chance that pre os has enabled DSC and
> > > > > >> > driver's compute config would not need dsc to be enabled,
> > > > > >> > in such case if we check on compute config's compression
> > > > > >> > state to disable, we might end up in state
> > > > > >> mismatch.
> > > > > >>
> > > > > >> I assume this fixes real gitlab issue too?
> > > > > > Okay, will add the tag
> > > > > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/3537
> > > > >
> > > > > See https://lore.kernel.org/r/87fsxzp9qx.fsf@intel.com
> > > > >
> > > > > The problem is with ->bigjoiner, not the entire statement.
> > > > Thanks for pointing this out, true that bigjoiner not being
> > > > enabled will stop dsc disabling.
> > > > The bigjoiner check was making the entire condition check
> unnecessary.
> > > >
> > > > Will update and refloat.
> > >
> > > Hi Jani/Vandita,
> > >
> > > For uncompressed bigjoiner case if we want to use the same function
> > > to clear the dsc_ctrl1 register we may need to remove both the
> > > condition check.
> > > As for uncompressed bigjoiner case, compression_enable Will be 0 and
> > > will block in clearing the dss_ctl1_reg.
> >
> > Yes, I was going through and found that bit 20 and 21 of dss_ctl1 are
> > being used for uncompressed joiner.
> > So when dsc is not enabled to avoid writing the register we could add
> > below code .
> >
> > if (dsc)
> > clear dss_ctl2
> > if ( bigjoiner | dsc)
> > clear dss_ctl1;
> > return;
> >
> > bigjoiner = 1 and dsc = 0 - uncompressed , I think there is no harm
> > in clearing dsc bits again bigjoiner = 1 and dsc = 1 - compressed -
> > uncompressed bits are already 0 bigjoiner = 0 and dsc= 1 - just dsc -
> > clear dsc rest are 0s already bigjoiner = 0 and dsc = 0 do nothing,
> > return
> >
> > If I have missed any corner case, please let me know.
> >
> > Thanks,
> > Vandita
>
> I think in the original code the condition was just reversed, instead it should
> be :
>
> if !(dsc_en || bigjoiner_en) {
> write 0 to dss ctl 1
> write 0 to dss ctl 2
> }
It should be the other way.
If neither of them are enabled then we have to just return.
Since I see that dss_ctl2 also gets set in case of big joiner I shall move that under
the main check of bigjoiner OR dsc and clear both the regs.
Thanks,
Vandita
>
> So here basically it meets all the conditions you mentioned Vandita:
>
> - only when both dsc and bigjoiner are 0, it will do nothing
> - In all other cases DSC + Bigjoiner : Clear all bits including uncompressed bits
> which shd be 0 already
> - In dsc = 0, bigjoiner = 1 (uncompressed), it will clear both again which is okay
> since dsc bits are already 0
>
> Does this make sense?
>
> Regards
> Manasi
>
>
> > >
> > > Regards,
> > > Animesh
> > > >
> > > > Thanks,
> > > > Vandita
> > > > >
> > > > >
> > > > > BR,
> > > > > Jani.
> > > > >
> > > > > >
> > > > > > Thanks,
> > > > > > Vandita
> > > > > >>
> > > > > >> >
> > > > > >> > Signed-off-by: Vandita Kulkarni
> > > > > >> > <vandita.kulkarni@intel.com>
> > > > > >> > ---
> > > > > >> > drivers/gpu/drm/i915/display/intel_vdsc.c | 4 ----
> > > > > >> > 1 file changed, 4 deletions(-)
> > > > > >> >
> > > > > >> > diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c
> > > > > >> > b/drivers/gpu/drm/i915/display/intel_vdsc.c
> > > > > >> > index 19cd9531c115..b05a96011d93 100644
> > > > > >> > --- a/drivers/gpu/drm/i915/display/intel_vdsc.c
> > > > > >> > +++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
> > > > > >> > @@ -1161,10 +1161,6 @@ void intel_dsc_disable(const struct
> > > > > >> > intel_crtc_state
> > > > > >> > *old_crtc_state)
> > > > > >> > struct intel_crtc *crtc = to_intel_crtc(old_crtc_state-
> > > >uapi.crtc);
> > > > > >> > struct drm_i915_private *dev_priv = to_i915(crtc-
> > > >base.dev);
> > > > > >> >
> > > > > >> > - if (!(old_crtc_state->dsc.compression_enable &&
> > > > > >> > - old_crtc_state->bigjoiner))
> > > > > >> > - return;
> > > > > >> > -
> > > > > >> > intel_de_write(dev_priv, dss_ctl1_reg(old_crtc_state), 0);
> > > > > >> > intel_de_write(dev_priv, dss_ctl2_reg(old_crtc_state),
> > > > > >> > 0); }
> > > > > >> > --
> > > > > >> > 2.21.0.5.gaeb582a
> > > > > >> >
> > > > > >> > _______________________________________________
> > > > > >> > Intel-gfx mailing list
> > > > > >> > Intel-gfx@lists.freedesktop.org
> > > > > >> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > > > >
> > > > > --
> > > > > Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2021-06-04 7:31 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-03 6:53 [Intel-gfx] [PATCH] drm/i915/dsc: Remove redundant checks in DSC disable Vandita Kulkarni
2021-06-03 7:37 ` Saarinen, Jani
2021-06-03 8:47 ` Kulkarni, Vandita
2021-06-03 9:41 ` Jani Nikula
2021-06-03 11:24 ` Kulkarni, Vandita
2021-06-03 13:53 ` Manna, Animesh
2021-06-03 15:37 ` Kulkarni, Vandita
2021-06-03 18:45 ` Navare, Manasi
2021-06-04 7:31 ` Kulkarni, Vandita [this message]
2021-06-03 8:44 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c964c8e14b224c8e895742ce98031fb5@intel.com \
--to=vandita.kulkarni@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=manasi.d.navare@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.