]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/display: Move DSC header and helpers into display-helper module
authorThomas Zimmermann <tzimmermann@suse.de>
Thu, 21 Apr 2022 07:31:05 +0000 (09:31 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Mon, 25 Apr 2022 09:19:36 +0000 (11:19 +0200)
DSC is the Display Stream Compression standard for DisplayPort. Move
the DSC code into display/ and split the header into files for protocol
core and DRM helpers. Adapt all users of the code. No functional
changes.

To avoid the proliferation of Kconfig options, DSC is part of DRM's
support for DisplayPort. If necessary, a new option could make DSC an
independent feature.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220421073108.19226-6-tzimmermann@suse.de
19 files changed:
Documentation/gpu/drm-kms-helpers.rst
drivers/gpu/drm/Makefile
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_dsc.c
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_dsc.h
drivers/gpu/drm/amd/display/dc/dml/dsc/rc_calc_fpu.h
drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c
drivers/gpu/drm/amd/display/dc/dsc/dscc_types.h
drivers/gpu/drm/amd/display/dc/dsc/rc_calc_dpi.c
drivers/gpu/drm/display/Makefile
drivers/gpu/drm/display/drm_dsc_helper.c [moved from drivers/gpu/drm/drm_dsc.c with 99% similarity]
drivers/gpu/drm/drm_mipi_dsi.c
drivers/gpu/drm/i915/display/icl_dsi.c
drivers/gpu/drm/i915/display/intel_bios.c
drivers/gpu/drm/i915/display/intel_display_types.h
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_qp_tables.c
drivers/gpu/drm/i915/display/intel_vdsc.c
include/drm/display/drm_dsc.h [moved from include/drm/drm_dsc.h with 97% similarity]
include/drm/display/drm_dsc_helper.h [new file with mode: 0644]

index 09463ee997303ef961acbf074433beea016c1573..7af55fb4072c732e451d80d29e769bfe804e6ba9 100644 (file)
@@ -326,13 +326,13 @@ MIPI DSI Helper Functions Reference
 Display Stream Compression Helper Functions Reference
 =====================================================
 
-.. kernel-doc:: drivers/gpu/drm/drm_dsc.c
+.. kernel-doc:: drivers/gpu/drm/display/drm_dsc_helper.c
    :doc: dsc helpers
 
-.. kernel-doc:: include/drm/drm_dsc.h
+.. kernel-doc:: include/drm/display/drm_dsc.h
    :internal:
 
-.. kernel-doc:: drivers/gpu/drm/drm_dsc.c
+.. kernel-doc:: drivers/gpu/drm/display/drm_dsc_helper.c
    :export:
 
 Output Probing Helper Functions Reference
index 07f7a70a78ea2323d8d66f8c498ae0631da35114..b8353af701522dc0684bb4236f1328a8589e4622 100644 (file)
@@ -58,7 +58,7 @@ obj-$(CONFIG_DRM_TTM_HELPER) += drm_ttm_helper.o
 #
 
 drm_kms_helper-y := drm_bridge_connector.o drm_crtc_helper.o \
-               drm_dsc.o drm_encoder_slave.o drm_flip_work.o drm_hdcp.o \
+               drm_encoder_slave.o drm_flip_work.o drm_hdcp.o \
                drm_probe_helper.o \
                drm_plane_helper.o drm_atomic_helper.o \
                drm_kms_helper_common.o \
index ef5c4c0f4d6c242c5e6c60708f8d7c9875563108..6f24ceab97ad72c96488058fbbb4c22f7e2340ae 100644 (file)
@@ -23,6 +23,8 @@
  *
  */
 
+#include <drm/display/drm_dsc_helper.h>
+
 #include "reg_helper.h"
 #include "dcn20_dsc.h"
 #include "dsc/dscc_types.h"
index 1118e33aaa2cc96c5f0dddab2834b066507a4591..c21ecedc46921f820725275a07f8c81d415217c7 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "dsc.h"
 #include "dsc/dscc_types.h"
-#include <drm/drm_dsc.h>
+#include <drm/display/drm_dsc.h>
 
 #define TO_DCN20_DSC(dsc)\
        container_of(dsc, struct dcn20_dsc, base)
index cad244c023cd3032b81b3d32c5f46ffbd0e8677a..d7cd8cc247583d5e09fbab84301103a7658bcd4c 100644 (file)
@@ -27,7 +27,7 @@
 #define __RC_CALC_FPU_H__
 
 #include "os_types.h"
-#include <drm/drm_dsc.h>
+#include <drm/display/drm_dsc.h>
 
 #define QP_SET_SIZE 15
 
index dc82e04e36dc7f1bd38f2f6870ab9a335cc6947a..fa39a06eed1d4632f3ec598e38f727cbca62333a 100644 (file)
  * Author: AMD
  */
 
-#include <drm/drm_dsc.h>
+#include <drm/display/drm_dp_helper.h>
+#include <drm/display/drm_dsc_helper.h>
 #include "dc_hw_types.h"
 #include "dsc.h"
-#include <drm/display/drm_dp_helper.h>
 #include "dc.h"
 #include "rc_calc.h"
 #include "fixed31_32.h"
index 9f70e87b3ecb581d4201c0d0d95353586db8a83d..ad80bde9bc0f24a22b6061cc8b5cc6a551d59d4e 100644 (file)
@@ -26,7 +26,7 @@
 #ifndef __DSCC_TYPES_H__
 #define __DSCC_TYPES_H__
 
-#include <drm/drm_dsc.h>
+#include <drm/display/drm_dsc.h>
 
 #ifndef NUM_BUF_RANGES
 #define NUM_BUF_RANGES 15
index 7e306aa3e2b95c9f20aeafa6c6f2cd225fdd9884..f0aea988fef018327f22c75880bf31550b096550 100644 (file)
@@ -22,7 +22,7 @@
  * Authors: AMD
  *
  */
-#include <drm/drm_dsc.h>
+#include <drm/display/drm_dsc_helper.h>
 #include "dscc_types.h"
 #include "rc_calc.h"
 
index 99ba6750a31502c88a835de09abe287656cf249f..4f4e35034960a9ad25f2a86baed9eb25b5f480fb 100644 (file)
@@ -5,7 +5,8 @@ obj-$(CONFIG_DRM_DP_AUX_BUS) += drm_dp_aux_bus.o
 drm_display_helper-y := drm_display_helper_mod.o
 drm_display_helper-$(CONFIG_DRM_DISPLAY_DP_HELPER) += drm_dp_dual_mode_helper.o \
                                                      drm_dp_helper.o \
-                                                     drm_dp_mst_topology.o
+                                                     drm_dp_mst_topology.o \
+                                                     drm_dsc_helper.o
 drm_display_helper-$(CONFIG_DRM_DP_AUX_CHARDEV) += drm_dp_aux_dev.o
 drm_display_helper-$(CONFIG_DRM_DP_CEC) += drm_dp_cec.o
 
similarity index 99%
rename from drivers/gpu/drm/drm_dsc.c
rename to drivers/gpu/drm/display/drm_dsc_helper.c
index 2428bdfc4c8f843165d8874d1c4902963ecf5388..c869c6e51e2b7aecd14ccad9e8abbb5c4e28c769 100644 (file)
@@ -13,8 +13,8 @@
 #include <linux/byteorder/generic.h>
 
 #include <drm/display/drm_dp_helper.h>
+#include <drm/display/drm_dsc_helper.h>
 #include <drm/drm_print.h>
-#include <drm/drm_dsc.h>
 
 /**
  * DOC: dsc helpers
index 18cef04df2f2d429e652101c602de50835fbaf29..c40bde96cfdf05dfa8d6d39a74a738854867c0c5 100644 (file)
  * USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-#include <drm/drm_mipi_dsi.h>
-
 #include <linux/device.h>
 #include <linux/module.h>
 #include <linux/of_device.h>
 #include <linux/pm_runtime.h>
 #include <linux/slab.h>
 
-#include <drm/drm_dsc.h>
+#include <drm/display/drm_dsc.h>
+#include <drm/drm_mipi_dsi.h>
 #include <drm/drm_print.h>
+
 #include <video/mipi_display.h>
 
 /**
index 084cc51d1c412dd09b783f02862b9ff21f9a7751..d1abd00d4f4d8fc41816ee99509a28ab5f45dbb0 100644 (file)
@@ -25,6 +25,7 @@
  *   Jani Nikula <jani.nikula@intel.com>
  */
 
+#include <drm/display/drm_dsc_helper.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_mipi_dsi.h>
 
index cf56c0109f49f76d6e99afb62adc8653f2e89320..81949c36ab96008400a363cecc78f9be52347a1b 100644 (file)
@@ -26,6 +26,7 @@
  */
 
 #include <drm/display/drm_dp_helper.h>
+#include <drm/display/drm_dsc_helper.h>
 
 #include "display/intel_display.h"
 #include "display/intel_display_types.h"
index efc42af60440ed936b3d69dbb3a066b53e5bb196..408152f9f46a4016136899694f4e73bc2bdecd53 100644 (file)
@@ -33,9 +33,9 @@
 
 #include <drm/display/drm_dp_dual_mode_helper.h>
 #include <drm/display/drm_dp_mst_helper.h>
+#include <drm/display/drm_dsc.h>
 #include <drm/drm_atomic.h>
 #include <drm/drm_crtc.h>
-#include <drm/drm_dsc.h>
 #include <drm/drm_encoder.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_probe_helper.h>
index 9801e6f0ad3b7a9830eeb1e38f158fb913b71937..8c0fe4d53806d4b9f1b3bcd861b1dfa909a9a6f6 100644 (file)
@@ -36,6 +36,7 @@
 #include <asm/byteorder.h>
 
 #include <drm/display/drm_dp_helper.h>
+#include <drm/display/drm_dsc_helper.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc.h>
 #include <drm/drm_edid.h>
index c626a24fe98f6092f4c0fabaf902835d0d8a4c69..6f8e4ec5c0fbbf82beae94f529b9624adcac4b66 100644 (file)
@@ -3,7 +3,7 @@
  * Copyright © 2021 Intel Corporation
  */
 
-#include <drm/drm_dsc.h>
+#include <drm/display/drm_dsc.h>
 
 #include "i915_utils.h"
 #include "intel_qp_tables.h"
index e59c29ab13008036ecf0483b8e4657d28acc6183..43e1bbc1e3035ff989f437133d7b6e3232d941d5 100644 (file)
@@ -7,6 +7,8 @@
  */
 #include <linux/limits.h>
 
+#include <drm/display/drm_dsc_helper.h>
+
 #include "i915_drv.h"
 #include "intel_crtc.h"
 #include "intel_de.h"
similarity index 97%
rename from include/drm/drm_dsc.h
rename to include/drm/display/drm_dsc.h
index 84e3d11cc1bb3c320552cdad9c7f6aca99eb27d6..bc90273d06a62e5ef24712d7d26fa79d2efaa355 100644 (file)
@@ -8,7 +8,7 @@
 #ifndef DRM_DSC_H_
 #define DRM_DSC_H_
 
-#include <drm/display/drm_dp_helper.h>
+#include <drm/display/drm_dp.h>
 
 /* VESA Display Stream Compression DSC 1.2 constants */
 #define DSC_NUM_BUF_RANGES                     15
@@ -602,10 +602,4 @@ struct drm_dsc_pps_infoframe {
        struct drm_dsc_picture_parameter_set pps_payload;
 } __packed;
 
-void drm_dsc_dp_pps_header_init(struct dp_sdp_header *pps_header);
-int drm_dsc_dp_rc_buffer_size(u8 rc_buffer_block_size, u8 rc_buffer_size);
-void drm_dsc_pps_payload_pack(struct drm_dsc_picture_parameter_set *pps_sdp,
-                               const struct drm_dsc_config *dsc_cfg);
-int drm_dsc_compute_rc_parameters(struct drm_dsc_config *vdsc_cfg);
-
 #endif /* _DRM_DSC_H_ */
diff --git a/include/drm/display/drm_dsc_helper.h b/include/drm/display/drm_dsc_helper.h
new file mode 100644 (file)
index 0000000..8b41edb
--- /dev/null
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: MIT
+ * Copyright (C) 2018 Intel Corp.
+ *
+ * Authors:
+ * Manasi Navare <manasi.d.navare@intel.com>
+ */
+
+#ifndef DRM_DSC_HELPER_H_
+#define DRM_DSC_HELPER_H_
+
+#include <drm/display/drm_dsc.h>
+
+void drm_dsc_dp_pps_header_init(struct dp_sdp_header *pps_header);
+int drm_dsc_dp_rc_buffer_size(u8 rc_buffer_block_size, u8 rc_buffer_size);
+void drm_dsc_pps_payload_pack(struct drm_dsc_picture_parameter_set *pps_sdp,
+                             const struct drm_dsc_config *dsc_cfg);
+int drm_dsc_compute_rc_parameters(struct drm_dsc_config *vdsc_cfg);
+
+#endif /* _DRM_DSC_HELPER_H_ */
+