Home
last modified time | relevance | path

Searched full:lut (Results 1 – 25 of 502) sorted by relevance

12345678910>>...21

/kernel/linux/linux-6.6/drivers/media/platform/renesas/vsp1/
Dvsp1_lut.c28 static inline void vsp1_lut_write(struct vsp1_lut *lut, in vsp1_lut_write() argument
40 static int lut_set_table(struct vsp1_lut *lut, struct v4l2_ctrl *ctrl) in lut_set_table() argument
45 dlb = vsp1_dl_body_get(lut->pool); in lut_set_table()
53 spin_lock_irq(&lut->lock); in lut_set_table()
54 swap(lut->lut, dlb); in lut_set_table()
55 spin_unlock_irq(&lut->lock); in lut_set_table()
63 struct vsp1_lut *lut = in lut_s_ctrl() local
68 lut_set_table(lut, ctrl); in lut_s_ctrl()
154 struct vsp1_lut *lut = to_lut(&entity->subdev); in lut_configure_stream() local
156 vsp1_lut_write(lut, dlb, VI6_LUT_CTRL, VI6_LUT_CTRL_EN); in lut_configure_stream()
[all …]
/kernel/linux/linux-5.10/drivers/media/platform/vsp1/
Dvsp1_lut.c28 static inline void vsp1_lut_write(struct vsp1_lut *lut, in vsp1_lut_write() argument
40 static int lut_set_table(struct vsp1_lut *lut, struct v4l2_ctrl *ctrl) in lut_set_table() argument
45 dlb = vsp1_dl_body_get(lut->pool); in lut_set_table()
53 spin_lock_irq(&lut->lock); in lut_set_table()
54 swap(lut->lut, dlb); in lut_set_table()
55 spin_unlock_irq(&lut->lock); in lut_set_table()
63 struct vsp1_lut *lut = in lut_s_ctrl() local
68 lut_set_table(lut, ctrl); in lut_s_ctrl()
153 struct vsp1_lut *lut = to_lut(&entity->subdev); in lut_configure_stream() local
155 vsp1_lut_write(lut, dlb, VI6_LUT_CTRL, VI6_LUT_CTRL_EN); in lut_configure_stream()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/amdgpu_dm/
Damdgpu_dm_color.c38 * - Input gamma LUT (de-normalized)
40 * - Surface degamma LUT (normalized)
42 * - Surface regamma LUT (normalized)
51 * The input gamma LUT block isn't really applicable here since it operates
64 * respective property is set to NULL. A linear DGM/RGM LUT should also
88 * __extract_blob_lut - Extracts the DRM lut and lut size from a blob.
90 * @size: lut size
93 * DRM LUT or NULL
103 * __is_lut_linear - check if the given lut is a linear mapping of values
104 * @lut: given lut to check values
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/amdgpu_dm/
Damdgpu_dm_color.c36 * - Input gamma LUT (de-normalized)
38 * - Surface degamma LUT (normalized)
40 * - Surface regamma LUT (normalized)
49 * The input gamma LUT block isn't really applicable here since it operates
62 * respective property is set to NULL. A linear DGM/RGM LUT should also
85 /* Extracts the DRM lut and lut size from a blob. */
94 * Return true if the given lut is a linear mapping of values, i.e. it acts
95 * like a bypass LUT.
97 * It is considered linear if the lut represents:
101 static bool __is_lut_linear(const struct drm_color_lut *lut, uint32_t size) in __is_lut_linear() argument
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/rcar-du/
Drcar_cmm.c27 * @lut: 1D-LUT state
28 * @lut.enabled: 1D-LUT enabled flag
32 } lut; member
46 * rcar_cmm_lut_write() - Scale the DRM LUT table entries to hardware precision
49 * @drm_lut: Pointer to the DRM LUT table
71 * disabling and programming of the 1-D LUT unit is supported.
78 * TODO: Add support for LUT double buffer operations to avoid updating the
79 * LUT table entries while a frame is being displayed.
86 /* Disable LUT if no table is provided. */ in rcar_cmm_setup()
87 if (!config->lut.table) { in rcar_cmm_setup()
[all …]
Drcar_cmm.h19 * @lut: 1D-LUT configuration
20 * @lut.table: 1D-LUT table entries. Disable LUT operations when NULL
25 } lut; member
/kernel/linux/linux-6.6/drivers/gpu/drm/renesas/rcar-du/
Drcar_cmm.c27 * @lut: 1D-LUT state
28 * @lut.enabled: 1D-LUT enabled flag
32 } lut; member
46 * rcar_cmm_lut_write() - Scale the DRM LUT table entries to hardware precision
49 * @drm_lut: Pointer to the DRM LUT table
71 * disabling and programming of the 1-D LUT unit is supported.
78 * TODO: Add support for LUT double buffer operations to avoid updating the
79 * LUT table entries while a frame is being displayed.
86 /* Disable LUT if no table is provided. */ in rcar_cmm_setup()
87 if (!config->lut.table) { in rcar_cmm_setup()
[all …]
Drcar_cmm.h19 * @lut: 1D-LUT configuration
20 * @lut.table: 1D-LUT table entries. Disable LUT operations when NULL
25 } lut; member
/kernel/linux/linux-6.6/drivers/gpu/drm/msm/disp/dpu1/
Ddpu_hw_util.h92 * @ lut_flag: scaler LUT update flags
93 * 0x1 swap LUT bank
94 * 0x2 update 2D filter LUT
95 * 0x4 update y circular filter LUT
96 * 0x8 update uv circular filter LUT
97 * 0x10 update y separable filter LUT
98 * 0x20 update uv separable filter LUT
99 * @ dir_lut_idx: 2D filter LUT index
100 * @ y_rgb_cir_lut_idx: y circular filter LUT index
101 * @ uv_cir_lut_idx: uv circular filter LUT index
[all …]
Ddpu_hw_catalog.c619 {.fl = 4, .lut = 0x1b},
620 {.fl = 5, .lut = 0x5b},
621 {.fl = 6, .lut = 0x15b},
622 {.fl = 7, .lut = 0x55b},
623 {.fl = 8, .lut = 0x155b},
624 {.fl = 9, .lut = 0x555b},
625 {.fl = 10, .lut = 0x1555b},
626 {.fl = 11, .lut = 0x5555b},
627 {.fl = 12, .lut = 0x15555b},
628 {.fl = 0, .lut = 0x55555b}
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/msm/disp/dpu1/
Ddpu_hw_util.h84 * @ lut_flag: scaler LUT update flags
85 * 0x1 swap LUT bank
86 * 0x2 update 2D filter LUT
87 * 0x4 update y circular filter LUT
88 * 0x8 update uv circular filter LUT
89 * 0x10 update y separable filter LUT
90 * 0x20 update uv separable filter LUT
91 * @ dir_lut_idx: 2D filter LUT index
92 * @ y_rgb_cir_lut_idx: y circular filter LUT index
93 * @ uv_cir_lut_idx: uv circular filter LUT index
[all …]
/kernel/linux/linux-5.10/include/drm/
Ddrm_color_mgmt.h34 * drm_color_lut_extract - clamp and round LUT entries
36 * @bit_precision: number of bits the hw LUT supports
38 * Extract a degamma/gamma LUT value provided by user (in the form of
67 * drm_color_lut_size - calculate the number of entries in the LUT
68 * @blob: blob containing the LUT
71 * The number of entries in the color LUT stored in @blob.
98 * enum drm_color_lut_tests - hw-specific LUT tests to perform
101 * determine which tests to apply to a userspace-provided LUT.
107 * Checks whether the entries of a LUT all have equal values for the
109 * accepts a single value per LUT entry and assumes that value applies
[all …]
/kernel/linux/linux-6.6/include/drm/
Ddrm_color_mgmt.h34 * drm_color_lut_extract - clamp and round LUT entries
36 * @bit_precision: number of bits the hw LUT supports
38 * Extract a degamma/gamma LUT value provided by user (in the form of
67 * drm_color_lut_size - calculate the number of entries in the LUT
68 * @blob: blob containing the LUT
71 * The number of entries in the color LUT stored in @blob.
98 * enum drm_color_lut_tests - hw-specific LUT tests to perform
101 * determine which tests to apply to a userspace-provided LUT.
107 * Checks whether the entries of a LUT all have equal values for the
109 * accepts a single value per LUT entry and assumes that value applies
[all …]
/kernel/linux/linux-6.6/drivers/video/fbdev/
Dmacfb.c58 unsigned char lut; member
64 unsigned char lut; member
73 unsigned char lut; member
79 unsigned char lut; /* OFFSET: 0x10 */ member
101 unsigned char lut; member
106 unsigned char lut; /* TFBClutWDataReg, offset 0x90018 */ member
114 unsigned char lut; member
167 &dafb_cmap_regs->lut); in dafb_setpalette()
170 &dafb_cmap_regs->lut); in dafb_setpalette()
173 &dafb_cmap_regs->lut); in dafb_setpalette()
[all …]
/kernel/linux/linux-5.10/drivers/video/fbdev/
Dmacfb.c58 unsigned char lut; member
64 unsigned char lut; member
73 unsigned char lut; member
79 unsigned char lut; /* OFFSET: 0x10 */ member
101 unsigned char lut; member
106 unsigned char lut; /* TFBClutWDataReg, offset 0x90018 */ member
114 unsigned char lut; member
167 &dafb_cmap_regs->lut); in dafb_setpalette()
170 &dafb_cmap_regs->lut); in dafb_setpalette()
173 &dafb_cmap_regs->lut); in dafb_setpalette()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/dispnv50/
Dlut.c22 #include "lut.h"
32 nv50_lut_load(struct nv50_lut *lut, int buffer, struct drm_property_blob *blob, in nv50_lut_load() argument
36 void __iomem *mem = lut->mem[buffer].object.map.ptr; in nv50_lut_load()
37 const u32 addr = lut->mem[buffer].addr; in nv50_lut_load()
59 nv50_lut_fini(struct nv50_lut *lut) in nv50_lut_fini() argument
62 for (i = 0; i < ARRAY_SIZE(lut->mem); i++) in nv50_lut_fini()
63 nvif_mem_dtor(&lut->mem[i]); in nv50_lut_fini()
68 struct nv50_lut *lut) in nv50_lut_init() argument
72 for (i = 0; i < ARRAY_SIZE(lut->mem); i++) { in nv50_lut_init()
74 size * 8, &lut->mem[i]); in nv50_lut_init()
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/dispnv50/
Dlut.c22 #include "lut.h"
32 nv50_lut_load(struct nv50_lut *lut, int buffer, struct drm_property_blob *blob, in nv50_lut_load() argument
36 void __iomem *mem = lut->mem[buffer].object.map.ptr; in nv50_lut_load()
37 const u32 addr = lut->mem[buffer].addr; in nv50_lut_load()
59 nv50_lut_fini(struct nv50_lut *lut) in nv50_lut_fini() argument
62 for (i = 0; i < ARRAY_SIZE(lut->mem); i++) in nv50_lut_fini()
63 nvif_mem_dtor(&lut->mem[i]); in nv50_lut_fini()
68 struct nv50_lut *lut) in nv50_lut_init() argument
72 for (i = 0; i < ARRAY_SIZE(lut->mem); i++) { in nv50_lut_init()
74 size * 8, &lut->mem[i]); in nv50_lut_init()
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/display/
Dintel_color.c113 static bool lut_is_legacy(const struct drm_property_blob *lut) in lut_is_legacy() argument
115 return drm_color_lut_size(lut) == LEGACY_LUT_LENGTH; in lut_is_legacy()
223 * FIXME if there's a gamma LUT after the CSC, we should in ilk_csc_limited_range()
224 * do the range compression using the gamma LUT instead. in ilk_csc_limited_range()
307 * On GLK+ both pipe CSC and degamma LUT are controlled in ilk_load_csc_matrix()
309 * LUT is needed but CSC is not we need to load an in ilk_load_csc_matrix()
390 /* convert hw value with given bit_precision to lut property val */
543 const struct drm_color_lut *lut; in i9xx_load_lut_8() local
550 lut = blob->data; in i9xx_load_lut_8()
554 i9xx_lut_8(&lut[i])); in i9xx_load_lut_8()
[all …]
/kernel/linux/linux-6.6/drivers/staging/media/atomisp/pci/isp/kernels/bnlm/
Dia_css_bnlm.host.c39 * lut : bnlm_lut struct containing encoded vmem parameters look-up table
40 * lut_thr : array containing threshold values for lut
45 bnlm_lut_encode(struct bnlm_lut *lut, const int32_t *lut_thr, in bnlm_lut_encode() argument
54 * Min size of the LUT is 2 entries. in bnlm_lut_encode()
56 * Max size of the LUT is 16 entries, so that the LUT can fit into a in bnlm_lut_encode()
59 * vector. If the LUT size is less than 16, then remaining elements are in bnlm_lut_encode()
71 lut->thr[0][i] = 0; in bnlm_lut_encode()
72 lut->val[0][i] = 0; in bnlm_lut_encode()
77 lut->thr[0][i] = lut_thr[i]; in bnlm_lut_encode()
78 lut->val[0][i] = lut_val[i]; in bnlm_lut_encode()
[all …]
/kernel/linux/linux-5.10/drivers/staging/media/atomisp/pci/isp/kernels/bnlm/
Dia_css_bnlm.host.c39 * lut : bnlm_lut struct containing encoded vmem parameters look-up table
40 * lut_thr : array containing threshold values for lut
45 bnlm_lut_encode(struct bnlm_lut *lut, const int32_t *lut_thr, in bnlm_lut_encode() argument
54 * Min size of the LUT is 2 entries. in bnlm_lut_encode()
56 * Max size of the LUT is 16 entries, so that the LUT can fit into a in bnlm_lut_encode()
59 * vector. If the LUT size is less than 16, then remaining elements are in bnlm_lut_encode()
71 lut->thr[0][i] = 0; in bnlm_lut_encode()
72 lut->val[0][i] = 0; in bnlm_lut_encode()
77 lut->thr[0][i] = lut_thr[i]; in bnlm_lut_encode()
78 lut->val[0][i] = lut_val[i]; in bnlm_lut_encode()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/
Ddrm_color_mgmt.c41 * Blob property to set the degamma lookup table (LUT) mapping pixel data
44 * Hardware might choose not to use the full precision of the LUT elements
45 * nor use all the elements of the LUT (for example the hardware might
46 * choose to interpolate between LUT[0] and LUT[4]).
56 * hardware). If drivers support multiple LUT sizes then they should
62 * pixel data after the lookup through the degamma LUT and before the
63 * lookup through the gamma LUT. The data is interpreted as a struct
72 * Blob property to set the gamma lookup table (LUT) mapping pixel data
75 * Hardware might choose not to use the full precision of the LUT elements
76 * nor use all the elements of the LUT (for example the hardware might
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/display/
Dintel_color.c171 static bool lut_is_legacy(const struct drm_property_blob *lut) in lut_is_legacy() argument
173 return lut && drm_color_lut_size(lut) == LEGACY_LUT_LENGTH; in lut_is_legacy()
510 * On GLK both pipe CSC and degamma LUT are controlled in ilk_assign_csc()
512 * LUT is needed but CSC is not we need to load an in ilk_assign_csc()
780 /* convert hw value with given bit_precision to lut property val */
1089 struct drm_color_lut *lut; in create_linear_lut() local
1093 sizeof(lut[0]) * lut_size, in create_linear_lut()
1098 lut = blob->data; in create_linear_lut()
1103 lut[i].red = val; in create_linear_lut()
1104 lut[i].green = val; in create_linear_lut()
[all …]
/kernel/linux/linux-6.6/drivers/gpu/drm/mediatek/
Dmtk_disp_gamma.c60 struct drm_color_lut *lut; in mtk_gamma_set_common() local
70 lut = (struct drm_color_lut *)state->gamma_lut->data; in mtk_gamma_set_common()
74 word = (((lut[i].red >> 6) & LUT_10BIT_MASK) << 20) + in mtk_gamma_set_common()
75 (((lut[i].green >> 6) & LUT_10BIT_MASK) << 10) + in mtk_gamma_set_common()
76 ((lut[i].blue >> 6) & LUT_10BIT_MASK); in mtk_gamma_set_common()
78 diff[0] = (lut[i].red >> 6) - (lut[i - 1].red >> 6); in mtk_gamma_set_common()
79 diff[1] = (lut[i].green >> 6) - (lut[i - 1].green >> 6); in mtk_gamma_set_common()
80 diff[2] = (lut[i].blue >> 6) - (lut[i - 1].blue >> 6); in mtk_gamma_set_common()
/kernel/linux/linux-6.6/drivers/gpu/drm/
Ddrm_color_mgmt.c42 * Blob property to set the degamma lookup table (LUT) mapping pixel data
45 * Hardware might choose not to use the full precision of the LUT elements
46 * nor use all the elements of the LUT (for example the hardware might
47 * choose to interpolate between LUT[0] and LUT[4]).
57 * hardware). If drivers support multiple LUT sizes then they should
63 * pixel data after the lookup through the degamma LUT and before the
64 * lookup through the gamma LUT. The data is interpreted as a struct
73 * Blob property to set the gamma lookup table (LUT) mapping pixel data
76 * Hardware might choose not to use the full precision of the LUT elements
77 * nor use all the elements of the LUT (for example the hardware might
[all …]
/kernel/linux/linux-6.6/drivers/gpio/
Dgpio-adp5520.c19 unsigned char lut[ADP5520_MAXGPIOS]; member
40 return !!(reg_val & dev->lut[off]); in adp5520_gpio_get_value()
50 adp5520_set_bits(dev->master, ADP5520_GPIO_OUT, dev->lut[off]); in adp5520_gpio_set_value()
52 adp5520_clr_bits(dev->master, ADP5520_GPIO_OUT, dev->lut[off]); in adp5520_gpio_set_value()
63 dev->lut[off]); in adp5520_gpio_direction_input()
77 dev->lut[off]); in adp5520_gpio_direction_output()
80 dev->lut[off]); in adp5520_gpio_direction_output()
83 dev->lut[off]); in adp5520_gpio_direction_output()
114 dev->lut[gpios++] = 1 << i; in adp5520_gpio_probe()

12345678910>>...21