drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/amd/display/dc/dce/dce_scl_filters.c- Extension
.c- Size
- 54775 bytes
- Lines
- 1446
- Domain
- Driver Families
- Bucket
- drivers/gpu
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
transform.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#include "transform.h"
//=========================================
// <num_taps> = 2
// <num_phases> = 16
// <scale_ratio> = 0.833333 (input/output)
// <sharpness> = 0
// <CoefType> = ModifiedLanczos
// <CoefQuant> = s1.10
// <CoefOut> = s1.12
//=========================================
static const uint16_t filter_2tap_16p[18] = {
0x1000, 0x0000,
0x0FF0, 0x0010,
0x0FB0, 0x0050,
0x0F34, 0x00CC,
0x0E68, 0x0198,
0x0D44, 0x02BC,
0x0BC4, 0x043C,
0x09FC, 0x0604,
0x0800, 0x0800
};
//=========================================
// <num_taps> = 3
// <num_phases> = 16
// <scale_ratio> = 0.83333 (input/output)
// <sharpness> = 0
// <CoefType> = ModifiedLanczos
// <CoefQuant> = 1.10
// <CoefOut> = 1.12
//=========================================
static const uint16_t filter_3tap_16p_upscale[27] = {
0x0804, 0x07FC, 0x0000,
0x06AC, 0x0978, 0x3FDC,
0x055C, 0x0AF0, 0x3FB4,
0x0420, 0x0C50, 0x3F90,
0x0300, 0x0D88, 0x3F78,
0x0200, 0x0E90, 0x3F70,
0x0128, 0x0F5C, 0x3F7C,
0x007C, 0x0FD8, 0x3FAC,
0x0000, 0x1000, 0x0000
};
//=========================================
// <num_taps> = 3
// <num_phases> = 16
// <scale_ratio> = 1.16666 (input/output)
// <sharpness> = 0
// <CoefType> = ModifiedLanczos
// <CoefQuant> = 1.10
// <CoefOut> = 1.12
//=========================================
static const uint16_t filter_3tap_16p_116[27] = {
0x0804, 0x07FC, 0x0000,
0x0700, 0x0914, 0x3FEC,
0x0604, 0x0A1C, 0x3FE0,
0x050C, 0x0B14, 0x3FE0,
0x041C, 0x0BF4, 0x3FF0,
0x0340, 0x0CB0, 0x0010,
0x0274, 0x0D3C, 0x0050,
0x01C0, 0x0D94, 0x00AC,
0x0128, 0x0DB4, 0x0124
};
//=========================================
// <num_taps> = 3
// <num_phases> = 16
// <scale_ratio> = 1.49999 (input/output)
// <sharpness> = 0
// <CoefType> = ModifiedLanczos
// <CoefQuant> = 1.10
// <CoefOut> = 1.12
//=========================================
static const uint16_t filter_3tap_16p_149[27] = {
0x0804, 0x07FC, 0x0000,
0x0730, 0x08CC, 0x0004,
0x0660, 0x098C, 0x0014,
0x0590, 0x0A3C, 0x0034,
0x04C4, 0x0AD4, 0x0068,
0x0400, 0x0B54, 0x00AC,
0x0348, 0x0BB0, 0x0108,
0x029C, 0x0BEC, 0x0178,
0x0200, 0x0C00, 0x0200
};
//=========================================
// <num_taps> = 3
// <num_phases> = 16
// <scale_ratio> = 1.83332 (input/output)
Annotation
- Immediate include surface: `transform.h`.
- Atlas domain: Driver Families / drivers/gpu.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.