STRUCT IPU3_UAPI_IEFD_CUX6_ED(9)
π struct ipu3_uapi_iefd_cux6_ed π
okay bestie, welcome to the Kernel API Manual β¨ β this is the page for struct ipu3_uapi_iefd_cux6_ed, and yes the name is a whole keyboard smash but we're gonna get through it together π«Ά
πΈ NAME πΈ
struct ipu3_uapi_iefd_cux6_ed β the struct that calculates the power of the non-directed sharpening element, aka Config Unit 6 for edge detail (ED) π
no cap, that's literally its job.
β SYNOPSIS β
here's the whole layout, character for character, do not touch, do not "clean up", just vibe with it π
struct ipu3_uapi_iefd_cux6_ed {
__u32 x0:9;
__u32 x1:9;
__u32 x2:9;
__u32 reserved0:5;
__u32 x3:9;
__u32 x4:9;
__u32 x5:9;
__u32 reserved1:5;
__u32 a01:9;
__u32 a12:9;
__u32 a23:9;
__u32 reserved2:5;
__u32 a34:9;
__u32 a45:9;
__u32 reserved3:14;
__u32 b01:9;
__u32 b12:9;
__u32 b23:9;
__u32 reserved4:5;
__u32 b34:9;
__u32 b45:9;
__u32 reserved5:14;
};
like, it's giving bitfield couture π every one of these is a __u32 with a little slice carved out β the number after the colon is how many bits it gets. the reserved ones are the padding besties holding the seats so everything lines up π
π Members π
π the X squad (points 0β5)
x0β X coordinate of point 0,u9.0, default0. π¦x1β X coordinate of point 1,u9.0, default0. π¦x2β X coordinate of point 2,u9.0, default0. π¦reserved0β reserved. (it's justβ¦ there. minding its business π)x3β X coordinate of point 3,u9.0, default0. π¦x4β X coordinate of point 4,u9.0, default0. π¦x5β X coordinate of point 5,u9.0, default0. π¦reserved1β reserved. (sequel toreserved0, same energy π)
note the type notation bestie: u9.0 = unsigned, 9 bits, zero fractional bits. the point is literally that pretty π
π the A slopes
a01β slope A points 01,s4.4, default0. β¨a12β slope A points 12,s4.4, default0. β¨a23β slope A points 23,s4.4, default0. β¨reserved2β reserved. (the intermission π)a34β slope A points 34,s4.4, default0. β¨a45β slope A points 45,s4.4, default0. β¨reserved3β reserved. (this one's the big one, 14 whole bits of nothing, iconic honestly π)
s4.4 = signed, 4 bits of integer, 4 bits of fraction. so she's got range, but she's also got a sign. respect πΈ
π¦ the B slopes
b01β slope B points 01,s4.4, default0. πb12β slope B points 12,s4.4, default0. πb23β slope B points 23,s4.4, default0. πreserved4β reserved. (the filler ep of the season π)b34β slope B points 34,s4.4, default0. πb45β slope B points 45,s4.4, default0. πreserved5β reserved. π«Ά
so to recap the whole vibe: six X coords, five A slopes, five B slopes, and a whole supporting cast of reserved bitfields doing structural work so the struct stays 32-bit aligned-ish and gorgeous πβ¨ every single value defaults to 0, so a zeroed-out struct is a fully valid starting point fr fr.
π SEE ALSO π
the lore is deep, bestie β this struct does not exist alone. here's the whole friend group π
- Kernel file
./drivers/staging/media/ipu3/include/uapi/intel-ipu3.hπ struct ipu3_uapi_grid_config(9)struct ipu3_uapi_awb_set_item(9)struct ipu3_uapi_awb_raw_buffer(9)struct ipu3_uapi_awb_config_s(9)struct ipu3_uapi_awb_config(9)struct ipu3_uapi_ae_raw_buffer(9)struct ipu3_uapi_ae_raw_buffer_aligned(9)struct ipu3_uapi_ae_grid_config(9)struct ipu3_uapi_ae_weight_elem(9)struct ipu3_uapi_ae_ccm(9)struct ipu3_uapi_ae_config(9)struct ipu3_uapi_af_filter_config(9)struct ipu3_uapi_af_raw_buffer(9)struct ipu3_uapi_af_config_s(9)struct ipu3_uapi_awb_fr_raw_buffer(9)struct ipu3_uapi_awb_fr_config_s(9)struct ipu3_uapi_4a_config(9)struct ipu3_uapi_bubble_info(9)struct ipu3_uapi_ff_status(9)struct ipu3_uapi_stats_3a(9)struct ipu3_uapi_bnr_static_config_wb_gains_config(9)struct ipu3_uapi_bnr_static_config_wb_gains_thr_config(9)struct ipu3_uapi_bnr_static_config_thr_coeffs_config(9)struct ipu3_uapi_bnr_static_config_thr_ctrl_shd_config(9)struct ipu3_uapi_bnr_static_config_opt_center_config(9)struct ipu3_uapi_bnr_static_config_lut_config(9)struct ipu3_uapi_bnr_static_config_bp_ctrl_config(9)struct ipu3_uapi_bnr_static_config_dn_detect_ctrl_config(9)struct ipu3_uapi_bnr_static_config_opt_center_sqr_config(9)struct ipu3_uapi_bnr_static_config(9)struct ipu3_uapi_bnr_static_config_green_disparity(9)struct ipu3_uapi_dm_config(9)struct ipu3_uapi_ccm_mat_config(9)struct ipu3_uapi_gamma_corr_ctrl(9)struct ipu3_uapi_gamma_corr_lut(9)struct ipu3_uapi_gamma_config(9)struct ipu3_uapi_csc_mat_config(9)struct ipu3_uapi_cds_params(9)struct ipu3_uapi_shd_grid_config(9)struct ipu3_uapi_shd_general_config(9)struct ipu3_uapi_shd_black_level_config(9)struct ipu3_uapi_shd_config_static(9)struct ipu3_uapi_shd_lut(9)struct ipu3_uapi_shd_config(9)struct ipu3_uapi_iefd_cux2(9)struct ipu3_uapi_iefd_cux2_1(9)struct ipu3_uapi_iefd_cux4(9)struct ipu3_uapi_iefd_cux6_rad(9)struct ipu3_uapi_yuvp1_iefd_cfg_units(9)struct ipu3_uapi_yuvp1_iefd_config_s(9)struct ipu3_uapi_yuvp1_iefd_control(9)struct ipu3_uapi_sharp_cfg(9)struct ipu3_uapi_far_w(9)struct ipu3_uapi_unsharp_cfg(9)struct ipu3_uapi_yuvp1_iefd_shrp_cfg(9)struct ipu3_uapi_unsharp_coef0(9)struct ipu3_uapi_unsharp_coef1(9)struct ipu3_uapi_yuvp1_iefd_unshrp_cfg(9)struct ipu3_uapi_radial_reset_xy(9)struct ipu3_uapi_radial_reset_x2(9)struct ipu3_uapi_radial_reset_y2(9)struct ipu3_uapi_radial_cfg(9)struct ipu3_uapi_rad_far_w(9)struct ipu3_uapi_cu_cfg0(9)struct ipu3_uapi_cu_cfg1(9)struct ipu3_uapi_yuvp1_iefd_rad_cfg(9)struct ipu3_uapi_vss_lut_x(9)struct ipu3_uapi_vss_lut_y(9)struct ipu3_uapi_yuvp1_iefd_vssnlm_cfg(9)struct ipu3_uapi_yuvp1_iefd_config(9)struct ipu3_uapi_yuvp1_yds_config(9)struct ipu3_uapi_yuvp1_chnr_enable_config(9)struct ipu3_uapi_yuvp1_chnr_coring_config(9)struct ipu3_uapi_yuvp1_chnr_sense_gain_config(9)struct ipu3_uapi_yuvp1_chnr_iir_fir_config(9)struct ipu3_uapi_yuvp1_chnr_config(9)struct ipu3_uapi_yuvp1_y_ee_nr_lpf_config(9)struct ipu3_uapi_yuvp1_y_ee_nr_sense_config(9)struct ipu3_uapi_yuvp1_y_ee_nr_gain_config(9)struct ipu3_uapi_yuvp1_y_ee_nr_clip_config(9)struct ipu3_uapi_yuvp1_y_ee_nr_frng_config(9)struct ipu3_uapi_yuvp1_y_ee_nr_diag_config(9)struct ipu3_uapi_yuvp1_y_ee_nr_fc_coring_config(9)struct ipu3_uapi_yuvp1_y_ee_nr_config(9)struct ipu3_uapi_yuvp2_tcc_gen_control_static_config(9)struct ipu3_uapi_yuvp2_tcc_macc_elem_static_config(9)struct ipu3_uapi_yuvp2_tcc_macc_table_static_config(9)struct ipu3_uapi_yuvp2_tcc_inv_y_lut_static_config(9)struct ipu3_uapi_yuvp2_tcc_gain_pcwl_lut_static_config(9)struct ipu3_uapi_yuvp2_tcc_r_sqr_lut_static_config(9)struct ipu3_uapi_yuvp2_tcc_static_config(9)struct ipu3_uapi_anr_transform_config(9)struct ipu3_uapi_anr_stitch_pyramid(9)struct ipu3_uapi_anr_stitch_config(9)struct ipu3_uapi_anr_config(9)struct ipu3_uapi_acc_param(9)struct ipu3_uapi_isp_lin_vmem_params(9)struct ipu3_uapi_isp_tnr3_vmem_params(9)struct ipu3_uapi_isp_tnr3_params(9)struct ipu3_uapi_isp_xnr3_vmem_params(9)struct ipu3_uapi_xnr3_alpha_params(9)struct ipu3_uapi_xnr3_coring_params(9)struct ipu3_uapi_xnr3_blending_params(9)struct ipu3_uapi_isp_xnr3_params(9)struct ipu3_uapi_obgrid_param(9)struct ipu3_uapi_flags(9)struct ipu3_uapi_params(9)
like, that's the entire IPU3 extended family reunion and you're invited π iykyk.
π bye bestie π
that's the whole page! source/version line says ./drivers/staging/media/ipu3/i... and the date on it is October 2026 β so when you're reading this in the future, hi, ily, go read intel-ipu3.h π
now go set some slopes, hydrate, and slay π β¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms