All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Shankar, Uma" <uma.shankar@intel.com>
To: "Shankar, Uma" <uma.shankar@intel.com>,
	"Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>
Cc: "Zanoni, Paulo R" <paulo.r.zanoni@intel.com>,
	"ville.syrjala@linux.intel.com" <ville.syrjala@linux.intel.com>,
	"daniel.vetter@ffwll.ch" <daniel.vetter@ffwll.ch>,
	"jani.nikula@linux.intel.com" <jani.nikula@linux.intel.com>,
	"joonas.lahtinen@linux.intel.com"
	<joonas.lahtinen@linux.intel.com>,
	"Vivi, Rodrigo" <rodrigo.vivi@intel.com>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>
Subject: Re: [Intel-gfx] [PATCH v3] drm/i915/display: Fix the 12 BPC bits for PIPE_MISC reg
Date: Wed, 11 Aug 2021 13:19:13 +0000	[thread overview]
Message-ID: <9e2f31ed038d4b0eb91c69c1263a1adf@intel.com> (raw)
In-Reply-To: <5c242bb097b24866a5ec6d4630bf6195@intel.com>



> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Shankar,
> Uma
> Sent: Wednesday, August 11, 2021 11:39 AM
> To: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>; intel-gfx@lists.freedesktop.org
> Cc: Zanoni, Paulo R <paulo.r.zanoni@intel.com>; ville.syrjala@linux.intel.com;
> daniel.vetter@ffwll.ch; jani.nikula@linux.intel.com;
> joonas.lahtinen@linux.intel.com; Vivi, Rodrigo <rodrigo.vivi@intel.com>;
> stable@vger.kernel.org
> Subject: Re: [Intel-gfx] [PATCH v3] drm/i915/display: Fix the 12 BPC bits for
> PIPE_MISC reg
> 

Change pushed to drm-intel-next. Thanks for the patch.

