drivers/gpu/drm/amd/display/dc/sspl/dc_spl_isharp_filters.h

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/sspl/dc_spl_isharp_filters.h

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/display/dc/sspl/dc_spl_isharp_filters.h
Extension
.h
Size
1248 bytes
Lines
45
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.

Dependency Surface

Detected Declarations

Annotated Snippet

struct scale_ratio_to_sharpness_level_adj {
	unsigned int ratio_numer;
	unsigned int ratio_denom;
	unsigned int level_down_adj; /* adjust sharpness level down */
};

struct isharp_1D_lut_pregen {
	unsigned int sharpness_numer;
	unsigned int sharpness_denom;
	uint32_t value[ISHARP_LUT_TABLE_SIZE];
};

enum system_setup {
	SDR_NL = 0,
	SDR_L,
	HDR_NL,
	HDR_L,
	NUM_SHARPNESS_SETUPS
};

void SPL_NAMESPACE(spl_set_blur_scale_data(struct dscl_prog_data *dscl_prog_data,
	const struct spl_scaler_data *data));

void SPL_NAMESPACE(spl_build_isharp_1dlut_from_reference_curve(
	struct spl_fixed31_32 ratio, enum system_setup setup,
	struct adaptive_sharpness sharpness,
	enum scale_to_sharpness_policy scale_to_sharpness_policy));
uint32_t *SPL_NAMESPACE(spl_get_pregen_filter_isharp_1D_lut(enum system_setup setup));

// public API
const uint16_t *SPL_NAMESPACE(spl_dscl_get_blur_scale_coeffs_64p(int taps));
const uint16_t *SPL_NAMESPACE(spl_dscl_get_blur_scale_coeffs_64p_s1_10(int taps));

#endif /* __DC_SPL_ISHARP_FILTERS_H__ */

Annotation

Implementation Notes