All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Lisovskiy, Stanislav" <stanislav.lisovskiy@intel.com>
To: Jani Nikula <jani.nikula@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH 1/2] drm: Add missing DP DSC extended capability definitions.
Date: Mon, 21 Mar 2022 16:08:56 +0200	[thread overview]
Message-ID: <20220321140856.GA14902@intel.com> (raw)
In-Reply-To: <877d8nlbkr.fsf@intel.com>

On Mon, Mar 21, 2022 at 02:44:20PM +0200, Jani Nikula wrote:
> On Mon, 21 Mar 2022, Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> wrote:
> > Adding DP DSC register definitions, we might need for further
> > DSC implementation, supporting MST and DP branch pass-through mode.
> >
> > v2: - Fixed checkpatch comment warning
> >
> > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> > ---
> >  drivers/gpu/drm/dp/drm_dp.c    | 25 +++++++++++++++++++++++++
> >  include/drm/dp/drm_dp_helper.h | 11 ++++++++++-
> >  2 files changed, 35 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/dp/drm_dp.c b/drivers/gpu/drm/dp/drm_dp.c
> > index 703972ae14c6..45815745ba7b 100644
> > --- a/drivers/gpu/drm/dp/drm_dp.c
> > +++ b/drivers/gpu/drm/dp/drm_dp.c
> > @@ -2312,6 +2312,31 @@ u8 drm_dp_dsc_sink_max_slice_count(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
> >  }
> >  EXPORT_SYMBOL(drm_dp_dsc_sink_max_slice_count);
> >  
> > +/**
> > + * drm_dp_dsc_sink_bpp_increment_div - Get the bits per pixel precision
> > + * which DP DSC sink device supports.
> > + */
> > +u8 drm_dp_dsc_sink_bpp_increment_div(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE])
> > +{
> > +	u8 bpp_increment_dpcd = dsc_dpcd[DP_DSC_BITS_PER_PIXEL_INC - DP_DSC_SUPPORT];
> > +
> > +	switch (bpp_increment_dpcd) {
> 
> So I didn't look this up in the spec, but later in the patch you're
> adding masks for the dpcd register in question, so I presume it's not
> fine to assume the whole register is about bbp.

In spec its called MAX_BPP_DELTA_AND_MAX_BPP_INCREMENT, for DP 1.4
rest bits are reserved, except those for bpp increment, while in
DP 2.0, rest are for max bpp delta(table 2-183)
I thought that full name would be too long and also confusing.

> 
> > +	case DP_DSC_BITS_PER_PIXEL_1_16:
> > +		return 16;
> > +	case DP_DSC_BITS_PER_PIXEL_1_8:
> > +		return 8;
> > +	case DP_DSC_BITS_PER_PIXEL_1_4:
> > +		return 4;
> > +	case DP_DSC_BITS_PER_PIXEL_1_2:
> > +		return 2;
> > +	case DP_DSC_BITS_PER_PIXEL_1_1:
> > +		return 1;
> > +	}
> > +
> > +	return 0;
> > +}
> > +
> > +
> 
> Didn't checkpatch complain about the double newline?

Actually it did. Fixed rest of warns, but for some reason didn't
spot this one.

> 
> You don't use the function for anything in patch 2. And you couldn't
> because it's not exported to drivers.

Yes, I think we don't support currently those increments, but I guess 
we will need those in future. Should I remove it until we actually start
using them?


Stan