Regards,
Uma Shankar
> 
> > -----Original Message-----
> > From: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
> > Sent: Wednesday, August 11, 2021 10:49 AM
> > To: intel-gfx@lists.freedesktop.org
> > Cc: Shankar, Uma <uma.shankar@intel.com>; Zanoni, Paulo R
> > <paulo.r.zanoni@intel.com>; ville.syrjala@linux.intel.com;
> > daniel.vetter@ffwll.ch; jani.nikula@linux.intel.com;
> > joonas.lahtinen@linux.intel.com; Vivi, Rodrigo
> > <rodrigo.vivi@intel.com>; stable@vger.kernel.org; Nautiyal, Ankit K
> > <ankit.k.nautiyal@intel.com>
> > Subject: [PATCH v3] drm/i915/display: Fix the 12 BPC bits for
> > PIPE_MISC reg
> >
> > Till DISPLAY12 the PIPE_MISC bits 5-7 are used to set the Dithering
> > BPC, with valid values of 6, 8, 10 BPC.
> > For ADLP+ these bits are used to set the PORT OUTPUT BPC, with valid
> > values of: 6, 8, 10, 12 BPC, and need to be programmed whether dithering is
> enabled or not.
> >
> > This patch:
> > -corrects the bits 5-7 for PIPE MISC register for 12 BPC.
> > -renames the bits and mask to have generic names for these bits for
> > dithering bpc and port output bpc.
> >
> > v3: Added a note for MIPI DSI which uses the PIPE_MISC for readout for pipe_bpp.
> > (Uma Shankar)
> >
> > v2: Added 'display' to the subject and fixes tag. (Uma Shankar)
> >
> 
> Looks Good to me.
> Reviewed-by: Uma Shankar <uma.shankar@intel.com>
> 
> > Fixes: 756f85cffef2 ("drm/i915/bdw: Broadwell has PIPEMISC")
> > Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> (v1)
> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Cc: Jani Nikula <jani.nikula@linux.intel.com>
> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > Cc: intel-gfx@lists.freedesktop.org
> > Cc: <stable@vger.kernel.org> # v3.13+
> >
> > Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_display.c | 34 ++++++++++++++------
> >  drivers/gpu/drm/i915/i915_reg.h              | 16 ++++++---
> >  2 files changed, 35 insertions(+), 15 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index b25c596f6f7e..a257e5dc381c 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -5838,16 +5838,18 @@ static void bdw_set_pipemisc(const struct
> > intel_crtc_state *crtc_state)
> >
> >  	switch (crtc_state->pipe_bpp) {
> >  	case 18:
> > -		val |= PIPEMISC_DITHER_6_BPC;
> > +		val |= PIPEMISC_6_BPC;
> >  		break;
> >  	case 24:
> > -		val |= PIPEMISC_DITHER_8_BPC;
> > +		val |= PIPEMISC_8_BPC;
> >  		break;
> >  	case 30:
> > -		val |= PIPEMISC_DITHER_10_BPC;
> > +		val |= PIPEMISC_10_BPC;
> >  		break;
> >  	case 36:
> > -		val |= PIPEMISC_DITHER_12_BPC;
> > +		/* Port output 12BPC defined for ADLP+ */
> > +		if (DISPLAY_VER(dev_priv) > 12)
> > +			val |= PIPEMISC_12_BPC_ADLP;
> >  		break;
> >  	default:
> >  		MISSING_CASE(crtc_state->pipe_bpp);
> > @@ -5900,15 +5902,27 @@ int bdw_get_pipemisc_bpp(struct intel_crtc
> > *crtc)
> >
> >  	tmp = intel_de_read(dev_priv, PIPEMISC(crtc->pipe));
> >
> > -	switch (tmp & PIPEMISC_DITHER_BPC_MASK) {
> > -	case PIPEMISC_DITHER_6_BPC:
> > +	switch (tmp & PIPEMISC_BPC_MASK) {
> > +	case PIPEMISC_6_BPC:
> >  		return 18;
> > -	case PIPEMISC_DITHER_8_BPC:
> > +	case PIPEMISC_8_BPC:
> >  		return 24;
> > -	case PIPEMISC_DITHER_10_BPC:
> > +	case PIPEMISC_10_BPC:
> >  		return 30;
> > -	case PIPEMISC_DITHER_12_BPC:
> > -		return 36;
> > +	/*
> > +	 * PORT OUTPUT 12 BPC defined for ADLP+.
> > +	 *
> > +	 * TODO:
> > +	 * For previous platforms with DSI interface, bits 5:7
> > +	 * are used for storing pipe_bpp irrespective of dithering.
> > +	 * Since the value of 12 BPC is not defined for these bits
> > +	 * on older platforms, need to find a workaround for 12 BPC
> > +	 * MIPI DSI HW readout.
> > +	 */
> > +	case PIPEMISC_12_BPC_ADLP:
> > +		if (DISPLAY_VER(dev_priv) > 12)
> > +			return 36;
> > +		fallthrough;
> >  	default:
> >  		MISSING_CASE(tmp);
> >  		return 0;
> > diff --git a/drivers/gpu/drm/i915/i915_reg.h
> > b/drivers/gpu/drm/i915/i915_reg.h index 167eaa87501b..664970f2bc62
> > 100644
> > --- a/drivers/gpu/drm/i915/i915_reg.h
> > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > @@ -6203,11 +6203,17 @@ enum {
> >  #define   PIPEMISC_HDR_MODE_PRECISION	(1 << 23) /* icl+ */
> >  #define   PIPEMISC_OUTPUT_COLORSPACE_YUV  (1 << 11)
> >  #define   PIPEMISC_PIXEL_ROUNDING_TRUNC	REG_BIT(8) /* tgl+ */
> > -#define   PIPEMISC_DITHER_BPC_MASK	(7 << 5)
> > -#define   PIPEMISC_DITHER_8_BPC		(0 << 5)
> > -#define   PIPEMISC_DITHER_10_BPC	(1 << 5)
> > -#define   PIPEMISC_DITHER_6_BPC		(2 << 5)
> > -#define   PIPEMISC_DITHER_12_BPC	(3 << 5)
> > +/*
> > + * For Display < 13, Bits 5-7 of PIPE MISC represent DITHER BPC with
> > + * valid values of: 6, 8, 10 BPC.
> > + * ADLP+, the bits 5-7 represent PORT OUTPUT BPC with valid values of:
> > + * 6, 8, 10, 12 BPC.
> > + */
> > +#define   PIPEMISC_BPC_MASK		(7 << 5)
> > +#define   PIPEMISC_8_BPC		(0 << 5)
> > +#define   PIPEMISC_10_BPC		(1 << 5)
> > +#define   PIPEMISC_6_BPC		(2 << 5)
> > +#define   PIPEMISC_12_BPC_ADLP		(4 << 5) /* adlp+ */
> >  #define   PIPEMISC_DITHER_ENABLE	(1 << 4)
> >  #define   PIPEMISC_DITHER_TYPE_MASK	(3 << 2)
> >  #define   PIPEMISC_DITHER_TYPE_SP	(0 << 2)
> > --
> > 2.25.1


WARNING: multiple messages have this Message-ID (diff)
From: "Shankar, Uma" <uma.shankar@intel.com>
To: "Shankar, Uma" <uma.shankar@intel.com>,
	"Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>
Cc: "Zanoni, Paulo R" <paulo.r.zanoni@intel.com>,
	"ville.syrjala@linux.intel.com" <ville.syrjala@linux.intel.com>,
	"daniel.vetter@ffwll.ch" <daniel.vetter@ffwll.ch>,
	"jani.nikula@linux.intel.com" <jani.nikula@linux.intel.com>,
	"joonas.lahtinen@linux.intel.com"
	<joonas.lahtinen@linux.intel.com>,
	"Vivi, Rodrigo" <rodrigo.vivi@intel.com>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>
Subject: RE: [PATCH v3] drm/i915/display: Fix the 12 BPC bits for PIPE_MISC reg
Date: Wed, 11 Aug 2021 13:19:13 +0000	[thread overview]
Message-ID: <9e2f31ed038d4b0eb91c69c1263a1adf@intel.com> (raw)
In-Reply-To: <5c242bb097b24866a5ec6d4630bf6195@intel.com>



> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Shankar,
> Uma
> Sent: Wednesday, August 11, 2021 11:39 AM
> To: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>; intel-gfx@lists.freedesktop.org
> Cc: Zanoni, Paulo R <paulo.r.zanoni@intel.com>; ville.syrjala@linux.intel.com;
> daniel.vetter@ffwll.ch; jani.nikula@linux.intel.com;
> joonas.lahtinen@linux.intel.com; Vivi, Rodrigo <rodrigo.vivi@intel.com>;
> stable@vger.kernel.org
> Subject: Re: [Intel-gfx] [PATCH v3] drm/i915/display: Fix the 12 BPC bits for
> PIPE_MISC reg
> 

Change pushed to drm-intel-next. Thanks for the patch.

Regards,
Uma Shankar
> 
> > -----Original Message-----
> > From: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>
> > Sent: Wednesday, August 11, 2021 10:49 AM
> > To: intel-gfx@lists.freedesktop.org
> > Cc: Shankar, Uma <uma.shankar@intel.com>; Zanoni, Paulo R
> > <paulo.r.zanoni@intel.com>; ville.syrjala@linux.intel.com;
> > daniel.vetter@ffwll.ch; jani.nikula@linux.intel.com;
> > joonas.lahtinen@linux.intel.com; Vivi, Rodrigo
> > <rodrigo.vivi@intel.com>; stable@vger.kernel.org; Nautiyal, Ankit K
> > <ankit.k.nautiyal@intel.com>
> > Subject: [PATCH v3] drm/i915/display: Fix the 12 BPC bits for
> > PIPE_MISC reg
> >
> > Till DISPLAY12 the PIPE_MISC bits 5-7 are used to set the Dithering
> > BPC, with valid values of 6, 8, 10 BPC.
> > For ADLP+ these bits are used to set the PORT OUTPUT BPC, with valid
> > values of: 6, 8, 10, 12 BPC, and need to be programmed whether dithering is
> enabled or not.
> >
> > This patch:
> > -corrects the bits 5-7 for PIPE MISC register for 12 BPC.
> > -renames the bits and mask to have generic names for these bits for
> > dithering bpc and port output bpc.
> >
> > v3: Added a note for MIPI DSI which uses the PIPE_MISC for readout for pipe_bpp.
> > (Uma Shankar)
> >
> > v2: Added 'display' to the subject and fixes tag. (Uma Shankar)
> >
> 
> Looks Good to me.
> Reviewed-by: Uma Shankar <uma.shankar@intel.com>
> 
> > Fixes: 756f85cffef2 ("drm/i915/bdw: Broadwell has PIPEMISC")
> > Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> (v1)
> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Cc: Jani Nikula <jani.nikula@linux.intel.com>
> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > Cc: intel-gfx@lists.freedesktop.org
> > Cc: <stable@vger.kernel.org> # v3.13+
> >
> > Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_display.c | 34 ++++++++++++++------
> >  drivers/gpu/drm/i915/i915_reg.h              | 16 ++++++---
> >  2 files changed, 35 insertions(+), 15 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index b25c596f6f7e..a257e5dc381c 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -5838,16 +5838,18 @@ static void bdw_set_pipemisc(const struct
> > intel_crtc_state *crtc_state)
> >
> >  	switch (crtc_state->pipe_bpp) {
> >  	case 18:
> > -		val |= PIPEMISC_DITHER_6_BPC;
> > +		val |= PIPEMISC_6_BPC;
> >  		break;
> >  	case 24:
> > -		val |= PIPEMISC_DITHER_8_BPC;
> > +		val |= PIPEMISC_8_BPC;
> >  		break;
> >  	case 30:
> > -		val |= PIPEMISC_DITHER_10_BPC;
> > +		val |= PIPEMISC_10_BPC;
> >  		break;
> >  	case 36:
> > -		val |= PIPEMISC_DITHER_12_BPC;
> > +		/* Port output 12BPC defined for ADLP+ */
> > +		if (DISPLAY_VER(dev_priv) > 12)
> > +			val |= PIPEMISC_12_BPC_ADLP;
> >  		break;
> >  	default:
> >  		MISSING_CASE(crtc_state->pipe_bpp);
> > @@ -5900,15 +5902,27 @@ int bdw_get_pipemisc_bpp(struct intel_crtc
> > *crtc)
> >
> >  	tmp = intel_de_read(dev_priv, PIPEMISC(crtc->pipe));
> >
> > -	switch (tmp & PIPEMISC_DITHER_BPC_MASK) {
> > -	case PIPEMISC_DITHER_6_BPC:
> > +	switch (tmp & PIPEMISC_BPC_MASK) {
> > +	case PIPEMISC_6_BPC:
> >  		return 18;
> > -	case PIPEMISC_DITHER_8_BPC:
> > +	case PIPEMISC_8_BPC:
> >  		return 24;
> > -	case PIPEMISC_DITHER_10_BPC:
> > +	case PIPEMISC_10_BPC:
> >  		return 30;
> > -	case PIPEMISC_DITHER_12_BPC:
> > -		return 36;
> > +	/*
> > +	 * PORT OUTPUT 12 BPC defined for ADLP+.
> > +	 *
> > +	 * TODO:
> > +	 * For previous platforms with DSI interface, bits 5:7
> > +	 * are used for storing pipe_bpp irrespective of dithering.
> > +	 * Since the value of 12 BPC is not defined for these bits
> > +	 * on older platforms, need to find a workaround for 12 BPC
> > +	 * MIPI DSI HW readout.
> > +	 */
> > +	case PIPEMISC_12_BPC_ADLP:
> > +		if (DISPLAY_VER(dev_priv) > 12)
> > +			return 36;
> > +		fallthrough;
> >  	default:
> >  		MISSING_CASE(tmp);
> >  		return 0;
> > diff --git a/drivers/gpu/drm/i915/i915_reg.h
> > b/drivers/gpu/drm/i915/i915_reg.h index 167eaa87501b..664970f2bc62
> > 100644
> > --- a/drivers/gpu/drm/i915/i915_reg.h
> > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > @@ -6203,11 +6203,17 @@ enum {
> >  #define   PIPEMISC_HDR_MODE_PRECISION	(1 << 23) /* icl+ */
> >  #define   PIPEMISC_OUTPUT_COLORSPACE_YUV  (1 << 11)
> >  #define   PIPEMISC_PIXEL_ROUNDING_TRUNC	REG_BIT(8) /* tgl+ */
> > -#define   PIPEMISC_DITHER_BPC_MASK	(7 << 5)
> > -#define   PIPEMISC_DITHER_8_BPC		(0 << 5)
> > -#define   PIPEMISC_DITHER_10_BPC	(1 << 5)
> > -#define   PIPEMISC_DITHER_6_BPC		(2 << 5)
> > -#define   PIPEMISC_DITHER_12_BPC	(3 << 5)
> > +/*
> > + * For Display < 13, Bits 5-7 of PIPE MISC represent DITHER BPC with
> > + * valid values of: 6, 8, 10 BPC.
> > + * ADLP+, the bits 5-7 represent PORT OUTPUT BPC with valid values of:
> > + * 6, 8, 10, 12 BPC.
> > + */
> > +#define   PIPEMISC_BPC_MASK		(7 << 5)
> > +#define   PIPEMISC_8_BPC		(0 << 5)
> > +#define   PIPEMISC_10_BPC		(1 << 5)
> > +#define   PIPEMISC_6_BPC		(2 << 5)
> > +#define   PIPEMISC_12_BPC_ADLP		(4 << 5) /* adlp+ */
> >  #define   PIPEMISC_DITHER_ENABLE	(1 << 4)
> >  #define   PIPEMISC_DITHER_TYPE_MASK	(3 << 2)
> >  #define   PIPEMISC_DITHER_TYPE_SP	(0 << 2)
> > --
> > 2.25.1


  reply	other threads:[~2021-08-11 13:19 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-11  5:18 [Intel-gfx] [PATCH v3] drm/i915/display: Fix the 12 BPC bits for PIPE_MISC reg Ankit Nautiyal
2021-08-11  5:18 ` Ankit Nautiyal
2021-08-11  6:08 ` [Intel-gfx] " Shankar, Uma
2021-08-11  6:08   ` Shankar, Uma
2021-08-11 13:19   ` Shankar, Uma [this message]
2021-08-11 13:19     ` Shankar, Uma
2021-08-11  6:09 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Fix the 12 BPC bits for PIPE_MISC reg (rev2) Patchwork
2021-08-11  7:21 ` [Intel-gfx] ✓ Fi.CI.IGT: " 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=9e2f31ed038d4b0eb91c69c1263a1adf@intel.com \
    --to=uma.shankar@intel.com \
    --cc=ankit.k.nautiyal@intel.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=paulo.r.zanoni@intel.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=stable@vger.kernel.org \
    --cc=ville.syrjala@linux.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.