| /linux-6.15/drivers/gpu/drm/msm/disp/dpu1/ |
| H A D | dpu_hw_dsc_1_2.c | 99 if (!hw_dsc || !dsc) in dpu_hw_dsc_config_1_2() 131 if (dsc->native_422) in dpu_hw_dsc_config_1_2() 133 if (dsc->native_420) in dpu_hw_dsc_config_1_2() 137 bpp = dsc->bits_per_pixel; in dpu_hw_dsc_config_1_2() 141 if (dsc->native_422 || dsc->native_420) in dpu_hw_dsc_config_1_2() 146 if (dsc->block_pred_enable) in dpu_hw_dsc_config_1_2() 149 if (dsc->convert_rgb) in dpu_hw_dsc_config_1_2() 223 if (dsc->native_422) in dpu_hw_dsc_config_1_2() 225 else if (dsc->native_420) in dpu_hw_dsc_config_1_2() 227 if (!dsc->convert_rgb) in dpu_hw_dsc_config_1_2() [all …]
|
| H A D | dpu_hw_dsc.c | 70 data |= (dsc->simple_422 << 2); in dpu_hw_dsc_config() 71 data |= (dsc->convert_rgb << 1); in dpu_hw_dsc_config() 76 data = dsc->pic_width << 16; in dpu_hw_dsc_config() 77 data |= dsc->pic_height; in dpu_hw_dsc_config() 80 data = dsc->slice_width << 16; in dpu_hw_dsc_config() 81 data |= dsc->slice_height; in dpu_hw_dsc_config() 104 data |= dsc->slice_bpg_offset; in dpu_hw_dsc_config() 108 data |= dsc->final_offset; in dpu_hw_dsc_config() 114 data |= dsc->flatness_min_qp; in dpu_hw_dsc_config() 117 data = dsc->rc_model_size; in dpu_hw_dsc_config() [all …]
|
| H A D | dpu_hw_dsc.h | 37 struct drm_dsc_config *dsc, 47 struct drm_dsc_config *dsc); 77 void dpu_hw_dsc_destroy(struct dpu_hw_dsc *dsc);
|
| /linux-6.15/drivers/gpu/drm/amd/display/dc/dsc/dcn35/ |
| H A D | dcn35_dsc.c | 57 dsc->ctx->logger 59 void dsc35_construct(struct dcn20_dsc *dsc, in dsc35_construct() argument 66 dsc->base.ctx = ctx; in dsc35_construct() 67 dsc->base.inst = inst; in dsc35_construct() 68 dsc->base.funcs = &dcn35_dsc_funcs; in dsc35_construct() 70 dsc->dsc_regs = dsc_regs; in dsc35_construct() 71 dsc->dsc_shift = (const struct dcn20_dsc_shift *)(dsc_shift); in dsc35_construct() 72 dsc->dsc_mask = (const struct dcn20_dsc_mask *)(dsc_mask); in dsc35_construct() 74 dsc->max_image_width = 5184; in dsc35_construct() 79 struct dcn20_dsc *dsc20 = TO_DCN20_DSC(dsc); in dsc35_enable() [all …]
|
| /linux-6.15/drivers/gpu/drm/amd/display/dc/dsc/dcn401/ |
| H A D | dcn401_dsc.c | 46 dsc->ctx->logger 64 dsc->base.ctx = ctx; in dsc401_construct() 65 dsc->base.inst = inst; in dsc401_construct() 66 dsc->base.funcs = &dcn401_dsc_funcs; in dsc401_construct() 68 dsc->dsc_regs = dsc_regs; in dsc401_construct() 69 dsc->dsc_shift = dsc_shift; in dsc401_construct() 70 dsc->dsc_mask = dsc_mask; in dsc401_construct() 72 dsc->max_image_width = 5184; in dsc401_construct() 148 dsc_config_log(dsc, dsc_cfg); in dsc401_set_config() 152 dsc_log_pps(dsc, &dsc401->reg_vals.pps); in dsc401_set_config() [all …]
|
| H A D | dcn401_dsc.h | 13 #define TO_DCN401_DSC(dsc)\ argument 14 container_of(dsc, struct dcn401_dsc, base) 328 void dsc401_construct(struct dcn401_dsc *dsc, 337 void dsc401_read_state(struct display_stream_compressor *dsc, struct dcn_dsc_state *s); 338 bool dsc401_validate_stream(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg… 339 void dsc401_set_config(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg, 341 void dsc401_enable(struct display_stream_compressor *dsc, int opp_pipe); 342 void dsc401_disable(struct display_stream_compressor *dsc); 343 void dsc401_disconnect(struct display_stream_compressor *dsc);
|
| /linux-6.15/drivers/gpu/drm/amd/display/dc/dsc/ |
| H A D | dsc.h | 101 void (*dsc_read_state)(struct display_stream_compressor *dsc, struct dcn_dsc_state *s); 102 …bool (*dsc_validate_stream)(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cf… 103 void (*dsc_set_config)(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg, 105 bool (*dsc_get_packed_pps)(struct display_stream_compressor *dsc, const struct dsc_config *dsc_cfg, 107 void (*dsc_enable)(struct display_stream_compressor *dsc, int opp_pipe); 108 void (*dsc_disable)(struct display_stream_compressor *dsc); 109 void (*dsc_disconnect)(struct display_stream_compressor *dsc); 110 void (*dsc_wait_disconnect_pending_clear)(struct display_stream_compressor *dsc);
|
| H A D | Makefile | 11 AMD_DISPLAY_FILES += $(addprefix $(AMDDALPATH)/dc/dsc/dcn20/,$(DSC_DCN20)) 22 AMD_DISPLAY_FILES += $(addprefix $(AMDDALPATH)/dc/dsc/dcn35/,$(DSC_DCN35)) 30 AMD_DISPLAY_FILES += $(addprefix $(AMDDALPATH)/dc/dsc/dcn401/,$(DSC_DCN401)) 36 AMD_DAL_DSC = $(addprefix $(AMDDALPATH)/dc/dsc/,$(DSC))
|
| /linux-6.15/drivers/gpu/drm/panel/ |
| H A D | panel-visionox-r66451.c | 178 if (!dsi->dsc) { in visionox_r66451_enable() 255 struct drm_dsc_config *dsc; in visionox_r66451_probe() local 262 dsc = devm_kzalloc(dev, sizeof(*dsc), GFP_KERNEL); in visionox_r66451_probe() 263 if (!dsc) in visionox_r66451_probe() 267 dsc->dsc_version_major = 0x1; in visionox_r66451_probe() 268 dsc->dsc_version_minor = 0x2; in visionox_r66451_probe() 270 dsc->slice_height = 20; in visionox_r66451_probe() 271 dsc->slice_width = 540; in visionox_r66451_probe() 272 dsc->slice_count = 2; in visionox_r66451_probe() 273 dsc->bits_per_component = 8; in visionox_r66451_probe() [all …]
|
| H A D | panel-samsung-s6e3ha8.c | 22 struct drm_dsc_config dsc; member 201 drm_dsc_pps_payload_pack(&pps, &priv->dsc); in s6e3ha8_amb577px01_wqhd_prepare() 289 dsi->dsc = &priv->dsc; in s6e3ha8_amb577px01_wqhd_probe() 291 priv->dsc.dsc_version_major = 1; in s6e3ha8_amb577px01_wqhd_probe() 292 priv->dsc.dsc_version_minor = 1; in s6e3ha8_amb577px01_wqhd_probe() 294 priv->dsc.slice_height = 40; in s6e3ha8_amb577px01_wqhd_probe() 295 priv->dsc.slice_width = 720; in s6e3ha8_amb577px01_wqhd_probe() 296 WARN_ON(1440 % priv->dsc.slice_width); in s6e3ha8_amb577px01_wqhd_probe() 297 priv->dsc.slice_count = 1440 / priv->dsc.slice_width; in s6e3ha8_amb577px01_wqhd_probe() 298 priv->dsc.bits_per_component = 8; in s6e3ha8_amb577px01_wqhd_probe() [all …]
|
| H A D | panel-lg-sw43408.c | 33 struct drm_dsc_config dsc; member 106 drm_dsc_pps_payload_pack(&pps, sw43408->link->dsc); in sw43408_program() 276 ctx->dsc.dsc_version_major = 0x1; in sw43408_probe() 277 ctx->dsc.dsc_version_minor = 0x1; in sw43408_probe() 280 ctx->dsc.slice_height = 16; in sw43408_probe() 281 ctx->dsc.slice_width = 540; in sw43408_probe() 282 ctx->dsc.slice_count = 2; in sw43408_probe() 283 ctx->dsc.bits_per_component = 8; in sw43408_probe() 284 ctx->dsc.bits_per_pixel = 8 << 4; in sw43408_probe() 285 ctx->dsc.block_pred_enable = true; in sw43408_probe() [all …]
|
| H A D | panel-raydium-rm692e5.c | 23 struct drm_dsc_config dsc; member 154 drm_dsc_pps_payload_pack(&pps, &ctx->dsc); in rm692e5_prepare() 321 dsi->dsc = &ctx->dsc; in rm692e5_probe() 324 ctx->dsc.dsc_version_major = 1; in rm692e5_probe() 325 ctx->dsc.dsc_version_minor = 1; in rm692e5_probe() 326 ctx->dsc.slice_height = 60; in rm692e5_probe() 327 ctx->dsc.slice_width = 1224; in rm692e5_probe() 329 ctx->dsc.slice_count = 1224 / ctx->dsc.slice_width; in rm692e5_probe() 330 ctx->dsc.bits_per_component = 8; in rm692e5_probe() 331 ctx->dsc.bits_per_pixel = 8 << 4; /* 4 fractional bits */ in rm692e5_probe() [all …]
|
| H A D | panel-visionox-rm692e5.c | 28 struct drm_dsc_config dsc; member 210 drm_dsc_pps_payload_pack(&pps, &ctx->dsc); in visionox_rm692e5_prepare() 397 dsi->dsc = &ctx->dsc; in visionox_rm692e5_probe() 398 ctx->dsc.dsc_version_major = 1; in visionox_rm692e5_probe() 399 ctx->dsc.dsc_version_minor = 1; in visionox_rm692e5_probe() 400 ctx->dsc.slice_height = 20; in visionox_rm692e5_probe() 401 ctx->dsc.slice_width = 540; in visionox_rm692e5_probe() 402 ctx->dsc.slice_count = 1080 / ctx->dsc.slice_width; in visionox_rm692e5_probe() 403 ctx->dsc.bits_per_component = 10; in visionox_rm692e5_probe() 404 ctx->dsc.bits_per_pixel = 8 << 4; in visionox_rm692e5_probe() [all …]
|
| /linux-6.15/drivers/gpu/drm/amd/display/dc/dsc/dcn20/ |
| H A D | dcn20_dsc.c | 58 dsc->ctx->logger 76 dsc->base.ctx = ctx; in dsc2_construct() 77 dsc->base.inst = inst; in dsc2_construct() 78 dsc->base.funcs = &dcn20_dsc_funcs; in dsc2_construct() 80 dsc->dsc_regs = dsc_regs; in dsc2_construct() 81 dsc->dsc_shift = dsc_shift; in dsc2_construct() 82 dsc->dsc_mask = dsc_mask; in dsc2_construct() 84 dsc->max_image_width = 5184; in dsc2_construct() 196 dsc_config_log(dsc, dsc_cfg); in dsc2_set_config() 215 dsc_config_log(dsc, dsc_cfg); in dsc2_get_packed_pps() [all …]
|
| H A D | dcn20_dsc.h | 31 #define TO_DCN20_DSC(dsc)\ argument 32 container_of(dsc, struct dcn20_dsc, base) 566 void dsc_config_log(struct display_stream_compressor *dsc, 569 void dsc_log_pps(struct display_stream_compressor *dsc, 588 void dsc2_construct(struct dcn20_dsc *dsc, 598 bool dsc2_get_packed_pps(struct display_stream_compressor *dsc, 602 void dsc2_read_state(struct display_stream_compressor *dsc, struct dcn_dsc_state *s); 606 void dsc2_enable(struct display_stream_compressor *dsc, int opp_pipe); 607 void dsc2_disable(struct display_stream_compressor *dsc); 608 void dsc2_disconnect(struct display_stream_compressor *dsc); [all …]
|
| /linux-6.15/drivers/gpu/drm/amd/display/dc/hwss/dcn314/ |
| H A D | dcn314_hwseq.c | 74 struct display_stream_compressor *dsc = pipe_ctx->stream_res.dsc; in update_dsc_on_stream() local 79 ASSERT(dsc); in update_dsc_on_stream() 98 dsc->funcs->dsc_set_config(dsc, &dsc_cfg, &dsc_optc_cfg); in update_dsc_on_stream() 99 dsc->funcs->dsc_enable(dsc, pipe_ctx->stream_res.opp->inst); in update_dsc_on_stream() 125 dsc->funcs->dsc_disable(pipe_ctx->stream_res.dsc); in update_dsc_on_stream() 127 ASSERT(odm_pipe->stream_res.dsc); in update_dsc_on_stream() 128 odm_pipe->stream_res.dsc->funcs->dsc_disable(odm_pipe->stream_res.dsc); in update_dsc_on_stream() 195 if (pipe_ctx->stream_res.dsc) { in dcn314_update_odm() 202 current_pipe_ctx->next_odm_pipe->stream_res.dsc) { in dcn314_update_odm() 203 struct display_stream_compressor *dsc = current_pipe_ctx->next_odm_pipe->stream_res.dsc; in dcn314_update_odm() local [all …]
|
| /linux-6.15/drivers/gpu/drm/msm/dsi/ |
| H A D | dsi_host.c | 544 if (dsc) in dsi_get_pclk_rate() 839 struct drm_dsc_config *dsc = msm_host->dsc; in dsi_update_dsc_timing() local 934 struct drm_dsc_config *dsc = msm_host->dsc; in dsi_timing_setup() local 946 DBG("Mode %dx%d\n", dsc->pic_width, dsc->pic_height); in dsi_timing_setup() 981 if (msm_host->dsc) in dsi_timing_setup() 1002 if (msm_host->dsc) in dsi_timing_setup() 1625 if (dsi->dsc) in dsi_host_attach() 1626 msm_host->dsc = dsi->dsc; in dsi_host_attach() 1793 dsc->initial_scale_value = drm_dsc_initial_scale_value(dsc); in dsi_populate_dsc_params() 1794 dsc->line_buf_depth = dsc->bits_per_component + 1; in dsi_populate_dsc_params() [all …]
|
| /linux-6.15/drivers/gpu/drm/i915/display/ |
| H A D | intel_vdsc.c | 272 pipe_config->dsc.slice_count); in intel_dsc_compute_params() 382 return crtc_state->dsc.num_streams; in intel_dsc_get_vdsc_per_pipe() 699 if (!crtc_state->dsc.compression_enable) in intel_dsc_dsi_pps_write() 719 if (!crtc_state->dsc.compression_enable) in intel_dsc_dp_pps_write() 770 if (!crtc_state->dsc.compression_enable) in intel_dsc_enable() 981 if (!crtc_state->dsc.compression_enable) in intel_dsc_get_config() 985 crtc_state->dsc.num_streams = 3; in intel_dsc_get_config() 987 crtc_state->dsc.num_streams = 2; in intel_dsc_get_config() 989 crtc_state->dsc.num_streams = 1; in intel_dsc_get_config() 1002 crtc_state->dsc.slice_count, in intel_vdsc_dump_state() [all …]
|
| /linux-6.15/drivers/gpu/drm/msm/ |
| H A D | msm_dsc_helper.h | 22 static inline u32 msm_dsc_get_bytes_per_line(const struct drm_dsc_config *dsc) in msm_dsc_get_bytes_per_line() argument 24 return dsc->slice_count * dsc->slice_chunk_size; in msm_dsc_get_bytes_per_line()
|
| /linux-6.15/drivers/gpu/drm/amd/display/dc/ |
| H A D | dc_dsc.h | 71 const struct display_stream_compressor *dsc, 81 const struct display_stream_compressor *dsc, 97 void dc_dsc_dump_decoder_caps(const struct display_stream_compressor *dsc, 99 void dc_dsc_dump_encoder_caps(const struct display_stream_compressor *dsc,
|
| /linux-6.15/drivers/gpu/drm/amd/display/dc/hwss/dcn35/ |
| H A D | dcn35_hwseq.c | 324 struct display_stream_compressor *dsc = pipe_ctx->stream_res.dsc; in update_dsc_on_stream() local 331 ASSERT(dsc); in update_dsc_on_stream() 341 if (!dsc) { in update_dsc_on_stream() 347 dsc->funcs->dsc_read_state(dsc, &dsc_state); in update_dsc_on_stream() 363 dsc->funcs->dsc_set_config(dsc, &dsc_cfg, &dsc_optc_cfg); in update_dsc_on_stream() 364 dsc->funcs->dsc_enable(dsc, pipe_ctx->stream_res.opp->inst); in update_dsc_on_stream() 390 dsc->funcs->dsc_disable(pipe_ctx->stream_res.dsc); in update_dsc_on_stream() 393 odm_pipe->stream_res.dsc->funcs->dsc_disable(odm_pipe->stream_res.dsc); in update_dsc_on_stream() 468 struct display_stream_compressor *dsc = current_pipe_ctx->next_odm_pipe->stream_res.dsc; in dcn35_update_odm() local 470 dsc->funcs->dsc_disconnect(dsc); in dcn35_update_odm() [all …]
|
| /linux-6.15/Documentation/devicetree/bindings/display/mediatek/ |
| H A D | mediatek,dsc.yaml | 4 $id: http://devicetree.org/schemas/display/mediatek/mediatek,dsc.yaml# 24 - mediatek,mt8195-disp-dsc 26 - const: mediatek,mt8188-disp-dsc 27 - const: mediatek,mt8195-disp-dsc 100 compatible = "mediatek,mt8195-disp-dsc";
|
| /linux-6.15/drivers/gpu/drm/amd/display/amdgpu_dm/ |
| H A D | amdgpu_dm_debugfs.c | 1578 dsc = pipe_ctx->stream_res.dsc; in dp_dsc_clock_en_read() 1580 dsc->funcs->dsc_read_state(dsc, &dsc_state); in dp_dsc_clock_en_read() 1764 dsc = pipe_ctx->stream_res.dsc; in dp_dsc_slice_width_read() 1766 dsc->funcs->dsc_read_state(dsc, &dsc_state); in dp_dsc_slice_width_read() 1948 dsc = pipe_ctx->stream_res.dsc; in dp_dsc_slice_height_read() 1950 dsc->funcs->dsc_read_state(dsc, &dsc_state); in dp_dsc_slice_height_read() 2128 dsc = pipe_ctx->stream_res.dsc; in dp_dsc_bits_per_pixel_read() 2303 dsc = pipe_ctx->stream_res.dsc; in dp_dsc_pic_width_read() 2357 dsc = pipe_ctx->stream_res.dsc; in dp_dsc_pic_height_read() 2426 dsc = pipe_ctx->stream_res.dsc; in dp_dsc_chunk_size_read() [all …]
|
| /linux-6.15/drivers/gpu/drm/tests/ |
| H A D | drm_dp_mst_helper_test.c | 18 const bool dsc; member 26 .dsc = false, 32 .dsc = false, 38 .dsc = false, 44 .dsc = true, 50 .dsc = true, 65 sprintf(desc, "Clock %d BPP %d DSC %s", t->clock, t->bpp, t->dsc ? "enabled" : "disabled"); in dp_mst_calc_pbn_mode_desc()
|
| /linux-6.15/drivers/net/ethernet/broadcom/ |
| H A D | sb1250-mac.c | 775 struct sbdmadscr *dsc; in sbdma_add_rcvbuffer() local 782 dsc = d->sbdma_addptr; in sbdma_add_rcvbuffer() 848 dsc->dscr_b = 0; in sbdma_add_rcvbuffer() 889 struct sbdmadscr *dsc; in sbdma_add_txbuffer() local 897 dsc = d->sbdma_addptr; in sbdma_add_txbuffer() 928 dsc->dscr_a = phys | in sbdma_add_txbuffer() 1058 struct sbdmadscr *dsc; in sbdma_rx_process() local 1084 dsc = d->sbdma_remptr; in sbdma_rx_process() 1085 curidx = dsc - d->sbdma_dscrtable; in sbdma_rx_process() 1087 prefetch(dsc); in sbdma_rx_process() [all …]
|