This source file includes following definitions.
- dcn10_ipp_destroy
- dcn10_ipp_construct
- dcn20_ipp_construct
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 
  21 
  22 
  23 
  24 
  25 
  26 #include <linux/slab.h>
  27 
  28 #include "dm_services.h"
  29 #include "dcn10_ipp.h"
  30 #include "reg_helper.h"
  31 
  32 #define REG(reg) \
  33         (ippn10->regs->reg)
  34 
  35 #undef FN
  36 #define FN(reg_name, field_name) \
  37         ippn10->ipp_shift->field_name, ippn10->ipp_mask->field_name
  38 
  39 #define CTX \
  40         ippn10->base.ctx
  41 
  42 
  43 
  44 
  45 
  46 static void dcn10_ipp_destroy(struct input_pixel_processor **ipp)
  47 {
  48         kfree(TO_DCN10_IPP(*ipp));
  49         *ipp = NULL;
  50 }
  51 
  52 static const struct ipp_funcs dcn10_ipp_funcs = {
  53         .ipp_destroy                    = dcn10_ipp_destroy
  54 };
  55 
  56 #if defined(CONFIG_DRM_AMD_DC_DCN2_0)
  57 static const struct ipp_funcs dcn20_ipp_funcs = {
  58         .ipp_destroy                    = dcn10_ipp_destroy
  59 };
  60 #endif
  61 
  62 void dcn10_ipp_construct(
  63         struct dcn10_ipp *ippn10,
  64         struct dc_context *ctx,
  65         int inst,
  66         const struct dcn10_ipp_registers *regs,
  67         const struct dcn10_ipp_shift *ipp_shift,
  68         const struct dcn10_ipp_mask *ipp_mask)
  69 {
  70         ippn10->base.ctx = ctx;
  71         ippn10->base.inst = inst;
  72         ippn10->base.funcs = &dcn10_ipp_funcs;
  73 
  74         ippn10->regs = regs;
  75         ippn10->ipp_shift = ipp_shift;
  76         ippn10->ipp_mask = ipp_mask;
  77 }
  78 
  79 #if defined(CONFIG_DRM_AMD_DC_DCN2_0)
  80 void dcn20_ipp_construct(
  81         struct dcn10_ipp *ippn10,
  82         struct dc_context *ctx,
  83         int inst,
  84         const struct dcn10_ipp_registers *regs,
  85         const struct dcn10_ipp_shift *ipp_shift,
  86         const struct dcn10_ipp_mask *ipp_mask)
  87 {
  88         ippn10->base.ctx = ctx;
  89         ippn10->base.inst = inst;
  90         ippn10->base.funcs = &dcn20_ipp_funcs;
  91 
  92         ippn10->regs = regs;
  93         ippn10->ipp_shift = ipp_shift;
  94         ippn10->ipp_mask = ipp_mask;
  95 }
  96 #endif