forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_ipp.c
....@@ -23,6 +23,8 @@
2323 *
2424 */
2525
26
+#include <linux/slab.h>
27
+
2628 #include "dm_services.h"
2729 #include "dcn10_ipp.h"
2830 #include "reg_helper.h"
....@@ -51,6 +53,10 @@
5153 .ipp_destroy = dcn10_ipp_destroy
5254 };
5355
56
+static const struct ipp_funcs dcn20_ipp_funcs = {
57
+ .ipp_destroy = dcn10_ipp_destroy
58
+};
59
+
5460 void dcn10_ipp_construct(
5561 struct dcn10_ipp *ippn10,
5662 struct dc_context *ctx,
....@@ -68,3 +74,19 @@
6874 ippn10->ipp_mask = ipp_mask;
6975 }
7076
77
+void dcn20_ipp_construct(
78
+ struct dcn10_ipp *ippn10,
79
+ struct dc_context *ctx,
80
+ int inst,
81
+ const struct dcn10_ipp_registers *regs,
82
+ const struct dcn10_ipp_shift *ipp_shift,
83
+ const struct dcn10_ipp_mask *ipp_mask)
84
+{
85
+ ippn10->base.ctx = ctx;
86
+ ippn10->base.inst = inst;
87
+ ippn10->base.funcs = &dcn20_ipp_funcs;
88
+
89
+ ippn10->regs = regs;
90
+ ippn10->ipp_shift = ipp_shift;
91
+ ippn10->ipp_mask = ipp_mask;
92
+}