All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm: Add missing DP DSC extended capability definitions.
@ 2022-03-17 16:25 ` Stanislav Lisovskiy
  0 siblings, 0 replies; 8+ messages in thread
From: Stanislav Lisovskiy @ 2022-03-17 16:25 UTC (permalink / raw)
  To: dri-devel; +Cc: manasi.d.navare, Stanislav.Lisovskiy, intel-gfx, jani.saarinen

Adding DP DSC register definitions, we might need for further
DSC implementation, supporting MST and DP branch pass-through mode.

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..fe9c72055638 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) {
+	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;
+}
+
+
 /**
  * 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])
-- 
2.24.1.485.gad05a3d8e5


^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [PATCH 0/2] Add DP MST DSC support to i915
@ 2022-03-17 16:33 Stanislav Lisovskiy
  2022-03-17 16:33 ` [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
  0 siblings, 1 reply; 8+ messages in thread
From: Stanislav Lisovskiy @ 2022-03-17 16:33 UTC (permalink / raw)
  To: intel-gfx; +Cc: manasi.d.navare, Stanislav.Lisovskiy, jani.saarinen, dri-devel

Currently we have only DSC support for DP SST.

Stanislav Lisovskiy (2):
  drm: Add missing DP DSC extended capability definitions.
  drm/i915: Add DSC support to MST path

 drivers/gpu/drm/dp/drm_dp.c                 |  25 ++++
 drivers/gpu/drm/i915/display/intel_dp.c     | 138 ++++++++++++++++--
 drivers/gpu/drm/i915/display/intel_dp.h     |  17 +++
 drivers/gpu/drm/i915/display/intel_dp_mst.c | 146 +++++++++++++++++++-
 include/drm/dp/drm_dp_helper.h              |  11 +-
 5 files changed, 320 insertions(+), 17 deletions(-)

-- 
2.24.1.485.gad05a3d8e5


^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH 0/2] Add DP MST DSC support to i915
@ 2022-03-21  9:10 Stanislav Lisovskiy
  2022-03-21  9:10 ` [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
  0 siblings, 1 reply; 8+ messages in thread
From: Stanislav Lisovskiy @ 2022-03-21  9:10 UTC (permalink / raw)
  To: intel-gfx; +Cc: Stanislav.Lisovskiy, jani.saarinen, dri-devel

Currently we have only DSC support for DP SST.

Stanislav Lisovskiy (2):
  drm: Add missing DP DSC extended capability definitions.
  drm/i915: Add DSC support to MST path

 drivers/gpu/drm/dp/drm_dp.c                 |  25 ++++
 drivers/gpu/drm/i915/display/intel_dp.c     |  75 +++++-----
 drivers/gpu/drm/i915/display/intel_dp.h     |  17 +++
 drivers/gpu/drm/i915/display/intel_dp_mst.c | 143 ++++++++++++++++++++
 include/drm/dp/drm_dp_helper.h              |  11 +-
 5 files changed, 226 insertions(+), 45 deletions(-)

-- 
2.24.1.485.gad05a3d8e5


^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH 0/2] Add DP MST DSC support to i915
@ 2022-04-11 16:25 Stanislav Lisovskiy
  2022-04-11 16:25 ` [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
  0 siblings, 1 reply; 8+ messages in thread
From: Stanislav Lisovskiy @ 2022-04-11 16:25 UTC (permalink / raw)
  To: intel-gfx; +Cc: Stanislav.Lisovskiy, jani.nikula, dri-devel, jani.saarinen

Currently we have only DSC support for DP SST.

Stanislav Lisovskiy (2):
  drm: Add missing DP DSC extended capability definitions.
  drm/i915: Add DSC support to MST path

 drivers/gpu/drm/i915/display/intel_dp.c     |  75 +++++-----
 drivers/gpu/drm/i915/display/intel_dp.h     |  17 +++
 drivers/gpu/drm/i915/display/intel_dp_mst.c | 143 ++++++++++++++++++++
 include/drm/dp/drm_dp_helper.h              |  10 +-
 4 files changed, 200 insertions(+), 45 deletions(-)

-- 
2.24.1.485.gad05a3d8e5


^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH 0/2] Add DP MST DSC support to i915
@ 2022-08-10  8:17 Stanislav Lisovskiy
  2022-08-10  8:17 ` [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
  0 siblings, 1 reply; 8+ messages in thread
From: Stanislav Lisovskiy @ 2022-08-10  8:17 UTC (permalink / raw)
  To: intel-gfx
  Cc: Stanislav.Lisovskiy, jani.nikula, manasi.d.navare, jani.saarinen,
	dri-devel

Currently we have only DSC support for DP SST.

Stanislav Lisovskiy (2):
  drm: Add missing DP DSC extended capability definitions.
  drm/i915: Add DSC support to MST path

 drivers/gpu/drm/i915/display/intel_dp.c     |  76 +++++-----
 drivers/gpu/drm/i915/display/intel_dp.h     |  17 +++
 drivers/gpu/drm/i915/display/intel_dp_mst.c | 145 ++++++++++++++++++++
 include/drm/display/drm_dp.h                |  10 +-
 4 files changed, 203 insertions(+), 45 deletions(-)

-- 
2.24.1.485.gad05a3d8e5


^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH 0/2] Add DP MST DSC support to i915
@ 2022-08-15 17:35 Stanislav Lisovskiy
  2022-08-15 17:35 ` [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
  0 siblings, 1 reply; 8+ messages in thread
From: Stanislav Lisovskiy @ 2022-08-15 17:35 UTC (permalink / raw)
  To: intel-gfx
  Cc: Stanislav.Lisovskiy, jani.nikula, manasi.d.navare, jani.saarinen,
	dri-devel

Currently we have only DSC support for DP SST.

Stanislav Lisovskiy (2):
  drm: Add missing DP DSC extended capability definitions.
  drm/i915: Add DSC support to MST path

 drivers/gpu/drm/i915/display/intel_dp.c     |  76 ++++------
 drivers/gpu/drm/i915/display/intel_dp.h     |  17 +++
 drivers/gpu/drm/i915/display/intel_dp_mst.c | 157 ++++++++++++++++++++
 include/drm/display/drm_dp.h                |  10 +-
 4 files changed, 215 insertions(+), 45 deletions(-)

-- 
2.24.1.485.gad05a3d8e5


^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH 0/2] Add DP MST DSC support to i915
@ 2022-08-22  9:40 Stanislav Lisovskiy
  2022-08-22  9:40 ` [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
  0 siblings, 1 reply; 8+ messages in thread
From: Stanislav Lisovskiy @ 2022-08-22  9:40 UTC (permalink / raw)
  To: intel-gfx
  Cc: Stanislav.Lisovskiy, jani.nikula, manasi.d.navare, jani.saarinen,
	dri-devel

Currently we have only DSC support for DP SST.

Stanislav Lisovskiy (2):
  drm: Add missing DP DSC extended capability definitions.
  drm/i915: Add DSC support to MST path

 drivers/gpu/drm/i915/display/intel_dp.c     |  73 ++++-----
 drivers/gpu/drm/i915/display/intel_dp.h     |  17 +++
 drivers/gpu/drm/i915/display/intel_dp_mst.c | 157 ++++++++++++++++++++
 include/drm/display/drm_dp.h                |  10 +-
 4 files changed, 214 insertions(+), 43 deletions(-)

-- 
2.24.1.485.gad05a3d8e5


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-08-22  9:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-17 16:25 [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
2022-03-17 16:25 ` [Intel-gfx] " Stanislav Lisovskiy
2022-03-17 16:33 [PATCH 0/2] Add DP MST DSC support to i915 Stanislav Lisovskiy
2022-03-17 16:33 ` [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
2022-03-21  9:10 [PATCH 0/2] Add DP MST DSC support to i915 Stanislav Lisovskiy
2022-03-21  9:10 ` [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
2022-04-11 16:25 [PATCH 0/2] Add DP MST DSC support to i915 Stanislav Lisovskiy
2022-04-11 16:25 ` [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
2022-08-10  8:17 [PATCH 0/2] Add DP MST DSC support to i915 Stanislav Lisovskiy
2022-08-10  8:17 ` [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
2022-08-15 17:35 [PATCH 0/2] Add DP MST DSC support to i915 Stanislav Lisovskiy
2022-08-15 17:35 ` [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy
2022-08-22  9:40 [PATCH 0/2] Add DP MST DSC support to i915 Stanislav Lisovskiy
2022-08-22  9:40 ` [PATCH 1/2] drm: Add missing DP DSC extended capability definitions Stanislav Lisovskiy

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.