> 
> BR,
> Jani.
> 
> >  /**
> >   * drm_dp_dsc_sink_line_buf_depth() - Get the line buffer depth in bits
> >   * @dsc_dpcd: DSC capabilities from DPCD
> > diff --git a/include/drm/dp/drm_dp_helper.h b/include/drm/dp/drm_dp_helper.h
> > index 51e02cf75277..e4c9f4438ccb 100644
> > --- a/include/drm/dp/drm_dp_helper.h
> > +++ b/include/drm/dp/drm_dp_helper.h
> > @@ -246,6 +246,9 @@ struct drm_panel;
> >  
> >  #define DP_DSC_SUPPORT                      0x060   /* DP 1.4 */
> >  # define DP_DSC_DECOMPRESSION_IS_SUPPORTED  (1 << 0)
> > +# define DP_DSC_PASS_THROUGH_IS_SUPPORTED   (1 << 1)
> > +# define DP_DSC_DYNAMIC_PPS_UPDATE_SUPPORT_COMP_TO_COMP    (1 << 2)
> > +# define DP_DSC_DYNAMIC_PPS_UPDATE_SUPPORT_UNCOMP_TO_COMP  (1 << 3)
> >  
> >  #define DP_DSC_REV                          0x061
> >  # define DP_DSC_MAJOR_MASK                  (0xf << 0)
> > @@ -284,12 +287,15 @@ struct drm_panel;
> >  
> >  #define DP_DSC_BLK_PREDICTION_SUPPORT       0x066
> >  # define DP_DSC_BLK_PREDICTION_IS_SUPPORTED (1 << 0)
> > +# define DP_DSC_RGB_COLOR_CONV_BYPASS_SUPPORT (1 << 1)
> >  
> >  #define DP_DSC_MAX_BITS_PER_PIXEL_LOW       0x067   /* eDP 1.4 */
> >  
> >  #define DP_DSC_MAX_BITS_PER_PIXEL_HI        0x068   /* eDP 1.4 */
> >  # define DP_DSC_MAX_BITS_PER_PIXEL_HI_MASK  (0x3 << 0)
> >  # define DP_DSC_MAX_BITS_PER_PIXEL_HI_SHIFT 8
> > +# define DP_DSC_MAX_BPP_DELTA_VERSION_MASK  0x06
> > +# define DP_DSC_MAX_BPP_DELTA_AVAILABILITY  0x08
> >  
> >  #define DP_DSC_DEC_COLOR_FORMAT_CAP         0x069
> >  # define DP_DSC_RGB                         (1 << 0)
> > @@ -351,11 +357,13 @@ struct drm_panel;
> >  # define DP_DSC_24_PER_DP_DSC_SINK          (1 << 2)
> >  
> >  #define DP_DSC_BITS_PER_PIXEL_INC           0x06F
> > +# define DP_DSC_RGB_YCbCr444_MAX_BPP_DELTA_MASK 0x1f
> > +# define DP_DSC_RGB_YCbCr420_MAX_BPP_DELTA_MASK 0xe0
> >  # define DP_DSC_BITS_PER_PIXEL_1_16         0x0
> >  # define DP_DSC_BITS_PER_PIXEL_1_8          0x1
> >  # define DP_DSC_BITS_PER_PIXEL_1_4          0x2
> >  # define DP_DSC_BITS_PER_PIXEL_1_2          0x3
> > -# define DP_DSC_BITS_PER_PIXEL_1            0x4
> > +# define DP_DSC_BITS_PER_PIXEL_1_1          0x4
> >  
> >  #define DP_PSR_SUPPORT                      0x070   /* XXX 1.2? */
> >  # define DP_PSR_IS_SUPPORTED                1
> > @@ -1825,6 +1833,7 @@ u8 drm_dp_dsc_sink_max_slice_count(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
> >  u8 drm_dp_dsc_sink_line_buf_depth(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE]);
> >  int drm_dp_dsc_sink_supported_input_bpcs(const u8 dsc_dpc[DP_DSC_RECEIVER_CAP_SIZE],
> >  					 u8 dsc_bpc[3]);
> > +u8 drm_dp_dsc_sink_bpp_increment_div(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE]);
> >  
> >  static inline bool
> >  drm_dp_sink_supports_dsc(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE])
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center

  reply	other threads:[~2022-03-21 14:08 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-21 11:03 [Intel-gfx] [PATCH 0/2] Add DP MST DSC support to i915 Stanislav Lisovskiy
2022-03-21 11:03 ` [Intel-gfx] [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
2022-03-21 12:44   ` Jani Nikula
2022-03-21 14:08     ` Lisovskiy, Stanislav [this message]
2022-03-21 11:03 ` [Intel-gfx] [PATCH 2/2] drm/i915: Add DSC support to MST path Stanislav Lisovskiy
2022-03-21 18:37 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Add DP MST DSC support to i915 (rev3) Patchwork
2022-03-21 18:39 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-03-21 19:04 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-03-22  2:43 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2022-08-22  9:40 [Intel-gfx] [PATCH 0/2] Add DP MST DSC support to i915 Stanislav Lisovskiy
2022-08-22  9:40 ` [Intel-gfx] [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
2022-08-25 16:11   ` Govindapillai, Vinod
2022-08-15 17:35 [Intel-gfx] [PATCH 0/2] Add DP MST DSC support to i915 Stanislav Lisovskiy
2022-08-15 17:35 ` [Intel-gfx] [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
2022-08-10  8:17 [Intel-gfx] [PATCH 0/2] Add DP MST DSC support to i915 Stanislav Lisovskiy
2022-08-10  8:17 ` [Intel-gfx] [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
2022-04-11 16:25 [Intel-gfx] [PATCH 0/2] Add DP MST DSC support to i915 Stanislav Lisovskiy
2022-04-11 16:25 ` [Intel-gfx] [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
2022-03-21  9:10 [Intel-gfx] [PATCH 0/2] Add DP MST DSC support to i915 Stanislav Lisovskiy
2022-03-21  9:10 ` [Intel-gfx] [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
2022-03-17 16:33 [Intel-gfx] [PATCH 0/2] Add DP MST DSC support to i915 Stanislav Lisovskiy
2022-03-17 16:33 ` [Intel-gfx] [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
2022-03-17 16:25 Stanislav Lisovskiy

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=20220321140856.GA14902@intel.com \
    --to=stanislav.lisovskiy@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jani.nikula@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.