[Intel-gfx] [PATCH] drm/i915: Fix VIDEO_DIP_CTL bit shifts

Manasi Navare manasi.d.navare at intel.com
Fri Oct 5 00:27:17 UTC 2018


On Thu, Oct 04, 2018 at 05:00:06PM -0700, Dhinakaran Pandiyan wrote:
> On Thu, 2018-10-04 at 16:28 -0700, Manasi Navare wrote:
> > On Thu, Oct 04, 2018 at 04:13:26PM -0700, Dhinakaran Pandiyan wrote:
> > > On Thu, 2018-10-04 at 16:03 -0700, Lucas De Marchi wrote:
> > > > On Thu, Oct 04, 2018 at 01:51:49PM -0700, Dhinakaran Pandiyan
> > > > wrote:
> > > > > The shifts for VSC_SELECT bits are wrong, fix it. Good thing is
> > > > > the
> > > > > definitions are unused.

No need to mention that defs are unused in the commit since that will not make sense
once the patches get merged that start using these.

More comments below

> > > > 
> > > > If they are unused why are we fixing them instead of removing? Or
> > > > better,
> > > > why did we add them?
> > > 
> > > I guess there are plans to make use of them, no idea.
> > > 
> > 
> > Yes, the VDIP_RNABLE_PPS and DIP enables get used in the DSC patch
> > series:
> > 
> > https://patchwork.freedesktop.org/series/47514/
> > 
> > If you want I can combine this fixes patch with the new revision of
> > DSC patchseries
> > I am about to send out
> 
> That might create an unnecessary dependency on the series getting
> merged. We'll have to program these bits for PSR2 from the looks of it.
> Let's get this into the tree soon, can you please review the fix?
> 
> -DK
> 
> > 
> > Manasi
> >  
> > > Cc: Anusha, Manasi
> > > 
> > > > 
> > > > Lucas De Marchi
> > > > 
> > > > > 
> > > > > Cc: Manasi Navare <manasi.d.navare at intel.com>
> > > > > Cc: Anusha Srivatsa <anusha.srivatsa at intel.com>
> > > > > Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > > > > Fixes: 7af2be6d54d4 ("drm/i915/icl: Add VIDEO_DIP registers")
> > > > > Signed-off-by: Dhinakaran Pandiyan <
> > > > > dhinakaran.pandiyan at intel.com>
> > > > > ---
> > > > >  drivers/gpu/drm/i915/i915_reg.h | 18 +++++++++---------
> > > > >  1 file changed, 9 insertions(+), 9 deletions(-)
> > > > > 
> > > > > diff --git a/drivers/gpu/drm/i915/i915_reg.h
> > > > > b/drivers/gpu/drm/i915/i915_reg.h
> > > > > index 27e650fe591b..a0ad77b9212b 100644
> > > > > --- a/drivers/gpu/drm/i915/i915_reg.h
> > > > > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > > > > @@ -4584,6 +4584,15 @@ enum {
> > > > >  #define   VIDEO_DIP_FREQ_2VSYNC		(2 << 16)
> > > > >  #define   VIDEO_DIP_FREQ_MASK		(3 << 16)
> > > > >  /* HSW and later: */
> > > > > +#define   DRM_DIP_ENABLE		(1 << 28)
> > > > > +#define   PSR_VSC_BIT_7_SET		(1 << 27)
> > > > > +#define   VSC_SELECT_MASK		(0x3 << 25)
> > > > > +#define   VSC_SELECT_SHIFT		25
> > > > > +#define   VSC_DIP_HW_HEA_DATA		(0 << 25)
> > > > > +#define   VSC_DIP_HW_HEA_SW_DATA	(1 << 25)
> > > > > +#define   VSC_DIP_HW_DATA_SW_HEA	(2 << 25)
> > > > > +#define   VSC_DIP_SW_HEA_DATA		(3 << 25)
> > > > > +#define   VDIP_ENABLE_PPS		(1 << 24)
> > > > >  #define   VIDEO_DIP_ENABLE_VSC_HSW	(1 << 20)
> > > > >  #define   VIDEO_DIP_ENABLE_GCP_HSW	(1 << 16)
> > > > >  #define   VIDEO_DIP_ENABLE_AVI_HSW	(1 << 12)
> > > > > @@ -4591,15 +4600,6 @@ enum {
> > > > >  #define   VIDEO_DIP_ENABLE_GMP_HSW	(1 << 4)
> > > > >  #define   VIDEO_DIP_ENABLE_SPD_HSW	(1 << 0)
> > > > >  
> > > > > -#define  DRM_DIP_ENABLE			(1 << 28)
> > > > > -#define  PSR_VSC_BIT_7_SET		(1 << 27)
> > > > > -#define  VSC_SELECT_MASK		(0x3 << 26)
> > > > > -#define  VSC_SELECT_SHIFT		26
> > > > > -#define  VSC_DIP_HW_HEA_DATA		(0 << 26)
> > > > > -#define  VSC_DIP_HW_HEA_SW_DATA		(1 << 26)
> > > > > -#define  VSC_DIP_HW_DATA_SW_HEA		(2 << 26)
> > > > > -#define  VSC_DIP_SW_HEA_DATA		(3 << 26)
> > > > > -#define  VDIP_ENABLE_PPS		(1 << 24)

Why do you need to remove all of these defs?
>From the spec, the only shift thats wrong is :
VSC_SELECT_MASK             (0x3 << 26)
#define  VSC_SELECT_SHIFT            26
#define  VSC_DIP_HW_HEA_DATA         (0 << 26)
define  VSC_DIP_HW_HEA_SW_DATA              (1 << 26)
define  VSC_DIP_HW_DATA_SW_HEA              (2 << 26)
VSC_DIP_SW_HEA_DATA         (3 << 26)

Removing others and redefining to be the same is misleading

Other than that the actual fixes look good, double checked with the spec.
So after the above fix and the commit message fix

Reviewed-by: Manasi Navare <manasi.d.navare at intel.com>

Manasi

> > > > >  
> > > > >  /* Panel power sequencing */
> > > > >  #define PPS_BASE			0x61200
> > > > > -- 
> > > > > 2.14.1
> > > > > 
> > > > > _______________________________________________
> > > > > Intel-gfx mailing list
> > > > > Intel-gfx at lists.freedesktop.org
> > > > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 


More information about the Intel-gfx mailing list